You are here

Midi keyboard controller mapping

Hello, I'm a newbie in qtractor but I like it a lot. One thing I can't understand, though, is how to map my midi keyboard (Oxygen 61) to do basic things like controlling faders, knobs, buttons and transport control. I would love it to be Right click > [map] > [move a knob/button/key on my keyboard] and voilá!

I really can't find the way of mapping via the "controllers..." option. In the manual I have there's no mention to this feature, it's outdated but despite that, is helpful as an introduction to the software. I haven't found any tutorial on this subject on the web neither. If anyone can give me a hint I'd be more than grateful.

Besides this suggestion, I want to thank Rui and everybody responsible for this awesome software.

Forums: 
rncbc's picture

Sorry for the (huge) delay in reply. maybe you already found the way :)

Ok. Re. View/Controllers... configuration dialog. First of all, at this time, there's something you ought to know about Qtractor MIDI control support:

a) Transport functions are only driven via MMC and/or SPP. Go check whether you keyboard do support these modes (eg. my Akai MPK25 does either).

b) You can only drive the controls that are present in the mixer and only for tracks: gain/volume, pan, record, solo, mute and monitor. Nothing else. Though, you can only assign MIDI Controller event type (CC) to any of those.

c) There's no MIDI learn feature, yet. You'll have to fill the View/Controllers... table by hand and in generic parametric form, if you know what I mean. I'll try to explain this procedure in a next reply for you, if you're still here :)

Meanwhile, you could have a quick read on this old thread, Re: MIDI Control for Qtractor and have some clues. Don't get overwhelmed by developers mambo-jambo and go directly to that comment reply where I skim the View/Controllers dialog in a hurry :)

Cheers

I had found the message you refer to in the thread "Midi control for QTractor" thanks to Louigi Verona, I completely overlooked it before posting, sorry.

I'm closer but haven't succeeded yet. I'm having a harsh time understanding the CC numbers, MMC etc. I think I get it now but still can't succesfully map all I want in Qtractor (considering of course what you explained in the latter response: "You can only drive the controls that are present in the mixer and only for tracks"). I had a little success but I'll keep trying!

Thanks for taking the time to answer and of course I'll still be around, I love Qtractor! Whenever you have the time I'd like a thorough explanation.

Thanks Rui, much appretiated
Matías

rncbc's picture

hi,

First of all, before you get puzzled with the CC numbers, you should read the MIDI implementation sheet of your keyboard, probably in its user's manual.

You can also try aseqdump to see which MIDI events are actually sent by when you turn one of the keyboard knobs or sliders if any. Knowing that then it's just a matter of mapping the source channel and CC numbers to the intended Qtractor mixer track control, either volume, pan, solo, mute, record or monitor.

If your keyboard supports MMC then it all should already work OOTB, no need to tweak a byte on the View/Controllers... dialog.

Show me the numbers and I'll tell you what you can do ASAP.

Cheers

Rui,

I can't tell how happy I am at this moment, I can't believe I'm controlling Qtractor with my keyboard! The aseqdump suggestions was the key for me to understand the whole thing. I set the values of MMC numbers to the transport control in my keyboard and they indeed worked OOTB, awesome. Autostatic was big help too.

What I'm having a bit of trouble now is with the mapping of buttons, but that has nothing to do with Qtractor, it's a configuration issue of my keyboard so this would be extra topic. When I press one of the buttons, the "aseqdump" replies the following (I show pressing button 1, then button 2). But I don't see a CC number I could map to.

28:0 Control change 0, controller 0, value 0
28:0 Control change 0, controller 32, value 0
28:0 Program change 0, program 0
28:0 Control change 0, controller 0, value 0
28:0 Control change 0, controller 32, value 0
28:0 Program change 0, program 1

I'm trying to setting toggle values for buttons so they send one value when pressed the first time and another when pressed the second. I'll post if I succeeded in that.

I'm ready to work on my music completely now, thank you very much.
Matías

P.S: *THE FOLLOWING ARE JUST MINOR DOUBTS.*
Silly question, the pause/stop in qtractor is indiferent, right? they both do the same action (pause) or is it just me? Another thing I didn't find a "Loop" MMC number but my keyboard has a loop button (in the manual it says: "Holding the Loop button while pressing one of the other Transport Control bbuttons gives access to additional Pro Tools transport functions"), it'd be great if I could use that, but I'm already so satisfied with the accomplished that I don't really care much.

rncbc's picture

Reading from the aseqdump output above those buttons are set to send BANK SELECT (CC0,32)+PROGRAM CHANGE events, not quite just generic CCs. Maybe you can reconfigure that behavior at the keyboard side, otherwise it won't cut as far as the Qtractor MIDI controlables go ;)

Cheers

I understand, I will do that.

Thanks again Rui

That solved my last problem, now I can control everything controllable in Qtractor with my keyboard.

Thank you very much Rui. You have a big fan over here.

Matías

rncbc's picture

Awesome! Now's the time to share your success with any other owners of the same keyboard (Oxygen 61 IIRC?).

Cheers

Yes, no doubt about it. I'll be back in a few days and discuss in the forums. It's an oxygen 61 indeed.

Thanks Rui

Hi Rui,

Just wanted to tell you that I've been using Qtractor a lot, I love it. I'm thinking on making some videos showing what I know in an overview form, to show some functions and a session, but I'd like to discuss that with you further in some other time (I saw a thread on video).

After mapping succesfully my keyboard I noticed some irregularities in the behaviour of the controllers. I can't say if that's an issue of my keyboard, a mistake I made when mapping, malfunction of my OS or just a little malfunction of Qtractor. Either way it hasn't affected my workflow and it's not even a bother but I thought that letting you know would be the right thing.

This is the "problem": I mapped 9 faders, 9 buttons, and 8 knobs to my keyboard. All of them work and control track parameters as expected. The only thing is that some knobs control more than one parameter, even though they are not mapped for doing so. For example, when I have two tracks, the gain of the second track is controlled by the knob #2 (which is the one I mapped) but is also controlled by knob #5. Now, here's the strange part, when I add 5 tracks, the knob #5 controls the gain of the 5th track as expected, but it "magically" don't control gain of the second track anymore, so it's solved. That happens with some knobs and faders.

Well, that's it.
Thanks Rui

Matías

rncbc's picture

Some GM standard controllers like CC#7 (Volume) and CC#10 (Pan), which Qtractor honors on MIDI tracks, might be messing with your MIDI keyboard mapping... could it be the case?

Cheers

I don't really know how to answer that. But now that you mention I might have messed things up, I still don't get much about MIDI CC's. Tomorrow I'll try to solve it and post my results.

Thanks

Hi Rui. I reassigned every knob/button/fader on my keyboard so non of them would be the same as any CC specific message (I used numbers: 20-28, 102-110 and 52-59). But I have the same problem. If I have two tracks, and I have my faders assigned to control track gain, fader#1 and fader#2 control succesfully gain for track 1 and 2. But faders from 3 to 9, instead of doing nothing, they all control gain of track 2. The same happens with panning, record, mute and solo as well. It auto resolves when I add more tracks. let's say I add one more track, to have three in total. Fader#3 stops controlling gain 2 but all the rest of the faders now, instead of doing anything, they all control gain 3.

I don't see how it could be a problem of my keyboard, I'm not saying it can't be, just that my mind has reached its limits so I can't figure it out.

I repeat that it's not really a problem, it would be so if it wouldn't "autosolve" by adding more tracks.

Thanks

rncbc's picture

Hi.

Are you saying that all additional konbs or faders mapped to track numbers that do not yet exist, end always implicitly assigned to the last highly numbered existing track ?

If that's so, it's kind of an inoffensive, side-effect bug, but yes, will get it fixed ASAP.

Cheers

[UPDATE: hopefully fixed on latest svn trunk (qtractor 0.4.6.40+)]

Exactly, and totally inoffensive. I didn't dare to claim it was a bug because...you know, most of the times what I think are bugs turn to be mistakes I made.

Thanks Rui

AutoStatic's picture

Hello Matías and Rui,

I can confirm this issue too but I forgot about it a bit. When I have 4 tracks and move fader #5 on my controller (which should control the volume of track 5) the volume of track 4 gets raised. I'll test 0.4.6.40+ and hopefully this behaviour won't show up again.

Best,

Jeremy

Hi Rui,

I'm using the last svn release and frankly I couldn't get to map my keyboard as I used to in the 0.4.6. I couldn't even use the old settings I saved. Could you explain to me how does it work? The main issue for me to understand is the lack of a track selection box. The "track" tick-box I don't understand what does it do.

I tried to map the faders of my keyboard and weirdly I got them all running by mapping only one (?). I hadn't any success with the knobs.

i can see that one can choose the type of midi signal sent which is really cool, (it just encourage me to learn more about midi).

Sorry to ask this bunch of questions but the fact is that I haven't had enough time to explore it myself, I'd really apretiate some help.

Thanks

rncbc's picture

Yes, since qtractor-0.4.6.49+ (svn trunk of course) that the MIDI controllers mapping was refactored to support some other MIDI event types than just CC# (Controller) ones. It is still on experimental status so things might break loose.

However, it should read and convert previous control maps seamlessly (retro-compatible) , unless I missed something terrible :)

I'll try to explain the (new) control map fields in a hurry:

Type
This is the type of MIDI event being mapped; options are Note On, Note Off, Key Press, Controller, Chan Press or Pitch Bend; default is Controller (CC#) as before.
Channel
This is the MIDI channel being mapped; it can be one of literally addressable channel numbers (1..16) or set to * (asterisk) which means that the command will be mapped to the same track number (1..16); same as before.
Parameter
Depending on the selected MIDI event Type, this the precise event parameter value that is being mapped; it may be described by its corresponding note/pitch name (as for Note On, Note Off and Key Press event types) or controller names (as for Controller event type, obviously).
Track
This check-box flags whether the previous Parameter value is to be considered as the base track index; when turned on the command will be mapped to track numbers given by consecutive parameter values; eg. if Parameter value is set to 64, track 1 will be mapped to parameter value 64, track 2 to 65 and so on.
Command
This is obviously the command action to be mapped (Track Gain, Track Panning, Track Monitor, Track Record, Track Mute, Track Solo); same as before.
Feedback
This check-box flags whether the corresponding MIDI event should be sent out in response to respective command action; it is made specially useful for control surfaces that keep their own state (eg. motorized faders, lights and LEDs, etc.); same as before.

HTH

If things keep failing on your side, please consider showing here your (original) controllers .qtc file and explain as best as you can what are you trying to achieve. Given the experimental status of this new controllers facility, it might just be a little difficult to succeed at first time. You can blame on me, for a while ;)

Cheers

I can't understand the new controllers dialog, even after reading your explanation which is very clear, once I try to map something I fail. In the 0.4.6 version of the controller window it was pretty simple to choose what to control from each track, now I can't understand how to choose the track I want to control.

I think is a great new addition the fact that ticking on the track tick-box maps automatically all the consecutive controllers to consecuent tracks. But I'm struggling to have the freedom I had in the last version of the controllers window where I could choose what each knob/fader controled. I mean if I want button 1 (CC#102) to control mute of track 1 and button 2 (CC#103) to control track's 2 record, can I?

The only thing I would add to satisfy noobs like me is a separate track box, so you can choose the channel number on one box and on a separate box the track number (parameter+1 as it was before).

The formatting options from the forums change the visualisation of the .qtc file because it has lost of > and <. But I'll change them for ] and [ and post it tomorrow.

Thanks Rui

rncbc's picture

Oops!

I've just realized that I've missed an important parameter value, which was present on the previous incarnation. Being that precisely a track number in case you don't map it implicitly from the MIDI channel or through consecutive MIDI parameter numbering.

MY BAD! Will fix it ASAP.

Thanks for your perseverance though :)
Cheers

[UPDATE: there's 0.4.6.56+ which might be a move in the right direction, svn trunk obviously:]

Great, thanks!

UPDATE: there's 0.4.6.56+ which might be a move in the right direction, svn trunk obviously:

Shuld I download and build the whole thing again? Not a problem because now i know how to do that! ; )

See you

rncbc's picture

Yep. just do what you know :)

I have built the 0.4.6.59 svn version and I can see the fix on the controllers dialog, nice, now my .qtc file with my mapped keyboard works fine. The little bug of the not-in-use-controllers controlling the last track in use is fixed. I can see the volume tab for the metronome, thanks a lot for that! I'll be using qtractor today, if I find anything I'll let you know.

See you

Add new comment