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

Posted

技术标签:

【中文标题】在Ruby中的单词之间暂停时拆分语音音频【英文标题】:Split speech audio on pause between words in Ruby 【发布时间】:2014-06-15 16:14:00 【问题描述】:

我有一个简短的音频文件,我需要将其拆分为多个文件,每个单词一个文件。例如,我的输入音频文件可能包含“你好,我的名字是 Todd”,我需要根据单词之间停顿。

我希望不要重新发明***并从头开始编写代码。哪个宝石或工具可以做到这一点?到目前为止我是空的。

【问题讨论】:

如果您想获得有关为某项任务寻找已经编写好的库的建议,那么 Stack Overflow 并不是最好的地方(这类问题不在主题范围内)。请尝试 softwarerecs.stackexchange.com - 先看看他们的“如何提问”以获得最大的成功机会。 【参考方案1】:

我创建了一个 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 下载 sox - Sound eXchange

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

“有声读物忍者” - 按持续时间和静音分割数小时的音频,将数小时的音频分割成 CD 大小的播放列表文件夹,同时按光盘和曲目编号重命名音频文件...... yadda yadda。我是为了工作而做的,这每周为我节省了几十个小时。希望对你有帮助。

【讨论】:

以上是关于在Ruby中的单词之间暂停时拆分语音音频的主要内容,如果未能解决你的问题,请参考以下文章

在python中的单词上拆分语音音频文件

SpeakProgress 事件中的音频位置对于“Microsoft Anna”语音不正确

当另一个应用开始播放音频时,如何自动暂停我的应用中的音频播放器?

通过音频检测单词[关闭]

Javascript 音频控制自动播放播放暂停

播放自己的音频后恢复 Spotify