[comp.sys.atari.8bit] music

swklassen@trillium.waterloo.edu (Steven W. Klassen) (03/01/88)

I have written a simple musical keyboard for the Atari 8-bit computers.
The only trouble is that the notes are not accurate (some of them seem
a bit flat) and that I only have a true 3-octave range.  I get a 4th
octave through the use of distortion but it does not sound very good.
I am aware that by combining two of the voices I can get 16-bit accuracy
and greater range.  I am capable of doing this, however, I do not know
what numeric values are required to produce each specific note
(eg. 'middle C').  If someone out there has a table with this info
could you please send it to me either through e-mail or through
the bit-net.  Please don't just refer me to DeRe Atari as I do
not have access to that publication.

If I can get this information I will be able to greatly improve the
quality of my musical program.  When this is done I will be 
willing to either post the program to the bit-net or send it
to people through e-mail.

I sent a similar request a long time ago but lost my computer access
(ie. the semester ended) before I was able to see if there was a
reply.

Thanks in advance for any help.


Steven W. Klassen
Computer Science Major
University of Waterloo

gdtltr@vax1.acs.udel.EDU (Gary D Duzan) (03/03/88)

In article <5421@watdragon.waterloo.edu> swklassen@trillium.waterloo.edu (Steven W. Klassen) writes:
>I am aware that by combining two of the voices I can get 16-bit accuracy
>and greater range.  I am capable of doing this, however, I do not know
>what numeric values are required to produce each specific note
>(eg. 'middle C').  If someone out there has a table with this info
>could you please send it to me either through e-mail or through
>the bit-net.  Please don't just refer me to DeRe Atari as I do
>not have access to that publication.
>


Your wish is my command. Here is a list of 16 bit sound register values:

Note     Octave 0     Octave 1     Octave 2     Octave 3     Octave 4
----     --------     --------     --------     --------     --------
 C        54720        27357        13675         6834         3413
 C#       51649        25821        12907         6450         3222
 D        48750        24372        12182         6088         3040
 D#       46015        23003        11498         5746         2869
 E        43430        21712        10852         5423         2708
 F        40992        20493        10243         5118         2555
 F#       38691        19342        9668          4830         2412
 G        36519        18257        9125          4559         2276
 G#       34469        17231        8612          4303         2148
 A        32535        16264        8128          4061         2027
 A#       30708        15351        7672          3832         1913
 B        28984        14489        7241          3617         1805


Note     Octave 5     Octave 6     Octave 7     Octave 8
----     --------     --------     --------     --------
 C         1703         848          412          207
 C#        1607         800          397          195
 D         1517         755          374          183
 D#        1431         712          353          173
 E         1350         672          332          163
 F         1274         634          313          153
 F#        1202         598          295          144
 G         1134         564          278          136
 G#        1070         532          262          128
 A         1010         501          247          120
 A#        962          473          233          113
 B         899          446          219          106

You will have to dpoke these numbers into the proper registers with the proper
flags set for it to work at all. I hope this list helps. A similar list may be
found in "ATARI Assembly Language Programmer's Guide" by Moose and Lorenz,
Weber Systems, Inc., Chesterland, Ohio.

						Gary Duzan
						Time  Lord
                                            Third Regeneration
                                         Atari Enthusiast Extreme