Pergunta

O som digital está jogando usando o dispositivo de DirectSound. É necessário atividade som exibição em decibéis - como dispositivos analógicos fazer.

O que é a maneira certa de pressão sonora calcular a partir dos dados WAVE PCM (44100 Hz, 16 bits)?

Foi útil?

Solução

Se você só precisa de uma "ideia" da pressão sonora, você pode simplesmente calcular o log-energia em alguns franmes tempo do sinal: dividir o sinal a cada N amostras, compute 10 * log (sum (xn ** 2 )) onde x são as N amostras, e você terá um valor no domínio dB. Se você precisar exibir precisamente uma medida (que é o seu 0 partidas dB dizer a 0dB mixtable), é um pouco mais complicado.

Veja aqui para mais detalhes:

http://music.columbia.edu/pipermail/ música-DSP / 2002 a abril / 048341.html

Outras dicas

de pressão acústica é uma medida da força por unidade de área. Para determinar isso, você teria que ter informações sobre o alto-falante (s) em que o áudio é reproduzido. Você pode obter um nível de decibéis com relação a uma referência arbitrária (em oposição ao limiar de ouvir ) com o algoritmo proposto por cournape .

média potência do sinal durante um intervalo de tempo, calcular o logaritmo de base 10 e multiplicar por 19. a potência média é calculada fazendo a média do quadrado de cada amostra ao longo do intervalo. Note-se que os valores positivos e negativos são necessárias (isto é, ele deve ser uma AC sinal ). Então, certifique-se os valores PCM são ou de ponto flutuante, 2 de complemento ou compensar valores não assinados em conformidade.

Além disso, através da aplicação Parseval é theorum e transformada de Fourier você também pode gerar níveis de sinal para diferentes bandas de frequência .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top