PARTE II – Desenvolvimento de Ferramentas Criativas para Eletrônica ao Vivo
Capítulo 9) Objetos Desenvolvidos
9.2.1 Conversor de dB para Phons e Sones
Esse objeto é um subproduto contido no modelo de Aspereza de Clarence Barlow (2008), que requer uma descrição das amplitudes na escala psicoacústica de intensidade em Sones, computadas a partir de valores em Phons. A grandeza Phon
mede a percepção de intensidade sonora, uma vez que um som com uma mesma amplitude em decibeis evoca diferentes sensações de intensidade (loudness) de acordo com o registro em frequência.
As curvas de respostas, ou Curvas de Contorno de Loudness, foram primeiramente medidas em testes por Fletcher e Munson (1933), sendo que uma revisão dos dados foi elaborada por Robinson e Dadson (1956). Recentemente, temos a ISO 226:2003 – que é uma revisão da Organização Internacional para Padronização (ISO) feita no ano de 2003.
Por definição, em 1 KHz, um valor de intensidade em dB-SPL (pressão sonora em decibeis) equivale ao mesmo valor em Phons. Na medida em que mudamos a frequência, há uma variação de valores em Phons de acordo com a resposta perceptiva, medida em testes psicoacústicos. Portanto, dizer que a intensidade sonora é de 60 Phons significa afirmar que é tão intenso quanto um som de 60 dB-SPL a 1 KHz.
Figura 25 – Distribuição das Curvas de Loudness sobre frequências no eixo horizontal e decibéis no eixo vertical.
Por esse motivo, se temos um gráfico em dB no eixo vertical e frequências no eixo horizontal, linhas que representam valores fixos de Phons possuem um formato de curva. Esse tipo de gráfico representa as ditas Curvas de Iso Loudness. Na figura 25, temos um gráfico com as curvas de acordo com dois dos resultados recém-mencionados. Em azul, temos uma representação dos dados obtidos por Robson e Dadson (1956). Já a revisão feita pela ISO em 2003 é dada em vermelho. De baixo para cima, as seis linhas de cada cor representam as curvas de 0, 20, 40, 60, 80 e 100 Phons.
A partir de funções, podemos emular o contorno das curvas que valores fixos de Phons representam em um gráfico dado em dB. Desse modo, é trivial encontrar o valor em dB a partir de um valor de frequência e outro de intensidade em Phons. Em compensação, o que mais nos interessa é justamente o contrário, achar um valor em Phons para uma frequência e sua amplitude em dB. Infelizmente, essas funções não são passíveis de inversão, o que dificulta esse processo.
Clarence Barlow (2008) codificou em Pascal funções Phon-dB a partir dos dados de Robson e Dadson (1956), que emulam as curvas de Phon como apresentadas na figura 25 e possibilitam a conversão de Hertz e Phon para um valor em dB. Já para fazer a conversão contrária, uma função dB-Phon, por meio de tentativas de busca com a função anterior, converte Hertz e dB para Phon. Dependendo da resolução de conversão, esse processo de busca pode ser lento, o que traz uma complicação para implementação em tempo real.
Figura 26 – Dados de Robson e Dadson, fornecidos pelo objeto [Phon2dB]
A figura 26 mostra gráficos gerados no Pure Data com um objeto compilado a partir do código original de Barlow. O objeto [Phon2dB] (Phons “to” ou “para” dB) dá uma saída de dB para entrada de um valor em Phons (inlet direito) e Hertz (inlet esquerdo). Usamos esse objeto para emular e representar as curvas de resultados originais da figura 25. Por meio de um subpatch, fazemos uma varredura de frequências e índices da tabela para gerar as curvas.
A figura 27 foi gerada a partir de uma implementação em Pd de um código em Matlab27 dos dados fornecidos pela ISO226:2003. Este objeto é capaz de plotar gráficos das curvas em Phons e assim também converte uma entrada em Hertz e Phons para dB. Essa implementação tem como saída uma tabela de valores (29 apenas) para uma entrada em Phons, ou seja, ela automaticamente gera as curvas com valores de dB para pontos de frequências. Precisamos, assim, armazenar esses valores para consultá-los. Com uma entrada em Hertz, é necessário converter esse valor para um índice da tabela, e acessar o valor via interpolação com o objeto [tabread4]. Tanto a resolução de pontos, como o registro de Phons desse objeto são menores do que o código fornecido por Clarence Barlow. Portanto, mesmo se tratando de uma revisão dos dados, o trabalho de Clarence Barlow nos fornece uma conversão bem aprimorada, além da possibilidade de converter dB para Phons.
Figura 27 – Dados da ISO226:2003 fornecidos pelo objeto [iso226]
Apesar de ser redimensionada de acordo com nossa resposta de escuta, a medida em Phon ainda remete à escala logarítmica de decibeis. Por isso, ela não é uma escala que dimensiona a percepção de variação da intensidade sonora, que dobra para um acréscimo de 10 Phon. Para isso, convertemos Phons para Sones, em que o valor
27 Disponível em: <http://www.mathworks.com/matlabcentral/fileexchange/7028-iso-226-equal-loudness-level-contour-signal>.
em Sones dobra ou divide-se pela metade a cada variação em um fator de 10 Phons acima ou abaixo. Assim, comparando diferentes medidas em Sones, fica evidente a relação intervalar de intensidade sonora entre uma amplitude e outra.
A figura 28 mostra a conversão de uma amplitude linear para Sones. Primeiramente, usamos o objeto nativo de Pure Data que converte amplitudes lineares para dB. Em um segundo passo, usamos outro objeto implementado em nossa pesquisa, que corresponde também ao código de Clarence Barlow e que converte uma entrada em dB e Hertz para Phons. O objeto [phon] faz a conversão por meio de uma heurística, ou seja, tentativas de busca e aproximações sucessivas com a função existente no objeto [Phon2dB] e, por esse motivo, pode ser custoso computacionalmente. Temos também na figura outros objetos nativos e uma implementação por meio do objeto [expr] para converter Phons em Sones.
Figura 28 – Conversão de Amplitudes para Phons e Sones
É comum que as amplitudes sejam dadas em “valores lineares”, como é a saída do objeto [sigmund~]. Esses valores variam entre 0 e 1 e podem ser convertidos para decibeis com o objeto [rmstodb], nativo do Pd. Ao converter a amplitude linear para dB, podemos convertê-la para Phons, o que contabilizará uma mudança acima ou abaixo de acordo com nossa curva de respostas. Esse redimensionamento das amplitudes pode ser convertido de volta para valores lineares. A partir desse processo,
temos um redimensionamento das amplitudes de acordo com nossa percepção de intensidade, o que pode ser muito útil como entrada de dados em modelos psicoacústicos. Essa conversão de volta a valores lineares é possível com o objeto inverso, também nativo do Pd, chamado [dbtorms]. Na figura 28, vemos como uma entrada de amplitude linear variou de 0.5 para 0.550776.
Veremos adiante outro procedimento que Parncutt (1989) adota em seu modelo de Comonalidade de altura para redimensionar os valores de intensidade de acordo com nossa resposta perceptiva. Mas, trata-se de um modo muito mais simples, que apenas contabiliza um nível de dB acima do nível de limiar da escuta.