-- Play16 version 1.0 - a versatile RIFF-WAVE player for the Amiga -- Features in brief ----------------- - autodetects and plays almost any WAV file, up to 16 bit / 56 kHz / stereo - correct playback speed, even for sounds >28 kHz - plays mono sounds on *both* channels, not only on the left one - plays files that are larger than memory - system friendly audio channel allocation - etc... What do I need to use Play16? ----------------------------- Any Amiga running Kickstart/Workbench 2.04 or greater. What does it do? ---------------- Basically, Play16 is capable of playing any uncompressed RIFF-WAVE soundfile through Amiga's standard audio device. If the actual resolution or playback rate exceeds that of the Amiga hardware, realtime conversion is done so that the sound is being played correctly. You can even play 16 bit / 44 kHz WAVEs, providing all parts of your system can keep up with the high data transfer rate and lots of calculations needed for this task. (In this case an accelerated Amiga is recommended :-) How does it work? ----------------- The standard Amiga audio device is limited to 8 bit / 28 kHz playbck when using DMA. With the introduction of ECS the 28 kHz DMA barrier was broken - but only if the current displaymodes was one with double scan rate like productivity. If you don't have ECS or if you simply don't want to switch to Productivity just to listen to your desired sound, Play16 can can halve the sample rate during playback. In the current version of Play16 only 8 bit output is supported so 16 bit sounds are converted accordingly. To play back even long sounds, the popular method double buffering is used. Unfortunately this makes it impossible to play sounds from disk or other slow media. I promise a single buffer option will be included in the next version. Why Play16? ----------- 16 bit soundcards are becoming more and more popular, especially on the PC. The common file format over there is Microsoft's (yuck! :)) RIFF- WAVE format. I didn't find any CLI based program to play back 16 bit WAVE recordings, on a standard Amiga, so I decided to write one myself. Why don't you call it Waveplay then? ------------------------------------ Simply because I intend to support other formats as well in the future. What options are provided? -------------------------- This is the first release so dont't expect loads and loads of options and switches -- I'm glad this thingy runs at all :) Currently there are... FAST/S Do not automatically switch to halve sample rate if the soundfile's rate exceeds 28 kHz. Use this option when running your Amiga in Productivity or similar display modes. BUFFER/N Buffersize in samples. May vary from 32768 to 131072. The amount of allocated memory also depends on whether the sound is mono or stereo, 8 bit or 16 bit. Default is 65536 samples, values are rounded to multiples of 32768. VERBOSITY/N Sets the level of verbosity. 0: Just display the banner and error messages 1: Print additional information about the sound file, allocated memory, etc. 2: Progress information 3: Debugging information (may look a bit wierd :) Default is level 0. LOOPS/N Determines the number of loops to be played. Default is 1 loop. (Play the sound once.) Example: Play16 baseline.wav FAST BUFFER=131072 VERBOSITY=1 LOOPS=10 Legal stuff ----------- Play16 is copyrighted freeware. It may be distributed freely as long as no modifications are made to the executable and this document. A nominal fee may be asked to cover distribution costs. Play16 may not be used for any commercial purposes or included with any commercial product without the written permission of the author. No responsibilities are taken for damaged speakers, amplifiers, Amigas or any other components or data involved while using Play16. Although I've done some beta testing I can't guarantee that Play16 will not crash! If you find any bugs, let me know. Miscellaneous ------------- I don't claim Play16 to be fast. I've done some optimizing - but because the loader/converter module is a universial one, more data is actually being moved around different memory blocks than needed for playback. This method will however provide the basis for future enhancements in the playback routine like cascading two channels to archieve 14 bit output. I may also support some soundcards as well. * Please note that English is not my native language :) I can be reached at... Internet: wenzel@unixserv.rz.fh-hannover.de Thomas_Wenzel@aventure.fido.de Fido: 2:243/6050.28 Snail: Thomas Wenzel Dresdener Str. 20 31789 Hameln Germany History ------- V0.5ß Initial beta test release V0.6ß Optimized the code a bit. V0.7ß Fixed some severe bugs that caused Play16 to crash when trying to load corrupted files. V0.8ß Play16 can now be stopped by pressing ctrl-c during playback. The buffer that is currently being played will be finished first. Automatic filter control depending on sample rate. V0.9ß Added 'loop'-option. Sample can be played several times. All time consuming routines now in hand optimized assembler code. V1.0ß Play16 now uses standard OS2.x commandline template. Thanks to Kai for persuading me to do this :) V1.0 Done some minor bugfixes. Future plans ------------ - Single buffer loading for devices with slow data transfer rates - IFF-8SVX, AIFF, Macrosystems-MAUD and maybe Creative-VOC support (Could anyone please send me the AIFF and 16bit VOC specs?) - 14 bit output - Soundcard support - More information about Sound (AUTHOR or ANNO-Chunk) Credits ------- Thanks go to the following persons: Kai Stuke for many vital hints on C programming and the Amiga audio device. for beta testing this program.