在 iOS 中同时管理文本到语音和语音识别

Posted

技术标签:

【中文标题】在 iOS 中同时管理文本到语音和语音识别【英文标题】:Managing text-to-speech and speech recognition at same time in iOS 【发布时间】:2016-05-06 07:14:44 【问题描述】:

我希望我的ios 应用程序使用文本转语音向用户读取它从服务器接收的一些信息,并且我还希望允许用户通过语音停止此类语音命令。我已经尝试过像OpenEars 这样的iOS 语音识别框架,我发现问题在于它正在侦听和检测应用程序本身“说”的信息,并且它干扰了用户语音命令的识别。

有人在iOS 中处理过这种情况并找到了解决方案吗?在此先感谢

【问题讨论】:

您可以使用AVSpeechSynthesizer 进行文字转语音:developer.apple.com/library/ios/documentation/AVFoundation/… @RichardG 比你,我已经在使用它了,我只是在语音识别部分使用第三方框架,无论如何我都面临我描述的问题...... @AppsDev - 如果您找到任何解决方案,请考虑分享 【参考方案1】:

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

如果你仍然想实现这个被称为“介入”的功能,你必须做以下事情:

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

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

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

【讨论】:

以上是关于在 iOS 中同时管理文本到语音和语音识别的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 中使用语音识别后,文本输入会触发啥事件?

文本到语音(语音生成)和语音到文本(语音识别)API?

在 Python 中使用 win32com.client 文本到语音/语音识别

语音识别技术的环节是啥

有没有办法将语音中的“文本”保存为文本离子语音识别

iOS中 语音识别功能/语音转文字教程具体解释 韩俊强的博客