Wednesday, June 8, 2011

Renoise Tutorial: Wubwubs! Dubstep Style Bass Tutorial

Edit (July 8th, 2011): I realized after making this post that the single samples are set to A-1, not, C-2. This will cause your instrumentation to be out of key with any other sounds you're using. You can still follow this tutorial to get the sound you want though! Sorry about that!

I'm tired of the lack of Renoise tutorials. I decided to write one explaining my production technique for bass lines. Even if you don't produce Dubstep it's a good way to understand the different ways people see and use Renoise as a Digital Audio Workstation. You know, maybe you'll learn something.

I'm going to teach you how to produce a Dubstep bassline in Renoise 2.7, much like the ones I use in all of my tracks. First thing's first you're going to need a sample pack that will absolutely change your opinion on Renoise as a functional DAW. Or at least I think so:

This is a sample pack of solely single-cycle waveforms, tuned to A-1 and by god, there's a lot of them there.

Note, this sample pack is useful for any DAW that uses a MIDI sampler to create multi layered instruments. Ableton Live's Simpler and Sample come to mind. It's just an all around good pack to have in your sample library.

Part #1: The Setup

First thing's first. I'm using Ubuntu 11.04 without a realtime kernel and just my laptop headphones out for audio. It's going into my amp and subwoofer for nice audio quality. On Linux I'm using JACK, here's my JACK configuration and connections.

Next you're going to want to open Renoise and make sure that JACK is the audio server, not ALSA. The screenshot below demonstrates where the Audio properties are and what they should be.

I have no input connections just in case I want to route something from Renoise into an external effects application, like JACK Rack, and plug it back into Renoise post-fx. I'm not going to be doing any of that right now, but it's just a handy trick to keep in mind when doing any sort of sound design. There's also loads of multimedia applications that use JACK on Linux, VLC for example. Ripping audio clips and samples is a breeze with this kind of set up.

Something to note is that all Dubstep is at 140 BPM. I like to get very intimate with Renoise in terms of MIDI control so I have 8 lines per beat selected and 256 lines in a pattern. This allows me to write 4 bar measures in one pattern, and get up to 32nd notes.

Now you should be getting some sound from Renoise. We're going to open up the file browser to point where your single cycle waveforms are. I'm going to use the perfect cycles because they're, well, perfect. I'm going to start with the sub bass oscillator, the sine-wave.

If you're using Windows or OSX, you can just totally disregard the above. I'm just showing off that Linux too, can be a powerful audio platform.

Once the sine wave is loaded you're going to want to go to your Sample Editor tab and your Instrument Settings tab respectively. Renoise should look like this:

The waveform goes from peak to peak which can lead to a lot of peaking and clipping issues (at least in the higher registries) so we're going to want to dumb it down by about -3dB. This allows us to have a nice, not overbearing tone.

That should end up looking like this:

Now go to your Sample Keyzones tab and change the basenote to C-2. All this really does is put the keyboard in the right transpose so we can use the first octave to drive the bass notes. It's really just a keyboard thing and keeps the rest of the editing organized.

Alright, so if you transpose your Renoise keyboard octave down to 1, you'll hear a nice real bass sound with some clipping. The clipping is the starting and stopping of the sample. You can kill this by pressing the Autofade button.

As I said though, this sine wave is going to be used for the sub bass. That's bass around 60Hz and below. So in your instrument settings transpose this sample -12 steps. That's a full octave, putting the sine wave in a much lower registry than before.

Now your bass is hitting some wicked low frequencies now. What about that nice bass sound that existed before? Well I'm going to use a triangle wave to add some colour and tone to those frequencies.

Now add the keyzones for that sample! (Don't forget to change the basenote to C-2)

One marker when show up when you add the sample to the keyzones. You want to stretch it out so it covered all the possible keys to be played. Congratulations, you just turned Renoise into a dual-oscillator synthesizer.

Don't forget to turn the Autofade on for the triangle sample as well!

And if you have the samples scaled properly, you should get a huge triangle bass sound now. Note that I use a triangle just based on preference. A second sine wave at the same pitch as the triangle will also bring you the same results. It maybe a cleaner, nicer sound to work with. There's just something gritty and more colourful about using a triangle waveform.

Now you're going to want to add some tone, something to distort and muck around with. Let's face it, your sound is pretty boring right now. That sample pack comes with a stupid amount of samples. Keep this in mind for the next part, as you can use any sample you want, so long as it's in key. I'm going to use the bit-reduced sample number 4.

I'm going to do the same steps as I took with adding the triangle waveform. This includes adding the sample to the instrument, reducing the volume, setting up the keyzones and changing the basenote to C-2.

Now you've got a mad dirty sound coming out of your speakers and peaking all over the place. But the bass is huge and pretty powerful. Now you're about to see the real power of Renoise. In the first track (which I renamed, cleverly, Bass) you're going to want to set up two meta devices. The LFO and Hydra.

First off a quick little explanation of what's going on here. LFO stands for Low Frequency Oscillator and it's the key to creating the Dubstep wobble. In Renoise the LFO meta device is amazing because it allows you to add an LFO effect to any parameter. As you can see above the LFO is driven into the Hydra device at 64 LPC (lines per cycle). The LPC can be varied as well, but we'll get into that when we're working on the composition of the bassline. For now, set it to 8.

The Hydra meta device allows you to take one parameter (Input) and control a range of different parameters on different effects on different tracks. Right now you don't have to worry about anything because we don't have any other effects set up.

Note that the amplitude for the LFO is at 100% and the offset is at 50% while the destination is CT (current track) -> Hydra -> Input.

Alright, time to clear up some consistency. I've added two SEND tracks. One called "subbass" and the other, fittingly, "rest." These are crucial because they are going to be where I split and send the frequencies of the bassline for extensive editing.

To add a send track go to your Mixer tab, click on S01 and hit CTRL+T (Command+T on a Mac?), a second send track will appear. Magic, I know. Label them how you wish, just remember one is for sub bass and one is for the rest of the frequencies.

Note on the parameters above for the Multiband Send I have the first frequency going to sub bass and it's cutoff point is at 800Hz (0.8kHz). Now that just isn't sub bass, that's the whole low-end spectrum. That's alright because of the Hydra is going to manipulate the send.

Also be sure to notice the other two send destinations are "rest" and that the High is set to 1.5kHz. That's not extremely important, I just picked 1.5 because it was a nice even number right in the middle-ish of the range.

Now this is where a lot of the magic will happen. Notice how Hydra is set to the Multiband Send's Amount 1, Amount 2, and Amount 3. They are going to change the volume of the audio sent creating the wubwub effect. -24dB is the minimum for the sub bass, and -30dB for the higher registry. What we want here is the ability to make the sub bass really stick out a bit ahead of the higher frequencies.

The scaling for the higher register is semi-logarithmic and the bass is linear. This creates a nice sweep dynamic with higher frequencies, and a solid up and down feel of the sub bass. After that's set up, play a bit and see how the sound is moving to the send tracks.

I put a low-pass MOOG 24dB filter with a resonance of 10% on the rest track.

Then I go to my Hydra device, select CT and change it to rest. This allows me to control devices on my rest send track.

I go to about 4kHz on the maximum, but you can turn it up. You can also start the filter from 100Hz (0.1kHz) and have the same effect. You realistically have the lowpass filter up to 800Hz. I just like some dead silence between my wubs. Now we should be ready for some notation!

Part #2: Bring on the Music

So now that you have undoubtingly played around with your new bass sounds, we're going to plug in some notes into the Pattern Editor.

Something to take note of is about the LFO meta device. The device doesn't start when the song starts, it starts when you place the device on the track, and goes forever and ever and ever and ever until the Reset button is pressed. Renoise being a tracker has this amazing ability for sample and automation effects to be plugged right into the pattern. As you see above I have my C-1 note with a "1700" in the effects column. That's the device #1 (the LFO) parameter #7 (reset) and it resets at the beginning of every pattern. The effect is actually set up like:

1 - the device location, it's the first of the devices in the track.
7 - the parameter of the device, in this case the Reset button.
00 - where in the waveform the resetting takes place. 00 = start, 40 = 1/4 way through, 80 = 1/2, C0 = 3/4

You can read more about the effects column here.

Now I placed some notes down to give myself a bit of a rhythm. Remember, the LFO is still set to 8 LPC. Here's a list of where on the pattern my notes are, and what notes they are.

00 = C-1 with the LFO reset at 00 in the effects column.
16 = G-1
32 = F#-1
64 = C-1
80 = G-1
96 = F#-1
112 = OFF (use Caps Lock in edit mode to do a note-off)
128 = C-1
144 = G-1
160 = F#-1
192 = C-1
208 = G-1
224 = F#-1
240 = F#-2

This creates a nice little dark(ish) bass line. The note-off gives a silence that's very popular in Dubstep, and the final F#-2 is an octave jump from the note previous, also another popular technique in Dubstep. Now if you hit space, you should hear your bass line and all it's glory. Edit it as you wish, change the notes, do what ever. This is just a good starting spot.

Now I'm going to automate the LFO. This is another crucial aspect of making those bass lines. It controls the speed the LFO works at, making a slowing, longer wub, or quicker more sporadic ones. Click on the Automation tab. The box on the left, scroll down until you see *LFO. Double click the Frequency and now you are able to edit your automation for the Frequency parameter.

If you've never seen automation before, you're probably shitting a few bricks right now like "what am I actually looking at?" Don't fear, here's a simple explanation: The vertical lines in the automation actually represent the lines in the pattern. Each line in the patter has it's own point of automation. The thick white lines that travels across the automation is the same line that travels down your pattern and plays each note. Knowing this, we can automate precisely where we need too.

Note that I selected Points instead of Lines or Curves. Points makes the change on the line to the parameter, so there is nothing askew about the LFO within the time frame.

To place a point on the automation, just double click anywhere. You will a value box beside the automation type box. Below is a list of what value, at what line, I used.

00 = 8
16 = 4
32 = 6
56 = 4
64 = 8
80 = 4
104 = 2
108 = 4
128 = 8
144 = 4
160 = 6
184 = 4
192 = 8
208 = 4
240 = 8

As you can see, a lot of the automation follows the notes. Another thing to notice is that I use 6LPC at one point, and finish it off a 4LPC just so that I can have that 1/3 effect, but still keep the LFO on time with the rest of the track. I could have also just reset the value on the following note, but that can sound messy and unorganized. This keeps it fluid.

There you have it, now you have a completely automated and interesting Dubstep bass line. Here's a copy of the .xrns file (10.26 kB, Renoise 2.7).

Post Tutorial Tips!

So you want to add more dynamic to your sounds? Try adding another single-cycle waveform the same way you did before, but transpose it 12 steps up. This is give another layer of sound in a different frequency domain that can be either very pleasant or downright disgusting.

Parts of the instrument too loud/quiet? Play with the instrument's sample properties like the volume. Maybe reduce the sample's volume the same way I showed in the beginning of the tutorial. Be sure to remember to watch out for your levels. You don't want to overpower your mix.

Add the Distrotion, Comb Filter, LofiMat, Flanger or any external distortion plugins before your filter on the 'rest' send track. This will add a whole new element of bass line beyond just what the samples sound like.

Add the Stereo Expander and maybe some mpReverb after the filter for some speaker dynamics. Try to avoid reverb on the sub bass channel, it causes a lot of muffling and mudding up the pure bass sound.

Any more tips would be posted for sure. Check out the Renoise file and have fun with it.