TIP: Click on subject to list as thread! ANSI
echo: apple
to: comp.sys.apple2,comp.answers,news.a
from: rubywand
date: 2008-04-04 04:22:16
subject: Apple II Csa2 FAQs: Sound & Music, Part 19/25

Archive-name: apple2/faq/part19
Posting-Frequency: monthly
Last-modified: 2008/03/01
URL: http://home.swbell.net/rubywand/A2FAQs1START.html


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

Csa2 FAQs-on-Ground ref: Csa2SOUND.txt  rev120 March 2008







Sound & Music


 001- How does the GS produce so many simultaneous sounds?
 002- Is there a way to output quadraphonic sound on a IIgs?
 003- Do I get Stereo from my IIgs Sound Output jack?
 004- Why should I add a stereo board to my GS?
 005- How can I build my own GS stereo board?
 006- How can I transfer sound files created on a Mac to my GS?
 007- How do I program a Phasor Sound Card?
 008- What is required to build a Sound Input board for my IIgs?
 009- What's what re. MockingBoard hardware and programming?
 010- How do I get my MockingBoard to work on my GS?
 011- How do I play Ultima IV/V with MockingBoard sound on my GS?
 012- How can I get 'regular Apple sound' to play through MB outputs?
 013- What GS programs will let me play MIDI files?
 014- Would FExt.NDA let you play thru Synthinit?
 015- Can I play .WAV files on my GS?
 016- What formats are used for audio files?
 017- How do I use my Echo speech synthesizer to produce speech?
 018- What types of sound files are used on the GS?
 019- Where can I find more info on cards, editing, digitizing, ...?
 020- What is "old Apple" sound and how is it produced?
 021- What is a good source for .WAV and .BNK files?
 022- How can I get more System Sounds for my GS?
 023- How can I run Music Studio 2.0 from hard disk?
 024- How can I record better sound samples on my IIgs?
 025- Squeals and other noises spoil my GS stereo board sound? A fix?
 026- My IIgs has no sound from the internal speaker. What's the fix?
 027- Where can I find GS music and music creation programs?
 028- Does any Apple II emulator include Mockingboard support?
 029- Does anyone know what a "Supertalker" card is used for?
 030- My GS stereo board's sound output is very low and noisy. A fix?
 031- How can I create sounds and music on my 8-bit Apple II?
 032- Where can I get Mockingboard disks and music?





From: Todd Whitesel

001- If the GS only has eight output chanels, then it would
     seen to me that it could only play eight different sounds
     at a time.  So how can I digitize fifteen different sounds
     and play them all back simultaneously?

To summarize the following lecture:

There are 32 oscillators (16 generators) and 16 channels. Not all are used
for actual sound output.

Oscillators are "smart voices" Generators are oscillator pairs
that can generate extra effects with each other Channels are actual
independent output lines like left and right speaker

That said, let's start at the top.

The DOC is a coprocessor with its own dedicated 64K of RAM. All the sound
samples have to be put in this RAM before they can be played.

The DOC has 32 'oscillators' which are essentially smart DMA channels.
Their basic function is to sweep through areas of the DOC memory reading
samples and playing them. They can do so at variable speeds (automatically
repeating or skipping sample values as necessary), they can loop on a power
of two boundary, they can stop when they read a zero, they have independent
volume settings, and various other things that aid in reproducing complex
instruments without loading down the main CPU.

But when you come down to it, the DOC is capable of playing 32 sounds
simultaneously and independent of each other, provided that all the sample
data fits in the DOC RAM.

The oscillators are not all perfectly identical in operation. For the basic
sample playing and looping they are, but for some more complex functions
they must be paired. This is where the concept of 'generators' comes from
-- the 16 generators ARE operationally identical and that is why software
prefers the generator concept. Both oscillators and generators are numbered
from 0, so oscillators 0 & 1 are generator 0, oscillators 2 & 3 are
generator 1, and so on.

Generator 15 (oscillators 30 & 31) is reserved for system use (one
oscillator is set to loop slowly at zero volume, to generate tempo; I
forget if the other is used by anything, it's probably used to play mono
samples).

Most software use one generator per voice. Since 15 generators are left
over, spec'ing the GS as having "15 voice sound capability" is a
fair statement.

The actual output that comes out the DOC is a 'time-domain multiplexed'
sound output and five digital bits. What happens is this: the DOC services
each oscillator in turn, and for each oscillator the current sample value
is multiplied by the oscillators' volume setting and a voltage proportional
to the product is output on the sound output. Four of the digital bits are
set to the 'channel number' setting for the oscillator and the last one
simply changes voltage from about 3 volts to about 0.5 (for you EE 

folks out there, this is the negative edge of an output-valid strobe).

External hardware is responsible for splitting off the various channels (4
bits means that there can be 16 of them) and outputting them seperately.
The motherboard hardware just ignores the channel setting and mixes all the
sound outputs into the speaker/earphone. The sound connector on the
motherboard only has room for 3 of the four bits, so expansion cards that
plug into the sound connector can only get 8 seperate output channels. Most
stereo cards (AE's sonic blaster, for example) only pay attention to 

the lowest bit, so even numbered channels are left and odd numbered
channels are right (or is it the other way round? I forget).

No, it isn't simple, but it gives a lot of flexibility -- most of which is
largely untapped.

____________________________



From: Keen Jeffrey Alfred

002- Is there a way to output quadrphonic sound on a IIgs?

     We all know that the "S" in GS stands for sound. Stereo
cards abound but the GS is capable of much more.  The following circuit
uses the same technique as stereo cards to decode stereo but decodes
quadrophonic. Inside the GS by the memory expansion slot exists the J-25
sound expansion connector that most stereo cards use. The pin outs are as
follows:

        J-25 Connector

     1  Analog to digital in (end nearest front of computer)
     2  Analog ground
     3  Waveform out
     4  Channel address zero
     5  Channel address one
     6  Channel address strobe
     7  Channel address two

     The analog in (pin 1) doesn't concern us here. The waveform out is the
important signal. The contains the output of all oscilators one after the
other in quick succession (the DOC only handles one at a time).  When the
DOC is outputing the waveform from an oscilator it puts the channel address
from the DOC register $A0 + osc (most significant four bits) on the three
channel address lines and pulls the channel address strobe low. (The DOC
realy has four lines but only three are connected in the GS).

     The circuit below uses the first two lines the decode the channels
(creating 4 unique channels) and breaks the signal into four parts
depending on the address using cmos single position single toggle wired as
dual position single toggle switches. Then the chopped output is smoothed
with an active low pass filter with a corner frequency of 17.7KHz.

     Because most programs only use stereo the second channel address in
normally low so this circuit will also decode stereo and this will turn up
at the front two outputs.  I have built this circuit on a bread board but
need to make a PC board to make a better sounding circuit.  Also the output
impedance should be set to 75K ohms but I haven't yet gotten around to it.

     To make sound in stereo or quad all you have to do is place the binary
address of the channel you wish the sound to have in the control regsister
for the ocsilator (the tools can do this) and there you have it.


                    C1
               o----||----o                |\ 1/4 IC7
               |    R2    | o-----------o--| >o---o
               o--/\/\/\--o |           |  |/   __|___
               |  _       o-|-----o-----|-------|____|--o
        R1     | | \_ IC1 | |     |   __|___   1/4 IC5  |    *
Pin 3--/\/\/\--o-|-  \_   | |     | o-|____|------------o---[O]--FL
                 |     \__o |     | | 1/4 IC5
               o-|+   _/    |     | |      |\ 1/4 IC7
               | |  _/      | o---|-|---o--| >o---o
               | |_/        | |   | |   |  |/   __|___
              _|_           | |   o-|---|-------|____|--o
              ///           | |   | | __|___   1/4 IC5  |    *
                            | |   | o-|____|------------o---[O]--FR
           IC2              | |   | | 1/4 IC5
         ______             | |   | |      |\ 1/4 IC7
         |    |             | | o-|-|---o--| >o---o
Pin 4----|a  1|-------------o | | | |   |  |/   __|___
Pin 5----|b  2|---------------o | o-|---|-------|____|--o
         |   3|-----------------o | | __|___   1/4 IC6  |    *
         |__ 4|--------------o    | o-|____|------------o---[O]--BL
Pin 6----|EN  |              |    | | 1/4 IC6
         |____|              |    | |      |\ 1/4 IC7
                             o----|-|---o--| >o---o
                                  | |   |  |/   __|___
                                  o-|---|-------|____|--o
                                    | __|___   1/4 IC6  |    *
                                    o-|____|------------o---[O]--BR
                                    | 1/4 IC6
                                    |
                                    |     *Notes: [O] = Output Stage
                                   _|_            FL = "Front Left"
                                   ///            BR = "Back Right"
                                                  ... etc.


                   Typical Output Stage [O]

                          C2 - C5
                        o----||----o
                        | R3 - R6  |
            trim pot    o--/\/\/\--o
             o----o     |  _       |
             |    v     | | \_     |
         ----o--/\/\/\--o-|-  \_   |
              R7 - R10    |     \__o---------
                        o-|+   _/
                        | |  _/
                        | |_/   1/2 IC3 - IC4
                       _|_
                       ///


R1 - R6        : 1.2k ohm
R7 - R10       : 2k ohm trim potentiometer
C1 - C5        : 47pf
IC1            : LM318  high speed op-amp
IC2            : 74F139N  dual 2 to 4 decoder
IC3 - IC4      : TL072  dual op-amp jfet input
IC5 - IC6      : 4016  cmos SPST analog switch
IC7            : 4069  cmos hex inverter


----------------------


From: Brian Willoughby

     While there is nothing *wrong* with your circuit, I thought that I
would mention that the functionality of IC2, IC5, 6 & IC7 are combined
in a few standard CMOS chips.  It turns out that your circuit is so useful
in many applications that you can easily find it in one chip, thus saving
wiring and lowering noise.

     Look for a Siliconix DG506 or any make of 4058.  I'm not absolutely
sure about the number 4058, but just check in any CMOS 4000 series list for
an 8-channel to 1 analog multiplexer/demultiplexer (not the digital type,
they won't handle audio/sound signals).

----------------------


From: Seth D. Kadesh

One of the chips Brian refers to is a 4052.  Both the LM318 and the 4052
can be purchased from B.G. Micro (214-271-5546).  Cost for both was $3.75
USA.

The other parts can be purchased from Radio Shack.

____________________________


From: Rubywand

003- My IIgs has a stereo cable plugged right into the
     Sound Output jack. Isn't that two-channel sound?

     Nope; and, it is not "stereo" either. The jack is a standard
stereo jack; but, the "Left" and "Right" outputs are
connected to a single 'composite' source. Possibly, Apple originally
intended to supply two-channel sound; perhaps, the idea was just to
simplify connections to stereo systems. (Stereo devotees get upset when you
give them just one 'channel' to plug in.) Whatever, the fact remains: for
multi-channel output you need to add a "stereo board".

-------------------------


004- Why should I add a stereo board to my GS?

     Some programs offer true stereo-- effects and music are lifted from
stereo sources or 'recorded' using two mics-- others deliver simulated
stereo. Many products output some effects (like a bow twang) through one
channel and other effects (the THUNK! of an arrow hit) through the second
channel. Stereo, of course, produces spacious, '3-D sound'; but, even the
'separated channels' approach can spread out the action and add realism.

--------------------------


Related FAQs Resources: R004STEREO.GIF (GIF pic file)

005- Can I build my own GS stereo board?

     Yes. Apple includes a rough outline for a stereo board design in the
GS Hardware Reference Manual. The "TDX Stereo Board" is a
real-world realization of the Apple description.

Note: See the FAQs Resource file R004STEREO.GIF for the TDX diagram.


     From input to output, the TDX design is straight-forward and simple.
First, IIgs audio enters the 14052 where the "Left" and
"Right" channels are separated using the C0 input to turn ON the
appropriate section (output X or Y) when its channel is valid. (This
happens at supersonic speeds so that the user doesn't notice that each
channel is ON half of the time.)  Then, each output goes to a pair of op
amps where it's filtered and amplified.

     Design objectives were low noise, low distortion, and low power
consumption. From the start I expected that on-board power amp IC's would
be too puny to drive our speakers to desired volume levels and maintain low
distortion; so, the board includes no power amp IC's and is not intended to
directly drive low impedance loads such as speakers. Like a tuner, CD deck,
or other hi-fi source, it connects to a stereo amplifier's AUX inputs (or
"Tuner", "Tape", etc. inputs) or to the inputs of
speaker units wi

th built-in amplifiers. TDX has plenty of juice to drive any decent stereo
system at 'blow out the windows' volume levels.

     As shown in the diagram, nearly all connections between TDX and the
computer, including ground, are made over the J-25 lines. Power (+5 Volts
and -5 Volts) comes from the slot into which the board is plugged. The
outputs go to "RCA-type" hi-fi jacks mounted on the rear of the
board for easy access via standard audio cables. When placing the jacks, be
sure to allow space (between the jacks and rear of the computer) for the
cable plugs or arrange for the jacks to line up with an opening.

     The J-25 connection is via a 7-pin mini-molex ribbon cable. It can go
to J-25 (located near the memory expansion slot); or, if J-25 is being used
by the Hyperstudio A/D input board, it plugs in there. (On both J-25 and
its extension on the A/D board, pin #1 is nearest the front of the
computer, pin #2 is next, etc..)  All of the parts, including the
Apple-compatible circuit board, are commonly available.

     I built the TDX stereo board near the start of the IIgs era just as
games like "Tower of Myraglen" were beginning to appear. It
sounded great then and it sounds great today running "Dungeon
Master", "Instant Music", "Jam Session", and
Hyperbole MIDI-synth pieces. If your IIgs is still in mono mode, why not
make this the year you 'go stereo'. Add a commercial unit or build the TDX.
Either way, when you spread out the sound you open up the fun!

____________________________



From: Bryan Ogawa

006- How can I transfer sound files created on a Mac to my GS?

I did the following to get stuff that my next-door neighbor digitized on
his LC using the Control Panel Document Sound for Mac Sys. 7:

1. Digitize

Find the System Folder, and the System document/whatever (it's called a
SUITCASE) and double-click:

find the sound I wanted...

copy to my HFS formatted 800K disk

plop it into my GS


2. Convert

Get AudioZap out and sic it on the files.

Click RESOURCE fork when it asks where to get the sound for.

Save it in any format you want.

Then, you can probably use SynthCreate to make a SYNTHLAB wavebank...

____________________________



From: Mitchell Spector

Related FAQs Resources: R013PHASOR.TXT (Phasor Mini-Manual Text file)


007- I just got a Phasor Sound Card and now I need some info.
     What are the 4 DIP switches used for? What are the 2 POTs
     used for? And, where can I get programming information?

     The Phasor is a great sound card. Offers you 12 sound channels (using
all sorts of wave-form patterns and effects, simular to FM-synthesis in
IBMs), 4 white noise generators (synthesized drums, etc) and a 1-voice
synthesized speech channel, expandable to 2 speech channels. Has a 4 watt
amplifier that can drive stereo speakers (left & right). It's
compatible with most older sound cards, like the Mockingboard, ALF, SMS and
Echo+. Few programs ever supported it, let alone many programs out there
that sup

ported the older cards. It did, however, come with some decent software
that showed off the card's features and let you experiment with it a bit.

     The four DIP switches control emulation modes and standard Apple ][
internal speaker sound-level (only if you disconnect internal speaker and
have old speaker toggling sent to Phasor). Switches #1 and #2 are for
emulations. Switches #3 and #4 control your old internal speaker sounds,
again, *if* you have speaker disconnected and that pin location on
motherboard connected to Phasor.

     You can set Low, Medium and High volume with three different DIP
positions. This doesn't affect Phasor music/sound however. To do that, you
must turn those two pots you asked about. Each controls either the left or
right stereo channel. Turning them clock-wise increases volume, and you
probably don't want this too high up, or sound gets distorted! Put both on
an equal setting, unless you want one channel louder/softer than the other.


Phasor DIP switch emulation modes:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Native Phasor mode:   1: closed, 2: closed
Mockingboard  mode:   1: opened, 2: closed
Echo+         mode:   1: opened, 2: opened

(Never got the Echo+ mode to work!)

For more information see FAQs Resource file R013PHASOR.TXT .

____________________________



From: Adrian Whichello

008- What is required to build a Sound Input board for my IIgs?

I found the following circuit on ground (as text) in the file
digitizer.circuit at ...

http://www.apple2.org.za/mirrors/ground.icaen.uiowa.edu/MiscInfo/Hardware/

[quote]

If you don't mind putting together a few parts, you can build your own
adapter, though (explanation follows):

   GS
 Analog                                         10-500 uF
   In ---------------+------------+----+------------||------ >>
                     |            |    |
                    -+-          -+-   +             To CD player,
          5V Zener  /_\   Signal /_\   = 1.5V           microphone,
           diode     |    Diode   |    - Battery        etc.
   GS                |            |    |
 Ground -------------+------------+----+-------------------- >>

[end quote]


I changed it to this:

   GS
 Analog                                            100 uF
   In ------------+-----------+----+----------+-------||----- >>
                  |           |               Z      +
                 -+-         -+-   +------+   Z 10K    To CD player,
       5V Zener  /_\  Signal /_\   = 3V   Z   Z           microphone,
        diode     |   Diode   |    - Bat  Z<--+           etc.
   GS             |           |    |      Z 10K pot
 Ground ----------+-----------+----+------+------------------ >>


The Ensoniq is designed to handle 0 to 2.5V input, but audio sources
usually swing more or less equally +/- about zero. Therefore we need a
level shifter, to put the appropriate DC bias onto the input. The 3V
battery and the 10K pot are for this. To stop the low internal impedence of
the battery effectively shorting the sound source (which happens with the
first circuit), I've included another 10K resistor.

The easy way to set this up is to use a program like AudioZap and with the
CD etc.  end input shorted, set the centreline of the oscilloscope display
to be halfway up the screen, so the input signal will swing equally either
side of this reference voltage. The zener diode is to clip the top of
spikes to limit them to about 5V and the signal diode is to clip any
negative going signal to -0.6V. This is protect the Ensoniq chip from
overload.

The capacitor keeps the DC out of the source.  Pin one on the GS connector
is closest to the *front* of the computer (ie with the expansion slots at
the back.

The Ensoniq has a fairly low input impedence (about 3-5K), but most
portable cassette or CD players should be able to handle this, since most
headphones have a much lower impedence than this (usually around 50 to 100
ohms, even as low as eight for old ones). You can use a tape deck as an
amplifier and "impedence buffer" for a microphone.

If you can get the file http://cassius.ee.su.oz.au/~adrianw/gsaudioin.bsq
there's proof there that it all works (a raw sound file I made).

____________________________



Related FAQs Resources: R027MOCKBD.DOC (DOC file)

009- Does anyone know where I can get some details on
     MockingBoard hardware and programming?


MockingBoard Mini-Manual  11/97 version

From: Rubywand


Part 1: Kinds of MockingBoards

    The original MockingBoards come in four basic 'flavors':

Sound I--    produces music tones and a variety of sound
   effects (3 voices to 1 Audio Output)

Speech I--  produces speech or limited sound effects
  (1 voice output to 1 Audio Output)

Sound II--   2 x Sound I on a single board (3+3 voices
   to 2 Audio Outputs)

Sound/Speech I-- Sound I + Speech I on a single board
  (3+1 voices to 2 Audio Outputs)

Note ...

Audio Output: This goes to a speaker or hi-fi amplifier
Voice: a musical note, sound effect, speech sound, etc.


    Quite a few of the original MockingBoards were sold. Later MB's use
model names like "MockingBoard A", etc.. The main difference
between the original series and letter-named boards is wider availability
of Speech.

    Edhel Iaur and Mike Mahon supplied details on models A-D. Prices are
from a Sweet Micro Systems ad in the December, 1985 issue of  _A+_ 
magazine:

MockingBoard A is a stereo music and sound synthesizer with six voices.
Suggested retail price is $99.00. This model has two sockets for adding
speech synthesis IC's so that a user could add speech to one or both Audio
Outputs. Except for the speech upgrade options, MB-A is very similar to the
earlier Sound II.

"MockingBoard B" is just the name of the Speech Upgrade; it is
not a separate MB board. The kit consists of one speech synthesizer chip.
Earlier MB's used the 16-pin SC-01 speech IC, while later board runs
provided 24-pin sockets for the newer (but somewhat flawed) SSI-263 speech
synthesizer chip. Suggested kit retail price is $89.00.

MockingBoard C is simply a MB-A that has been upgraded by plugging in one
speech chip. Suggested retail price is $179.00. (There was an
'undocumented' upgrade, obtainable by plugging in the other speech chip,
which allowed the board to "sing harmony" with itself!)

MockingBoard D is a stereo music, sound and speech synthesizer for the
Apple IIc. It connects to a IIc through a serial port and is, of course,
external (unlike the Slot board models for other Apple II's).  Its drivers
are very different from the slot I/O of the other MockingBoards. Suggested
retail price is $195.00.

Phasor is a MockingBoard-compatible sound card produced by Applied
Engineering. Looking at the software that comes with the Phasor may be
helpful to MB users.

    MockingBoards work on Apple II's with at least 48K RAM. MB can go into
any Slot (except for MB-D, which must plug into a IIc). Most programs
expect it to be in Slot 4; however, it is fairly common for a program which
supports MB to ask you to enter the Slot #.

    Most for-MB products will work with Sound I, Sound II, Sound/Speech I,
A, and C. (Some work with D.)  Products that use MB include Ultima III, IV,
V Sky Fox, Wiley Byte', Thunder Bombs, Lancaster, Under Fire, Music
Construction Set, GuitarMaster, and Music Star.

    MB's 0.5 Watt Audio Output(s) can directly drive an 8 Ohm speaker. You
can also run the Output(s) to a hi-fi amplifier.

    Except for speech-only models, MB uses the General Instruments
AY-3-8910 Programmable Sound Generator IC. The PSG has 3 on-chip tone
oscillators (via channels A, B ,C) and a Noise Generator (NG). So, for
example, the Sound II can play up to 6 notes or effects at once. The NG on
each PSG can be mixed with any, all, or none of the three tones.


    Many MB "Speech" version boards use the Votrax SC-01 Speech
Synthesizer IC. The SC-01 uses 64 phoneme sounds to produce speech. MB
software lets you adjust duration of each phoneme in 4 steps, create
"rules" for custom sounds, and speak sentences from text in BASIC
programs. The SSI-263 speech synthesizer appeared on later model MB's. (At
present, more info on the SSI-263 is not included here.)

    All MB versions use the 6522 Versatile Interface IC to handle board
I/O. Except for the Sound I board, early models have circuit board points
to which you can add cables to utilize I/O ports not needed for Sound or
Speech.


Part 2: Sound Programming

    Each Programmable Sound Generator (PSG) has 3 output Channels: A, B,
and C. There are also 3 Tone oscillators, one committed to each Channel,
and one Noise Generator (NG) which can send its output to any Channel(s).
Amplitude (output Level or Volume) and Envelope Control ON/OFF is set for
each Channel.

    The PSG's Enable/Disable register has 8 bits. Three bits let you decide
whether or not to send a Tone oscillator''s output to its Channel. For
example, you can enable Tone outputs for the oscillators going through
Channels A and B while disabling Tone output for the oscillator connected
to Channel C.

    The Enable/Disable register also lets you decide whether or not to send
the Noise Generator's output through a Channel. Three bits let you decide
which Channel(s) the NG's output will go through. For example, you can
enable NG output through Channels A and C but not through B; or, disable NG
output through all three Channels, etc..

    If, for example, Channel A's Tone oscillator output is enabled and NG
output is enabled for Channel A, then, a mixed Tone + NG signal will go
through Channel A. Setting Channel A's Amplitude controls the Level for the
mixed signal.

    Often, a programmer will want to individually control the Levels of
Tone outputs (for music) and Noise outputs (for sound effects). This is
accomplished by using one PSG Channel only for Noise and two Channels only
for Tones. Since the MB Sound II has 2 PSG's, a typical game application
using the board will have 4 music tones and 2 effects sounds-- each
individually controlled for Level.

     More specifically, the user can set Tone Frequency (12 bits, 4 coarse
& 8 fine) and Amplitude (4 bits) for each channel individually. A fifth
Amplitude bit lets you decide if a channel's Level will be
"fixed" (use the Level value) or "variable" (i.e.
follow the current Envelope pattern).  You have 4 bits to set Noise
Generator Frequency.

 Tone Freq = A2 Clock Freq/ [ (4096 x Coarse) + (16 x Fine) ]
 Noise Freq = A2 Clock Freq/ (16 x NG value)

    The Envelope of the combined outputs of enabled sources can be
controlled for Period (16 bits, 8 coarse & 8 fine)**  and, roughly, for
Shape (4 bits).

 Env Freq = A2 Clock Freq/ [ (65536 x Coarse) + (256 x Fine) ]


    The registers of the PSG are described briefly below:

Reg.   Function and Bit(s) used

00     A Freq. fine (bits 0-7)
01     A Freq. coarse (bits 0-3)
02     B Freq. fine (bits 0-7)
03     B Freq. coarse (bits 0-3)
04     C Freq. fine (bits 0-7)
05     C Freq. coarse (bits 0-3)
06     NG Freq. (bits 0-4)
07     Enable/Disable  note: Enable =0/ Disable =1

       bit 5: NG sent to A
       bit 4: NG sent to B
       bit 3: NG sent to C
       bit 2: A Tone
       bit 1: B Tone
       bit 0: C Tone

     Ex: Writing $F0 to Reg 07 plays tones A, B, C plus noise on C
     Ex: Writing $F8 to Reg 07 plays tones A, B, C and no noise

08     A Level (bits 0-3) and
       Envelope Control (bit 4):  1 = Use Env;  0 = Use Level value

09     B Level (0-3) and
       Envelope Control (bit 4):  1 = Use Env;  0 = Use Level value

0A     C Level (0-3) and
       Envelope Control (bit 4):  1 = Use Env;  0 = Use Level value

0B     Envelope Period Fine (bits 0-7)
0C     Envelope Period Coarse (bits 0-7)
0D     Envelope Shape (four bits):

       Continue (bit 3)   0= do 1 cycle and set Level to zero
       Attack (bit 2)     1= count up  0= count down
       Alternate (bit 1)  1= reverse count direction each cycle
       Hold (bit 0)       1= do 1 cycle and hold count


   To program the MB you write to the board's 6522 I/O chip(s). All address
references here are for a MB Sound II (2 Audio Outputs) in Slot 4.

$C400  ORB1  function to perform, Output 1
$C480  ORB2  function to perform, Output 2
$C401  ORA1  data, Output 1
$C481  ORA2  data, Output 2
$C402  DDRB1 data direction, Output 1
$C482  DDRB2 data direction, Output 2
$C403  DDRA1 data direction, Output 1
$C483  DDRA2 data direction, Output 2

Before sending music, etc. data to the MB you must Initialize the board's
I/O. To Initialize the 6522's: Store $FF at $C402 and the other three DDRxx
addresses. This needs to be done by your program just once.

Your program gets access to a PSG via the 6522 by using a few basic
Function codes which set the PSG's I/O control lines:

  Set Inactive = $04
  Set PSG Reg# = $07
  Write Data =   $06
  Reset =        $00


To Write to a PSG register: Tell the PSG which Register you wish to access
(i.e. Set the "current register" #) and Write the data. This is
easiest to do with subroutines to handle the basic Functions.


Example Subroutines (for Output Channel 1):

Set Reg #     1000:  A9 07   8D 00 C4   A9 04   8D 00 C4   60

Write Data    100B:  A9 06   8D 00 C4   A9 04   8D 00 C4   60

Notice that each Function sub ends by setting the PSG control lines to Inactive.


Similarly, to do a Reset (set all PSG regs to zero) ...

Reset           1016:  A9 00   8D 00 C4   A9 04   8D 00 C4   60


To put the value $55 in PSG Register 02 (Channel B Freq. fine) ....

1080: A9 02       put Reg#  in A (6502 accumulator register)
1082: 8D 01 C4    store A at the Data address ORA1
1085: 20 00 10    JSR to Set Reg#  (sets "current register" to Reg 2)
1088: A9 55       put the value $55 in A
108A: 8D 01 C4    store A at the Data address ORA1
108D: 20 0B 10    JSR to Write Data  ($55 goes into PSG Register 2)
1090: 60          Exit from subroutine

----------------------------


010- How do I get my MockingBoard to work on my GS?

     You need to go to the GS Control Panel and change the Slots setting
for the Slot your MB card is in to "Your Card".

     The 'standard' place for a MockingBoard is Slot 4. A few early
programs require that the board be there in order to work; but, most
programs which use MB will let you specify the Slot. A few games and other
wares require modifications or interface software to work with MB on a GS.

---------------------------


011- I have a Mockingboard Sound II board installed in my GS but
     cannot get it to work with Ultima IV and Ultima V. How can
     I play these games with MockingBoard music and sound effects?

     There are a couple of software packages which will let you play Ultima
IV and Ultima V with MockingBoard sound on a Mockingboard-equipped IIgs.
Both of these wares take care of activating the MockingBoard Slot without
changing Control Panel settings. You can find the software on ...

Ground in the AOL area (U4MOCKV2.SHK and U5MBONGS.SHK):
http://www.apple2.org.za/mirrors/ground.icaen.uiowa.edu/Collections/AOL/
in the Games/Adv./Roleplay/ folder.

GS WorldView's archive (U4MBonGSv22.zip and U5MBonGSv11.zip):
http://apple2.org.za/gswv/a2zine/Games/  .

____________________________



From: Tom Mage

012- How can I get 'regular Apple sound' (like BEEPs, etc.) to play
     through my Mockingboard's outputs?

     I recently got a Mockingboard C, which, it turns out, has a plug and
cable specifically for connecting in sound from the Speaker! (Most likely,
the MB A has a similar connection.)


----------------------------


From: Rubywand

     Evidently, older Mockingboards (like our Sound II) do not include the
built-in Speaker connection; so, users with these boards will need to do a
simple mod.

     The Apple II speaker is in the Collector circuit of the sound output
transistor-- one end of the spkr goes to a resistor and capacitor connected
to the output transistor Collector and the other goes to +5V (not ground). 
To get an audio output signal, the spkr must be in place; or, you can
substitute a 1 watt resistor-- something in the 22-39 Ohm range.

     The output should come from the side of the spkr (or 1 watt resistor)
going to the resistor & capacitor connected to the transistor-- i.e.
the side which is _not_ the +5V side. The output goes through a coupling
capacitor to the center lead of your RCA plug. The Ground side of the RCA
plug goes to ground.

    "Ground" is DC ground = any motherboard trace area which is
connected to the ground side of the power supply. For example, the outside
"shell" of the composite video output is soldered to ground.


     Here is a rough picture ...


     +5V side
        |
        |
        []< Speaker or 27 Ohm resistor
        |
        |---------------------|(--)|------------------------ Output
        |                   10uF  10uF                    to Amplifier
        |       2 caps connected as bi-polar capacitor
        |
      Transistor                           _________________ Ground
       side                                |
                                        DC Ground

     You can get a bi-polar coupling capacitor at Radio Shack or make one
by connecting two 10uF caps neg end to neg end.  The value is not critical,
a 2uF-5uF bipolar cap or two 5uF caps connected back to back is fine.
Voltage rating should be 10V or better.

----------------------------


From: Michael Mahon

     For the vast majority of connections to external amplifiers, a
non-polarized capacitor is not required in this circuit, precisely
_because_ the transistor side of the capacitor never goes below ground.  A
4.7 uF capacitor, with the (+) side toward the transistor collector and the
(-) side toward the amplifier will do the job nicely.

____________________________



From: Mitchell Spector

013- Are there any GS programs that will let me play
     MIDI files that I get from the web?

     The best one out there is MIDISurgeon 2.0, formely available from EGO
Systems. It lets you convert and tweak (very finely if need be) MIDI files
into MIDIsynth format, what most people heavily associate with synthLAB.
MIDIsynth is really the best way to hear MIDI sequences, though it is very
limited these days: 7 voices and 64K worth of patches maximum (choosen from
a small number of instrument banks out there, with a sparse selection). If
you have MIDI files that are under 7 voices and only use a cou

ple of instruments it is passable.

     There is also the freeware MIDIConvert program, but it isn't very flexible.

     WaveLAB (another program by Dave Tribby) is also worth downloading, it
allows you to create new instrument banks.

     You should be able to get MIDIConvert from the TFFE and Ground FTP
sites. SynthLAB/MIDIsynth is part of System 6, downloadable from Apple's
FTP site. As for MIDISurgeon, you'll have to contact Dave Tribby to find
out its status.

     I personally just use a MIDI connection between my Apple IIgs and PC
with one end running synthLAB and the other CakeWalk Express, then have one
side "play" the other and I record that. Makes editing much
easier and faster.

----------------------------


From: Edhel Iaur, Esq.

Apple's SynthLAB may be necessary for many solutions. Check out the
following URLs for related midi wares:

http://www.apple2.org.za/mirrors/ground.icaen.uiowa.edu/apple16/
 in the Music/Applics/ folder
http://www.apple2.org.za/mirrors/ground.icaen.uiowa.edu/Mirrors/uni-kl/
 in the gs/music/ folder
ftp://apple2.tffenterprises.com/pub/apple2/music/
http://www.whatisthe2gs.apple2.org.za/the_ring/index.html 
 click on "Creative Aural"

---------------------------


From: Clayburn Juniel/Effective Software Solutions

     Hey, what about Music Composer?  It's much better than synthLAB for
doing MIDI playback.

     Just a note. Music Composer* does use the MIDIsynth tool to play the
music, and to do some editing.  MIDIsynth does a lot that synthLAB doesn't
use. It was always my impression the that synthLAB was never finished.

_______________________



From: Robert Hill

014- Would FExt.NDA let you play thru Synthinit if you
     placed Synthinit in the System.Setup folder?

     OK, I guess it's shameless plug time :)  FExtNDA will allow you to use
SynthInit from any desktop program. Place SynthInit in your System.Setup
folder, and FExtNDA in your Desk.Accs folder (of course :). Then, in
FExtNDA's preferences, check 'Send finderSaysIdle'. If you want to be able
to use keypresses to change songs, also check 'Send finderSaysKeyHit'. For
more useful information on using the two together, check the docs in
FExtNDA.

PS: SynthInit isn't the only Finder Extension that will work: IR,
DeskTracker, FinderView, FinderSounder, TeacherReader, EGOed, etc. etc.
etc. all work.

________________________________



From: Charles T. Turley

015- Can I play .WAV files on my GS?

     Yes. Download and check out 'Universal Sound Edit'. It's a GS sound
editor that handles virtually every type of sound format from just about
all computer platforms.

     You can read the documentation file and download the program archive,
USE.SHK, from Ground's 1WSW collection:

http://www.apple2.org.za/mirrors/ground.icaen.uiowa.edu/Collections/1WSW/
in the GS.WorldView/GS.AUDIOWARES/ folder.

     Other good IIgs sound editors are Sound Shop and Sound Studio. 

     You can get all three editors with docs in SoundGS_SoundEditors.zip
from GS WorldView at http://apple2.org.za/gswv/a2zine/Utils/ .

________________________________



From:  Dave Huizing

Related FAQs Resources: R011SNDFMTS.TXT (Text file)

016- What formats are used for audio files?

     See the Audio File Formats Guide FAQs resource file R011SNDFMTS.TXT .

________________________________



From: Charles T. Turley

Related FAQs Resources: R012echo.txt (Echo mini-manual Text file)

017- How do I use my Echo speech synthesizer to produce speech?

     See the Echo II Speech Synthesizer Mini-Manual FAQS resource file R012echo.txt .

     A complete set of Echo II disks was made available in the February and
March 2000 issues of GS WorldView. The disks, in ShrinkIt whole-disk (.sdk)
form, along with a Text info file are available for download in
EchoCollection.zip from GSWV at http://apple2.org.za/gswv/a2zine/Utils/ .

     You can find the collection of 5.25" disks in disk image form on
Asimov at
ftp://ftp.apple.asimov.net/pub/apple_II/images/utility/sound/echo_disks/ .

________________________________



From: Ian Schmidt

018- What types of sound files are used on the GS?

     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.


--------------------------------


Related FAQs Resources: R015SNDNMUS.TXT (Text file)

019- Where can I find more info on cards, editing, digitizing, ...?

     See the Sound & Music info FAQs resource file R015SNDNMUS.TXT .

________________________________



From: Rubywand

020- What is "old Apple" sound and how is it produced?

     All Apple II computers can produce "Old Apple" sound without
any special boards or add-ons. The system BEEP you hear upon a Reset is an
example.

     The sound is produced by code which addresses memory location $C030.
Each time $C030 is referenced the output of a flip-flop going to a simple
audio amplfier stage changes state.

     For example, in BASIC, X= PEEK(49200) will produce a single click. In
machine code, so would AD 30 C0 (Load Accum from address $C030). Duration
and Frequency of sound can be set by placing the address reference
instruction inside a loop and using other loops to control speed of
references.

     Although the signal going to the internal amplifier is always a square
wave, creative coding by music enthusiasts, game developers, and other
users has produced remarkable effects ranging from two-voiced music and
game sounds to speech.

________________________________



From: Mitch Spector

021- What is a good source for .WAV and .BNK files?

     Have a look on Ground at ...

http://www.apple2.org.za/mirrors/ground.icaen.uiowa.edu/apple16/Music/ .

You should find a couple of different custom made instrument banks for
MIDIsynth. A few to look for: 'Europe.bnk', MIDI.bnk', 'InstF.bnk',
'InstA.bnk', 'GrandPiano.bnk', 'Jazz.bnk', 'MT32.bnk'.

     And check TFFE: ftp://apple2.tffenterprises.com/pub/apple2/music/ .

     Another good source is commercial IIgs sound software from the What is
the IIgs? site at ...

http://www.whatisthe2gs.apple2.org.za/the_ring/creative_aural.html .


________________________________



From: Rick Diffley

022- How can get more System Sounds for my GS?

IF you have HCGS (HyperCard GS) then, one way to get System Sounds is to
place a HCGS stack with rSounds in the Sound folder. You'll have plenty of
new sounds to use with the Sound CDev.

Making a new stack and moving sounds into it works fine, but so does making
a COMPLETELY EMPTY file of type $55/$0001 (HyperCard Stack -- you can save
an empty text file and then change its file type to do it) and then moving
the sounds into THAT.  Afterwards, you can change the file type of that
file to $D8/$0003 (Sound Resource) so HyperCard won't try to actually open
it as a stack. This saves about 7K of space.

Also, sound files that are placed in the */System/Sounds folder can be
directly used by HCGS v1.1!  You don't need to install those sounds into a
stack! There's a smaller and much more manageable hammer.  All that's
required is HyperCard GS and some utility to change file types.

To get sounds out of a HCGS stack and into a system sounds file, with NO
OVERHEAD whatsoever, do the following:

 1) Create an empty text (or binary, or whatever) file on disk.
 2) Change the file type of that file to $55/$0001 (HyperCard
    GS stack).
 3) Use HyperCard's XCMDs (or Hang's sound stacks) to copy sounds
    into that file that used to be a text file.
 4) Change the file type of that file to $D8/$0003 (Sound resource).
 5) Throw that file into your system Sounds folder.

You could also just create a new stack from within HCGS and do the same
thing, but it'll be about 7K larger, due to the information HCGS puts in a
stack's data fork when it's created.

____________________________



From: Rubywand

023- How do I get System 6.0.1 to run Music Studio 2.0 from hard disk?

     A problem which seems to trip up many users is placement of the WAVES
folder. You can put most of Music Studio in a folder named
"AppleMusic" (or whatever); but, the WAVES folder needs to be in
the main directory of the volume.

----------------------------


024- Using Sound Shop and similar utilities, I get static and
     scratchiness on my GS sound samples and, sometimes, hum.
     What's wrong and how can I get better recordings?

     There are several ways to get "static" when recording sounds
on your GS. One is to have incorrect settings for the sound recording
program. If input level is set too low, you may be recording relatively
more noise than sound. If input level is set too high, you may be getting
"clipping"-- the signal gets chopped at the peaks-- which can
sound like static.

     Also, check the Sampling Rate setting. A too-low sampling rate can
result in glitchiness which sounds like static. If you have not already
done so, try experimenting with your sound recording program's settings.

     If your sound input board has more than one input, then, one may be
for "Line Input" for recording from a tuner, tape deck, etc. and
another may be for "Mic". If there is a choice, be sure your
sound source goes to the right input. For example, to record using a
microphone, it should be plugged into "Mic".

     Hum usually indicates a different problem. Almost always it indicates
a broken or very poor Ground/shield connection. Check your connector jacks
and plugs. Sometimes just turning a cable plug in the socket/jack will
establish a good contact and end hum.

     If you are using a microphone, it could be the source of problems.
Static can come from a mic which is damaged, has some sand, etc. sitting on
the diaphram, has an intermittant ON/OFF switch, has a damaged cord, or has
a loose connection at the plug.

     Or; you may be using a perfectly good microphone which is badly
mismatched to your sound input board. For example, a high quality mic may
deliver a very low output. Your input circuit may auto-boost amplification
to try to compensate; but, the result may be to obtain an audible recording
with greatly increased noise. (Your signal-to-noise ratio at the input is
too low.)

     By the way, the mic supplied with Hyperstudio (the Apple IIgs version)
is not an especially high quality unit; but, it works fine with
Hyperstudio's GS sound input board. If you are not sure that your mic is
okay and is the right sort for your sound input board, try swapping in one
from a tape recorder, etc..

----------------------------


025- Squeals and other noises spoil my GS stereo board sound? A fix?

     An unshielded cable going to J-17 can pick up some noise; but, it is
not likely to be noticeable except at higher volume settings when no
music/sound is being output. Rerouting the cable may help.

     Really bothersome noise probably comes from the Slot bus feeding the
Slot your stereo board is plugged into. The problem is noticed more often
on Rom-01 GS's than ROM 3's because the latter seem to have heavier power
traces and this helps reduce noise. However, any GS may exhibit Slot noise
when a few power-sucking boards (e.g. an accelerator) are plugged in.

     For ways to reduce noise see the Power Supplies and Cooling FAQs file
CSA2POWER.TXT. Check Q&A related to power supply enhamcements and/or
possible swaps. Also check Q&A 019. 

----------------------------


026- My IIgs has no sound from the internal speaker. How can I fix this?

     The fix _may_ be fairly easy. Try plugging Stereo headphones into the
Sound Output jack on the back of the GS. Whatever you plug in (headphones,
a connection to an amplifier, etc.) must have a Stereo plug. If you get
sound through the headphones but no sound when the headphones are
unplugged, it means that your jack is, probably, messed up.

     There's a leaf switch which is part of the jack which is supposed to
close and connect-up your internal speaker when nothing is plugged in. If
this switch's contacts become dirty or the leaf loses its springiness, the
switch fails to close. The easiest long-term fix is to either

A. solder a jumper which keeps the switch closed whether or
   not anything is plugged in  or

B. plug in an external speaker (using a Stereo plug).

     Another, fairly rare, cause of Sound loss is that the internal Speaker
"+" lead has been pressed against a pointy Ground circuit point
on the motherboard. This sometimes happens when the small front panel
and/or the motherboard has been removed and replaced without making sure
the Speaker lead is routed correctly.

     If neither of the above fits your Soundlessness problem, describe your
system and post the question to Csa2.

----------------------------


027- Where can I find GS music and music creation programs?

     A good first place to look is Ground at ...

http://www.apple2.org.za/mirrors/ground.icaen.uiowa.edu/Collections/apple16/
 in the Music/Applics/ folder.

     Also be sure to check these collections:

NoiseTracker (NT or NTGS) programs, info, and music files
 http://www.apple2.org.za/mirrors/ground.icaen.uiowa.edu/Collections/1WSW/

Music Composer programs, info, and music files
 http://www.apple2.org.za/mirrors/ground.icaen.uiowa.edu/Collections/Clay/

Sonix program, info, and wave files
 http://www.apple2.org.za/mirrors/ground.icaen.uiowa.edu/Collections/SoWhat/

     For Soundsmith, mod players,  ... and lots of songs go to  TFFE at ...

ftp://apple2.tffenterprises.com/pub/apple2/music/ .

     For more, check out Music Studio, Instant Music, and other commercial
IIgs sound software from the What is the IIgs? site:

http://www.whatisthe2gs.apple2.org.za/the_ring/creative_aural.html .

___________________________



From: Deacon Blue, Kyle Kim, Tom Charlesworth 

028- Does any Apple II emulator include Mockingboard support?

     The ApplePC DOS-emulator has built-in Mockingboard emulation. Here's a
section of the version 2.52a 'apple.doc' from David Ellsworth:

    "ApplePC emulates the Mockingboard through any Adlib compatible
sound card (all Soundblaster compatibles are Adlib compatible). 
  
    "One and a half (1.5) Mockingboards are emulated, for a total of
nine voices. The Mockingboards are 'perched' in slots 4 and 5. The one in
slot 4 has six voices. The one in slot 5 has three voices. This is because
the Adlib card has only nine channels."

     The Apple in PC emulator (AiPC) and a newer version of AppleWin
(v1.12.3) also offer varying levels of Mockingboard support.

___________________________



From: Wayne Stewart

029- Does anyone know what a "Supertalker" card is used for?

     According to the MCI Supertalker manual, the card plugs into a Slot
and lets you digitize human speech and store it on diskettes. Supertalker
can replay the stored digitized speech via the speaker supplied with the
system.

     Supertalker software includes the Vocal Preparation System (VPS) for
developing phrase diskettes. A phrase diskette can have numerous tables
containing words, phrases, and complete sentences.

     Quality of recorded data is dependent on the selected digitizing rate
which can range from 512 bytes/sec (lowest) up to 4096 bytes/sec (best).
Playback volume has four software selectable levels.

     It's a pretty nifty card. Some time back we had an Apple II meeting
where we played around with it and a few other audio cards but mostly with
the Supertalker.

___________________________



From: Rodney Hester and Rubywand

030- My GS stereo board's sound output is very low and noisy. A fix?

     An output cable may be poorly connected or defective-- check for
breaks and shorts; or, a chip or connection on the board may be loose or
defective.

     A perfectly good card correctly connected with good cables can exhibit
these symptoms in a IIgs with an overloaded power supply, even when the
computer seems to be working okay otherwise. The problem is basically the
same as described in Q&A 025 above, except that affects are more
severe.

     See the Power Supplies and Cooling FAQs file CSA2POWER.TXT. Check
Q&A related to power supply enhamcements and/or possible swaps.
Especially check Q&A 019

___________________________



From: Michael J. Mahon, Simon Williams, Rubywand

031- How can I create sounds and music on my 8-bit Apple II?

     Ground and other archives maintain several utilities for creating
"old Apple II" sounds and
music.

     Two of the more recent developments are Mike Mahon's "Sound
Editor" and a music sequencer named "Timlord" from Simon
Williams. (See Mike's page and Simon's Luddite Enterprises page for
downloads.)

____________________________



From: Rubywand

032- Where can I get Mockingboard disks and music?

     You can find the set of Mockingboard disks in GS WorldView's Archive
at  http://apple2.org.za/gswv/a2zine/Utils/MockingboardDisks.zip .

     A disk which will play the music of Ultima V on a IIgs equipped with a
Mockingboard is in GS WorldView's Archive at ...

http://apple2.org.za/gswv/a2zine/Misc/MockingboardUltima5musicGS.zip .
--- SBBSecho 2.12-Win32
* Origin: Derby City BBS - Louisville, KY - derbycitybbs.com (1:2320/100)
SEEN-BY: 10/1 3 14/300 34/999 90/1 106/1 120/228 123/500 134/10 140/1 222/2
SEEN-BY: 226/0 236/150 249/303 261/20 38 100 1404 1406 1410 1418 266/1413
SEEN-BY: 280/1027 320/119 393/11 396/45 633/260 267 712/848 800/432 801/161
SEEN-BY: 801/189 2222/700 2320/100 105 200 2905/0
@PATH: 2320/100 261/38 633/260 267

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.