19

我正在尝试将 mp3 文件转换为 Amazon Alexa SSML 标记语言中音频标签所期望的格式,如下所述:https ://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs /speech-synthesis-markup-language-ssml-reference

文档建议使用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

4

2 回答 2

29

亚马逊需要这个有点令人困惑,坦率地说有点奇怪。mp3 文件可以是 mpeg1 或 mpeg2 或 mpeg-2.5(非标准,但得到广泛支持)。为此,版本之间的主要区别是比特率和采样率。Amazon 需要 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

于 2016-01-04T03:43:32.377 回答
4

这是我必须做的才能让它工作:

ffmpeg -i input.mp3 -b:a 48k -ar 16000 output.mp3

这是我玩它时的输出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.
于 2016-01-25T01:25:54.340 回答