MIDI再生
MIDIデータをオーディオトラックと一緒に再生することで、Udonワールド内のあらゆるものを制御できます。すぐに始めたい場合は、サンプルシーンを参照してください。
アセット: MidiFileおよびAudioClip
拡張子が .mid のファイルはMIDIアセットとして処理されます。独自のMIDIファイルとオーディオファイルを使用するには、以下の手順に従ってください。
- それらをAssetsフォルダ内の任意の場所にドラッグ&ドロップします。MIDIファイルは拡張子が .mid である必要があり、オーディオファイルはUnityでサポートされている形式(.aif、.wav、.mp3、.ogg)であれば何でも使用可能です。
- MIDIファイルを選択し、そのAudioClipに対応するオーディオファイルを割り当てます。

- MIDIファイルのBPMは正しく設定されていることが不可欠です。データがオーディオと一致していないように見える場合、これが原因である可能性が高いです。「Override Bpm」をオンにして正しい値を指定することで、BPMを上書きできます。理想的には、MIDIファイルを編集して正しいBPMを追加してください。
コンポーネント: VRCMidiPlayer

これは動作の核となる部分です。Audio Sourceと同様に機能しますが、Midi Assetを使用します。これは、すべてのターゲットとなるUdonBehaviourに対してMIDIのNote OnおよびNote Offイベントを送信します。
インスペクターのフィールド
Midi File
| 名前 | 説明 |
|---|---|
| Midi File | トリガーしたいデータを含む、SMF形式のMIDIファイルです。 |
| Audio Source | MIDIデータに対応するオーディオクリップを持つAudioSourceコンポーネントです。 |
| Target Behaviours | MIDIの Note On イベントおよび Note Off イベントが送信される UdonBehaviour の配列です。 |
| Display Debug Blocks | 有効にすると、VRCMidiPlayer を選択している間、Unity Editor の Scene ビューで現在の MIDI ファイル内のすべてのノートを表示できます。データの素早い確認に便利です。 |
メソッド
メソッド
| 名前 | 説明 |
|---|---|
Play() | MIDI イベントと Audio Source の再生を開始します。 |
Stop() | MIDI イベントと Audio Source の再生を停止します。 |
プロパティ
| 名前 | 説明 |
|---|---|
float time | MIDI ソースと Audio ソースの両方の現在時刻を設定および取得します。 |
MidiData midiData | 現在の MIDI トラックに関するすべてのデータを含む MidiData オブジェクトを取得します。再生前にセットアップを行うために使用できます。 |
例: MidiPlaybackScene
Example Central にはシンプルな MIDI 再生例が含まれています。メニューバーの「VRChat SDK > Samples > MidiPlayback」から読み込むことができます。
クラス: MidiData
VRCMidiPlayer から MIDI データを要求した際に取得されるものです。すべてのトラックの配列と BPM を保持しています。
| 型 | 名前 | 説明 |
|---|---|---|
MidiTrack[] | Tracks | ファイル内の MidiTrack の配列です。 |
byte | Bpm | トラックの BPM を表します。 |
クラス: MidiTrack
このクラスは MidiBlock の配列をラップするもので、トラック内で検出されたノートやベロシティの範囲に関する便利な参照を提供します。
| 型 | 名前 | 説明 |
|---|---|---|
MidiBlock[] | Blocks | トラック内の MidiBlock の配列です。 |
byte | minNote | トラック内で演奏された最も低いノートです。 |
byte | maxNote | トラック内で演奏された最も高いノートです。 |
byte | minVelocity | トラック内で演奏された最も低いベロシティです(0を除く)。 |
byte | maxVelocity | トラック内で演奏された最も高いベロシティです。 |
クラス: MidiBlock
MidiBlock は、Midi Note イベントの On から Off までの一連と、いくつかの便利なメタデータを表します。
| 型 | 名前 | 説明 |
|---|---|---|
byte | Note | 演奏されたノートの 0〜127 の範囲の番号です。 |
byte | Velocity | 演奏されたノートのベロシティの 0〜127 の範囲の番号です。 |
byte | Channel | ノートが演奏されたチャンネルの 1〜16 の範囲の番号です。 |
float | StartTimeMs | Note On イベントが開始されるミリ秒単位の開始時間です。 |
float | EndTimeMs | Note Offイベントがトリガーされる終了時刻(ミリ秒)。 |
float | StartTimeSec | Note Onイベントが開始される開始時刻(秒)。 |
float | EndTimeSec | Note Offイベントがトリガーされる終了時刻(秒)。 |
float | LengthSec | Note OnからNote Offまでのイベント全体の長さ(秒)。 |
最終更新: