ios - 在 iOS 中同时管理文本转语音和语音识别

标签 ios speech-recognition text-to-speech voice-recognition

我希望我的 iOS 应用程序使用文本到语音转换来向用户朗读它从服务器接收到的一些信息,并且我还希望允许用户停止通过语音命令进行此类讲话。我已经尝试过适用于 iOS 的语音识别框架,例如 OpenEars,但我发现问题在于它正在监听和检测应用程序本身“说”的信息,并且它会干扰用户语音命令的识别。

有人在 iOS 中处理过这种情况并找到了解决方案吗?提前致谢

最佳答案

实现起来不是一件小事。不幸的是,iOS 和其他系统会记录通过扬声器播放的声音。您唯一的选择是使用耳机。在那种情况下,语音识别可以继续监听输入。在 Openears 中,TTS 期间识别被禁用,除非插入耳机。

如果您仍然想实现这个称为“打断”的功能,您必须执行以下操作:

  1. 存储您通过麦克风播放的音频
  2. 实现噪声消除算法,有效地从录音中删除音频。您可以使用互相关在录音中找到合适的偏移量,并使用频谱减法来移除音频。
  3. 识别剩余信号中的语音。

如果不对 openears 源进行重大修改,则不可能做到这一点。

相关问题是Android Speech Recognition while music is playing

关于ios - 在 iOS 中同时管理文本转语音和语音识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37066457/

相关文章:

ios - 从 RAM swift 中删除 View

signal-processing - 如何处理CNN中使用的音频频谱图的动态输入大小?

audio - RaspberryPi + Pocketsphinx + ps3eye 错误 : Failed to open audio device

ios - 将 Microsoft Project Oxford 语音识别从 Objective-C 转换为 SWIFT

java - 如何停止所有 VBS 文本转语音?

iphone - 如果应用程序变为非事件状态,NSUserDefaults是否保存对象?

ios - 如何阻止图像在 UIImageView 中拉伸(stretch)?

ios - 无法从 TableView 中删除单元格

text-to-speech - 是否可以控制 eSpeak 文本到语音的速度?

android - 使用哪种语音识别系统?