6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GENEROSITYAdvent Calendar 2024

Day 22

【ビギナーが始める】TouchDesigner入門 番外編[MIDIコントローラー連携]

Last updated at Posted at 2024-12-21

前置き

僕自身は、プログラミングのプの字も齧れていない開発ド素人。
最近、開発チームに正式アサインが決まり、自分の武器を作る為、TouchDesigner知識会得に果敢にも挑戦します。
コードを書く必要がなく、直感的にプログラミングができるツールということなので、我流で調べつつ学びつつの記録という事でまとめていければと思います。

使用機材

今回は会社の機材BOXに埃をかぶっていた、STARRYPADのDONNERというMIDIのPADを使用して、
touchdesignerの操作ができるようにしたいと思います。

IMG_2135.jpg

機材URL:https://jp.donnermusic.com/products/donner-dpd-16-starrypad

作成物

コントローラーを使って簡単なカウントシステムを作成しようと思います。

touchdesignerの設定

始めに、新規でプロジェクトを作成後に、上部のツールバーからMIDIコントローラーの設定を行う必要があります。
[Daialogs]→[Midi Device Mapper]を広くと、コントローラーが認識されているか確認できます。
スクリーンショット 2024-12-19 11.20.05.png
スクリーンショット 2024-12-19 11.20.42.png
※ここで注意点があり、touchdesignerのソフトを立ち上げる前に、PCにコントローラーを接続しておいてください。立ち上がっている後で接続するとソフトがコントローラーを認識しないことがあります。

今回はボタンの入力で使用するので、In Deviceの箇所にSTARRYPADが来ていれば正解(のはず)。

OutやMapもあるので、音楽制作などしている方は、MIDI鍵盤やオーディオインターフェースなどにOutする設定も活用して、アンプやスピーカー、モニタなどへの出力も出来そうです。

プログラム組上①(MIDI部分)

MIDIコントローラーの接続はできたので、
CHOPの[MIDI IN]を作成します。
スクリーンショット 2024-12-19 12.23.11.png
スクリーンショット 2024-12-19 12.24.28.png
ここで、実機のボタンを押していくとアサインされているボタンがどんどん増えていきます。
今回ボタンとして使いたいのは2つだけにするので、4x4あるパッドのうちの左上2つ(PAD13と14)にします。
IMG_2135のコピー.jpg

PAD13と14をそれぞれ押してみると、
・PAD13→0ch10n49(ボタン押すと1ch10n49)
・PAD14→0ch10n50(ボタン押すと1ch10n50)
のパラメーターが変化します。
名称未設定のコピー___.gif

2つのボタンの入力を[select]のCHOPで分けて認識させます。
スクリーンショット 2024-12-19 12.46.38.png

プログラム組上②(カウントシステム部分)

UI上でカウントのボタンを設置して、+ーできる仕様にします。
[Count]のCHOPを設置。[Count]のCHOPをボタンで、反応させたいので、[button]のCOMPを[Count]CHOPに繋ぎます。
さらに、任意の数値で増加していくようにしたいので、[Constant]のCHOPも[Count]CHOPに繋いで、[Constant]の数値設定を100にします。
こうすることで、[button]のCOMPを押すごとに+100増えていく仕様に設定できます。
スクリーンショット 2024-12-19 13.27.15.png
スクリーンショット 2024-12-19 13.27.23.png

-100のボタンなども同じ要領で作成しました。

並べたものがコチラ↓↓
画面収録-2024-12-19-14.11.54.gif

最終的には、カウンターとして+ーが作用するようにしたいので、
2つ作成した[Count]CHOPを[math]のCHOPに繋ぎます。
これで、計算された結果に表示させることができます。
最終的に確認しやすくするために、[text]のTOPで数値を表示する繋ぎに整理してみました。
画面収録-2024-12-19-14.23.52.gif

①と②のプログラムを繋ぎます

MIDIのボタンとカウンターのプログラムは完成したので、
この2つをリンクさせる設定を組みます。

色々やり方はあるようですが、今回は①のMIDIコントローラーのボタンが押されたら、②に設置してある[button]のCOMPがリンクして押されるという仕組みを[CHOP Execute]のDATにコードを書いてやってみたいと思います。
(コードってどう書くんだ、、、)

弊社にいるtouchdesignerユーザーの先輩にお伺いしたところ、
touchdesignerでコードを書くときはPythonを使用との事。
コードの内容は調べてコピペで、任意の箇所だけ書き換えればいいらしい。
printを使って、[MIDI IN]が動いた時に、[button1]が押されると書くと、こんな感じ。
スクリーンショット 2024-12-19 14.34.56.png

同じものを[button2]の分も作成。
コピー作成して、Button1の数値をButton2
CHOPの指定値とchannel値を変更。
スクリーンショット 2024-12-19 14.43.36.png

これで、MIDIコントローラーのみで、カウントを制御できるようになる。

今回の成果物

100pointカウンター(今命名しました)

12345678.gif

IMG_C91B0C0AB0C9-1.jpeg

まとめ

MIDIの機材はたくさんあるので、組み合わせ次第でいろんなものが作れそうですね。
SE音源と組み合わせたり、映像データ合わせてみたりも出来そうです。
個人的に次は、別のDAWソフトとかと連携してプログラムできるのか挑戦してみたいですね。
(operatorでAbleton linkってCHOPもあるようなので)

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?