ruby - 在 Ruby 中的单词之间暂停时拆分语音音频

标签 ruby audio rubygems audio-recording

我有一个简短的音频文件,我需要将其拆分为多个文件,一个文件对应一个单词。例如,我的输入音频文件可能包含“你好,我叫托德”,我需要根据词间停顿。

我希望不要重新发明轮子并从头开始编写代码。哪个 gem 或工具可以做到这一点?到目前为止,我一无所获。

最佳答案

我创建了一个 VB.NET GUI 应用程序来同时按静音和持续时间拆分音频文件。它利用在 git-hub 上找到的名为“wavsilence”和“s0x”的命令工具。您可以将时间设置为 0-0.3(秒,这样它会在单词之间的最轻微停顿处分开)。虽然可能并不完美,但您会发现这已经很接近了。我也空手而归。我专门为章节和分割语音创建了这个工具。我也有一个我写的命令行批处理版本。只需确保音频为立体声 .WAV 格式 (1411kbs)。

  1. 获取 wavesilence.exe 和 sox.exe 并创建环境变量,以便您可以通过命令行访问它们。

  2. 将您想要拆分的所有音频文件放入同一个文件夹(仅限立体声 wav 音频 | foobar 是一个免费转换器)。

  3. 备份原始音频文件(这样您就可以在不破坏音频的情况下使用拆分设置播放)

  4. 创建并运行批处理文件 > 将其指向音频文件夹并按 ENTER

gist.github.c0m/Nabspot/671188ed89dcd648a577 <-- 我的批处理命令

https://github.com/DOSx86/wavsilence

从 SoX - Sound eXchange 下载 sox

如果您偶然发现它运行良好,我有一个免费的 GUI。我计划在今年晚些时候发布 GUI 应用程序。可以在此处找到屏幕截图。

enter image description here

“Audiobook Ninja”- 按持续时间和静音拆分音频小时数,将音频小时拆分到 CD 大小的播放列表文件夹中,同时按光盘和轨道编号重命名音频文件...yadda yadda。我是为了工作而做的,这每周为我节省了几十个小时。希望对您有所帮助。

关于ruby - 在 Ruby 中的单词之间暂停时拆分语音音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24231577/

相关文章:

python - 对列表的迭代无法达到我的想象。为什么?

ruby - Faker 中的单词长度

ruby - 如何在 Ruby 中将 UCS-2 字节数组转换为 UTF-8 字符串?

Ruby 常量和命名空间

ruby - Python itertools 的 Ruby 等价物是什么,尤其是。组合/排列/groupby?

audio - ffmpeg 转换为 mp4 将音频移动一帧

ruby - Jekyll 扩展调用外部脚本

audio - 将音频文件下载到iTunes

ruby-on-rails - ruby 中的图形数据库?

ruby - 添加我正在开发的 gem 以由 ruby​​gems 自动加载而无需构建/安装?