Subject: [stella] Sound experimentation|
From: Nick S Bensema <nickb@xxxxxxxxxxxx>
Date: Tue, 15 Apr 1997 09:15:53 -0700 (MST)
Last weekend I did a bit of experimenting and god my 2600 to play a little tune. I just threw it together, using no vertical sync. I just set T1024T to some enormous amount , played the note, waited for T1024T to time out and then decreased the volume for another huge number of cycles. Register output to the frequency and control channels are sent to the playfield registers for debugging purposes. It's in a very low key, and there are no drums, and I only put in one bar of it. As I was coding it, I realized the kind of table that would be needed in order to better automate the process of sequencing. This table could have names and cents-off values for humans to interpret, but alongside that a cents-from-C1 value. A half-step is 100 cents, of course.... so supposing I wanted the following melody where the interval from root is as follows: 1 5 1 3 5 b7 5 6 5 1 5... et cetera. A program could go through just about every key it can find to represent the root (1), and of course find as close a match as it can for that root plus 700 cents for the fifth, root plus 400 cents for the third, etc. It would try as many keys as it could and print out the register values for the n best keys. I'm going to have to find a text editor that can cut and paste in rectangles so that I can get a columnar list that an awk script or C program could easily parse. Pure cent values would have to be manually calculated, but there is a definite pattern to the progresison of intervals down the list. Perhaps my program would only need a list of the value of 0 for each distortion, and extrapolate the rest from this pattern. Then all I'd have to do is write the program, with provisions to exclude certain distortions if desired, and perhaps even to output in an assembler- readable format. I'll send the "song" up to the list when I can. I'm at school right now. -- Archives available at http://www.biglist.com/lists/stella/archives/ E-mail UNSUBSCRIBE in the body to stella-request@xxxxxxxxxxx to be removed.