Aqui vai uma dica para aqueles interessados em cantos de aves e som em geral.
Criar espectrogramas não é difícil, além de ser uma ferramenta incrível para filtrar ruídos em arquivos de áudio. Essa dica é para usuários de Linux.
O software necessário para criar espectrogramas é o sox. Um utilitário de linha de comando que tem inúmeros recursos para manipulação de áudio.
Antes de explicar como criar espectrogramas, quero dizer que uso-os para identificar ruídos de fundo, ruídos causados pelo equipamento de gravação e interferências em geral. Para isso é necessário entender o que são espectrogramas.
Espectrogramas são gráficos que por meio de côres identificam a intensidade e freqüencia de sons ao longo do tempo.
No exemplo acima, o gráfico mostra na vertical a freqüencia do som em kHz (kilohertz ou milhares de ciclos por segundo) e na horizontal o tempo em segundos. A barra vertical à direita é a referência de côres para a intensidade do som em decibéis. Esse espectrograma mostra que o canto dessa espécie é um trinado curto que se repete a cada meio segundo aproximadamente. Esse som é composto, tem várias harmônicas, o que o gráfico mostra como curvas sobrepostas na vertical em frequências diferentes. Isso fica mais claro com o próximo exemplo:
Chamado do bem-te-vi (Pitangus sulphuratus)No primeiro exemplo, pode-se ver que há muito ruído em baixas freqüências (a parte amarela embaixo) que são basicamente, ruídos que vêm do ambiente, do equipamento de gravação, entre outras fontes. Filtrando esses ruídos obtém-se o seguinte espectrograma:
Canto do beija-flor-rubi com redução de ruídosNesse espectrograma ainda há ruídos de baixa freqüência, porém em nível muito menor, o que é indicado pela cor azul-esverdeada. Não é necessário remover todos os ruídos, muitas vêzes há componentes de baixa freqüência do som que queremos destacar, portanto é uma questão de analisar o espectrograma, aplicar a redução de ruídos e por tentativa e erro descobrir aonde se localiza o som desejado e aonde estão os ruídos.
A maneira de reduzir os ruído explicarei em outra postagem, aqui quero descrever como criar espectrogramas com o
sox.
Supondo que você tenha um arquivo "som.mp3" e você quer criar um espectrograma dele, basta, em uma janela de console do Linux digitar o seguinte comando:
$ sox -c 1 som.mpr -n spectrogram
Será criado um arquivo "spectrogram.png", é fácil assim!
Existem opções para esse comando que permitem alterar o aspecto do gráfico, isso pode ser verificado no manual do software.
Para facilitar o procedimento de criação de espectrogramas e manter um padrão de aparência do gráfico criei um pequeno
script:
#!/bin/bash sox "$1" -b 24 temp.wav rate -v -L -b 90 48k sox temp.wav mono.ogg remix - sox -c 1 mono.ogg -n spectrogram -x 15 -y 2 -z 70 -w Hamming -s -p 2 mv spectrogram.png "$1".png rm temp.wav mono.oggCom ele eu crio espectrogramas na hora que preciso à medida que vou manipulando o áudio com filtros de softwares como o
Audacity. No próximo "post" vou descrever como faço isso...
Até lá!
referências:
sox
sox.sourceforge.netAudacity
audacity.sourceforge.net