CompuServe Messages

#AMIGA-MUSIC

#: 36148 S1/AudiophileForum unknown
    12-Oct-86 21:27:07
Sb: #36026-#AMIGA-MUSIC
Fm: Richard Rae 72177,3516
To: Roger F. Becker 71426,1053

This message turned up in search, but its forum couldn’t be identified from the original transcript, so it may not be linked into its thread.

Roger, Oh, you were referring to polyTONAL (or multitonal, if you prefer) sounds. This is quite different from multitimbral; your earlier comment was correct in this light. You say you still don't understand why this requires extra processor time. There are several reasons; I will quote you one example for now. Let's take a simple case: you want to generate a 1 Khz tone from one channel. Okay, you build your sine wave or whatever, load it into the table, and turn the sound generator loose. Fine. Now, you want to add a second tone; for the sake of simplicity we'll take a perfect fifth above the first tone, which is 1500 Hz. This is the simplest musical ratio after an octave, but it will illustrate the point well enough. Now, you can't just compute a second sine wave or whatever at 1500 Hz, AND it with the existing table contents, and re-store it. Why? Because while the period of the 1 KHz tone is 1 mSec, the period of the 1500 Hz tone is 666 uSec; in other words, one cycle of the 1500 Hz tone is over in 2/3 the time of the original waveform. If you just compute one cycle 1/3 of your waveform will be missing; if you fill the table with 1500 Hz, you'll have 1.5 cycles and no longer a sine wave or whatever. The solution to this is to double the length of the table to find the least common denominator of the two periods. In this space you can fit two 1 KHz cycles and three 1500 Hz cycles, so everything works out wonderfully… for this simple case. Now, consider a major triad, which is the root, fifth, AND third. OR any of the more complex chords. Figure out what the LCD is and you might be surprised. Keep in mind also that you'd have to constantly change the table length for EACH and every note change (potentially, at least). No, typically polytonal output from a single channel is going to require a LOT of CPU, regardless of whether the CPU is calculating the waveforms "on the fly" or using the wave tables and dedicated hardware. Nybbles, Rick