Trellis で beat machine をつくる(完成編)

最終更新日

Trellisの制御 とControlPanelができた。

Trellis で beat machine をつくる(Trellis Setup編)

Trellis で beat machine をつくる(Trellis Setup編)

2022.02.23

Trellis で beat machine をつくる(ControlPanel編)

Trellis で beat machine をつくる(ControlPanel編)

2022.02.26

midi 制御も過去にやった。

RPi Pico でMIDIキーボード

RPi Pico でMIDIキーボード

2021.05.31

全部組み合わせて高機能なメトロノーム、beat machine もどきをつくる。

配線

  • sda … GP0
  • scl …GP1
  • play_btn_pin … GP2
  • sel_btn_pin …GP4(BPM変更)

I2Cのアドレスは、以下の通り。

  • 0x70 … 8×8 3色LED Matrix
  • 0x77, 0x72, 0x73, 0x71 … Trellis

プログラム

ControlPanel のinstall

前回つくった ControlPanelを利用する。
実際には、 control_panel.py をRPi Pico の CIRCUITPY Volumeのlibフォルダに copyしておく。

downloadして、Macならこんな感じでcopy。

cp control_panel.py /Volume/CIRCUITPY/lib

制御

  1. 初期化
    • MIDI 初期化
    • I2C 初期化
    • Trellis 初期化
    • ControlPanel 初期化
    • 8×8 3色Matrix に初期BPMの数値を表示
  2. 主制御 … BPMの1拍を1/8づつ刻んで、そのタイミングで操作や表示処理を実行
    • 現在時刻を取得
    • ControlPanel操作を検知
      • play event なら演奏開始
      • stop event なら演奏停止
      • sel event ならBPMの数値を変更(50,55,60,100,110,120 をloop)
    • 1拍の1/8毎に、Trellis ON/OFF を検知して、MIDI データを送信

souce code

demo

GarageBandのPianoRoll もこの通り。そこそこ正確なリズムになってる。

エンクロージャー

とりあえず、つくったけど、ControlPanel を収容するところまでそのうちに。


シェアする