home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 17 / amigaformatcd17.iso / -in_the_mag- / dopus5.5 / play16 / play16.doc < prev    next >
Text File  |  1997-06-27  |  24KB  |  583 lines

  1.  
  2. ---------------------------------------------------------------------------
  3. -- Play16 version 1.7 (01.12.96) - a versatile soundplayer for the Amiga --
  4. ---------------------------------------------------------------------------
  5.  
  6. Features in brief
  7. -----------------
  8.  - FREEWARE!  No beta, no nag requesters and no expiry date!
  9.  - online help
  10.  - autodetects and plays several soundfiles, up to 16 bit / 56 kHz / stereo
  11.  - full Workbench support (but not Intuition and no GUI)
  12.  - always correct playback speed, even for sounds >28 kHz
  13.  - realtime playback from harddisk, optimized assembler routines
  14.  - optional 14 bit output (less noise but not as good as true 16 bit)
  15.  - Supports AHI and soundcards
  16.  - automatic or manual audio filter control
  17.  - plays mono sounds on *both* channels, not only on the left one
  18.  - plays (and loops) files that are larger than memory
  19.  - preloading for exactly timed start of playback
  20.  - fast µ-Law/A-Law decompression
  21.  - system friendly audio channel allocation
  22.  - optionally dump the output into a file (can be used to convert sounds)
  23.  - supported Filetypes are:
  24.  
  25.    * Microsoft RIFF-WAVE  (.WAV)  mono/stereo, 8/16 bit, linear/uLaw/ALaw/ADPCM
  26.    * Creative Voice File  (.VOC)  mono/stereo, 8/16 bit, linear
  27.    * Sun/NeXT Audio       (.AU)   mono/stereo, 8/16 bit, linear/uLaw
  28.    * MacroSystem Audio    (.MAUD) mono/stereo, 8/16 bit, linear/uLaw
  29.    * Apple/SGI/Amiga AIFF (.AIFF) mono/stereo, 8/16 bit, linear
  30.    * Amiga IFF-8SVX       (.IFF)  mono/stereo, 8    bit, linear/FibDelta/ExpDelta
  31.    * Any raw sound data as long as it matches one of the following:
  32.      -  8 bit signed
  33.      -  8 bit unsigned
  34.      - 16 bit signed, Intel format    (LSB first)
  35.      - 16 bit signed, Motorola format (MSB first)
  36.      - 14 bit µ-Law
  37.      - 14 bit A-Law
  38.  
  39.     - supported output devices are:
  40.  
  41.    * Native Amiga chipset (Paula)  8 bit
  42.    * Native Amiga chipset (Paula) 14 bit
  43.    * Native Amiga chipset (Paula) 14 bit calibrated (Christian Buchner)
  44.    * MacroSystem Maestro Pro      16 bit 44.1kHz and 48kHz only
  45.    * IFF-8SVX file dump            8 bit
  46.    * AHI audio system             16 bit (still experimental)
  47.  
  48. ========================== Section 1: Quick start =========================
  49.  
  50. What do I need to use Play16?
  51. -----------------------------
  52. Any Amiga running Kickstart/Workbench 2.04 or greater.
  53.  
  54. asyncio.library
  55.  
  56. To use the calibrated 14 bit output you need a valid CyberSound preferences
  57. file in your ENVARC: directory. If you don't have one already it can be
  58. generated with Christian's calibration package included in this distribution.
  59.  
  60. Maestix.library V39 or higher is required to use the MPro board for output.
  61.  
  62. AHI audio system V2 or higher is required to use AHI output.
  63.  
  64. Where do I find the latest version?
  65. -----------------------------------
  66.  - FIDONET: Amiga Venture BBS, Germany (2:2432/350)
  67.  - AMINET:  mus/play
  68.  - WWW:     http://linux.rz.fh-hannover.de/~wenzel/Play16/
  69.  
  70. further I recommend to have a look at the following packages:
  71.  
  72. Prelude:
  73.  - WWW:     http://linux.rz.fh-hannover.de/~wenzel/Prelude.html
  74.  
  75. CyberSound:
  76.  - AMINET:  disk/cdrom/14Bit_CDPlayer.lha
  77.  
  78. Maestix:
  79.  - AMINET:  util/libs/Maestix39_00.lha
  80.  
  81. AHI audio system:
  82.  - WWW:     http://www.lysator.liu.se/~lcs/ahi.html
  83.  
  84.  
  85. How do I use it?
  86. ----------------
  87. From CLI:       Simply type "Play16 <filename>" and that's it!
  88. From Workbench: Just doubleclick on it's icon. A filerequester will pop up.
  89.  
  90. All possible options will be explained later. If you set none of them, the
  91. defaults will be used.
  92.  
  93.  
  94.  
  95.  
  96. ==================== Section 2: Background information ====================
  97.  
  98. What does it do?
  99. ----------------
  100. Basically, Play16 is capable of playing uncompressed and _some_ compressed
  101. soundfiles through Amiga's standard audio device or an increasing number of
  102. alternative devices. If the actual resolution or playback rate exceeds that
  103. of the Amiga hardware, realtime conversion is done so that the sound is
  104. being played back correctly.
  105.  
  106. You can even play 16 bit / 44.1 kHz sounds on the old amiga chipset (Paula),
  107. providing all parts of your system can keep up with the high data transfer
  108. rate and lots of calculations needed for this task. (In this case an
  109. accelerated Amiga is recommended :-)
  110.  
  111. The two audio channels at each side can be linked to perform as a single
  112. 14 bit channel (subranging). Again, this swallows lots of computing power.
  113.  
  114. Anyway, an Amiga 3000-16MHz is fast enough to play an uncompressed soundfile
  115. with full 44.1kHz/14bit output (productivity) directly from harddisk !!!
  116.  
  117. I don't want Play16 to be a program that plays each and every exotic format
  118. that exists somewhere. However, I intend to support as many popular file
  119. types as possible.
  120.  
  121.  
  122. Why Play16?
  123. -----------
  124. I didn't find any CLI based program to play back 16 bit recordings, on a
  125. standard Amiga, so I decided to write one myself.
  126.  
  127.  
  128. Why CLI based and no GUI?
  129. -------------------------
  130. There are so many GUI based directory utilities, simply use Play16 as an
  131. external player. Consult the manual of your software package on how to
  132. do it. Application example: Assign "Play16 <filename> PRELOAD" to a button
  133. called "Jingle". Select the desired soundfile and press the Jingle-button.
  134. Wait for the appropriate moment and hit the return key - here comes the
  135. sound! Nice when audio dubbing your home videos or even on parties :-)
  136.  
  137.  
  138. How does it work? (technical info)
  139. ----------------------------------
  140. The standard Amiga audio device is limited to 8 bit / 28 kHz playbck
  141. when using DMA. With the introduction of ECS the 28 kHz DMA barrier
  142. was broken - but only if the current displaymode was one with double
  143. scan rate like productivity. The reason for this is the dependency
  144. between video and audio DMA. If you don't have ECS or if you simply
  145. don't want to switch to Productivity just to listen to your desired
  146. sound, Play16 can halve the sample rate during playback.
  147.  
  148. Another way to archieve high output rates is using IRQ. This works no
  149. matter what the displaymode is. I've been experimenting on that long
  150. before I started writing Play16 but there was so much jitter that my
  151. current downsampling method sounds much better.
  152.  
  153. To play back even long sounds, the popular method of double buffering
  154. is used. Alternatively, all data can be loaded into memory before
  155. playback. This is useful when playing short sounds or when loading
  156. the sound from floppy disk or slow network transfers.
  157.  
  158. The 14 bit output is archieved by setting the first channel on each
  159. side to volume 64 and the second to volume 1. The louder channel then
  160. plays the upper 8 bits as usual while the other channel plays the
  161. 6 most significant bits of the low byte synchronously. Because timing
  162. is very crucial in this case it is nessecary to write directly to
  163. hardware registers instead of using the audio.device. This method may
  164. not work on future amiga models if there ever will be any... :-/
  165.  
  166. Unfortunately, Amiga's DACs are not perfectly linear. A significant
  167. increase in sound quality can be archieved by calibrating each
  168. MSB conversion step individually for your machine. Christian Buchner's
  169. CyberSound system supports this kind of calibration. Play16 can load
  170. the preferences file generated by Christian's calibration program.
  171.  
  172. The MPro output uses the maestix.library by Richard Körber. Have a look
  173. at the Maestix package available on AMINET for further details.
  174.  
  175. =========================== Section 3: Options ============================
  176.  
  177. What options are provided?
  178. --------------------------
  179. There are three ways to specify the options, which are:
  180.  
  181.  CLI:       In the commandline, using standard AmigaOS 2.x template
  182.  Workbench: In the icon, using standard Amiga Workbench tooltype entries
  183.  General:   By setting environment variables. This is not possible for
  184.             all options yet.
  185.  
  186. If you are not familiar with the AmigaOS 2.x commandline template, see
  187. the examples below and consult the AmigaOS manual for furhter information.
  188. The tooltype entries are identical to the keywords you can specify in the
  189. commandline. Also, the environment variables have the same names and reside
  190. in ENV:Play16. 
  191.  
  192. Basic options: (All options marked with (*) have corresponding env-vars.)
  193.  
  194. HELP/S      Display online-help
  195.  
  196. VERBOSITY/N Sets the level of verbosity.
  197.             0: Just display the banner and error messages
  198.             1: Print additional information about the sound file
  199.             2: Information about progress and memory usuage
  200.             3: Debugging information (may look a bit weird :)
  201.             Default is level 0.
  202.  
  203. FAST/S      Do NOT automatically switch to half sample rate if the
  204.             soundfile's rate exceeds 28 kHz. Use this option when
  205.             running your Amiga in Productivity or similar display
  206.             modes.
  207.  
  208. HIFI/S      Obsolete since V1.4 but still included for compatibility
  209.             reasons. See "OUTPUT/K".
  210.  
  211. VOLUME/N    Set the playback volume.
  212.             This works only for Paula8 and AHI output.
  213.  
  214. OUTPUT/K(*) Set Play16's output device. Possible options are:
  215.  
  216.  Paula8      Standard 8 bit output through Amiga hardware. This option
  217.              is the default.
  218.  
  219.  Paula14     Turn on the 14 bit output. Watch out! This is a nasty routine
  220.              that writes directly to some hardware registers. I've done
  221.              everything I can to prevent Play16 from interfering with
  222.              other running tasks in this case but you'll never know...
  223.              Use it with care!
  224.  
  225.  Paula14c    Same as Paula14 but using the calibration preferences for
  226.              even better sound quality. See Section 2 for details.
  227.  
  228.  MPro        Use MacroSystem's Maestro Pro board for output. 44.1kHz and
  229.              48kHz sounds only. For 44.1kHz output a valid and stable
  230.              signal has to be present on the standard input. See the
  231.              manuals of Maestix and the MPro board for further info.
  232.  
  233.  AHI         Use Martin 'Levicitus' Blom's AHI audio system for output.
  234.  
  235.  8SVX        Do not play the sound but create an IFF-8SVX file containing
  236.              the data. Basically this is the output generated by <Paula8>
  237.              redirected into a file. The filename will be the input file's
  238.              name with "iff" appended.
  239.  
  240.              WARNING: All limitations of <Paula8> apply here as well,
  241.              which are:
  242.              - Every 16 bit sound will be cropped to 8 bits resulting in
  243.                loss of quality.
  244.              - If you DO NOT set the FAST keyword, the sample rate of the
  245.                output file will be limited to 28kHz and downsampled
  246.                automaticlly if nessecary.
  247.              I recommend to keep the original file if you have enough
  248.              space. If you don't you may be disappointed of your converted
  249.              8 bit sounds when you buy a better sound system!
  250.  
  251. FILTER/K(*) FILTER=ON  : Enable audio filter for playback
  252.             FILTER=OFF : Disable audio filter for playback
  253.             FILTER=AUTO: Turn filter on or off depending on sample rate
  254.             If you don't specify this keyword Play16 will leave the
  255.             hardware registers of the audiofilter completely untouched.
  256.  
  257. LOOPS/N     Determines the number of loops to be played.
  258.             Default is 1 loop. (Play the sound once.)
  259.             LOOPS=0 means infinite number of loops.
  260.  
  261.  
  262. Advanced Options:
  263.  
  264. WINDOW/K(*)   Specify output window for Workbench startup. This Keyword can
  265.               only be used in the ToolType entries of the Play16 icon itself.
  266.               If you don't set this, the hardcoded default will be used.
  267.  
  268. SCREENMODE/N  Type of screen to open during playback. If you set
  269. (*)           SCREENMODE=0, a standard productivity screen will
  270.               be opened.
  271.  
  272. PATH/K        Set the default path for the filerequester. In the command
  273.               line, specifying just a path instead of a filename has the
  274.               same effect.
  275.  
  276. SINGLE/S      Use only one buffer rather then two and load all data into
  277.               memory before playback.
  278.  
  279. PRIORITY/N    Set Play16's task priority. May vary from -25 to 25, default
  280.               is 1.
  281.  
  282. MULTIPLE/S    Open the filerequester again, after all files have been
  283.               played.
  284.  
  285. BUFFER/N      AsyncIO Buffersize in KBytes. Default is 64.
  286.  
  287. PRELOAD/S     Load enough data into memory for immediate start of playback
  288.               at a keypress
  289.  
  290. MODE/N        Don't pop up and AHI mode requester but use the given mode
  291.               instead. If the lower word of the ModeID is zero BestAudioID
  292.               will be used to find a suitable mode.
  293.               You can use GAIP16 (included) to find out the ModeID you
  294.               want. Take the first decimal number for hardware selection
  295.               only (BestAudioID is used) or the second decimal number to
  296.               force a specific mode.
  297.  
  298. RAW/S         Disable autodetect and tell Play16 what the actual format of
  299.               the sound data is.
  300.               However, if Play16 can't detect the filetype it will switch
  301.               to RAW mode automatically. If you don't want this to happen
  302.               you can specify STRICT:
  303.  
  304. STRICT/S      Play only files that are supported by the autodetect routine
  305.               Use this if you don't want to get scared by the sudden noisy
  306.               output when trying to play back other data than sound :-)
  307.  
  308. Examples:
  309.  
  310. a) Play16 music.wav
  311.     Simply play the file called music.wav once and directly from harddisk.
  312.  
  313. b) Play16 music.wav SINGLE
  314.     Same as above but load all data into memory before playback. Use this
  315.     when loading soundfiles from floppy disk.
  316.  
  317. c) Play16 music.wav SINGLE VERBOSITY=1
  318.     Same as b, but with additional information being printed out.
  319.  
  320. d) Play16 rhythm.wav LOOPS=10
  321.         Play the rhythm as a continuous loop, i.e. over and over again (10 times)
  322.  
  323. e) Play16 explosion.wav SINGLE PRELOAD
  324.     Load the complete explosion sound into memory, then wait for you to hit
  325.     <return> before playback.
  326.  
  327. f) Play16 MyFavouriteTune.wav FAST OUTPUT=8SVX
  328.     Convert the given file to IFF-8SVX without changing the sample rate.
  329.  
  330. g) Play16 MyFavouriteTune.wav OUTPUT=8SVX
  331.     Same as f but limit the sample rate of the converted file to 28kHz!
  332.  
  333. h) Play16 DemoSound RAW ALAW FREQ=8000
  334.     Play a raw ISDN A-Law file generated by WilhelmTEL
  335.  
  336. The following options tell Play16 what parameters to use when in RAW mode.
  337. This happens either if you set the RAW keyword or if Play16 could not
  338. identify the file and STRICT was _not_ set.
  339.  
  340.  
  341. Options when in RAW mode:
  342.  
  343. FREQ/N      Sampling frequency in Hz
  344. TRACKS/N    Number of tracks, 1 for mono, 2 for stereo
  345. BITS/N      Resolution in bits, may be 8 or 16
  346. HEADER/N    Length of header: This is the number of bytes to be skipped
  347.                               at the beginning of the file.
  348. UNSIGNED/S  Data is unsigned, not signed (only valid for  8 bit sounds)
  349. INTEL/S     Data is in Intel format      (only valid for 16 bit sounds)
  350. ULAW/S      Data is compressed using the µ-Law compression scheme
  351. ALAW/S      Data is compressed using the A-Law compression scheme
  352.  
  353. The default settings are: 22050 Hz, mono, 8 bits, no header.
  354.  
  355.  
  356.  
  357. How do I use this RAW mode?
  358. ---------------------------
  359. Umm, err, difficult to explain, even harder to understand...
  360. Well, if you know the data format of the soundfile, simply set RAW, FREQ,
  361. TRACKS, BITS, UNSIGNED and INTEL accordingly. If you don't, the only
  362. way to find it out is by trial and error :) Here are some tips to make
  363. it a bit easier:
  364.  
  365. Don't set HEADER to an odd number. (Leave it at 0, first.)
  366. If you set BITS to 16 and hear nothing but noise, try to set INTEL.
  367. If you set BITS to 8 and the sound is distorted, try to set UNSIGNED.
  368. If the above does not help, try different combinations of BITS, INTEL
  369. and UNSIGNED.
  370.  
  371. If you manage to get a recognisable sound output which is either too
  372. fast or too slow, start experimenting on TRACKS and FREQ.
  373.  
  374. If you want to play known files and raw ones without changing the command
  375. line, simply specify all you know about the raw data and leave out the
  376. RAW and the STRICT keyword. If Play16 can indentify the file it will use
  377. its parameters. If the filetype is unknown your specified parameters will
  378. be used instead.
  379.  
  380.  
  381. Legal stuff
  382. -----------
  383. Play16 is copyrighted freeware. It may be distributed freely as long as
  384. no modifications are made to the executable and this document. A nominal
  385. fee may be asked to cover distribution costs.
  386.  
  387. Play16 may not be used for any commercial purposes or included with any
  388. commercial product without the written permission of the author.
  389.  
  390. No responsibilities are taken for damaged speakers, amplifiers, Amigas
  391. or any other components or data involved while using Play16.
  392.  
  393. Although I've done some beta testing I can't guarantee that Play16 will
  394. not crash! If you find any bugs, let me know.
  395.  
  396. It is NOT the fault of MacroSystem NOR does it represent the quality of
  397. their products if the MPro output or the maestix.library should fail.
  398.  
  399.  
  400. Miscellaneous
  401. -------------
  402. I don't claim Play16 to be fast. I've done some optimizing - but because
  403. the loader/converter module is a universial one, more data is actually
  404. being moved around different memory blocks than needed for playback.
  405. However, I've implemented separate optimized routines for 8 bit and
  406. for 14/16 bit.
  407.  
  408. * Please note that English is not my native language :)
  409.  
  410. I can be reached at...
  411.  
  412. Internet: wenzel@unixserv.rz.fh-hannover.de (preferred)
  413.           Thomas_Wenzel@aventure.fido.de
  414. Fido:     2:2432/350.28 or 2:241/1035.6
  415.           Mail routing _is_sometimes_ unreliable in FidoNet :-(
  416.  
  417. If you use this program, please send me a mail. I'd like to know how many
  418. people are interested in it at all.
  419.  
  420.  
  421. History
  422. -------
  423. V0.5ß   - Initial beta test release
  424.  
  425. V0.6ß   - Optimized the code a bit.
  426.  
  427. V0.7ß   - Fixed some severe bugs that caused Play16 to crash when trying
  428.           to load corrupted files.
  429.  
  430. V0.8ß   - Play16 can now be stopped by pressing ctrl-c during playback. The
  431.           buffer that is currently being played will be finished first.
  432.         - Automatic filter control depending on sample rate.
  433.  
  434. V0.9ß   - Added 'loop'-option. Sample can be played several times.
  435.         - All time consuming routines now in hand optimized assembler code.
  436.  
  437. V1.0ß   - Play16 now uses standard OS2.x commandline template.
  438.           Thanks to Kai for persuading me to do this :)
  439.  
  440. V1.0    - Done some minor bugfixes.
  441.  
  442. V1.1    - Oops! Play16 caused some Enforcer hits. Fixed that.
  443.           Thanks to Rod Schnell for reporting it.
  444.         - Added 'single'-option. Sound can be loaded completely into memory
  445.           before playing. No looping possible in this case yet!
  446.         - Playback time in minutes:seconds displayed if verbose >= 1
  447.         - uLaw decompression for WAVE-Files, using a decoding table
  448.           for maximum speed (didn't do much testing on it, hope it works!)
  449.         - MAUD filetype support (why do there have to be so many formats?)
  450.         - AIFF filetype support
  451.         - ctrl-c now stops playback immediately.
  452.           Thanks to Marc for some programming tips about that.
  453.  
  454. V1.2    - IFF-8SVX filetype support (only uncompressed files!)
  455.         - RAW data support: _Any_ data can be played
  456.         - Preload feature added
  457.         - Fixed a bug that caused illegal memory access (hopefully)
  458.           Thanks to Ignatios Souvatzis for reporting it.
  459.         - Improved chunk handling
  460.  
  461. V1.3    - 14 bit output (finally!)
  462.         - Any file Play16 can't recognise is considered raw data unless
  463.           you set the STRICT keyword
  464.         - Fixed a bug in WAV filetype length determination
  465.         - Advanced audiofilter control / original state will be restored
  466.           after playback
  467.         - More information about sound (AUTHOR or ANNO-Chunk) is being
  468.           printed out if VERBOSE>=1. However, Play16 will *not* search
  469.           the whole file for that string. If it doesn't come before the
  470.           sound data -- bad luck :-)
  471.  
  472. V1.3a   - Bugfix in chunk handling routine: Chunks with an odd length
  473.           were treated incorrectly. This bug accompanied all versions
  474.           of Play16, even V1.0. However, I decided to release a fix now
  475.           instead of letting you wait until V1.4 is finished.
  476.  
  477. V1.4    - Wildcard and multiple file support
  478.         - Environment variable support (partial)
  479.         - A filerequester will pop up if no filename is given
  480.         - Workbench support, including icon with tooltype entries
  481.         - Maestro Pro output, using Richard Körber's Maestix package
  482.         - Calibrated 14 bit output, using Christian Buchner's
  483.           CyberSound package
  484.         - IFF-8SVX file dump
  485.         - Creative VOC support (currently only 1st data block)
  486.           (This format crazy :-))
  487.         - Closing the output window now stops playback, too
  488.         - Looping now for single mode as well, LOOPS=0 won't cause
  489.           a severe crash any more
  490.           Thanks to Andy Church for reporting it.
  491.         - Open a screen during playback, e.g. productivity for fast DMA
  492.         - German docs
  493.  
  494. V1.5    - Fixed a bug that caused enforcer hits when running Play16
  495.           from CLI
  496.         - Changed the depth of Play16's productivity screen to 1 bitplane
  497.           to reduce CPU- and DMA-load
  498.         - "Play16 <path>" now opens a filerequester pointing to the
  499.           specified path. The new PATH tooltype does the same.
  500.         - Fixed mono playback of raw tracks.
  501.         - uLaw decompression for MAUD, too
  502.         - Fibonacci Delta decompression for 8SVX, thanks to Ralph Wermke.
  503.  
  504. V1.6    - Improved the V34 performance. (whoops, wrong file! :-)))
  505.         - A one-plane-screen will now be used for CLI mode as well.
  506.         - Task priority is now reset to 0 at exit.
  507.         - Files with additional data after the sound chunk are now being
  508.           played correctly.
  509.         - CTRL-D now skips the current sound and starts playing
  510.           the next one.
  511.         - ASL library will only be opened if a filerequester is really
  512.           needed. Thanks to all who suggested to do this.
  513.         - New option: Volume (only for Paula8 mode)
  514.         - New option: Multiple (only if filerequester pops up)
  515.         - No more chunks of odd length in 8SVX dump
  516.         - MS-ADPCM decompression for WAV files
  517.         - RAW option works now as a Tooltype entry as well
  518.         - Nice MagicWB icon for the Play16 drawer done by Mario Cattaneo
  519.  
  520. V1.7    * New features:
  521.         - Online help
  522.         - A-Law decompression for RIFF-Wave and ISDN-Master RAW
  523.         - Now using AsyncIO.library to read the audio data
  524.         - AHI audio system support (still experimental)
  525.         - Exponential Delta decompression for 8SVX
  526.  
  527.         * Fixed bugs:
  528.         - MULTIPLE does not hang any more
  529.         - Hopefully no more illegal memory access for FibDelta playback
  530.         - No more crashes when ecountering unknown 8SVX compression methods
  531.  
  532. Future plans
  533. ------------
  534. - Supporting loops stored within 8SVX files
  535. - Simple Center and Surround decoder
  536.  
  537. Unfortunately I currently don't have the time to add the following:
  538. ------------------------------------------------------------------
  539. - Better Creative-VOC support
  540. - ADPCM decompression for other filetypes as well (e.g. ZyXEL)
  541. - some of the file types saved by Macintosh software (e.g. Sound-Designer)
  542.   (Please let me know if you really need this. I think AIFF should be
  543.   sufficient.)
  544. - Cyclic Buffer for playback instead of Double Buffering
  545.  
  546.  
  547. Known bugs
  548. ----------
  549. Looping of Fibonacci Delta sounds may be distorted.
  550.  
  551. Large VOC sounds can't be played completely.
  552.  
  553. If there's not enough free CPU time, Play16 sometimes repeats parts of the
  554. sound and may stop playback prematurely. Maybe asyncio will reduce this
  555. problem a bit.
  556.  
  557.  
  558. Credits
  559. -------
  560. Thanks go to the following persons:
  561.  
  562. Kai Stuke          for many vital hints on C programming and the Amiga
  563.                    audio device and for beta testing this program.
  564.  
  565. Marc Albrecht      for doing some beta testing as well, giving valuable
  566.                    hints on optimizing the code and translating this document
  567.                    into German.
  568.  
  569. Clete Baker        for supplying the AIFF- and SDII specs.
  570.  
  571. Richard Körber     for writing the Maestix Library and making it freeware.
  572.  
  573. Christian Buchner  for his research and ideas on how to improve the
  574.                    14bit output by calibrating the DACs individually.
  575.  
  576. Mario Cattaneo     for the nice Play16 drawer icon
  577.  
  578. Christian A. Weber for his good ISDN A-Law decoder source
  579.  
  580. Martin Blom        for his neat AHI audio system
  581.  
  582. And to all the people who wrote me!
  583.