ガイド

  • Mac の IAC ドライバは MIDI 2.0? アプリ間で送る MIDI に起きていること

    Mac の IAC ドライバのバスは、MIDI 2.0 のプロトコルを報告しています。MIDI 1.0 のアプリが IAC に送った MIDI は、Core MIDI が受け手に合わせて MIDI 2.0 や MIDI 1.0 に変換しています。気づいたきっかけと、変換の実例、途中で変わる細部、まだ確かめていないことをまとめました。

    更新日

  • macOS 27 で MIDI の設定が再起動で元に戻るのはなぜ?

    macOS 27 では、Audio MIDI 設定で構成を作っていて、ポート名に NUL 文字を含む USB MIDI 機器がつながっていると、構成ファイルが保存されず、追加した IAC バスなどの変更が MIDIServer の再起動で消えます。原因を突き止めるまでの経緯と、確かめ方、対処をまとめました。

    更新日

  • Mac を経由すると、USB 機器どうしの MIDI-CI が成立しないのはなぜ?

    2 台の MIDI-CI 対応機器を USB で Mac に接続し、Mac の中でルーティングしてつなぐと、Property Exchange が成立しない、または電源を入れ直すと成立しなくなることがあります。macOS 自身も MIDI-CI に参加し、一部のメッセージを中継するため、同じメッセージが 2 回届くことがあります。気づいたきっかけと観察した内容、DIN ケーブルで直接つなぐ対処をまとめました。

    更新日

  • Mac の音楽アプリで、MIDI が突然止まるのはなぜ?

    Mac では、すべての MIDI が MIDIServer という裏で動くプロセスを通ります。MIDIServer が終了またはクラッシュすると、起動中のアプリには MIDI が届かなくなり、送った MIDI も機器に届かなくなります。エラーは出ません。アプリを起動し直せば直ります。気づいたきっかけと、起きたかどうかの確かめ方、多くのアプリが自動で復帰しない理由をまとめました。

    更新日

  • MIDI 2.0 で受け取る Mac のアプリで、NRPN が最初に違う値で届くのはなぜ?

    MIDI 1.0 の NRPN(CC 99、98、6、38)が、MIDI 2.0 で受け取る Mac のアプリに届くと、Core MIDI は値の下位が届く前、CC 6 の時点で変換します。アプリには、まず不完全な値が届き、その後で正しい値が届きます。気づいたきっかけと、起きる理由、影響、避け方をまとめました。

    更新日

  • Roland の SysEx(RQ1 / DT1)の送り方と、チェックサムの計算方法は?

    Roland のシンセは、2 つの SysEx でパラメータを読み書きします。RQ1 はアドレスのデータを要求し、DT1 はアドレスへデータを送ります。メッセージの構成、計算例付きのチェックサム、7 ビットのアドレスの足し算、JUNO-D の実機で分かったことをまとめました。

    更新日

開発記録

  • AI に MIDI アプリを扱わせる、Mac の外へ出さずに: MCP、localhost、トークン

    MIDIFabric は、MCP を通して Codex や Claude Code に MIDI エフェクトを書いてもらえます。AI のツールを直接呼び出さずに MCP を選んだ理由、接続を Mac の中に閉じる仕組み、AI が読めるものと読めないもの、アクセストークンが守るものと守らないものを紹介します。

    更新日

  • CC 102 が「OP1 Level」と読めるまで: MIDI モニタとデバイス定義

    「CC 102 = 100」と表示するだけのモニタでは、その CC がシンセの何なのかを調べる必要があります。MIDIFabric のデバイス定義は、Korg opsix の CC 102 を「OP1 Level」と名付け、4 つのメッセージからなる NRPN を「VCA Env Release = 8」のような 1 行にまとめます。定義の書き方、モニタでの使われ方、何を確かめているかを紹介します。

    更新日

  • JUNO-D の SysEx を名前で送り、名前で読む: アドレスマップ

    Roland のパラメータは 4 バイトのアドレスにあり、入力しにくく、読み取りにくいものです。MIDIFabric のデバイス定義にアドレスマップを加え、JUNO-D の RQ1 と DT1 を名前で入力・表示できるようにしました。マップの書き方、名前の展開、受信したアドレスの照合の仕組みを紹介します。

    更新日