Projeto de avaliação da disciplina de Paradigmas de Linguagens de Programação (IN1007) ministrada pelo professor Augusto Sampaio no programa de pós-graduação em Ciência da Computação do Centro de Informática/UFPE, no semestre de 2021.1.
Desenvolver um novo paradigma de linguagem de programação, criando uma linguagem de domínio específico, a música. Nesse sentido, essa linguagem será capaz de receber um acorde de música como entrada, identificar se a formação do acordes está correta e quais as notas que o compoem.
ejsj2@cin.ufpe.br
md@cin.ufpe.br
Cifra é um sistema de notação musical usado para indicar os acordes a serem executados por um instrumento. Elas são utilizadas principalmente na música popular, acima das letras ou partituras de uma composição musical, indicando o acorde que deve ser tocado em conjunto com a melodia principal.
Na música, um acorde é um conjunto harmônico de três ou mais notas musicais que se ouve simultaneamente.
Usamos as letras do alfabeto de A até G para representar cada nota musical.
Lá = A
Si = B
Dó = C
Ré = D
Mi = E
Fá = F
Sol = G
Usados logo após a letra representativa da nota.
Sustenido (#): indica que a nota está ½ tom acima;
Bemol (b): indica ½ tom abaixo.
Formada por 12 notas musicais, podendo ser maior ou menor, aonde tom é a distância de dois sustenidos (ou de dois bemóis) e semitom ou ½ tom é distância de um sustenido (ou de um bemol).
Exemplo da escala de Dó maior:
dó;
dó sustenido;
ré;
ré sustenido;
mi;
fá;
fá sustenido;
sol;
sol sustenido;
lá;
lá sustenido;
si.
Acordes formados por três notas musicais distintas: a primeira é a Tônica, que dá o nome ao acorde e possui o som mais forte. As outras duas notas são a Terça e a Quinta nota depois da tônica.
São classificados conforme a qualidade: em maiores, menores, aumentadas e diminutas.
São acordes que possuem 4 notas diferentes, sendo essa quarta nota a sétima da tônica. Essencialmente usamos 3 tipos de sétima na formação de acordes.
Sétima maior: nota situada ½ tom abaixo da tônica. Usamos como representação o 7M, mas como alternativa encontramos ^ (triângulo), ou mesmo ^7.
Exemplo: adicionar 7M no acorde de C quer dizer incluir a nota que fica ½ tom abaixo, ou seja, Si.
Sétima menor: nota situada 1 tom abaixo da tônica. Usamos como representação o 7.
Exemplo: adicionar 7 no acorde de C quer dizer incluir a nota que fica 1 tom abaixo, ou seja, Sib.
Sétima diminuta: nota situada 1½ tom abaixo da tônica. Usamos como representação o "o".
Exemplo: adicionar a sétima diminuta no acorde de C quer dizer incluir a nota que fica 1½ tom abaixo, ou seja, Sibb. Na prática Sibb = Lá.
Pode-se acrescentar qualquer intervalo a tríade ou tétrade e o número utilizado para simbolizar depende do nome da nota e sua distância em tons da tônica.
Quer dizer que uma nota ou acorde tem 2 ou mais nomes.
Por exemplo, a nota C# também pode ser chamada de Db.
A nota F# pode ser chamada de Gb.
A nota Bbb pode ser chamada de A.
No caso de acordes temos que levar em conta todas as notas que fazem parte da sua formação. Um acorde de C6 (C E G A) pode ser chamado de Am7 (A C E G) pois possui as mesmas notas.
Co (C Eb Gb A) = Ebo (Eb Gb A C) = Gbo (Gb A C Eb) = Ao (A C Eb Gb)