u-he UHM言語 学習09 Import
Importは同じフォルダにあるwav、uhmファイルを読み込んで、ブレンドなどをすることができる。 元ファイルをいじらず、何か加工を施したい場合に有効かもしれない。
blendを試す
ブレンドは3種類用意されている。
- replace:デフォルト 置き換え
- add:足し算
- multiply:掛け算
まずは既存uhmファイルから、特定フレームを抜き出して、置き換えを行ってみる。 uhmは9フレームで最初と最後の3フレームがコサイン波で、他は周期がフレーム数を掛けたもの。 ファイル名はimport.uhmとした。
NumFrames =9
Wave start=0 end=2 "cos(2 * pi * phase)"
Wave start=3 end=5 "cos(2 * pi * phase * frame)"
Wave start=6 end=8 "cos(2 * pi * phase)"
Export "myFile.wav"
Audacityに読み込んだ波形。9フレームの波形が確認できる。
取り込み側のuhmの中身はこんな感じ。サイン波だけで7フレームというもの。 Importコマンドを使って、既存uhmファイルの真ん中の3フレームだけを抜き出して、2~4フレームに置き換えるというもの。
NumFrames =7
Wave "sin(2 * pi * phase)"
Import start=2 end=4 from=3 "import.uhm"
実際どうなったか視覚的に確認するために、エキスポートしたwavファイルをAudacityで読み込んでみた。
ちゃんと置換わっているね。
既存uhmファイルを加工してみる
Importの現実的な使い方としては、基本波形のuhmファイルを用意しておいて、それを加工して使うというもの。 ここではノコギリ波のuhmと矩形波のuhmをImportして足し合わせ、lowpassフィルタをかけるスクリプトを組んでみた。
読み込まれるノコギリ波。saw.uhm
Spectrum lowest=1 highest=60 "1 / index"
読み込まれる矩形波。square.uhm
Spectrum lowest=1 highest=60 "select((index % 2 != 0), 1 / index, 0)"
読み込んで加工するuhm。
Import target=aux1 "saw.uhm"
Import target=aux2 "square.uhm"
Wave "aux1 + aux2"
Wave "lowpass(x,1-table, 0.5)"