当一个人说话时,识别片段吗? [英] Identifying segments when a person is speaking?

查看:11
本文介绍了当一个人说话时,识别片段吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有谁知道一个(最好是C#.Net)库,可以让我在语音录音中定位特定人发言的片段?

推荐答案

工具包可以喊出:http://shout-toolkit.sourceforge.net/index.html

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

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

  1. 创建16 KHz、16位、小端、单声道的无头pcm音频文件。我使用ffmpeg创建原始文件:ffmpeg-i[INPUT_FILE]-vn-acodec pcm_s16le-ar 16000-ac 1-f s16le[RAW_FILE]在无标题数据前面加上很小的端序编码文件大小(4字节)。请确保文件的扩展名为.raw,因为shout_cluster会根据扩展名检测文件类型。

  2. 语音/非语音切分: ./shout_Segment-a[RAW_FILE]-AMS[SHOUT_SAD_MODEL]-mo[SAD_OUTPUT] 输出文件将为您提供某人正在发言的片段(标记为"Speech")。当然,因为这都是自动完成的,系统可能会出错..),其中存在非语音("声音")或沉默("静音")的声音。

  3. 执行二值化: ./shout_cluster-a[RAW_FILE]-mo[二元化输出]-mi[SAD_输出] 使用Shout_Segment的输出,它将尝试确定录音中有多少说话者处于活动状态,给每个说话者贴上标签("SPK01"、"SPK02"等),然后找出每个说话者的所有语音片段。

我希望这会有帮助!

这篇关于当一个人说话时,识别片段吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆