我正在构建一个android应用程序,其中TTS(文本到语音)由语音命令控制。对于语音识别,我使用的是pocketsphinx,当TTS不活跃(即"开始"命令)时,它可以正常工作。然而,当TTS处于活动状态时(例如"stop"命令),识别的准确性会下降。
我试过使用AcousticEchoCanceler,但似乎没有帮助。你能告诉我吗?
-
AEC应该从输入中过滤电话输出吗?是它不能很好地工作还是它不应该这样做?
-
我还应该尝试什么?
谢谢!
我们很快在聊天中与你讨论了这个问题。
AEC应该从输入中过滤电话输出吗?是它不能很好地工作还是它不应该这样做?
不,AEC不会过滤TTS。它消除了重复回波信号。
我还应该尝试什么?
你可能想先合成音频到一个文件:
如何将文本存储到语音输出为WAV文件?
然后播放。当你知道播放的是什么,你可以通过从录制的音频中减去最佳延迟来过滤它。否则,这是一个非常复杂的问题。