浮動小数点信号に奇数または偶数の高調波を追加するにはどうすればよいですか?
tanhまたはsinを使用する必要がありますか?
私がやろうとしていることは、いくつかの非常に単純な歪み効果を達成することですが、正確な参照を見つけるのに苦労しています。私が望んでいるのは、五極管と三極管の設定に奇数と偶数の倍音を追加することで、Culture Vultureが行うことと似ています。フロート値は、サンプルフロー内の単一のサンプルです。
浮動小数点信号に奇数または偶数の高調波を追加するにはどうすればよいですか?
tanhまたはsinを使用する必要がありますか?
私がやろうとしていることは、いくつかの非常に単純な歪み効果を達成することですが、正確な参照を見つけるのに苦労しています。私が望んでいるのは、五極管と三極管の設定に奇数と偶数の倍音を追加することで、Culture Vultureが行うことと似ています。フロート値は、サンプルフロー内の単一のサンプルです。
回答:
歪みボックスが行うことは、信号に非線形伝達関数を適用することです:output = function(input)
またはy = f(x)
。個々の入力サンプルに同じ関数を適用して、対応する出力サンプルを取得するだけです。
入力信号が正弦波の場合、高調波歪みと呼ばれる特定の種類の歪みが生成されます。歪みによって作成される新しいトーンはすべて、入力信号の完全な高調波です。
そのため、奇数の高調波を追加する場合は、次のような奇数対称の伝達関数を介して信号を入力します y = tanh(x)
またはのy = x^3
。
偶数次の高調波のみを追加する場合は、対称関数にアイデンティティ関数を加えた伝達関数に信号を通し、元の基本波を維持します。y = x + x^4
またはのようなものy = x + abs(x)
。のx +
は、本来は破壊されるはずの基本x^4
波を保持しますが、偶数対称であり、偶数高調波のみを生成します(DCを含みます。DCは、後でハイパスフィルターで除去する可能性があります)。
対称性:
偶数対称の伝達関数:
元の信号は灰色で、歪んだ信号は青で、歪んだ信号のスペクトルは偶数の高調波のみを表示し、基本波は表示しません。
奇数対称性:
奇数対称の伝達関数:
元の信号は灰色で、歪んだ信号は青で、歪んだ信号のスペクトルは基本波を含む奇数次の高調波のみを示しています。
偶数対称+基本:
偶数対称性をもつ伝達関数と恒等関数:
元の信号は灰色で、歪んだ信号は青で、歪んだ信号のスペクトルは高調波と基本波を示しています。
これは、歪みボックスが「奇数倍音を追加する」と言うとき、人々が話していることですが、実際には正確ではありません。問題は、高調波歪みが正弦波入力に対してのみ存在することです。ほとんどの人は正弦波ではなく楽器を演奏するため、入力信号には複数の正弦波成分が含まれています。その場合、高調波歪みではなく相互変調歪みが発生し、奇数および偶数の高調波に関するこれらの規則は適用されなくなります。たとえば、次の信号に全波整流器(対称)を適用します。
そのため、出力スペクトルは、歪みデバイスではなく入力信号に強く依存し、誰かが「アンプ/エフェクトがより音楽的な偶数次の高調波を生成する」と言うときはいつでも、それを一粒で取る必要があります。
(偶数倍音の音は奇数倍音だけの音よりも「音楽的」であるという主張にはある程度の真実がありますが、これらのスペクトルは上記で説明したように実際には生成されておらず、この主張は以下の文脈でのみ有効ですとにかく西洋の音階。奇数倍音(方形波、クラリネットなど)は、、2:1オクターブではなく3:1の比率に基づいボーレン-ピアスの音階でます。
覚えておくべきもう1つのことは、デジタルの非線形プロセスがエイリアシングを引き起こす可能性があることです。参照帯域制限された非線形歪みのようなものはありますか?
あなたが達成しようとしているものは、歪みと呼ばれます。この手法は、特定の信号にいくつかの高調波を追加するときに使用します。これを行うには、基本的に2つの方法があります。波形整形とリング変調です。最初に説明します。
波形整形により、特別に選択された機能を使用して歪みを作成できます。有用な方法の1つは、チェビシェフ多項式です。それらは、単位振幅の高調波信号(たとえば、正弦波)をファイリングするときに非常に重要な特性を持っているため、同じ信号を得ることができます。周波数乗数は、多項式の次数に依存します。すべての多項式は次のようになります。
この場合、各要素がハーモニカを生成し、それらがすべて加算されます。各メンバーのビューは、次の繰り返し関係によって決定されます。
ご想像のとおり、2番目の項-最初の高調波、3番目の項-2番目など。
チェビシェフ多項式のもう1つの特徴は、それらを介して振幅が単位よりも小さい信号を与える場合、出力は高調波を含む飽和度の低い音になります。これにより、オーバードライブ効果を作成できます。