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

最終更新日

Metronome が欲しい。

FingerDrum をつくる(su120編)

FingerDrum をつくる(su120編)

2022.02.12

FingerDrum をつくる(MIDI編)

FingerDrum をつくる(MIDI編)

2022.02.12

FingerDrumをつくって練習中。

もちろん、へたくそなのはしょうがない。
ただ、GarageBandで録画してタイミングを調べると、だんだんずれる。どんどん速くる。(走るというらしい)
これを直すためには、いい Metronome がいいじゃないかと、探したけど、しっくりこない。

GarageBandはクリック音が好みじゃない。というか、聞こえにくく、焦れば焦るほどクリック音をロストする。

iPad や iPhone で無料のものはあるけど、しっくりこない。

ググってみると、GarageBandではクリック音を変更できないので、好きな音でMetronome代わりのMIDIデータを打ち込めばいいとある。

それもなあ、と自作してみる。

それって beat machine

視覚的にリズムを設定したいなら、いわゆるbeat machine をつくればいいはず。
以前に購入Trellis(8×8) でやってみる。

こんな感じでボタンを押してlight on/off を切り換え、onのボタンの位置でMIDI にデータを送るようにしよう。

例えば、バスドラムの行(8番目)、左から1番目のみ点灯すると、

  • 100BPM = 1分間に100回
  • 4/4拍子
1拍の時間
= 60秒/100回 = 0.6秒

4分音符となり、タン・タン・タン・タン と、0.6秒毎にバスドラムが鳴る。

バスドラムの行(8番目)、左から1番目と4番目を点灯すると、

8分音符となり、タンタンタンタン と、0.3秒毎にバスドラムが鳴る。

1個おきで、16音符。全灯で32音符となるが、0.075秒毎さすがに聞き取れないし、再生のリズムが安定しない。たぶん、MIDIデータの送信に時間がかかりすぎて、うまくタイミングがとれない。

実際には、弾きたい曲の半分のBPMで、最短16分音符の2拍節分の演奏をするのがいいかも。

Trellis のsetup

砲丸型のLEDをハンダ付け

8x8x4= 64個 のLEDをひたすらハンダ付けする。

今回は、4色を4×4のパーツ毎に設定。
制御はI2Cなので楽ちんだけど、ハンダ付けつらい。

あと、安物のLEDのせいか同色16個でも明るさがまちまち。
あまりに暗いモノは、ましなやつに取り替えた。

パーツ4個を繋げる

各パーツのSDA,SCL,GND,VCC,INTをそれぞれ2箇所ハンダで繋げる。

4個がI2C上、それぞれ別のアドレスになるように、A0,A1,A2 のジャンパーをショートする。

A0=1 , A1=2 , A2=4 というなんとも2進数的な設定で、例えばフルオープンで、基本の 0x70
上図の写真では、3個全部ショートで、0x70 + 1 + 2 + 4 = 0x77
A0のみショートで、 0x70 + 1 = 0x71
A0 + A1 ショートで、 0x70 + 1 + 2 = 0x73

つまり、3bits分、最大8個のTrellis を繋げるらしい。

テスト

結局、こんな感じに配線。

import board
from adafruit_trellis import Trellis

# GP0, GP1 にI2Cを接続。INTは利用せず。
sda=board.GP0
scl=board.GP1

i2c = busio.I2C(scl, sda)
trellis = Trellis(i2c, [0x77, 0x72, 0x73, 0x71])

trellis.led[0] = True

これで一番左上が点灯する。

点灯やボタンダウンの設定は、こんな感じのキーマップになる。

 0  1  2  3 16 17 18 19
 4  5  6  7 21 22 23 24
 8  9 10 11 25 26 27 28
12 13 14 15 29 30 31 32
32 33 34 35 48 49 50 51
36 37 38 39 52 53 54 55
40 41 42 43 56 57 58 59
44 45 46 47 60 61 62 63

つまり、一番左下を点灯したい場合、こうなる。

trellis.led[44] = True

以下へ続く。

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

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

2022.02.26

シェアする