Publish 2018.02.21
前回に引き続いてTCRT5000を弄ってます。
値は簡単に取れそうだったので、MIDI信号を送るコードを書いてみました。
ピエゾとTCRT5000のみを繋いだテスト回路を組んで音を鳴らしてみました。
配線以下のように。
奥のラズパイの箱ですが、センサーに物を近づけすぎると値が飛んじゃうので隙間をあけてます。
実際の動きはこんな感じです。結構簡単にできました。
コードの細かい修正は必要ですが、ハードの設計に入れそうです。
コードですが、こんな感じになってます。
ピエゾのピークキャッチ部分が長くて分かりづらいですが、TCRT5000に関するコードはほんの数行です。
113行目以降がTCRT5000に関する部分です。
基本的には、近づいたらペダルの音を鳴らして、ピエゾが叩かれたらクローズの音を、離れた状態でピエゾが叩かれたらオープンの音を出すようにしてるだけです。
動画から分かるように、ペダルの音はベロシティ100で固定です。可変に出来ると思いますが難しそうです。センサーに物が近づく速度をベロシティに適応させればいいのかな?
136行目の
MIDI.sendControlChange(4, TCRT, 1);
は、MIDIのコントロールチェンジ(CC)ってやつです。電子ドラムではどのメーカーもCCの4番をハイハットペダルに使っています。
CCについて詳しくはこちらを。
簡単に言うと、ハイハットの開き具合もベロシティと同様に127段階で送信することができます。当たり前ですが127段階分の音源をそれぞれ用意すると物凄い容量になります。映像からもわかるようにEZdrummer2では4段階ぐらいです。
今まではオープンクローズのみだったので大進化ですね。
ただこのTCRT5000はRolandやYAMAHAの製品で使われていないので、もちろん互換性はありません。
さて、回路もコードもいい感じなのでハードを作っていこうと思います。