Consolações para a impopularidade - Resenha
1. Especificação e Descrição do Problema
Considere um arquivo de áudio gravado em formato binário. Esse arquivo contém amplitudes do áudio gravadas em blocos de bytes. As amplitudes são resultantes de variações no diafragma do microfone. Ao gravar o áudio, conforme falamos no microfone, há variações no diafragma, que são codificadas em números a cada instante, e gravados em um arquivo binário.
O valor da pressão de nossa voz sobre o diafragma do microfone é medido por um unsigned byte.
Dessa maneira há 8 bits para representar a situação do diafragma em dado instante de tempo. Cada valor de amplitude varia de 0 até 255, pois ele é representado por um unsigned byte (ou seja, 1 byte sem sinal), em que há 8 bits que podem ser usados: logo 28 = 256 possíveis valores. Como começa em 0 vai até 255.
O valor 127 (valor central) significa que o diafragma está em repouso, ou seja, ninguém está falando. Valores abaixo de 127 e acima de 127 significam variações do diafragma impostas por nossa voz.
Ao ler esse arquivo binário, um byte por vez, você teria valores como:
127
128
180
182
187
190
183
172
171
169
127
128
Ao construir um gráfico (plotar) esse arquivo com inteiros no formato texto (no Linux, podese usar o comando gnuplot para plotar) temos algo na forma:
Em que temos o tempo no eixo x e a amplitude do diafragma (1 byte) no eixo y. Como o arquivo produzido foi gravado com 8000 Hertz, há 8000 observações do diafragma por segundo de gravação. Esse número define a amostragem no tempo. Na Figura acima há cerca de 55000 observações no total. Dividindo as 55000 observações por 8000 (amostragem no tempo) é possível saber que esse arquivo representa 6,8 segundos de gravação.
A sua tarefa nesse trabalho consiste em ler arquivos de áudio binários e transformar os dados em N faixas de amplitudes médias. Por exemplo, considere que o arquivo contém os seguintes valores de amplitude:
127
128
180
182