我有一个简短的音频文件,我需要将其拆分为多个文件,一个文件对应一个单词。例如,我的输入音频文件可能包含“你好,我叫托德”,我需要根据词间停顿。
我希望不要重新发明轮子并从头开始编写代码。哪个 gem 或工具可以做到这一点?到目前为止,我一无所获。
最佳答案
我创建了一个 VB.NET GUI 应用程序来同时按静音和持续时间拆分音频文件。它利用在 git-hub 上找到的名为“wavsilence”和“s0x”的命令工具。您可以将时间设置为 0-0.3(秒,这样它会在单词之间的最轻微停顿处分开)。虽然可能并不完美,但您会发现这已经很接近了。我也空手而归。我专门为章节和分割语音创建了这个工具。我也有一个我写的命令行批处理版本。只需确保音频为立体声 .WAV 格式 (1411kbs)。
获取 wavesilence.exe 和 sox.exe 并创建环境变量,以便您可以通过命令行访问它们。
将您想要拆分的所有音频文件放入同一个文件夹(仅限立体声 wav 音频 | foobar 是一个免费转换器)。
备份原始音频文件(这样您就可以在不破坏音频的情况下使用拆分设置播放)
创建并运行批处理文件 > 将其指向音频文件夹并按 ENTER
gist.github.c0m/Nabspot/671188ed89dcd648a577 <-- 我的批处理命令
https://github.com/DOSx86/wavsilence
从 SoX - Sound eXchange 下载 sox
如果您偶然发现它运行良好,我有一个免费的 GUI。我计划在今年晚些时候发布 GUI 应用程序。可以在此处找到屏幕截图。
“Audiobook Ninja”- 按持续时间和静音拆分音频小时数,将音频小时拆分到 CD 大小的播放列表文件夹中,同时按光盘和轨道编号重命名音频文件...yadda yadda。我是为了工作而做的,这每周为我节省了几十个小时。希望对您有所帮助。
关于ruby - 在 Ruby 中的单词之间暂停时拆分语音音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24231577/