Surround Sound in Bitwig Studio
Part 2 – Groups and more…

In the first part of this series I showed you some basic components and ideas to create surround projects in Bitwig Studio 1.1 despite it not being surround capable in the normal sense of the word.
In the meantime, version 1.2 of BWS introduced group tracks, which offer a much better way to deal with surround sound, so I thought I concentrate on this approach and different routing strategies in this second tutorial.

Group Tracks are a Big Deal!

Bitwig implemented groups very cleverly in Bitwig Studio 1.2+. You can have groups inside of groups with theoretically unlimited depth, grouptracks show the contained clips for a better overview (see the header image of this tutorial), you can “enter” a group and this way hide everything outside it for focused work, groups have their own scenes in the clip launcher and – the best thing since sliced Tofu for our use – groups have local sends that can send to all sends “above” them.

I created an example project with Bitwig Studio 2.3.10 RC4 that you can download here or at the bottom of this article:

Download example Project

 

The Basic Structure

All tracks are inside the blue “Surround Group”, so this is what you can see on top.
Note that the grouptrack has it’s own scenes and that “Scene1” shows the three colored clips inside it – in the arranger this features is even more useful and visually interesting (again, see the title image). In the upper left corner you can see the “Group”-menu, where you can navigate within groups if you have several in your project.
The first three tracks “Absynth 5”, “Generative” and “Zapper” are normal instrument tracks while “FX Front” and “FX Rear” are local effect tracks of this group.

Now the interesting thing is, that all tracks inside the group can send to the two local effect tracks (= “Returns” in other software) as well as to the global effect tracks. If you remember the first tutorial, one of the problems was, that since we used the main sends as surround outputs, we no longer had effect tracks for effects, since the main effect tracks can’t send to each other.
In this simple case I basically have the same single effect chain duplicated for Front and Rear, but you can of course have “Reverb Front”, “Reverb Rear”, “Delay Front”, “Delay Rear” etc.

Those two effect tracks output directly to the main “Front” and “Rear” tracks while the instrument tracks do NOT output to anything. I often even put the volume sliders all the way down to remind me that they don’t do anything, but then I also do not get the VUmeters to show activity on the tracks. These tracks use multi-outs instead – let’s look at some different scenarios in detail:

 

Surround VST-Multi-Out

The first track contains Absynth 5 which has basic surround capabilities and I will use it as example to show you how to route such an instrument in Bitwig Studio. You can of course transfer this basic idea to any other surround capable plugin when you adapt it to it’s structure.
If you open the Absynth 5 GUI and got to File -> Options -> Surround, you get this screen:

Absynth_Surround_Options

As you can see, I selected “4 Quadrophonic” as a preset – since I deal with the LFE and Center myself, I don’t need them.
With that set up, look at your Absynth Bitwig Device and switch to the Multi-Out-Chain page (the double-arrow-to-the-right-icon). There, simply click on the “Add Missing Chains” button to add all the outputs at once if you don’t use the already set up tutorial project:

This creates 6 output chains. Absynth outputs it’s channels with above settings as mono 1-4, but since BWS only has stereo chains and tracks, each chain – while being stereo – only contains a single channel although on both sides equally.
To make this usable for our needs, we therefore have to pan the outputs alternately hard left or right. The first output chain corresponds to channel 1 in the Absynth Surround preferences, so it’s front left, the second is front right and so on. If you want you can rename the output chains to make things easier to remember (ALT-click on the chain-name or use the inspector).
If you want you can delete the last two chains since we don’t use them.

The main change compared to how I did routing in the first part of the tutorial (which is still totally valid and helpful in some situations) is, that I don’t create any audio receivers in the surround output effects tracks but instead use the Multi-Output-Sends of for instance Absynth 5 for mixing. This is how what we built above looks like in the BWS mixer:

Absynth_Multiout_Mixer

With the little double-arrow symbol in the Absynth 5 track you can unfold the multi-out-chains in the mixer and send them to the respective effect tracks. You can see the first two are sent to the global “Front” while being panned hard left and right and the second two are sent to “Rear”, also panned hard. You can also see that I send the first pair to FX Front and the second pair to FX Rear, just like you would in a normal send/return scenario. Notice that the Surround Group track does not show those sends, since they are inside it.

We don’t use the main track volume so I sometimes turn it down completely as explained above.
But the four sub-volume-sliders are fully functional and allow us to mix and automate the volumes. (to move them all at once, select the four sub-tracks and use the volume field in the inspector). This is of course not a real surround mixer, but it beats hunting down all those receivers from the first tutorial.

This setup has several advantages:

  • We no longer need to create all those FX Layers in the sends with Audio Receivers.
  • Mixing becomes much more convenient since it’s nicely visible per track in the mixer (although not in the track view).
  • The structure of the project is much simpler and more obvious.

And maybe it’s worth noting that in the case of a plugin like Absynth, I rely on it’s internal surround processing capabilities, therefore I don’t need a surround panner as much as in other cases.

FX Layer Devices

But not only Multi-Out-Instruments show up in the mixer like this as sub-channels, the same system works for FX Layers too, although it has some limitations. Here I set up another example for you in the “Generative” track:

FXLayer_Generative

In this case I use a FX Layer Device with four chains. Each of them contains the same generative chain that generates notes of random probability and pitch with a FM4 synth each. At the end, each chain is panned hard left or right again (either with a tool or in the mixer), since in this case I want each chain to represent one speaker playing independent notes from the others.

This track shows up in the mixer like this:

Again, you can see the unfolded sub-chains of this time the FX Layer device, pretty much identical to the Multi-Out-Plugin.

Since each channel is “self contained” so to say, we do not have to surround pan in addition – so let’s look at another example for exactly that:

 

Stereo Tracks with Surround Panning

The track “Zapper” in the tutorial project is another generative track where a sound travels around the surround space randomly. It’s a stereo source that is getting panned automatically with the panner we looked at in the first tutorial, but now we want to have the front and rear channels visible in the mixer like in the examples above.

The problem is, that the FX layer device needs to be on the top layer of the chain to be visible in the mixer. It does not show up if it is for instance nested inside a LFO MOD.
You can even have one FX Layer device inside another and it will also show up in the mixer.
So if you think back to our surround-panning device chain in part one of the tutorial, you may remember that the FX-Layer device for front and back output was deeply nested inside LFO MODs – so it won’t show up in the mixer, but I found a workaround, even if it is ugly:

FXLayer_Output_Workaround

After the instrument (not visible in this screenshot) there is a LFO MOD device, containing a surround-panning chain similar to what we created in the first part of the tutorial, but with added random panning from a LFO MOD.
While it contains a FX Layer device, it doesn’t show up in the mixer since it’s nested. So what I came up with is what you see above: I insert another FX Layer device at the end to the device chain that has two layers for front and rear speakers. In each layer there is an Audio Receiver that receives it’s input from the same track (yes, that is possible :-)  ) namely from the Front and Rear layers of the nested FX Layer device in the surround panning chain. This is how that looks like:

Navigation_Nightmare

This is both a pain and feels stupid, but at the end of the day, we are doing surround in a stereo DAW, so some pain is to be expected – and overall it works out fine. I created a preset for that end-of-the-line chain so the only tedious part is picking the deeply nested outputs for the Audio Receiver, otherwise it’s a one-time-setup.

Bitwig could improve this, if at least the path you had chosen through such a chain of menus would be visually marked. At the moment of this writing, if you open up those receiver menus again, nothing shows you what is selected, you basically have to select from scratch to be sure you got it right.

And in case you wonder: The Tool at the end of the chain has no real use other than creating a defined endpoint. If you use an Audio Receiver in another track to receive the output of this chain, I found it’s good to get the audio from such a tool, since in that case you can always insert other devices in front of the Tool without either breaking your Audio Receiver connection or having to redo their source, so I made it a habit to always have either a Tool or a Peak Limiter at the end of my chains where it makes sense.

Now this FX Layer at the end of the chain shows up nicely in the mixer, just make sure you don’t have any other FX Layer at the top level in the same track to prevent confusion (you can for instance put things in a Chain Device to hide it from the mixer).

You can also see the two local effect layers here, FX Front and FX Rear. They could in theory also use sends to do their work, but I chose to set their outputs to directly go to the Front and Rear global effects tracks to show you an alternative option for cases where you only want a track to go to another track.

 

The most simple case

And finally there is of course the most simple case: You have an instrument or audio track that does not need complex panning, so you can simply use the sends for front and rear directly together with panning to move the audio to where it should be… ;-)
This can also be automated in the usual ways.

 

So this was the track side of things in some different flavours.

If you want to avoid the long chains and tedious receiver setups, you can also use surround panning plugins that are multi-out. I haven’t found one yet that works stable on all platforms, so I won’t go into recommendations here (but if you know good affordable ones, you are welcome to post links in the comments below).

EDIT: I created such a panner in Reaktor 6 myself in the meantime – see the end of this article.

 

The Outputs

The output side of things has become much much easier in this scenario:

Output_Section

These are the global effect tracks that we use to output to the 5.1 loudspeakers.

“Front” and “Rear” receive everything that is sent via the respective sends on the tracks and so only contain a peak limiter each.
“Center” also receives what’s send to it, but panned hard left since its mono.
The LFE first contains two Audio Receivers for the Front and Rear signals that are simply mixed together. It also contains a Multiband FX device which I use to filter out the high range above 200 Hz. Different surround standards have different requirements here, some even don’t filter the LFE at all and let the subwoofer or receiving system do it – just adjust to taste. It’s panned hard right.
These two then output into the Center & LFE effects track that combines them together.

These tracks directly output to my speakers, the Master is unused.
My audio device (Focusrite Scarlett 18i20) is setup like this:

Speaker_Setup

You would need to setup your system in a similar way and re-assign the outputs of the Front, Rear and Center & LFE effects-tracks in the tutorial file to output to your respective speakers.

 

Binaural Encoding

One other case I was interested in was how to get a halfways decent impression of the surround sound with headphones. Not so much for my own use, but for instance for Soundcloud and Bandcamp that both don’t support surround sound in their players.(for Bandcamp I use the additional workaround of delivering the surround version as multi-channel FLAC file as bonus download item when people buy my music).

I tried different VST plugins to encode surround sound to binaural stereo and found IRCAM HEar the most easy to use and relatively good sounding. It’s far from what some people manage to get with a real dummy head, but not too bad.

Maybe you have seen the “Binaural” effects track in the screenshot above.
It contains first an Audio Receiver that receives the “Front” channel. After that comes IRCAM HEar. To get the “Rear” channel in, I use the sidechain of HEar:

Binaural_Channel

Inside of HEar I use a simple quad setup with 90° between the loudspeakers, since that is how my studio is set up too:

HEar

The one thing I found is, that I have to turn down the input volume quite a lot to prevent clipping.
HEar uses quite a lot of CPU, so watch that DSP-Meter in Bitwig – you may want to disable the Binaural track (ALT-A) if you don’t need it.

Since the output of HEar is stereo, no other special output treatment is necessary. I send the Binaural track directly to my headphone output.

The export of the tracks to audio files is no different than in the first tutorial, so I won’t go into it here.

 

That’s it folks – for now….

These are my personal solutions for the cases I encountered so far. I find it quite easy to work with for what I do and it should become even easier over time as the modular system comes closer and opens up in Version 2 of Bitwig Studio.

This kind of surround of course is not ideal if you are working on Hollywood movies, but for installations or to simply enjoy sitting in the center of sound it’s awesome :-)

 

Download

Since I use Absynth 5 as example for a multi-out-VST, you need to have that installed to hear the output.
The same is true for the binaural encoding with HEar.
Also make sure you assign the outputs to your surround speakers correctly.

Download example Project

Cheers,

Tom

 

P.S. I finally created the Surround Panner in Reaktor 6 I always wanted. It makes life much easier, since one tool does all the panning, the automatic motion and the multiouts in one easy to use package:

Version 1.1 has a Width control instead of the Mono-Stereo switch, now you can fluidly move between stereo at 100, mono at 0 and inverted stereo at -100. “True Pan” in essence.

Download it here:

Toms Surround Panner

Enjoy!!! :-)

Posted in Audio, English, Tutorials | Tagged , , , , , | 2 Comments

2 Responses to Surround Sound in Bitwig Studio
Part 2 – Groups and more…

  1. Robertino Cucaracho says:

    Than you so very much! I’ve been struggling to get a comfortable surrounding environment in Bitwig.
    This examples have been so very useful… My approach wasn’t that different, but this helped me finally get what I was looking for.

    Thank you! =)

Leave a Reply to Robertino Cucaracho Cancel reply

Your email address will not be published. Required fields are marked *

*