我的目标是在 Skype 通话中使用合成语音。这可以用于以下场景:同时参加两个会议(一个本地会议,一个远程会议),并且无法大声说话(在本地会议中)。
我目前的尝试是使用 PulseAudio Volume Control (pavucontrol) 将某些耳机的监听音频设置为 Skype 的输入,PulseAudio Volume Control 将其识别为录音程序。然后我可以使用 Festival 来合成合成语音。这确实有效,但远程会议中产生的声音会立即循环回我,进入耳机的监听音频流,然后作为输入返回到 Skype!所以,这是一个回声问题。
我需要更直接的方法。我怎样才能将合成语音的音频直接输入到 Skype 中?
答案1
我尝试了一下,我想我找到了一个方案。这个想法是让一个文本转语音程序在虚拟声音输出上输出,然后让 skype 使用该输出的显示器作为其输入。
这是我所做的:
加载虚拟声卡驱动程序
sudo modprobe snd-dummy
声音设置中应出现虚拟输出和输入
安装一个文本转语音程序——我用的是 festival。测试一下。
festival --tts
hello world
<hit Ctrl-D>
打开 pulseaudio 控制中心(如果需要,请安装)。让 festival 阅读一些长文:
cat /var/log/dmesg | festival --tts
在 pulseaudio 控制中,将“播放”选项卡上的 festival 输出源更改为虚拟卡。同时将 skype 的输入更改为“虚拟输出监视器”。
然后你就大功告成了!要在会议上发言,请使用
festival --tts
<test goes here>
<ctrl-d>