Speech recognition 当一个人说话时,识别片段?

Speech recognition 当一个人说话时,识别片段?,speech-recognition,Speech Recognition,有谁知道一个(最好是C#Net)库,可以让我在录音中找到某个特定的人正在讲话的片段 使用工具箱可以: 是用C++编写的,用于Linux测试,但也应该在Windows或OSX下运行。 该工具包是我在自动语音识别(ASR)博士研究中的副产品。将其用于ASR本身可能并不是那么简单,但对于语音活动检测(SAD)和日记化(查找一个特定人的所有语音)来说,它非常容易使用。以下是一个例子: 创建一个16KHz、16位、小端、单声道的无头pcm音频文件。我使用ffmpeg创建原始文件:ffmpeg-I[INPU

有谁知道一个(最好是C#Net)库,可以让我在录音中找到某个特定的人正在讲话的片段

使用工具箱可以:

是用C++编写的,用于Linux测试,但也应该在Windows或OSX下运行。 该工具包是我在自动语音识别(ASR)博士研究中的副产品。将其用于ASR本身可能并不是那么简单,但对于语音活动检测(SAD)和日记化(查找一个特定人的所有语音)来说,它非常容易使用。以下是一个例子:

  • 创建一个16KHz、16位、小端、单声道的无头pcm音频文件。我使用ffmpeg创建原始文件:ffmpeg-I[INPUT_FILE]-vn-acodec pcm_s16le-ar 16000-ac 1-f s16le[raw_FILE]在无头数据前面加上小尾端编码文件大小(4字节)。确保该文件具有.raw扩展名,因为集群根据扩展名检测文件类型

  • 执行语音/非语音分段: /shout\u段-一个[RAW\u文件]-ams[shout\u SAD\u模型]-mo[SAD\u输出] 输出文件将为您提供有人正在讲话的片段(标有“SPEECH”。当然,因为这都是自动完成的,系统可能会出错…),其中有声音不是语音(“声音”)或静默(“静默”)

  • 执行日记: /shout\u集群-a[RAW\u文件]-mo[DIARIZATION\u输出]-mi[SAD\u输出] 使用shout_段的输出,它将尝试确定录音中有多少发言者处于活动状态,标记每个发言者(“SPK01”、“SPK02”等),然后查找每个发言者的所有语音段


  • 我希望这会有帮助

    虽然上面的答案是准确的,但我有一个关于我在Linux上安装SHoUT时遇到的安装问题的更新
    对pthread_join的未定义引用
    我发现其解决方案是从安装zip打开configure-make.sh并修改行

    CXXFLAGS="-O3 -funroll-loops -mfpmath=sse -msse -msse2" LDFLAGS="-lpthread" ../configure
    

    注意要在Linux系统上运行的lpthread已更改为pthread

    操作系统:Linux Mint 18
    where SHoUT version:release-2010-version-0-3

    谢谢您的回答,Marijn,谢谢您列出的步骤!该语言是否独立,即是否可以使用希伯来语、日语等?(令人惊讶的是,在这个例子中,这些“可能是因为它们是如此奇特的语言而被选中的”正是所需要的语言:)我刚刚使用了这个命令,终端在第二个命令中被冻结。Ubuntu 17.10。也许这是因为我没有对这条指令做任何修改:“在无头数据前面加上小的endian编码文件大小(4字节)”。是这样吗?我该怎么做?谢谢你的回答,伙计!你最终成功地识别出了什么吗?使用SHoUT-no,我切换到Python,因为它更好地支持音频分析。
    CXXFLAGS="-O3 -funroll-loops -mfpmath=sse -msse -msse2" LDFLAGS="-pthread" ../configure