Top

あちゃぴーの自転車通勤
u-he UHM言語 学習09 Import

Importは同じフォルダにあるwav、uhmファイルを読み込んで、ブレンドなどをすることができる。 元ファイルをいじらず、何か加工を施したい場合に有効かもしれない。

blendを試す

ブレンドは3種類用意されている。

まずは既存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フレームの波形が確認できる。

u-he uhm

取り込み側の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で読み込んでみた。

u-he uhm

ちゃんと置換わっているね。

既存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)"
u-he uhm
uhm言語