Veamos primero la estructura de un archivo de audio.
Es una matriz (Nx1) de muestras que representa los valores de amplitud en un instante de tiempo específico (una muestra). Cuando estas N muestras se atraviesan a una “tasa” conocida como tasa de muestreo, en realidad escuchamos su forma de audio. Lo que significa que escuchas miles de muestras cada segundo (generalmente 44KHz para música). Si su matriz es Nx2, sugiere que su archivo de audio tenga salida estéreo.
Esta forma de onda contiene 24K muestras grabadas a una frecuencia de muestreo de 16KHz. Por lo tanto, la duración es de ~ 1.5 segundos.
¿Cómo se almacena esto?
Inicialmente, mientras graba el audio, el procesador interpreta su audio como una secuencia de bits y lo escribe en la memoria. Pero antes de que lo escriba en la memoria, generalmente realiza alguna modificación. Un software (códec) lee este flujo de bits y lo codifica en uno de los formatos de la industria. Esto se hace para reducir el ancho de banda de transmisión y los requisitos de almacenamiento.
- ¿Por qué Assam o el noreste son completamente ignorados por el gobierno central y los medios nacionales?
- ¿Son los medios indios demasiado irritantes en estos días? Traen una especie de imagen negativa y publicidad en la India. ¿Debería haber alguna guía para los medios?
- ¿Los medios finalmente domarán a Trump?
- ¿NDTV ayudó a los terroristas durante el ataque de Pathankot transmitiendo información confidencial cuando la operación estaba ENCENDIDA?
- ¿No tienen los principales medios de comunicación una crisis de credibilidad ahora? ¿Cómo puedes creer una palabra que dicen?
Digamos que tiene su archivo mp3 listo en su tarjeta de memoria. Tiene que haber algún tipo de comunicación entre el procesador / controlador del reproductor y la tarjeta de memoria. Consideremos el protocolo SPI ya que es simple y lo que viene junto con las tarjetas de memoria que usamos en estos días (por ejemplo: SanDisk)
Fuente de la imagen: Wikipedia
Estas interfaces periféricas seriales vienen con Master in Slave out / Master out Slave in, popularmente MISO / MOSI. Estos son los cables que transportan la información de audio. SCLK es un reloj en serie que se utiliza para temporizar (la entrada se lee en el flanco ascendente y la salida se propaga en el flanco descendente).
También hay protocolos como UART / I2C que el controlador utiliza para comunicarse con la tarjeta de memoria.
El reproductor de mp3 es una máquina de estados finitos. Tiene estados como Reproducir, Pausa, Repetir, Parar, etc. Durante el estado de reproducción, el controlador verifica los bytes para leer de la tarjeta SD y continúa leyendo hasta que no hay nada que leer (final de la lista de reproducción). En este estado, hay un apretón de manos continuamente entre el controlador y la tarjeta SD.
Procesador: ¿Tiene suficientes bytes?
Tarjeta SD: Sí, aquí tienes.
…
…
..
Esto continúa hasta que se haya reproducido todo el audio y finalmente va al último estado de la máquina de estados (por ejemplo: Repetir).
Durante los estados de pausa y parada, el bucle de reproducción recibe instrucciones de estar inactivo (en parada, el puntero se dirige al comienzo del archivo de audio).