Manual: Saving and exporting

From OpenMPT Wiki
Jump to: navigation, search

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.

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 above instructions.

Exporting tracks[edit]

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 and Raw), lossy audio streams (MP3 / OGG / Opus), a MIDI sequence file, or an “unhacked” version of the module format the track is in (compatibility export).

Stream Export[edit]

Setting up lossless or lossy export for a module

The dialogs for exporting to a lossless or lossy streaming format are identical. Depending on which option you choose from the File menu, a different set of export formats is presented.

Format[edit]

  • Encoder: Selects the encoder and format to be used (e.g. WAV, FLAC, Opus, Vorbis, MP3 via libmp3lame, etc.).
  • Encoder Information: Shows version information for external encoders.
  • 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.
  • Dither: Selects the dither algorithm used when rendering to a lower bit depth.
  • Channels: Selects the number of audio channels for export, depending on what is supported by the specified encoder.
  • Audio Format: Selects the bit depth for lossless formats (e.g. 32 Bit) or the bit rate of lossy formats (e.g. 256 kbit).

Support for lossless formats WAV, FLAC and Raw, as well as lossy formats Ogg Vorbis and Opus, is directly built into OpenMPT. MP3 format can be used by installing an appropriate codec. The following codecs are supported:

libmp3lame can be used by putting the DLL file from the specified package into the directory %APPDATA%\OpenMPT\Components\x86 (for 32-bit) or %APPDATA%\OpenMPT\Components\x64 (for 64-bit) respectively. In portable mode, it may be put in the same directory as OpenMPT’s executable instead. The bitness of the DLL (32 or 64 bits) has to match that of the OpenMPT executable, which can be queried in the About dialog. ACM codecs need to be installed using their appropriate installer.

If libmp3lame is available, OpenMPT will provide another option “MP3 (compatible)” in addition to “MP3”. “MP3 (compatible)” 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.

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 is just slowing 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 an 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 when using ACM codecs, 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.
  • Currently, tone portamento commands are treated as with instrument plugins, i.e. the previous note keeps playing and the note does not slide.
  • 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. For instance, it does not take care of instruments fighting for the same MIDI channels, as they are placed on separate MIDI tracks. Think of it more as a tool for creating remix stems and similar purposes. In this case, you can assign all exported MIDI tracks to different sound generators in the target DAW and the cross-track conflicts are no longer present.

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 (in fact, the pattern channels are mapped to MIDI channels modulo 8). 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. 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).
    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.

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
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.