我正在使用Microsoft Speech C#API进行家庭自动化命令
我想知道是否有一种方法或内置的C#方法来散列语音输入并识别谁在说话。如果是Alice或Bob说“Hello Alice”或“Hello Bob”。
编辑:
Microsoft Speech API可以提供录制的.wav。它可能能够哈希,处理,......以了解谁在说话:
答案 0 :(得分:2)
说话人识别是一个难题,仍然是一个活跃的研究领域。我不认为微软语音api有任何说话人识别支持,但不是100%肯定。
我在研究该主题时发现以下文章非常有用。它介绍了该主题,并提供了非常粗略的实现。可能是一个好的开始。
http://www.ibm.com/developerworks/opensource/library/os-sndpeek/index.html
答案 1 :(得分:1)
您可以使用Microsoft Speaker Recognition API执行此任务:https://www.microsoft.com/cognitive-services/en-us/speaker-recognition-api
Microsoft正在为此目的提供两个API:Speaker Verification&演讲者识别。
你可以找到他们的C#&这里的Python SDK:https://github.com/Microsoft/ProjectOxford-ClientSDK/tree/master/SpeakerRecognition
答案 2 :(得分:0)
看起来你正在试图解决扬声器二分化问题(找谁说话的时候);互联网上有很多可用的工具包。我可以推荐一个名为LIUM的(在Java上运行):http://www-lium.univ-lemans.fr/diarization/doku.php。
如果您只是想区分Alice和Bob,可以查看上面网站的Scripting页面中的性别检测部分(或直接转到此处http://www-lium.univ-lemans.fr/diarization/doku.php/gender_detection)。
答案 3 :(得分:0)
Microsoft Speech也具有用于演讲者差异化的SDK。 https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/how-to-use-conversation-transcription
它在C ++ / C#/ Java中可用,并且具有准备购买的专用硬件。