如何使用SoX库制作机器人或Dalek语音?

jon*_*hul 3 audio voice synthesizer sox

我想使用SoX库将语音转换为机器人语音(例如,星际争霸游戏的歌利亚语音)。

我在网络上找到了机器人语音的以下顺序,但并没有产生机器人语音。

过载10回波0.8 0.8 5 0.7回波0.8 0.7 6 0.7回波0.8 0.7 10 0.7回波0.8 0.7 12 0.7回波0.8 0.88 12 0.7回波0.8 0.88 30 0.7回波0.6 0.6 60 0.7

发出机器人声音需要什么效果?你能告诉我一系列的效果和选择吗?

提前致谢。

Aks*_*elA 5

要实现OP找到的设置,您需要做的就是这样键入:

play INPUTFILE overdrive 10 echo 0.8 0.8 5 0.7 \
echo 0.8 0.7 6 0.7 echo 0.8 0.7 10 0.7 echo 0.8 0.7 12 0.7 \
echo 0.8 0.88 12 0.7 echo 0.8 0.88 30 0.7 echo 0.6 0.6 60 0.7
Run Code Online (Sandbox Code Playgroud)

我对《星际迷航》一无所知,所以我不能说它是否适合这方面的要求,但它会发出金属般的,清晰的外星人声音。

我还尝试了一些尝试,以重现Dalek的声音(是的,我知道,不是真正的机器人,而是什么声音!)。正如luator指出的那样,要获得适当的机械声音,您将使用一些文本转语音软件,因此我也实现了这一点:

say -v Albert -o exterminate.aiff --data-format=BEI16@44100 \
exterminate, exterminate, exterminate!

play exterminate.aiff stretch 1.2 133.33 lin 0.2 0.4 \
overdrive 30 30 echo 0.4 0.8 15 0.8 \
synth sine fmod 30 echo 0.8 0.8 29 0.8
Run Code Online (Sandbox Code Playgroud)

say命令当然只能在OSX中使用,但是可能还有其他的,希望有更好的解决方案。苹果公司的所有声音都带有浓重的美国口音,只是从达莱克传来的声音听起来不正确。

stretch选项故意实施得不好,尤其是133ms的窗口长度效果非常好。Overdrive产生了很多不错的非线性失真。我读到,实际上Dalek语音是通过使用Moogerfooger环形调制器创建的,该调制器使用30Hz载波音,这基本上就是我使用该synth sine fmod 30选件所做的。最重要的是,添加了一些适度的短回波,只是为了使其更加充实。

编辑:
我发现,至少在早期,环形调制是由VCS 3而非Moogerfooger完成的。30Hz载波由预先录制的磁带环提供。
英国广播公司无线电研讨会

而且,SoX中的数字实现比带二极管失真的模拟实现要干净得多。上面代码中的预调制超速传动可以解决此问题,但是为了获得更真实的效果,可以使用数字模型,例如朱利安·帕克Julian Parker)创建的模型。