我正在创建一个语音机器人使用谷歌语音流API和谷歌文本到语音。我只希望用户的语音被转录,即使用户“中断”了voicebot的响应。如何避免voicebot转录自己的声音?
根据我对Siri等现有语音机器人的测试,当使用扬声器时,“过滤”某些声音的能力似乎是可行的。
谢谢
发布于 2019-08-01 08:31:44
虽然Google Speech API没有这种开箱即用的功能,但您可以尝试一些众所周知的算法。音频波是相加的,因此从音频流本身减去音频流等于零(静默)。考虑到这一点,并为您的voicebot音频输出提供单独的流,一种方法是从用户的输入语音中减去voicebot的语音。如果您无法访问这两个音频流或无法将它们分开,另一种方法是应用speaker diarisation从一个音频源中提取两个语音源。
请注意,如果对两个流进行简单的减法,可能达不到预期的效果,因为减法也会衰减音频。相反,您需要反转减去的流,并将其与从中减去的流进行。
https://stackoverflow.com/questions/54900973
复制相似问题