Sunday, April 12, 2015

Getting Real Pt 8. - Knotty Knotes

Digital trackers like Renoise can trace their lineage directly back to composition software on unbelievably limited hardware like the Commodore 64. The C64 had only 3 channels to compose with. As a result composers learned to write in an extremely compact style, and use techniques to make the best use of the limited polyphony. For example, a composer might start a melody line in channel 1, but then move some of the line over to channel 2 in order to make space for a base-line in channel 1. If you can imagine in regular musical notation, this is like writing some of the violin part over in the cello score, but written in is something like "supposed to be played on the violin".

Tom Hargreaves notes in his talk at the 28th Chaos Communication Congress that tracking software simply aggregated and evolved features over time and never really had anybody sit down and really redesign things. As a result this compact style carried forward as computer music technology advanced -- through 4 channel digital stereo .mod files, up through Impulse Tracker. Even when trackers allowed for vast numbers of channels, processing power was too limited to allow for 32 channels of music in addition to the complex real-time visuals of a demo. So the compact style of tracking stayed with us for a very long time -- even when it sometimes doesn't make any sense.

I'm no stranger to this style myself, having often taken quite a bit of pride in packing the maximal number of notes into the minimum number of channels. I even won a competition for a 2-channel chip-tune once long ago -- besting the C64 by 33.3%!

But we're in modern times, using modern tools that effectively have no limits. To reorchestrate the music properly, I had to really tear it apart and reorganize it. This meant working in a more modern DAW-style, 1-instrument:1-track style. Even after several years working like this, it still feels weird to me to see so much empty space in my tracker, but it turns out it's just easier to work that way. So almost as hard as writing in a compact style is untangling somebody else's compact style.

Issues around doing this haunted me for weeks. And it turns out that Clinkster generates a new "instrument" every time an instrument is used outside of its normal track. This adds precious bytes to the production and it's incredibly hard to track down if you missed it.

Here's a brief example from Pattern 01 (Sequence 39), Tracks 4 and 5 from Purple Motion's section (columns are note, instrument and volume):

  Track 04   Track 05
00 C#5 1B ..  D#5 09 ..
01 ... .. 14  ... .. ..
02 C#5 1B ..  D#5 09 ..
03 ... .. 14  ... .. ..
04 C#4 1B ..  D#4 09 ..
05 ... .. ..  ... .. ..
06 ... .. 00  C#5 1B 2C
07 ... .. ..  ... .. 06
08 ... .. ..  C#5 1B 2C
09 ... .. ..  ... .. 06
10 ... .. ..  C#4 1B 2C
11 ... .. ..  ... .. ..
12 ... .. ..  ... .. 00

What happens here is that Purple Motion used instrument 1B (a hard attack synth with a trailing warble) in Track 04 for lines 00 through 06. He cut it off directly after the attack on the next line by setting the track-volume to 14. It's interesting that he didn't set it to 00 and just cut it off completely. By letting it ring out for another tick at a lower volume, it has the effect of giving just a little more space to the sound. The final note in the initial sequence, at position 04, is an octave lower. Being a sample, this implies that the waveform needs a little more space to get through the attack. So he gives it an extra tick before killing it. He repeats this basic motif several times in the opening patterns and it has an amazing effect.

However, he also uses an old tracker trick to simulate a digital multitap delay (with 1 echo) by replaying the same motif right after the initial notes, but at a lower volume (about 30% lower). These are the notes at position 06 through 12. But here's where it gets complicated, he chose to play out this echo in Track 05 instead of the original Track 04. The notes filling up Track 05 for position 00 through 05 are an entirely different sample!

Why did he do this? At first I thought it was so he could use the echo to cut off the last D#4 at position 04. But why do this when he's simply cutting off the original motif with a 00 at position 06 in track 04? Your guess is as good as mine. But to make this reorchestration work, I had to untangle this while ensuring I maintained the meaning of what was happening. The intention and semantics of the work were important.

A modern take on this thus would look like (and sound the same):

   Track 04   Track 05
00 C#5 1B ..  D#5 09 ..
01 ... .. 14  ... .. ..
02 C#5 1B ..  D#5 09 ..
03 ... .. 14  ... .. ..
04 C#4 1B ..  D#4 09 ..
05 ... .. ..  ... .. ..
06 C#5 1B 2C  ... .. ..
07 ... .. 06  ... .. ..
08 C#5 1B 2C  ... .. ..
09 ... .. 06  ... .. ..
10 C#4 1B 2C  ... .. ..
11 ... .. ..  ... .. ..
12 ... .. 00  ... .. ..

Actually, a truly modern take would skip the fake echo and just use a DSP, but that's besides the point. Here I am 3 beats into the second pattern and already having to untangle a minor knot! It turns out both Skavens and Purple Motion's tracks are packed full of this kind of stuff. It took maybe 50% of my time to simply move notes around between columns so I could make sense of them.



This may sound like an almost useless effort. After all, why didn't I just copy-paste the notes and remap the instruments and call it a day? Well it turns out that this untangling served me well later when I had to start making difficult decisions about notes to cut.


1 comment:

  1. The reason that almost all faked delay in tracked music has the delayed part in a separate track, is due to the workflow. It's simply easier to do these simple steps, than manually creating the delay:
    1: Copy track 1 and paste in track 2
    2: Insert positions (thereby pushing down notes) at top of track 2
    3: Decrease track's note's volume by X (usually hotkey based)
    My bet is, Purple Motion added the notes from position 00 through 05 after he created the delay :)

    ReplyDelete