💾 Archived View for mirrors.apple2.org.za › archive › ground.icaen.uiowa.edu › Faqs › R015SNDNMUS.TX… captured on 2024-03-21 at 20:04:22.

View Raw

More Information

⬅️ Previous capture (2023-01-29)

-=-=-=-=-=-=-

The comp.sys.apple2 Usenet newsgroup Apple II FAQs originate from
the Ground Apple II archive. Administrator: Steve Nelson

Csa2 FAQs-on-Ground resource file: R015SNDNMUS.TXT

Apple II Sound & Music


Notes: This is a pure Text file which has no Font, Color,
 etc. formatting and no set line length.

 For best viewing on-line, set browser Word Wrap to ON or
 copy to your favorite Text viewer and set Word Wrap.
 Ex: On PC use WordPad with Options set to "Wrap to Window".

 To correctly view tables and diagrams on a super-res display,
 use a mono-spaced Font such as CoPilot or PCMononspaced.

____________________________





Apple II Sound & Music

  Version: Version 1.51 (2-JAN-97)

  Written by Ian Schmidt (irsman@iag.net)


     Thanks for corrections and updates to Joe Walters, Dave Lyons, Dave Huang, Mitchell Spector, and Scott Gentry.

     Send additional questions/comments/blatent error reports to irsman@iag.net.

A quickie what's new:

 * Added to the Other Systems table.
 * Various additional info and editing.
 * Started the 8-bit section

    I know some of you emailed me info on the Phasor, Mockingboard, etc, a while ago but I can't find it now, so please e-mail anything you've got to irsman@iag.net. Also, additional info (like the name) on the program which plays GS sampled sounds on 8-bit IIs would be a good thing.


 Table of Contents

 * An introduction to music and sound
 * 8-bit music and sound
 * Types of sound files used on the IIgs
 * How to digitize sounds
 * How to edit sounds
 * Types of music files
 * An overview of SoundSmith-style editors
 * An overview of MIDI
 * Technical specifications for the IIgs Ensoniq chip
 * About IIgs stereo cards
 * What about them other machines? And video games?
_________________________________________________________________



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 :-).

     Early synthesizers developed at the time (known as Mellotrons)   consisted of a huge bank of tape loops, with each key playing a different tape. Primitive analog tone generators were also in use. These early synthesizers first got wide industry exposure via Walter aka Wendy (never mind) Carlos' "Switched-On Bach" album.

     At this time (mid to late 60s), Robert Moog developed the direct ancestors of today's synthesizer. Moog's synthesizers were programmed via 'patch bays', wherein the user would connect a series of jacks in a specific configuration via patch cords to get a certain tone. This use of the word 'patch' for a sound setting on a synthesizer persists, despite that today a 'patch' is usually a data file stored on disk or in ROM.

     The Moog's debut in a Top 40 song was Del Shannon's "Runaway". A Moog  was used along with a tube-based analog synthesizer called a theremin in the Beach Boys' classic "Good Vibrations". The possibilities of synthesizers weren't really exploited until the onslaught of 70s 'art-rock' bands such as the Who, Supertramp, ELP (Emerson, Lake, and Palmer), Genesis, Yes, Pink Floyd and Rush.

     Synthesizers have continued to advance to the point where they are now the only instrument needed to make a typical Top 40 or rap album. This was foreseen somewhat by Boston, who included a "No Keyboards!" logo on  one of their early albums despite the obvious inclusion of a Hammond  organ on several songs. Computer control of music developed somewhat later, however. Several  companies in the early 1980s had competing systems for allowing  electronic synthesizers to interface to computers and each other,  Roland's "CV-Gate" system being among the most popular.

     Around 1983 or so, a group of companies developed the now ubiqitous MIDI (Musical  Instrument Digital Interface) standard. It is now very difficult to find a synthesizer without MIDI capabilities, and all popular  computers can be interfaced to MIDI instruments, including the Apple  II.

     The first development after MIDI was introduced was the "sequencer" program, a program which allowed the recording and playback of MIDI data streams, as well as sophisticated editing functions. This allowed  perfect playback of songs every time, as well as more advanced  functionality such as the ability to synchronize MIDI data with SMPTE  (Society of Motion Picture and Television Engineers) time code, a fact  which made it very simple to add MIDI-based music to television shows and theatrical films and synchronize to a resolution finer than 1 frame. SMPTE and MIDI were used heavily in the production of the  soundtrack for the recent blockbuster "Jurassic Park" for example.

     At about the same time as the first sequencers were arriving,  computers began to get sound chips with some semi-decent capabilities.  Machines such as the TI-99/4A and Atari 800 had chips capable of  playing at least 3 independent tones at any one time. However, the tones were preset, usually to a square wave, which has very little  musical interest.

     This went to the next step when a young engineer  developed the SID sound chip for the Commodore 64 computer. The SID chip could play 3 tones at once [plus 1 channel devoted to 'white  noise' percussive sounds], and each of the tones could be selected from a range of several waveforms. In addition, advanced effects such as "ring modulation" were avalible on this chip. The C=64 soon allowed  many to compose some amazing tunes, but the best was yet to come.

     The engineer who designed the SID went on to join a company called Ensoniq, where he designed the DOC (Digital Oscillator Chip) which powered the company's now legendary Mirage synthesizer. The Mirage was unique in that it was the first major synthesizer to offer sampling, wherein you could digitally record any sound you wanted, from trumpets to snare drums to water dripping, and use it as an instrument. Best of all, the DOC chip could play up to 32 samples at any one time, making it useful to emulate a whole orchestra with one Mirage. The DOC chip  also powered Ensoniq's ESQ-1 and SQ-80 synthesizers.

     Now, to get some Apple II-ish relevance. During the design of the Cortland (aka IIgs), Apple was planning on using a chip not unlike the one on the Mac II series. This chip played 4 samples at once, but was  limited in it's stereo capabilities (you got 2 samples on the left,  and 2 on the right, and that's it) as well as overall flexibility  (it's limited to 1 fixed sampling rate of 22,052 Hz).

     Luckily, Ensoniq sent a sample of the DOC chip to Apple, and it ended up in the hands of a music enthusiast working on the IIgs project. This engineer fought with management until they decided to use the DOC chip for the  IIgs. However, up until nearly the last minute, the DOC and it's 64k  of RAM were to be an extra-cost feature, which would have killed the GS music software market dead. Luckily, price drops on components allowed the DOC to be standard, so all IIgs owners could hear great sound.

     Back to generalized things, the next development was to combine  sampling and sequencing software on capable computers. This resulted in the *Tracker genre on the Amiga, as well as Music Construction Set, Music Studio, and other programs on many platforms. These programs typically had a sequence file and a series of sample files used as instruments, with some notable exceptions (the *Tracker series on the  Amiga had all-in-one 'modular' files, hence the name MOD).    _________________________________________________________________


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. _________________________________________________________________


Types of sound files found on the IIgs

 Several types of sample files are used. Here are the most common.


Name   Ext.     FType    Description
---------------------------------------------------
Raw    no std.  BIN      Contains only raw sample data. The
                         auxtype is normally the sample rate
                         divided by 51. (See section CA for
                         more on why this is).

ACE    .ACE     $CD      Contains raw sample data compressed with
                         ACE, Apple's Tool029 sound compressor.

ASIF   no std.  $D8      Contains sample data plus additional data.
                         Notable due to its use by SoundSmith.

AIFF   .AIFF    $D8      Interchange format popular on the
                         Macintosh. Not used much on the IIgs.
Hyper
Studio no std.  $D8      Contains raw or ACE compressed data plus
                         additional information.

rSound no std.  $D8      Resource fork contains one or more rSound
                         and rResName resources.  Used by HyperCard
                         IIgs and the Sound CDev.
_________________________________________________________________
 
 
An introduction to sampling

     Sampling is conceptually simple; an incoming analog sound signal is converted to a digital number (0-255 on the IIgs). Getting good samples depends on a number of factors:
 

  incoming signal is actually noticed and saved. In general, you
  want to have a sampling rate of twice the frequency of the highest
  pitch sound you intend to sample. (The reasoning behind this is
  known as the Nyquist Sampling Theorem). Compact discs sample at
  44,100 Hz, which means they can accurately track signals up to
  22,050 Hz, beyond the range of human hearing. Long-distance
  telephone calls are sampled at 8,000 Hz, since the characteristic
  part of human voices is generally from 1000-3000 Hz.

  best samples of any card I've tried, by far).

  threshold known as the 'clipping level' above which the sampler
  will be unable to track the signal. Analog tape recorders do
  something very similar).
 
     Once a sample is made, it can be manipulated in a variety of ways via mathematics. Because this processing is digital, no degradation of the signal can occur, unlike with analog processing. Some effects which can be done include:
 

 
and much more...check out a modern rack-mounted guitar digital signal processor for all the things possible :)
 
     To digitize a sound (I'll use AudioZap as the example, others are similar):
 

  and bottom of the 'scope. Any higher and the sound is clipping;
  any lower and you'll get a poor quality recording. Adjustment
  methods vary by card; for the Sonic Blaster card AZ can adjust it
  in software. Otherwise, consult your card's manual.

 
     You've just made a sample! congratulations! Experiment...you can't hurt anything, but may discover fun/neat things to do!
 
 
_________________________________________________________________
 
 
 
Some basics on editing sounds.

   (This section attempts to be program-independent, but in some cases
   specific refrences to AudioZap may sneak in :-)
 
     I'll assume you now have a sound loaded up, and whatever program is showing you a nice wave graph. Now, you can pick out portions of the wave by simply clicking and dragging the mouse over a part of the wave, and letting go when you have as much as you want. If you now try to Play, you'll only hear the portion you have selected. If you need to adjust your selection range, many programs allow you to shift or apple-click and extend the endpoints instead of just starting over with a new range.
 
     Once you have an area selected, you can cut/copy/paste/clear just like you would text in a word processor. When pasting a waveform, you simply click once where you'd like, and select Paste. The program inserts the previously cut or copied piece of wave and moves the wave over to make room, just like with a word processor.
 
     For more specific information, consult the documentation for the program you use.

_________________________________________________________________
 
 
AE Types of music files

Name   Ext.   FType  Description
---------------------------------------------------
MCS    None   MUS    Music Construction Set tune.
TMS    .SNG   BIN    Music Studio song.
SS     None   MUS    SoundSmith song.
NTMOD  None   INT    NoiseTracker GS module
NTSNG  None   BIN    NoiseTracker GS song.
MOD    None   $F4    Amiga ProTracker module ($F4 is temporary).
MIDI   .MID   MDI    Standard MIDI file.
_______________________________________________________________



A Brief Overview of SoundSmith Style Editors

     SoundSmith (and all other MOD derived editors) use a very simplistic way to representing music, to wit:
 
0  C5  1000  --- 0000
1  --- 0000  --- 0000  ... additional tracks here
2  G5  33FF  G5  53FF
3  --- 0000  --- 0000
4  C5  1000  --- 0000

     This is often known as a 'spreadsheet' format since there are rows and columns much like a spreadsheet. Let's take a look at an individual cell:
 

 Number of cell
 |     Instrument number
 |      |  Effect data
 |      | /|
 2  G5  33FF
    /\   |
    ||   Effect number
    ||
   Note and octave


     For this note, it's #2 of 63 in the pattern, it's a G in octave 5, using instrument number 3, effect 3, and data FF. What effect 3 actually means depends on the tracker in question. On SoundSmith and derivatives, it means "Set the volume to --", in this case set it to $FF (255) which is the maximum.
 
     Now, into a larger structure. 64 lines of cells m akes up a block, or pattern as it is sometimes called. (MED on the Amiga allows blocks of varying lengths, but we won't consider those here). You can terminate a block early with a special effect. On the Amiga, an actual effect number is used. On SoundSmith, entering the note/octave as NXT makes that line of cells the last line played in that block.
 
     Now that we've covered cells and blocks, we can get into the large-scale structure of things. To make a complete song, we can give the player a 'block list' which tells it to play a specific sequence of blocks in a specific order. For instance, we could have it play block 4, then block 0, then block 1, then block 2, then block 2. An entry in the block list is known as a 'position'. MOD-derived formats typically allow 128 positions, and 64 (MOD) or 71 (SoundSmith) blocks.
 

A Practical Example:
 
     Crank up MODZap 0.9 or later and a favorite tune. Set it to the "Classic Player". Now, remember those numbers you never understood before, off to the left of the scrolling cells? Here's what they mean, in terms of what you just learned: *grin*
 

This is the # of entries in the block list >  35  --- 0000
This is the current block list entry playing    >  04  --- 0000
This is the block # currently playing >  01  --- 0000
This is the current cell # in the current block >  36  A#4 0384

     As you watch, the current cell # will normally (barring certain effects) smoothly go from 00 to 63. When it hits 63, it will go to 00 again and the current block list entry number will increment by 1. When it does, the current block number will change if needed (remember, a block can appear multiple places in the block list).
_________________________________________________________________
 
 
An Overview of MIDI

     MIDI is a specification developed to allow computers and electronic musical instruments to communicate with each other. Physical MIDI hookups can get rather complicated; here is a brief primer:
 
     MIDI hookups are a lot like your stereo, in that each device has IN and OUT ports. However, MIDI devices also have a port known as THRU, which retransmits information from the In port (more on why this is a Good Thing later). MIDI devices are thus connected in a modfified daisy-chain arrangement, with the Out of the master (usually a computer) connected to the In of Slave #1, and Slave #1's Thru connected to Slave #2's In, and so on. The Outs of all devices go to the In of the master.
 


Here is a diagram of a simple hookup:


  -----------------------------------
 |    ----------------               |
 |   |   ___________  |     -----    |
 |   |  |           | |    |     |   |
 In In Out         In Out Thru   In Out Thru
 Computer          Synth         Drum Machine
 (Master)          (Slave #1)    (Slave #2)
 


     MIDI is based on 16 'channels'. Each channel is typically assigned to one specific device you have connected in your chain. In the example above, you might have the synth set to listen to channels 1-9, and the drum machine set to listen to channel 10 (this is a typical assignment).

     With this setup, when the computer transmits a note on channel 10, it will first go to the IN of the synth, which will simultaneously retransmit it via it's THRU port and note that it doesn't want to use the data. The note will then appear on the drum machine's IN port. The drum machine will transmit it on it's THRU port (to which nothing is connected in the example) and start the note.

     This allows flexibility; if for instance you wanted you could connect a second drum machine with different sounds, set it to channel 10 also, and have a unique mix :)
 
     I will not cover MIDI recording and editing here, to avoid getting too technical :)
_________________________________________________________________
 
 
Technical Specs for the GS Ensoniq chip

     The 5503 Ensoniq Digital Oscillator Chip (DOC) contains 32 fundamentalsound-generator units, known as 'oscillators'. Each oscillator is capable of either making an independent tone by itself, or of being paired up cooperatively with it's neighbor in a pairing known as a 'generator'. The generator arrangement is used by most programs, for it allows more flexibility and a thicker, lusher sound.
 
     The DOC plays 8-bit waveforms, with the centerline at $80 (128 decimal). $00 (0 decimal too) is reserved for 'stop'. If a sample value of 0 is encounter.cgied by a DOC oscillator, the oscillator will immediately halt and not produce any more sound. The DOC additionally has an 8-bit volume register for each oscillator, with a linear slope. The dynamic range of the DOC (the 'space' between the softest and loudest sounds it can produce) is approximately 42 dB, or about on par with an average cassette tape.
 
     Each oscillator has it's own 16 bit frequency register, ranging from 0 to 65535. In a normal DOC configuration, each step of the frequency register increases the play rate by 51 Hz, and computing the maximum theoretical play rate is left as an exercise for the student. :)
 
     When oscillators are paired to create generators, there are 4 possible modes:
 

  interaction with it's 'twin' occurs.

  one stops, the other immediately starts.

  end without encounter.cgiing a zero, it starts over at the
  beginning.

  other with the waveform it's playing. Not commonly used.
 
     Oscillators play waves stored in up to 128k of DRAM. The Ensoniq has
it's own memory refresh system. Note that Apple only supplies 64k of
DRAM for the DOC (this is known as the DOC RAM).
 
     The output of an oscillator can be directed to any one of 16 possible channels. Apple only makes 8 channels avalible via the 3 bits on the sound expansion molex connector, and all current stereo cards limit this to 1 bit, or two channels.
_________________________________________________________________


About IIgs Stereo Cards


Mfr           Name              Notes
---           ----              -----
MDIdeas     SuperSonic      First IIgs stereo card.  Not very well
                            constructed, but sounds nice.
                            Digitizer option is pretty good.

MDIdeas     Digitizer Pro   Daughterboard for SuperSonic, but also
                            takes up another slot in your GS. Pretty
                            good, but very few were sold.

Applied     GStereo         I've never used one; included for
Ingenuity                   completeness.

Applied     FutureSound     Most advanced card made.  Includes
Visions                     sophisticated noise reduction,
                            coprocessor, and timing generator for
                            ultimate control of sampling rates.

Applied     Sonic Blaster   Generally poor to average card; bad
Engineering                 decision to use non-shielded ribbon
                            cable results in hissier than average
                            output and digitizing.

Applied     Audio Animator  The one they got right. Has digitizing
Engineering                 circuitry external to the GS itself to
                            avoid noise, plus a MIDI interface.

Econ Tech.  SoundMeister    Generally above average quality. Nothing
                            much to say. Pro version with direct-to-
                            harddisk recording cancelled.
_________________________________________________________________



What about them other machines?

 Here's a rundown of sound on other computers...


                Wavetable
Computer/Card    voices     WT bits    FM voices  Stereo?  Digitize?
--------------------------------------------------------------------
Apple IIgs        32           8        None        Yes(4) Yes 8
Soundblaster       1           8        11          No     Yes 8(4)
 Pro               2           8        20          Yes    Yes 8
 16                2          16        20          Yes    Yes 16
 16 AWE32         32          16        20          Yes    Yes 16
Pro Audio
 Spectrum 16       2          16        20          Yes    Yes 16
Gravis
 UltraSound       32         8/16       None(2)     Yes    Yes 16(4)
 UltraSound Max   32         8/16       None(2)     Yes    Yes 16
 UltraSound PnP   32         8/16       None(2)     Yes    Yes 16(11)
Logitech
 SoundMan Wave    20          16        22          Yes    Yes 16
Commodore
 Amiga (all)       4           8        None        Yes    Yes 8(4)
Mac
 non AV, 0x0       4           8        None        Yes(3) Yes 8(4)
 AV 0x0         Infinite(1)  8/16(10)   Infinite(1) Yes    Yes 16
 PowerPC           2          16        None        Yes    Yes 16
 AV PowerPC     Infinite(9)  8/16(10)   Infinite(9) Yes    Yes 16




                Wavetable                           Other
Game Machine     voices       WT bits   FM voices   voices  Stereo?
--------------------------------------------------------------------
Atari 2600         0             0         0          2       No
Intellivision      0             0         0          4(8)    No
Nintendo Ent.
 System            1(5)          8         4          0       No
Sega Genesis       1(5)          8         6          0       Yes
Sega CD            3(7)         8/16(7)    6          0       Yes
Super NES          8            12(6)      0          0       Yes
Sega Saturn       32(12)        8/16      32(12)      0       Yes



Notes:

"Wavetable" as used here means "a channel capable of playing back a digitized waveform". This is NOT the generally musically accepted meaning of the term, but it IS how it is commonly used when referring to computer sound boards.

"8/16" for WT playback bits means the chip is capable of directly processing 8-bit or 16-bit samples without conversion (the GUS's GF1 chip and the AV Mac's DSP chip obviously fit these criteria).

1- The AV Mac's DSP chip can theoretically mix an infinite number of wavetable voices or synthesize an infinite number of FM voices. However, this is limited in practice by the speed of the chip and any other things you have it doing (voice recognition, modem replacement, etc).

2- The Gravis UltraSound can emulate FM synthesis in software.

3- Macs before the Mac II were mono-only.

4- This requires additional hardware.

5- The Genesis and NES's wavetable channel is pretty hackish, and not very high quality; nonetheless it works for speech.

6- The SNES's sound chip accepts 12 bit samples which have been ADPCM compressed (the same type method as ACE on the GS).

7- The Sega CD has two channels of 44.1khz stereo 16-bit CD audio in addition to the capabilities of the Genesis.

8- The Intellivision uses the General Instruments AY-3-8192 chip found on Apple II boards such as the Phasor and Mockingboard.  This provides three tones and one percussive noise at once.

9- The PowerPC AV Macs have no dedicated DSP chip; they use the main CPU, which can cause application performance degradation (see also note 1).

10-AV Macs of both CPU types have a 2-channel 16-bit CODEC to actually reproduce the audio, but the DSP or 60x chip are capable of conversion.

11-The Gravis UltraSound PnP specs also apply to other AMD InterWave-chip based boards such as the Reveal WavExtreme 32.

12-The Saturn's 32 voices can each be set to either waveform playback or FM. FM is not limited to sine waves as on older chips, however.


__________________________________________________________________________


Copyright (c) 1993-97 Ian Schmidt and Cygnix Development. Contents may be
freely distributed as long as no editing occurs without permission, and no money is exchanged.  Exceptions are hereby explicitly provided for Joe Kohn's Shareware Solutions II, the services America Online, GEnie, and Delphi, and for user groups everywhere.  The Apple II: It just keeps going and going and going....

Oh, and for the benefit of Marc:
-30-

Ian Schmidt / irsman@iastate.edu / irsman@cs.iastate.edu / BAZ IS RIGHT!!!