我正在构建一个Android应用程序,其中TTS(文本到语音)由语音命令控制。对于语音识别,我使用的是pocketphinx,当TTS不活动时(" start"命令),它可以正常工作。但是,当TTS处于活动状态时,识别的准确性会下降(例如,对于"停止"命令)。
我尝试使用AcousticEchoCanceler,但它似乎没有帮助。你能告诉我:
AEC是否应该从输入中过滤手机输出?它是不是运作良好,还是不应该这样做呢?
我还能尝试什么?
谢谢!
答案 0 :(得分:1)
我们在聊天中很快与您讨论了这个问题。
AEC是否应该从输入中过滤手机输出?情况是它不能很好地工作还是它不应该这样做?
不,AEC不会过滤TTS。它消除了回声 - 重复信号。
我还能尝试什么?
您可能希望首先将音频合成到文件中:
How to store text to speech output as WAV file?
然后播放它。当您知道播放的内容时,您可以通过以最佳延迟从录制的音频中减去它来从录制中过滤掉它。否则,这是一个非常复杂的问题。