SiGnAlS 3
- SiGnAlS -
Issue III, Volume I
July 24, 1993
"Dedicated to all the coderz and their insane delusions..."
Executive Editor: Necrîs, The PsYcHiC MoNkS
Greets to: Pxyll, Dominor, PM, and special thanks to everyone whose called to chat.
I : Introduction
Welcome to the third issue of SiGnAlS, the magazine for the modern mod coder. Issues come out approximately every five to six days, or when I run out of things to say, an often occurring situation. Thus your support is needed! Keep the letters and responses coming. I promise that all will be answered. In this issue, some more basix, another edition of 'Tricks and Tips', and other extras. We hope you will continue to help us enlighten those would-be's out there and service the existing net as best we can. Please feel free to distribute this magazine to any smaller FTP sites we may have missed. Keep the text as is, though, so as to be consistent. ;)
II : Basix
Ok, where are we? Let's assume you have a tracker and a player and know what the hell a MOD is and et cetera. Let us also assume you have some samples to work with. The next step is to create songs. MODs use a simple format to store note data. (If you've worked with MIDI files or CMF data, you will find it quite similar.) Modules divide songs into 'tracks', with each track having 64 spaces in which to enter data. As in normal music, a track is roughly equivalent to a measure, and a space is similar to a beat. Usually there are 4 side-by-side tracks, each capable of playing one sample at a time. To create a song, you fill the tracks with data, and string tracks together to create 'patterns'. A pattern is a group of 4 tracks that play simultaneously. Thus, the pattern is a measure of sorts that includes all the instruments at the same time. A pattern looks something like this:
Beat #-> 00 C-2 01000 C-1 03000 G-3 04000 F-3 07000
01 --- 00000 C-1 03000 --- 00000 F-3 07000
02 --- 00000 D-1 03000 --- 00C30 F-3 07000
03 C-3 02000 C-1 03000 --- 00C20 F-3 07000
04 --- 00000 D#1 03000 --- 00C10 F-3 07000
05 --- 00000 C-1 03000 --- 00C00 F-3 07000
06 --- 00000 F-1 03000 --- 00000 F-3 07000
Note EFX .
.
.
etc.
The first column (00,01,02) is the beat number for that pattern. The second column consists of the notes being played: C-2, C-3, etc. Please remember that the music moves DOWNWARD, not to the right as in normal sheet music. The first horizontal line is the first beat; the second horizontal line the second beat. All the notes on the first line happen simultaneously in the first beat.
The third column, the EFX (effects) column, specifies two things. The first two digits state the instrument sample number. This is the number of the sample currently being played. The last three digits hold any special effects. You can see an example of effects on the third track, about halfway down. The C30, C20 effects are volume changes (more on that in later issues), but the important thing to know at the moment is that they are effects, not notes.
To compose a song, you simply enter data downward on each track at a time. Simply put the appropriate note on the beat at which it should enter, and you're all set. Rests are simply the absence of note data. However, to create a true rest (needed if your sample sustains), you must lower the volume of the track to zero using the C00 effect at the appropriate beat.
Now, once you have a pattern or two done, you can work on what is called the 'playlist'. Your patterns are numbered internally as 0, 1, 2, etc., but you don't neccessarily have to play them in that order. A playlist specifies the order in which the patterns in a song are to be played. For example, I may wish to play my patterns in the order 4,1, and 5. I would then create a playlist of length 3 with the order 4, 1, 5. Most trackers do this by a master position indicator. The indicator starts at zero and climbs by one. For each indicator number, you assign an associated pattern to be played at the same time. For example, the tracker starts at master pos 0. You then click on the pattern button and change the associated pattern to 4. Then you move onto the next master pos, and set a 1 there. Easy, huh. (Yeah, I know, you're lost already. Well, don't worry, things should become clear soon. If not, then just play around. That's how I figured all of this out myself! ;))
The length of the playlist determines the length of your song. You can have extra unused patterns (with note data and everything) in a song that are never played. Wasteful, but possible. Try to make sure every pattern in your song is used in the playlist at some point. Else you're wasting disk space.
Whew. Well, my fingers are about to fall off. More in the next issue.
III: Tricks and Tips w/ Necrîs
Today we'll differ a shade from the planned agenda, and delve into the intricate art of the drum track. Yes, many coders think they can get away with a lame bass and snare sample for a whole 67-pattern mod. Well, they're right. In module programming, what counts is size. Every byte you can chop off of a mod, the better. 90 percent of most mods is taken up by samples. The less drum samples you can use in a mod only works to your benefit. I understand that the purists out there (I'm one of them) don't like to degrade intrinsic musical quality in the name of memory, but sometimes you can get away with it without really hurting your MOD quality.
'How dost we achieve this noble goal?', they ask. Well, one of the best is writing a good drum track. First, let us analyze a typical pattern. We'll assume you're writing a modern rock/ techno mod, since that's the majority of what's out there. (Don't worry ballad coders, I have something special for ya too in a few issues.)
Go back to the analog world for a sec. Think about your favorite rock album and what the drummer is actually doing. Most likely he's using a combination of bass drum, snare, toms, hi-hat, cymbals, and possibly shaker or tambourine. Now obviously you can't put all of these in your mod. That's at least six tracks right there. You can compromise, though, and do it with a minimal loss in sound quality. Let's examine the following riff.
crash cymbal OOOOoooooo......------------------------------------------------
hi-hat xxxxxxxXxxxxxxxxxxxxxxxXxXxxxxxxxxxxxxxXxxxxxxxxxxxxxxxXxXxxxxxx
hi tom ----------------------------oo----------------------------o-oo--
low tom ------------------------------oo------------------------------oo
snare ----X-------X-------X-------X-------X-------X-------X-------X-XX
bass drum X-------X-------X--X----XX------X-------X-------X-------XX------
1 16 32 48
(A dash = a 64th of a measure, like a mod track.)
A pretty basic 4 beat drum riff. We have a 16-beat hi-hat riff over a basic bass/snare combo with a few tom fills and a big crash at the start. How do we track this without using the needed six tracks? Easy. This is how:
Many drum sounds are short in nature. Bass drums, some toms, hi-hats, all of these take about a click and a half at moderate speed (--F06). This means that we can put more than one sound in a track. By using overlaid sounds, we can accomplish our goal.
This is how I would convert this pattern to a two track drum riff:
00 C-2 01000 C-3 05000 | 20 C-2 01000 C-3 04000 Samples:
01 --- 00000 --- 00000 | 21 --- 00000 C-3 04000
02 --- 00000 --- 00000 | 22 --- 00000 C-3 04000 1 - Bass Drum
03 --- 00000 --- 00000 | 23 --- 00000 C-3 04000 2 - Snare
04 C-2 02000 --- 00000 | 24 C-2 02000 C-3 04000 3 - Tom
05 --- 00000 --- 00000 | 25 --- 00000 C-3 04000 4 - Closed HiHat
06 --- 00000 C-3 04C10 | 26 --- 00000 C-3 04000 5 - Crash Cymbal
07 --- 00000 C-3 05C30 | 27 --- 00000 C-3 05000
08 C-2 01000 C-3 04000 | 28 C-2 01000 C-3 04000
09 --- 00000 C-3 04000 | 29 --- 00000 C-3 04000
0A --- 00000 C-3 04000 | 2A --- 00000 C-3 04000
0B --- 00000 C-3 04000 | 2B --- 00000 C-3 04000
0C C-2 02000 C-3 04000 | 2C C-2 02000 C-3 04000
0D --- 00000 C-3 04000 | 2D --- 00000 C-3 04000
0E --- 00000 C-3 04000 | 2E --- 00000 C-3 04000
0F --- 00000 C-3 04000 | 2F --- 00000 C-3 04000
10 C-2 01000 C-3 04000 | 30 C-2 01000 C-3 04000
11 --- 00000 C-3 04000 | 31 --- 00000 C-3 04000
12 --- 00000 C-3 04000 | 32 --- 00000 C-3 04000
13 C-2 01000 C-3 04000 | 33 --- 00000 C-3 04000
14 C-2 02000 C-3 04000 | 34 C-2 02000 C-3 04000
15 --- 00000 C-3 04000 | 35 --- 00000 C-3 04000
16 C-2 01C20 C-3 04000 | 36 --- 00000 C-3 04000
17 C-2 01C30 C-3 05000 | 37 --- 00000 C-3 05000
18 C-2 01000 C-3 04000 | 38 C-2 01000 C-3 04000
19 --- 00000 C-3 05000 | 39 C-2 01000 C-3 05000
1A --- 00000 C-3 04000 | 3A --- 00000 G-3 03000
1B --- 00000 C-3 04000 | 3B --- 00000 C-3 04000
1C C-2 02000 C-3 04000 | 3C C-2 02000 G-3 03000
1D G-2 03000 C-3 04000 | 3D --- 00000 G-3 03000
1E C-2 03000 C-3 04000 | 3E C-2 02000 C-3 03000
1F G-1 03000 C-3 04000 | 3F C-2 02000 G-2 03000
Track 1 hold the bass and snare parts. We take advantage of the fact that a rock drummer rarely hits the bass drum and snare drum at the exact same time. We use track two for an accented hi-hat and the crash cymbal.
Comments:
- Note that we included the crash cymbal even at the cost of a few measures of hi-hat. The crash cymbal usually distracts the ear so it misses the high hat. Don't use this in two consecutive measures, though, for then the missing hi-hat becomes more obvious. To create the open hi-hat sound, we use a very short crash in place of the closed hi-hat. This is moderately effective. A truly effective replacement is to replace the crash cymbal with a ride-type cymbal sound. This technique then works perfectly. Of course, you sort of lose that big crash intro. Oh well.
- The tom is overlaid with the snare part, but the snare part takes precedence. If you cut a snare to replace it with a tom riff on important snare whacks, it is very noticeable. Thus we use the tom as a fill during the breaks of the drum beat.
- Certain instruments have been faded in using the volume CXX command. We do this a lot for off-beat snare and bass hits. This works really well for snare fills and such, so that the repeated hits don't become somewhat monotonous. Fading in drum rolls also works quite well.
As you can see, we achieved this conversion with a minimum of headache. If you can somehow put yourself in a conservatory mindset before you begin, that is even better. Try to squeeze in the parts as you compose, not after.
Ok, a few more things.
Sometimes you want to use a beat that really isn't in 4/4. Most hip-hop beats and some techno fall into this category. The most common is a techno beat with swing-type hi-hats. Sometimes you can do this by using a three-beat measure.
hi-hat x-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-x
snare ------O-----------O-----------O------
bass kick o----------oo--o----o---o----------oo ... etc.
(for 48 beats)
Some beats, though, don't fall into either of these categories. A lot of rap beats are like this. They'll use a hi-hat pattern that isn't straight 16-beat, but yet isn't swung eighth-note triplets. It's somewhere in the middle. How do you represent this duality? Well, either use a 96-beat measure or get yourself a drum loop sample. Honestly, there isn't much way to fix this hi-hat problem. You can try to use the --EDX (delay note) to slow the hits a little, but different trackers interpret this differently. Your best bet? ;)
Use the sample.
Next time, more random stuff. Maybe some chordal arrangement tips. Keep composing!
- Necrîs
(Does my name work in normal ASCII? Probably not ;O)
IV: Visualizations
Does changing your name to a sexual symbol raise your musical libido?
Can Billy Idol read one William Gibson novel and transform himself into a true hacker? Doubt it! Master DEBUG and call me back, Billy.
Is alternative alternative anymore?
Answers to these and more stunningly penetrating questions in the next edition of SiGnAlS!
(yeah, right)
Anyways, onto more interesting stuff. I have often wondered why MODS sound so-modlike. I know the samples contribute to the clunkiness, the rigid time structure doesn't help, and the prevalence of techno isn't the greatest thing for humanist music, either. But then the real answer hit me. It is impossible to add serious vocals to a MOD. I don't mean vocals as in 'Whoo!', and 'You got it!', and even 'House! Techno!'. I mean serious singing. It is hard to create ballads and even good rock songs for this reason. To sample a vocal track would require a staggering amount of memory. Unless you LIKE mods that approach 1 meg and more, full vocals are not an option. How then, do you create a lead voice in your music? Instruments are one option. Flutes, synth trumpet voices, pianos, even guitar sounds, all of these I have tried, and seem to work well. It is even possible to create the lead out of the chords themselves. This is tricky, but possible.
Maybe if you used a really low sample rate and repeated a lot of vocal parts, you could add a full distinct vocal track .... well, maybe not. It seems hopeless. Don't let this stop you from creating ballads and rock songs, though. If nothing else, program every part but the vocals and let the rest ring in your head. The best mods suggest something more than is actually there. As long as the music moves you, who gives a shit about everyone else? In any case, there's bound to be someone out there that'll hear it too.
Sorry for the meager wisdom. ;)
More in the next issue.
V : Conclusions
Yep, a 15K issue. Hopefully they'll grow even bigger. However, after writing 15000 characters, your fingers feel a bit sore. May delay the next issue ... ah, wouldn't want to keep your manical soul-devouring taste for good mod docs unappeased. Until the next time: We out!
e-mail: segaag@craft.camp.clarkson.edu
turtle-express:
Necrîs
re: Signals
The PsYcHiC MoNkS
7958 State Route 69
Oriskany, NY 13424