マシンライブのための MIDI ハブ

すべての MIDI 機材を、
この手の中に。

ドラムマシン、グルーヴボックス、シンセ、DAW。ステージに並べた MIDI 機材を MIDoRI につなげば、テンポも、つなぎ方も、ツマミも、手元のタッチ画面ひとつで操れます。大掛かりな PC は必要ありません。

M5Stack Tab5 / CoreS3 などの市販ボードに、ブラウザから書き込むだけ。
鍵盤USB シンセUSB DAW / PCUSB ドラムマシンMIDI (DIN) iPadBluetooth 音源モジュールMIDI (DIN) MIDoRI

動画で見る MIDoRI

MIDoRI ができること

リハーサルのセッティングから、本番の展開まで。

MIDoRIUSBTRSBLEUSB ハブDINiPad

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 台)。

MIDoRI が親MIDoRI♩=120ドラムシンセ外部に合わせるPushMIDoRIドラムシンセ

MIDI 機材の同期を自在に

MIDoRI がクロックの親になり、テンポとスタート・ストップを一斉にそろえます。タップテンポも。Push やグルーヴボックスを親にして、そのクロックを配ることもできます。

鍵盤ch1MIDoRICh Map1→2 · 1→10シンセch2ドラムch10

チャンネルを、機材に合わせて付け替える

鍵盤は 1ch のまま、シンセには 2ch、ドラムマシンには 10ch で。チャンネル変換フィルタ(Ch Map)を挟めば、機材ごとの受信チャンネルを設定し直さずに済みます。

♪♪♪ChordArpシンセパラメータは画面で

MIDI フィルターで豊かな演奏を

コード・アルペジエータ・チャンネル変換などの MIDI フィルターを、ルートの途中に好きな順でつなげます。コード → アルペジエータの順なら、1 音押さえるだけで和音が分散して流れ出します。パラメータは画面でその場で変えられ、外せば元どおり。

ch10ドラムch2ベースch1シンセ

内蔵のシーケンサーで自由な演奏を

16 ラインのシーケンサーで、つないだ MIDI 機材をまとめて鳴らせます。再生しながらパターンを切り替えたり、鍵盤のフレーズをその場で録音して重ねたり。

CC 74CC 91シンセエフェクト

散らばったツマミを、1 枚の画面に

あちこちの機材のカットオフやリバーブを、ノブ・パッド・XY パッドの 1 画面にまとめて操作します。

MIDI 機器を選び、ルートを選択する

MIDI Devices 画面は、行に MIDI を送り出す機材、列に受け取る機材を並べたマス目です。交わるマスが、その 2 台のあいだの通り道になります。

タップ
つなぐ・外す。新しくつなぐと全チャンネルが流れます。
長押し
流すものを選ぶメニュー。チャンネル(1〜16、複数可)・クロック・フィルタを選べます。
  • チャンネルごとに転送 1〜16 のうち選んだチャンネルだけを流します。鍵盤の 1ch はシンセへ、10ch はドラムマシンへ。1 つのマスで複数のチャンネルを選べます。
  • クロックだけ転送 ノートは流さず、テンポとスタート・ストップ・ソングポジションだけを送ります。チャンネルと組み合わせることもできます。
  • フィルタを適用する 長押しメニューの Filters タブで、コード・アルペジエータ・チャンネル変換などを、選んだ順に通します。パラメータもその場で変えられます。
  • 低遅延 フィルタを通さないルートは、スクリプトを経由せず MIDoRI の内部で直接転送します。

内蔵シーケンサーで、そのままライブ

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 と機材それぞれのシーケンサーが同じテンポで走ります。
122345678910111213141516C3 E3 G3REC 3Chain<1-16/16>16Followlive-set*Stop1 Kickch10 G 16x16M2 Bassch2 G 16x16MP343 Leadch1 R 2barM4 Padch3 G 16x16M

Sequencer 画面(Tab5)。パターン 1 を再生中、2 が次に切り替わる予約で点滅。

画面で弾く・触る

MIDoRI の画面そのものが、演奏とコントロールの道具になります。

KEYS C3–B4

Keys

画面の鍵盤。弾いた音をどの機材へも送れ、外部の鍵盤や DAW から来た音で鍵が光ります。

91Cutoff44Reso69ReverbKickSnareHatClap

Knobs & Pads

シンセのカットオフやレゾナンスを指で回し、パッドでワンショットを鳴らす(付属のレイアウト)。

Y: CC74X: NOTE

XY Pad

指でなぞって、音程とエフェクトを同時に動かす。最大 5 本の指でそれぞれ別の操作。

♪ D3

Tombola

回る多角形の中でボールが跳ね、壁にぶつかるたびに音が鳴る、偶然まかせのシーケンサー。

多くの接続規格をサポート

ひとつのボードに、MIDI の入口と出口がまとまっています。

USB HOST

USB MIDI 機器

鍵盤・シンセ・コントローラを直接。USB ハブで 4 台まで。

DAW
USB DEVICE

パソコン・USB ホストの機材

DAW や、Ableton Push 3 standalone・MPC Live などの USB ホストになる機材から、USB MIDI 機器として見えます。

SRT3.5 mm
TRS-MIDI

3.5mm の機材

SAM2695 ユニットの TRS 端子から。小型のシンセやグルーヴボックスに。

MIDI-DIN

5 ピン DIN の機材

SAM2695 ユニットの DIN 端子から。昔ながらの MIDI 機材にそのまま。

BLUETOOTH

BLE-MIDI

iPad / Mac から見え、BLE-MIDI の鍵盤やアダプタにもつなぎます。

動作確認済みの USB MIDI 機器

Roland J-6Teenage Engineering OP-1 fieldROLI Seaboard BLOCKSROLI Lightpad BLOCKSROLI LUMI KeysNovation Launch Control XL mk2Ableton Push 3

このほかの USB MIDI クラス準拠の機器も、多くはそのまま使えます。DIN の機材は機種を問いません。

対応ボード

どちらも市販の M5Stack のボードで、画面だけで一通り使えます。

M5Stack Tab5
ESP32-P4
M5Stack CoreS3 / CoreS3 SE
ESP32-S3
画面5 インチ 1280×7202 インチ 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 やノートを送れます。
LIVE83Cutoff57ReverbKickSnareHHClap
/sd/plugins/live.rb
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 で宣言した値は、その場で画面から調整できます。
  • 付属のものとつなげる コードやアルペジオと好きな順につなぎ、ルートごとに別の設定を持てます。
鍵盤 → シンセChFiltersChord1Velocity2ArpCh MapVelocityVel100Chord の次にVelocity を通す
/sd/plugins/velocity.rb
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 で再生すればクロックも。