VRChat 非公式日本語ドキュメント

UdonでのMIDI

1980年代以来、MIDIは楽器同士を独創的な方法で接続してきました。VRChatでもこれを利用できるようにしたことで、リアルタイムの演奏や録音済みのパフォーマンスに反応するワールドを構築できるようになりました。

詳しくは以下をご覧ください:WikipediaのMIDIページ

image

UdonワールドでMIDIを扱うには、以下の2つの方法があります:

  • リアルタイム:PCに接続された楽器からのデータを使用。

  • 再生:オーディオファイルと一緒にMIDIデータを再生。

どちらの方法であっても、以下に詳述するUdonのMIDIイベントを使用することになります。

MIDIイベント

MidiNoteOn

「Note On」メッセージを受信したときにトリガーされます。MIDI再生、またはデバイスのキーやボタンを押すことで発生します。 出力:

  • int channel イベントを受信したMIDIチャンネル(0~15)。
  • int number ノート番号(0~127)。(お使いのMIDIデバイスによっては、全範囲が出力されない場合があります)
  • int velocity ノートが押された強さを表す数値(0~127)。(お使いのMIDIデバイスが対応している場合)

MidiNoteOff

「Note Off」メッセージを受信したときにトリガーされます。通常はデバイスのキーやボタンを離すことで発生します。 出力:

  • int channel イベントを受信したMIDIチャンネル(0~15)。
  • int number ノート番号(0~127)。(お使いのMIDIデバイスによっては、全範囲が出力されない場合があります)
  • int velocity 通常、Note Offイベントでは0となりますが、デバイスによって異なる場合があります。

MidiControlChange

コントロールチェンジを受信した時にトリガーされます。これらは通常、MIDIデバイスのノブやスライダーによって送信されます。 出力:

  • int channelイベントを受信したMIDIチャンネル(0~15)。
  • int numberコントロール番号(0~127)。
  • int valueコントローラーから送信された値(0~127)。物理的な始点・終点がなく回転し続けるタイプのノブの場合、この値は単に0と1になったり、あるいは「プラス」方向か「マイナス」方向の増分を示す別の範囲になったりすることがあります。その場合はご自身で値を管理する必要があります。

最終更新: