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
发出机器人声音需要什么效果?你能告诉我一系列的效果和选择吗?
提前致谢。
要实现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)创建的模型。