MIDI with qtractor and qsampler

What other apps and distros do you use to round out your studio?

Moderators: MattKingUSA, khz

TheSafePlaces
Established Member
Posts: 200
Joined: Sat Nov 26, 2011 8:50 am

MIDI with qtractor and qsampler

Post by TheSafePlaces »

My first project in Linux :)

I was working with MIDI in qtractor, and I noticed that, for some reason, when I change panning on MIDI tracks, it doesn't sound any different. Odd. =\

This has meant, so far, that for something as simple as panning I have to bounce each track to audio tracks (I'm using 12 in my current project, and this is merely a small scale one), set panning for the *audio tracks* in the mixer, then make a 'master bounce' track, then record all of that.

Coupled with the current method of bouncing tracks (record the whole thing into qtractor - so if your piece is 2 minutes long and you have 12 tracks, you just spent more than 25 minutes bouncing tracks assuming nothing messed up and you didn't have to re-bounce anything - thankfully, I had to make just 7 bounce tracks because most instruments had 2 tracks, one for 'sustain' patches and one for 'staccato'), this is a huge PITA.

A question arises - why can't you bounce all tracks together? This is because I made an LSCP file in qsampler to load all ~50 instruments of Sonatina Symphonic Orchestra together, created four audio and MIDI devices in QS and four corresponding MIDI output buses in QTr, and set up the instruments on the channels provided by these. Each instrument in QS does not have it's own output - this will happen only when I have made one audio and MIDI device PER instrument - while my current 4-device-4-bus QS setup took a fair while to set up properly, this one will take an INSANE amount of setup to do, and may the source help us when there are even more instruments than 57. >_<

Plus, I cannot see any way to pan instruments in QS like I can adjust levels in it.

In short - If either one of these things - panning MIDI in QTr, freezing tracks quickly and without ungainly workarounds in QTr, or panning controls in QS - was a working reality, it'd be an awesome help.

I am, however, new to Linux pro-audio as well as pro-audio in general, so if there's something I missed or did wrong, please point me in the right direction.

Thank you.

EDIT - An afterthought - is there any way to have qsampler instances running as plugins in qtractor? Additionally, any way to have multiple instances of qsampler, so as to reduce confusion with all samples being in one qsampler instance?
Looking for the ideal distro. NixOS?
Newbie composer, somewhat-experienced classical guitarist.
Largely known as HisaoNakai/contrapunctus on IRC and other places.
Vixus
Established Member
Posts: 42
Joined: Fri Aug 06, 2010 1:16 pm

Re: MIDI with qtractor and qsampler

Post by Vixus »

MIDI panning only applies to hosted plugins that generate sound within Qtractor, afaik.

Which means you're in luck because LinuxSampler runs very well as an LV2 plugin. So you'd just throw a linuxsampler lv2 plugin on each MIDI track that you want to use sampled instruments with and then run Qsampler to actually load the instrument files. It's slightly buggy in that you might get a bunch of errors when you try and load instruments (are you using SSO's sfz files?) but it does eventually work smoothly.
TheSafePlaces
Established Member
Posts: 200
Joined: Sat Nov 26, 2011 8:50 am

Re: MIDI with qtractor and qsampler

Post by TheSafePlaces »

Ah, that looks like an excellent solution, Vixus, thank you for drawing my attention to it.

I am, however, having trouble setting it up - I set it up for the first track successfully, but the ones after that refuse to work - the sample is loaded in qsampler, but there's no sound.

Code: Select all

12:06:31.661 Channel 1 added.
12:06:31.676 Channel 1 Audio device: 0.
12:06:31.689 Channel 1 MIDI device: 0.
12:06:31.695 Channel 1 MIDI port: 0.
12:06:31.701 Channel 1 MIDI channel: 1.
12:06:31.753 Channel 1 Engine: SFZ.
12:06:31.770 Channel 1 Instrument: "/.../Sonatina Symphonic Orchestra/Brass - Horn Solo.sfz" (0).
12:06:31.781 Channel 1 MIDI map: 0.
12:06:37.184 Channel 1 Mute: 1.
12:06:38.114 Channel 1 Mute: 0.
12:07:04.081 Channel 2 lscp_get_midi_device_info: DRIVER (errno=0)
12:07:04.297 Channel 2 lscp_get_channel_info: Invalid sampler channel number 2 (errno=100)
12:07:04.305 Channel 2 Could not get channel information. Sorry.
12:07:15.504 Channel 2 setup...
kfilemodule(2882)/kio (KDirModel) KDirModelPrivate::_k_slotDeleteItems: No node found for item that was just removed: KUrl("file:///.../Sonatina Symphonic Orchestra/Strings - 1st Violins Sustain -e.sfz~") 
12:07:21.795 Channel 2 lscp_set_channel_audio_device: The audio output device 'Plugin' cannot be dropped from this sampler channel! (errno=100)
12:07:21.827 Channel 2 lscp_set_channel_midi_device: The MIDI input port 'Plugin' cannot be altered on this sampler channel! (errno=100)
12:07:21.856 Channel 2 MIDI port: 0.
12:07:21.871 Channel 2 MIDI channel: 0.
12:07:22.137 Channel 2 Engine: SFZ.
12:07:22.144 Channel 2 Instrument: ".../Sonatina Symphonic Orchestra/Brass - Horns Staccato.sfz" (0).
12:07:22.154 Channel 2 MIDI map: 0.
12:07:22.167 Channel 2 Some channel settings could not be set. Sorry.
12:07:27.622 Channel 2 setup...
qtractor also seems to have problems saving settings for tracks...I change settings for a plugin, and it doesn't register it, the track "Ok" button is still grayed out - so I have to do something like change the name of the track so the Ok button is available, then come back and rename again. =\
Looking for the ideal distro. NixOS?
Newbie composer, somewhat-experienced classical guitarist.
Largely known as HisaoNakai/contrapunctus on IRC and other places.
danboid
Established Member
Posts: 1327
Joined: Sun Aug 26, 2012 11:28 am
Location: England
Has thanked: 1 time
Been thanked: 4 times

Re: MIDI with qtractor and qsampler

Post by danboid »

Hi SafePlaces!

Yep, I totally agree and feel your pain re bouncing tracks in qtractor.

The good news is that it should get a lot easier to bounce tracks when Rui implements these two feature requests I made recently, which he has agreed make good sense:

http://sourceforge.net/p/qtractor/tickets/7/

http://sourceforge.net/p/qtractor/tickets/8/

Using qtractor in general will be a lot more streamlined when they get implemented, not just when bouncing MIDI tracks. I wanted my ex-band to use qtractor but the main thing that put them off was the need to manually create and assign busses to audio tracks to record to them so that hassle should soon be a thing of the past with the introduction of auto-created input busses.
User avatar
rncbc
Established Member
Posts: 1129
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 62 times
Been thanked: 395 times
Contact:

Re: MIDI with qtractor and qsampler

Post by rncbc »

TheSafePlaces wrote:is there any way to have qsampler instances running as plugins in qtractor? Additionally, any way to have multiple instances of qsampler, so as to reduce confusion with all samples being in one qsampler instance?
- first, write it down qsampler (QS) is a client interface to an linuxsampler (LS) server instance. do not confuse things.
- second, a LS LV2 plugin instance maps to a sampler-channel in a linuxsampler server. you can and should edit each LS sampler-channel via the QS GUI or any other GUI for LS eg. JSampler (JS aka. Fantasia) or even telnet, netcat, whatever--you control linuxsampler via LSCP (a tcp/ip text protocol just like http is) and that's what QS (or JS) does, no more nor less.
- third, you always see and control *ALL* LS sampler-channels of a LS server instance on the same and only QS or JS instance--there's no other way to put it--be that of plugins in qtractor, or in ardour3 or in any other LV2 host, or even any other regular stand-alone sampler-channels as well. of course, you can have stand-alone LS sampler-channel instances (ie. not as plugin) and you can connect and run them from qtractor as well and simultaneously.
TheSafePlaces wrote:I cannot see any way to pan instruments in QS like I can adjust levels in it.
- fourth, a LS sampler channel, when loaded with a sampler instrument file (gig or sfz) might react or implement differently to MIDI channel controller events, most notably to MIDI CC#10 (panning) which are in fact what qtractor does send when you tweak its MIDI track panning sliders, either manually or automated.

hth.
cheers
TheSafePlaces
Established Member
Posts: 200
Joined: Sat Nov 26, 2011 8:50 am

Re: MIDI with qtractor and qsampler

Post by TheSafePlaces »

Thank you for your responses, sirs.

danboid - Automatic-bus-creation and mass-track-creation...they both look good. Although I suspect the problems outlined there could just be easily fixed with a template file, given of course that one knows the intended instrumentation beforehand - still, not relying on user-made template files means another step towards a program that takes less time setting up and gets to the main task faster. And I'm afraid that despite these implementations (which would doubtless help in many scenarios other than freezing as well), manually freezing MIDI tracks is still less than desirable - I toyed with Ableton Live before I came to Linux, and freezing there is a matter of one or two clicks, and then a few seconds of waiting (as stated, I'm a newbie to pro audio so I don't really know how it's done in other DAWs, Linux or otherwise). I suppose many would balk at the prospect of comparing to a propreitary Windows software, but pragmatically speaking, it'd be awesome if qtractor had that behaviour for freezing.

rnbc - Thank you very much for helping me understand that, sir.
rncbc wrote: - fourth, a LS sampler channel, when loaded with a sampler instrument file (gig or sfz) might react or implement differently to MIDI channel controller events, most notably to MIDI CC#10 (panning) which are in fact what qtractor does send when you tweak its MIDI track panning sliders, either manually or automated.
So...in essence, does this mean that this is a shortcoming of the SFZs I'm using? If this is the case, could I tweak the SFZs to let them respond to MIDI CC#10? This would save me huge amounts of time, as there'd be no messing around with manual realtime freezing.

Lastly, I am still interested in the ability to run LS as a plugin in qtractor - could someone please help me with that?
TheSafePlaces wrote: Ah, that looks like an excellent solution, Vixus, thank you for drawing my attention to it.

I am, however, having trouble setting it up - I set it up for the first track successfully, but the ones after that refuse to work - the sample is loaded in qsampler, but there's no sound.

Code: Select all

    12:06:31.661 Channel 1 added.
    12:06:31.676 Channel 1 Audio device: 0.
    12:06:31.689 Channel 1 MIDI device: 0.
    12:06:31.695 Channel 1 MIDI port: 0.
    12:06:31.701 Channel 1 MIDI channel: 1.
    12:06:31.753 Channel 1 Engine: SFZ.
    12:06:31.770 Channel 1 Instrument: "/.../Sonatina Symphonic Orchestra/Brass - Horn Solo.sfz" (0).
    12:06:31.781 Channel 1 MIDI map: 0.
    12:06:37.184 Channel 1 Mute: 1.
    12:06:38.114 Channel 1 Mute: 0.
    12:07:04.081 Channel 2 lscp_get_midi_device_info: DRIVER (errno=0)
    12:07:04.297 Channel 2 lscp_get_channel_info: Invalid sampler channel number 2 (errno=100)
    12:07:04.305 Channel 2 Could not get channel information. Sorry.
    12:07:15.504 Channel 2 setup...
    kfilemodule(2882)/kio (KDirModel) KDirModelPrivate::_k_slotDeleteItems: No node found for item that was just removed: KUrl("file:///.../Sonatina Symphonic Orchestra/Strings - 1st Violins Sustain -e.sfz~")
    12:07:21.795 Channel 2 lscp_set_channel_audio_device: The audio output device 'Plugin' cannot be dropped from this sampler channel! (errno=100)
    12:07:21.827 Channel 2 lscp_set_channel_midi_device: The MIDI input port 'Plugin' cannot be altered on this sampler channel! (errno=100)
    12:07:21.856 Channel 2 MIDI port: 0.
    12:07:21.871 Channel 2 MIDI channel: 0.
    12:07:22.137 Channel 2 Engine: SFZ.
    12:07:22.144 Channel 2 Instrument: ".../Sonatina Symphonic Orchestra/Brass - Horns Staccato.sfz" (0).
    12:07:22.154 Channel 2 MIDI map: 0.
    12:07:22.167 Channel 2 Some channel settings could not be set. Sorry.
    12:07:27.622 Channel 2 setup...
Looking for the ideal distro. NixOS?
Newbie composer, somewhat-experienced classical guitarist.
Largely known as HisaoNakai/contrapunctus on IRC and other places.
danboid
Established Member
Posts: 1327
Joined: Sun Aug 26, 2012 11:28 am
Location: England
Has thanked: 1 time
Been thanked: 4 times

Re: MIDI with qtractor and qsampler

Post by danboid »

safeplaces:

Template files are no real solution to my qtractor workflow issues. Rui also suggested template files as a workaround for my probs but that would only be a real solution if I always used exactly the same number and type of tracks in every session or I only had a few set types of session hence I could have a few different templates for various sessions types. This is most certainly not the case as I never know beforehand how many tracks I will require and of what type so as soon as I inevitably need an extra audio track or 8 to record or mix down to I am again faced with the tedious task of manually creating another x input busses, manually creating another x audio tracks and manually pairing them up with each other. Yawn! All that boring stuff would be rid of when these two features get implemented and it will of course make freezing/bouncing MIDI tracks MUCH quicker if not quite as automated as you are talking about here which would definitely be nice to have too.

These extra features would greatly speed up the initial creation of templates for anyone that does want to use templates.
TheSafePlaces
Established Member
Posts: 200
Joined: Sat Nov 26, 2011 8:50 am

Re: MIDI with qtractor and qsampler

Post by TheSafePlaces »

danboid wrote:Template files are no real solution to my qtractor workflow issues.
Agreed, as I said earlier, templates are eventually only a workaround, not a replacement for a fluid workflow.

Back on topic, how can I get qsampler/my SFZs in qsampler to respond to qtractor's MIDI panning? I must reiterate, this causes me no end of trouble in my work; I have to -
1. Create the MIDI clips, then
2. Set the velocities according to how good it sounds (the current velocity editing method doesn't help this at all), then
3. Freeze tracks (an insight into the current freeze method - this is ~10 minutes wasted, given 7 total bounce tracks and a mere 1m30s long track), then
4. Realize that what sounded good without panning sounds different with it (I had celli and bass panned to the right in accordance with their seating in an orchestra, and they came out TOO strong with panning, when they were 'just right' without panning), then
5. Go back and edit velocities again, then repeat steps 3 and 4 again! :(
Looking for the ideal distro. NixOS?
Newbie composer, somewhat-experienced classical guitarist.
Largely known as HisaoNakai/contrapunctus on IRC and other places.
TheSafePlaces
Established Member
Posts: 200
Joined: Sat Nov 26, 2011 8:50 am

Re: MIDI with qtractor and qsampler

Post by TheSafePlaces »

Bump?
Looking for the ideal distro. NixOS?
Newbie composer, somewhat-experienced classical guitarist.
Largely known as HisaoNakai/contrapunctus on IRC and other places.
danboid
Established Member
Posts: 1327
Joined: Sun Aug 26, 2012 11:28 am
Location: England
Has thanked: 1 time
Been thanked: 4 times

Re: MIDI with qtractor and qsampler

Post by danboid »

Sorry I can't help with your question safeplaces - I've migrated to samplv1 for most of my sampling needs.

We can only hope Rui is on holiday (its half-term here in the UK so maybe the PT schools have it at the same time?) as he's not responded to my thread yet either.

I tend to avoid using the internet and checking my mail when I go on holiday so if thats the case I can't blame him.
User avatar
rncbc
Established Member
Posts: 1129
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 62 times
Been thanked: 395 times
Contact:

Re: MIDI with qtractor and qsampler

Post by rncbc »

TheSafePlaces wrote:how can I get qsampler/my SFZs in qsampler to respond to qtractor's MIDI panning?
as i think i've already pointed out, qtractor drives linuxsampler sampler-channels panning through MIDI CC#10 (GM, channel panning controller).

but actual results depends on sfz engine implementation which points to the sfz spec. and linuxsampler itself (not qsampler).

otoh. the MIDI standard suggests that it all may be implemented like a stereo balance control, more than a true spacial panning one, although it also suggests that it should be all equal-power balanced (ie. overall power of both sides should be constant whether it's panned or not)

also, if you are "freezing" the MIDI track(s), for which i read that you're bouncing/recording the linuxsampler output into an separate audio track and then playing it back as audio, take care whether the recorded audio material is already hard-panned or not. so it doesn't "over-pan"; qtractor audio tracks panning do respect the above mentioned equal-power law, though.

botom line is, i don't know what linuxsampler sfz engine does re. MIDI channel panning in your particular case.

hth.
cheers
TheSafePlaces
Established Member
Posts: 200
Joined: Sat Nov 26, 2011 8:50 am

Re: MIDI with qtractor and qsampler

Post by TheSafePlaces »

Ah, I understand now. There's no new LS version in my repos, guess it's time to take it to the LS devs...guess I'll have to live with it in the meantime.
I should've deduced this earlier. Sorry, and thank you for your time, sir.
rncbc wrote:
TheSafePlaces wrote:how can I get qsampler/my SFZs in qsampler to respond to qtractor's MIDI panning?
as i think i've already pointed out, qtractor drives linuxsampler sampler-channels panning through MIDI CC#10 (GM, channel panning controller).

but actual results depends on sfz engine implementation which points to the sfz spec. and linuxsampler itself (not qsampler).

otoh. the MIDI standard suggests that it all may be implemented like a stereo balance control, more than a true spacial panning one, although it also suggests that it should be all equal-power balanced (ie. overall power of both sides should be constant whether it's panned or not)

also, if you are "freezing" the MIDI track(s), for which i read that you're bouncing/recording the linuxsampler output into an separate audio track and then playing it back as audio, take care whether the recorded audio material is already hard-panned or not. so it doesn't "over-pan"; qtractor audio tracks panning do respect the above mentioned equal-power law, though.

botom line is, i don't know what linuxsampler sfz engine does re. MIDI channel panning in your particular case.

hth.
cheers
Looking for the ideal distro. NixOS?
Newbie composer, somewhat-experienced classical guitarist.
Largely known as HisaoNakai/contrapunctus on IRC and other places.
danboid
Established Member
Posts: 1327
Joined: Sun Aug 26, 2012 11:28 am
Location: England
Has thanked: 1 time
Been thanked: 4 times

Re: MIDI with qtractor and qsampler

Post by danboid »

Rui updated qtr svn yesterday with the ability to draw MIDI controllers freehand which is a useful improvement but not quite what I requested. I have my fingers crossed that he will also add the ability for us to draw perfectly straight lines ie just draw/define two points along which the controllers would be modified to follow as you can do already within MusE 2 as its very hard to draw smooth fades freehand, especially if they're gradual ones over so many seconds. Yes, we can achieve perfectly smooth fades already with the ramp resize tool but thats not obvious nor as easy to use as being able to do this visually by drawing a line.

A related issue that I'm trying to convince him to change that has bugged me for some time but I've never discussed publicly until yesterday on the qtr forums is that I firmly believe you should NOT be able to move notes by dragging their controllers when selected. You should only be able to move notes that have been selected and dragged in the piano roll area of the clip editor. qtr has 'undo' so its no showstopper but it does bug me as I end up accidentally moving notes on a regular basis because of this.

Is it just me who sees this as more bug than feature?
TheSafePlaces
Established Member
Posts: 200
Joined: Sat Nov 26, 2011 8:50 am

Re: MIDI with qtractor and qsampler

Post by TheSafePlaces »

That sounds interesting, can't wait for the release.
danboid wrote: A related issue that I'm trying to convince him to change that has bugged me for some time but I've never discussed publicly until yesterday on the qtr forums is that I firmly believe you should NOT be able to move notes by dragging their controllers when selected. You should only be able to move notes that have been selected and dragged in the piano roll area of the clip editor. qtr has 'undo' so its no showstopper but it does bug me as I end up accidentally moving notes on a regular basis because of this.
Agreed, it's slightly pointless. If one wants to move notes, the natural reflex is to go to the piano roll area. And when one wants to change velocity one goes to the velocity pane - it's a bit disorienting at first, and a minor productivity hassle from there on.
Looking for the ideal distro. NixOS?
Newbie composer, somewhat-experienced classical guitarist.
Largely known as HisaoNakai/contrapunctus on IRC and other places.
User avatar
rncbc
Established Member
Posts: 1129
Joined: Mon Apr 19, 2010 12:20 pm
Has thanked: 62 times
Been thanked: 395 times
Contact:

Re: MIDI with qtractor and qsampler

Post by rncbc »

danboid wrote:...I firmly believe you should NOT be able to move notes by dragging their controllers when selected. You should only be able to move notes that have been selected and dragged in the piano roll area of the clip editor...
uh. when you move something on the velocity-bar pane (or controller pane as you call it) you also see it moving on the piano-roll, simultaneously.
so, it's all ultimately your call and decision--it's all in view. you (the user) must be in power and in hand and eyes of what you're doing ;) even there so if the freaking s/w tells you not so xD

cheers
Post Reply