How to do a complete mixdown in LinuxSampler

Things that make the work with LinuxSampler & Co easier, better, faster, louder and more sexy. Including friends like JACK, ALSA, etc.
Post Reply
User avatar
dahnielson
Moderator
Posts: 632
Joined: Wed Jan 23, 2008 11:25 pm
Location: Linköping / Tranås, Sweden
Contact:

How to do a complete mixdown in LinuxSampler

Post by dahnielson » Wed Sep 03, 2008 12:51 am

Background
I have until now used Ardour as a mixer to mix down and add reverb to my orchestra music. But no more! It may not be obvious to new users, but you can in fact do the whole job in LinuxSampler and automate it from the MIDI sequencer.

Goals
  • Control both volume and pan from the sequencer;
  • Add a send effect like reverb and control send level from the sequencer;
  • Make the send work like either like a post-fader or pre-fader send;
  • Output two pairs of stereo signals, dry and wet, that can be connected to the same output.
The Basics
  • Create four audio outputs, two will be used for the dry stereo signal and the other two for the wet.
  • Add a sample channel. Make sure the channel audio is routed to output 0 and 1 (it's the default).
  • Create an effect send for the channel and assign MIDI Controller #91 to control the level. Make sure the effect send audio is routed to output 2 and 3 (it's the default behavior).
  • Start the reverb if it's a JACK application (e.g. jconv) or turn on an external hardware reverb and hook it up to your audio interface.
The next step depend on if you want the send to be of post-fader or pre-fader style.

Post-fader
This is the normal behavior that effect sends in LinuxSampler was designed for. The volume level is first attenuated by the channel gain setting and then sent to the effect send, the effect send level control can then attenuate it even more (if set to >0dB). All in all, the send signal level (the "wet" signal) can never be higher than the normal "dry" signal.
  • Connect output 0 and 1 to the system output (where your monitors or headphones are connected). This is the dry signal.
  • Connect output 2 and 3 to the reverb inputs. This is the wet signal.
  • Connect the reverb outputs to the same system output as the dry signal.
The send level control sets the amount of wet signal that will be added to the dry.

Pre-fader
With a pre-fader send the signal is not attenuated before being sent to the effect send, attenuation of the "dry" signal will not affect the "wet" signal level. Why the dry signal level can be set much lower than the wet signal level, perfect for this mixing technique.

Unfortunately there's no setting in LinuxSampler to select the effect send to be a pre-fader send like on regular mixers. But this can be achieved/mimicked by a simple work around: Switch the dry/wet connections around!
  • Connect output 0 and 1 to the reverb inputs. This is the wet signal.
  • Connect output 2 and 3 to the system output. This is the dry signal.
  • Connect the reverb outputs to the same system output as the dry signal.
The send level control sets the amount of dry signal that will be added to the wet.

MIDI Automation
You can now set and automate the controls in your sequencer:
  • Volume (CC #7): Controls the instrument volume. The behavior will be the same no matter if you set up the send as a pre-fader or post-fader style.
  • Pan (CC #10): Controls the instrument pan. Use this to position the instrument to the left or right.
  • Reverb (CC #91): Controls the reverb level. The behavior will depend on if you set up the send as a pre-fader or post-fader style (see above for explanation). Use this to position the instrument depth wise in the pre-fader style.
Final Words
Of course, if you require insert effects like EQs or a LADSPA/LV2 plugin as send effect then it's less messy to do the audio mixdown in Ardour or your sequencer. Especially if you will record the output. But I hope the instructions above will give new users an idea of what's possible with LinuxSampler. After all it only bring you the tools, how you build the house is up to you.
Anders Dahnielson

Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux

Alex
Moderator
Posts: 316
Joined: Wed Jan 23, 2008 9:08 pm

Re: How to do a complete mixdown in LinuxSampler

Post by Alex » Fri Sep 05, 2008 5:15 pm

Anders,

Thanks for the heads up. I'll try this soon, and see what happens.
Alex.

Alex
Moderator
Posts: 316
Joined: Wed Jan 23, 2008 9:08 pm

Re: How to do a complete mixdown in LinuxSampler

Post by Alex » Thu Jan 29, 2009 9:25 pm

Anders, i've had a brief go at this in the wider context of an experiment with Jconv and ambisonic fx. (No i'm not an expert, at all. More like an idiot with ambisonics at the moment)

It works well here, in the method that you described. I'm going to try this with a full orchestra setup soon, and see how much i gain in resource, and how it flies, for workflow.

We still face a challenge here though.

I have 45 ports for the full templates, each replete with patches. I have 1 midi keyboard.

I have a strong aversion to manually connecting and disconnecting cables in the patchbay, when i figure a means of switching the keyboard from one port to the next could be possible. I've written more than once here and elsewhere, that we'd all benefit from some sort of port switcher, assignable by keystroke/midi CC. (ctl+something for the keystroke, and/or a second midi keyboard for midi CC messages. i.e. CC68 C4 assigned to port 1, CC68 C#4 assigned to port 2, etc...)

So i suggest here that if the port structure in LS (Fantasia for example) were to include a means of binding midi CC messages, then i think this would be a big jump forward. That is, the first midi keyboard would be used for playing in, and the second midi port controller keyboard (or a series of keystrokes) would 'redirect' the first keyboard to the specified port, making it 'live', and i guess by necessity, muting the other ports for input. The port structure would also need to take account of multiple midi port input from an external sequencer (as it does now), but be switchable for the setup i described, to isolate the input, if needed. (A solo component, when the port switching component is active button on the interface? port switch on/off?)

i.e.:

midi port 1
cc number 68
cc message C4

directs the midi keyboard input, or specified input device, to port 1.



and so on for other ports.

Thanks again for sharing this tip!

Alex.

Post Reply