u-he UHM言語 学習05 Phase
頭文字が大文字のPhaseコマンドは位相を周波数領域においてコントロールする。 xに相当する小文字のphaseとは全く意味合いが違うので注意が必要。
サイン波を使った例
Spectrumを使った基音レベル1という式を元に、Phaseによる操作を確認する。
Spectrum lowest=1 highest=1 "1"
下が、同じサイン波の位相を180度回転したもの。lowest=0は基音を意味するので、基音だけをpiラジアン回転したことになる。
Spectrum lowest=1 highest=1 "1"
Phase lowest=0 highest=0 "1*pi"
さらに同じサイン波の位相を90度回転したもの。式では0.5*piラジアンとなる。 これでサイン波がコサイン波となる。
Spectrum lowest=1 highest=1 "1"
Phase lowest=0 highest=0 "0.5*pi"
フレーム対して位相操作
サイン波に対して、フレームごとに位相をずらして、全フレームで2*pi回転させることで、ループを作ってみた。
Spectrum lowest=1 highest=1 "1 / index"
Phase lowest=0 highest=0 "2*pi*table"
上記だと普通のサイン波と同じにしか聞こえないため、下のように何もしないサイン波と重ねてみる。 そうすると周期的に音が打ち消され、うなりが生じる。LFOに近く、周期はフレーム切り替わりスピードに依存する。
Spectrum target=aux1 lowest=1 highest=1 "1 / index"
Spectrum lowest=1 highest=1 "1 / index"
Phase lowest=0 highest=0 "2*pi*table"
Wave "aux1 + x"
下サウンドはフレームのスピードを上下させている。