home *** CD-ROM | disk | FTP | other *** search
/ Die Multimedia Power-CD / MULTIMEDIA.bin / sndplay / sputter / sputter.doc < prev    next >
Text File  |  1991-01-29  |  118KB  |  2,700 lines

  1.  
  2.  
  3.                   The SPUTTER Sound System for the PC
  4.                                 v1.12
  5.  
  6.                               VersaWare
  7.                             30 Jennifer St
  8.                           Littleton, MA 01460
  9.                              508-486-3083
  10.  
  11.  
  12.   SPUTTER is a set of programs, that form a full featured sound system that
  13.   allows you to manage and play back many different types of sound files, on
  14.   a variety of different devices.  All conversions are handled automatically,
  15.   regardless of the type of device used to create the sound file.
  16.  
  17.   These are some of the major features of the SPUTTER Sound System:
  18.  
  19.         * Point-and-Play shell with pull-down menus and complete file
  20.           management capabilities to let you play digitized sound
  21.           files, synthesized music files, and text to speech files all
  22.           from within the same program.
  23.  
  24.         * Allows you to attach any of these types of sound files to events
  25.           on your PC such as Program Execution, File access, Disk access,
  26.           Alarm clock settings and replacing the original beep sound.
  27.           You can also attach sound files to individual key presses.
  28.  
  29.         * Supports many different output devices, including the PC internal
  30.           speaker, Speech Thing, Voice Master, Sound Master, Sound Blaster,
  31.           AdLib Music Card and any other Digital to Analog Converter.
  32.  
  33.         * Supports many different digitized sound file formats including
  34.           Covox (Speech Thing, Voice Master, Sound Master), Creative Labs
  35.           (Sound Blaster), Tandy, Macintosh, Amiga, IBM CVSD files,
  36.           Turtle Beach Softworks 16-bit (SampleVision), and 12-bit files.
  37.           Also supports .ROL synthesized music files (on Adlib & SoundBlaster)
  38.           and text to speech synthesized sound.
  39.  
  40.         * Can randomly select sound files to provide variation without
  41.           having to change batch files regularly.
  42.  
  43.         * Can resample digitized sound files, to change the playback rate
  44.           of a file so that it can be played on slower machines.
  45.  
  46.         * Includes enhanced support for DESQview and runs as a well-behaved
  47.           program in a DESQview window.
  48.  
  49.  
  50.   The documentation is divided into the following sections:
  51.  
  52.         1. Installation Guide
  53.  
  54.         2. Quick Start User Guide
  55.  
  56.         3. Reference Manual
  57.  
  58.            3.1  SPUTTER  - File Manager
  59.            3.2  SPUTMON  - Event Monitor
  60.            3.3  SPUT     - Sound & Text Player Utility
  61.            3.4  SPUTROL  - ROL File Player Utility
  62.            3.5  SPUTWAVE - Waveform Viewer
  63.            3.6  SPUTST   - SmoothTalker Utility
  64.  
  65.         4. Miscellaneous
  66.  
  67.  
  68.   *************************************************************************
  69.                        SECTION 1 - INSTALLATION GUIDE
  70.   *************************************************************************
  71.  
  72.   Installation of SPUTTER is very simple, just execute the following steps.
  73.  
  74.   1) Place all of the Sputter programs and required files in a directory
  75.      that is contained in your PATH statement.  Those files are as follows:
  76.  
  77.         SPUTTER.COM             File Manager
  78.         SPUTMON.COM             Event Monitor
  79.         SPUT.COM                Sound & Text file player
  80.         SPUTROL.COM             ROL file player
  81.         SPUT.PHD                Voice file for text-to-speech
  82.         SPUT.DIC                Sample Dictionary file for text-to-speech
  83.         SPUTMON.DEF             Sample Event definition file
  84.         SP-PIF.DVP              DESQview PIF for player window
  85.         ONLY1.SHR               DESQview shared program
  86.  
  87.   The following files are required if you will be playing ROL files, and
  88.   are included with the Sputter Demonstration files:
  89.  
  90.         SOUND.COM               AdLib Sound driver
  91.         STANDARD.BNK            AdLib Instrument Bank file
  92.  
  93.   The following files are also included in the distribution, but are not
  94.   necessary for execution:
  95.  
  96.         SPUTTER.DOC             Sputter documentation file
  97.         KEYS.TXT                List of scan-codes for KEY events.
  98.         KEYS.DEF                Samples of KEY event definitions.
  99.         LICENSE.TXT             Licensing information.
  100.         MAILER.TXT              Registration mailer.
  101.         PHONES.TXT              List of Phonemes from the Doc file
  102.         SAMPLES.TXT             Samples of the Phoneme-functions
  103.         WHATS.NEW               Description of the latest changes
  104.         FUTURE.TXT              What's planned for future releases
  105.         USES.TXT                Some ideas for using Sputter
  106.  
  107.   2) Add a line to your AUTOEXEC.BAT file to define the path in which
  108.      your sound files are stored similar to the following example:
  109.  
  110.                 SET SPUTDIR=C:\SND
  111.  
  112.   3) If you are using any sound device other than the PC Internal Speaker,
  113.      you must add a line to define the port address of your sound board:
  114.  
  115.      For VoiceMasterKey I     SET SPUTARG=/P1          (or 2,3,4)
  116.      For VoiceMasterKey II    SET SPUTARG=/P5          (or 6,7,8)
  117.      For SpeechThing          SET SPUTARG=/P5          (or 6,7,8)
  118.      For SoundBlaster         SET SPUTARG=/P220-S/IR3  (or 230,240,250,260)
  119.      For AdLib card           SET SPUTARG=/P388-A
  120.  
  121.      You may also include any permanent switches you want to define for
  122.      the sound file player:
  123.  
  124.                 SET SPUTARG=/Q2
  125.  
  126.   4) If you are using a SoundBlaster or AdLib card, add a line to define
  127.      the path to your ROL files:
  128.  
  129.                 SET SROLDIR=C:\ROL
  130.      
  131.      and you may optionally add a line to define any permanent switches
  132.      you want to define for the ROL file player:
  133.  
  134.                 SET SROLARG=/Q2
  135.  
  136.   *************************************************************************
  137.                     SECTION 2 - QUICK START USER GUIDE
  138.   *************************************************************************
  139.  
  140.   SPUTTER File Manager:
  141.  
  142.   To start the Sputter Sound System, you must be at the DOS prompt.  Type
  143.   'SPUTTER ' followed by the drive:directory that contains your sound files
  144.   or ROL files, then press the ENTER key:
  145.  
  146.                 SPUTTER C:\SND <enter>
  147.  
  148.   From the File Manager, just place the highlight bar on the file you want
  149.   played and press the ENTER key.  Many other functions are available
  150.   within the File Manager, which can all be found in the pull-down menus.
  151.  
  152.  
  153.   SPUTMON Event Monitor:
  154.  
  155.   To setup the Event Monitor, you must first create an event definition file.
  156.   A sample event definition file SPUTMON.DEF has been included in the
  157.   distribution which may be modified to your preferences.
  158.     
  159.   To load the Event Monitor, type 'SPUTMON ' followed by the name of the
  160.   event definition file, then press the ENTER key:
  161.  
  162.                 SPUTMON SPUTMON.DEF <enter>
  163.  
  164.  
  165.   Now you can enjoy your sound files!
  166.  
  167.   *************************************************************************
  168.                         SECTION 3 - REFERENCE MANUAL
  169.   *************************************************************************
  170.   *************************************************************************
  171.                      SECTION 3.1 - SPUTTER File Manager
  172.   *************************************************************************
  173.  
  174.   This section describes the point-and-play file manager named SPUTTER.
  175.   From the File Manager, sound files can be played, viewed in waveform,
  176.   viewed in ascii/hex mode, copied, renamed, moved and deleted, either
  177.   individually or in tagged groups.
  178.  
  179.         SPUTTER [d:] [\directory] [/E] [/S] [/D] [/T] [/O]
  180.  
  181.   To start the File Manager, simply type 'SPUTTER' at the DOS prompt and
  182.   SPUTTER presents an alphabetized listing of the current directory with
  183.   a menu on the right.  An optional drive and directory may be specified
  184.   as the directory to be used, instead of the current directory.
  185.  
  186.   Optionally, the /E,/S,/D,/T and /O command line switches sort the
  187.   initial directory listing by Extension, Size, Date (/D and/T are the
  188.   same), or Original DOS order.  Once on screen, function keys can be
  189.   used for subsequent sorts.
  190.  
  191.   Once started, SPUTTER will initialize the display as follows:
  192.  
  193.         . The top line is the Menu line, and is activated with the F10
  194.           function key or the slash key (/).
  195.  
  196.         . The second line shows the currently displayed drive & directory.
  197.  
  198.         . The large window on the left is the directory window and contains
  199.           a list of files in the current directory.
  200.           The file attributes (Archive, Hidden, Read-only and System) are
  201.           shown by the appropriate letters to the right of the time for
  202.           each listed file.  A period is displayed for any file attributes
  203.           that are not set.
  204.  
  205.         . The mid-sized window on the upper right is the info window and
  206.           contains various counters, and the state of the toggle switches.
  207.  
  208.         . The smaller window on the lower right is the preview window
  209.           and gives a peek at the contents of the currently highlighted file.
  210.  
  211.         . The line below the windows is the message line and displays
  212.           various prompts and messages.
  213.  
  214.         . The next line is the input line, used for entering data.
  215.  
  216.         . The last line is the function key menu.
  217.  
  218.  
  219.   DOS wildcards ? and * are supported for COPY, MOVE and DELETE operations.
  220.  
  221.   Once SPUTTER has been started, the following keys have meaning:
  222.  
  223.   A-Z
  224.         Pressing a letter, moves the highlight bar to the first (then sub-
  225.         sequent) filename beginning with that letter.
  226.  
  227.   Up & Down
  228.         The Up and Down arrow key moves the highlight bar up or down one
  229.         line at a time.
  230.  
  231.   Home & End
  232.         The Home and End keys go to either the first or last file in the
  233.         directory.
  234.  
  235.   PgDn & PgUp
  236.         The Page-Up and Page-Down keys allow you to scroll up and down
  237.         through the entire directory.
  238.  
  239.   Ctrl-PgDn & Ctrl-PgUp
  240.         The Ctrl-Page-Up and Ctrl-Page-Down move to the top and bottom of
  241.         the current display page (21 files).
  242.  
  243.   Left-Arrow & Right-Arrow or Grey+ & Grey-
  244.         These keys are used to mark and unmark files.  After marking or
  245.         unmarking a file, the highlight bar is automatically moved in the
  246.         same direction that it was moved last.
  247.         Multiple files may be tagged for group playing, viewing, copying,
  248.         moving or deleting.
  249.  
  250.   F1 (Help)
  251.         This key activates the Help pull-down menu.
  252.  
  253.   F2 (Args)
  254.         This key displays the SPUT help screen.
  255.  
  256.   F3 (Dir)
  257.         This key will cause SPUTTER to reread the current directory.
  258.         This is useful if files have been created or added to the
  259.         current directory since starting SPUTTER.
  260.  
  261.   F4 (Chdir)
  262.         This key provides a way to change the current drive and
  263.         directory without leaving SPUTTER.
  264.  
  265.   F5 (Mark)
  266.         This key will cause all previously unmarked files to be marked.
  267.         Files with an asterick are considered marked.  To remark files
  268.         with an asterick, press F6 to clear all marks, then F5 to mark
  269.         all files.
  270.  
  271.   F6 (Clear)
  272.         This key will unmark all files including those with astericks.
  273.  
  274.   F7 (Pause)
  275.         This key will toggle the state of the Pause-after-output switch.
  276.  
  277.   F8 (Output)
  278.         This key will toggle the state of the Output switch.
  279.  
  280.   F9
  281.         This key is currently unused.
  282.  
  283.   F10 (Menu)
  284.         This key invokes the top line menu.
  285.  
  286.   ESCAPE
  287.         Pressing this key exits SPUTTER, and returns to the DOS prompt.
  288.  
  289.   F10+File or Alt-F
  290.         This key activates the File menu.
  291.  
  292.   F10+Sound or Alt-S
  293.         This key activates the Sound menu.
  294.  
  295.   F10+Options or Alt-O
  296.         This key activates the Options menu.
  297.  
  298.   F10+Help or Alt-H
  299.         This key activates the Help menu.
  300.  
  301.   F10+Quit or Alt-Q
  302.         This key activates the Quit menu.
  303.  
  304.   F10+Sound+Play or Enter
  305.         The Play function initiates the playback process for either
  306.         the highlighted or marked file(s).  This option requires the
  307.         appropriate player program to be located in a directory that is
  308.         listed in your PATH statement.
  309.  
  310.         The player programs used are SPUT.COM for digitized sound files,
  311.         and text to speech files and SPUTROL.COM for .ROL synthesized
  312.         music files.
  313.  
  314.         When a marked file is successfully played, it's marker arrow is
  315.         replaced by an asterisk.
  316.  
  317.   F10+Sound+Quick or Ctrl-Enter
  318.         The Play with Quick-arguments function initiates playback for the
  319.         highlighted file, after prompting for an argument string.
  320.         The prompt will appear in the message line, and you can enter
  321.         any valid player switch with slashes. (See the appropriate
  322.         section of the documentation for SPUT and SPUTROL switches).
  323.  
  324.         Note that if the /W switch to SPUT is used to create an 8-bit PCM
  325.         file, or the COPY function is used to create files in the same
  326.         directory, those files will not appear in the directory listing
  327.         until you press F3 to re-read the current directory.
  328.  
  329.   F10+Sound+Last or Ctrl-P
  330.         The Play with Last-arguments function initiates playback for the
  331.         highlighted file, using the previously defined argument string.
  332.  
  333.   F10+Sound+Argument or Ctrl-A
  334.         This key invokes the Argument selection menu.  CTRL-A will invoke
  335.         the Argument selection screen for sound files.
  336.  
  337.   F10+Sound+Clear
  338.         This key clear any previously defined argument string.
  339.  
  340.   F10+Sound+Text
  341.         This key invokes the interactive text-to-speech mode.
  342.  
  343.   F10+Sound+Information or Ctrl-I
  344.         Displays complete file information without playback, for the
  345.         highlighted or marked file(s).  Requires SPUT.COM to be in a
  346.         directory that is listed in your PATH statement.
  347.  
  348.   F10+Sound+Wave or Ctrl-W
  349.         Views the highlighted or marked file(s) as a wave form using the
  350.         SPUTWAVE utility.  Requires SPUTWAVE.EXE to be located in a
  351.         directory that is listed in your PATH statement.
  352.  
  353.   F10+File+Copy or Ctrl-C
  354.         Initiates the copy process for the highlighted or marked file(s),
  355.         after prompting for a destination.  Wildcards ? and * are supported
  356.         and renaming while copying is permitted.
  357.  
  358.         When a marked file is successfully copied, it's marker arrow is
  359.         replaced by an asterisk.  If the target disk(ette) becomes
  360.         filled, during a copy operation, SPUTTER automatically attempts
  361.         to find other marked files that will fit, stopping when there are
  362.         none.  Changing the target diskette, and hitting F1 again, will
  363.         copy the remaining marked files.
  364.  
  365.   F10+File+Move or Ctrl-M
  366.         Moves the highlighted or marked file(s), after prompting for a
  367.         destination.  Wildcards ? and * are supported and renaming while
  368.         moving is permitted.
  369.  
  370.         When a marked file is successfully moved, it's marker arrow is
  371.         replaced by an asterisk.  If the target disk(ette) becomes
  372.         filled, during a move operation, SPUTTER automatically attempts
  373.         to find other marked files that will fit, stopping when there are
  374.         none.  Changing the target diskette, and hitting F1 again, will
  375.         move the remaining marked files.
  376.  
  377.   F10+File+Rename or Ctrl-R
  378.         Renames the highlighted file, after prompting for a new filename.
  379.  
  380.   F10+File+Delete or Ctrl-D or Delete
  381.         Deletes the highlighted or marked file(s), after prompting for
  382.         verification.  Wildcards ? and * are supported.
  383.  
  384.   F10+File+View or Ctrl-V
  385.         Views the highlighted or marked file(s).  Requires LIST.COM to
  386.         be located in the PATH.
  387.  
  388.   F10+File+marK or Ctrl-K or F5
  389.         Marks any files that were previously unmarked.
  390.  
  391.   F10+File+cLear or Ctrl-L or F6
  392.         Clears marks on all files.
  393.  
  394.   F10+Options+Output or Ctrl-O or F8
  395.         Enables or disables the option of seeing the output from the player
  396.         utility during playback.  When a file is played with this option
  397.         enabled, the center of the screen is cleared and the player utility
  398.         output is displayed there.  Pressing this key a second time disables
  399.         the option and it defaults to enabled.  
  400.  
  401.   F10+Options+Pause or F7
  402.         This toggles the state of the Pause-after-playback option.
  403.  
  404.   F10+Options+snoW
  405.         This toggles the state of the Video-snow-suppression option.
  406.  
  407.   F10+Options+Verify
  408.         This toggles the state of the Verify-after-copy option.
  409.         
  410.   F10+Options+Unsorted or Ctrl-U
  411.         Displays the directory in it's original unsorted order.
  412.  
  413.   F10+Options+Name or Ctrl-N
  414.         Sorts the directory list by filename.
  415.  
  416.   F10+Options+Extension or Ctrl-E
  417.         Sorts the directory list by extension.
  418.  
  419.   F10+Options+Size or Ctrl-Z
  420.         Sorts the directory list by file size.
  421.  
  422.   F10+Options+Date or Ctrl-T
  423.         Sorts the directory list by date.
  424.  
  425.   F10+Help+Short
  426.         Displays a help screen of short cut keys.
  427.  
  428.   F10+Help+Function
  429.         Displays a help screen of function keys F1 thru F10.
  430.  
  431.   F10+Help+Navigation
  432.         Displays a help screen of keys used for moving the highlight bar
  433.         within the directory window.
  434.  
  435.   F10+Help+Player or Ctrl-S or F2
  436.         Displays the SPUT help screen.  Requires SPUT.COM to be in a
  437.         directory that is listed in your PATH statement.
  438.  
  439.  
  440.   ***************************************************************************
  441.                       SECTION 3.2 - SPUTMON Event Monitor
  442.   ***************************************************************************
  443.  
  444.   This section describes the program named SPUTMON, which stands for (SPUT)ter
  445.   Event (MON)itor.  SPUTMON is a small memory resident utility (under 5k)
  446.   that lets you attach sound files to events that occur on your PC.
  447.   
  448.   Typing 'SPUTMON ?' at the DOS prompt, will display the program version and
  449.   an abbreviated help screen.
  450.  
  451.   When using SPUTMON the Event Monitor, it is recommended that you keep a
  452.   copy of the player utilities SPUT.COM and SPUTROL.COM on a RAM disk.
  453.   This will reduce system overhead associated with playback at the time
  454.   the events occur.
  455.  
  456.  
  457.   ----------------------------
  458.   SPUTMON SWITCHES & OPERATION
  459.   ----------------------------
  460.  
  461.   ?
  462.         Entering a question mark on the command line, will tell SPUTMON
  463.         to display a short help screen.
  464.  
  465.   /B
  466.         This switch toggles the state of the bells-on-error & retry option
  467.         and defaults to enabled.
  468.  
  469.         When this feature is enabled and SPUTMON is unable to play a file
  470.         at the time an event occurs, a high-pitched bell will sound every 30
  471.         seconds to alert you that what you are doing is preventing playback
  472.         to occur.
  473.  
  474.         If the retry feature has been disabled with the /R switch, SPUTMON
  475.         will play a low pitched buzzer to indicate that playback has been
  476.         cancelled for that event only.
  477.  
  478.         Entering a number after the /B switch, will change the frequency of
  479.         the error/retry bells from 30 seconds to the new value.  Setting
  480.         the value to 0, disables all bells.
  481.  
  482.   /C
  483.         This switch toggles the state of the command-line playback feature
  484.         and defaults to enabled.  This method of playback is only used if
  485.         DESQview is not running, or the /W window playback feature is
  486.         disabled.
  487.  
  488.         When at the DOS prompt, you are actually running COMMAND.COM which
  489.         allocates all of memory to itself.  If an event is triggered, there
  490.         is no available memory for the player program to run or load the
  491.         sound file.  This feature causes the player program to be run from
  492.         the DOS prompt (although you won't actually see the command).
  493.  
  494.         If you are in the middle of typing a line when an event is triggered,
  495.         SPUTMON will not interrupt you.  The playback will just be delayed
  496.         until you enter a carriage return.
  497.  
  498.   /D
  499.         This switch will disable event monitoring, and SPUTMON will
  500.         remain in memory.
  501.  
  502.   /E
  503.         This switch will reenable event monitoring.
  504.  
  505.   /F
  506.         This switch toggles the state of the fast command-line playback
  507.         feature and defaults to enabled.  
  508.  
  509.         If you are idle at the DOS prompt when an event is triggered and
  510.         the FAST feature is enabled, the selected sound file will be played
  511.         immediately with no warning message or delay.
  512.  
  513.         If the FAST playback feature has been disabled, SPUTMON will print
  514.         the following message on the screen:
  515.  
  516.   <SPUTMON is ready to play, press <CTRL-SHIFT> to cancel, <CTRL-ALT> to begin>
  517.  
  518.         then SPUTMON will wait approximately 5 seconds.  If you do nothing,
  519.         or press <CTRL-ALT>, playback will occur.  If you press <CTRL-SHIFT>
  520.         playback for that particular event only will be cancelled.
  521.  
  522.         In both cases, a new DOS prompt will appear, and you may continue
  523.         as usual.
  524.  
  525.   /G
  526.         This switch controls weather the DESQview player window will run
  527.         in the foreground or background.  The default is background.
  528.  
  529.   /I
  530.         This switch is used to reinitialize the event table.  All counters
  531.         are reset to zero, and any events that were marked for playback
  532.         are cancelled.
  533.  
  534.   /M
  535.         This switch toggles the state of the multiple event triggering
  536.         feature, and defaults to disabled.
  537.  
  538.         Normally, when an event occurs, SPUTMON searches the event table
  539.         for a match.  If a match is found, the remainder of the table
  540.         is not checked.  Enabling this feature, tells SPUTMON to check
  541.         the entire table for additional matches.
  542.  
  543.         This switch normally will not affect type T timer events, since
  544.         many clock interrupts will occur for each actual second of time.
  545.  
  546.         Example: If you have the following events defined in your event file
  547.  
  548.                 P  DX.EXE  SHEESH.SND
  549.                 P  *       AHH.SND
  550.  
  551.         With /M disabled, running DX would only play SHEESH.SND.  With
  552.         /M enabled, running DX would play SHEESH.SND and AHH.SND.
  553.  
  554.   /Q
  555.         This switch toggles the quiet screen output feature, and defaults
  556.         to enabled.
  557.  
  558.         Normally SPUTMON sends the appropriate switch to the player program
  559.         to suppress screen output.  Disabling this feature will cause all
  560.         screen output from the player program to be displayed.  This can
  561.         be very useful while writing event definition files.
  562.  
  563.   /R
  564.         This switch toggles the state of the retry playback feature and
  565.         defaults to enabled.
  566.  
  567.         When an event occurs, and SPUTMON is unable to play the sound file,
  568.         in the normal way, or using the /W (DV window) or /C (command line)
  569.         methods, it looks at this switch to decide how to handle the event.
  570.  
  571.         If the retry feature is enabled, SPUTMON will remember that the
  572.         file should be played, and will keep retrying playback until
  573.         successful.  A short high pitched jingle will be heard every 30
  574.         seconds to remind you that a playback is pending.
  575.  
  576.         If the retry feature is disabled, playback will be skipped for
  577.         that particular event only, and you will hear a low pitched buzzer
  578.         if the beep-on-error feature is enabled with /B.
  579.  
  580.   /S
  581.         This switch prints the event table on the screen, which is a list
  582.         of all events being monitored.
  583.  
  584.           TRIGG - is the number of times the event has triggered playback.
  585.           ERROR - is the number of times playback has failed.
  586.           CODE  - is the error code encountered during the last attempted
  587.                   playback.  The first 2 digits are a number representing
  588.                   the process that encountered the error.  A 10xx indicates
  589.                   a player program error.  Any other number is the
  590.                   number of the interrupt handler that encountered the error.
  591.                   (ie: 2108 means playback was attempted by the INT21 handler
  592.                   but failed because of insufficient memory).
  593.           ST    - is the status of the event, with 01 meaning that the event
  594.                   has been marked for playback.
  595.           T     - is the type of file to be played where:
  596.                   1 = Sound file for SPUT.COM  (blank or #S)
  597.                   2 = ROL file for SPUTROL.COM (#R)
  598.                   3 = Text file for SPUT.COM   (blank or #T)
  599.                   4 = Command for COMMAND.COM  (#C)
  600.  
  601.         INT AH AL Disp Trigg Error Code St T Filename     Arguments
  602.         ---------------------------------------------------------------------
  603.          29 FF 07 0C91 00000 00000 0000 00 1 e:\snd\spc\*.ani
  604.          08 FF FF 0C98 00000 00000 0000 00 1 10-19-1990 13:15 255 *.tun
  605.          08 FF FF 0C98 00000 00000 0000 00 1 10-19-1990 13:30 255 *.*
  606.          08 FF FF 0C98 00000 00000 0000 00 1 10-19-1990 12:45 255 *.sfx
  607.          08 FF FF 0C98 00000 00000 0000 00 1 10-19-1990 13:0 255 /ti/r145
  608.          08 FF FF 0C98 00000 00000 0000 00 2 10-19-1990 12:45 255 *
  609.          08 FF FF 0C98 00000 00000 0000 00 2 10-20-1990 12:0 1 bumblbee
  610.          08 FF FF 0C98 00000 00000 0000 00 2 10-19-1990 17:0 1 airnite
  611.          08 FF FF 0C98 00000 00000 0000 00 1 10-20-1990 0:0 1 bed1a
  612.          08 FF FF 0C98 00000 00000 0000 00 1 10-20-1990 0:15 8 bed2a
  613.          08 FF FF 0C98 00000 00000 0000 00 1 10-20-1990 2:0 30 timeup
  614.          21 4B FF 0E07 00000 00000 0000 00 1 CP.EXE       certnly
  615.          21 4B FF 0E07 00000 00000 0000 00 1 DC.EXE       sheesh
  616.          21 4B FF 0E07 00000 00000 0000 00 1 DIRNOTES.COM exc2
  617.          21 4B FF 0E07 00000 00000 0000 00 1 DX.EXE       notsfast
  618.          21 4B FF 0E07 00000 00000 0000 00 1 FGREP.COM    gotit
  619.          21 4B FF 0E07 00000 00000 0000 00 1 LINK.EXE     goodheav
  620.          21 4B FF 0E07 00000 00000 0000 00 1 LIST.COM     heynot
  621.          21 4B FF 0E07 00000 00000 0000 00 1 MAPMEM.EXE   theyrehe
  622.          21 4B FF 0E07 00000 00000 0000 00 1 MASM.EXE     ridic
  623.          21 4B FF 0E07 00000 00000 0000 00 1 MV.EXE       yeah
  624.          21 4B FF 0E07 00000 00000 0000 00 1 NU.EXE       fearnot
  625.          21 4B FF 0E07 00000 00000 0000 00 1 PKUNZIP.EXE  waitmin
  626.          21 4B FF 0E07 00000 00000 0000 00 1 Q.EXE        mistaks
  627.          21 4B FF 0E07 00000 00000 0000 00 1 QU.EXE       hereicom
  628.          21 FF FF 0E53 00000 00000 0000 00 1 *            ahh
  629.         
  630.     Enabled: MONITOR BELLS:30 RETRY QUIET WINDOW/BG COMMAND ■ Disabled: MULTI
  631.     Date/Time: 10-19-1990 12:31:58.10 ■ Active Timers: 10
  632.  
  633.   /U
  634.         This switch will cause SPUTMON to remove itself from memory.
  635.         This can only be done successfully, if no other programs have
  636.         become memory resident since SPUTMON was loaded.
  637.  
  638.   /W
  639.         This switch toggles the state of the DESQview player window
  640.         feature and defaults to enabled.
  641.  
  642.         This section is only applicable when DESQview is running.
  643.  
  644.         If this feature is enabled when an event occurs, a separate
  645.         DESQview window will be started in which to run the player program.
  646.         This window will run in the background, and close when playback is
  647.         finished.  It will appear as a 2x2 character box in the upper left
  648.         hand corner of the screen.
  649.  
  650.         All of the attributes of the DV player window can be changed by
  651.         using the DESQview "Change A Program" utility to modify the DVP
  652.         template file SP-PIF.DVP that comes with SPUTTER.  This DVP file
  653.         must be located somewhere in the PATH, in order for SPUTMON to find
  654.         it when becomming memory resident.
  655.  
  656.         Disabling this feature will cause playback to occur in the same
  657.         window in which the event occurred.
  658.  
  659.   <eventfile>
  660.         This is the name of the event definition file.  If no filename is
  661.         specified, the default of SPUTMON.DEF will be used.  If no directory
  662.         is specified, the current directory is searched, and then the PATH.
  663.  
  664.  
  665.   -----------------
  666.   EVENT FILE FORMAT
  667.   -----------------
  668.  
  669.   The event definition file is a simple ascii file, that can be modified
  670.   with any text editor.  The maximum size of the file is limited to 64k
  671.   bytes, including comments.
  672.  
  673.   Each line in the event file defines a single event.  The first "word" of
  674.   each line, defines the event type and the remainder of the line describes
  675.   the particular event to trigger on.
  676.  
  677.  
  678.   -----------
  679.   EVENT TYPES
  680.   -----------
  681.  
  682.         B <soundfile>
  683.  
  684.                 This is the BEEP event, and will trigger playback of the    
  685.                 specified soundfile in place of the normal speaker beep.
  686.  
  687.                 Example: 'B CHICK.SND' plays a short clip of peeping chicks
  688.                          instead of the normal speaker beep.
  689.  
  690.         K <scan-code> <shift-value> <soundfile>
  691.  
  692.                 The KEYSTROKE event will trigger playback whenever the
  693.                 specified key combination is pressed.
  694.  
  695.                 Example: 'K 3B,04 CERTNLY' plays CERTNLY whenever CTRL-F1
  696.                          is struck.
  697.  
  698.         T <sdate> <stime> <idate> <itime> <repeat> <soundfile>
  699.  
  700.                 The TIMER event will trigger playback whenever the set time
  701.                 <sdate><stime> occurs.  Then the repeat <repeat> is
  702.                 decremented, and the increment <idate><itime> is added to
  703.                 the set time to create the next alarm setting.
  704.  
  705.                 Alarms and repeat counts are reset automatically.
  706.  
  707.         Examples:
  708.                 T 00-00-00 12:00 00-00-00 00:00 0 YEAH.TUN
  709.                   at noon every day
  710.                 T 06-25-90 17:00 00-00-00 00:05 5 WOW.TUN
  711.                   from 5:00pm to 5:25 every 5 minutes on 06-25-90
  712.                 T 07-11-90 00:00 00-00-00 00:01 0 wow.tun
  713.                   every min for 1 day
  714.                 T 07-11-90 12:00 00-01-00 00:00 2 wow.tun
  715.                   at noon for 2 days
  716.                 T 07-00-00 12:00 00-01-00 00:00 0 wow.tun
  717.                   at noon every day in July
  718.                 T 00-11-00 12:00 01-00-00 00:00 0 wow.tun
  719.                   at noon on the 11th of every month
  720.                 T 07-00-90 00:00 00-00-00 01:00 0 wow.tun
  721.                   every hour in July
  722.                 T 00-11-00 00:00 00-00-00 01:00 0 wow.tun
  723.                   every hour on every 11th day
  724.  
  725.         P  <progname> <soundfile>
  726.                 The PROGRAM execution event will trigger playback whenever
  727.                 the specified program is run.  The program name follows the
  728.                 same rules for filenames.
  729.  
  730.                 Example: 'P Q.EXE MISTAKS.V8' plays Stooge Moe saying "Now
  731.                          don't make any more mistakes!" when Qedit is run.
  732.                      or: 'P LIST.COM DOC.TUN' plays Bugs Bunny saying "Whats
  733.                          up Doc?" whenever LIST is used to view a file.
  734.  
  735.         FO <filename> <soundfile>
  736.                 The FILE-OPEN event will trigger playback whenever the
  737.                 specified file is opened in read-only mode.
  738.  
  739.                 Example: 'FO * CERTNLY.V8' plays Stooge Curly saying
  740.                          "Certainly!" when any file is opened for reading.
  741.  
  742.         FC <filename> <soundfile>
  743.                 The FILE-CREATE event will trigger playback whenever the
  744.                 specified file is opened for write access.  The DOS COPY
  745.                 command will not trigger this event because of insufficient
  746.                 memory.
  747.  
  748.                 Example: 'FC CONFIG.SYS HEYNOT.V8' plays Stooge Curly saying
  749.                          "Hey not that!" when any program attemps to open
  750.                           CONFIG.SYS for write access.
  751.  
  752.         FR <filename> <soundfile>
  753.                 The FILE-RENAME event will trigger playback whenever the
  754.                 specified file is renamed.  The DOS REName command will not
  755.                 trigger this event.
  756.  
  757.                 Example: 'FR AUTOEXEC.BAT MEANING.TUN" plays Bugs Bunny
  758.                          saying "Whats the meaning of this?" when any program
  759.                          attempts to rename AUTOEXEC.BAT.
  760.  
  761.         FD <filename> <soundfile>
  762.                 The FILE-DELETE event will trigger playback whenever the
  763.                 specified file is deleted.  The DOS DELete command will not
  764.                 trigger this event.
  765.  
  766.                 Example: 'FD * AHH.TUN' plays Yosemite Sam yelling "Ahhhhh"
  767.                          whenever any file is deleted by any program.
  768.  
  769.  
  770.         The following events are called the INT events.  They are more
  771.         complex to setup than the above events, but are much more powerful.
  772.         As a reference, I highly recommend "The Interrupt List" by
  773.         Ralf Brown.  It is available on most BBS's as INTER290.ZIP.
  774.  
  775.  
  776.         I  <int> <ah> <al> <soundfile>
  777.                 The vanilla INT event will trigger playback whenever the
  778.                 specified interrupt <int> occurs, with <ah> matching the AH
  779.                 register and <al> matching the AL register.
  780.  
  781.                 Example:  'I 21 4C FF THATS.TUN' plays Bugs Bunny saying
  782.                           "That's that" whenever a program terminates.
  783.  
  784.         IA <int> <ah> <al> <filename> <soundfile>
  785.                 The INT-ASCIZ event will trigger playback whenever the
  786.                 specified interrupt <int> occurs, with <ah> matching the AH
  787.                 register and <al> matching the AL register.  An additional
  788.                 check is done between <filename> and the filename pointed
  789.                 to by the DS:DX register.
  790.  
  791.                 Example:  'IA 21 43 01 MYFILE CERTNLY.V8' plays Stooge Curly
  792.                           saying "Certainly!" whenever the file attributes of
  793.                           the file named MYFILE are set.
  794.  
  795.         IF <int> <ah> <al> <filename> <soundfile>
  796.                 The INT-FCB event will trigger playback whenever the
  797.                 specified interrupt <int> occurs, with <ah> matching the AH
  798.                 register and <al> matching the AL register.  An additional
  799.                 check is done between <filename> and the filename in the
  800.                 File-Control-Block pointed to by the DS:DX register.
  801.  
  802.                 Example:  'IF 21 15 FF MYFILE HEYNOT.V8' plays Stooge Curly
  803.                           saying "Hey, not that!" whenever a sequential
  804.                           write is done to the file MYFILE.
  805.  
  806.         ID <int> <ah> <al> <drive> <soundfile>
  807.                 The INT-DISK event will trigger playback whenever the
  808.                 specified interrupt <int> occurs, with <ah> matching the
  809.                 AH register and <al> matching the AL register.  An additional
  810.                 check is done between <drive> and the DL register.
  811.  
  812.                 Example:  'ID 13 05 ff 01 WARNING.V8' plays the Robot from Lost
  813.                           in Space saying "Warning Warning" anytime a format
  814.                           disk track is executed on the A drive.
  815.  
  816.  
  817.   ----------------
  818.   EVENT PARAMETERS
  819.   ----------------
  820.  
  821.   The event type is followed by additional parameters that describe the event
  822.   on which to trigger playback.
  823.  
  824.   Parameters may be separated by commas or any number of spaces.  They may
  825.   appear in upper or lower case.
  826.  
  827.   The parameters used are different for each event type.  All are described
  828.   below:
  829.  
  830.   <filename>
  831.         A filename that may be up to 12 characters in length, and must
  832.         include a period and extension.  It may be a single * to indicate
  833.         a match of any filename.
  834.  
  835.   <soundfile>
  836.         The name of the soundfile to be played at the time the event occurs.
  837.         It may include a full path specification and any valid player
  838.         switches.  If the sound file will be played using SPUT, you may
  839.         also use *.* to invoke random soundfile selection.
  840.  
  841.   <scan-code>
  842.         The scan-code is the hexadecimal number of the key that will trigger
  843.         a sound file when pressed:
  844.  
  845.  -----------------------------------------------------------------------------
  846.  | esc   01  |   t T     14  |   ; :     27  |   F1      3B  |   Gray +  4E  |
  847.  | 1 !   02  |   y Y     15  |   ' "     28  |   F2      3C  |   1 End   4F  |
  848.  | 2 @   03  |   u U     16  |   ` ~     29  |   F3      3D  |   2 Down  50  |
  849.  | 3 #   04  |   i I     17  |   l-shf   2A  |   F4      3E  |   3 PgDn  51  |
  850.  | 4 $   05  |   o O     18  |   \ |     2B  |   F5      3F  |   0 Ins   52  |
  851.  | 5 %   06  |   p P     19  |   z Z     2C  |   F6      40  |   . Del   53  |
  852.  | 6 ^   07  |   [ {     1A  |   x X     2D  |   F7      41  |               |
  853.  | 7 &   08  |   ] }     1B  |   c C     2E  |   F8      42  |   Gray *  37  |
  854.  | 8 *   09  |   enter   1C  |   v V     2F  |   F9      43  |   F11     57  |
  855.  | 9 (   0A  |   l-ctl   1D  |   b B     30  |   F10     44  |   F12     58  |
  856.  | 0 )   0B  |   a A     1E  |   n N     31  |   Num     45  |   Break   E1  |
  857.  | - _   0C  |   s S     1F  |   m M     32  |   Scroll  46  |               |
  858.  | = +   0D  |   d D     20  |   , <     33  |   7 Home  47  |               |
  859.  | bksp  0E  |   f F     21  |   . >     34  |   8 Up    48  |               |
  860.  | tab   0F  |   g G     22  |   r-shf   36  |   9 PgUp  49  |               |
  861.  | q Q   10  |   h H     23  |   prtscr  37  |   Gray-   4A  |               |
  862.  | w W   11  |   j J     24  |   l-alt   38  |   4 Left  4B  |               |
  863.  | e E   12  |   k K     25  |   space   39  |   5       4C  |               |
  864.  | r R   13  |   l L     26  |   caps    3A  |   6 Right 4D  |               |
  865.  -----------------------------------------------------------------------------
  866.  
  867.   <shift-value>
  868.         The shift value is a number that represents a combination of shift
  869.         keys to be pressed at the same time as the action key.
  870.  
  871.                 01  Right shift key
  872.                 02  Left shift key
  873.                 04  Ctrl key
  874.                 08  Alt key
  875.                 10  Right or left shift keys
  876.  
  877.         To use multiple shift keys, add the values (eg: 06 = Ctrl and Alt keys)
  878.  
  879.   <int>
  880.         This is the interrupt number in hexadecimal to monitor.      
  881.         Only interrupts 13 and 21 are supported at this time.
  882.  
  883.   <ah>
  884.         This is the hexadecimal contents of the AH register to be
  885.         checked at the time of the interrupt.  Use FF to indicate
  886.         a match on all values.
  887.  
  888.   <al>
  889.         This is the hexadecimal contents of the AL register to be
  890.         checked at the time of the interrupt.  Use FF to indicate
  891.         a match on all values.
  892.  
  893.   <drive>
  894.         This is the hexadecimal driver number, with 0 being the
  895.         A drive, and 1 the B drive.  Use FF to indicate a match on
  896.         any drive. 
  897.  
  898.   <sdate>
  899.         This is the first date that the alarm should trigger in the
  900.         format MM-DD-YY.  00 in any field, matches every value.
  901.         06-00-90 means every day in June 1990.
  902.  
  903.   <stime>
  904.         This is the first time that the alarm should trigger in the
  905.         format HH:MM. 00:00 means midnight.                                   
  906.  
  907.   <idate>
  908.         This is the increment to add to <sdate> to determine the
  909.         next date that the alarm should trigger.  The format is
  910.         MM-DD-YY.  01-00-00 means add 1 to the month for the next
  911.         alarm date.  00-00-01 means add 1 to the year.
  912.  
  913.   <itime>
  914.         This is the increment to add to <stime> to determine the
  915.         next time that the alarm should trigger.  The format is
  916.         HH:MM.  00:05 means 5 minutes later.  01:00 means 1 hour
  917.         later.
  918.  
  919.   <repeat>
  920.         This is the number of times to add the increment to the
  921.         set time and reset the alarm.  A value of 0 means non-stop.
  922.  
  923.  
  924.   -------------------------------------------------------------
  925.   USING SPUTROL.COM FOR FM MUSIC ON SOUND BLASTER & ADLIB CARDS
  926.   -------------------------------------------------------------
  927.  
  928.   To use SPUTROL to play a ROL file when an event occurs, just insert '#R'
  929.   before the <soundfile> argument.
  930.         
  931.         Example:  'P MYPROG.EXE #R LINUS.ROL'
  932.              or:  'T 00-00-00 12:00 00-00-00 00:00 1 #R LINUS.ROL'
  933.  
  934.         SPUTROL.COM will be used to play LINUS.ROL whenever MYPROG.EXE is
  935.         executed, and every day at 12:00 noon.
  936.  
  937.   This does not require that the sound driver SOUND.COM already be loaded,
  938.   SPUTROL can automatically load SOUND.COM and unload it when playback is
  939.   completed thereby saving valuable memory.  If you plan to use this feature,
  940.   it is recommended that you keep SOUND.COM on a RAMdisk for quicker access.
  941.  
  942.         SOUND.COM v1.51 is Copyright by Ad Lib Inc.
  943.  
  944.  
  945.   ------------------------------------------------
  946.   TRIGGERING OTHER PLAYERS, PROGRAMS & BATCH FILES
  947.   ------------------------------------------------
  948.  
  949.   The Event Monitor also has the ability to start other sound file players,
  950.   programs and batch files when an event occurs.
  951.  
  952.   To use this feature, just preceed the <soundfile> argument with '#C'.
  953.  
  954.         Example:  'FD DEMO.TMP #C TEST.BAT'
  955.                   runs TEST.BAT when the file DEMO.TMP is deleted.
  956.  
  957.  
  958.   -----------------------------------------
  959.   USING SMOOTH TALKER SOFTWARE WITH SPUTMON
  960.   -----------------------------------------
  961.  
  962.   To use Smooth Talker text to speech software, you must add the following
  963.   line to your CONFIG.SYS file and reboot your system:
  964.  
  965.          'DEVICE=STDRIVER.SYS SV3 CRE TTD'
  966.  
  967.   Then load SPEECHV3 into memory.  (If using SPEECHV2, you must enter SV2
  968.   instead of SV3 on the above line added to CONFIG.SYS).
  969.   
  970.   Now you can use the #C file type to convert text files to synthesized speech
  971.   using your Smooth Talker Software.
  972.  
  973.   Example: 'FD DEMO.TMP #C COPY MESSAGE.TXT ST'
  974.                  
  975.            Smooth Talker will convert the text file MESSAGE.TXT to synthesized
  976.            speech whenever the file DEMO.TMP is deleted.
  977.  
  978.   If your STDRIVER is also used by other software supporting Smooth Talker
  979.   and gets set into a different mode so that the COPY command no longer works,
  980.   you can use the SPUTST utility to reset it without having to reboot your
  981.   system.  Just type the following command at the DOS prompt:
  982.  
  983.         'SPUTST SV3 CRE TTD'
  984.  
  985.   SmoothTalker is Copyright by First Byte Software.
  986.  
  987.  
  988.   ---------------------------
  989.   USING SPUTMON WITH DESQVIEW
  990.   ---------------------------
  991.  
  992.   SPUTMON can be run in any DESQview window, and will only see events that
  993.   occur in the same window.  Separate event definition files can be created
  994.   for each application that runs in a DESQview window, or all windows can
  995.   use the same event definition file.
  996.  
  997.   All timer events can be monitored from a single DESQview window.
  998.  
  999.   If the DESQview player window feature is enabled (/W), a separate window
  1000.   will be started in which to run the player.  This window will run in the
  1001.   background, and close when the player exits.
  1002.  
  1003.   If the player program runs too slowly in a background window, you can use
  1004.   /W to disable the window-player feature.  This will cause playback to occur
  1005.   in the same window that the event occured, and should then be at the correct
  1006.   playback speed.
  1007.  
  1008.   Currently, SPUTMON does not run properly when loaded before DESQview.
  1009.  
  1010.  
  1011.   ---------------------
  1012.   SPUTMON Error messages
  1013.   ---------------------
  1014.  
  1015.   Not Installed
  1016.   Cannot Uninstall
  1017.   Uninstalled
  1018.   Already Installed
  1019.   Event table initialized
  1020.   Event Monitoring enabled
  1021.   Event Monitoring disabled
  1022.   Bells on error & retry enabled
  1023.   Bells on error & retry disabled
  1024.   Bells frequency changed to every N seconds
  1025.   Retry playback enabled
  1026.   Retry playback disabled
  1027.   Quiet screen enabled
  1028.   Quiet screen disabled
  1029.   Multiple triggers enabled
  1030.   Multiple triggers disabled
  1031.   DESQview player window enabled
  1032.   DESQview player window disabled
  1033.   Command line playback enabled
  1034.   Command line playback disabled
  1035.   Background window enabled
  1036.   Foreground window enabled
  1037.   Invalid Filespec
  1038.   Failed to find SPUT.COM in current path
  1039.   Failed to find Event file
  1040.   Event file read error
  1041.   No events found
  1042.   Syntax error - on line n of Event Definition File
  1043.   Invalid hexadecimal number - on line n of Event Definition File
  1044.   Invalid decimal number - on line n of Event Definition File
  1045.   Invalid event definition type - on line n of Event Definition File
  1046.   Invalid program or filename - on line n of Event Definition File
  1047.   Invalid soundfile argument - on line n of Event Definition File
  1048.   Invalid date/time format - on line n of Event Definition File
  1049.   Invalid date/time increment - on line n of Event Definition File
  1050.   DVP file not found - DESQview player window disabled
  1051.   DVP file read error
  1052.  
  1053.   -----------------------------------------------
  1054.   TROUBLE SHOOTING PROBLEMS WITH EVENT TRIGGERING
  1055.   -----------------------------------------------
  1056.  
  1057.   ** No playback occurs at the defined event
  1058.  
  1059.   If playback does not occur when you expect it should, try the following
  1060.   steps to isolate the problem:
  1061.  
  1062.         1)  Enable the beep-on-error option with the command 'SPUTMON/B'.
  1063.             (You can check the state of the switch with SPUTMON/S)
  1064.         2)  Reinitialize the event table counters with the command 'SPUTMON/I'
  1065.         2)  Perform the same sequence of commands that should cause
  1066.             playback to occur.
  1067.         3)  Display a status with the command 'SPUTMON/S' and make a note
  1068.             of the CODE field.  This is the error code.
  1069.         4)  Continue reading to find the problem.
  1070.  
  1071.  
  1072.   ** Hear a buzzer instead of playback and Error Code = xx02
  1073.  
  1074.   An error code of xx02 indicates that SPUTMON could not run the player  
  1075.   utility.  When SPUTMON is initially loaded, it searches the current
  1076.   PATH found in the environment, to find all of the player utilities.
  1077.   If these files are later moved or deleted, SPUTMON will no longer be able
  1078.   to call upon them to play soundfiles.
  1079.  
  1080.   To resolve this problem, replace the player program that was moved
  1081.   or deleted, or unload and reload SPUTMON.
  1082.  
  1083.   The supported player programs are SPUT.COM, SPUTROL.COM, COMMAND.COM 
  1084.   and 4DOS.COM.
  1085.  
  1086.  
  1087.   ** Hear a buzzer instead of playback and Error Code = xx08
  1088.  
  1089.   An error code of xx08 indicates insufficient memory.  This means that
  1090.   the currently running program already has all of available memory
  1091.   allocated to it, and there is not enough remaining memory to run the
  1092.   player utility.
  1093.  
  1094.   This error will only occur if you have disabled the DESQview-player-
  1095.   window feature (/W) and the command-line-playback feature (/C) and
  1096.   the retry feature (/R).  Reenabling any of these features will solve
  1097.   this problem.
  1098.  
  1099.   If you choose not to enable these features, an alternative solution 
  1100.   is to use the PROGRAM execution event to trigger playback when the
  1101.   offending program is run, instead of triggering on what the program
  1102.   is doing.  Other than this, nothing else can be done to solve this
  1103.   problem, unless you have access to the source code of the offending
  1104.   program.
  1105.  
  1106.  
  1107.   ** Buzzer instead of playback and Error Code = 10xx
  1108.  
  1109.   An error code of 10xx indicates that SPUTMON ran the player utility, but
  1110.   the player encountered an error.  Refer to the section on the SPUT utility
  1111.   for a list of SPUT error numbers and messages.
  1112.  
  1113.   Normally, SPUTMON runs the player utility with the proper switches so
  1114.   there will be no screen output while other programs are running.
  1115.   Disabling this feature with the /Q switch, will allow the player to
  1116.   display all it's normal screen output, including error messages.
  1117.  
  1118.  
  1119.   ** No playback when event is caused by any of the SPUTTER utilities
  1120.  
  1121.   This has been done intentionally, otherwise invoking any of the SPUTTER
  1122.   utilities causes multiple soundfiles to be played.  Enough is enough I say.
  1123.   All SPUTTER utilities issue a special command to SPUTMON to temporarily
  1124.   disable triggering of events caused by the SPUTTER utilities.
  1125.   Triggering and playback of type T timer events will continue uninterrupted.
  1126.  
  1127.  
  1128.   ** Here is a list of other possible error codes that can be returned from
  1129.      DOS when attempting to execute the Player Utility SPUT:
  1130.  
  1131.         01h function number invalid
  1132.         02h file not found
  1133.         03h path not found
  1134.         04h too many open files (no handles available)
  1135.         05h access denied
  1136.         06h invalid handle
  1137.         07h memory control block destroyed
  1138.         08h insufficient memory
  1139.         09h memory block address invalid
  1140.         0Ah environment invalid (usually >32K in length)
  1141.         0Bh format invalid
  1142.         0Ch access code invalid
  1143.         0Dh data invalid
  1144.         0Fh invalid drive
  1145.         10h attempted to remove current directory
  1146.         11h not same device
  1147.         12h no more files
  1148.         13h disk write-protected
  1149.         14h unknown unit
  1150.         15h drive not ready
  1151.         16h unknown command
  1152.         17h data error (CRC)
  1153.         18h bad request structure length
  1154.         19h seek error
  1155.         1Ah unknwon media type (non-DOS disk)
  1156.         1Bh sector not found
  1157.         1Ch printer out of paper
  1158.         1Dh write fault
  1159.         1Eh read fault
  1160.         1Fh general failure
  1161.         20h sharing violation
  1162.         21h lock violation
  1163.         22h disk change invalid
  1164.         23h FCB unavailable
  1165.         24h sharing buffer overflow
  1166.         25h reserved
  1167.         26h (LANtastic) cannot complete file operation
  1168.         27h-31h reserved
  1169.         32h Network request not supported (DOS 3.1 + MS Networks)
  1170.         33h Remote computer not listening
  1171.         34h Duplicate name on network
  1172.         35h Network name not found
  1173.         36h Network busy
  1174.         37h Network device no longer exists
  1175.         38h Network BIOS command limit exceeded
  1176.         39h Network adapter hardware error
  1177.         3Ah Incorrect response from network
  1178.         3Bh Unexpected network error
  1179.         3Ch Incompatible remote adapter
  1180.         3Dh Print queue full
  1181.         3Eh Queue not full
  1182.         3Fh Not enough space to print file
  1183.         40h Network name was deleted
  1184.         41h Network: Access denied
  1185.         42h Network device type incorrect
  1186.         43h Network name not found
  1187.         44h Network name limit exceeded
  1188.         45h Network BIOS session limit exceeded
  1189.         46h Temporarily paused
  1190.         47h Network request not accepted
  1191.         48h (DOS 3.1 + MS Networks) Print/disk redirection paused
  1192.         49h (LANtastic) invalid network version
  1193.         4Ah (LANtastic) account expired
  1194.         4Bh (LANtastic) password expired
  1195.         4Ch (LANtastic) login attempt invalid at this time
  1196.         4Dh-4Fh reserved
  1197.         50h file exists
  1198.         51h reserved
  1199.         52h cannot make directory
  1200.         53h fail on INT 24h
  1201.         54h (DOS 3.3+) too many redirections
  1202.         55h (DOS 3.3+) duplicate redirection
  1203.         56h (DOS 3.3+) invalid password
  1204.         57h (DOS 3.3+) invalid parameter
  1205.         58h (DOS 3.3+) network write fault
  1206.         59h (LANtastic) function not supported on network
  1207.         5Ah (LANtastic) required system component not installed
  1208.  
  1209.  
  1210.   **************************************************************************
  1211.                  SECTION 3.3 - SPUT Soundfile Player UTility
  1212.   **************************************************************************
  1213.  
  1214.   This section describes the program named SPUT, which stands for (S)oundfile
  1215.   (P)layer (UT)ility.  SPUT is the foundation of the entire SPUTTER Sound
  1216.   System.
  1217.  
  1218.   Typing 'SPUT' with no arguments at the DOS prompt, will print the version
  1219.   number and a short help screen.
  1220.  
  1221.   If you are an unregistered user, you will also see the following message
  1222.   whenever playback is completed
  1223.  
  1224.               ┌───────────────────────────────────────────────────┐
  1225.               │                                                   │
  1226.               │   Thank you for trying The Sputter Sound System   │
  1227.               │        If you use Sputter, please register        │
  1228.               │                                                   │
  1229.               │   Registration will remove this message & delay   │
  1230.               │          and give you additional features         │
  1231.               │                                                   │
  1232.               └───────────────────────────────────────────────────┘
  1233.  
  1234.  
  1235.   ---------------------
  1236.   SPUT FILE INFORMATION
  1237.   ---------------------
  1238.  
  1239.   SPUT displays the following information on the screen each time it
  1240.   is run.
  1241.  
  1242.         SPUT v1.11 Player Utility - Copyright 1990, VersaWare / Adrienne Cousins
  1243.         File:E:\SND\TRYAGN.V8   Size:9439/9423  Form:0008/0  Port:022F  Driv:1
  1244.         Rate:180  Over:1  Freq:15495hz  Ampl:0+  Time:0.6s
  1245.         Samples Output:9423  Silence groups:0  Timer Adjust:11
  1246.  
  1247.   or for Macintosh files, the Title from the header is included:
  1248.  
  1249.         SPUT v1.11 Player Utility - Copyright 1990, VersaWare / Adrienne Cousins
  1250.         File:.\HOWYA.SND   Size:11648/11008  Form:0038/0  Port:022F  Driv:1
  1251.         Rate:152  Over:1  Freq:11363hz  Ampl:0+  Time:1.0s  Title:HowYouDoin'?
  1252.         Samples Output:11008  Silence groups:0  Timer Adjust:17
  1253.  
  1254.   or silence encoding statistics are shown when applicable:
  1255.  
  1256.         SPUT v1.11 Player Utility - Copyright 1990, VersaWare / Adrienne Cousins
  1257.         File:F:\SND\EXECUTE.V4S   Size:2682/2666  Form:0084/0  Port:022F  Driv:1
  1258.         Rate:152  Over:1  Freq:11363hz  Time:0.2s
  1259.         Samples Output:12675  Silence groups:10  Timer Adjust:20
  1260.  
  1261.  
  1262.   File:
  1263.         This is the name of the file entered on the command line to SPUT.
  1264.  
  1265.   Size:
  1266.         The first number is the size of the file in bytes, the second
  1267.         is the actual byte size of the data to be played.
  1268.  
  1269.   Form:
  1270.         The first number is the file format (see /F for definitions)
  1271.         The second number indicates Macintosh file compression:
  1272.  
  1273.                 0 - non-compression
  1274.                 1 - run length encoding (RLE)
  1275.                 2 - Dynamic Lempel-Ziv,Weiss compression
  1276.                 3 - Huffman compression
  1277.  
  1278.   Port:
  1279.         This is the hex address of the port being used for output.
  1280.  
  1281.   Driv:
  1282.         This is the driver number used to drive the output device.
  1283.  
  1284.   Rate:
  1285.         This is the playback rate, specified on the command line, or taken
  1286.         from the header record, or recalculated for oversampling.
  1287.  
  1288.   Over:
  1289.         This is the oversampling factor currently being used.
  1290.  
  1291.   Freq:
  1292.         This is the frequency (samples per second) that the file is being
  1293.         played at.
  1294.  
  1295.   Time:        
  1296.         This is the approximate time it will take to playback the file
  1297.         at the current settings.
  1298.  
  1299.   Title:
  1300.         This only appears when playing Macintosh sound files and comes
  1301.         from the internal header record of the sound file.
  1302.  
  1303.   Samples Output:
  1304.         This is a count of the bytes actually sent to the output device and
  1305.         includes all bytes reconstructed as a result of silence encoding,
  1306.         and compression.  In third example above, the file uses only 6508
  1307.         bytes of disk space to store a file that originally contained
  1308.         12126 bytes of sound.
  1309.  
  1310.   Silence groups:
  1311.         This is how many periods of silence were found in the file, and
  1312.         expanded back to their original length.
  1313.  
  1314.  
  1315.   --------------------------
  1316.   SPUT ENVIRONMENT VARIABLES
  1317.   --------------------------
  1318.  
  1319.   SPUTARG
  1320.         This allows you to setup any permanent switches that you would
  1321.         like SPUT to use every time it's run, without having to enter
  1322.         them on the command line.  Any switches specified on the command
  1323.         line, will override the switches in the SPUTARG variable.
  1324.  
  1325.         You can set this value at the DOS prompt, or by including a line
  1326.         in your AUTOEXEC.BAT file with the following command:
  1327.  
  1328.                 set sputarg=/p220s/ir7
  1329.  
  1330.         This tells SPUT to send all output to a Sound Blaster card
  1331.         at port 220 (hex), using interrupt number 7.
  1332.  
  1333.  
  1334.   SPUTDIR
  1335.         This defines the default directory to find sound files.  If a
  1336.         filename is given on the command line with no drive or directory,
  1337.         SPUT will look for the file in the directory defined by the
  1338.         SPUTDIR variable.
  1339.  
  1340.         You can set this value at the DOS prompt, or from your AUTOEXEC.BAT
  1341.         file with the following command:
  1342.  
  1343.                 set sputdir=c:\sound
  1344.  
  1345.         This would tell SPUT to look in the SOUND directory on the
  1346.         C: drive for all sound files.
  1347.  
  1348.         To force SPUT to play a file in the current directory without
  1349.         having to enter the complete path, use the following command:
  1350.  
  1351.                 sput .\filename
  1352.  
  1353.  
  1354.   ------------------------
  1355.   SPUT SYNTAX AND SWITCHES
  1356.   ------------------------
  1357.  
  1358.   Syntax:  SPUT <soundfile> [/switches]
  1359.  
  1360.   ESCAPE key
  1361.         Pressing the ESCAPE key during file playback, will cause SPUT to
  1362.         immediately stop playback and exit.  This will not disturb any
  1363.         type ahead already in the keyboard buffer.
  1364.  
  1365.   ?
  1366.         Entering a question mark on the command line, will tell SPUT to
  1367.         display a short help screen.
  1368.  
  1369.   <soundfile>
  1370.         This is the name of the sound file to be played.  If no directory
  1371.         is specified, the directory specified by the environment variable
  1372.         SPUTDIR will be used.  If the SPUTDIR variable does not exist, the
  1373.         current directory is assumed.
  1374.  
  1375.         Specifying a directory as part of the filename, will override
  1376.         any directory specified by the SPUTDIR environment variable.  Use
  1377.         ".\filename" to indicate the current directory and ignore the
  1378.         SPUTDIR environment variable.
  1379.  
  1380.         Wildcards within the filename, tell SPUT to randomly select and
  1381.         play a file that matches the wildcard mask.  This provides a
  1382.         way to have SPUT vary the sound files that are played without
  1383.         always having to change your batch files.
  1384.  
  1385.         Sound files can be categorized in two different ways, the first
  1386.         is by directory, where sound files are categorized and stored in
  1387.         separate directories, with a different directory for each category.
  1388.         To randomly play any file of a particularily category, just specify
  1389.         the directory.  The command "SPUT \SND\CARTOONS\*.*" would randomly
  1390.         select and play a file from the CARTOONS sub-directory and the
  1391.         command "SPUT \SND\ERRORS\*.*" would randomly select and play a
  1392.         file from the ERRORS sub-directory.
  1393.  
  1394.         The other method of categorization is by file extension.  This
  1395.         method keeps all sound files in the same directory, with files of
  1396.         the same category having the same file extension.  Then the command
  1397.         "SPUT \SND\*.MUS" would randomly select one of the files with the
  1398.         .MUS extension from the SND directory.  The command "SPUT *.*"
  1399.         would then select and play a file from any category.
  1400.  
  1401.         Note that the filename and extension hold no special meaning
  1402.         for SPUT.  Any information needed for playback is retrieved
  1403.         from within the file.  Any reference to extensions within the
  1404.         SPUTTER documentation, is simply to aid you in determining the
  1405.         file format.  SPUT can always determine the file format from
  1406.         the contents of the file regardless of the filename & extension.
  1407.  
  1408.   /An
  1409.         This switch will enhance the amplitude, or volume, of a soundfile.
  1410.         Using this switch, causes more processing to be performed on each
  1411.         sample of the soundfile, and may actually slow down the playback
  1412.         speed on slower processors.  The higher the N value, the more
  1413.         processing being done on each sample.
  1414.  
  1415.         If using this switch, slows the playback speed on your system, 
  1416.         you can use the /A switch in conjunction with the /W switch to
  1417.         write the file to disk.  The new file will play properly with
  1418.         no switches, and the amplitude will be elevated.
  1419.  
  1420.         Another alternative is to resample the file to a lower playback
  1421.         rate using the /U and /W switches.  Then you can replay the new
  1422.         file using the /A switch without bogging down your system.
  1423.  
  1424.   /Cn
  1425.         This will cause the selected file to be played N times, in a
  1426.         continous loop.  A value of 0 will play indefinetly, until a
  1427.         key is struck.  This is most useful for listening to the quality
  1428.         of a very short sound clip, or can be used as an alarm
  1429.         triggered SPUTMON the Event Monitor.
  1430.  
  1431.   /Dn
  1432.         This switch is used to select the method of output to be used
  1433.         on the currently selected output device.
  1434.  
  1435.         The Internal Speaker has 4 drivers, the default is #1.
  1436.  
  1437.           1 - This method uses a software timing loop to drive the
  1438.               8253 Programmable Interval Timer chip.  The routine
  1439.               calibrates itself by polling the Timer chip while
  1440.               outputting the first 64 bytes of the file.
  1441.               This driver gives the best results, since no additional
  1442.               background noise is caused by interrupts or sampling.
  1443.               It will not cause crashes on slower systems, but it's
  1444.               speed is slightly less accurate than the other methods.
  1445.  
  1446.           2 - This method polls the Timer chip while outputting the
  1447.               sound file.  It's speed is accurate, and like method 1
  1448.               will not cause crashes on slower systems, but it generates
  1449.               slightly more noise than method 3 (interrupts).
  1450.  
  1451.           3 - This method uses Timer interrupts to output the sound file.
  1452.               It's speed is accurate, it generates slightly more noise
  1453.               than method 1 (software timing), but it may crash slower
  1454.               systems when using too fast a speed or oversampling factor.
  1455.               When this method is used in DESQview, the keyboard is
  1456.               automatically disabled to prevent crashing the system.
  1457.  
  1458.           4 - This method uses the 8255 Peripheral Interface Controller
  1459.               to generate sound.  It's speed is accurate, but the sound
  1460.               quality is appreciably lower than the other methods, since
  1461.               only a single bit of each 8-bit sample is actually output.
  1462.  
  1463.         The Sound Blaster has 2 drivers, the default is #1.
  1464.  
  1465.               SPUT will automatically select the correct Sound Blaster
  1466.               driver depending on the environment it is running in, and
  1467.               the file format that is being played.
  1468.  
  1469.           1 - This driver uses the direct mode of output to the Sound
  1470.               Blaster DAC port.  This is completely CPU driven and can
  1471.               be interrupted by background processing in a multitasking
  1472.               environment.
  1473.  
  1474.               This driver has the capability of sending ANY file format
  1475.               from any other source to the Sound Blaster card, but does
  1476.               NOT support formats 42,44,45.
  1477.  
  1478.           2 - This driver uses the DMA mode of the Sound Blaster DAC port.
  1479.               It cannot be used in a multitasking environment, since there
  1480.               would be a conflict between the DMA and memory paging.
  1481.               This is also true of the VOUT.EXE utility that comes with the
  1482.               Sound Blaster card.  (This will be resolved in a future
  1483.               release of SPUT.)
  1484.  
  1485.               This driver can handle formats 42,44,45,48 and any other 8-bit
  1486.               file format (08,28,38), and provides the /SHELL function,
  1487.               but does NOT support any of the other compressed file formats
  1488.               (01-04,11,21,31,81-84).
  1489.  
  1490.   /DE
  1491.         Normally SPUT assumes that other processes already running, are
  1492.         more important than sound playback, so if other tasks are running
  1493.         when SPUT attempts to play a file, playback may be slightly slower
  1494.         than expected.  This is done mainly to not disrupt any communications
  1495.         tasks that might be running when SPUT is started.
  1496.  
  1497.         You may use /DE to force SPUT to run in dedicated mode and pause all
  1498.         other tasks in order to play the soundfile correctly.
  1499.  
  1500.   /DI
  1501.         This switch is used to specify an alternate dictionary file.  The
  1502.         default dictionary filename is SPUT.DIC.  The file is assumed to be
  1503.         located in the current directory or in the PATH.
  1504.         This file is used during text-to-speech translation and contains
  1505.         any pronounciation corrections or user definitions.
  1506.         See the next section for a description of this file.
  1507.  
  1508.   /Fnn
  1509.         The /F switch is used to force SPUT to use a specific file
  1510.         format.  This may be necessary when the file is missing a
  1511.         proper header record, which SPUT needs to determine the
  1512.         file format automatically.
  1513.  
  1514.         If you play a file with no switches, and it does not playback
  1515.         correctly, try using all possible /F switches until the file
  1516.         plays correctly.  If SPUT still fails to playback the file
  1517.         with any of the /F switches, you may have a file format that
  1518.         SPUT doesn't know about.
  1519.  
  1520.         SPUT has the capability of playing ANY digitized sound file
  1521.         on ANY device that it supports, not just the device on which the
  1522.         file was created.  The only exception to this are formats
  1523.         42,44,45 which can only be played on a Sound Blaster card.
  1524.  
  1525.         If you find a file format that SPUT doesn't understand, please
  1526.         send me a copy of the file and any others similar to it, so that
  1527.         I can try to decipher the format and add it to a future release
  1528.         of SPUTTER.
  1529.  
  1530.         File formats:
  1531.  
  1532.         01 - Covox 1-bit ADPCM with 16-byte header (.V1)
  1533.  
  1534.              Adaptive Differential Pulse Code Modulation is a technique
  1535.              of encoding the original waveform into a smaller file.
  1536.              This format uses a series of 16 byte groups with the first
  1537.              byte being an amplitude byte and the remaining 15 bytes
  1538.              are data.  Each data byte contains 8 1-bit samples.  Each
  1539.              of these 16-byte groups decodes into 120 8-bit samples.
  1540.              This format yields a 1:8 or 1/8 compression ratio.
  1541.  
  1542.         02 - Covox 2-bit ADPCM with 16-byte header (.V2)
  1543.  
  1544.              This format uses a series of 2 byte groups where 1 bit of
  1545.              each of the two bytes is combined to form a 2-bit sample.
  1546.              Each two byte group contains 8 of these 2-bit samples.
  1547.              The 2-bit samples are then decoded into 8-bit samples before
  1548.              playback.  This format yields a 2:8 or 1/4 compression ratio.
  1549.  
  1550.         03 - Covox 3-bit ADPCM with 16-byte header (.V3)
  1551.  
  1552.              This format uses a series of 3 byte groups where 1 bit of
  1553.              each of the three bytes is combined to form a 3-bit sample.
  1554.              Each three byte group contains 8 of these 3-bit samples.
  1555.              The 3-bit samples are then decoded into 8-bit samples before
  1556.              playback.  This format yields a 3:8 or 3/8 compression ratio.
  1557.  
  1558.         04 - Covox 4-bit ADPCM with 16-byte header (.V4)
  1559.  
  1560.              This format uses a series of 4 byte groups where 1 bit of
  1561.              each of the four bytes is combined to form a 4-bit sample.
  1562.              Each four byte group contains 8 of these 4-bit samples.
  1563.              The 4-bit samples are then decoded into 8-bit samples before
  1564.              playback.  This format yields a 4:8 or 1/2 compression ratio.
  1565.  
  1566.         08 - Covox 8-bit PCM with 16-byte header (.V8)
  1567.              or Covox 8-bit PCM with 128-byte header (.VMF)
  1568.              or Covox 8-bit PCM with no header (.VMD)
  1569.              or any other 8-bit PCM file
  1570.  
  1571.              Uniform Pulse Code Modulation stores a waveform as a
  1572.              sequence of 8-bit samples representing different amplitudes.
  1573.              The lowest sample is 0, the midpoint is 128 and the maximum
  1574.              sample is 255.
  1575.  
  1576.              Programs that use this format:
  1577.              .  Deskmate Software by Tandy for 1000SL/TL/2s computers.
  1578.              .  Tandy Sound Digitizer by KSH Software.
  1579.  
  1580.         09 - 12-bit signed PCM
  1581.  
  1582.              This format uses 12-bit signed integers, each stored in a 16-bit
  1583.              word.  The lowest sample is -4095, the midpoint is 0 and the
  1584.              maximum sample is 4095.
  1585.  
  1586.         0A - Turtle Beach Softworks 16-bit signed PCM (.SMP)
  1587.  
  1588.              This format uses 16-bit signed integers to represent the data.
  1589.  
  1590.              This format is similar to 8-bit PCM, but stores the actual
  1591.              amplitude level with polarity intact.  Negative amplitudes
  1592.              are represented by -128 to -1, level 0 is represented by 0
  1593.              and positive amplitudes are represented by +1 to +128.
  1594.  
  1595.         10 - Text files
  1596.  
  1597.              Any text file to be translated into speech.
  1598.  
  1599.         11 - IBM 1-bit CVSD format files
  1600.  
  1601.              Continously Variable Slope Delta Modulation records the
  1602.              direction of the waveform bit by bit.  If the wave goes up
  1603.              from the previous sample, a "1" bit is recorded otherwise
  1604.              a "0" bit is recorded.  Absolute silence is recorded as
  1605.              "01010101...".  The bit stream is stored from right to
  1606.              left in each data byte.
  1607.              This format yields a 1:8 or 1/8 compression ratio.
  1608.  
  1609.              Programs that use this format:
  1610.              .  IBM's education software such as "Writing to Read"
  1611.                 with a 128-byte header.
  1612.              .  Compton's Multimedia Encyclopedia program on CD ROM.
  1613.  
  1614.         21 - Digicorder 1-bit CVSD format files
  1615.  
  1616.              This format is similar to format 11, except that the bit
  1617.              stream is stored from left to right within each data byte.
  1618.              This format yields a 1:8 or 1/8 compression ratio.
  1619.  
  1620.              Programs that use this format:
  1621.              .  Digicorder & Mimic by Eletech Electronics with a numeric
  1622.                 extension indicating the recording rate in bits-per-second,
  1623.                 and no header record.
  1624.  
  1625.         28 - Amiga 8-bit PCM with 8SVX variable length header (.SND)
  1626.              or Amiga 8-bit PCM with Sonix 64-byte header (.SND)
  1627.              or Atari 8-bit PCM files (.SND)
  1628.  
  1629.              This format is similar to 8-bit PCM, but stores the actual
  1630.              amplitude level with polarity intact.  Negative amplitudes
  1631.              are represented by -128 to -1, level 0 is represented by 0
  1632.              and positive amplitudes are represented by +1 to +128.
  1633.  
  1634.              Programs that use this format:
  1635.              .  Perfect Sound by Sunrize Industries for the Amiga
  1636.                 with a 128-byte 8SVX style header record.
  1637.              .  Audio Master for the Amiga, with a 128-byte 8SVX header.
  1638.              .  Sonix for the Amiga, with a 64-byte header record.
  1639.  
  1640.         31 - Voice Toolkit 1-bit format files
  1641.  
  1642.              This format simply takes bit-4 of each original 8-bit sample
  1643.              and stores the bit stream from left to right within each
  1644.              data byte.
  1645.              This format yields a 1:8 or 1/8 compression ratio.
  1646.  
  1647.              Programs that use this format:
  1648.              .  Digitized Voice Toolkit for the PC, by Farpoint
  1649.                 Software; Alan D. Jones, with a .VOI extension.
  1650.                 NOTE: This shareware package includes the schematics
  1651.                 for a build-it-yourself digitizer that is attached to
  1652.                 any COM port for recording.
  1653.  
  1654.         38 - Macintosh 8-bit PCM with MacBinary FSSD 128-byte header (.SND)
  1655.  
  1656.              This file format is the same as format 08, with a different
  1657.              type of header record.  No compression is currently supported.
  1658.  
  1659.         42 - Creative Labs 2-bit ADPCM with 16-byte header (.VOC)
  1660.  
  1661.              This is a compressed file format, that is automatically
  1662.              decompressed by the hardware, and can only be played
  1663.              on a Sound Blaster card.
  1664.  
  1665.         44 - Creative Labs 4-bit ADPCM with 16-byte header (.VOC)
  1666.  
  1667.              This is a compressed file format, that is automatically
  1668.              decompressed by the hardware, and can only be played
  1669.              on a Sound Blaster card.
  1670.  
  1671.         45 - Creative Labs 2.5-bit ADPCM with 16-byte header (.VOC)
  1672.  
  1673.              This is a compressed file format, that is automatically
  1674.              decompressed by the hardware, and can only be played
  1675.              on a Sound Blaster card.
  1676.  
  1677.         48 - Creative Labs 8-bit PCM with 16-byte header (.VOC)
  1678.  
  1679.              This format is the same as format 08, with a different type
  1680.              of header record, and can be played on any device.
  1681.  
  1682.              This format is used by the Sound Blaster and Game Blaster
  1683.              cards from Creative Labs.
  1684.  
  1685.         81 - Covox 1-bit ADPCM with silence encoding (.V1S)
  1686.  
  1687.              This format is the same as format 01, but includes the use
  1688.              of silence encoding.
  1689.  
  1690.              Silence encoding is a form of compression that uses 3 bytes
  1691.              to represent up to 32640 multiple continous bytes of silence.
  1692.              This technique can save a considerable amount of disk space
  1693.              without affecting the sound quality.  Many periods of silence
  1694.              occur between words and syllables and at the beginning and end
  1695.              of sound files.
  1696.         
  1697.              DEMO123.V8S is an example of a silence encoded file.  You can
  1698.              play it back with no switches for normal playback, or you can
  1699.              use the /F8 switch to hear just the non-silent passages.  The
  1700.              little cracks you'll hear with the /F8 switch are the places
  1701.              where silence has been encoded into just a few bytes.         
  1702.  
  1703.              Currently, only sound files created by Covox programs have
  1704.              silence encoding, but a future release of SPUTTER, will include
  1705.              a utility to rewrite any sound files using silence encoding.
  1706.  
  1707.         82 - Covox 2-bit ADPCM with silence encoding (.V2S)
  1708.  
  1709.              This format is the same as format 02, but includes the use
  1710.              of silence encoding.
  1711.  
  1712.         83 - Covox 3-bit ADPCM with silence encoding (.V3S)
  1713.  
  1714.              This format is the same as format 03, but includes the use
  1715.              of silence encoding.
  1716.  
  1717.         84 - Covox 4-bit ADPCM with silence encoding (.V4S)
  1718.  
  1719.              This format is the same as format 04, but includes the use
  1720.              of silence encoding.
  1721.  
  1722.         88 - Covox 8-bit PCM with silence encoding (.V8S)
  1723.  
  1724.              This format is the same as format 08, but includes the use
  1725.              of silence encoding.
  1726.  
  1727.   /Hi,r
  1728.         This switch will cause high-pass filtering to be applied to the
  1729.         data before being played.  This technique is known as Differential
  1730.         Quantization & is based on the fact that there is considerable
  1731.         correlation between adjacent speech samples.  The interval <i>,
  1732.         determines the distance between samples to be differentiated.
  1733.         Using a repeat value <r> greater than 1 will heighten the effect.
  1734.  
  1735.         This switch can only be used on 8-bit PCM data with no compression
  1736.         or silence encoding.  Using the switch with any other file format
  1737.         will produce an error message.  To apply high-pass filtering to
  1738.         any other file format, you must first use the /W switch to write
  1739.         the desired file out into 8-bit PCM format, and then use the /H
  1740.         switch on the new file.
  1741.  
  1742.   /I
  1743.         This switch will display on screen, all the file information that
  1744.         is normally displayed when the file is played, but without any
  1745.         playback occurring.
  1746.  
  1747.   /IRn
  1748.         This switch allows you to specify the Interrupt Request line that
  1749.         your Sound Blaster card is set for.  The default is 3, with valid
  1750.         values being 2,3,5,7.
  1751.  
  1752.   /K
  1753.         This switch will cause SPUT to ignore all keyboard input while
  1754.         playing a soundfile.
  1755.  
  1756.   /Li,r
  1757.         This switch will cause low-pass filtering to be applied to the
  1758.         data before being played.  This technique is known as Integration.
  1759.         The interval <i> determines the distance between samples to be
  1760.         integrated.  Using a repeat value <r> greater than 1 will heighten
  1761.         the effect.
  1762.  
  1763.         This switch can only be used on 8-bit PCM data with no compression
  1764.         or silence encoding.  See /H for directions on applying low-pass
  1765.         filtering to other file formats.
  1766.  
  1767.   /N
  1768.         This switch will generate very low-level noise in place of dead
  1769.         silence, when playing back files with silence encoding.
  1770.         Sometimes, when periods of silence are obvious, this can help
  1771.         make it more natural sounding.
  1772.  
  1773.   /On
  1774.         The /O switch is used to invoke the oversampling option for the
  1775.         internal speaker only.  This can be used to help eliminate
  1776.         sampling whine in files that were recorded at a sampling rate
  1777.         below 12000 samples-per-second.
  1778.   
  1779.         When the /O switch is used alone, or before the /R switch on
  1780.         the command line, SPUT will use the specified playback rate to
  1781.         calculate a new playback rate to be used while oversampling.
  1782.  
  1783.         For example, if a file plays correctly at a rate of 132 (9622hz)
  1784.         but yields high sampling whine, using the /O2/R132 switches will
  1785.         cause SPUT to double the playback rate from 9622hz to 19244hz
  1786.         and oversample by a factor of 2.  This causes the file to be played
  1787.         back twice as fast, but each byte is being played twice now, so
  1788.         it sounds the same with the sampling whine removed.
  1789.  
  1790.         The switch is ignored, when sending output to any port other
  1791.         than the internal speaker.
  1792.  
  1793.   /Pnnn
  1794.         This switch allows selection of the desired output port.
  1795.  
  1796.         Port Values:
  1797.  
  1798.             0     - Internal speaker (default)
  1799.             1-4   - Voice Master (VM0-3)
  1800.             5-8   - Speech Thing (LPT1-4)
  1801.             9     - Sound Master (SM)
  1802.             nnn   - hex port address of any other Digital to Analog Converter
  1803.             nnn-A - hex port address of an AdLib music card
  1804.             nnn-S - hex port address of a Sound Blaster card
  1805.  
  1806.   /PH
  1807.         This switch will cause SPUT to display the phonemes used to
  1808.         form words during text-to-speech translation.
  1809.  
  1810.   /Qn
  1811.         This switch is used to set the desired level of screen output.
  1812.                 /Q0     display all output
  1813.                 /Q1     display none
  1814.                 /Q2     display errors only
  1815.  
  1816.   /Rnnn
  1817.         The /R switch is used to force SPUT to use a specific playback
  1818.         rate.  This may be necessary when the file is missing a proper
  1819.         header record, or the playback or record rate is not available.
  1820.  
  1821.         When the playback rate is not available, it will default to
  1822.         152 for Macintosh files and 182 for all other files.
  1823.  
  1824.         When the /R switch appears before the /O switch on the command
  1825.         line, SPUT will use the specified playback rate for oversampling
  1826.         and not perform any other calculation.
  1827.             
  1828.         When the /O switch appears before the /R switch on the command
  1829.         line, SPUT will use the specified playback rate to calculate
  1830.         a new playback rate to be used while oversampling.  See the /O
  1831.         switch for details.
  1832.  
  1833.         Rate Frequency Approximations:
  1834.  
  1835.                1  4679hz   152 11473hz   202 22096hz  
  1836.               66  6279hz   161 12559hz   212 27118hz
  1837.              110  8172hz   171 14037hz   222 35094hz
  1838.              132  9622hz   182 16124hz   232 49716hz
  1839.              140 10286hz   192 18643hz   242 85227hz
  1840.  
  1841.   /RSnnn
  1842.         This switch tells SPUT to resample the selected sound file
  1843.         while writing it to disk.  It is only applicable when used in
  1844.         conjunction with the /W switch.
  1845.  
  1846.         Resampling is a process where the playback rate of the specified
  1847.         soundfile is changed to the rate you specify with the /RS switch.
  1848.  
  1849.         Now virtually any sound file can be played on virtually any
  1850.         machine, no matter what the speed of the machine.  If a file
  1851.         will not play properly on a slower machine, just resample it
  1852.         down to a rate that runs properly on that machine.
  1853.  
  1854.         Resampling also has the pleasant side effect of reducing the
  1855.         size of the sound file.  The greater the reduction in playback
  1856.         rate, the greater the reduction in file size.
  1857.  
  1858.   /RU
  1859.         This switch will cause SPUT to display the rule numbers used
  1860.         when forming words during text-to-speech translation.
  1861.  
  1862.   /SH
  1863.         You lucky Sound Blaster owners can use this switch to shell to
  1864.         the DOS prompt while SPUT is playing your sound file in the
  1865.         background.
  1866.  
  1867.         As soon as playback is started, SPUT will start a DOS shell and
  1868.         print the following message:
  1869.  
  1870.                 ** Type EXIT anytime to return to SPUT **
  1871.  
  1872.         You will then see the familiar DOS prompt where you can run any
  1873.         program, to do whatever you like (including running SPUT as long
  1874.         as you access a different sound port).
  1875.         Whenever you decide to quit the shell, just type 'EXIT' at the DOS
  1876.         prompt and you will return to SPUT.
  1877.  
  1878.         If playback is finished, SPUT will end and return to whatever
  1879.         task it was called by, otherwise SPUT will display the following
  1880.         message and wait for playback to complete before exiting:
  1881.  
  1882.         ** Waiting for playback to finish (press ESCAPE to abort) **
  1883.  
  1884.   /T
  1885.         Use this switch to enhance treble output of a sound file.
  1886.  
  1887.         This uses 3 level non-uniform quantization, which divides the
  1888.         entire amplitude range into 3 ranges and assigns the same amplitude
  1889.         value to all samples falling in the upper and lower ranges.
  1890.         All samples in the low range are set to 0, all samples in the
  1891.         high range are set to 255 and all samples falling in the middle
  1892.         range are doubled up to 127.  Samples in the middle range above
  1893.         127 are clipped.
  1894.  
  1895.   /TI
  1896.         This switch will cause SPUT to digitize the current time.
  1897.  
  1898.   /TX
  1899.         This will cause SPUT to enter interactive text mode and display
  1900.         a prompt (>).  Any words typed will be digitized when the
  1901.         ENTER key is pressed.  Press CTRL-C to exit interactive text
  1902.         mode and return to the DOS prompt.
  1903.  
  1904.         During interactive text mode, phonemes and phoneme-functions may
  1905.         be entered along with regular text to be digitized.  
  1906.  
  1907.   /V<f>
  1908.         This switch is used to specify an alternate voice file.  The
  1909.         default voice filename is SPUT.PHD.  The file is assumed to be
  1910.         located in the current directory or in the PATH.
  1911.  
  1912.   /W<f> 
  1913.         This switch will cause all output to be redirected to a disk file
  1914.         instead of being played.  The format of the output file is
  1915.         always 8-bit PCM with a 16-byte Covox style header record.
  1916.  
  1917.         All file formats are converted to 8-bit PCM just before being
  1918.         output to the selected device.  This switch causes that 8-bit
  1919.         PCM data to be captured to a disk file, which can then be
  1920.         manipulated much more easily than the other file formats.
  1921.  
  1922.         The captured file can be replayed with SPUT using the /H and
  1923.         /L switches for high/low-pass filtering, or the waveform of the
  1924.         file can be viewed with SPUTWAVE, or the file can be edited
  1925.         with a sound file editor.
  1926.  
  1927.         Keep in mind that the samples in the output file will reflect
  1928.         all switches that were active at the time the file was created.
  1929.         If /T is used for treble enhancement, then playing the new file
  1930.         with no switch will sound the same as playing the original with
  1931.         the /T switch.
  1932.  
  1933.  
  1934.   ---------------------------
  1935.   SPUT DICTIONARY FILE FORMAT
  1936.   ---------------------------
  1937.  
  1938.         The dictionary file is used to correct SPUT's pronounciation
  1939.         errors or change any other attributes of a word like volume or
  1940.         speed.  You can also use the dictionary to translate words and
  1941.         abbreviations into complete words and phrases. 
  1942.  
  1943.         The format of the file is straight ascii created with any text
  1944.         editor program.  Each entry is 2 lines.
  1945.  
  1946.         The first line is the english word and may be in any case.
  1947.         The second line is the correct phoneme string to be used to
  1948.         pronounce the word, and may also contain simple text, Smooth
  1949.         Talker style phonemes and any special phoneme functions that
  1950.         are described in the following section.
  1951.  
  1952.         The following is an example of a simple phoneme definition to
  1953.         correct a mis-pronounciation:
  1954.  
  1955.                 COW
  1956.                 ~k-ow
  1957.  
  1958.         The following example uses SmoothTalker style phonemes:
  1959.  
  1960.                 diaper
  1961.                 <<~dAY4EYp3ER>>
  1962.  
  1963.         The following example uses phoneme-functions to make the second
  1964.         syllable louder:
  1965.  
  1966.                 FANTASTIC
  1967.                 ~f-ae-n-a3+-t-ae-s-a0-t-ih-k
  1968.  
  1969.         The following example uses phoneme-functions to make the entire
  1970.         word softer:
  1971.  
  1972.                 WHISPER
  1973.                 ~a4--wh-ih-s-p-er-a0
  1974.  
  1975.         The following example uses simple text to define an abbreviation
  1976.         expansion:
  1977.  
  1978.                 DAC
  1979.                 digital to analog converter
  1980.  
  1981.  
  1982.   ------------------------
  1983.   SPUT PHONEME DEFINITIONS
  1984.   ------------------------
  1985.  
  1986.   Phoneme strings always start with the tilde character (~) followed by each
  1987.   of the phonemes separated by dashes.  A space or any control character
  1988.   ends the word.  (eg.  ~v-ey-p-er is the word VAPOR)
  1989.   SPUT phonemes are not case sensitive, and are compatible with TRAN phonemes.
  1990.  
  1991.   SmoothTalker phonemes are supported so that any files that already contain
  1992.   SmoothTalker phonemes will be interpreted correctly by SPUT.
  1993.   
  1994.   Many of the SmoothTalker phonemes have the same name as the SPUT
  1995.   phonemes, but those marked with an asterisk (*) are differrent.
  1996.   To create a SmoothTalker phoneme string, start the word with 2 less than
  1997.   signs, followed by the tilde character, then the string of phonemes,
  1998.   followed by 2 greater than signs to end the word. (eg. <<~vEYpER>> )
  1999.   SmoothTalker phonemes are case sensitive.
  2000.  
  2001. ------------------------------------------------------------------------------
  2002.         SPUT Phonemes                   SMOOTH TALKER Phonemes
  2003. ------------------------------------------------------------------------------
  2004.         AE   fAt                        AE      short 'a' last
  2005.         AH   fAther                    *AA      short 'o' cot
  2006.         AW   lAWn                      *AO      intermediate 'o' caught
  2007.         AY   hIde                       AY      dipthong ice
  2008.         B    soB                        b       plosive in bin
  2009.         BB   Back                      
  2010.         CH   CHurCH                     CH      in chin
  2011.         D    soD                        d       plosive in din
  2012.         DD   Dime                      
  2013.         DH   eiTHer                     DH      'th' in then
  2014.         EE   bEEt                      *IY      long 'e' beet
  2015.         EH   gEt                        EH      short 'e' best
  2016.         ER   mURdER                     ER      'ur' 'er' in further
  2017.         EY   gAte                       EY      dipthong in ace
  2018.         F    Fault                      f       fricative in fin
  2019.         G    doG                        g       plosive in give
  2020.         GG   Goat                      
  2021.         H    How                        h       in hit
  2022.         IH   bIt                        IH      short 'i' fit
  2023.         JJ   Jar                        j       in jin or jug
  2024.         J    juDGe                     
  2025.         K    Coat                       k       plosive in kin
  2026.         L    Laugh                      l       in light or love
  2027.         MM   Moat                      
  2028.         M    suM                        m       nasal in might
  2029.         NN   Note                      
  2030.         N    suN                        n       nasal in night
  2031.         NG   suNG                       NG      nasal in sing
  2032.         OH   lOne                      *OW      long 'o' dose
  2033.         OO   fOOl                      *UW      long 'u' lute
  2034.         OR   fOR                       
  2035.         OW   hOW                       *AW      dipthong loud
  2036.         OY   tOY                        OY      dipthong noise
  2037.         P    Pack                       p       plosive in pin
  2038.         R    Rate                       r       in rate
  2039.         S    Sue                        s       silibant in sin
  2040.         SH   SHoe                       SH      silibant in shin
  2041.         T    Time                       t       plosive in tin
  2042.         TH   eTHer                      TH      fricative in thin
  2043.         U    fUll                      *UH      'u' sound in book
  2044.         UH   About                     *AH      short 'u' up
  2045.         V    Vault                      v       in vim
  2046.         W    Wear                       w       in wait or water
  2047.         WH   WHere                      WH      in which or where
  2048.         Y    Young                      y       in yet or yes
  2049.         Z    Zoo                        z       in zen
  2050.         ZH   lieSure                    ZH      in pleasure
  2051.         SPACE
  2052.  
  2053.    The following SmoothTalker phonemes (on the right) have no SPUT
  2054.    equivalents, so the closest sounding phonemes have been substituted.
  2055.  
  2056.         UH                              AX      schwa 'a' in against
  2057.         EH                              IX      duration tween IH,AX in David
  2058.         T                               DX      't' in butter
  2059.         K                               KX      non-aspirated 'k' ice cold
  2060.         T                               TX      non-aspirated 't' misstate
  2061.         T                               PX      non-aspirated 't' white spot
  2062.  
  2063.  
  2064.    ----------------------
  2065.    SPUT PHONEME FUNCTIONS
  2066.    ----------------------
  2067.  
  2068.    The special phoneme-functions may be used at the > prompt, in a text file
  2069.    or in the exception dictionary.  The changes caused by a phoneme-function
  2070.    remain in effect until another matching phoneme-function is processed.
  2071.  
  2072.    They may appear alone as in the following example:
  2073.         ~A2 loud ~A3 louder ~A3 even louder ~A0 back to normal
  2074.    or as part of a phoneme string as in this example:
  2075.         ~F-AE-N-A3+-T-AE-S-A0-T-IH-K.
  2076.  
  2077.  
  2078.    An   The amplitude function is used to vary the amplitude or volume
  2079.         of the created speech.
  2080.  
  2081.         Use n or n+ to increase the amplitude
  2082.             n- to decrease the amplitude
  2083.             0 to return to normal amplitude
  2084.  
  2085.         ~A1+ or ~A1 increases the volume 1 step.
  2086.         ~A1- decreases the volume 1 step.
  2087.         ~A0 sets the volume back to normal.
  2088.  
  2089.         Example:  At the > prompt type "this is ~a3 louder"
  2090.                   or "this is ~a3- softer"
  2091.                   or "this is loudly"  (LOUDLY is in the dictionary file)
  2092.                   or type "SPUT .\SAMPLES.TXT" to hear more examples.
  2093.  
  2094.    Rn   The rate function is used to vary the rate of the speech.
  2095.  
  2096.         Use n to set a new rate
  2097.             n+ to increase the current rate
  2098.             n- to decrease the current rate
  2099.             0 to return to the normal rate
  2100.  
  2101.         ~R10+ increases the rate by 10 (relative to current rate)
  2102.         ~R10- decreases the rate by 10 (relative to current rate)
  2103.         ~R202 sets the rate to 202 (absolute setting)
  2104.         ~R0 set the rate back to normal.
  2105.  
  2106.         Example:  At the > prompt type "this is ~r10+ faster"
  2107.                   or "this is ~r10- slower"
  2108.                   or type "SPUT .\SAMPLES.TXT" for more examples.
  2109.  
  2110.    Mn   The mode function is used to change between word and letter modes.
  2111.  
  2112.         Use 1 to switch to letter mode
  2113.             0 to switch to word mode (default)        
  2114.  
  2115.         Example:  At the > prompt type "this is ~M1 letter mode"
  2116.                   or "~M0 this is word mode again"
  2117.                   or type "SPUT .\SAMPLES.TXT" for more examples.
  2118.  
  2119.    Pn   The punctuation function is used to change the amount of punctuation
  2120.         that will be pronounced.
  2121.  
  2122.         Use 0 to pronounce no punctuation (none)
  2123.  
  2124.             1 to pronounce some punctuation (default)
  2125.                  # $ % & = @ + < > ! /
  2126.                  and . (point) if followed by a character
  2127.  
  2128.             2 to pronounce most punctuation
  2129.                  all level 1 punctuation and
  2130.                  " ' ( ) * , - : ; ? [ \ ] ^ _ ` { | } ~
  2131.                  and . (period)                   
  2132.  
  2133.             3 to pronounce all punctuation
  2134.                  all level 1+2 punctuation
  2135.                  and all control characters (not yet implemented)
  2136.  
  2137.  
  2138.   -------------------
  2139.   SPUT ERROR MESSAGES
  2140.   -------------------
  2141.  
  2142.   (01) Command syntax error, type 'SPUT<enter>' for help
  2143.   (02) Invalid amplitude, use /An or /An- n=1-255
  2144.   (03) Invalid playback rate, use 1-255 default=182/152
  2145.   (04) Invalid file format, use 1-88 default=8
  2146.   (05) Invalid oversample value, use 1-10 default=1
  2147.   (06) Invalid port, use 0-9 or any hex address
  2148.   (07) Invalid high-pass filter, use /Hi,r where i=interval and r=repeat
  2149.   (08) Invalid low-pass filter, use /Li,r where i=interval and r=repeat
  2150.   (09) Invalid continous play value, use 1-254 0-infinite
  2151.   (0A) Filtering disabled, only applicable for 8-bit PCM files
  2152.   (0B) Not enough memory available, file will be truncated
  2153.   (0C) Invalid data length in header record, file has been truncated
  2154.   (0D) Error releasing unused memory
  2155.   (0E) Memory allocation failure
  2156.   (0F) Sound file not found <filename>
  2157.   (10) File read error
  2158.   (11) Error opening output file
  2159.   (12) Error writing header
  2160.   (13) Error writing file
  2161.   (14) Unknown file format, default format 08 may be incorrect
  2162.   (15) Oversampling calculation error, use a smaller Rate or Oversample value
  2163.   (16) File format not supported for this device
  2164.   (17) Invalid driver, for SPKR use 1(software) 2(polling) 3(ints) 4(8255)
  2165.                        for SOUND BLASTER use 1(direct) 2(dma)
  2166.   (18) New rate must be smaller than old playback rate
  2167.   (19) New frequency is too small (max frequency reduction is half)
  2168.   (1A) Voice file not found - <filename>
  2169.   (1B) Insufficient memory to load Voice file
  2170.   (1C) Voice file read error
  2171.   (1D) Sound Blaster initialization failure
  2172.   (1E) Text to phoneme translation error
  2173.   (1F) Dictionary file not found - <filename>
  2174.   (22) Macintosh Resource Fork is missing, default rate of 152 may be incorrect
  2175.   (23) Missing or unknown header record, default rate of 182 may be incorrect
  2176.   (24) Digitizing text files is only available to registered users
  2177.   (25) Another SPUTTER player utility is already running
  2178.  
  2179.  
  2180.   ---------------------------------------
  2181.   TROUBLE SHOOTING PROBLEMS WITH PLAYBACK
  2182.   ---------------------------------------
  2183.  
  2184.   ** File plays too slowly (with or without any optional switches)
  2185.  
  2186.   This is simply the result of trying to play a file with too high a
  2187.   playback rate on too slow of a machine.  A RATE of 180 seems to be
  2188.   the fastest rate that an 8mhz AT machine can play, with no SPUT switches.
  2189.   Adding switches causes more processing to be done, and will slowdown
  2190.   playback even further.
  2191.  
  2192.   The solution is to run the file through SPUT with the /RS and /W switches
  2193.   to resample the file down to a lower playback rate that the machine
  2194.   can handle (ie: SPUT file/RS100/Wfile2).  If the new file still plays
  2195.   too slowly, then try the process again using a lower playback rate.
  2196.  
  2197.  
  2198.   ****************************************************************************
  2199.                  SECTION 3.4 - SPUTROL ROL File Player Utility
  2200.   ****************************************************************************
  2201.  
  2202.   This section describes the ROL file player program named SPUTROL.
  2203.  
  2204.   Very little memory is required to run SPUTROL, only 12k for the program,
  2205.   and enough additional memory to read the BANK file and the ROL file.
  2206.   That's it!  To play a 5k ROL file with a 10k BANK file requires only 27k
  2207.   of memory.  If you plan on letting SPUTROL load the AdLib sound driver
  2208.   SOUND.COM, then an additional 18k of memory will be required, but only
  2209.   for the duration of the song playing.  All memory is released when the
  2210.   song is finished.
  2211.  
  2212.   Another feature of SPUTROL is intelligent instrument substitution.  When
  2213.   an instrument is not found in the Bank file, SPUTROL will attempt to find
  2214.   a close match instead of defaulting to PIANO1.  You can also specify
  2215.   your own instrument substitutions if you prefer.
  2216.  
  2217.   Typing 'SPUTROL' with no arguments at the DOS prompt, will print the
  2218.   version number and a short help screen.
  2219.  
  2220.   If you are an unregistered user, you will also see the following message
  2221.   whenever playback is completed.
  2222.  
  2223.               ┌───────────────────────────────────────────────────┐
  2224.               │                                                   │
  2225.               │   Thank you for trying The Sputter Sound System   │
  2226.               │        If you use Sputter, please register        │
  2227.               │                                                   │
  2228.               │   Registration will remove this message & delay   │
  2229.               │          and give you additional features         │
  2230.               │                                                   │
  2231.               └───────────────────────────────────────────────────┘
  2232.  
  2233.  
  2234.   ------------------------
  2235.   SPUTROL FILE INFORMATION
  2236.   ------------------------
  2237.  
  2238.   SPUTROL displays the following information on the screen each time it
  2239.   is run.
  2240.  
  2241.   SPUTROL v1.11 ROL Player - Copyright 1990, VersaWare / Adrienne Cousins
  2242.   Sound driver V1.51 (C) Ad Lib Inc. 1987, 1989
  2243.   Sound driver successfully installed.
  2244.   BNK File: D:\VOX\STANDARD.BNK v1.0 253/256 entries
  2245.   ROL File: E:\ROL\BUMBLBEE.CLS  Mode:0  TPB:8  BPM:2  Tempo:152  TemEvents:1
  2246.   Voice Length Inst  Instrument Names  (VolumeChanges/PitchChanges)
  2247.   ---------------------------------------------------------------------------
  2248.       1  1572    11  VIOLIN1 SYN4 ELGUIT1 CLAR1 SYNBASS1 CLAR1 (38/60)
  2249.       2  1498     8  CLAR1 ELGUIT1 SYN4 VIOLIN1 CLAR1 SYN4 (35/58)
  2250.       3  1608     6  ELGUIT2 ELGUIT2 MARIMBA2 ELGUIT2 MARIMBA2 ELGUIT2 (58/1)
  2251.       4  1592     6  ELGUIT2 ELGUIT2 MARIMBA2 ELGUIT2 MARIMBA2 ELGUIT2 (49/1)
  2252.       5  1592     6  ELGUIT2 ELGUIT2 MARIMBA2 ELGUIT2 MARIMBA2 ELGUIT2 (38/1)
  2253.       6  1608     5  ELGUIT2 ELGUIT2 PIANO1 MARIMBA2 ELGUIT2 (22/1)
  2254.       7  1608     5  ELGUIT2 ELPIANO2 PIANO1 ELPIANO2 PIANO1 (15/5)
  2255.       8  1346     2  ELGUIT2 SYN2 (3/1)
  2256.       9  1251     3  PIANO1 TRUMPET4 SYN4 (7/1)
  2257.      10     0     1  PIANO1 (1/1)
  2258.      11     0     1  PIANO1 (1/1)
  2259.    Time to play: 1:19 ■ Loading song into driver ■ Playback has started 
  2260.  
  2261.   1st line:
  2262.         This is the program title, version and copyright statement.
  2263.  
  2264.   2nd and 3rd lines:
  2265.         These lines will only be displayed when the AdLib sound driver
  2266.         SOUND.COM has not been loaded prior to running SPUTROL.  In this
  2267.         case, SPUTROL will automatically find and load SOUND.COM and then
  2268.         remove it from memory when playback is completed.  When using this
  2269.         feature, it is recommended that you keep a copy of SOUND.COM on a
  2270.         RAMdisk if available.  The sound driver should also be in a
  2271.         directory that is in the current path statement.
  2272.         
  2273.   BNK File:
  2274.         This is the name of the bank file that is being used for playback.
  2275.         Also displayed is the version number of the bank file format, and
  2276.         the number of used/total entries in the bank file.  The PATH is
  2277.         automatically searched to find STANDARD.BNK if a bank file is not
  2278.         specified on the command line.
  2279.  
  2280.   ROL File:
  2281.         This is the name of the ROL file that is being played.
  2282.         The extension is not required when specifying a file to be played,
  2283.         and files may be renamed using any convenient extension.
  2284.  
  2285.   Mode:
  2286.         This is the mode of the file being played.  Zero is melodic mode
  2287.         which uses voices 1-8 and one is percussive mode, which uses voices
  2288.         1-6 in melodic mode and voices 7-11 in percussive mode.
  2289.  
  2290.   TPB:
  2291.         This is the number of ticks-per-beat defined for this song.
  2292.  
  2293.   BPM:
  2294.         This is the number of beats-per-measure defined for this song.
  2295.  
  2296.   Tempo:
  2297.         This is the tempo that the song is being played at, and may be
  2298.         changed with the /T switch.
  2299.  
  2300.   TemEvents:
  2301.         This is the total number of tempo changes that occur in the song.
  2302.  
  2303.   Voice Length Inst Instrument Names (VolumeChanges/PitchChanges)
  2304.         One line of information is printed for each of the 11 voices and
  2305.         contains the following information:
  2306.         Voice - the voice number.
  2307.         Length - the length of the voice in ticks.
  2308.         Inst - the number of instrument changes for this voice.
  2309.         Instrument Names - The names of the instruments for this voice.
  2310.                 An instrument name followed by a slash and another instrument
  2311.                 names indicates that a substitution has been made.
  2312.         (VolChanges/PitChanges) - The number of volume and pitch changes.
  2313.  
  2314.   Time to play:
  2315.         This is the estimated time that the song will take to play.
  2316.  
  2317.   Loading song into driver:
  2318.         This indicates that SPUTROL is in the process of loading the song
  2319.         into the AdLib sound driver.
  2320.  
  2321.   Playback has started: 
  2322.         This indicates that SPUTROL has filled the AdLib sound driver
  2323.         buffer and the driver has started to play the song.
  2324.  
  2325.  
  2326.   -----------------------------
  2327.   SPUTROL ENVIRONMENT VARIABLES
  2328.   -----------------------------
  2329.  
  2330.   SROLARG
  2331.         This allows you to setup any permanent switches that you would
  2332.         like SPUTROL to use every time it's run, without having to enter
  2333.         them on the command line.  Any switches specified on the command
  2334.         line, will override the switches in the SROLARG variable.
  2335.  
  2336.         You can set this value at the DOS prompt, or by including a line
  2337.         in your AUTOEXEC.BAT file with the following command:
  2338.  
  2339.                 set srolarg=/q2
  2340.  
  2341.  
  2342.   SROLDIR
  2343.         This defines the default directory to find ROL files.  If a
  2344.         filename is given on the command line with no drive or directory,
  2345.         SPUTROL will look for the file in the directory defined by the
  2346.         SROLDIR variable.
  2347.  
  2348.         You can set this value at the DOS prompt, or from your AUTOEXEC.BAT
  2349.         file with the following command:
  2350.  
  2351.                 set sroldir=c:\rol
  2352.  
  2353.         This tells SPUTROL to look in the ROL directory on the
  2354.         C: drive for all ROL files.
  2355.  
  2356.         To force SPUTROL to play a file in the current directory without
  2357.         having to enter the complete path, use the following command:
  2358.  
  2359.                 sputrol .\filename
  2360.  
  2361.  
  2362.   -------------------------
  2363.   SPUTROL SYNTAX & SWITCHES
  2364.   -------------------------
  2365.  
  2366.   Syntax:  SPUTROL <rolfile> [<bankfile>] [/switches]
  2367.  
  2368.   <rolfile>
  2369.         This is the name of the ROL file to be played.  Any valid DOS
  2370.         wildcards may be used to have SPUTROL randomly select a ROL file.
  2371.         The extension is not required, and ROL files may be renamed using
  2372.         any convenient extension.
  2373.  
  2374.         If no path is specified, the drive:directory specified by the
  2375.         SROLDIR environment variable will be searched, otherwise the
  2376.         current directory is assumed.
  2377.  
  2378.         Specifying a directory as part of the filename, will override
  2379.         any directory specified by the SROLDIR environment variable.  Use
  2380.         ".\filename" to indicate the current directory and ignore the
  2381.         SROLDIR environment variable.
  2382.  
  2383.   [<bankfile>]
  2384.         This argument is optional, and if used is the name of the bank file
  2385.         to be used.  The default name is STANDARD.BNK in the current
  2386.         directory, or any directory in the PATH statement.
  2387.  
  2388.   [/switches]
  2389.         All switches are optional.  The SROLARG environment variable is
  2390.         checked first for any permanent switches.  Any switches given on
  2391.         the command line will then override the SROLARG switches.
  2392.         The valid switches are listed below.
  2393.  
  2394.   ESCAPE key
  2395.         Pressing the ESCAPE key during file playback, will cause SPUTROL to
  2396.         immediately stop playback and exit.  This will not disturb any
  2397.         type ahead already in the keyboard buffer.
  2398.  
  2399.   ?
  2400.         Entering a question mark on the command line, will tell SPUTROL to
  2401.         display a short help screen.
  2402.  
  2403.   /An
  2404.         This switch can be used to modify the amplitude or volume of
  2405.         a song.  Using a positive number (/An or /An+) will increase the
  2406.         volume, and a negative number (/An- ) will decrease the volume.
  2407.  
  2408.   /Cn
  2409.         This will cause the song file to be played N times, in a
  2410.         continous loop.  A value of 0 will play indefinetly, until the
  2411.         ESCAPE key is struck.
  2412.  
  2413.   /I
  2414.         This switch will display on screen, all the file information that
  2415.         is normally displayed when the file is played, but without any
  2416.         playback occurring.
  2417.  
  2418.   /IF
  2419.         Normally when SPUTROL detects an invalid ROL file, an error message
  2420.         is displayed and the song is not played.  This switch can be used
  2421.         to force SPUTROL to play an invalid ROL file format.
  2422.  
  2423.   /ISold1=new1,old2=new2
  2424.         This switch is used to specify instrument substitutions, where
  2425.         OLD1 is the name of the original instrument and NEW1 is the name
  2426.         of the instrument to be used in its place.  Up to 5 substitutions
  2427.         may be specified, separated by commas.
  2428.  
  2429.   /IN
  2430.         Normally, only the first 6 instruments are displayed for each voice
  2431.         so that the file information will all fit on a single screen.
  2432.         Use this switch to force SPUTROL to display all instruments used
  2433.         for each of the voices.
  2434.  
  2435.   /K
  2436.         This switch causes SPUTROL to kill the song that was left playing
  2437.         in the background.
  2438.  
  2439.   /Mn
  2440.         This switch can be used to change the mode of the song.  Zero is
  2441.         melodic and uses voices 1-8, and one is percussive and uses voices
  2442.         1-6 in melodic mode and voices 7-11 in percussive mode.
  2443.  
  2444.   /NW
  2445.         This is the NOWAIT switch tells SPUTROL to exit as soon as the
  2446.         entire song is loaded into the SOUND driver, and leave the song
  2447.         playing in the background.  This switch can only be used if the
  2448.         AdLib sound driver SOUND.COM was already loaded before SPUTROL was
  2449.         run.
  2450.  
  2451.   /Pnnn
  2452.         This switch allows selection of the disired output port.  The
  2453.         default port address is 388 hex.  No switch is required for
  2454.         either the AdLib or SoundBlaster cards.
  2455.  
  2456.   /Qn
  2457.         This switch is used to set the desired level of screen output.
  2458.                 /Q0       display everything
  2459.                 /Q1       display nothing
  2460.                 /Q2       display errors only
  2461.  
  2462.   /Tn
  2463.         This switch can be used to change the default tempo of the song.
  2464.  
  2465.   /Vnnn
  2466.         This switch can be used to specify a single voice or list of voices
  2467.         to play.  /V246 would play only voices 2, 4 and 6.  This is most
  2468.         useful for proofreading music while creating ROL files, and
  2469.         hearing the balance between instruments.  It is also handy for
  2470.         determining which voice is playing a particular part for which
  2471.         you may want to change an instrument.
  2472.  
  2473.  
  2474.   ----------------------
  2475.   SPUTROL ERROR MESSAGES
  2476.   ----------------------
  2477.  
  2478.   (01) Error releasing unused memory
  2479.   (02) Insufficient memory to load ROL file
  2480.   (03) ROL file not found - <filename>
  2481.   (04) ROL file read error
  2482.   (05) Invalid ROL file format - <filename>
  2483.   (06) BANK file not found - <filename>
  2484.   (07) BANK file read error
  2485.   (08) Invalid BANK file
  2486.   (09) Insufficient memory to load BANK file
  2487.   (10) Command syntax error, type 'SPUTROL<enter>' for help
  2488.   (11) Instrument not found <instrument>
  2489.   (12) SOUND.COM driver not loaded, loading temporarily
  2490.   (13) Invalid amplitude, use /An or /An- (n=1-255)
  2491.   (14) Error loading Tempo Events
  2492.   (15) Error loading Instrument Events
  2493.   (16) Error loading Volume Events
  2494.   (17) Error loading Pitch Events
  2495.   (18) Insufficient memory to load instruments
  2496.   (19) Another SPUTTER player utility is already running
  2497.   (20) Insufficient memory to load SOUND driver
  2498.   (21) Error loading SOUND driver
  2499.  
  2500.  
  2501.   ****************************************************************************
  2502.                     SECTION 3.5 - SPUTWAVE Waveform viewer
  2503.   ****************************************************************************
  2504.  
  2505.   This section describes the utility SPUTWAVE, which displays an 8-bit
  2506.   PCM sound file as a wave form on the screen.  An EGA display adapter
  2507.   or better is required and it supports the following syntax & switches:
  2508.  
  2509.         sputwave [<drive:>]<filename> [/On] [/Ln]
  2510.  
  2511.   /On
  2512.         N is a byte offset into file where display should start. 
  2513.   /Ln
  2514.         N is the length of data to display in bytes.  This number must
  2515.         be at least the pixel width of the current screen mode
  2516.         (usually 640), and must not be a value that would exceed the
  2517.         end of the file or a run-time error will occur.  The default data
  2518.         length displayed is 1 meg.
  2519.  
  2520.  
  2521.   ****************************************************************************
  2522.                   SECTION 3.6 - SPUTST Smooth Talker Utility
  2523.   ****************************************************************************
  2524.  
  2525.   This section describes the Smooth Talker Device Driver utility named
  2526.   SPUTST.  This program can be used to send commands to the Smooth Talker
  2527.   Device Driver called STDRIVER.SYS loaded in the CONFIG.SYS file.
  2528.  
  2529.   Simply type 'SPUTST' at the DOS prompt followed by any of the allowed
  2530.   three letter commands, separated by spaces.
  2531.  
  2532.                 SPUTST cm1 cm2 cm3
  2533.  
  2534.   Typing just 'SPUTST' or 'SPUTST ?' will print a short help screen.
  2535.  
  2536.   SPUTST v1.11 Smooth Talker Utility - (C) 1990 VersaWare / Adrienne Cousins
  2537.   Voice Master Mode Commands:
  2538.           EVM     enable Voice Master Mode (digitized data)
  2539.           RDH     read VMF file header (supress playback)
  2540.           PLY     playback data file in buffer
  2541.           SPE     set playback speed 0-255
  2542.           VOL     set playback volume 1-8
  2543.           CKE     use 8253 timer for playback speed
  2544.           CKD     use software timing for playback speed
  2545.           DAC     enable alternate port address 0-65535 (def 408+409)
  2546.           WRA     set repeat playback 1-255 0=key
  2547.           USR     use alternate user address 100h-1FFh
  2548.   Smooth Talker Mode Commands:
  2549.           SV2     enable Smooth Talker Mode (SPEECHV2)
  2550.           SV3     enable Smooth Talker Mode (SPEECHV3)
  2551.           ENG     input will be English strings
  2552.           PHO     input will be phonetic strings
  2553.           XEP     convert next string from English to Phonetics
  2554.           TTE     enable echo of string data to screen
  2555.           TTD     disable echo of string data to screen
  2556.           CRE     enable carriage returns as string terminator
  2557.           CRD     disable carriage returns as string terminator
  2558.           FLU     flush the 255 byte string buffer
  2559.           TON     set voice tone 0=low 1=high
  2560.           SPE     set speed of playback 0-9
  2561.           PIT     set pitch of playback 0-9
  2562.           VOL     set volume of playback 0-9
  2563.   Use "COPY <filename> ST" for text files in Smooth Talker Mode
  2564.   Use "COPY <filename>/B ST" for digitized files in Voice Master Mode
  2565.  
  2566.   ****************************************************************************
  2567.                         SECTION 4 - MISCELLANEOUS
  2568.   ****************************************************************************
  2569.  
  2570.   ----------------
  2571.   ACKNOWLEDGEMENTS
  2572.   ----------------
  2573.  
  2574.   I'd like to thank the following people for their wonderful suggestions
  2575.   and help, without whom the SPUTTER Sound System would not be what it is
  2576.   today.
  2577.  
  2578.         Marty Peter, who first got me thinking about writing my own
  2579.         playback program, instead of relying on other player programs
  2580.         to play my custom sound files.  And for his great suggestion
  2581.         about a point-and-shoot interface that gave birth to the
  2582.         SPUTTER File Manager.
  2583.  
  2584.         Rich Wilson, for his suggestion of adding the BEEP event type to
  2585.         SPUTMON the Event Monitor, his suggestion to invoke playback from
  2586.         the DOS prompt, and for his support and friendship.
  2587.  
  2588.         Bernie Parent and Randy Bechtel, who's feedback made me realize
  2589.         the need to support the slower machines running at 4 and 8mhz.
  2590.         This prompted me to develop additional internal speaker drivers
  2591.         to support these machines.
  2592.         
  2593.         Tom Peters, for his sound clips and text files that mentioned the
  2594.         technique of resampling sound files.  This gave me the idea to
  2595.         implement the resampling algorithym, so that the playback rate
  2596.         of a soundfile can be changed so that it can be played on ANY
  2597.         speed machine.
  2598.  
  2599.         Dan Dubbs, for his suggestions to support the Sound Blaster,
  2600.         and AdLib music cards, the ability to spawn user defined programs
  2601.         and batch files from SPUTMON the Event Monitor, and offering many
  2602.         other neat suggestions.
  2603.  
  2604.         Bruce Tomlin, the author of SoundMaster for the Macintosh, for
  2605.         his help in locating the playback rate in Macintosh sound files.
  2606.  
  2607.  
  2608.                               Thank you all !!
  2609.  
  2610.  
  2611.   ---------------------------
  2612.   SPUTTER FUTURE ENHANCEMENTS
  2613.   ---------------------------
  2614.  
  2615.   See the file FUTURE.TXT for a list of enhancements that I'm planning on
  2616.   implementing in future releases.
  2617.  
  2618.  
  2619.   ----------------------
  2620.   SOURCES OF SOUND FILES
  2621.   ----------------------
  2622.  
  2623.   Check out the Amiga & Macintosh conferences of your favorite BBS.
  2624.   These areas are usually chuck full of sound files.  Both types of files
  2625.   usually have the playback rate stored within the file.
  2626.  
  2627.   Some of my favorites are Exec-PC in Milwaukee WI at 414-789-4210 and
  2628.   Channel 1 in Cambridge MA at 617-354-8873.  I can always be reached
  2629.   on either of these systems.
  2630.  
  2631.   If you find an especially good source of sound files, let me know and
  2632.   I'll add it to this section, so others can enjoy them too.
  2633.  
  2634.  
  2635.   ----------------------
  2636.   SPEAKER OUTPUT QUALITY
  2637.   ----------------------
  2638.  
  2639.   If the output volume of your speaker is so low that you can't hear much,
  2640.   the solution is to attach an inexpensive amplified speaker similar to
  2641.   those sold by Radio Shack.  These usually have a volume control knob, and
  2642.   some also have a tone control knob.  Most run on batteries, and some can
  2643.   use an optional AC adapter.  All you need to do is attach the two wires
  2644.   from the external speaker to the two wires on the internal speaker, or
  2645.   you can attach mini jacks.
  2646.  
  2647.   For even better playback quality, you can purchase any of the Digital to
  2648.   Analog Converters available on the market.  Let me know if you have a board
  2649.   that Sputter doesn't already support, and I'll see about adding support for
  2650.   it.
  2651.  
  2652.  
  2653.   ------------
  2654.   REGISTRATION
  2655.   ------------
  2656.  
  2657.   You may use the SPUTTER Sound System free of charge for a period of
  2658.   10 days.  If after that period of time, you find it useful and
  2659.   continue to use it, a $25 registration fee is required.
  2660.  
  2661.   During this evaluation period, the SPUT and SPUTROL Player Utilities
  2662.   will display a shareware message and pause for a few seconds after 
  2663.   playback of each file.  
  2664.  
  2665.   When you register, you will receive your own registration number and
  2666.   instructions for unlocking the SPUTTER Sound System and removing this 
  2667.   message and delay.  You will also be able to unlock all future shareware
  2668.   releases of The SPUTTER Sound System.
  2669.  
  2670.   I always appreciate any feedback you might have about the SPUTTER Sound
  2671.   System, and would be interested in seeing any files that SPUTTER is not
  2672.   able to playback correctly.  You can either mail them to me, or upload
  2673.   them to one of the BBSs listed in the above sections.
  2674.  
  2675.  
  2676.   ----------
  2677.   DISCLAIMER
  2678.   ----------
  2679.  
  2680.   All of the SPUTTER programs and this documentation are Copyright 1990
  2681.   by VersaWare and Adrienne Cousins, all rights reserved.
  2682.  
  2683.   VersaWare hereby disclaims all warranties relating to this product,
  2684.   whether express or implied, including without limitation any implied
  2685.   warranties of merchantability or fitness for a particular purpose.
  2686.   VersaWare cannot and will not be liable for any special, incidental,
  2687.   consequential, indirect or similar damages due to loss of data or any
  2688.   other reason, even if VersaWare or an authorized VersaWare agent has
  2689.   been advised of the possibility of such damages.  In no event shall the
  2690.   liability for any damages ever exceed the price paid for the license to
  2691.   use software, regardless of the form and/or extent of the claim.  The
  2692.   person using the software bears all risk as to the quality and performance
  2693.   of the software.
  2694.  
  2695.  
  2696.                  -------------------------------------------
  2697.  
  2698.  
  2699.  
  2700.