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

时间:2014-06-15 16:14:00

标签: ruby audio gem audio-recording

我有一个简短的音频文件,我需要分成许多文件,每个单词一个文件。例如,我的输入音频文件可能包含,"您好,我的名字是Todd"我需要分成5个音频文件"你好","我","名称","是","托德"基于单词之间的暂停。

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

1 个答案:

答案 0 :(得分:0)

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

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

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

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

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

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

    https://github.com/DOSx86/wavsilence

    从SoX下载sox - Sound eXchange

    如果您觉得这很有效,我可以免费获得GUI。我计划在今年晚些时候发布GUI应用程序。屏幕截图可以在这里找到。

    enter image description here

    " Audiobook Ninja" - 按持续时间和时间分割音频小时数沉默,将音频时间分成CD大小的播放列表文件夹,同时按光盘和曲目编号重命名音频文件... yadda yadda。我把它用于工作,每周节省数十个小时。我希望它可以帮到你。