我正在尝试将mp3文件转换为Amazon Alexa SSML标记语言中音频标记所需的格式,如下所述:https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs /语音合成的标记语言-SSML参考
文档建议使用https://www.ffmpeg.org/ffmpeg.html
我尝试了这个命令但找不到合适的编解码器:
ffmpeg -y -i input.mp3 -ar 44100 -ab 48k -codec:a mpeg2 -ac 1 output.mp3
我知道我需要转换文件,因为Alexa失败并出现以下错误: The audio is not of a supported MPEG version
它有点令人困惑,坦率地说亚马逊需要这个有点奇怪.mp3文件可以是mpeg1或mpeg2或mpeg-2.5(非标准,但广泛支持).为此,版本之间的主要差异是比特率和采样率.亚马逊需要48kbps(所有mpeg版本都支持).接下来,mpeg-2仅支持22050 Hz,24000 Hz和16000 Hz的采样率.因此重新采样到其中一个频率应该强制ffmpeg到MPEG-2第3层.
ffmpeg -y -i input.mp3 -ar 16000 -ab 48k -codec:a libmp3lame -ac 1 output.mp3
更多信息在这里和这里:
http://www.mp3-tech.org/programmer/frame_header.html
https://en.wikipedia.org/wiki/MP3