我希望使用SoX库将我的声音转换为机器人声音(例如星际游戏的歌声)。
我在网上发现了以下机器人语音序列, 但它并没有让机器人发出声音。
Overdrive 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
制作机器人声音需要哪些效果? 你能告诉我一系列的影响和选择吗?
提前致谢。
答案 0 :(得分:4)
要实现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
我对“星际迷航”一无所知,所以我不能说它是否适合这方面的法案,但它会产生一种薄薄的金属色,明显是外星人的声音。
我还试着重新演绎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
say
命令当然只能在OSX中运行,但可能还有其他的,希望更好的解决方案。所有的苹果声都有很重的美国口音,从Dalek来的时候听起来并不合适。
stretch
选项故意严格执行,特别是133ms的窗口长度具有非常好的效果。 Overdrive
给出了很多很好的非线性失真。我read实际上Dalek语音是通过使用30Hz载波音调的Moogerfooger环形调制器创建的,而这基本上是我用synth sine fmod 30
选项做的事情。 。最重要的是,增加了一些适度短的回声,只是为了充实它。
修改强>
我发现环调制是由VCS 3而不是Moogerfooger完成的,至少在早期是这样。 30Hz载波由预先录制的磁带回路提供
BBC Radiophonic Workshop
此外,SoX中的数字实现比使用二极管失真的模拟实现更清晰。上述代码中的预调制过驱动可以通过某种方式来解决这个问题,但是为了获得更真实的效果,可以使用数字模型,如Julian Parker创建的数字模型。