Tips on making instruments -------------------------- Last revision: 11/26/97 - SLJ - da Blondie ( W!/SGR/XyX ) - The point of this little document is to give some insight into and ideas for creating instruments and sounds on the C-64. Although I (Steve) wrote the first part, most of the tips and insights and all the cool and interesting stuff comes from da Blondie. Note that this document isn't a "How to create instruments" so much as it is a "How people to date have created instruments" -- the purpose is to stimulate new ideas as much as it is to document old/standard ideas. If you're not very familiar with SID, might I suggest that you take a look at the SID primer (also on the Blahtune page) and play around with the instrument editor for a little bit. The question is: how to make nifty SID sounds, like many tunes and sound effects seem to do? When you get down to it, SID is really a pretty simple device. There are the ASDR settings, the control register settings, the frequency, and the filter settings. And that's it. To get away from the standard SID sounds means we have to start "dynamically" modifying the sound, i.e. change settings on the fly. In Blahtune terms, that means macros. Of those SID features, the only adjustable settings are the pulse width, the frequency, and the filter cutoff and resonance. The pulse width is the most obvious thing to modify, and the simplest thing to do with it is to sweep it around. For example, a standard trick is to linearly ramp it up and back down: pwidth = pwdith + 4 (or 10 or whatever) for a few steps pwidth = pwidth - 4 to bring it back down to its original value You could also do a vibrato-like effect, or try for a more nonlinear ramp like x = x + 1 pwidth = pwdith + x i.e. add 3, then 4, then 5, etc. You can just sweep it upwards, e.g. pwidth = pwidth + 4, and let it wrap around. And so on. Resetting the test bit (set bit 3 in CREG to 0 and then back to 1) will restart the pulse at its leading edge, which will in general add extra harmonics to the sound (in effect it changes the pulse width). Put all of this together and there is plenty of room for experimentation. What about frequency? Changing the frequency is needed for slides, vibrato, etc. in addition to just changing notes. When combined with ring modulation (or sync), changing the frequency of the modulating tone will create all sorts of harmonic color and overtones. This is what I used for the howling winds in the Halloween tune, and JCH even used ring modulation to simulate human speech! Finally there are the filters. The filters do just what they say -- filter out frequency ranges. Unfortunately they do not perform uniformly, and sound different on different SID chips. Nevertheless, many fine effects can be done using the filters. They are also often used for drum sounds. What about the other registers? ASDR can "shape" the sound, but doesn't offer any dynamic possibilities. Changing waveforms mid-stride tends to give lots of clicks and pops. The gate bit _can_ be used in special ways in Blahtune, for instance to create fades, or swells, and various other things, and is certainly worth experiementing with. If you want to go all-out you can play with digitization, but that is a subject for another time. Let's get some expert tricks and tips now: - Use quiet instruments (I mean ADSRs with a sustain level around 6). This way you can make it sound better, and f.e. triangle won't be owershadowed by pulse. - If you set the first two values of ADSR to relatively large Attack/Decay rates then you can play around by setting an appropriate sustain value, thus giving it some dynamic volume control. For example, you can make an echo in only one channel by repeating the last, say, two notes, with decreasing volume. - For creating drums, the pulse waveform does a good job. Just make sure that the pulse width is around $800 -- a true square wave -- otherwise it will sound terrible. - Triangle is also useful for drums (especially kick drums and the like), but as traingle is a quiet wave, make sure that the other instruments are not too loud. - Filter your drums! Especially snares. For a bass drum, pull down the filter cutoff frequency while playing the sound. - Setting the pitch two halftones higher (e.g. B-A, or C#-B) than it is intended to, for a moment (one or more frame lengths), makes it sound a little more interesting (esp. useful when you play a chord's notes at the same speed, i.e. CEAC'AEC or something like that). Other intervals may also produce interesting sounds. (In many pieces of music, "grace notes" are often used to add a little color to the music. In written music it is printed in small-type, and indicates a note which is to be played, but its time value is subtracted from the note it is "attached" to -- much like the above. Sometimes they are played very quickly but other times they are played, well, not very quickly.) And one last thing... - Experiment! :)