ねえ、ボイス チェンジャー アプリのオーディオ ファイルを変更する必要があります。ロボットやエイリアンのような効果が必要です。したがって、リング変調器http://en.wikipedia.org/wiki/Ring_modulationを実装する必要があります
それを実装する方法はありますか?それとも、別の簡単な提案がありますか? ファイルのピッチ、テンポ、エコーを変更できます。
ご協力いただきありがとうございます
原則として、リングモジュレータは入力信号に低周波正弦波などの搬送波を乗算するだけです。
f - input signal
g - carrier
h - output
h[i] = f[i] * g[i], for all i
MSalters が示唆するように、h
は単に と の内積でf
ありg
、C++ 関数を使用すると、自分で計算するよりも高速になる場合があります。
ただし、私たちが聞き慣れているリングモジュレーターはアナログリングモジュレーターであり、デジタルリングモジュレーターよりもはるかに多くの歪みをもたらします。デジタル ドメインでアナログ リング変調器をエミュレートする場合は、ここで説明するよりもはるかに多くの作業を行う必要があります。ただし、javascript で記述されたサンプル コードと優れた論文への参照を備えた優れたリファレンスがここにあります。
http://webaudio.prototyping.bbc.co.uk/ring-modulator/
邪悪なダレクのサウンドエフェクトが必要な場合は、それが最適です。単純なデジタル方式が音声の「ロボタイザー」としてどのように比較されるかは頭の中でわかりませんが、特にダーレクをエミュレートしようとしないのであれば、どちらも問題ないと思います.
もちろん、声を「ロボット化」する方法は他にもたくさんありますが、リング モジュレーターはかなり古典的なものです。もう 1 つの「古典的な」ものはチャネル vocoderですが、正しく実装するのははるかに複雑です。
C++ には、そのための標準関数がありますstd::inner_product
。入力信号と正弦波を入力するだけです。