動画で見る MIDoRI
MIDoRI ができること
リハーサルのセッティングから、本番の展開まで。
MIDI 機材を全部、1 か所に
M5Stack Tab5 なら最大 9 台の MIDI 機材を、まとめてつなげます。
- USB の MIDI 機材(USB ハブ経由)4 台
- パソコン・USB ホストの機材(Ableton Push 3 standalone、MPC Live など)1 台
- TRS / DIN(SAM2695 ユニット)1 系統
- Bluetooth(iPad / Mac 1 台 + BLE-MIDI 機材 2 台)3 台
M5Stack CoreS3 は最大 8 台(USB を機材用にしたとき。パソコンなど用にしたときは 5 台)。
MIDI 機材の同期を自在に
MIDoRI がクロックの親になり、テンポとスタート・ストップを一斉にそろえます。タップテンポも。Push やグルーヴボックスを親にして、そのクロックを配ることもできます。
チャンネルを、機材に合わせて付け替える
鍵盤は 1ch のまま、シンセには 2ch、ドラムマシンには 10ch で。チャンネル変換フィルタ(Ch Map)を挟めば、機材ごとの受信チャンネルを設定し直さずに済みます。
MIDI フィルターで豊かな演奏を
コード・アルペジエータ・チャンネル変換などの MIDI フィルターを、ルートの途中に好きな順でつなげます。コード → アルペジエータの順なら、1 音押さえるだけで和音が分散して流れ出します。パラメータは画面でその場で変えられ、外せば元どおり。
内蔵のシーケンサーで自由な演奏を
16 ラインのシーケンサーで、つないだ MIDI 機材をまとめて鳴らせます。再生しながらパターンを切り替えたり、鍵盤のフレーズをその場で録音して重ねたり。
散らばったツマミを、1 枚の画面に
あちこちの機材のカットオフやリバーブを、ノブ・パッド・XY パッドの 1 画面にまとめて操作します。
MIDI 機器を選び、ルートを選択する
MIDI Devices 画面は、行に MIDI を送り出す機材、列に受け取る機材を並べたマス目です。交わるマスが、その 2 台のあいだの通り道になります。
- タップ
- つなぐ・外す。新しくつなぐと全チャンネルが流れます。
- 長押し
- 流すものを選ぶメニュー。チャンネル(1〜16、複数可)・クロック・フィルタを選べます。
- チャンネルごとに転送 1〜16 のうち選んだチャンネルだけを流します。鍵盤の 1ch はシンセへ、10ch はドラムマシンへ。1 つのマスで複数のチャンネルを選べます。
- クロックだけ転送 ノートは流さず、テンポとスタート・ストップ・ソングポジションだけを送ります。チャンネルと組み合わせることもできます。
- フィルタを適用する 長押しメニューの Filters タブで、コード・アルペジエータ・チャンネル変換などを、選んだ順に通します。パラメータもその場で変えられます。
- 低遅延 フィルタを通さないルートは、スクリプトを経由せず MIDoRI の内部で直接転送します。
| シンセ | ドラム | AMY | DAW | |
|---|---|---|---|---|
| 鍵盤 | 1ch | 10ch | ● | |
| DAW | ● | |||
| iPad | ● | |||
| Tempo | clk | clk |
内蔵シーケンサーで、そのままライブ
MIDoRI には、つないだ MIDI 機材をまとめて鳴らすシーケンサーが入っています。ラップトップの DAW を持ち込まなくても、セットの進行をステージの上で組み立てられます。
ラインごとに、別の MIDI 機材へ
ラインは最大 16 本。ラインごとに出力チャンネルを決め、MIDI Devices 画面でチャンネルごとの行き先を決めておけば、1 台のシーケンサーから、ドラムマシン・ベースマシン・シンセ・内蔵の AMY までをまとめて鳴らせます。
- 1 Kickch10ドラムマシン(DIN)
- 2 Bassch2ベースマシン(USB)
- 3 Leadch1シンセ(Bluetooth)
- 4 Padch3AMY(Tab5 のスピーカー)
- 同じ機材に何本でも チャンネルはライン同士で重ねられるので、キック・スネア・ハットをそれぞれのラインに分けて、1 台のドラムマシンへ送れます。
- ラインごとに長さと速さを ステップ数(4〜64)と 1 ステップの長さ(3 連符も)はラインごと。16 分音符のベースに 3 連符のハットを重ねる、といった組み合わせも。
- 機材のシーケンサーとも一緒に シーケンサーは Tempo のクロックで進みます。同じクロックを機材にも配れば、MIDoRI と機材それぞれのシーケンサーが同じテンポで走ります。
Sequencer 画面(Tab5)。パターン 1 を再生中、2 が次に切り替わる予約で点滅。
画面で弾く・触る
MIDoRI の画面そのものが、演奏とコントロールの道具になります。
Keys
画面の鍵盤。弾いた音をどの機材へも送れ、外部の鍵盤や DAW から来た音で鍵が光ります。
Knobs & Pads
シンセのカットオフやレゾナンスを指で回し、パッドでワンショットを鳴らす(付属のレイアウト)。
XY Pad
指でなぞって、音程とエフェクトを同時に動かす。最大 5 本の指でそれぞれ別の操作。
Tombola
回る多角形の中でボールが跳ね、壁にぶつかるたびに音が鳴る、偶然まかせのシーケンサー。
多くの接続規格をサポート
ひとつのボードに、MIDI の入口と出口がまとまっています。
USB MIDI 機器
鍵盤・シンセ・コントローラを直接。USB ハブで 4 台まで。
パソコン・USB ホストの機材
DAW や、Ableton Push 3 standalone・MPC Live などの USB ホストになる機材から、USB MIDI 機器として見えます。
3.5mm の機材
SAM2695 ユニットの TRS 端子から。小型のシンセやグルーヴボックスに。
5 ピン DIN の機材
SAM2695 ユニットの DIN 端子から。昔ながらの MIDI 機材にそのまま。
BLE-MIDI
iPad / Mac から見え、BLE-MIDI の鍵盤やアダプタにもつなぎます。
動作確認済みの USB MIDI 機器
このほかの USB MIDI クラス準拠の機器も、多くはそのまま使えます。DIN の機材は機種を問いません。
対応ボード
どちらも市販の M5Stack のボードで、画面だけで一通り使えます。
| M5Stack Tab5 ESP32-P4 | M5Stack CoreS3 / CoreS3 SE ESP32-S3 | |
|---|---|---|
| 画面 | 5 インチ 1280×720 | 2 インチ 320×240 |
| USB-MIDI | ✓USB-A に機器、USB-C にパソコン。同時に使えます | ✓機器をつなぐか、パソコンにつなぐか(書き込むときに選ぶ) |
| BLE-MIDI | ✓iPad / Mac から見え、BLE-MIDI の機器にもつなぐ | ✓iPad / Mac から見え、BLE-MIDI の機器にもつなぐ |
| TRS-MIDI | ✓Port A に SAM2695 ユニット(TRS 端子) | ✓Port C に SAM2695 ユニット(TRS 端子) |
| MIDI-DIN | ✓Port A に SAM2695 ユニット(DIN 端子) | ✓Port C に SAM2695 ユニット(DIN 端子) |
| 内蔵シンセ AMY | ✓本体のスピーカー・ヘッドホンから | — |
| GM 音源 SAM2695 | ✓Port A に SAM2695 ユニット | ✓Port C に SAM2695 ユニット |
TRS-MIDI と MIDI-DIN は、Port A(Tab5)/ Port C(CoreS3)につないだ SAM2695 ユニットの端子を使います。同じユニットで GM 音源も鳴らせます。
自分好みの MIDoRI にカスタマイズ
画面だけで一通り使えますが、Ruby で書いた小さなファイルを SD カードの plugins フォルダに置くと、画面と機能を足せます。起動のたびに読み込まれ、普段の画面から使えます。プログラミングをしない人も、人が作ったプラグインをコピーするだけで使えます。
画面のレイアウトを、自分好みに
マス目に部品を並べて、自分のセット専用の操作画面を作れます。
- 部品を自由に パッド・ノブ・XY パッド・鍵盤・Tempo・エンベロープ・シーケンサーを、好きな大きさで配置。
- Home のタイルに 作った画面は Home に並びます。曲ごとに 1 枚作って、パッドや Program Change で切り替えることも。
- 機材をまたいで 1 枚の画面から、何台もの機材へ CC やノートを送れます。
syn = MIDI::Device.new(MIDIDevices.usb_midi_host("J-6"))
drm = MIDI::Device.new(MIDIDevices.sam2695)
UI.layout("Live", cols: 4, rows: [2, 1]) do
knob col: 0..1, row: 0, label: "Cutoff" do |v|
syn.control_change(74, v.to_i)
end
knob col: 2..3, row: 0, label: "Reverb" do |v|
drm.control_change(91, v.to_i, channel: 9)
end
[["Kick", 36], ["Snare", 38], ["HH", 42], ["Clap", 39]].each_with_index do |(name, note), i|
pad col: i, row: 1, label: name do
drm.trigger(note, 120, channel: 9)
end
end
end
自分だけのフィルタを書く
MIDI を途中で書き換えるフィルタを、クラス 1 つで書けます。
- 画面から使える 登録すると、MIDI Devices 画面の長押しメニュー(Filters)に並びます。
- パラメータも画面で
paramで宣言した値は、その場で画面から調整できます。 - 付属のものとつなげる コードやアルペジオと好きな順につなぎ、ルートごとに別の設定を持てます。
class FixedVelocity < MIDI::Filter
label "Velocity"
types :note_on
param :value, :int, range: 1..127, default: 100, label: "Vel"
def call(m)
m.velocity = params[:value] # 強さを一定にする
m
end
end
MIDI.register_filter(:velocity, FixedVelocity.new)
スクリプトで曲の構成どおりに機材を動かしたり、irb で 1 行ずつ試したりもできます。サンプルとドキュメントから始めてください。
始め方
ボードとケーブルがあれば、ブラウザから 10 分ほどで使い始められます。
1. 書き込む
パソコンの Chrome / Edge でインストールページを開き、ボードを選んでボタンを押すだけ。
2. つなぐ
機材をつなぎ、MIDI Devices 画面で行き先のマスをタップ。
3. 鳴らす
鍵盤を弾けば、もう音が出ます。Tempo で再生すればクロックも。