Skip to content

OmniMIDI v2

A program rewrite began for the original OmniMIDI at version 15 promising new features, cross platform builds, and improved performance while retaining familiar features.

Currently, the version is in its early development phase and does not have a user-friendly interface for normal use.

Installation

Before installing OMv2, make sure a stable OmniMIDI (or XSynth) version is installed.

Download

There is not yet any installers available for the synth. The following are personal builds:

Install

Extract the .zip file's contents into the same folder where your target application is (e.g. alongside a MIDI editor/player executable).

Run

When opening an application with OMv2 for the first time, a couple of dialog boxes should appear notifying that config files are created. These are located in C:/Users/<user-name>/OmniMIDI.

After the below configuration, smooth audio playback should be audible.

Configuration

User interface

There is currently no stable GUI for OMv2's configuration. However, there are existing implementations available for download:

TIP

To access the Discord links, send the link as a message anywhere in Discord and open the link from the newly sent message.

Setting a soundfont

The config file generated at %userprofile%/OmniMIDI/lists/OmniMIDI_A.json can be opened with a text editor to set the target soundfont for synth playback.

json
{
    "SoundFonts": [
        {
            ...,
            "path": "C:\\Users\\username\\Downloads\\my_soundfont.sf2",
            ...
        }
    ]
}

Note that the double backward slashes are important.

Advanced options

The config file %userprofile%/OmniMIDI/settings.json shows the default properties that can be modified to change the synth's behavior. If you are using a configuration GUI, the same config file is being read and modified.

Multithreading can be enabled by enabling the ExperimentalMultiThreaded property in the config. Do note that this effectively multiplies the VoiceLimit by 64.

WinMM patch

The WinMM .dll provided by the previous OmniMIDI version can be used to patch applications alongside OMv2 for a slight performance boost.