klystrack tutorial - drums: snares

Today we're going to take a quick look at snares.

If you were to take the three most basic elements of a drum kit, the kick, snare, and hi-hat, you would quickly notice that each of them is playing in a different register. The kick hits in the low-end and the hi-hat is doing its funky thing up there in the high frequencies. While all of this is happening, the snare is played in the mid-range. The mid-range is where most of the music is happening, so snares usually need to be quite loud in order to come through the mix.

Snares are generally a short burst of mid-range rattle. On a traditional kit, this rattle is achieved by having beads or chains, called snares, stretched across the skin of a fairly high-pitched drum. The tighter the skin and chains, the shorter and snappier the snare gets. Loose chains result in a "washy" snare. Electronic snares have traditionally used some kind of noise oscillator to simulate this type of sound.

Most snare sounds are made up of two components, a tonal element, and a noise element. It's not absolutely necessary to have both but it helps a lot. A snare made purely out of noise tends to be a bit thin, and a snare made up of only a tonal element is kind of like a really high pitched tom and only truly works in a fairly minimal and empty mix.

There is no right or wrong here, and you can get almost endlessly creative with your snare sounds as long as you respect two simple concepts. First, it has to be in the mid-range. Low-mid, pure mid, high-mid...that's a matter of choice and should be just fine as long as it fits your mix. Second, the attack should always be short. It should snap into existence and start to fade right away. You can fade a snare in for effect, but that's not to mark the beats, that's just for added flavour.

So then. Let's look at some snares. Oh wait. I realize that in the last tutorials I wasn't as funny as usual, so...this guy walks into a store and asks if they have helicopter flavoured chips. The clerk says no sorry, we only have plain.

Alright, with that out of the way...snares.

the NES snare
Due to the fairly limited number of channels on the NES and the fact that each channel is locked to a specific waveform, synthesized snares on this machine tend to be made with only noise. Very rarely will a composer "waste" space on the pulse or triangle channels to add a tonal element to the snare. This probably explain why most people tend to use the PCM channel to play sampled snares instead. But back in the days, space was at a premium on cartridges and not many developers wasted that storage on samples until very late in the console's life. Pure noise snares tend to be really thin, and the only thing truly separating them from hi-hats is the length. For this reason, a lot of percussion tracks in NES soundtracks were made of only a few quick noise hits (often, only one) that would be played at varying pitches.

From a default instrument, simply lock the pitch anywhere from C5 and up (B6 in the example) and enable only the noise oscillator. Adjust the decay to whatever fits your need (08 in the example) and there you have it, the most basic of all synthesized snare sounds. 

the C64 snare
I remember so many games and demos from the C64 era that had these amazingly aggressive and punchy snares. The best way to describe them is that they initially play the tonal element for a very short time, then switch to pure noise for the fading part. To achieve this, we'll have to make some magic happen the in program editor.

First lock your pitch at G3 and turn on your pulse oscillator and set it to pure square (7FF). Now turn on the Drum option and adjust your envelope to an ATK of 00 and DEC of about 05. And last setting to change is the program's P.PRD speed which should be set to 01. The rest of the sound will all be made in the program editor.

Since the Drum setting is on and we're using a square wave, the first thing that will happen when we trigger a note is a short noise burst (pitched at G3). This happens at the same time as our square wave starts playing. It will start on G3, then pitch down for two ticks at a speed of FF. This is what the first two rows (02FF) of the program do.

On the third tick, we want two things to happen simultaneously. We want to change the pitch up so that our noise element is clear and thin. We do that by entering a high note as if we were programming an arp. I chose 0034 here since it represents B7, the highest possible note. The next thing we want to do is cut the pulse wave off and replace it with the noise oscillator instead. This is achieved by using the Set Waveform command 0B01. This command is a binary command, and the numbers are expressed in hexadecimal. Since I don't feel like explaining it the right way, I'll explain it the dumb way: 0B00 is no oscillator, 0B01 is noise, 0B02 is pulse, 0B04 is triangle and so on with numbers 0B08, 0B10, and 0B20 all representing a specific oscillator. To activate more than one at the same time, you add the numbers. So to play the noise (01) and pulse (02) at the same time you would use the command 0B03. For saw (08) and wave (20) at the same time, the command would be 0B28. The status bar at the bottom will show you which waveform you are turning on so it should be easy to figure it out. So by entering 0B01 on the third row, we're setting the active waveforms to noise only, effectively cutting the pulse off at the same time.

Now that we have these two commands (0034 and 0B01) entered, we select the first one and press space to link them both together so they play on the same tick. The last command we input is FFFF which means the program will simply stop running once it reaches this point. And that's about all there is to making a C64 type snare.

the handclap
While a clap is not really a snare per se, it usually serves the same purpose in a beat, and it's synthesized using pretty much the same techniques. Even if there is no drum skin being hit in an actual handclap, there is still a tonal element to it. You can experiment yourself by changing the 'cup shape' of your hands while clapping. The deeper the cup, the lower the clap sound. The noise element of a clap is usually made by the speed at which the hands are clapped and the room reverberation. So how do we simulate this with something as basic as Klystrack?

Start by locking your pitch at G2. Turn on both the Pulse (7FF) and Noise oscillators, and set your envelope to ATK 00 and DEC 04. Finally, adjust the P.PRD to 01.

In the program editor, skip the first row. This means that for the first tick both the Pulse and Noise will play unmodified at a pitch of G2. The two rows do pretty much the same thing as in the previous example. They will, on the same tick, change the pitch up, and let only the Noise oscillator play. This time I chose a lower pitch (0020) because claps are more meaty so we want to keep the noise's pitch lower than for a snare. Don't forget to link those two rows together, and end your program with an FFFF command.

Now if you play that you'll notice it's still quite similar to a snare. That's where we use the filter to finalize the sound into a clap. Turn on the filter and set it to HP, with a CUT of 70 and a RES of 03. This will cut a part of the low frequencies in the overall sound, and will introduce a peak in the low-mids because of the high resonance setting. And voila, a pretty damn convincing clap sound.

a few extra tips
using the filter
As you have seen with the clap sound, using the filter than totally change the nature of a sound. Using a high resonance HP filter with a low cutoff point will make your snare less bassy, and will add a bit more mid-range crunch to it. This can be used on almost any snare sound to make it pierce better in a thick mix, or if you want to add more separation between a low snare and a high bassdrum and ensure they don't step on each other in the mix.

Another thing I like to do is add subtle filter sweeping to snare sounds. I will usually use an HP filter and sweep it up a little (command 21xx) during the "fade" part of a snare. I use this to thin out my snare and make it seem a little shorter in the mix while retaining the highest frequencies.

two-stage envelopes
While a lot of percussion sounds can be done quite well with a simple attack and decay envelope, you can get much more dynamic results by introducing the sustain phase of the envelope to percussions. The problem however is that normally to use a sustain, you have to also use the release and nobody in their right mind wants to have to trigger the release manually in the pattern data for every single drum sound. It's just a crazy fucking amount of work. You can work around it in two ways.

The most obvious is to use the Trigger Release command in the program editor. Simply enter command FC00 where you want the sound to move from sustain to release. While this is good and it works totally fine, I prefer to fade my sustain manually using 0Axx commands instead.

The big advantage of using two stages in your envelopes is that your decay will take the sound from full volume to the sustain value. By using a sustain value that is lower than full volume, you can use the decay part of the envelope to add a little short punch at the beginning of your sound, making it pierce a little more clearly in a mix. You will lose some overall volume on your instrument, but that can be compensated by moving its general volume above 80.

This can be used to add a sort of fake compression to your sound too. The decay part will represent the sound before the compressor kicks in, and the sustain part will represent the compressed sound. It can also be used for faking gated reverb effects, or add a reverse effect at the end of your snares. Experiment, it's a lot of fun and it adds a lot of personality to your instruments. Look at the example to see how it's done. Notice the sustain volume is set to 08, which is half the full volume.

end transmission
There we have it. A quick and dirty guide to basic snare sounds, hope you found it informative. And if not, then you can just eat a bag of dicks. Next tutorials, the hi-hats. Suggestions, comments and death threats in the little box thing at the bottom.


klystrack tutorial - drums: bassdrums

I have been thinking of writing instrument tutorials for a bit now. It was also suggested by my good buddy and mega rockstar pixel pusher god-tier artist ilkke to write some drum sound tutorials. I wasn't too sure of how to approach this at first. For a while I considered just creating half a shit ton of instruments and releasing them as a pack for people to use, but then I thought it would kind of defeat the purpose of what I'm trying to do here, which is to teach people how to do things themselves.

After trying a few times to write something intelligible, I quickly realized that blogging is very much a one-way monologue type thing and I have no idea where you guys are starting from. Have you programmed instruments before? Have you ever used a synth? Do you have knowledge of basic synthesis? Do you look in the tissue after you blow your nose? Where the fuck do I start? 

So eventually I decided on this format you're about to read. I will discuss what makes up a particular type of sound, then give a few variations on each sound and explain how I am programming it. These should serve as example for you to base your own instruments from and hopefully they help you understand how a particular sound is achieved. Most of the options I use will not be explained as they've all been discussed in the first instrument tutorial. 

I am going to try to be as clear and basic as I can be but if there are words that are unclear to you, or concepts that escape you, you are responsible for educating yourselves on the matter. Google that shit, bro. Deal? Good. Then we can start.

a few quick tips
1) Never edit instruments using headphones. There are three reasons for this. Since headphones are very close to your ears and give you complete stereo separation, you are more than likely to undermix three things when working with them: bass, chorus, echo. It is a good idea to revisit a song's mix in headphones once it's been mixed properly for speakers, but it's not a good place to start to edit instruments.

2) Name your instruments properly. It's a step a lot of people don't bother with when they are just doodling quick sketches for songs, but when that sketch hits the three minutes mark and you have 25 instruments in the bank, you don't want to have them named stupid shit like "burger ninja condom". It only takes you a few second to give it a proper name like "Short PWM Lead + Chorus" and it will save you lots of time later on.

3) Less is more. You should always try to avoid giving an instrument a volume above 80. These instruments will pile up in a mix and can quickly result in distortion. Furthermore, if an instrument is already set to max (FF) volume and you need to make it even louder...there's no more place for it. So whenever possible, consider bringing the rest of the instruments down instead of boosting one too high.

4) Since drum tracks are made up of multiple sounds, it's useful to have them in the first few instrument slots so you can quickly switch between each with the numpad when editing patterns. It's less important with bass/lead instruments because you usually just select them once, then edit your pattern without switching instrument again. I personally always use the same format where my instrument slots, starting from 00 are: bassdrum, snare, closed hat, open hat, tom, etc etc. 

5) Always create instruments from scratch. Yeah ok... that one is a bit subjective but still. Since chiptunes don't have such a huge array of sound textures available to begin with, they already all sound quite similar to one another. Avoid re-using the same old bassdrum in every song or you will make this problem even worse. Plus, this forces you to get to know your synth engine better, be able to get more juice out of a few simple oscillators and eventually develop your own sound. 

the bassdrum
Definitely one of the most important element of a good rhythm track is the bassdrum, or kick as some people like to call them. While there are many different flavours of bassdrums, they're all based around a few key concepts. The first and most of obvious, given the name, is that they play in the low register. There is a sweet spot you are trying to get to where the kick sits comfortably on the low end of your track, not too high, not too low. Go too high and it doesn't accentuate the beats, go too low and it muddies up the mix and gets lost in the rumble.

The second element is that they almost invariably always start with a short, high pitched snap. On a real drum kit, this is the moment where the beater hits the skin. This snap is also a valuable tool to make your bassdrum pierce clearly through the mix while not eating too much outside of its register. There are many ways to achieve this. It can be a pitch effect, or a short burst of white noise for example. There are no rules to how you achieve that snap, but it should be short. If it's too long you'll lose the punch effect you're looking for.

The third and final element almost all bassdrums share is that once the snap is over, they settle into a descending (in pitch) tone that is more often than not outside of the usable note range. Unless you're going for a very specific type of bassdrum that ends in a sustained, pitchable note, you will want it to be atonal so as not to create weird melodic dissonance in your song. 

Now let's take a look at a few types of kicks.

the C64 kick
I call this one the C64 kick because...well because. It's a very simple kick that sounds like a lot like what you'd find in an old C64 game soundtrack. I am using a full square wave (7FF) because it has a lot of punch, and stays very bright all the way through. Like all my kicks, I lock the pitch so what every note triggers the exact same kick to make sure that entering notes of a different pitch in the patterns won't result in the kick getting pitched as well. The Drum setting is used because that gives it a short burst of white noise at the start. I use and envelope with an ATK of 00 to make sure it doesn't fade in even by the slightest bit, and a Decay of 05 to keep short and sweet. The only other thing involved here is in the Program where I use a portamento down effect (02FF) followed by a GoTo (FF00) command that loops the program back to the first row, making it pitch down by FF on every tick. Quick, dirty and simple. 

the fake 909
Okay so this doesn't nearly have the character and punch of a real 909, but it's still a fairly acceptable clone. For this one, I am again locking the pitch to C4 but this time I turn off the Drum setting because I don't want the white noise snap. I use a triangle wave instead of the pulse since it has a much more subdued sound. The envelope still has an ATK of 00 to make sure it snaps instead of fading in, and this time I use a slightly longer Decay of 07. The Program is very similar to the previous kick but since I wanted it to pitch down faster that a single 02FF command would, I used to 02AF commands and linked them together (press space) to play at the same time.

the fake 808
The 808 is another classic kick and this one requires that we look outside the oscillators for a sound source. Go into the wave editor, select wave 00 and then press the Generate A button at the bottom. Now we have a basic sine wave to work with. Back in the instrument editor, simply turn on Wave 00 and turn off every other oscillator. You will want to leave the envelope's ATK to 00 to get that nice little snap at the start, and Decay is really up to you. The 808 was capable of making short kicks, but it is mostly well known for it's long deep kicks, so in this example I am using a Decay of 0B. Lock the pitch of the instrument to something around G4. Now in the program editor, set the P.PRD setting to 01 because we want to have the program play as fast as possible. Here I am using four consecutive 02FF commands linked together, which means the pitch will go down by FF four times in a single tick. Then I used a 0210 portamento command on row 04 and then use a GoTo command to loop back to that row. What this will do is play the first four rows in a single tick for a quick pitch down effect, then loop row 04 for a slower pitch effect. 

end transmission
So there you have it, basic bassdrum sounds. There are tons of ways you can improve/expand upon these concepts of course, but it's up to you to fuck around with the options and come up with your own sounds. In the next few tutorials I'll be discussing other sounds like snares and hihats, more advanced envelopes done manually in the Program, and give you a few techniques on making convincing drum tracks. Stay tuned.