[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Old Music History Re: Apple II Sound & Music FAQ
- To: Ian Schmidt <irsman@iag.net>
- Subject: Old Music History Re: Apple II Sound & Music FAQ
- From: dave ketchum <davek@servtech.com>
- Date: 1997/03/05
- Newsgroups: comp.sys.apple2
- Organization: ServiceTech, Inc.
- References: <5f9ojn$2nj@news.ysu.edu>
>Subject: Apple II Sound & Music Frequently Asked Questions (FAQ)
Topic is ancient history related to apple2/soundmusic,
Last-modified: Mar 1 1997, Version 1.5 (2-JAN-97).
by Ian Schmidt (irsman@iag.net)
> _________________________________________________________________
>
>An introduction to music and sound on computers.
>
> Music and sound have been a computerized pursuit since at least the
> 1960s, when enterprising hackers discovered that by programming the
> large mainframes of the time to do different operations, different
> tones could be generated on a common AM radio from the interference
> (this is still a problem today :-).
>
> _________________________________________________________________
>
>8-bit music and sound
>
> The 8-bit IIs are quite underpowered in the sound department compared
> to the IIgs. However, anyone who's played Dung Beetles or Sea Dragon
> knows that some pretty sophisticated stuff is still possible. The
> 8-bit sound normally consists simply of an ability for programs to
> make the speaker click. If a program toggles the speaker very fast,
> tones are generated. And using other techniques beyond the scope of
> this FAQ, you can even play digitized samples on the speaker, although
> the quality isn't very good. This capability is best known from it's
> use in some of the classic Apple II games, but there is also a program
> available that allows you to play any arbitrary IIgs-style sampled
> sound on any Apple II.
>
I feel an urge to respond to "at least since the 1960s."
Around Christmas, 1957, I was, I guess, "babysitting" a SAGE computer
while in-house customers (programmers) tested and debugged their work.
When "Joe" started his program the sound from the speaker attached to
the computer was much like that of a steam locomotive leaving a
station. This led to my admitting to something Joe hadn't heard about
- programs had been written with sound output being the primary goal,
rather than a side effect - and I had access to such. Now Murphy's law
kicked in. Not too bad that a demonstration of a multi-million dollar
computer being used to generate music became more important than the
work Joe was being paid for, worse that he could not resist turning the
volume up to maximum but, for icing, we managed to do this at exactly
the time his boss was pleading with my boss for desperately needed
increased computer time.
Here attaching a sound amplifier directly to the computer's accumulator
register was part of the design, for two reasons. Most ordinary
programs would have a characteristic sound output which the operator
could listen to, and pay extra attention when there was a deviation.
Also, maintenance programs that required adjustments far from the
console could send signals to the user by producing tones via the
speaker.
Step backward to mid 1957. While I was getting my introduction to
computers by learning to install and maintain SAGE, scheduling problems
left a pair of SAGEs and their technicians with nothing important to
do, so several music programs got developed. Joe's boss having been
involved took the edge off any punishment Joe might have earned from
wasting time.
Step forward to mid 1958. Doing an installation and having gotten to
the point of connecting a pair of SAGEs, we verified success informally
by having them play Bumble Boogie as a duet.
Also, 1958. I tried my hand at music. Easy enough to buy sheet music
for the Air Force Song (IBM built SAGE for the Air Force). No big deal
to encode the notes as a computer file (a, b-flat, b, etc.; eighth,
full note, etc.).
Even the basic parameters for coding the program were not too bad.
Given 6-microsecond memory, there were 166,666.67 memory cycles per
second. Therefore, wanting a 1000-cycle tone, cycle the accumulator
every 166.67 memory cycles (actually doable since some instructions
caused a pause between cycles). Also, do not use any instructions that
affect the accumulator except when intending to change it to produce
the tone (doable because index registers could be used for counting).
Seems to be no way to figure out how long a full note should last,
other than trial and error guesses. REAL problem was getting tones
right - what frequency for A-above-middle-C? I think I finally found
that one after much research - but never found any rules for using it
to calculate the frequency for B, C, etc. - so I guessed.
Some SAGE trivia I can't resist: Part of the function of a computer is
arithmetic (+,-,*,/,AND,OR,XOR,shift). To do this for a 32-bit word
took a rack of circuits about 7 feet high and 50 feet long.
Programmers ALWAYS complain that there isn't enough memory. When the
din got loud enough IBM promised a replacement SIXTEEN times as big as
the one they were complaining about. MIT, looking over our shoulder
for the Air Force, to keep us honest, said it couldn't be done. IBM
engineers made it work anyway - a whole quarter of a megabyte. Look at
just the memory, without counting the rack of associated circuits - a
stack of PC towers would fit in that space.
Dave Ketchum davek@servtech.com http://www.servtech.com/public/davek
108 Halstead Ave, Owego, NY 13827-1708 607-687-5026