# 2. MIDI 2.0のコアコンポーネント

# 2.1 概要

MIDI 2.0 規格は、MIDI 1.0の拡張機能を記した複数のドキュメントで構成されている。これらのドキュメントは、MIDI 2.0のコアアーキテクチャおよびMIDI 1.0との関係性を定義している。また、MIDI 1.0を踏まえたドキュメントとなっている。

# 2.1.1 MIDI 2.0のコンポーネント

MIDI 2.0の各種特徴は、以下のドキュメントで定義される。

  1. MIDI Capability Inquiry (MIDI-CI)
  2. Common Rules for MIDI-CI Profiles
  3. Common Rules for MIDI-CI Property Exchange
  4. Universal MIDI Packet (UMP) Format and MIDI 2.0 Protocol

# 2.2 MIDI Capability Inquiry (MIDI-CI)

MIDI-CIは、MIDIの機能拡張を可能にする仕組みを提供する。

MIDI-CIは、双方向通信可能なDeviceが、MIDI 1.0との後方互換性を担保しながら、拡張機能を使用可能にするための構造を定義する。MIDI-CIは「フォールバック」メカニズムを備えているため、Deviceが新しい拡張機能をサポートしていない場合、MIDI 1.0として、動作し続ける。

MIDI-CIのねらい:

  • 後方互換性を担保しながらMIDIを拡張する。つまり、MIDI 2.0の拡張機能を認識しないDeviceで引き続きMIDI 1.0の機能を使用できる。
  • Senderは、ReceiverがどのMIDI 2.0の機能に対応しているかを知ることができる。
  • 接続されたDevice間の連携を自動で設定することができる。
  • 様々なDeviceのProperty Dataを取得、設定する方法を定義する。
  • Device間のProtocolを選択する方法を定義する。

これらを実現するための3つの機能:

  • Protocol Negotiation: Device間のProtocolの選択。
  • Profile Configuration: Device間の連携を自動設定。
  • Property Exchange: JSONフォーマットによるDeviceのProperty Dataの取得・設定。

DeviceはデフォルトではMIDI 1.0を使用する。MIDIの拡張機能を利用する場合は、MIDI-CIを利用した2台のDevice間の合意が必要である。

詳しくは、「MIDI Capability Inquiry (MIDI-CI)」を参照。

# 2.3 Common Rules for MIDI-CI Profiles

Profileは、自動設定を可能にする便利なコンポーネントである。

Profileとは、固有の効果や個々のアプリケーションに対応するために定義された、MIDIメッセージと実装ルールのセットである。Profileは、MIDIメッセージに対する応答を定義するだけでなく、必要に応じて他のDeviceの機能要件を定義することができる。基本的にProfileはReceiverの実装方法を定義するが、Profileの定義によってSenderのMIDIの実装状況を示したり要求したりすることができる。

Profileは、MIDI 1.0におけるGeneral MIDIと類似している。GMを利用することで、プログラム・チェンジで選択可能な音色セットが使用できること、16MIDIチャンネル全てが受信できること、チャンネル10がドラムセットであること、選択されたMIDIメッセージのセットに対する定義済みのレスポンスがあることを、Deviceに認識させることができる。

このような仕様をDevice間で共有することで、送信するMIDIメッセージに基づいたDeviceの動作を予測して、Device間の連携を可能にした。

MIDI-CI Profileは、より統合された連携をDevice間で実現することを目指している。GMは、Profileに近いコンセプトモデルだったが、MIDI-CIや双方向通信のコンセプトは存在しなかった。GMでは、「GM On」メッセージが存在したが、Receiverからの応答は存在しなかった。MIDI-CIでは、双方向通信が可能となる。Common Rules for MIDI-CI Profilesでは、Profileの具体的な記述方法や、DeviceにおけるProfileの使用方法を定義している。

詳しくは、「Common Rules for MIDI-CI Profiles」を参照。

# 2.4 Common Rules for MIDI-CI Property Exchange

Property Exchangeは、MIDI-CI Universal System Exclusiveメッセージを介して送受信されるJSONデータによって、DeviceのProperty Dataの取得・設定を行うメカニズムである。Property Exchangeを使用すると、Deviceに対する深い知識や、独自のソフトウェア開発を必要とせず、Deviceのコントローラーの自動マッピング、プログラムの選択、状態変更、さらにはDAWへのビジュアルエディターの提供などを行えるようになる。これにより、デスクトップOS、モバイルデバイス、Webブラウザーなど、幅広いシステム上で動作するDeviceと、DAWやハードウェアコントローラーとのスマートな連携が可能になる。

Property Exchangeは、Property Dataの送信方法を定義するスキーマによって、Deviceが連携するための共通の方法を提供する。

カスタマイズされたソフトウェアやSysExを利用することで、独自の体験を提供することはできるかもしれない。これらの方法は、システムのアップグレードや新たなプラットフォームの出現によって、機器の製品寿命やアクセシビリティの制約を受けるが、Property Exchangeを利用することでこれらの制約を受けることがなくなる。

詳しくは、「Common Rules for MIDI-CI Property Exchange」を参照。

# 2.5 Universal MIDI Packet (UMP) Format and MIDI 2.0 Protocol

Universal MIDI Packet (UMP) Format and MIDI 2.0 Protocol規格は、MIDI 1.0 ProtocolメッセージとMIDI 2.0 Protocolメッセージの新しいデータフォーマットを定義する。

この新しいデータフォーマットには16のグループという概念が新たに加わっている。各グループには独立したシステム・メッセージと、MIDI 1.0のチャンネルに相当する16チャンネルが含まれている。Universal MIDI Packet formatにはJitter Reduction Timestampのメカニズムが含まれており、タイミング精度を向上するために、MIDIメッセージの先頭にタイムスタンプを追加できる。

MIDI 2.0 Protocolでは、全てのチャンネル・ボイス・メッセージのデータ解像度が拡張されている。さらに、いくつかのチャンネル・ボイス・メッセージでは、新しい機能を追加することにより、複数のメッセージを集約してひとつのメッセージにすることで扱いやすくしている。また、Per-Note controlは、音楽表現を向上させるために、新しいチャンネル・ボイス・メッセージとして追加された。

新しいデータ・メッセージには、System Exclusive 8とMixed Data Setが含まれる。System Exclusive 8は、データフォーマットが8ビットであることを除き、MIDI 1.0システム・エクスクルーシブと非常によく似ている。Mixed Data Setメッセージは、MIDI以外のデータを含む大きなデータ・セットの転送に使用される。

Universal MIDI Packet formatは、将来的な拡張のために、多くのリザーブ領域がある。

詳しくは、「Universal MIDI Packet (UMP) Format and MIDI 2.0 Protocol」を参照。

Last Updated: 2022/1/31 4:12:23