Formato de audio (1) PCM y WAV

Cero, escrito al frente

        Si desea comprender el audio, primero debe comprender su estructura, cómo cambia de sonido a archivo y cómo cambia de archivo a sonido. El formato de archivo tiene diferentes versiones según las necesidades y el progreso tecnológico, y los diferentes formatos de archivo tienen diferentes estructuras de archivo. Comencemos con los dos archivos de audio más originales y hablemos de los formatos de archivo de audio comunes. Primero es PCM y WAV

1. archivo PCM

        PCM ( modulación de código de pulso ) son los datos de audio originales, que es la señal digital convertida de la señal eléctrica del muestreador (micrófono). En términos de grabación de audio, se puede usar en todos los escenarios donde otras señales eléctricas se convierten en señales digitales Un archivo de audio compuesto por dicha pieza de datos sin procesar se denomina archivo PCM y termina en .PCM. El tamaño de un archivo PCM depende de varios elementos:

1.1 Formato y parámetros    

        Frecuencia de muestreo : se refiere a la frecuencia a la que las señales eléctricas recopilan datos por segundo. Las frecuencias de muestreo de audio comunes son 8000 HZ, 16000 HZ, 44100 HZ, 48000 HZ, 96000 HZ, etc.

        Profundidad de bits de muestreo : indica cuántos bits se utilizan para almacenar cada señal eléctrica. Por ejemplo, la profundidad de bits de muestreo de 8 bits se puede dividir en 256 niveles, y la frecuencia de sonido reconocible del oído humano es 20-20000 hz, por lo que el error de cada bit es Ha llegado a 80 HZ, lo que reduce en gran medida el grado de reproducción de audio, pero su tamaño se reduce en consecuencia, lo que es más propicio para la transmisión de audio. La telefonía inicial utilizaba una tasa de muestreo relativamente baja para lograr una calidad de llamada más estable. Si la profundidad de bits de 16 bits puede muestrear con precisión cada HZ. La profundidad de bits de muestreo en realidad no es tan simple como 8 bits/16 bits/32 bits. Para las computadoras, 16 bits se pueden representar con un int corto o de 16 bits, y 32 bits se pueden representar con 32 bits. int o Se puede representar como un flotante de 32 bits. Además, hay puntos firmados y sin firmar. También debemos prestar atención a esto al codificar y decodificar.

        Canal de muestreo : los más comunes son de un solo canal o de doble canal. El doble canal puede ayudarnos a distinguir el sonido de los oídos izquierdo y derecho. Si es de un solo canal, ambos oídos tienen el mismo sonido. Por lo general, usamos canales duales en busca del estéreo, por lo que el sonido recopilado por los canales duales también se denomina estéreo. Además, hay tipos de canales más exigentes como 2.1, 5.1, 6.1, 7.1, etc., que tienen ciertos requisitos para el micrófono con el que grabas audio.

        Método de almacenamiento de datos : indica si los datos se almacenan de forma cruzada o canal por canal. El arreglo cruzado es solo para archivos de audio multicanal, y no hay arreglo cruzado para archivos de audio de un solo canal. . El canal de muestreo y el método de almacenamiento de datos determinan cómo se almacenan los datos.

        Entonces se puede ver de lo anterior que el tamaño del disco requerido para generar un archivo PCM 1S:

        Tasa de muestreo * número de bits de muestreo * número de canales en bit

        Entonces el resultado calculado es en realidad nuestro bit/segundo = tasa de bits

        Luego generamos un archivo PCM con una duración de 10S, una frecuencia de muestreo de 44100 Hz, un número de muestreo de 16 bits y un número de canal de dos bits.El tamaño de disco (unidad de bits) requerido es: 44100*16*2*10 .

        Aunque PCM es la fuente de datos de audio, la mayoría de los reproductores no pueden reproducirlos porque solo tienen datos y el reproductor no tiene forma de saber cómo analizarlos. Incluso un reproductor PCM debe especificar su frecuencia de muestreo, número de canales y el el número de bits de muestreo y el orden de los bytes se pueden reproducir correctamente (convirtiendo señales digitales en señales eléctricas).

        Así que hay varios formatos de audio comunes WAV/MP3/AAC. Por supuesto, el viaje de estos formatos de audio no es solo para resolver el problema de almacenar información básica de audio. El propósito de MP3 y AAC es más para comprimir datos. Bajo la premisa de garantizar la mayor calidad posible, el archivo ocupa menos espacio y logra una mejor transmisión y efectos de almacenamiento. Antes de eso, permítanme hablar sobre el archivo de audio WAV, que está muy cerca de PCM.

1.2, orden de bytes

        Cuando grabamos PCM, también debemos prestar atención a la calidad irrelevante del archivo, que es muy simple pero muy importante: endianness. Por supuesto, el orden de los bytes no es solo en el audio, sino también un punto que necesita atención para algunos protocolos de interacción/almacenamiento/comunicación de datos relacionados con la computadora. El orden de los bytes se divide en dos tipos: big endian y little endian. El orden más legible , little endian es el orden en el que la computadora es más legible. Por ejemplo, si un dato es 0x01234567, su secuencia big-endian es 0x01234567 y su secuencia little-endian es 0x67452301. De hecho, la posición del byte se invierte.

2. WAV

2.1, formato y parámetros        

        Se puede decir que WAV solo resuelve el problema de que los datos PCM no tienen un formato de almacenamiento y grabación, y la solución es bastante simple y tosca, agregando directamente la información del formato de grabación al encabezado de PCM, que ocupa 44 bytes fijos. Por lo tanto, el espacio ocupado por WAV no es menor que el de los datos PCM, pero es 44 bytes más grande, veamos qué se pone en estos 44 bytes. Tomemos como ejemplo un archivo PCM con una frecuencia de muestreo de 44100, un número de muestreo de 16, canales duales y una duración de 10S a WAV. Primero calcule el tamaño del archivo PCM: 44100*16*2*10=14112000bit=176000byte, por supuesto, también podemos leer la longitud del archivo para obtenerlo en aplicaciones prácticas.

bloque propietario

posición

nombre

tamaño (byte)

orden de bytes

describir

contenido

bloque RIF

0-3

IDENTIFICACIÓN

4

extremo grande

Contenido fijo 'RIFF' código ASCALL

0x52494646

4-7

Tamaño

4

pequeño endian

La longitud de todo el archivo (incluido el encabezado 44) menos la ID y el tamaño Szie es en realidad -8

Los datos son 176000+44-8=176036

Big-endian: 0x0002AFA4

Poco endian: 0xA4AF0200

8-11

tipo

4

extremo grande

Contenido fijo 'WAVE'

0x57415645

bloque de formato

12-15

IDENTIFICACIÓN

4

extremo grande

Contenido fijo 'fmt', tenga en cuenta que el último byte no está en blanco (ASCALL completo)

0x666d7420

16-19

TAMAÑO

4

pequeño endian

La longitud del bloque (no el archivo total) - Longitud de ID y Tamaño

Longitud de bloque 35-11=24 longitud de datos 24-8=16

Big-endian: 0x0010

Poco endian: 0x1000

20-21

Formato de audio

2

pequeño endian

Formato de audio, generalmente 1 significa PCM

Big-endian: 0x0001

Poco endian: 0x0100

22-23

NumChannels

2

pequeño endian

Número de canales 1 mono 2 estéreo

Gran endian: 0x0002

Poco endian: 0x0200

24-27

Tasa de muestra

4

pequeño endian

Tasa de muestreo

Datos 44100

Bigendian: 0x0000AC44

Poco endian: 0x44AC0000

28-31

Tasa de bytes

4

pequeño endian

La tasa de bytes es en realidad tasa de bits/8

Datos 1411200/8=17600

Bigendian: 0x000044C0

Poco endian: 0xC0440000

32-33

Alinear bloque

2

pequeño endian

Cuántos bytes se necesitan por muestra =

Número de canales * número de bits de muestreo / 8

Datos: 2*16/8=4

Big-endian: 0x0004

Poco endian: 0x0400

34-35

bit por muestra

2

pequeño endian

Bits de muestreo 8/16/24/32 bits

Datos: 16

Big-endian: 0x0010

Poco endian: 0x1000

bloque de datos

36-39

ID de datos

4

extremo grande

contenido fijo 'datos'

0x64617461

40-43

Tamaño de datos

4

pequeño endian

Tamaño real de PCM

Datos: 176000

Bigendian: 0x0002AF80

Poco endian: 0x80AF0200

44-(44+

Tamaño de datos)

Datos

Tamaño de datos

pequeño endian

Datos PCM (de hecho, el little endian aquí también es el orden de bytes de grabación que solemos especificar al grabar)

Empalme de datos PCM directamente hacia arriba

        Cabe señalar que los datos oficiales muestran que los datos de estos archivos de encabezado se dividen en big endian y small endian, pero en la aplicación real, todos usamos big endian y no afectará nuestra reproducción. De todos modos, no necesita datos de little-endian, puede cambiarlos a small-endian y big-endian por un tiempo, eso definitivamente no es posible. En cuanto a cómo empaquetar PCM a WAV, puede ver claramente la tabla anterior.

 2.2 Resumen

        Ventajas: en términos de datos, no tiene pérdidas, conserva los datos originales/la conversión de formato es simple y una conversión de formato se puede completar con docenas de líneas de código/descodificación sin transcodificación.

        Desventajas: el volumen es demasiado grande/el tamaño del archivo es limitado y el espacio para almacenar datos del tamaño de un archivo es de solo 4 bytes, que es 2^32 bytes como máximo, lo que equivale a casi 4 GB.

        Escenario de aplicación: De hecho, además del audio, también se puede utilizar como almacenamiento de archivos para la transmisión/otras señales eléctricas a señales digitales.

3. Escribe al final

        这篇记录的是最简单的PCM和WAV音频格式,后续还有MP3和AAC格式的相关记录,有兴趣的可以点个关注等待后续更新,也希望大家能看看我其它博客给出建议哦。欢迎大家交流讨论,批评指正。

Supongo que te gusta

Origin blog.csdn.net/qq_37841321/article/details/124533629
Recomendado
Clasificación