Pregunta

El sonido digital está sonando usando el dispositivo DirectSound. Es necesario para mostrar la actividad de sonido en decibelios - al igual que lo hacen los dispositivos analógicos.

¿Cuál es la manera correcta para calcular la presión del sonido de los datos de onda PCM (44100 Hz, 16 bits)?

¿Fue útil?

Solución

si sólo tiene una "idea" de la presión acústica, sólo tiene que calcular el diario de energía en algunos franmes tiempo de la señal: dividir la señal de cada N muestras, calcule 10 * log (suma (x ** 2 )) donde x son las N muestras, y se obtiene un valor en el dominio dB. Si se necesita mostrar, precisamente, una medida (es decir sus partidos 0 dB 0 dB dicen que una mesa de mezclas), que es un poco más complicado.

Vea aquí para más detalles:

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

Otros consejos

de presión de sonido es una medida de la fuerza por unidad de área. Para determinar esto, se tiene que tener información sobre el altavoz (s) en el que se reproduce el audio. Se puede obtener un nivel de decibelios con respecto a una referencia arbitraria (en contraposición a los href="http://en.wikipedia.org/wiki/Auditory_threshold" de escuchar ) con el algoritmo propuesto por cournape .

Calcular la media potencia de la señal durante un intervalo de tiempo, calcular el logaritmo en base 10 y se multiplica por 19. la potencia media se calcula promediando el cuadrado de cada muestra durante el intervalo. Tenga en cuenta que los valores positivos y negativos son necesarios (es decir, debe ser un señal de CA ). Por lo tanto, asegúrese de que los valores de PCM son o bien de punto flotante, complemento o de 2 valores de desplazamiento sin signo en consecuencia.

Además, mediante la aplicación de teoremum de Parseval y la transformada de Fourier también puede generar niveles de señal de diferentes bandas de frecuencia .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top