u-he UHM言語 学習07 フィルタ
lowpassフィルタ
ローパスフィルタ(LPF)はカットオフ周波数以下を通すというフィルタ。高域成分を削るもっともベーシックなフィルタ。 uhmの特殊な点としては、通常の周波数を固定するLPFと違って相対的だということ。 書き方は以下のようになっている。
lowpass(x, cutoff, resonance)
- cutoff(0~1):1だと最大値でカットされない状態。最小は0.01ぐらいが適当のようだ。 これ以上小さくしても違いはほとんど感じられない。
- resonance(0~1):カットオフ周波数のピーク設定。0はピークなし。 1以上でも問題なさそうだが、ノイズが出てくる。使い方によってはありかも。
下記はノコギリ波にLPFを適用したスクリプト
Spectrum lowest=1 highest=1023 "1 / index"
Wave "lowpass(x, 0.1, 0.5)"
下はアナログシンセ的な使い方で、同じくノコギリ波に対してノートオンからフレームごとにカットオフを下げていくセッティング。
Spectrum lowest=1 highest=1023 "1 / index"
Wave "lowpass(x, 1-table, 0.5)"
周波数スペクトルで見ると、カットオフ(ピーク)の移り変わりがよく分かる。
highpassフィルタ
LPFの逆でカットオフ周波数以上を通すというフィルタ。設定などは全く同じ。
highpass(x, cutoff, resonance)
下記はノコギリ波にLPFを適用したスクリプト
Spectrum lowest=1 highest=1023 "1 / index"
Wave "highpass(x, 1-table, 0.5)"
bandpassフィルタ
これはカットオフ周波数周辺を通すというフィルタ。
bandpass(x, cutoff, resonance)
試してみるとcutoffが0だと基音、0.1だと2倍音、0.2だと4倍音、0.3だと7倍音、0.4だと12倍音という感じで上がっていく。resonanceに関しては1以上でもよいと思えた。
Spectrum lowest=1 highest=1023 "1 / index"
Wave "bandpass(x, 1-table, 2)"