如何使用Microsoft Speech从语音模式识别扬声器?

时间:2012-08-03 12:52:04

标签: c# speech

我正在使用Microsoft Speech C#API进行家庭自动化命令

我想知道是否有一种方法或内置的C#方法来散列语音输入并识别谁在说话。如果是Alice或Bob说“Hello Alice”或“Hello Bob”。

编辑:

Microsoft Speech API可以提供录制的.wav。它可能能够哈希,处理,......以了解谁在说话:

  • 响亮的声音,缓慢的调制,...... =>鲍勃
  • 高语音,快速调制,... =>爱丽丝

4 个答案:

答案 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中可用,并且具有准备购买的专用硬件。