2

我正在构建一个 android 应用程序,其中 TTS(文本到语音)由语音命令控制。对于语音识别,我使用的是 pocketsphinx,它在 TTS 未激活时工作正常(即“开始”命令)。但是,当 TTS 处于活动状态时(例如,对于“停止”命令),识别的准确性会下降。

我尝试使用 AcousticEchoCanceler,但似乎没有帮助。你能告诉我:

  1. AEC 是否应该从输入中过滤手机输出?是它不能很好地工作还是它不应该这样做?

  2. 我还要尝试什么?

谢谢!

4

1 回答 1

1

我们很快在聊天中与您讨论了这个问题。

AEC 是否应该从输入中过滤手机输出?是它不能很好地工作还是它不应该这样做?

不,AEC 不会过滤 TTS。它消除了回声 - 重复信号。

我还要尝试什么?

您可能希望先将音频合成到文件中:

如何将文本到语音输出存储为 WAV 文件?

然后播放它。当您知道播放的是什么时,您可以通过从具有最佳延迟的录制音频中减去它来从录制中过滤它。否则这是一个非常复杂的问题。

于 2014-08-21T08:25:15.240 回答