8

我正在将 Microsoft Speech C# API 用于家庭自动化命令

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

编辑:

Microsoft Speech API 可以提供 .wav 的录音。它可能能够散列、处理……以了解谁在说话:

  • 响亮的声音,缓慢的调制,... => Bob
  • 高音,快速调制,... => Alice
4

4 回答 4

2

说话人识别是一个难题,仍然是一个活跃的研究领域。我不认为 Microsoft 语音 api 有任何说话人识别支持,但不是 100% 肯定。

在研究该主题时,我发现以下文章确实很有帮助。它介绍了主题,还提供了一个非常粗略的实现。可能是一个很好的起点。

http://www.ibm.com/developerworks/opensource/library/os-sndpeek/index.html

于 2012-08-04T10:34:04.953 回答
1

您可以使用 Microsoft Speaker Recognition API 来执行此任务:https ://www.microsoft.com/cognitive-services/en-us/speaker-recognition-api

Microsoft 为此提供了两个 API:说话者验证和说话者识别。

您可以在这里找到他们的 C# 和 Python SDK:https ://github.com/Microsoft/ProjectOxford-ClientSDK/tree/master/SpeakerRecognition

于 2016-04-27T09:52:56.887 回答
0

看起来您正在尝试解决说话人分类问题(找出谁在什么时候说话);互联网上有很多工具包可用。我可以推荐一个名为 LIUM 的(在 Java 上运行):http ://www-lium.univ-lemans.fr/diarization/doku.php 。

如果您只是对区分 Alice 和 Bob 感兴趣,您可以查看上面网站脚本页面中的性别检测部分(或直接访问此处http://www-lium.univ-lemans.fr/diarization/doku .php/gender_detection)。

于 2014-05-30T05:41:30.293 回答
0

Microsoft Speech 也有 SDK for Speaker Diarization。 https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/how-to-use-conversation-transcription

它有 C++/C#/Java 版本,并且有专门的硬件可供购买。

于 2020-05-27T22:38:32.840 回答