2011-03-26 9 views
13

He usado varios programas de audio como el mezclador SDL, audacity, etc. pero quiero ver lo que hay dentro de estos pequeños juguetes de audio. ¿Cómo se procesan los datos de audio y tal. También he visto algunos códigos de muestra de un reproductor de MP3 en C++ que usa void* para datos de audio.¿Cómo procesan las computadoras los datos de audio?

Pero todo esto no me ayuda a entender en general cómo funciona el audio en la computadora. Entonces, ¿podría alguien explicarme (o presentarme algunos libros) cómo las computadoras almacenan y procesan datos de audio digital? (Por ejemplo, si se almacena una forma de onda triangular en un archivo .wav, ¿cómo esta forma de onda se almacenan como patrón de bits?)

+0

Relacionado (a cómo procesan las computadoras el audio): [Remuestreo de audio] (http://stackoverflow.com/questions/1125666/how-do-y-do-bicubic-or-other-non-linear-interpolation-of -re-sampled-audio-dat) - uno de los bloques de construcción clave. –

Respuesta

10

Cómo se representan formas de onda

Hay una explicación más detallada de cómo el audio se representa en el Audacity manual:.

Waveform

... la altura de cada línea vertical se representa como un número firmado.


Más acerca de Audio Digital

  • La audacia wiki tiene alguna información acerca de how algorithms in Audacity work. Si hay un efecto de audio específico en Audacity sobre el que desea obtener más información, que aún no está cubierto, puede dejar una pregunta allí.
  • Si está buscando el código fuente, echo effect es un buen lugar para comenzar.
  • Para obtener más información sobre audio digital, haga clic en los botones de Wikipedia para ver los enlaces que le interesan en this page. Los que están al pie de esa página son particularmente útiles para profundizar en los diferentes formatos de archivo de audio que están disponibles.

Puede notar que todos estos enlaces provienen del proyecto Audacity. Eso no es una coincidencia.

9

Tomando su ejemplo de archivo WAV:

un archivo WAV tendrá un encabezado, que especifica información clave para un jugador o procesador de audio sobre el número de canales, frecuencia de muestreo, profundidad de bits, longitud de datos, etc. Después del encabezado aparece el patrón de bits sin procesar, que almacena las muestras de audio (supongo que sabes qué muestra es - si no, mira Wikipedia). Cada muestra se compone de un número de bytes (especificado en el encabezado) y especifica la amplitud de la forma de onda en cualquier punto dado en el tiempo. Cada muestra se puede almacenar en forma firmada o sin firmar (también se especifica en el encabezado).

+1

esto fue conciso y muy útil. –

5

Puede leer esta conferencia de Lothar Reichel donde explica un poco el tema "compresión de audio digital", y publicar un código de Matlab:

sonido es un fenómeno complicado. Normalmente es causado por un objeto en movimiento en el aire (u otro medio), , por ejemplo, un cono de altavoz que se mueve hacia adelante y hacia atrás. El movimiento a su vez causa variaciones de presión de aire que viajan a través del aire como ondas en un estanque. Nuestros tímpanos convierten las variaciones de presión en el fenómeno que nuestro cerebro procesa como sonido.

Las computadoras "escuchan" sonidos usando un micrófono en lugar de un tímpano. El micrófono convierte las variaciones de presión en un potencial eléctrico con amplitud correspondiente a la intensidad de la presión. La computadora luego procesa la señal eléctrica usando una técnica llamada muestreo. Las computadoras prueban la señal midiendo su amplitud a intervalos regulares, a menudo 44,100 veces por segundo. Cada medida se almacena como un número con precisión fija, a menudo 16 bits.

Espero que ayude.

7

El audio digital se almacena como una secuencia de números, llamados muestras. Ejemplo:

5, 18, 6, -4, -12, -3, 7, 14, 4

Parcela estos números como puntos en un gráfico cartesiano: el valor de la muestra determina la posición a lo largo del eje Y , y el número de secuencia de la muestra (0, 1, 2, 3, etc.) determina la posición a lo largo del eje X.

Ahora trace una línea a través de los puntos que acaba de trazar.

Enhorabuena, acaba de procesar la forma de onda de su audio digital. :-)

El eje Y es la amplitud y el eje X es el tiempo.

"Frecuencia de muestreo" determina qué tan rápido avanza el dispositivo de reproducción (por ejemplo, la tarjeta de sonido) a través de las muestras. Este es el "valor de tiempo" de una muestra.Por ejemplo, el audio digital con calidad de CD atraviesa 44.100 muestras por segundo, leyendo la amplitud (valor del eje Y) en cada punto de muestra.

† La discusión anterior ignora la compresión. La compresión cambia poco sobre la naturaleza esencial del audio digital. Al igual que la compresión de una imagen de mapa de bits no cambia la naturaleza central de una imagen de mapa de bits. (El tema de la compresión de audio es rico, no pretendo simplificar demasiado, es solo que todo el audio comprimido finalmente se descomprime antes de que se reproduzca, es decir, se reproduce como sonido audible o se dibuja como una forma de onda) en cuyo punto sus orígenes comprimidos son de poca importancia)

Cuestiones relacionadas