/scar

Analyzing Scarlatti influence on Beethoven

Primary LanguagePython

Arquivos e diretórios

Corpus
---------------------------------------------------------------------------
corpus/            ... Arquivos Kern das sonatas de Beethoven
corpus.txt         ... Lista os arquivos que estão no corpus
corpus_mozart/     ... Idem para Mozart
copus_scarlatti/   ... Idem para Scarlatti

Úteis
---------------------------------------------------------------------------
download_sonatas.py ... Faz download de todas as 32 sonatas de Beethoven do
                        KernScores
download_mozart.py    . Idem para Mozart
download_scarlatti.py . Idem para Scarlatti
converte_midi.py    ... Converte KernScores de Beethoven para MIDI em midi/

Análise
---------------------------------------------------------------------------
ana2.py            ... Lê uma sonata em corpus/ e procura por intervalos
                       usados por Scarlatti
ana3.py            ... Ver abaixo
ana4.py            ... Analisa motivos em motscar.txt e gera saida.txt,
                       verifica os motivos em todas as sonatas, com
                       tolerância
ana5.py            ... Conta a quantidade de compassos compostos nas
                       sonatas

Descrição do algoritmo em ana2

O programa carrega uma sonata, no momento estamos usando arquivos .krn. Então, há a escolha de uma voz da sonata, e a obtenção de todas as notas, somente as alturas, em sequência. Por último, são removidas todas as notas repetidas.

Depois disso, o programa percorre a voz, começando em cada nota, para procurar os temas/traços/motivos de interesse, levando em consideração somente a direção do movimento. Depois de percorridas as vozes, e registradas as incidências, as linhas são novamente percorridas para obtenção dos compassos das incidências.

Descrição do algoritmo em ana3

Igual a ana2, mas são percorridas todas as vozes de todas as sonatas.

Descrição do algoritmo em ana4

Percorre todos os compassos de todas as sonatas. Para cada motivo, analisa se há ocorrência de seus intervalos, considerando uma tolerância de +- 12 semitons. Retorna um relato em saida.txt, que é uma matriz de incidências dos motivos, considerando seus intervalos.

Analisando "Gestos"

Gesto 1: Terças paralelas nas duas mãos

Onde?

O que é?

Escala com progressões de terças.

Algoritmo

Busca as direções (+1 +1 +1 ...) na voz mais aguda, com correspondência (em direções, +1 +1 +1 ...) na voz mais grave. Com ambas vozes tendo as mesmas durações de suas notas.

Gesto 2: sobe-desce

Onde?

Algoritmo

Em durações do tipo desce-sobe (-1 +1 -1 +1 ...), a voz que sobe é sempre o dobro em duração da que desce.