Manual: Saving and exporting

From OpenMPT Wiki
Jump to navigation Jump to search

OpenMPT can save and export songs in various ways. Exporting is different from saving in that it does not change the file in its current format, but instead saves the file in a different format. You can export to a number of different formats — as a lossless streaming audio file (WAV, FLAC, AU and Raw), lossy audio streams (MP3 / Ogg Vorbis / Opus), a MIDI sequence file, or an “unhacked” version of the module format the track is in (compatibility export).

Saving tracks[edit]

Saving your track is done the same way as with most Windows applications; these functions are found under the “File” menu.
Optionally, OpenMPT can back up your old song version automatically when overwriting a previously saved song by setting the “Create Backup File” checkbox in the Path / Auto Save Options. There, you can also set up OpenMPT to automatically save copies of your work in intervals.

Saving always happens in the same format the track is currently in. To convert a track to another format, open the Song Properties dialog and choose the new format. The file can then be saved in the new format using the above instructions.

Stream Export[edit]

Setting up lossless or lossy export for a module

This dialog allows exporting to a lossless or lossy streaming format.

Format[edit]

  • Encoder: Selects the encoder and format to be used (e.g. WAV, FLAC, Opus, Vorbis, MP3, etc.).
  • Sample Rate: Selects the sample rate used for exporting. Note that some encoders will only support a small set of sample rates. Also keep in mind that some plugins do not like their sample rate to be changed, so if you choose a different sample rate than the one from the Soundcard settings, some plugins may produce strange output.
  • Channels: Selects the number of audio channels for export, depending on what is supported by the specified encoder.
  • Dither: Selects the dither algorithm used when rendering to a lower bit depth.
  • Audio Format: Selects the bit depth for lossless formats (e.g. 32 bit) or the bit rate of lossy formats (e.g. 256 kbit).

OpenMPT provides two MP3 encoding options. In addition to the default option, “Compatible MP3” will generate the most compatible form of MP3 files possible in order to ensure compatibility with very old players. Compatible MP3s have slightly reduced quality per bitrate compared to normal MP3s, can only contain ID3v1 tags instead of ID3v2 tags and do not support sample-exact lengths.

As the maximum length of a WAV file is limited (to 2 or 4 GB depending on the application that is used to handle the file), large uncompressed exports can be done in the AU format instead.

Render[edit]

  • Player Options: When exporting to audio, all of the player settings including the Equalizer will be applied. Click on this button to change the options or to disable these settings.
  • Channel Mode: If you check the Channel Mode box, each pattern channel is exported separately. Muted channels are not exported.
  • Instrument Mode: Similar to the Channel Mode option, this will export every instrument separately. Muted instruments are not exported. Note that Channel Mode and Instrument Mode are complementary, i.e. they cannot be used at the same time.
  • Normalize Output: Checking this box allows OpenMPT to boost or attenuate the overall audio volume so that the peak volume is at 0dB (the highest possible volume without distortion).
  • Write cue points: If supported by the format, OpenMPT can write cue points (markers) at every pattern transition, which can be used e.g. for synchronizing the audio to something else.

Plugin Quirks[edit]

These options are only available if there are any plugins being used in the exported module. They are there to circumvent bugs that can be found in some audio plugins.

  • Slow Render: Plugins that use Direct-from-Disk sample streaming (and also a couple of broken SynthMaker plugins) may not cope with OpenMPT’s export speed and thus output might not sound as intended. If you are using one of these plugins, enable this option and the export process will be slowed down automatically. Do not enable this option if it is not needed by the plugins you use, as all it really does just slows down the export process.
  • Clear Plugin Buffers: Despite being required by the VST standard, many plugins do not reset their internal audio buffers when playback is stopped or paused. In this case, if you attempt to export audio after stopping playback, any “leftover” audio (e.g. a reverb tail) will be output to the file at the beginning of the audio file. To remedy this, OpenMPT silently renders up to 20 seconds of silence before starting export.

Limit[edit]

  • Limit Song Length: Check this box to limit the export based on the file size in seconds. Fill in the number of seconds in the box. This option can be used e.g. for creating previews of your track.
  • Play: You have one of three options on how to output the track to its audio file — either a number of specified sequences (one file per sequence), the entire current sequence (repeated one or multiple times) or just a section of the song. If you want to save part of the song, click the From Position radio button, and fill in the start and end pattern positions (inclusive) to output.

Tags[edit]

Some audio formats support song metadata (“tags”). OpenMPT can export the most common tags such as Song Title, Artist Name, Genre and Year. Note that OpenMPT writes out ID3v2.4 tags for MP3 files, which are currently not recognized by various applications like Windows Explorer - more compliant audio players will have no problems with reading ID3v2.4 tags, though.

Render To Sample[edit]

Instead of rendering into a regular file, it is also possible to render the audio data into a sample slot. This can be achieved by selecting the appropriate radio button at the bottom-left of the dialog. By default, an empty sample slot is chosen, but a specific sample slot can be chosen from the sample list as well.

MIDI Export[edit]

Setting up a module for MIDI conversion

With MIDI Export, you can save your track as an equivalent MIDI file. Every instrument is exported to a separate MIDI track.

You will first be prompted for the export location, then the MIDI Export dialog will be shown. Here you can go through each instrument you have set up and define which MIDI instrument will substitute for it.

When doing a MIDI conversion, it is important to keep in mind that the world of sample-based modules and MIDI are fundamentally different:

  • There is no standardized way to change the volume of an already playing note, so things like volume slides will not be exported.
  • MIDI has a limited pitch-bend range, which is set to 12 semitones for sample-based instruments. For plugin-based instruments, the already configured number of semitones is used instead.
  • Pitch-bend events affect all notes on the same MIDI channel, even if they appear on different MIDI tracks. Thus, keep in mind:
    • When exporting instruments to Melodic (Any), they will share some MIDI channels.
    • When exporting an instrument to a specific MIDI channel, all notes will be affected by a pitch-bend event.
  • Tone portamento commands are treated as with instrument plugins. When exporting an older module that has legacy plugin tone portamento enabled (i.e. the previous note keeps playing and the note does not slide when tone portamento is encountered with an instrument plugin), this setting also applies to sample-based instruments.
  • MIDI files are exported at a resolution of 480 pulses per quarter note, which should be more than enough for most modules.

OpenMPT’s MIDI export is not intended for perfect module-to-MIDI conversions. Think of it more as a tool for creating remix stems and similar purposes.

With this in mind, the export dialog works as follows:

  • Instrument: Shows the current instrument to apply the MIDI conversion to. Clicking on the field opens a popup menu listing all of the instruments in the track.
  • MIDI Channel: The MIDI channel to play the instrument on. There are 16 MIDI channels, to which all instruments have to be distributed. If you have more than 16 instruments, you need to decide which of them should share a MIDI channel. In General MIDI specifications, channel 10 is reserved for drums. This channel is used when picking Percussions from the list. Melodic (Any) will export the instrument to any of the remaining channels. Any of the other options map the instrument to a fixed melodic MIDI channel.
  • MIDI Program: The MIDI program (instrument) that the track instrument will be transferred to.
    • Note that if No Program Change is selected, mixing this instrument with other instruments on the same MIDI channel that have a MIDI program set will make it use the other instrument’s MIDI program.
    • On the percussion channel, this lets you choose a drum key instead. Choose Mapped to map pattern notes directly to the corresponding drum key instead (e.g. triggering a C-3 in the pattern with this instrument will trigger a bass drum — for instruments with a custom note map, the mapped note is used instead).
      Note: Drum keys below 35 (Acoustic Bass Drum) and above 81 (Open Triangle) are not entirely standardized. Depending on the application or device used to play the exported MIDI file, they may or may not turn out as the desired percussion.
  • Allow instruments to overlap on same MIDI channel: If enabled, instruments won′t be aware of other instruments on the same MIDI channel, i.e. there will be no MIDI program change messages and notes from more than one instrument may be playing at the same time. This mode is useful when there are more than 16 instruments playing concurrently and the result is imported into a DAW where each MIDI track can be routed to a different MIDI device or plugin.

OPL Export[edit]

Setting up OPL export

Modules making use of OPL instruments can be exported to VGM and DRO (DOSBox Raw OPL Capture) files. These files can only contain the OPL instrument data, sample-based or plugin-based instruments are not exported. The following options are available:

  • Export Format: Allows you to choose between VGZ (compressed VGM), VGM or DRO files to be written. VGZ and VGM export only makes use of file format features up to the VGM 1.60 specification, so the exported files can also be read by older software. DRO files are very limited and cannot contain loop information or other song metadata, so this format should only be used if VGM is not a suitable option for you.
  • Sub Songs: You can either export all sub songs of the module as separate files (the subsong number is added to the filename) or choose a specific subsong to be exported.
  • Metadata: Here you can specify metadata to be written to VGZ or VGM files. DRO files do not support metadata.

Pressing the OK button prompts for a file location and then starts the export.

Compatibility Export[edit]

Past developers of ModPlug Tracker added various feature extensions (“hacks”) to some module formats in an effort to incorporate desired functionality. While they allow more flexibility for OpenMPT to edit and play these formats, they cause problems or are ignored in other tracking software, including many popular players.

Exporting to the track’s original format specifications is called Compatibility Export, and removes the OpenMPT hacks for that format. Depending on the used extension, this may alter the sound of the track in more or less subtle ways. Compatibility Export only works with XM and IT files, as MOD and S3M files are never saved with hacked-on extra information. Note that there are some features which are not directly supported in the original tracker (such as stereo samples in IT and S3M files), but they have been defined in the original file specifications and are supported by a number of other applications. Such features are retained in files saved with compatibility export.

Below is a list of OpenMPT’s file format extensions and their differences in Compatibility Export:

ModPlug Extensions for IT tracks[edit]

Default Save Compatibility Export
Channel Limit Up to 127 channels Up to 64 channels
Pattern Length 1 - 256 Rows 32 - 200 Rows
Sample Limit 256 Samples (Sample Mode) / 4000 Samples (Instrument Mode) 99 Samples
Instrument Limit 256 Instruments 99 Instruments
Sample Amplification Range 0 - 2000 Limited to 0 - 128

A number of song properties is not saved to compatible IT files as well. Default values that are assumed when re-opening the file are noted in parentheses.

  • Artist Name
  • Extended Filter Range
  • Pattern and Channel Names
  • Plugin List and Configuration
  • VST instrument volume (48)
  • Mix Levels (Compatible Mix Levels)
  • Compatibility Settings (default settings for this OpenMPT version)
  • Tempo Mode (Classic Tempo Mode)

Some instrument settings are also omitted. Again, default values are noted in parentheses:

  • Ramping (default)
  • Resampling (default)
  • Plugin settings (no plugin)
  • Duplicate Note Check type “Plugin” (no duplicate note check)
  • Cutoff variation (0), Resonance variation (0)
  • Velocity handling (Use note volume)
  • Volume handling (None)
  • Force Filter Mode (Channel default)

Also, the following pattern commands are removed completely when saving a compatible IT file:

  • Smooth MIDI Macro (\)
  • Parameter Extension (#)
  • Volume Column Offset (o)

ModPlug Extensions for XM tracks[edit]

Default Save Compatibility Export
Channel Limit Up to 127 channels Up to 32 channels
Sample Assignment Up to 32 samples per instrument Up to 16 samples per instrument
Stereo Samples Saved as stereo Converted to mono

A number of song properties is not saved to compatible XM files as well. Default values that are assumed when re-opening the file are noted in parentheses.

  • Artist Name
  • Extended Filter Range
  • Song Comments
  • MIDI Configuration (Default MIDI configuration)
  • Pattern and Channel Names
  • Plugin List and Configuration
  • Default VST instrument volume (48), Sample volume (48)
  • Mix Levels (Compatible Mix Levels with FT2 Pan Law)
  • Compatibility Settings (default settings for this OpenMPT version)
  • Rows Per Beat / Measure (default Rows Per Beat / Measure)

Some instrument settings are also omitted. Again, default values are noted in parentheses:

  • Ramping (default)
  • Resampling (default)
  • Plugin settings (no plugin)

Also, the following pattern commands are removed completely when saving a compatible XM file:

  • Command X extensions (X5x, X6x, X7x, X9x, XAx)
  • Panbrello (Y)
  • MIDI Macro (Z)
  • Smooth MIDI Macro (\)
  • Parameter Extension (#)
  • In the volume column, slide commands with a 00 parameter (use last value) are removed, i.e. they have no slide memory.

Sharing files and track portability[edit]

When composing in OpenMPT, you may wish to share the track file itself (rather than the audio version of the file) so that other people can see the work involved. Other people might be using different versions of ModPlug Tracker or a completely different software altogether with different playback or audio settings, which may alter playback in one way or another. Ideally, Compatibility Export should be used to minimize the risk of running into incompatibilities. There have always been compatibility issues between different tracking applications and as long as you know what these issues are, you can work around it when you are composing with OpenMPT. Often, they have to be figured out manually, though.