klystrack tutorial - arpeggios

If there is one sound that defines what chip music is all about more than any other, it's the arpeggio. An arpeggio is simply a group of notes that are played one after the other. Now I know that sounds awfully generic a description, and that it could apply to any series of note, but there are a few things that make an arpeggio different from, let's say, a solo. 

what's an arpeggio?
The first defining element of an arpeggio (here after simply called arp because I'm lazy) is that it is a broken down chord which has its notes played one after the other. There are many ways to play these notes. You can play them in order from low to high, high to low, or mix those two modes and go up then down, or down then up. You can even have your own personalized order for those notes to play in. Since any three notes will form at least part of a chord, there really are almost no limitations to what notes you can use to form an arp.

The second defining element of an arp is that is it usually repeated more than once in order to establish the chord it is based on. This is not a requirement per se, but it is extremely common. Take for example that German dude's moonlight-related sonata-type diddy. What you hear at the beginning is an arp. It is a deconstructed Dm (D minor) chord with the notes being played repeatedly from lowest to highest.

An arp can also be spread across octaves by chaining the same sequence of notes at a higher or lower octave, creating longer arps with more movement to them. There are endless ways to be creative with arps since there are really not many rules holding the concept together. You could for example have a Dm arp that plays up the three notes in the middle octave once, then repeats the same notes in an up/down pattern an octave higher after that. 

The important thing to remember is that an arp is used to establish a chord without playing all the notes together at the same time. Other than that, you're pretty much free to go crazy with it. Some of the more classically trained individuals out there might argue, but fuck them.

the chip arp
The birthplace of the chiptune arpeggio is the Commodore 64 and its "invention" is usually credited to mega monster chip god Martin Galway with the score to Kong Strikes Back!. Since that old piece of crap (the C64, not Martin) had only three notes of polyphony, people found creative ways to cram more music in those measly three channels. 

On a piano, when you hold the sustain pedal and finger an arp, each new note rings with the others thus easily establishing the chord. On the C64 however, each new note would cut off the previous one. It would still establish the chord, but in a much weaker way when these notes were played slowly. 

The solution was speed. By playing arps incredibly fast, it gave the impression of all three notes being played simultaneously, but they still used up only one channel instead of three. It also had this very electronic texture to it, texture we all know and love now as one of the main chip music element. 

Another important element of chip arps is that it is also often used to establish intervals rather than chords by using less than three notes. More on that later.

how it works
Most chip music software use a system of 'ticks' to control its timing. A single tick being the smallest possible time element. A single row of a pattern is usually three to six ticks long depending on your project settings. Some software use a different timing system but the effect is virtually the same. 

When playing an chip arp, each note of the chord will be played for a set number of ticks. Since there are many of them per pattern row, it then becomes possible to play most, or all of a chord's arpeggiated notes on a single row. Typical settings for chip arps use 1 to 3 ticks per note. You can of course use more, but the more ticks per note, the slower the arp is. If played too slow, you start losing the distinctive chiptune sound and you enter the more traditional, classical arpeggio. In Klystrack, the speed of your arps is determined by the P. PRD setting in the instrument's program, which is essentially the number of ticks per note. 

There are two basic methods for creating arps for chip music. The first one is to include the arp's notes directly in the instrument, which is called a static arp. The second method, dynamic arps, decides which notes are part of the arp on the fly with pattern effects. Both methods have their pros and cons.

how to create static arps
Basic saw wave settings.
Static arps are created by entering the arp data directly into an instrument. Their main advantages is that they can easily be used on any note thus transposing the entire chord to a new root, as well as not having to enter any pattern commands when using them, thus freeing up the pattern command column for something else like filter sweeps, portamentos and whatnot.

The main disadvantage is that for complex chord progressions with inverted chords, you tend to eat up a lot of instrument space quickly since you need an entire new instrument to make a different chord, or variation/inversion of a chord.

In the following example we'll create arps for the two most common chords in music, the major and the minor chords. Let's start with the major.

Start by selecting an empty instrument and going in the editor. Give the instrument a name, like "Major Arp" or "Monkey Ninja". You can select whatever you want in terms of oscillators and envelopes, but for the purpose of this example we will use a plain saw wave with everything else left to default settings.

A major chord, broken down.
The next step is to enter the actual chord recipe in the program editor. Since we're making a major chord arp first, we need to know exactly what are the notes for that chord. Fortunately, you're sitting in front of the internet right now so you shouldn't have too much trouble finding that information. A quick Google search will tell you that the intervals, in semi tones, for a major chord is 0 (the root), 4 (the third) and 7 (the fifth).

Now click the program editor and input these numbers on the last digit of each row. You will see that Klystrack will tell you what actual note this interval represents based on your instrument's base note. Since the default is C, you will get C, E and G in the program.

The last step is to make everything loop neatly. For that we will used the Goto command. This command has two components, the command itself, and the destination. For example FF00 will make the program jump back to row 00, and FF09 would make the program jump to row 09. Since we want this arp to repeat from the beginning each time, we will use FF00. This will make the program play the first three rows sequentially, then loop back to row 00. 

Playing a C note with this instrument will then give you a C major arp. Since chord triads always use the same intervals no matter where they start from, if you play a D note with this instrument you will get a D  major chord and so on. So from this point on, whenever you need a particular major chord in your song, you can use that instrument and just enter the root note of the chord you want to play and voila.

Same concept, but for a minor chord.
Now select a new instrument, and repeat the process for a minor chord. The only difference is that the minor chord uses a flattened (one semitone down) third. So if the major was 0-4-7, then the minor is simply 0-3-7.  Go ahead and input this in the program editor and you will get a minor arp. As with the previous instrument, whenever you need a minor chord, all you need to do is select your "Minor Arp" instrument and enter the root note of the chord you're looking for in the pattern. 

And there you have it. With these two instruments you should be able to easily recreate just about 90% of all the music in the last 50 years...really.

Now for your homework, go on the intertubes to find more triad recipes like these and just keep repeating the same basic process. There are quite a few other triads available, like augmented and diminished chords.

how to create dynamic arps
Dynamic arps have no fixed notes. The first note in the arp will be whatever note you enter in the pattern, and the other two are assigned on the fly during playback with pattern commands. The two main advantage of dynamic arps is that you only need to use up one instrument to create many types of chords, and they make it really easy to invert triads for better voicing.

The biggest disadvantage is that there is only two dynamic notes you can assign so in most cases you're limited to triads. You can go beyond triads but you will need to create new instruments for each variation. 

Notice the EXT notes.
Let's start from the same point as we did for static arps and create a new instrument from a basic saw wave, leaving everything else on default settings. Now instead of entering the specific intervals for each note of the chord, we will change the last two notes of the triad to floating notes that we can then change directly from the patterns. This is done with the 00F0 and 00F1 commands. Start by entering 0000 on the first row, which will be the note on which the arp starts from, and then enter 00F0 and 00F1 on the next two rows. You will notice that instead of actual notes being identified on the side, you get EXT0 and EXT1, which mean external data (patter commands) will be used to determine the note to play on that row of the program. As with the static arps, make sure to include an FF00 command at the end to make it loop neatly. 

So how do you use those? Well let's say you wanted to make this instrument play a C major chord. First start by entering a C note in your pattern, then move to the pattern command column next to that note and use the command 0047. Remember this 4-7 from the last example? This will use the note you just entered as starting point (row 00 of the program) and then play a 4 semitone interval for EXT1 (row 01) and a 7 semitone interval for EXT2 (row 02), essentially giving you the same results as the major static arp we created earlier. This makes it really easy for you to change the nature of the chord by simply entering new numbers in the pattern command column of your patterns.

C what I did there?
The example to the left shows you how to trigger different C arpeggios from a single instrument by simply changing the 00xx command. Since the first row of your instrument program (0000) will basically play the note you enter in the pattern, it's possible to transpose these chords anywhere you want just as you can with static arps. If you were to replace the C note in this example for F, then you'd effectively be playing F, Fm, Faug and Fdim. Note that once you enter a 00xx command in a channel, this command remains valid until it is replaced by another one. This means you do not need to enter the command every time you trigger a note. The arp will play whatever 00xx was last used in that channel.

The other, and biggest advantage of dynamic arps is the possibility to easily invert chords for better voicing. In the example on the right, what you see are three different ways to play a C major arp. The first one is the traditional way to play the chord. It will start on a C, then play four semitones up (E), and then seven semitones up (G). 

The other two are simply inverted variations of the C chord. Take the G for example. Since it is accompanied by the numbers 5 and 9, the arp will start on a G, then play five semitones up (C), and then play 9 semitones up (E).  If you take one that starts on an E, you will see that it ends up playing E, G and then C. In all three cases the notes being played are the same, C-E-G, but in a different order. This is called inverting a chord and we'll get back to it a bit later.

fitting complex chords in triads
Complex chords are chords that use more than three notes. Obviously some aren't very complex, simply adding a fourth note to the mix, but it can quickly get out of hand, especially if you let a jazz fan near your piano. As a rule of thumb, you should always keep jazzmen out of your house. They will crash on your couch for weeks and eat all the damn food. They also smell vaguely of boiled cabbbage.

But still here you are with this nice chord progression you're trying to render with chiptune arps and the last chord of that progression is one of those pesky dom7th chords. How do you make a four note arp? Well the easy way out is obviously just to add another row to your program and enter the note there. Problem solved right?

Well yes and no. It's certainly a valid way of doing things and if this fits your particular needs then you're all done here. But it doesn't always sound right however. Since these arps are played really fast, adding an extra note in the sequence changes the texture of the "chip sound". You will find that four note arps do not sound as "fast" as three note arps simply because it takes a wee bit more time to loop back to the first note. 

Fortunately there's an easy-ish solution for fitting complex chords in three little notes. And yes, the solution is a stupid as you think it is: remove some notes. But won't that change the nature of the chord? In a way it will, and in a way it won't. Let's take one of the more common complex chord, the C dom7th, also called C7 for friends and family. This is primarily a C major chord, with an added flat 7th. In this case, the A#. So what we want to preserve even though we're removing notes is those three elements: we're playing a C, it's major, and it's got a flat 7th to it.

The easiest note to remove is almost always the root, C in this case. In most cases, this note is already being played somewhere else by another instrument, most likely the bass. So it's pretty safe to remove it since there are other tonal elements in the song supporting the fact that the chord is a C. You're left with E-G-A#. technically, this is an Edim chord. But as long as the rest of your song doesn't strongly suggest you are currently in E, and rather implies your're in C, then the overall texture of the song will be a C7. A major chord is also much stronger than a diminshed chord (which is really one of the weakest chords) so it doesn't take much to convince the listener you're in fact, playing a C.

The second easiest note you can remove from a chord is the dominant fifth, in this case, the G. The dominant's job is kind of to reinforce the root. If you remove the fifth, you're left with C-E-A#. These three notes together do not form another chord simply because there's not enough space between A# and C. So even if there's no G at all anywhere in the rest of your music, you're pretty much assured that the idea of the C7 is getting across just fine. And since the chord establishes itself without the help of other instrument, your bass line doesn't really need to establish the root and is free to wiggle about and do more interesting stuff.

The last note you can remove from that chord is the third, in this case the E. The third is really what gives your chord its minor or major character. If you remove it, you're left with a power chord (root + fifth). Since we're trying to preserve the original chord as much as possible, this note should be the last one you consider removing. But it can still be done. The remaining notes, C-G-A# still do not form a new chord because of the interval between A# and C being too small so in a way you still retain that C7 flavour, albeit without the major gravy on top. The moments when it's safe to remove the third from chord and keep that major tint to it is when the rest of your chord progression implies that this C chord would be major. So if you're in the key of C major, then removing the third can be done with relatively little impact on the chord itself.

So you could write a C7 arp (the static kind) by playing a C in the pattern, and have the instrument play either of those interval combination: 4-7-10, 0-4-10, and 0-7-10. You're left with a three note arp that won't sound too different from your basic triads in terms of texture and speed.

For even more complex chords, five notes and up, fitting them into a three note arp can be a little more challenging. You will need to look at what else is playing in your song that will imply that the notes you remove are still somehow being played. This can be as direct as having another instrument playing that note, to something as subtle as having your chord progression imply the missing information is still there. Fun times ahead.

voicing your arps
Chords can be inverted. What that means is that it doesn't really matter on which note you start, as long as you play all the correct notes, your chord will come across. They don't even need to be next to one another, you can spread them across the octaves if you want. Of course too much distance between the notes will sound a bit meh, but it will still technically be the correct chord.

I'm a god damn comedian.
Let's take the C major chord, again, as example. The natural chord is played C, then E, then G. From lowest to highest note. If you take your C note and put it an octave higher instead, you still get a C major chord, but this time it starts on a G, and ends on a C, giving it a different flavour while still remaining a C major. This is called the first inversion. Now start from that, and move the E an octave higher. Still a C major chord since it's all the same notes again, but this time you're in second inversion. With this technique, it's possible to shift your chords up or down in pitch while keeping the chord intact. 

It's when you start applying this to chord progressions that you really start to understand what voicing is all about. Let's take an easy chord progression and play with it a bit. We'll start from the classic 1-4-5 progression in C major. This progression is simply three major chords one after the other: C major, F major, and G major. This is how you'd play the progression using only natural shapes.

While this works just fine. There's no escaping the fact that the progression keeps going up in pitch. It also sounds quite elementary, a bit as if you'd be playing something out of your first few lessons of piano. What if we'd rather have a descending pitch for this progression instead? Well in that case we could do something like this instead.

Same basic chord progression, but now with a descending pitch. Another way to play the same progression would be keeping all the notes from every chord as close as you can to one another. This gives your progression a very "open chords on a guitar" type of feel since that's pretty much how open chords work on a guitar, none of them seemingly higher or lower than the other, but all distinctively different. You could then use something like this too keep them all close to one another.

There are tons of ways to voice your chords together like this. None of them are wrong as long as you play the correct notes for each chord. Mastering this technique is essential if you want to feel in control of your music, being able to give it movement in any direction you desire. Just remember that any chord can be inverted in any which way you want, as long as the notes remain the same. Complex chords offer you even more ways to invert, twist and mangle your progressions, make sure to explore and have fun with them.

intervallic and single shot arps
There are two more ways in which chiptune arps are usually used. The first one, the intervallic arp is composed of only two notes. Being only two notes, it doe not form a complete chord. The most common of these is clearly the octave jump and it's been heard in thousands of songs. This is a simple two note arp that will have its second note placed at an interval of 12 semitones. This gives your instrument the classic "chip tune arp" flavour, but keeps it centered on a single note, thus making it possible to use it easily for melodies and solos. You can explore different intervals of course. Another common interval for example is the fifth (7 semitones).

Intervallic octave jump
Single shot, note the goto command.

The second method is the single shot arp. This is basically just about any arp that will play only once and then remain on the last note. Two commonly used arps for single shots are the two notes octave jump (12-0) and the three notes double octave jump (0-12-0). This gives your instrument a quick short burst of chiptune arp sound, but then stabilizes into a single tone. It is important to ensure that your arp does not loop when making a single shot arp instrument. In Klystrack you can either check the No Program Restart box at the top of the program editor, or you can manually make it go in an infinite loop that will not repeat the arp.

So you see, there's a lot to do with arps. This by no means represents the be all end all guide to everything you can do with them, but it should get you well on your way. And hopefully, you learned something new today and got a bit more music theory in you at the same time. Now go, young grasshopper, and explore. There's nothing like trial and error.