Importing MIDI into DAW, mapping GM instruments to VSTis?
-
- KVRer
- 10 posts since 11 Apr, 2016
So far, I've primarily used MIDI files, with General MIDI instrument numbers and soundfonts. I want to try out a DAW using soundfonts, VSTis, and/or effects.
When I import a MIDI into a DAW, is there any way to automatically assign VSTis to tracks, based on the tracks' original instrument number? Can I keep the old patch numbers around, and dynamically load different VSTis for each patch number, to try different things out?
Do any DAWs support switching between VSTis, based on control change events within a single track? If not, that's OK, I can split the MIDIs into separate tracks.
I haven't decided on a DAW yet, so what should I explore (with good support for this)?
Should I write my own scripting plugin?
When I import a MIDI into a DAW, is there any way to automatically assign VSTis to tracks, based on the tracks' original instrument number? Can I keep the old patch numbers around, and dynamically load different VSTis for each patch number, to try different things out?
Do any DAWs support switching between VSTis, based on control change events within a single track? If not, that's OK, I can split the MIDIs into separate tracks.
I haven't decided on a DAW yet, so what should I explore (with good support for this)?
Should I write my own scripting plugin?
- KVRist
- 149 posts since 28 Sep, 2006
In DAWs you basicaly load midi and than on each shannel you insert VST instrument (plugin) of your choice. What you asked is very dificult to answer with yes or no, because it depends on DAW and even more on Plugin you use. You don't have to buy first and see if it works for you or not. Download Reaper and use it it's free to try for long time.
- KVRian
- 573 posts since 14 Nov, 2005 from León, Spain
Actually you can't. A midi file track number or channel does not say anything about what GM program should it play. It is the program change embedded in the header what, if/when sent to a GM compatible sound module, will select the correct sound. There is no way to tell a DAW to load a VSTi or other based on an existing patch change message in the track.
-
- KVRAF
- 7119 posts since 22 Jan, 2005 from Sweden
If imported midi contain GM patch change messages it can be done in a number of ways depending on what demand is:
a) can a GM VSTi be good enough - it may be a sampler that has a loaded a certain GM libary or a VSTi that has dedicated sounds.
Cakewalk TTS1 is a GM VSTi that comes with Cakewalk Sonar and some other Cakewalk daw products.
You can also use a a general sampler and buy a GM library in a compatible format.
I bought some as GIG libraries which usually are supported by most samplers for import.
b) If having particular demand on which VSTi should play which sound you can prepare Metaplugin from http://ddmf.eu with a number of loaded VSTi's and also midi plugins that can select target depending on patch selections.
A range of free midi plugins for VST is Insert Piz Here forum here on KVR.
You can decide to select depending on midi channel, if keeping total amount of instruments below 16 or patch select.
Let's say you decide that grand piano is on midi channel one, drums are usually on 10 etc.
What you do is just draw the midi connections within what instruments are loaded, and let the midi plugins say which channel goes where.
There are even channel mappings midi plugins where you can decide which channel is converted to another channel to fit what you want to do. In this case you don't even need patch changes with the midi files you import - if all based on a midi channel is one instrument you selected.
Hope you get some ideas how to solve it....
a) can a GM VSTi be good enough - it may be a sampler that has a loaded a certain GM libary or a VSTi that has dedicated sounds.
Cakewalk TTS1 is a GM VSTi that comes with Cakewalk Sonar and some other Cakewalk daw products.
You can also use a a general sampler and buy a GM library in a compatible format.
I bought some as GIG libraries which usually are supported by most samplers for import.
b) If having particular demand on which VSTi should play which sound you can prepare Metaplugin from http://ddmf.eu with a number of loaded VSTi's and also midi plugins that can select target depending on patch selections.
A range of free midi plugins for VST is Insert Piz Here forum here on KVR.
You can decide to select depending on midi channel, if keeping total amount of instruments below 16 or patch select.
Let's say you decide that grand piano is on midi channel one, drums are usually on 10 etc.
What you do is just draw the midi connections within what instruments are loaded, and let the midi plugins say which channel goes where.
There are even channel mappings midi plugins where you can decide which channel is converted to another channel to fit what you want to do. In this case you don't even need patch changes with the midi files you import - if all based on a midi channel is one instrument you selected.
Hope you get some ideas how to solve it....
-
- KVRAF
- 6159 posts since 4 Dec, 2004
There could be though, if developers built in mappings for it. It would be a simple mapping window for GM imports where you'd tell the DAW in a setup screen to load X third party instrument and patch for Y general midi program # on import. As it is now when some do it they do it with their own built in instruments and what appears to be hard-coded mappings that you can't change.JoseC. wrote:Actually you can't. A midi file track number or channel does not say anything about what GM program should it play. It is the program change embedded in the header what, if/when sent to a GM compatible sound module, will select the correct sound. There is no way to tell a DAW to load a VSTi or other based on an existing patch change message in the track.
It would really be, in that kind of mapping window, maybe assigning any instrument preset to any midi program change number.
-
- KVRian
- 1356 posts since 21 Sep, 2013 from California
I think it depends on the source of midi. I have exported midi from Band in a Box and imported into Cubase. Cubase automatically assigns a Halion instrument to each track of the midi and it plays similar to the sound from Band in a Box. But then I can move the midi to another instrument I create and it doesn't bring the original instrument info with it.
-
- KVRer
- Topic Starter
- 10 posts since 11 Apr, 2016
So nobody's aware of a DAW with native or plugin support for MIDI instrument mapping? Even if there's just 1 instrument per track?
Metaplugin looks nice, but it costs money.
Metaplugin looks nice, but it costs money.
-
- KVRAF
- 6159 posts since 4 Dec, 2004
Native sure, third party instruments, not so much. dzilizzi gave you one example, Cubase. When daws auto-map to their own native instruments they appear to not even use the best of their own sounds so you end up changing most of the sounds anyway. It is good to be able to hear it immediately though.jimbo1qaz wrote:So nobody's aware of a DAW with native or plugin support for MIDI instrument mapping? Even if there's just 1 instrument per track?
Metaplugin looks nice, but it costs money.
- KVRAF
- 11162 posts since 16 Mar, 2003 from Porto - Portugal
In Cubase, you can do this. If you import a GM MIDI file, it loads HALion Sonic, and maps all the tracks to GM instruments of its library. It's all automatic.jimbo1qaz wrote:So nobody's aware of a DAW with native or plugin support for MIDI instrument mapping? Even if there's just 1 instrument per track?
Metaplugin looks nice, but it costs money.
Fernando (FMR)
-
- KVRer
- Topic Starter
- 10 posts since 11 Apr, 2016
That's unfortunate...
In my current workflow, I can say "this is a piano" (patch 00), and swap out different soundfonts in the "00 Acoustic Grand" slot. I play MIDIs in foobar2000, where each song gets a sflist file with a big soundfont and per-instrument overrides. This is convenient, because video game music often contains multiple tracks playing the same instrument, but at different panning values, volumes, etc, which I can all change at once.
As a programmer dedicated to automation, I don't find it fun manually assigning each of the 8−20 tracks a VSTi, then changing them one-by-one when I want to try something different.
It seems like the DAW workflow is to hard-code VSTis/routing per-track. I can't say "this track is piano, this track is flute" based on MIDI, then swap out VSTis while keeping them consistent between all "piano"s.
In my current workflow, I can say "this is a piano" (patch 00), and swap out different soundfonts in the "00 Acoustic Grand" slot. I play MIDIs in foobar2000, where each song gets a sflist file with a big soundfont and per-instrument overrides. This is convenient, because video game music often contains multiple tracks playing the same instrument, but at different panning values, volumes, etc, which I can all change at once.
As a programmer dedicated to automation, I don't find it fun manually assigning each of the 8−20 tracks a VSTi, then changing them one-by-one when I want to try something different.
It seems like the DAW workflow is to hard-code VSTis/routing per-track. I can't say "this track is piano, this track is flute" based on MIDI, then swap out VSTis while keeping them consistent between all "piano"s.
-
- KVRAF
- 6159 posts since 4 Dec, 2004
My guess is that if any DAW can pull that off with third party instruments or presets it would be Reaper, because of it's extensive scripting capability. Of course, that won't help you much if you can't code in any of it's multiple scripting languages but maybe someone there can do it for you.
I'd give Reaper probably a ... 90% + chance ... of that being possible. My guess is that it would probably read through midi program changes (like the first PG change on every midi track) and load track templates via a script, track templates that you've maybe already setup for your custom GM instrument set using third party instruments.
That's the power of scripting, a lot of random things become possible.
I'd give Reaper probably a ... 90% + chance ... of that being possible. My guess is that it would probably read through midi program changes (like the first PG change on every midi track) and load track templates via a script, track templates that you've maybe already setup for your custom GM instrument set using third party instruments.
That's the power of scripting, a lot of random things become possible.
- KVRian
- 716 posts since 22 Nov, 2016 from Tokyo, Japan
I remember that was the case with Cubase 5 and HalionOne. Now that I'm on 9, it doesn't seem to do that anymore, is there a setting somewhere that I missed? They're just imported as midi tracks with no instruments assigned now.fmr wrote:In Cubase, you can do this. If you import a GM MIDI file, it loads HALion Sonic, and maps all the tracks to GM instruments of its library. It's all automatic.jimbo1qaz wrote:So nobody's aware of a DAW with native or plugin support for MIDI instrument mapping? Even if there's just 1 instrument per track?
Metaplugin looks nice, but it costs money.
-
- KVRer
- Topic Starter
- 10 posts since 11 Apr, 2016
FL Studio's "VFX Color Mapper" plugin seems very interesting, and would help me move notes between different tracks, while preserving instrument mapping (to help me plan NES chiptunes). Is there any equivalent for other DAWs (Reaper, etc)? I don't have FL Studio.
- KVRAF
- 11162 posts since 16 Mar, 2003 from Porto - Portugal
I didn't try this yet in Cubase Pro 9, but it was working in earlier versions.shidostrife wrote:I remember that was the case with Cubase 5 and HalionOne. Now that I'm on 9, it doesn't seem to do that anymore, is there a setting somewhere that I missed? They're just imported as midi tracks with no instruments assigned now.fmr wrote:In Cubase, you can do this. If you import a GM MIDI file, it loads HALion Sonic, and maps all the tracks to GM instruments of its library. It's all automatic.jimbo1qaz wrote:So nobody's aware of a DAW with native or plugin support for MIDI instrument mapping? Even if there's just 1 instrument per track?
Metaplugin looks nice, but it costs money.
Fernando (FMR)
