2018年07月06日

Open.Theremin@ランダムアルペジエーターの実装

昨日実装したMetroを使ったS&Hっぽい仕掛けを眺めていて、これはアルペジエーターに変身させられるのでは?と思いついたので、パターンを登録したデータアレイをロータリーエンコーダーで選択し、アレイをランダムに読み出す機能に改変した。

Screen Shot 2018-07-06 at 7.24.02.png

ランダム係数を音源の数だけ用意して、和音の再生を可能にしている。 ランダム音列(ややこしい)を読み出す場合も専用のランダム係数を用意してあるので、和音がランダムに展開する複雑な効果が得られる。

青色LEDをアサインした音列の選択を行うロータリーエンコーダーは18番目のパラメーターとして下側のノブに追加する。 インターフェイスは試験運用の経験から、デフォルトで水色の波形選択、一つ進めて紫色のtransition設定、一つ戻して青色の音列選択、更に一つ戻してMetroのRate設定といった風に、使用頻度の高いパラメーター群が近接するように仕様を小変更している。

ランダム機能はRateControlの最小値辺りで順送り/逆順送りを切り替えられるよう条件分岐を仕込むと、更に使い勝手が良くなりそうだ。 アップ&ダウンモードのアサインが難しいが、最小値近辺に3ポイントだけ機能を追加するのが正解か、、、。



とか言ってるウチに速攻で作ってしまった。 利便性を考慮して、専用のアルペジオパターンの切り替えノブ(赤)を準備した。 切り替えノブは、0〜3のアドレスを循環して出力する。

まず、アドレス"0"にアサインされているのは、トリガー毎に順送りで0〜6を出力する関数で、

WS001345.JPG

この出力を使って、pitchTableに記録した音列を順番に参照する。

次のアドレス"1"には出力が0〜6を昇り降りする関数がアサインされている。

WS001344.JPG

出力のオーバーフロー時に正負の符号を反転させて、昇降順を切り替えている。

アドレス"2"には"0"とは逆の減算方向にデータが変化する関数を配置した。

WS001346.JPG

そしてアドレス"3"は先に説明した「擬似ランダム値」を発生させる関数が割り振られている。
posted by Yasuski at 08:03| open.Theremin