我有一大堆文件想在使用 CMU Sphinx 4 时运行识别。Sphinx 需要以下格式:
- 16 千赫兹
- 16 位
- 单核细胞增多症
- 小端
我的文件类似于 44100 khz、32 位立体声 mp3 文件。我尝试使用 Tritonus,然后使用它的更新版本 JavaZoom,使用来自bakuzen的代码进行转换。但是,AudioSystem.getAudioInputStream(File)
抛出一个UnsupportedAudioFileException
,我无法弄清楚为什么,所以我继续前进。
现在我正在尝试 ffmpeg。该命令ffmpeg -i input.mp3 -ac 1 -ab 16 -ar 16000 output.wav
似乎应该可以解决问题(小端除外),但是当我使用 Audacity 检查输出时,它仍然将其标记为“32 位浮点数”。我在这个网站上找到的命令也使用-acodec pcm_s16le
了 ,从它的名字看似乎是输出 16 位小端;但是,Audacity 仍然告诉我输出是32 bit float
.
谁能告诉我如何将音频文件转换为 CMU Sphinx 4 所需的格式?