Version
menu_open

Working with MIDI

In addition to AMB and WAV files, MIDI files may also be used in the Interactive Music Hierarchy. These file types, once imported, are used to create clips, contained in one or many Music Segment tracks. In the case of WAV clips, each clip is a self-contained source of sound. However, MIDI clips only contain the musical notes to be played; a MIDI instrument must be used to interpret the notes. The instrument interprets all MIDI Events generated by one or many MIDI clips targeting it.

Importing MIDI files

MIDI files can be imported to the Interactive Music Hierarchy inside Music Clips. MIDI files can't be imported into the Actor-Mixer Hierarchy.

A MIDI clip can be created in all the same ways as a WAV clip. For more information on how to create a clip from a file, refer to Populating tracks.

To import a MIDI file using drag and drop:

  1. Drag a MIDI file from Windows Explorer or Mac Finder to any location in the Interactive Music Hierarchy.

    The Audio File Importer opens.

  2. Click Import to complete the import operation.

[Note]Note

Hold the CTRL key during drag and drop to skip the Audio File Importer dialog.

To import a MIDI file using the Audio File Importer:

  1. Select the location to import the .mid in the Project Explorer.

  2. Use the keyboard shortcut (Shift + I) to open the Audio File Importer.

  3. Click the Add Files button

  4. Browse for a MIDI file, and click OK.

  5. Click OK again to complete the import operation.

Understanding MIDI content and MIDI target

The MIDI file reference is stored inside the Music Clips contained in tracks and segments. The MIDI clips only contain the source MIDI information; notes, pitch bend, CC. They don't define the instrument to play. The instrument to use for playback is defined by the MIDI target reference found on the Music Segment and other music ancestors.

  • MIDI playable instruments need to be created and stored in the Actor-Mixer Hierarchy.

  • MIDI playable instruments use the standard object structures used for sounds in general.

Example:

  • Actor-Mixer Hierarchy

    • Instrument Work Unit

      • Drum Kit

      • Piano

  • Interactive Music Hierarchy

    • Default Work Unit

      • Song Segment

        • Piano Track (with MIDI clips)

        • Drum Track (with MIDI clips)

        • Guitar (with audio clips)

In the previous example:

  • The Piano Track has a MIDI target reference to the Piano object on the Actor-Mixer Hierarchy.

  • The Drum Track has a MIDI target reference to the Drum Kit object on the Actor-Mixer Hierarchy.

  • The Guitar Track has no MIDI target.

When playing back a Music Segment with MIDI clips, the MIDI clip will send MIDI data to the specified MIDI target. The actual MIDI target (or instrument), located in the Actor-Mixer Hierarchy will receive the MIDI data, and play accordingly to it's MIDI settings.

To specify a MIDI target on a Music object:

  1. Select a Music object (Music Track, Music Segment or any parent).

  2. In the Property Editor, go to the MIDI tab.

  3. In the MIDI Target group, click Override Parent (if applicable).

  4. Click the […] button to browse a MIDI target instrument.

For more information, see Creating MIDI instruments.

Mixing MIDI and audio content

When MIDI content is played-back in the Music Hierarchy, the music objects send MIDI data to the MIDI target (the instrument), located in the Actor-Mixer Hierarchy. The actual audio content played-back to the MIDI target will play in the Actor-Mixer Hierarchy context, not in the MIDI source location's context. This means the voice properties on music objects will not affect the instrument being played.

For example, the Voice Volume on a Music Segment or Music Track would not affect a piano instrument, located in Actor-Mixer Hierarchy. To modify the voice volume of the piano, you would need to modify the Voice volume on the Piano object directly, not on the MIDI source.

To help mixing, a bus hierarchy can be created to combine instrument content with music audio content. Routing the instrument and the music track to the same bus would provide a single audio mixing point.

Understanding MIDI tempo

There is a major difference between a MIDI clip and a WAV clip. A WAV clip's duration is uniquely determined by the content of the source file. However, the duration of a MIDI file depends on the tempo used. The tempo used is determined upon the creation of the clip, via the Tempo Source property.

MIDI files normally contain the tempo information for playback at the right speed. This tempo information enters in conflict with the tempo information found in the Interactive Music objects (Segment and parents). You have the choice of selecting the tempo of the source MIDI files, or use the tempo of the Interactive Music Hierarchy.

The following table lists the possible tempo sources:

Tempo Source

Definition

File

The tempo contained in the MIDI file is used.

Hierarchy

The tempo specified by the MIDI clip's Interactive Music ancestry is used.

To set the MIDI tempo source:

  1. Select a Music object.

  2. In the Property Editor, go to the MIDI tab.

  3. In the MIDI Clip Tempo group, select the Source to use.

A MIDI clip's tempo can be changed after creation, but the duration is not affected. The duration may be changed via the clip handles. For more information, refer to Working with clips.

Changing the playback speed of MIDI

The Voice Pitch property can't be set on the Interactive Music Hierarchy. However, the speed of playback in the Music Hierarchy can be changed.

Changing the playback speed of a Music object will:

  • Affect the pitch of audio clips.

  • Affect the rate of playback of MIDI clips.

A playback speed of 1 will playback at the original speed. A playback speed of 2 will play back twice as fast as the original. A playback speed of 0.5 will play at half speed.

[Note]Note

The Playback Speed property can also be attached to a Game Parameter in the RTPC tab of the Property Editor.

To change the playback speed:

  1. Inspect a Music Object (except Music Track).

  2. In the Property Editor, go to the General Settings tab.

  3. Set the Playback Speed.


Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise