VSTi drum kits and midi files

Started by holdenhk, July 30, 2020, 19:35:08

Previous topic - Next topic

holdenhk

Hi,
This is my debut in this forum. I thought there is a straightforward answer to my problem, but I haven't found it, which means the answer is either too obvious (alas, not to me) or there may be no answer at all. Anyway, my problem:
I'm trying to replace generic drums in a midi file with a drum kit (MT Power Drum Kit - it consists of only one set, so no tweaking is necessary, or even possible). What I do is as follows:
1. I load a midi file.
2. I load a drum kit plugin (say, as FX1).
3. I go to 'Instruments' tab, and I go through each drum instrument (crash cymbal, bass drum, hi-hat, snare etc.) and set the 'Plugin/MIDI' to FX1: MT-PowerDrumKit in a drop-down menu.
4. The midi channel is set to 10 (by default), and I either leave it or change to 'mapped' (no difference).
5. Midi bank - I don't know what to do with it, but it seems whatever I do changes nothing. Can this be the answer?
The result: I can hear either the hi-hat only or no drums at all (I don't know what it depends on).
What do I do wrong? If I load the same midi file in Cakewalk and set the output of the drums track to MT Power Drum Kit (loaded as instrument), everything is replaced immediately and sounds exactly as expected. Is there a way to get a similar result in OpenMPT?

peterpiper0815

Have you create an instrument that is set to the VSTi?
If not:
1. Go to the instrument tab
2. create new instrument
3.Choose your Drumkit VSTi in the PlugIn / MIDI section of the instrument tab

Now you should be able to play the drums with your computer keyboard but you probably won't hear them when the MIDIfile is playing cause...

4. You have to change the instrument number in the patterns to play the new created instrument. So select all notes on all channels that play drums, rightclick and choose change instrument.


LPChip

You are lucky, I know that plugin as I've used it myself.

There is one problem with this VSTi, as with many drum VSTi's, it does not adhere to the general midi specs. This drum only has 13 different instruments, and through banks you can load in different sounds, but the general midi specs use 128 different drum sounds. Because the mapping is off, you will not be able to load in a midi track and get it to work magically using the MT Power Drum kit. The only way you can be assured that you can get a 1-on-1 fit, is by using an SF2, SBK or other soundfont bank player vsti and download a general midi bank in a format this player understands, and it will work out of the box, no note editing necessary.

OpenMPT comes with a general midi soundfont bank that is of low quality, but you can download kits of over 100 mb with really good quality online. You can even download drumkits that follow the general midi spec without other instruments. I have really good kits of 7mb that sound about the same as the MT Power Drum Kit. The only difference is that the MT Power Drum Kit has many soundbanks whereas I have to download different kits seperately, and not every kit is equally good.
"Heh, maybe I should've joined the compo only because it would've meant I wouldn't have had to worry about a damn EQ or compressor for a change. " - Atlantis
"yes.. I think in this case it was wishful thinking: MPT is makng my life hard so it must be wrong" - Rewbs

Saga Musix

I cannot reproduce this here. I imported a MIDI file, replaced some drum instruments' samples with the plugin and it was using the correct key.  However, if the instrument is not set up correctly, it may not translate the pattern note to the correct MIDI note. You can double-check by looking at the note map of the instrument - if it maps every note to C-5, you will indeed only hear a hi-hat. The bass drum instrument should for example be mapped to C-3, snare should be mapped to D-3 and so on. Is that not the case?
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

holdenhk

Quote from: LPChip on July 30, 2020, 21:48:05
The only way you can be assured that you can get a 1-on-1 fit, is by using an SF2, SBK or other soundfont bank player vsti and download a general midi bank in a format this player understands, and it will work out of the box, no note editing necessary.
I tried Phenome with several drumkits, but all I got was hi-hats. This led me to a conclusion that appeared in Saga Musix's post (which only confirmed my earlier suspicions):
Quote from: Saga Musix on July 31, 2020, 08:40:27
You can double-check by looking at the note map of the instrument - if it maps every note to C-5, you will indeed only hear a hi-hat. The bass drum instrument should for example be mapped to C-3, snare should be mapped to D-3 and so on. Is that not the case?
This is EXACTLY the case (everything is mapped to C-5). I transposed each instrument manually (ctrl+A) until I reached the standard values (i.e. bass drum to C-3, snare to D-3 etc.) and I achieved some promising results (I can hear ALL the drum instruments from the song), at least with some drum kits (e.g. "1115-Standard Rock Set.sf2" and "Elec. Percussion.sf2" - unfortunately it's not the sound I'm looking for - they're not better than the generic sounds, at least with default settings; the "1276-The KiKaZ DrUmZ.sf2" is much better). It seems we found a solution, and although it does require some manual intervention, it's not a big deal - it works, and that's what counts.
However, it doesn't work with many drum kits I tried, which brings me back to LPChip's post:
Quote from: LPChip on July 30, 2020, 21:48:05
an SF2, SBK or other soundfont bank player vsti and download a general midi bank in a format this player understands
Any suggestions on a recommended, working combination (i.e. which sf player and which bank you use)? As I said, I use Phenome and drum kits from flstudiomusic's "56 free drum & percussion soundfonts" and MIDIDRUMS TAMA ROCKSTAR DYNAMIC BANKS, and I keep searching and trying, but there may be a known, good solution at hand? Does it also mean I should forget all the kits that don't work after the transposition I mentioned above?

Saga Musix

QuoteThis is EXACTLY the case (everything is mapped to C-5).
Upgrading to the latest version of OpenMPT should fix the issue then. This was a bug in OpenMPT 1.29.01.00 only.

This has nothing to do with finding a better soundfont or better soundfont player.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

holdenhk

Thanks! I've just tried MT Power Drum Kit and it works like a charm! :D

holdenhk

I did some experimenting with various drum vsti's and sound fonts and I noticed that there seems to be no single method of 'translating' the notes in drum sequences from OMPT-derived midi files. The first thing that draws attention is that the drum mapping in OPMT is different from MIDI General Map, e.g. in OMPT, bass drum is mapped to C-3, whereas in GM it is C-1 etc. Despite displaying GM labels, some vsti's play the OMPT-generated file notes well (BeatFactory by BeatSkillz), some don't (Drum Pro), and some do it with partial success (Sitala - though I'm not done with it yet, as it is highly customizable and very promising). What does it depend on? I tried changing either the OMPT sample map to GM (in the instruments tab; all bass drum notes are mapped to C-1) or made sure notes in OMPT tracks correspond to GM (e.g. all bass drum notes are C-1's only), but the results are at best mixed (but usually bad). What surprises me most is that my tracks use mainly standard instruments (bass drum, open and closed hi-hats, cymbal, electric snare, hand clap, and sometimes toms), and the only one that may not be seen in many sets is the electric snare (and, surprisingly again, this one is usually played correctly, often replaced with a standard snare or a hand clap). Still, what gets messed up most are hi-hats (and they ARE standard) and the hand clap.

Saga Musix

OpenMPT does not use scientific pitch notation, hence the difference in octaves. C-5 in OpenMPT is middle-C. This is also taken into account when importing MIDI files, of course, so if there is a MIDI note 60 in a MIDI file, it turns up as C-5 in OpenMPT, and if you send that to a VSTi it will be sent as MIDI note 60 again. Any drum plugin that follows the General MIDI note assignments should thus "just work" with OpenMPT. If the plugins that you mention don't exactly follow General MIDI drum mapping, there is nothing OpenMPT could do to fix them. If your MIDI files work in other MIDI software using the same VSTis, the only thing I could guess is that you rely on certain MIDI messages that OpenMPT's limited MIDI import does not support to make them work. Without seeing the exact files you are working with, it's hard to tell.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

holdenhk

Quote from: Saga Musix on August 16, 2020, 12:36:38
Any drum plugin that follows the General MIDI note assignments should thus "just work" with OpenMPT. If the plugins that you mention don't exactly follow General MIDI drum mapping, there is nothing OpenMPT could do to fix them.
Thanks. I was afraid it is so. The fact that some plugins easily read the OpenMPT midi transcription, while others don't, indicates the problem doesn't come from OpenMPT. I just hoped it might be possible to "force-tweak" it somehow.
It turns out MIDI standard is not as "standardized" as one may think, and it makes me wonder why certain plugins are set (without a possibility to change it) to work they way they do, even though it must be obvious to their creators that quite a few users will get frustrated because of this (and just because it's freeware doesn't mean it has to be this way).

Saga Musix

Quote from: holdenhk on August 16, 2020, 13:57:44
It turns out MIDI standard is not as "standardized" as one may think
There's a distinction to be made here: MIDI, the protocol, MIDI the file format and General MIDI:
  • MIDI itself is just a message protocol and is not the issue here.
  • MIDI files (or more precisely, Standard MIDI Files [SMF] files) contain arbitrary messages of the above MIDI protocol. Standard MIDI Files may adhere to General MIDI mappings or not. Most people assume that these files always adhere to General MIDI mappings but that is not true.
  • General MIDI: MIDI does not define any instrument assignments, that's what General MIDI does. General MIDI gives fixed meanings to MIDI program numbers and drum keys, however there is no need at all for any VST plugin or MIDI device to follow the General MIDI standard - in fact, many of them don't, or it's just an optional mode that has to be turned on explicitly. As an example, only about a third of all my MIDI hardware is compatible with General MIDI, and that is okay because I use it to create music, not to listen to MIDI files that adhere to General MIDI mappings.

The fact that most MIDI gear is not GM-compatible is because while General MIDI is universal, it's also limiting at the same time. New synthesizers are released constantly to make it possible to create new sounds not heard before, and not to be able to play the same 128 instruments as defined 30 years ago in the General MIDI standard.
Especially for drums it can make sense to deviate from the General MIDI standard because its drum kit is rather limited. For instance, General MIDI only has two cymbals, and I'm sure you have seen real drum kits that have more than two cymbals. Any proper drum plugin that wants to emulate such a drum kit will have to choose a mapping that differs from General MIDI. This is not an oversight in General MIDI - it's meant to be comprehensive enough to express a wide variety of music, but it's not feasible to standardize every single instrument that has ever existed into a single standard.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

holdenhk

Quote from: Saga Musix on August 16, 2020, 14:18:15
it's not feasible to standardize every single instrument that has ever existed into a single standard.
I realize that. I just expected the "core" standard drum kit instruments (bass drum, snare, closed hi-hat, open hi hat, cymbal and tom) to be a universal "obvious" setting, understandable to any plugin. But, of course, there is more and more growing variety even within this core set, so it's understandable that rigid standards won't survive. When I experimented with a free Motown drum kit sound font, I found that tweaking an F#3 hi-hat (in OpenMPT) to F-3 brings a noticeable improvement, and I see your point.
Anyway, it seems I found the right tool - Sitala. It has 16 panels, each fully customizable. You can replace any pad with any instrument from a sample file, so you can create a different drum kit for any given song. For now, it can read all the notes from OpenMPT, albeit with some surprising outcomes (bass drum may be read as conga, hi-hat as tom etc.), but it takes a minute or two to put everything in the right place.
Once again, thanks for the info.