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

# 2.1 検出、自動設定、およびデータフォーマット

MIDI 2.0は、MIDI 1.0の基本原則、構造、セマンティクスを基に構築されている。主な特徴は、双方向通信により実現する機器の検出および自動設定と将来多くの新しいメッセージを定義できる拡張性を備えた高解像度のデータフォーマットである。

  • MIDI Capability Inquiry (MIDI-CI)により、機器は相互に認識でき、サポートするMIDI 2.0の自動設定メカニズムを把握できるので、相互運用性が向上する。

  • Universal MIDI Packet (UMP)は拡張データフォーマットを定義する。このメッセージにより、機器は互いのトポロジーと高解像度データ通信のサポート状況が認識できる。

これら機能の基礎的な定義は、セクション 2.2 に記載。

# 2.2 4 つの基本ドキュメント

MIDI 2.0は、下記の4つのドキュメントで構成されており、それぞれ、MIDI 2.0の基本構造およびMIDI 1.0との関係性を定義している。従って、MIDI 2.0を実装するメーカーと開発者はMIDI 1.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.3 MIDI Capability Inquiry (MIDI-CI)

MIDI-CI は、検出メカニズムと双方向通信を行う機器同士が自動設定や相互運用を行うための仕組みを定義する。

MIDI-CIのねらい:

  • Senderは、ReceiverがどのMIDI 2.0の機能に対応しているかを知ることができる。

  • Profileの自動設定を使って、接続された機器同士の連携をより簡単にする。

  • 接続先の機器が持つ、様々なパラメータや情報を取得、設定することができる。

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

  • Profile Configuration: Profileの自動設定。

  • Property Exchange: JSONフォーマットによる機器のProperty Dataの取得・設定。

  • Process Inquiry:サポートされているMIDI メッセージの現在の状態/値を検出。

MIDI-CIでは、Profile ConfigurationとProperty Exchangeを実現するためのメッセージが定義されている。Profile ConfigurationとProperty Exchangeの詳細と実装ルールについては「Common Rules」ドキュメントに記載する。セクション 2.4 および 2.5 を参照。

Process Inquiryについては、MIDI-CI 仕様の中に全ての仕様が記載がされており、「Common Rules」ドキュメントは存在しない。

MIDI-CI Discoveryを確立してから、これらのMIDI-CIの機能を動作させること。

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

# 2.4 Common Rules for MIDI-CI Profiles

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

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

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

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

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

詳しくは、「Common Rules for MIDI-CI Profiles」 (opens new window)を参照。

# 2.5 Common Rules for MIDI-CI Property Exchange

Property Exchangeとは、MIDI-CI Universal System Exclusiveメッセージを用いて送受信されるJSONデータによって、Deviceが持つプロパティの取得・設定を行うメカニズムである。

Property Exchangeを使用すると、機器に対する深い知識や、独自のソフトウェア開発を必要とせず、機器のコントローラーの自動マッピング、プログラムの選択、状態変更、さらにはDAWへのビジュアルエディターの提供などを行えるようになる。これにより、デスクトップOS、モバイルデバイス、Webブラウザーなど、幅広いシステム上で動作する機器と、DAWやハードウェアコントローラーとのスマートな連携が可能になる。

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

Property Exchangeを使用することで、カスタムソフトウェアとSysExを用いた独自のソフトウェアで、さらなる独自の体験を提供することが可能になる。さらに、機器の耐用年数やアクセシビリティ、システムのアップグレードや新たなプラットフォームによる制約を受けることがなくなる。

詳しくは、「Common Rules for MIDI-CI Property Exchange」 (opens new window)を参照。

# 2.6 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メッセージの新しいデータフォーマット、MIDIの拡張の基礎を定義する。

UMPのフォーマットには、機器同士の相互運用性を確保するために、お互いのUMPエンドポイントを検出するメカニズムであるUMP Discoveryという仕組みが含まれている。
このため、「Universal MIDI Packet (UMP) Format and MIDI 2.0 Protocol」規格の機能を使用する前にUMP Discoveryを実行する必要がある。

UMPのデータフォーマットには16のグループという概念が新たに加わっている。各グループには独立したシステム・メッセージと、MIDI 1.0のチャンネルに相当する16チャンネルが含まれている。Universal MIDI Packetフォーマットには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以外のデータを含む大きなデータ・セットの転送に使用される。

Standard MIDI File (SMF)フォーマットのバージョン1ではnon-MIDIの「メタイベント」であったが新たなメッセージではプロパティとして表現するために定義された。

Standard MIDI File (SMF)フォーマットのバージョン2のすべてのプロパティは、UMPフォーマットの MIDI メッセージで通信することができる。

Universal MIDI Packetフォーマットには、将来的な拡張のための大きな領域が確保されている。

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

Last Updated: 2024/10/2 1:13:12