VS1053B Códec de audio y MP3 Pregunta

0

Para Arduino hay protectores de MP3 basados en VS1053b y no entiendo algunos puntos. Pedí formato MP3, pero también se puede generalizar para otros formatos.

Cuando un sonido se graba y codifica como MP3 y se guarda en la tarjeta SD, ¿por qué necesitamos un chip de decodificador-codificador VS1053b? ¿No podemos usar un convertidor D / A para jugar?

Me parece que solo estamos enviando el archivo de sonido desde la tarjeta SD al chip VS1053b a través de SPI y ese chip está enviando esos datos a su propio convertidor D / A.

Entonces:

  1. ¿Cuál es el propósito de este chip VS1053b si solo estamos reproduciendo un archivo desde una tarjeta SD?

  2. Cuando enviamos valores hexadecimales (muestras de un archivo MP3) desde la tarjeta SD a VS1053b sobre SPI, ¿está procesando esas muestras para recuperar los datos no codificados (básicamente, decodificación)? Si es así, ¿es esto para una mejor calidad ya que eliminamos algunos datos del archivo durante la codificación de MP3?

  3. ¿Son estos chips más significativos si, por ejemplo, grabamos nuestra voz con un micrófono y dejamos que el VS1053b codifique esa grabación para que podamos tomar los datos de SPI y guardarlos como un archivo MP3?

Cualquier ayuda es apreciada.

    
pregunta snrIcmn

1 respuesta

1
  

¿Cuál es el propósito de este chip VS1053b si solo estamos reproduciendo un archivo desde una tarjeta SD?

MP3 es un formato de audio comprimido . El archivo almacenado no contiene datos de audio "en bruto" (que normalmente serían algunos de modulación de código de pulso (PCM) , sino que contiene un flujo de datos que deben decodificarse para obtener los datos de audio reales.

Por lo tanto, necesitas un chip decodificador, porque un Arduino (probablemente no estoy seguro) no tiene suficiente potencia para hacer la decodificación por sí mismo. El proceso de decodificación involucra muchas transformaciones de frecuencia inversas y debe ocurrir en tiempo real; un flujo de MP3 contiene bloques de información de frecuencia / amplitud, y esto debe volver a convertirse al dominio de tiempo discreto . Si tuviera datos de audio sin comprimir en un formato amigable (WAV, por ejemplo, que almacena audio codificado con LPCM y es trivial para decodificar), no necesitaría un decodificador complejo (pero entonces el archivo sería mucho más grande).

  

Cuando enviamos valores hexadecimales (muestras de un archivo MP3) desde la tarjeta SD a VS1053b a través de SPI, ¿está procesando esas muestras para recuperar los datos no codificados (básicamente decodificación)? Si es así, ¿es esto para una mejor calidad ya que eliminamos algunos datos del archivo durante la codificación MP3?

Le sugiero que lea al menos el comienzo de la hoja de datos VS1053b , así como la enlace anterior a MP3.

El archivo MP3 no tiene muestras en bruto, pero sí a la primera pregunta: los datos se leen de la tarjeta SD en bloques y el VS1053b decodifica el flujo entrante (haciendo muchas operaciones matemáticas), se recupera (en su mayoría) ) los datos de audio originales, luego los envía a un DAC interno y produce un voltaje analógico. (Recuerde que el MP3 es un códec con pérdida y, por lo tanto, los datos de salida enviados al DAC no coinciden exactamente con los datos de entrada que se codificaron originalmente).

La calidad no entra realmente en la imagen, no es para "mejor calidad" porque tienes para decodificar los datos. No puede simplemente pasar los datos de la tarjeta SD a un DAC normal, porque esos datos no representan datos de audio de una manera que el DAC pueda entender.

  

¿Son estos chips más significativos si, por ejemplo, grabamos nuestra voz con un micrófono y dejamos que el VS1053b codifique esa grabación para que podamos tomar información sobre SPI y guardarla como un archivo MP3?

Bueno, son "significativos" porque los necesitas para decodificar archivos MP3 con un procesador tan limitado (ATmega328). El VS1053b es un codificador, pero no un codificador de MP3: puede codificar IMA ADPCM y Ogg Vorbis. Entonces, no, no puede grabar audio en un archivo MP3, pero puede grabar audio en otros formatos.

Espero que ayude. Para comprender mejor la compresión de MP3, querrás un poco de fondo en el análisis de frecuencia de tiempo y las operaciones de dominio de frecuencia (y no estoy seguro de cuánto fondo tienes).

    
respondido por el uint128_t

Lea otras preguntas en las etiquetas