こちらの記事で紹介した、
上記の物理的な回路ですが、
少し工夫を加えれば、
モーメンタリースイッチのタップでテンポ計測し、
テンポに合わせてLEDを点滅させることができます。
エフェクターでいうとタップテンポのディレイ等に応用できます。
※モーメンタリスイッチはクリック感の少ない、軽快に押せるものがオススメです。
深くしっかり押さないといけないタイプだと苦しいです。
※モーメンタリスイッチはクリック感の少ない、軽快に押せるものがオススメです。
深くしっかり押さないといけないタイプだと苦しいです。
タップテンポの計測方法はこちらのフォーラムを参考にしました。
Puredata側はこのようなパッチになっています。
一番左のフローは急造で作ったディレイ回路なのでスルーするとして、
ポイントは右側の[arduino]に繋がるフローです。
左上の[receive Tempo]から[arduino]に繋がるまでの回路は、
LEDをテンポに合わせて点滅させる回路です。
[metro]で点滅させますが、消灯処理が必要になるため、
[delay 10]
|
[digital 13 0(
で消灯させます。
また、[metro]の手前にBangボタンがあるのは、
テンポが変更した際にLED点滅の挙動がおかしくなるため、
テンポの数字が変更した際に合わせて[metro]をリセットするようBangしています。
[arduino]から下のフローはモーメンタリスイッチのタップでテンポを検出する回路です。
[change]の直後はタップする度に
押した瞬間:1
離した瞬間:0
を吐き出すため、
[moses 1]で1だけを抽出し[trigger b b]に送ります。
後のタップテンポの仕組みはPuredata Forumの通りです。
ここで得たテンポをそのままLED点滅の回路とディレイタイムの回路へ送れば完成です。
※まだ、[trigger]の使い方が自分はヘタクソです。理解が足りない、精進せねば。
0 件のコメント:
コメントを投稿