Tutorial #2: Babby's First Boom

Now that you can export any sound you like, let's start creating our own sound effects.


Go to the instrument editor (press F2). The default sound is a quite useless "DINNNG" (check it out by pressing Q, W etc. - you should be familiar with the keyboard layout by now). For game purposes, the sound should be loud and obnoxious, of course. Let's change the sound characteristics.

At first, disable the DRUM checkbox (this will be important in the next step). We also want to change the dull triangle waveform. An explosion sound should use the noise waveform. You can set the oscillator waveform by using the checkboxes.

Note: You can have any combination of waveforms enabled at the same time.

Check the sound again by playing with the keyboard. Now you should hear a pretty weak "TSCHHH". This might be useful for something but we want more punch in the sound. We can do this by altering the sound amplitude envelope. In plain English, this means we will change the time the sound fades out.

A punchy sound is sharp so we want to make everything happen faster. Change the ATK (attack) value to zero (the sound will instantly be set to full volume when you trigger it) and DEC (decay) to 10. You can see the millisecond lengths in the status bar when you change the values (1000 ms equals one second). The sound is now much shorter and sort of feels more violent. Play with the sound by pressing different keys so that you get a feel of it.

We will also want to alter the sound frequency when the sound plays. This has to be done with the instrument program (bottom right). The idea with the program is that every 1/50th of a second it can alter any of the values by using commands in the program (and if the P.PRD is the default 02, this is 2/50th = 1/25th of a second). You can see how the program restarts every time you hit the keyboard.

Note: You can alter the update rate with the RATE parameter visible in the main view.

Click on the program editor and enter 0240 on the first row and FF00 on the second row. Use the cursor keys to move in the editor.

This tiny program basically only tells klystrack to slide the played note down (command 02xx) every 1/50th of a second at a rate of 40 (hex) and then on the next step jump (command FFxx) back to row 00. When you trigger the sound (again, with the keyboard QWERTY etc.) you should notice two things: the noise frequency goes down and that the program position arrow doesn't run all the way to the bottom of the program any more (because of the jump). There are lots and lots of commands and you can view the list by pressing F1.

You should now experiment with different values for the 02xx command and also for the envelope.

Note: Use the TAB key to switch focus from the program editor to the parameters. Useful when editing the program and wanting to test the program.

Improved BOOM!

Comics have words like "KA-BOOM!" Indeed even a relatively simple event like an explosion might have separate stages to it. To design an explosion sound is not unlike drawing an animated explosion: you can't just zoom a single smoke cloud and expect it to look good. The instrument program can be thought as frames of an animation.

We could make the sound more interesting with a simple addition: mixing waveforms. For example, maybe the very beginning of the sound have a short burst of simple square wave and only then there is a tail of decaying noise (if you listen closely to very punchy sounds, the very beginning is so distorted there hardly is any difference between a square wave and the distorted sound).

Let's add a new phase to the sound.

Insert a new row in the program with the insert key (use delete to delete a row). Type in the command 0B02 (0Bxx changes the waveform combination to xx). This will make the program change the waveform to the bitmask 02, which is just the pulse waveform and this will happen immediately when the sound is triggered. Insert one more row and enter 0B01. This disables the pulse waveform and enables noise. Look at the status bar, it will show you the combination of waveforms when the cursor is on the 0Bxx command.

You need to change the pulse wave width to 7FF, that has the most punch. We also need to edit the FFxx jump command so that it jumps on row 02 instead (otherwise, it would just jump back to the first row enabling pulse again).

If you now play the sound you will hear there's a very short period of pulse wave and then the familiar decaying noise. Since there's no correct answer to, well, what any sound effect should sound like, you are quite free to try all kinds of waveform combinations. Maybe you'll want to have more phases to the sound effect (just add more 0Bxx commands with altering waveforms).

I found that the explosion sounds nicer if I adjusted the P.PRD (middle right on the screen) to 01, this makes the program execute twice as fast. It makes the pulse wave part faster and sharper, in my ears. Adjusting P.PRD doesn't have any effect on the speed of the volume envelope or the 02xx command.

I strongly suggest you to play with the program. For example, try changing the 02xx command into a 01xx command. Or, use completely different waveforms instead of the noise. You can already create a variety of sound effects that have a different feel to them if you just change those few parameters.


You have now created your first own sound effect. You also should have an idea of how to edit an instrument and the program. In the next tutorial we will create some more melodic sound effects.


TutorialFiles.zip (582 bytes)
12 days ago

Get klystrack

Leave a comment

Log in with your itch.io account to leave a comment.