Qtractor not saving the MIDI info when exporting a MIDI

Support & discussion regarding DAWs and MIDI sequencers.

Moderators: MattKingUSA, khz

Hoff123
Established Member
Posts: 17
Joined: Sun Mar 17, 2013 2:28 pm

Qtractor not saving the MIDI info when exporting a MIDI

Post by Hoff123 »

Hi! I am using Qtractor, Qsynth and a couple of other programs using KXStudio, and when I am finished with a song and I go to "Track->Export Tracks->MIDI"(always only MIDI lol), it doesn't actually save the the "instruments". Meaning, when I "play" the midi in another program or another OS(Windows 7...), it plays the wrong instruments. The drums are always correct though.. Am I missing something here? Is there anything I need to learn/set about MIDI banks or whatever? Sorry, I'm still kind of a noob at this...
User avatar
rncbc
Established Member
Posts: 1068
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 270 times
Contact:

Re: Qtractor not saving the MIDI info when exporting a MIDI

Post by rncbc »

MIDI only knows about which bank/program numbers must go into which MIDI channel (1-16).

these bank/program numbers are NOT the same for every MIDI sound-module or synth in the world. although there's a few old standards on these mappings (GM, GS, XG) that greatly depends on the synth/sampler implementation and configuration of course.

incidentally, the GM standard says that MIDI channel 10 is reserved from drums/percussive instruments, which is a recommendation generally implemented by default on most multi-timbral MIDI instruments in existence. that's why you often have drums playing alright on most MIDI renderings.

but don't (ever) trust a particular bank/program number will address the same instrument on all circumstances. as said, it works more or less right if the MIDI synth/sampler/sound-generator supports some particular standard (eg. GM) through its MIDI bank/program instrument mappings and it's definitively configured with the same instrument mapping for which the MIDI file or sequence performance was originally created or written to.

so, back into qtractor particularities: you must assign a definite instrument by setting its proper bank and/or program number to MIDI tracks. if you don't, then nothing of such settings will appear on the exported MIDI file and thus, it will just render on some default instrument mapping if any. that most probably will NOT render the same voicing or sound you wished for, unless you're playing it back through the very same synth, with the very same configuration (eg. soundfont) as it was originally posted.

cheers
Hoff123
Established Member
Posts: 17
Joined: Sun Mar 17, 2013 2:28 pm

Re: Qtractor not saving the MIDI info when exporting a MIDI

Post by Hoff123 »

Oh sorry, I don't know why I didn't explain more of what I was using(also I'm swedish so if my grammar and spelling is bad, I'm sorry). Basically I am at the moment using only Qtractor and Qsynth, but not Hydrogen or some other synthesizer or something. Only Qsynth using the Fluid-GM soundfont(so yeah, General MIDI). I think the problem is I'm not sure what to set the banks to. The drums I always have on channel 10 and they always works. I thought I set the banks to the right bank(0) and the instruments to whatever I wanted to use(in the Track Properties), but as I said it doesn't actually "save" the information.

Also downloading MIDIs(mostly from vgmusic hehe) always works. The instruments are always right no matter what program I use to edit or play them.
User avatar
rncbc
Established Member
Posts: 1068
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 270 times
Contact:

Re: Qtractor not saving the MIDI info when exporting a MIDI

Post by rncbc »

you can try this:

1. on View/Instruments... import the Fluid GM soundfont into your regular instrument definitions; you do this only once;
2. on each MIDI Track/Properties... select the Fluid GM instrument definition just declared in 1.;
3. follow that by selecting the bank and/or a program from the now provided intelligible drop-down lists;

once you have these all set up, for every MIDI track/channel in session, you may wish to export and confirm that those settings are now included on the exported MIDI file. however remember that MIDI file only stores the bank/program numbers, not names. it doesn't have a clue whether you're using any particular soundfont or other instrument definition at all.

cheers
Hoff123
Established Member
Posts: 17
Joined: Sun Mar 17, 2013 2:28 pm

Re: Qtractor not saving the MIDI info when exporting a MIDI

Post by Hoff123 »

ARGH!!! It still doesn't work! I don't know why???!!!!

But a huge thanks to what you wrote. I had no idea about that instrument part :).


EDIT Also, everytime I restart my computer(or log out and log in) and I start Qtractor and all the other stuff, even though the tracks are all set up correctly, I have to got to Track Properties and change the "program" and then change it back again for it to take effect(in Fluidsynth/Qsynth). For EVERY track(well, except for the drums I think). This stuff is weird... :(
User avatar
rncbc
Established Member
Posts: 1068
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 270 times
Contact:

Re: Qtractor not saving the MIDI info when exporting a MIDI

Post by rncbc »

some evidence might be helpful here

eg. screenshots, the midi files, pre- and post-whatever you see/think it should work otherwise

cheers
Hoff123
Established Member
Posts: 17
Joined: Sun Mar 17, 2013 2:28 pm

Re: Qtractor not saving the MIDI info when exporting a MIDI

Post by Hoff123 »

Here is a zip file with the project and all it's midi files and 2 exported midis(but they are different). Play around with all it how ever you like :).

http://www.mediafire.com/?dpeukx6zyy64vry
User avatar
rncbc
Established Member
Posts: 1068
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 270 times
Contact:

Re: Qtractor not saving the MIDI info when exporting a MIDI

Post by rncbc »

ok. thanks.

let me tell you that the exported MIDI files are correct as they should: each track/channel has its bank/program-change number as it should. however, as said previously, no midi file retains information about the precise instrument definition that is originally assigned while on qtractor--that instrument information is in fact lost in the translation to the midi export function.

anyway, all seems to be working fine and as designed, from where i stand :)

cheers
Hoff123
Established Member
Posts: 17
Joined: Sun Mar 17, 2013 2:28 pm

Re: Qtractor not saving the MIDI info when exporting a MIDI

Post by Hoff123 »

So you're saying I CAN'T do it? All I want is to SAVE the "info" about what programs and banks to use in the midi file so that it will play the right instruments in other operating systems. I thought that was the whole point of General MIDI? Or is it just that Qtractor can't do it, for whatever reason? If so... why?

As it is now, I guess I have to import the exported midi file(s) in to another program(Anvil Studio in Windows) and then set the instruments there, because that seemed to work...


EDIT Seems I confused "Instrument" and "Program" a bit. Sorry. I'm talking about the PROGRAMS and not the "Instruments" or whatever you/we call them...lol... I know that it sounds different depending on what synthesizer and stuff you use, but I just want the bank and programs to save, and you said it did, but it doesn't work for me for some reason...

Also I googled about some things and found out about "MIDI events" and "program-change" or something. Can you edit stuff like that in Qtractor? Or how does this stuff work. You don't have to give me a whole book on MIDI or anything, I was just googling around...lol...
User avatar
rncbc
Established Member
Posts: 1068
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 270 times
Contact:

Re: Qtractor not saving the MIDI info when exporting a MIDI

Post by rncbc »

please note that midi bank-select and program-change events are being perfectly stored into your exported midi files.

the exported midi files as you provided above are evidence of just that.

otoh. qtractor only remembers your instrument assignments in the context of a session. that usually means that if you're importing any midi file into a new blank session then you'll certainly have to re_assign instrument definitions on each track/channel no matter what. but note that the bank/program numbers still apply.

hth.
cheers

ps. hInt: qtractor templates (.qtt) might get handy over here. if you're still interested ;)
User avatar
rncbc
Established Member
Posts: 1068
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 270 times
Contact:

Re: Qtractor not saving the MIDI info when exporting a MIDI

Post by rncbc »

please note that midi bank-select and program-change events are being perfectly stored into your exported midi files.

the exported midi files as you provided above are evidence of just that.

otoh. qtractor only remembers your instrument assignments in the context of a session. that usually means that if you're importing any midi file into a new blank session then you'll certainly have to re_assign instrument definitions on each track/channel no matter what (*). but note that the bank/program numbers still apply.

hth.
cheers

(*) ps. hInt: qtractor templates (.qtt) might get handy over here. if you're still interested ;)
Hoff123
Established Member
Posts: 17
Joined: Sun Mar 17, 2013 2:28 pm

Re: Qtractor not saving the MIDI info when exporting a MIDI

Post by Hoff123 »

You must be getting really tired of me by now(lol), but I'll just tell you what's actually happening.

1. I export a song I have made by going to "Track->Export Tracks->MIDI"
2. The exported MIDI file plays correctly in Qtractor(with all the banks/programs working as they should)
3. I try it out in another program or OS(Audacious and Rosegarden in Linux using Fluidsynth, Windows Media Player and Anvil Studio using the default crappy Wavetable thing...lol in Windows 7). It doesn't play the right programs. The drums always works(as I've already said), but everything else, nope. Either they are all set to Piano or not at all, or sometimes even a completely different instrument(really weird). And I'm talking about the EXPORTED MIDI files here.
4. Restart the computer and start JACK and Qtractor and Qsynth and whatever I need, and open up the project I finished last time to see if I did something wrong. And now, by default the tracks in the project(in Qtractor) doesn't play the right programs(for example one track may play piano instead of guitar...). And I have to re-set all the programs for the tracks for it to take effect. Everytime I restart my computer(or log in/log out). Drums always works...lol...

OK, I don't know what's going on here, and I don't want to keep this thread going on for ever, but I just want it to work... Otherwise I'll just have to use multiple programs, because it seemed to work.
User avatar
rncbc
Established Member
Posts: 1068
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 270 times
Contact:

Re: Qtractor not saving the MIDI info when exporting a MIDI

Post by rncbc »

Hoff123 wrote:You must be getting really tired of me by now(lol), but I'll just tell you what's actually happening.
nah :)
Hoff123 wrote: 1. I export a song I have made by going to "Track->Export Tracks->MIDI"
2. The exported MIDI file plays correctly in Qtractor(with all the banks/programs working as they should)
3. I try it out in another program or OS(Audacious and Rosegarden in Linux using Fluidsynth, Windows Media Player and Anvil Studio using the default crappy Wavetable thing...lol in Windows 7). It doesn't play the right programs. The drums always works(as I've already said), but everything else, nope. Either they are all set to Piano or not at all, or sometimes even a completely different instrument(really weird). And I'm talking about the EXPORTED MIDI files here.
4. Restart the computer and start JACK and Qtractor and Qsynth and whatever I need, and open up the project I finished last time to see if I did something wrong. And now, by default the tracks in the project(in Qtractor) doesn't play the right programs(for example one track may play piano instead of guitar...). And I have to re-set all the programs for the tracks for it to take effect. Everytime I restart my computer(or log in/log out). Drums always works...lol...
there must something wrong with your setup indeed. on my call, i've been opening and reopenning ad nauseum the files you provided above and all plays fine as i think it should. i mean, "piano" plays piano, "acoustic bass" plays bass, "legend e-piano" plays e-piano, and of course "drums" plays "drums", no matter it goes through qsynth (several GM soundfonts) or into some of my beloved but genuine XG hardware junk :)
Hoff123 wrote:OK, I don't know what's going on here, and I don't want to keep this thread going on for ever, but I just want it to work... Otherwise I'll just have to use multiple programs, because it seemed to work.
are you sure you're having everything stable on the qsynth/fluidsynth side? please, check soundfont stack. double check channels mapping, i also mean it in realtime, while you're playing the MIDI piece.

cheers
Hoff123
Established Member
Posts: 17
Joined: Sun Mar 17, 2013 2:28 pm

Re: Qtractor not saving the MIDI info when exporting a MIDI

Post by Hoff123 »

So I just made a REALLY simple "song" using 4 different GM instruments/programs, and no VMPK or anything - only my mouse - and still it's not working... As soon as I try to play the exported MIDI in another program(also using Fluidsynth) or in another OS, it won't set the tracks to the right programs... So, what's the problem here? I just don't get it?!


OK, so I do not have to boot into Windows and look in Anvil Studio or anything, because I noticed that Rosegarden works just as well.
And loading the exported MIDI file into Rosegarden, this is what I see:

Track 1 says "Yamaha Grand Piano" but plays "Electric Piano 2"(the 6th GM program). Huh? That's really weird. But the name is still right, lol...
Track 2 says "Imported MIDI" and plays the wrong program. And on the side you can see what program and bank the tracks use and Rosegarden says it uses nothing... "Bank" and "Program" isn't checked at all...
Track 3 is the same as track 2.
Track 4 is drums, so that works(always does lol).


See, something does get lost when I export the MIDI file. Did you try it in another program than Qtractor, or is my computer just messed up or something? Lol...
But I honestly have no idea at all what's going on here. It seems completely random...


EDIT Exporting from Rosegarden works...
Last edited by Hoff123 on Fri May 03, 2013 1:43 pm, edited 1 time in total.
User avatar
rncbc
Established Member
Posts: 1068
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 45 times
Been thanked: 270 times
Contact:

Re: Qtractor not saving the MIDI info when exporting a MIDI

Post by rncbc »

just for the records, here my evidences:

a. just after Track/Import Tracks/MIDI... (file Death_Mountain-export-1.mid)
a. just after Track/Import Tracks/MIDI...
a. just after Track/Import Tracks/MIDI...
Death_Mountain_1.png (98.25 KiB) Viewed 1648 times
b. after assigned each imported track with an instrument definition (as from a decade+ old cakewalk general MIDI (GM).ins file)
b. just after assigned each imported track with an instrument definition.
b. just after assigned each imported track with an instrument definition.
Death_Mountain_2.png (100.78 KiB) Viewed 1648 times
as you can see, from my pov. and the program too, the bank/select numbers are correctly stiored in the midi file (see Patch column in a.) and they get correctly named after (columns Patch and Instrument in b.).

as said, the file tracks plays correctly here, even from the command line (with aplaymidi).

seeya
Post Reply