Subject: Re: [stella] sound frequencies|
From: Nick S Bensema <nickb@xxxxxxxxxxxx>
Date: Wed, 2 Apr 1997 08:23:52 -0700 (MST)
>On Wed, 2 Apr 1997, Nick S Bensema wrote: >> I have a hunch that this is something that will have to be done manually >> unless I can work out a system of some kind that could be automated. > >Yeah, note values are only half of the battle. You have to find a way to >program in rhythm conveniently as well. > >It all has to be formulated from the beats per minute tempo figure. 4/4 >at 120 beats per minute is one quarter tone per beat, or 120 quarter tones >per minute. Then you divide that by 60 for 2 beats per second. You have >60 graphics refreshes per second in your basic Atari 2600 kernel, so you >need to change a quarter note once every 120 graphics refreshes. There is >a way to simplify it, I'm sure. That's why computer music can sound >artificial, though, because the beats become too mechanical and precise. By going to a new note every 15 frames, I can get 4 beats per second which is sort of what I'm going for. I can probably slip in a little ADSR curve too, probably. >How Many More Times, for instance, uses a "swing" beat which would be hard >to translate because we're talking about triplets, not necessarily easily >divisible into this formula. 60 is divisible by 3.... though dotted notes would be weird. To do stuff like that, one could deal with it by adding another data array for timing in frames. >Some way of writing your sound program so you can just plug in the beats >per minute figure and the note values in standard-notation format >variables, like 1 for wholenote, 2 for halftone, 4 for quartertone, 5 for >quarter note triplet, 8 for 8th note, 9 for 8th note triplet, 16 for 16th >note, 17 for 16th note triplet, etc... Then leave it to the sound program >to do the math and translate it all into durations the computer >understands (cycles and TV frames). It would be inefficient to leave that to the 2600. It'd be best to do the math at design time. -- Archives available at http://www.biglist.com/lists/stella/archives/ E-mail UNSUBSCRIBE in the body to stella-request@xxxxxxxxxxx to be removed.