【问题标题】:Voice matching in Android [closed]Android中的语音匹配[关闭]
【发布时间】:2014-04-21 23:52:20
【问题描述】:

有什么方法可以在 Android 中进行语音匹配?以下面的场景为例。

  1. 用户“A”在应用中说话并通过应用将其记录在手机中。
  2. 用户“B”在应用中说话并通过应用将其记录在手机中。
  3. 用户“C”在应用中说话并通过应用将其记录在手机中。
  4. 完成所有这些录音后,用户“A”来与应用程序对话。由于他的声音已被录制,因此应用会识别出这是用户“A”。

或者其他类似的东西..

  1. 用户“A”在应用中说出“房子”这个词,并通过应用将其记录在手机中。
  2. 用户“B”在应用中说出“房子”这个词,并通过应用将其记录在手机中。
  3. 用户“C”在应用中说出“房子”这个词,并通过应用将其记录在手机中。
  4. 完成所有这些录音后,用户“A”来向应用程序说出“House”一词。由于他的声音已被录制,因此应用会识别出这是用户“A”。

这在 Android 中是否可行?哪种方法可行?我还没有看到任何内置库,但是有什么办法吗?

【问题讨论】:

标签: java android eclipse voice-recognition voice


【解决方案1】:

您可能需要检查在 Java 中进行文本独立说话人识别的 Recognito

这是一个在 Apache 2.0 下许可的 FOSS 库

https://github.com/amaurycrickx/recognito

免责声明:我是作者 :-)

对于文件处理,它对 Oracle 的 javax.sound 有轻微的依赖,但从 Recognito 主类中删除这种依赖应该很简单(有一些方法可以丢弃:在 params 中查找“file”并点击 del)

我不知道有任何其他 FOSS 替代品无需修改即可兼容 Android

有很多javadoc,代码应该很简单。

您会想知道的一件事是如何创建值介于 -1.0 和 1.0 之间的 double[] 首先,您可能需要查看 FileHelper 类,它使用 16 位 PCM 编码文件完成此操作。

请注意,单个单词不足以提取良好的声纹并随后识别用户

对于这个过程,我会说使用重复 3 次的短语来构建平均声纹。在识别时使用相同的短语。

该库与文本无关,但如果您需要保持录音简短,使用相同的短语会有所帮助。如果您希望它真正独立于文本(用户说出任何话并被识别),您将需要更长的声音样本。

HTH

【讨论】:

  • 您能帮帮我吗,我希望在我的 Android Studio 项目中使用 Recognito,但我无法将此库添加到我的项目中。
  • @amaurycrickx:难道我们不应该在服务器上实现“Recongnito”,然后将从手机收集的语音文件发送到服务器进行身份验证???
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-16
  • 2011-06-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多