0

我有一个长文本的音频文件,其中不同的部分都以口语“章节”开头(由同一位演讲者讲述)。有没有办法在这些词处将音频文件拆分为较小的文件?

我正在考虑删除“章节”的一个单词出现,将其放在单独的音频文件中,然后使用一些工具将原始音频与短片段进行模糊匹配,以找到“章节”出现并拆分原始在这些事件中归档。

哪个工具可以做到这一点?索克斯?大胆?

4

1 回答 1

1

那将是可行的。你需要两个步骤:

  1. 检测单词出现的时间
  2. 根据时间剪切音频。

要检测时间,您可以使用 pocketsphinx trunk 中的关键字发现工具,只需从 subversion 中检出 pocketsphinx 并构建它。它将安装 pocketsphinx_kws 二进制文件以进行关键字发现。然后你可以在音频中搜索单词时间,它必须是 16khz 16bit MSWAV 格式:

 pocketsphinx_kws -infile barnabyrudge_07_dickens.wav -kws "chapter"
 ...
 INFO: kws_search.c(229): >>>>DETECTED IN FRAME [2138]
 INFO: kws_search.c(229): >>>>DETECTED IN FRAME [2182]
 INFO: kws_search.c(229): >>>>DETECTED IN FRAME [92149]

帧速率为 100 帧/秒,因此您可以看到在 21.38 秒和 921.49 秒检测到章节(当用户说“章节结束”时)

最好使用较长的词组进行检测,词组越长检测效果越好。为了获得最佳检测,您可以调整阈值。

要剪切音频,您可以使用 sox,您可以使用trim命令删除开头并trim + reverse剪切结尾。

于 2014-01-09T11:19:04.497 回答