speech-recognition - 当一个人说话时识别片段?

标签 speech-recognition

有谁知道一个(最好是 C# .Net)库,它可以让我在录音中找到特定人说话的那些片段?

最佳答案

使用工具包 SHoUT 可以实现:http://shout-toolkit.sourceforge.net/index.html

它是用 C++ 编写的,并针对 Linux 进行了测试,但它也应该在 Windows 或 OSX 下运行。

该工具包是我博士研究自动语音识别 (ASR) 的副产品。将它用于 ASR 本身可能并不那么简单,但对于语音事件检测 (SAD) 和分类(查找一个特定人的所有语音),它非常易于使用。下面是一个例子:

  • 创建一个 16KHz、16 位、小端、单声道的 headless pcm 音频文件。我使用 ffmpeg 创建原始文件: ffmpeg -i [输入文件] -vn -acodec pcm_s16le -ar 16000 -ac 1 -f s16le [RAW_FILE] 使用 little endian 编码的文件大小(4 字节)为 headless 数据添加前缀。确保文件具有 .raw 扩展名,因为shout_cluster 会根据扩展名检测文件类型。
  • 执行语音/非语音分割:
    ./shout_segment -a [RAW_FILE] -ams [SHOUT_SAD_MODEL] -mo [SAD_OUTPUT]
    输出文件将为您提供有人说话的片段(标有“SPEECH”。当然,因为这都是自动完成的,系统可能会出错..),其中有声音而不是语音(“声音”)或沉默(“沉默”)。
  • 进行分类:
    ./shout_cluster -a [RAW_FILE] -mo [DIARIZATION_OUTPUT] -mi [SAD_OUTPUT]
    使用shout_segment 的输出,它将尝试确定有多少说话人在录音中处于事件状态,标记每个说话人(“SPK01”、“SPK02”等),然后找到每个说话人的所有语音片段。

  • 我希望这个能帮上忙!

    关于speech-recognition - 当一个人说话时识别片段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8284943/

    相关文章:

    objective-c - 拦截来自 OS X 语音识别实用程序的输入

    android - 带日期的语音识别

    android - 从服务调用 RecognizerIntent

    java - 如何在 android 模拟器中启用麦克风输入

    java - 如何在Sphinx4中评估样本

    ios - 如何在 iOS Speech API 上检测语音开始

    android - 将语音转换为发音的最佳方式

    c# - 谷歌云 API 语法

    speech-recognition - Google的语音识别API使用限制

    javascript - 如何在 Chrome 扩展弹出窗口中读取语音输入?