Top

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

任意のフレームをコピーするMoveコマンド。はじめコピーなので簡単だと思ったら、ちょっと迷った。 多分ドキュメントの例とuhmの内部が一致していない。 現状、下の例にあるsourceは機能していないようだ。そもそもコマンドオプションとして書かれていない。

// Multiply 101 frames of buffer Aux2 with the same frames from Aux1
Move source=aux1 target=aux2 Blend=multiply start=0 end=100

こうなるとコピー元とペースト先の関係が分かりにくく、複数の選択肢がある場合、明確にならないので厄介。 main、aux1、aux2の3つのバッファを使って、どう振る舞うか検証してみた。以下がその結果。

start デフォルト0

コピー元の開始フレーム。おそらくmainが自動的に選択される。

end 必須!

コピー元の終了フレーム。コピーするフレーム数が決まる。これも当然main。

to 必須!

ペースト先の開始フレーム。main、aux1、aux2が可能。フレーム数は上記のendで決定される。

blend

target

ペースト先のバッファを選択する。

以下のスクリプトでいろいろ検証してみた。

NumFrames =4
Wave target=main start=0 end=3 "round(sin(2*frame*pi*phase))"
Wave target=aux1 start=0 end=3 "cos(2 * pi * phase)"
Wave target=aux2 start=0 end=3 "sin(2 * pi * phase)"
Move target=aux2 start=1 end=2  to=1 blend=replace 
Wave "aux2"
u-he uhm

結論的にはmainが常時コピー元で、main、aux1、aux2へペーストするという使い方になりそう。 aux1、aux2をコピー元にはできなさそう。

ちゃんとした使い方が分かれば追記していきたいと思う。

uhm言語