-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcap2-fundamentacao.tex
99 lines (66 loc) · 13.1 KB
/
cap2-fundamentacao.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
\chapter{Fundamentação Teórica}
\label{cap:fundamentacao}
Neste capítulo, serão introduzidos conceitos necessários para a compreensão do problema e da solução estudados, passando pelas áreas de teoria musical (como a definição de um acorde a partir de outros conceitos como nota e intervalo) e computação musical (como sinais de áudio, transformada de Fourier e cromagrama).
\section{Acordes}
De forma pouco rigorosa, um \textbf{acorde} pode ser definido como diversas notas musicais que soam ao mesmo tempo. Para entender melhor esse conceito e também o conceito de nota musical, é importante retomar as características do som em si.
O som é uma onda mecânica - em particular, é a propagação de compressões e descompressões de um meio material, como o ar. Ele se propaga a partir de uma fonte sonora, como um instrumento musical, até atingir um receptor, como o ouvido humano ou um microfone. Em geral, ele é representado como a variação da pressão do ar num dado ponto do espaço em função do tempo.
É chamada \textbf{senoide} uma onda sonora cuja forma é perfeitamente senoidal. As senoides são os sons periódicos mais simples possíveis, e a variação da pressão que as caracteriza ocorre com uma determinada \textbf{frequência}, medida em Hertz~(Hz). Os sons que escutamos na natureza, e também aqueles produzidos por instrumentos musicais, são, por sua vez, mais complexos, e podem ser descritos como uma composição (soma) de infinitas senoides com diferentes amplitudes e frequências \citep[ver][seção 2.1]{muller}.
O ser humano é capaz de identificar a frequência dos sons através do correlato psicoacústico chamado \textbf{altura}, que é a propriedade que diferencia um som grave, de baixa frequência, de um som agudo, de alta frequência.
A alguns sons não podemos associar uma altura determinada, pois possuem energia em muitas frequências não trivialmente relacionadas: é o caso do som de um pandeiro, por exemplo. Outros sons, aos quais conseguimos associar uma altura determinada, denominamos de \textbf{notas musicais} às alturas correspondentes. Assim a um som de um piano que se repete de forma aproximadamente igual 440 vezes por segundo associamos a nota Lá (ou A4).
Define-se como \textbf{intervalo} a diferença de altura entre duas notas musicais. Sabe-se que essa diferença no espaço perceptual de alturas corresponde a uma razão entre as respectivas frequências (em Hz), ou seja, diferenças iguais de alturas correspondem a razões iguais entre as frequências das notas correspondentes. Diz-se portanto que a relação entre alturas e frequências é logarítmica.
A percepção humana de altura possui uma propriedade interessante: duas notas, quando a frequência de uma é o dobro da frequência da outra, são entendidas como possuindo equivalência sonora. Notas que respeitam essa condição têm entre si um intervalo de \textbf{uma oitava}. Se a razão entre frequências for 4, então diz-se que as notas têm um intervalo de \textbf{duas oitavas}, e assim sucessivamente.
A música ocidental, ao longo da história, desenvolveu a chamada \textbf{escala diatônica}, que divide uma oitava em 12 intervalos entendidos perceptualmente como iguais. Tal intervalo é chamado de \textbf{um semitom}. Nessa escala, entre duas notas que possuem um intervalo de uma oitava, há uma sequência de outras dez notas espaçadas igualmente, como se pode observar na Tabela~\ref{tabela:notas}. A razão entre as frequências de duas notas sucessivas nessa escala é $\sqrt[12]{2}$, de tal forma que 12 passos aditivos na altura (multiplicativos na frequência) perfazem uma oitava (relação $2:1$).
Considerando-se a equivalência das oitavas, pode-se dizer que a escala diatônica é cíclica: partindo-se de uma nota de frequência~$f$ e aumentando-a em um semitom 12 vezes, se alcança a oitava dessa nota, de frequência~$2f$. Esse processo pode ser repetido até que se obtenha uma nota tão aguda que chega a ser inaudível (o intervalo de frequências sonoras audíveis pelo ser humano vai de 20~Hz a 20.000~Hz).
A música ocidental é construída apoiando-se no semitom como o menor intervalo que distingue duas notas. Por razões históricas, usam-se 7 nomes de notas de forma cíclica: algumas dessas notas possuem entre si um intervalo de um semitom, e outras de dois semitons (ou \textbf{um tom}).
A cada uma das 7 notas, é atribuída uma letra como forma simplificada de representação. Para representar as outras 5 notas não contempladas com os 7 nomes, usam-se o \textbf{sustenido} (ou $\sharp$, que acrescenta a uma nota um semitom) e o \textbf{bemol} (ou $\flat$, que diminui uma nota de um semitom).
\begin{table}
\centering
\begin{tabular}{|l|l|l|l|}
\hline
\textbf{Nota (sustenido)} & \textbf{Símbolo ($\sharp$)} & \textbf{Símbolo ($\flat$)} & \textbf{Nota (bemol)} \\
\hline
Dó & C & C & Dó \\
Dó sustenido & C$\sharp$ & D$\flat$ & Ré bemol \\
Ré & D & D & Ré \\
Ré sustenido & D$\sharp$ & E$\flat$ & Mi bemol \\
Mi & E & E & Mi \\
Fá & F & F & Fá \\
Fá sustenido & F$\sharp$ & G$\flat$ & Sol bemol \\
Sol & G & G & Sol \\
Sol sustenido & G$\sharp$ & A$\flat$ & Lá bemol \\
Lá & A & A & Lá \\
Lá sustenido & A$\sharp$ & B$\flat$ & Si bemol \\
Si & B & B & Si \\
\hline
\end{tabular}
\caption{Notas musicais da escala diatônica e seus nomes.}
\label{tabela:notas}
\end{table}
Já que podemos classificar todas as notas musicais como uma entre as 12 existentes na escala diatônica, pode-se definir o conceito de \textbf{classes de altura}. Uma classe de altura é um conjunto de notas que possuem intervalos de um número inteiro de oitavas entre si. Por exemplo, a classe de altura \textbf{C} é o conjunto de todas as notas dó, não importando em qual oitava se encontram.
Como anteriormente definido, um acorde é um conjunto de notas que soam ao mesmo tempo. Considerando-se a equivalência de oitavas, podemos simplificar essa definição como um conjunto de classes de altura que soam ao mesmo tempo. Dentro dessa simplificação, um acorde pode conter no máximo 12 elementos, que são as classes de altura existentes. Dessa forma, dois acordes são iguais se soam as mesmas classes de altura, não importando se as oitavas de cada nota dos dois acordes são iguais ou não.
Com tal restrição, nota-se que o número de acordes existentes é finito, porém não é pequeno. No entanto, um subconjunto dos acordes existentes teve destaque no contexto deste trabalho: as \textbf{tríades}, cujo uso na música ocidental folclórica e popular é ubíquo.
Tríades são acordes de três notas construídos por superposição de intervalos de terças maiores e menores (respectivamente 4 e 5 semitons). Existem seis principais tipos de tríades, identificados conforme a disposição dos intervalos entre suas notas. No contexto deste trabalho, se restringiu a dois tipos principais: as tríades \textbf{maiores} e as tríades \textbf{menores}.
Uma forma de nomear um acorde que é uma tríade é identificando duas características: em primeiro lugar, o tipo de tríade que o acorde caracteriza; e, em segundo, a nota a partir da qual se começa a contagem dos intervalos que configuram tal tipo de tríade. Por exemplo, se os intervalos de um acorde configuram uma tríade menor (caracterizada por uma terça menor seguida de uma terça maior) e a contagem dos mesmos começaram da nota ré, então este acorde se chama \textbf{ré menor}. Por outro lado, se os intervalos de outro acorde, contados a partir da nota sol, configuram uma tríade maior (caracterizada por uma terça maior seguida de uma terça menor), então o acorde tem o nome de \textbf{sol maior}.
Existem outras formas de nomear um acorde, além de algumas convenções de notação para representá-lo. Aqui, nos restringiremos às nomenclaturas exemplificadas acima.
\section{Representação de sinais de áudio}
Conforme já visto, o som pode ser descrito como a variação da pressão em algum ponto do espaço, em função do tempo.
Para representar essa função no domínio digital, é necessário discretizá-la, tanto no eixo do tempo como no da pressão. Assim, o som é representado em computadores como uma sequência de valores reais (\textbf{amostras}) que correspondem ao valor da pressão em pontos espaçados uniformemente no tempo. O número de amostras presentes em um segundo de áudio é chamado de \textbf{taxa de amostragem}. A discretização do sinal analógico introduz certas limitações - como o erro de quantização ou a impossibilidade de representar sons com frequências maiores que metade da taxa de amostragem \citep[ver][seções 1.3.2 e 1.6]{dsp}.
Quando lidamos com reconhecimento de acordes, é útil identificar quais frequências estão presentes em num som. No entanto, esta tarefa não é trivial quando representamos o som como a variação da pressão em função do tempo. Para realizá-la, pode-se usar a \textbf{transformada discreta de Fourier} (ou \textbf{DFT}) - uma transformada que pode ser entendida como uma decomposição de um dado sinal sonoro em componentes senoidais.
A transformada de Fourier de um sinal é uma representação de pressão (amplitude) em função da frequência. Esse tipo de representação, porém, não contempla informações temporais, isto é: apesar de se saber através dela quais frequências (e em que intensidade) estão presentes num sinal sonoro, não se sabe em quais intervalos de tempo essas frequências soaram.
Como alternativa à DFT, existe a \textbf{STFT}, ou \textbf{transformada de Fourier de tempo curto}, que divide o sinal sonoro em janelas temporais de mesma duração e obtém a DFT de cada janela, possibilitando a extração de informações espectrais e temporais de um mesmo sinal de áudio simultaneamente.
Vale ressaltar que, quanto mais curta é uma janela temporal, menor será a resolução de frequências que a DFT é capaz de representar \citep[ver][seções 2.1 a 2.3]{dsp}. Dessa forma, faz-se necessário encontrar um equilíbrio entre a resolução temporal, que é privilegiada por janelas temporais mais curtas, e a resolução das frequências, que é privilegiada por janelas temporais mais longas.
Uma das características da STFT é que ela oferece uma resolução igual para frequências graves e agudas. Ou seja, o número de pontos contemplados pela STFT entre 100~Hz e 200~Hz é o mesmo número de pontos contemplados entre 1100~Hz e 1200~Hz. Porém, devido à percepção humana de altura, que varia de forma logarítmica em função da variação de frequências, notas agudas terão uma resolução maior na STFT do que notas graves.
Para obter uma resolução igual para diferentes notas musicais, pode-se usar outra transformada: a Q-constante ou \textbf{CQT}. Ela também tem a função de levar um sinal sonoro da representação temporal para a espectral; contudo, aumenta a resolução das frequências graves e diminui a resolução das frequências agudas, igualando, assim, a resolução de cada nota musical desde uma perspectiva perceptual. Ou seja, todas as notas musicais terão um mesmo número de representantes no espectrograma, o que não penaliza a amplitude total associada às notas graves em relação às agudas \citep[ver][seção 3.4.1]{muller}.
\section{Características harmônicas}
\label{sec:cromagramas}
Define-se \textbf{croma} como um vetor real de dimensão 12 cujas entradas representam a intensidade com que uma classe de altura aparece num dado sinal de áudio. Tal vetor é indexado de 0 a 11, onde 0 é a classe dó~(C) e 11 a classe si~(B).
Se dividirmos um sinal de áudio longo em janelas e associarmos a cada quadro um croma, obteremos uma matriz chamada \textbf{cromagrama}. Cromagramas são análogos a espectrogramas, com a diferença de que um apresenta as intensidades de componentes senoidais presentes no sinal, enquanto o outro apresenta intensidades de classes de altura.
Cromagramas são de fundamental importância no contexto de reconhecimento de acordes em sinais de áudio porque capturam informações harmônicas do sinal.
A construção de um croma, em alto nível, segue os seguintes passos:
\begin{enumerate}
\item Obtenção da DFT do sinal;
\item Identificação dos \textit{bins} da DFT cuja frequência corresponda a uma nota da classe de altura C;
\item Soma dos valores desses \textit{bins};
\item Se repete o passo 2 e 3 para as outras 11 classes de altura.
\end{enumerate}
Alternativamente, se pode usar outras transformadas além da DFT para a construção do croma de um sinal, como a CQT, por exemplo.