How to use Midpak/Digpak with the Tandy 3-voice Chip
----------------------------------------------------

[Thanks to James S. Blackmon <jsb4@muw.edu> for this information.]

You can use the Midpak/Digpak drivers to play MIDI's on the 3-voice chip. 
These programs can also be used to play sound files, but there are better
programs for that.  If you have the Tandy DAC (1000SL's, TL's, RL's, RLX's,
and RSX's), try Playwav in tspak181.zip.  If you just have the 3-voice
(original 1000, A, HD, EX, HX, SX, and TX), try Play3voi (pl3voi04.zip). 
Other programs that just play on the PC speaker will also work on systems
that only have the 3-voice.

To start, download both midpak.zip and digimidi.zip (yes, you need *both* of
them).  Decompress midpak.zip into its own directory.  Decompress
MIDIFORM.EXE from digimidi.zip into the same directory, like this:

   C:\MIDPAK> PKUNZIP \DWNLDDIR\DIGIMIDI THEAUDIO/MIDIFORM.EXE

Note that you have to specify "THEAUDIO/MIDIFORM.EXE", not just
"MIDIFORM.EXE".  (Alternately, you could just decompress the entire Digimidi
.zip into its own directory and get MIDIFORM.EXE from there - takes a lot of
disk space, though.)

Go to the Midpak directory and run DEMO.BAT.

You will be asked to select a sound driver.  Select either "Tandy SL/TL" if
you have that (or an SL/2, TL/2, TL/3, RL, RL-HD, RLX, or RLX-HD) or "IBM
Internal Speaker, Foreground" if you have an original 1000, A, HD, EX, HX,
SX, or TX.  Sorry, the "Tandy TX/EX/HX/SX & PCjr" driver sounds like crap
(the "IBM Internal Speaker background" driver sounds bad too).  Not that I
will stop you if you want to use them :-).

Next it will ask you to select a MIDI driver.  Select "Tandy".  You will see
a warning that the Tandy driver doesn't sound very good.  It doesn't, but
it's better than nothing :-).

Play the digitized sound files and see if you can hear something.  Scroll
down to the bottom of the MIDI list.  The ones that *don't* say "Adlib
orchestration" or "Roland orchestration" you can try to play.  The "Bach
Tacatta Fugue" (that's how they spell it) should sound OK on the 3-voice
chip.  When you're done, type "UNLOAD" to unload the drivers.

If all went well, it's time to weed out the directory and get rid of files
you don't need.  You need to keep these files:

   IBMSND.COM        (if you used the IBM speaker driver above)
   MIDIFORM.EXE      (from digimidi.zip)
   MIDPAK.AD
   MIDPAK.ADV
   MIDPAK.COM
   MPLAY.EXE
   PLAY.EXE
   TANSLTL.COM       (if you used the Tandy SL/TL driver above)

Unless you want to hear the demo again, you don't need the rest of it.

Now, to play a standard MIDI file, you first need to use MIDIFORM.EXE to
convert it to .XMI, like this:

   MIDIFORM BALLADE.XMI BALLADE.MID

Load the drivers (yes, you need both the sound and MIDI drivers).  If you
have a pre-SL system without the Tandy DAC, type this:

   IBMSND
   MIDPAK

If you have an SL or later, type this:

   TANSLTL
   MIDPAK

Now, to play the MIDI, type this:

   MPLAY BALLADE

(Do not give an extension.)  The 3-voice chip is not a very good MIDI
device.  You will probably have to download and convert a whole bunch of
them to get a few that sound good.  Anyway, when you're done playing MIDI's,
unload the drivers like this:

   MIDPAK U
   IBMSND U

Or:

   MIDPAK U
   TANSLTL U

To play a sound file, you first need to convert it with Sox.  If you are
doing anything at all with sound, you really need Sox.  You can find it
various places.  Here's one:

   ftp://ftp.simtel.net/pub/simtelnet/msdos/sound/sox7dos.zip

PLAY.EXE plays headerless 8-bit mono unsigned PCM at about 9kHz.  You need
to use Sox to convert what you have to that, like so:

   SOX THEFILE.AU -r 9000 -u -b THEFILE.RAW

Case is significant for the options.  In this example, "thefile.au" is the
input file, and "thefile.raw" is the converted file for Digpak.  Always use
the ".raw" extension on the output file so that Sox won't attach a header to
the file.  Here's another example:

   SOX WHATSIT.WAV -r 9000 -u -b WHATSIT.RAW

You get the idea :-).

After the sound file is converted, load your sound driver:

   IBMSND

or:

   TANSLTL

(Note:  you don't need to load MIDPAK just to play a regular sound file.)
Play the file like this:

   PLAY THEFILE.RAW

(This time, specify the extension.)  When you're done playing sound files,
unload the driver:

   IBMSND U

or:

   TANSLTL U

Of course, you can make batch files to automate all this.

Midpak/Digpak is not the best thing around for playing sound files on a
Tandy.  PLAY.EXE is limited to files of 64k or less.  The latest version of
John Ball's Playsnd, for example, will use the Digpak sound driver (IBMSND)
to play sounds, and contains native support for the Tandy DAC (i.e., without
Digpak).  Playsnd can play longer files and understands various file formats
so you don't need to use Sox to convert things for it.  Play3voi sounds
pretty good on the TX, so I'm told :-) - it plays .WAV's and works on
systems without a DAC.  There are lots of programs around that play sound on
the PC speaker, and they all work on Tandy's.  For the Tandy DAC, try
Playsnd, Playwav (from Tspak), or Dmsound.  Each has its pluses and minuses.

Midpak is, however, the only way to play a MIDI on a Tandy (unless you buy a
soundcard).  With only 3 MIDI channels, it doesn't sound very good for most
MIDI's, though.  Still, it can be amusing if you've already heard all your
.SNG's 300 times :-), and if you shop around for MIDI's that sound good.