在口语中分割语音音频

时间:2014-01-09 01:35:23

标签: audio speech-recognition fuzzy-comparison

我有一个长文本的音频文件,其中不同的部分都以口语“”开头(由同一个发言者叙述)。有没有办法将音频文件拆分为较小的文件?

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

哪个工具可以做到这一点? SOX?大胆?

1 个答案:

答案 0 :(得分:1)

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

  1. 检测出现的字数
  2. 根据时间剪切音频。
  3. 要检测时间,您可以使用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.38s和921.49 s处被检测到(当用户说“章节末尾”时)

    最好使用较长的短语进行检测,较长的短语检测效果会更好。为了获得最佳检测效果,您可以调整阈值。

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