ffmpeg - skills - aws alexa
¿Cuál es el comando correcto para convertir un archivo mp3 a la versión de códec requerida(MPEG versión 2) y la tasa de bits(48 kbps) para Amazon Alexa SSML? (2)
Es un poco confuso, y francamente un poco extraño, Amazon lo requiere. los archivos mp3 pueden ser mpeg1 o mpeg2 o mpeg-2.5 (no estándar, pero son ampliamente compatibles). Para este propósito, las principales diferencias entre las versiones son la tasa de bits y la frecuencia de muestreo. Amazon requiere 48kbps (que es compatible con todas las versiones de mpeg). A continuación, mpeg-2 solo admite frecuencias de muestreo de 22050 Hz, 24000 Hz y 16000 Hz. Por lo tanto, el remuestreo a una de esas frecuencias debería forzar ffmpeg a MPEG-2 layer 3.
ffmpeg -y -i input.mp3 -ar 16000 -ab 48k -codec:a libmp3lame -ac 1 output.mp3
mas información aquí y aquí:
Estoy intentando convertir un archivo mp3 al formato esperado por la etiqueta de audio en el lenguaje de marcado SSML de Amazon Alexa como se describe aquí: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/speech-synthesis-markup-language-ssml-reference
La documentación recomienda utilizar https://www.ffmpeg.org/ffmpeg.html
ffmpeg -y -i input.mp3 -ar 44100 -ab 48k -codec:a mpeg2 -ac 1 output.mp3
este comando pero no puedo encontrar el códec correcto para usar: ffmpeg -y -i input.mp3 -ar 44100 -ab 48k -codec:a mpeg2 -ac 1 output.mp3
Sé que necesito convertir el archivo porque Alexa falla con el siguiente error: The audio is not of a supported MPEG version
Esto es lo que tuve que hacer para que funcione:
ffmpeg -i input.mp3 -b:a 48k -ar 16000 output.mp3
Aquí está la salida cuando lo juego con mpg123
:
$ mpg123 output.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
version 1.22.4; written and copyright by Michael Hipp and others
free software (LGPL) without any warranty but with best wishes
Playing MPEG stream 1 of 1: output.mp3 ...
MPEG 2.0 layer III, VBR, 16000 Hz joint-stereo
[0:02] Decoding of output.mp3 finished.