OpenMPT released

The latest version of OpenMPT has been released today.
Even though the version jump is big (from OpenMPT 1.20 to 1.21), this version brings just a few new features and improvements, but they are crucial enough to deserve a new version number. These are the highlights of the OpenMPT 1.21 "Christmas release":

  • Support for FLAC samples (both reading and writing) has been added!
  • The treeview can now be used to rearrange (drag and drop), insert and duplicate (through the context menu) samples and instruments (yes, this was supposed to be possible in OpenMPT 1.20 already, but it was really buggy).
  • An option to quantize recorded notes has been added. Notes that are recorded live through MIDI or the computer keyboard can be quantized, i.e. they are shifted up or down to the closest row that is a multiple of the quantize setting. Even with a quantize value of 1, this provides much more accurate results that not using quantization at all!
  • New Data Entry shortcuts can be used to increase or decrease the value of the currently selected pattern cells (note, instrument, effect parameters), either by +/- 1 or by a coarse value depending on the column.
  • If no selection has been made, interpolation shortcuts now interpolate between the nearest notes / instruments / commands above and below the cursor position.
  • New stereo to mono sample conversion modes: Keep only left / right channel, split stereo sample into two mono samples.
  • It is now possible to drag and drop multiple samples / instruments from explorer.
  • Moving the envelope tail (using Ctrl + Drag) in the instrument editor also works properly if the distance between the moved point and the following point is small.
  • Usability improvements when click-dragging the mouse over the sample map.

For a complete list of changes, have a look at the release notes and the full version history.


Denis Burns says:

I just installed the "arachno-soundfont-10-sf2" and it makes all my midi sound awesome in media player but when I load midi into OpenMPT it does not sound so good. Tried to change the output port to "CoolSoft_VirtualMIDISynth_1.6.3" but I could not find where to change it or indeed if it was possible. Works in Anvil Studio though. Please find time to add this or make it easier to find.

For me this is the best tracker of them all so I would love it if you could eventually find the time.

Saga Musix says:

OpenMPT was never meant to make General MIDI sound good. If you want good sounding MIDI output, use dedicated MIDI software/hardware. OpenMPT just tries to import MIDI files as well as it can, and that will not change.

DaVince says:

Then how about the soundfont support? The samples that they contain is exactly the reason I use soundfonts in OpenMPT (they export to plain sample files afterwards anyway), and some soundfonts just open up with very off-key notes.

I'm not asking for MIDI support, that's not what OpenMPT is for (though the support that IS there is a nice bonus). But MPT has been opened up for so long I expected at least someone start working on the wonky soundfont support. If the reasoning for not doing so is "OpenMPT is not for making MIDI", then that reasoning is flawed since sf2 provides a perfectly valid use outside of MIDI. Though fixing soundfont support would incidentally also fix imported MIDIs that don't sound too good.

Of course, I might be one of the VERY few people out there trying to use soundfonts with OpenMPT. But there just are some out there that sound so good! :P

Saga Musix says:

SF2 is an insanely complicated standard, partly because it was always supposed to be backwards-compatible (best examples are stereo and 24-Bit instruments) and partly because it simply doesn't work the same way as modules work. Well, at least you said that you expected someone to start working on the soundfont support and not the main dev, because I certainly won't be the person to do it. :) When I use soundfonts I am usually either happy enough with what OpenMPT does, or I use sfz to render out samples. Everyone is free to have a look at the code and fix it, but as you can see noone has done that in the last nine years.

Maxime Abbey says:

Hello Denis, Hi all,

I'm the author of the Arachno SoundFont and I'm glad you liked it ;)

I've also been a devoted user of ModPlug Tracker/OpenMPT some years ago, so I guess that I should be quite able to answer your questions!

Back when I was actively working on Arachno SoundFont and composing some tracked music on MPT (my last released track, "Green Hills", was published in 2007), I also had a painful experience using SoundFonts on OpenMPT. I actually opened some forum threads about it on French forums, such as AudioFanzine or TrackersAtWork, just to find that I was the only one wanting to compose music with a tracker and SoundFonts...

The main problem I had back then (OpenMPT was just brand new) was that its SoundFont import module couldn't properly import multi-layered SoundFonts, like mine. If you have a few minutes, let me explain what it means.

A multilayered instrument is built from several samples covering the same note ranges, with different parameters, to obtain a richer sound. If you take some examples from Arachno SoundFont, like the pads (Fantasia, Soundtrack...), most are built using a strong sound for the main part (e.g. the original sample from the Roland D-50 synth) and some string samples to obtain a continuous (looped) sound with sustained notes, until you choose to cut them off (== on MPT).

So, the problem is (as I assume that it's still the case) that MPT usually imports the first part(s) of the multilayered instruments while you're grabbing them from a SoundFont. As a result, once converted into a module instrument, you'll only hear the first sample while playing it. If you're importing a SF2 preset on which the first sample is the biggest (louder) one, it will sound somewhat close to what you're hearing on your MIDI synth. But if the first sample is some "background" stuff, it'll sound weird.

I tried EVERYTHING I found back them, just to properly import my SF2 instruments on MPT and compose using them: converting them to DLS or some other bank format, using some VSTi software synths (e.g. sfz - BASSMIDI Driver and VirtualMIDISynth weren't available back then) or even hardware ones (eg. Sound Blaster Live!, X-Fi...) to reproduce sounds using MIDI events... I always was out of luck.

So, for my latest tracks, I ended up sampling the instruments I had on Arachno SoundFont as plain wave sounds (one per note range...) and rebuilding new raw module instruments from them, just to obtain the sound they had on my MIDI synths. But it was an extremely long process which clearly discouraged me. I took the time to compose four tracks using this process from 2006 to 2007, but was so bored that I didn't go on.

Later, with the enhancements brought by OpenMPT, I actually succeeded having great sounds using a software synth and VSTi "instruments". But, it came with other problems related to MPT's VSTi management (e.g. VSTi settings not being recalled when reloading a song, random crashes). I retried many times later, using quite professional software and hardware (E-MU Emulator X3 and MOTU UltraLite) but I gave up due to buggy rendering with MPT - REAPER being the only DAW on which I had somewhat satisfactory results with both.

The problem being that I can't get used to sequencers... So, I'm still sticking with OpenMPT, and nearly stopped composing music because of all these issues. I love MPT and the tracker approach, but handling VSTi with it for all instruments is quite painful. I somewhat retried the process with my (then) brand-new Core i7 PC, but nothing had changed.

So, just like you - and that's why I was so happy to read your experience - as of today, I still dream of a new version of OpenMPT which would definitely fix the SoundFont import process, so I can enjoy composing with it again, without having to deal with the power-hungry and buggy VSTi technology (just keeping it for effects).

The solution could be to actually import ALL samples from the SF2 preset as several instruments (one per wave sample) and create a "meta" master instrument without samples, which would be here only to drive all the other instruments while being triggered. Don't know if I'm clear... as far as I can remember, the new MPTM format had somewhat close to that "multilayered" instrument approach, but I'm not sure about that.

It's even more frustrating when you know that I'm actually a professional developer (working mostly in C# .NET, but with a good experience in C++/Qt and Delphi) but I don't know if I'll ever have some time to look into OpenMPT's code and check whether I could help on this point. Even if I know that the rock-solid SoundFont software synths we have nowadays (BASS engine, BASSMIDI Driver, CoolSoft VirtualMIDISynth, SynthFont...) might come with useable source code I could also explore.

Or, just like you said, enhancing MPT on the pure MIDI side (so we can use it to produce pure MIDI tracks, triggering note on/note off events, program and channel changes...) could also help having, at least, a nice piece of software which could produce music using an external SoundFont synthesizer for sound output. But it's a quite tricky task too. I tried some MIDI-enabled and enhanced trackers as well (eg. BeRoTracker, MIDI Tracker, Renoise...) just to find that their MIDI implementation wasn't really close to what I was expecting.

Well, sorry for a so long message. But I'm so glad to find *at least* someone who understands music composition just like I do! I don't want to blame MPT for anything (having spent so much good time with it) but the dream I had some years ago woke up while reading your messages... so, let's hope!

Saga Musix says:

Have you ever reported any of these plugin issues (like plugins not recalling their parameters, etc.), apart from the E-MU plugs? I'd say that most of them should be fixed by now, or are the fault of the plugin itself (like the E-MU plugs stealing menu focus).

And nope, even the MPTM format doesn't bring any "layered" instruments - for now, at least. While it would certainly be nice to have them (at least having an additional velocity layer), it would be complicated to implement and isn't of any priority right now.

PS: Cool to see a soundfont based on some of the best synths around, although I'm glad enough to have access to most of them in some form or another. ;)

Maxime Abbey says:

I had reported some of these issues (if not all), as some of them were effectively fixed in some OpenMPT version. I used to communicate mainly with rewbs, IIRC.

I also remember of this menu focus issue in Emulator X... I think that I found a workaround back then, but don't really remember the trick.

I'll have to retry using Emulator X or other VSTi in the latest version of OpenMPT, as I still have all the MPTM projects I made.

PS: I also own some nice synths I've used to sample some instruments in Arachno SoundFont (Roland D-550, MT-32, Sound Canvas SC-8850 / Korg M1R-ex, X5DR / Yamaha MU1000) along with a few software stuff. So, I only have to find the time experiencing OpenMPT again, now :)

Kit Wistful says:

Wow! This was a little while ago, but I guess I'll pop in anyways. Back when I used my poor little single-core netbook, I often had to make compromises with resources. I found that Font! player runs lighter than sfz (search for "Font!sf2" and you'll find it). I still avoid piling on the vstis, but after that the only issue is making the different instruments play nicely with each other. (I usually have to put a vst amp of some sort on the soundfont player, since they can be so quiet in comparison to everything else).

It'd be nice if MPT could import soundfonts as sample instruments or something, but I understand that it's not likely to happen very soon, if at all.

Saga Musix says:

Well, depending on your definition of "sample instruments", it already does that, it just doesn't do it very well due to the complexity of the standard. :)

Saga Musix says:

This might be interesting for you guys - reViSiT 1.8 will bring SF2 and SFZ support, so in theory you can load reViSiT into OpenMPT and have a tracker within a tracker (yo dawg) with SF2 support.

MichaelXM says:

I would like to see a playlist incorporated into openMPT. Yes I know it is an editor..but with my experiences using it, it is also an excellent playback program. Just a thought :)

Saga Musix says:

Just wait for libopenmpt, which will enable OpenMPT's engine to be used in other players as well. No need to make OpenMPT an all-in-one device for every possible purpose when there are great programs like XMPlay out there.

jmkz says:

Yeah I agree too, there are many excellent programs, but will libopenmpt still support VST and ASIO?

Saga Musix says:

libopenmpt is a decoder library, not a playback library, so it doesn't have to support ASIO - the program making use of the decoder has to (e.g. XMPlay). VST support won't be there at the beginning, but might come back later.

MetalHead7 says:

I can't drag certain soundfonts into the instrument window in order to use them, is there any particular reason for this?

Saga Musix says:

If you happen to have more than 50 soundfonts installed, only the first 50 soundfonts will work - this is a currently limitation which I'm not sure how to fix.