home *** CD-ROM | disk | FTP | other *** search
-
- --------------------------------------------------------------------------
- - Play16 Version 1.6 (04.02.96) - Ein flexibler Soundabspieler für Amiga -
- --------------------------------------------------------------------------
-
- Kurzübersicht
- -------------
- - erkennt und spielt automatisch verschiedene Soundformate, bis zu
- 16 Bit, 56 kHz, stereo
- - volle Workbench-Unterstützung, jedoch kein GUI
- - immer korrekte Wiedergabegeschwindigkeit, sogar bei Sounds >28 kHz
- - Echtzeitwiedergabe von Festplatte, optimierte Assembler-Routinen
- - 14 Bit Ausgabe möglich (weniger Rauschen, aber schlechter als 16 Bit)
- - automatische oder manuelle Filter-Kontrolle
- - spielt Mono-Sounds auf BEIDEN Kanälen, nicht nur auf dem linken
- - spielt (und wiederholt) Files, die größer als der Speicher sind
- - Vorlade-Funktion für Tastengenaues Playback-Starten
- - schnelle uLaw Entpackfunktion
- - Systemfreundliche Tonkanal-Belegung
- - Ausgabe in ein File ist möglich (Sound-Konvertierung)
- - unterstützte Filetypen bislang:
-
- * Microsoft RIFF-WAVE (.WAV) mono/stereo, 8/16 bit, linear/uLaw/ADPCM
- * Creative Voice File (.VOC) mono/stereo, 8/16 bit, linear
- * Sun/NeXT Audio (.AU) mono/stereo, 8/16 bit, linear/uLaw
- * MacroSystem Audio (.MAUD) mono/stereo, 8/16 bit, linear/uLaw
- * Apple/SGI/Amiga AIFF (.AIFF) mono/stereo, 8/16 bit, linear
- * Amiga IFF-8SVX (.IFF) mono/stereo, 8 bit, linear/FibDelta
- * Raw-Sound-Daten mit mindestens einer folgender Voraussetzungen:
- - 8 bit Vorzeichenbehaftet
- - 8 bit nicht Vorzeichenbehaftet
- - 16 bit signed, Intel Format (LSB zuerst)
- - 16 bit signed, Motorola Format (MSB zuerst)
-
- - derzeitig unterstützte Ausgabegeräte:
-
- * Amiga (Paula) 8 bit
- * Amiga (Paula) 14 bit
- * Amiga (Paula) 14 bit kalibriert (Christian Buchner)
- * MacroSystem Maestro Pro 16 bit 44.1kHz und 48kHz
- * IFF-8SVX File Ausgabe 8 bit
-
- ========================== Kapitel 1: Quick Start =========================
-
- Was wird für Play16 benötigt?
- -----------------------------
- Ein Amiga mit mindestens Kickstart/Workbench 2.04.
-
- Um die kalibrierte 14Bit-Ausgabe zu verwenden, muß ein gültiges
- CyberSound-Preferenzfile im ENVARC: vorhanden sein. Wenn ein solches noch
- nicht erstellt wurde, kann es mit Christians Kalibrierungsprogramm, das
- sich in diesem Archiv befindet, erzeugt werden.
-
- Maestix.library V39 wird für die MPro-Ausgabe benötigt.
-
- Wo finde ich die neueste Version?
- ---------------------------------
- - FIDONET: Amiga Venture BBS, Germany (2:2432/350)
- - AMINET: mus/play
- - WWW: http://linux.rz.fh-hannover.de/~wenzel/Play16/
-
- ferner empfehle ich, folgende Pakete anzusehen:
-
- CyberSound:
- - AMINET: disk/cdrom/14Bit_CDPlayer.lha
-
- Maestix:
- - AMINET: util/libs/Maestix39_00.lha
-
- Wie verwende ich es?
- --------------------
- CLI: "Play16 <filename>" - das ist alles!
- Workbench: Nach einem Doppelklick auf das Icon erscheint ein Filerequester.
-
- Alle möglichen Optionen werden später erläutert. Wenn keine Option gesetzt
- ist, werden die Standardwerte angenommen.
-
-
-
-
-
- ================= Kapitel 2: Hintergrunds-Informationen ===================
-
- Was tut es?
- -----------
- Grundsätzlich ist Play16 in der Lage, unkomprimierte und _einige_
- komprimierte Soundfiles mit dem Standard Amiga AudioDevice abzuspielen
- oder eine wachsende Anzahl externer Geräte anzusteuern. Sollte die dazu
- benötigte Auflösung oder Wiedergabegeschwindigkeit eines Sample-Files die
- Möglichkeiten der Amigahardware überschreiten, wird eine Echtzeit-Anpassung
- vorgenommen, so daß der Sound immer korrekt wiedergegeben wird.
-
- Es können sogar 16 Bit/44.1kHz Sounds wiedergegeben werden, vorausgesetzt,
- alle Elemente des verwendeten Systems kommen mit der hohen Datentransferrate
- mit. In einem solchen Fall ist ein beschleunigter Amiga eine sinnvolle
- Sache!
-
- Die beiden Audiokanäle einer jeden Seite können miteinander verbunden
- werden um nach dem Subranging Verfahren eine 14Bit Ausgabe zu ermöglichen.
- Dies erfordert jedoch ebenfalls eine Menge Rechenzeit.
-
- Auf jeden Fall ist ein Amiga 3000-16MHz schnell genug, ein unkomprimiertes
- Soundfile mit 44.1kHz/14Bit (Productivity Mode!) direkt von der Festplatte
- abzuspielen.
-
- Ich habe nicht vor, Play16 soweit zu erweitern, daß es jedes, aber auch
- jedes exotische Format, das irgendwo existieren mag, unterstützt. Dennoch
- versuche ich, soviele verbreitete Formate wie möglich einzubinden.
-
-
- Warum Play16?
- -------------
- Ich konnte kein CLI-Programm zum Abspielen von 16Bit-Aufnahmen finden,
- also entschied ich mich, selber eines zu schreiben: Play16.
- 16Bit Soundkarten werden immer populärer, besonders auf PCs. Das
- verbreitete Format dort ist Microsofts (örks! :-) ) RIFF-WAVE Format.
-
-
- Warum CLI - und keine GUI?
- --------------------------
- Es gibt so viele GUI unterstützende Directory-Utilities - Play16 kann
- einfach als externer Player eingebunden werden. Die begleitende
- Dokumentation der Directory-Programme sollte erläutern, wie dies möglich
- ist. Ein Beispiel wäre: Ein Schalter namens "Jingle" wird angelegt und
- enthält die Funktion "Play16 <filename> PRELOAD". Nachdem dann das
- gewünschte Soundfile angewählt und der Schalter "Jingle" angeklickt wurde,
- kann per Tastendruck die Wiedergabe des Sounds gestartet werden. Das ist
- besonders brauchbar auf Partys oder beim Nachvertonen von Videos ;-)
-
-
- Wie funktioniert es?
- --------------------
- Das gewöhnliche Amiga Audio Device ist beschränkt auf 8Bit, 28kHz
- Wiedergabegeschwindigkeit mit DMA. Mit der Einführung des ECS wurde die
- 28kHz Barriere überwunden, jedoch nur, wenn der aktuelle Displaymodus einer
- mit doppelter Scanrate war, wie z.B. Productivity. Der Grund hierfür ist
- die Abhängigkeit von Video- und Audio-DMA. Sollte kein ECS-Chipsatz
- vorhanden sein oder ist das Umschalten auf Productivity nur zum Anhören
- eines Sounds unerwünscht, kann Play16 die Wiedergaberate während des
- Abspielens halbieren.
-
- Ein anderer Weg, hohe Wiedergabequalität zu erlangen, ist IRQ. Das
- funktioniert unabhängig vom Displaymodus. Ich habe, lange bevor ich an
- Play16 zu schreiben angefangen habe, damit herumexperimentiert, es waren
- aber immer derart viele "Jitter"-Störungen, daß meine heute verwendete
- Wiedergabe Methode doch erheblich besser klingt.
-
- Um auch lange Sounds wiedergeben zu können, wird die oft verwendete
- DoubleBuffer-Methode benutzt. Alternativ können auch alle Daten in den
- Speicher geladen werden, dies ist zum Abspielen kurzer Sounds oder zum
- Wiedergeben von langsamen Medien wie Floppies oder CD-Rom sinnvoll.
-
- Die 14Bit Ausgabe wird erreicht, indem ein Kanal auf jeder Seite auf
- Lautstärke 64, der andere auf Lautstärke 1 gesetzt wird. Der lautere Kanal
- repräsentiert dann die oberen 8 Bit, während der leisere die unteren 6
- Bit wiedergibt. Da das Timing bei dieser Methode sehr kritisch ist, ist es
- nötig, direkt auf die Hardware zuzugreifen, anstatt das audio.device zu
- verwenden. Diese Methode mag in zukünftigen Amiga-Modellen nicht mehr
- möglich sein - sollte es solche jemals geben... :-/
-
- Unglücklicherweise sind die DACs im Amiga nicht linear. Eine erhebliche
- Soundqualitätssteigerung kann daher mit einer Kalibrierung des Subranging
- Konverters erreicht werden. Dazu muß, mit Christian Buchners CyberSound
- System, jeder Schritt einzeln eingestellt werden. Play16 kann die erstellten
- Tabellen von CyberSound einlesen.
-
- Die MPro Ausgabe verwendet die maestix.library von Richard Körber. Weitere
- Details sind im Maestix-Paket auf dem Aminet zu finden.
-
- =========================== Kapitel 3: Optionen ============================
-
- Welche Optionen gibt es?
- ------------------------
- Es gibt drei Wege, Optionen an Play16 zu übergeben:
-
- CLI: In der Kommandozeile, AmigaOS 2.x Template
- Workbench: Im Icon, Amiga Workbench Tooltype Einträge
- Generell: Mit dem Setzen von Enviroment-Variablen. Dies ist noch nicht
- für alle Funktionen möglich.
-
- Die Tooltype Einträge sind identisch mit dem Keywords, die in der
- Kommandozeile übergeben werden können. Für weitere Informationen über die
- Verwendung von Keywords oder Tooltypes sei ein Blick in die AmigaOS-
- Dokumentationen empfohlen. Die Enviroment-Variablen bestehen einfach aus
- dem entsprechenden Namen und sind in ENV:Play16 abgelegt.
-
- Grundlegende Optionen: (Alle Optionen mit (*) erlauben entsprechende
- ENV-Variablen)
-
- VERBOSITY/N Gibt den Grad der Informationsmenge an.
- 0: Nur Banner und Error-Meldungen
- 1: gibt Informationen über das Soundfile und den verwendeten
- Speicher aus
- 2: Informationen über Programmschritte
- 3: Debugging Informationen (dürfte wild aussehen :) )
- Voreinstellung ist Level 0.
-
- FAST/S schaltet NICHT automatisch auf halbe Wiedergaberate herunter,
- wenn die im Soundfile angegebene Rate 28kHz überschreitet.
- Diese Option ist sinnvoll, wenn der Amiga im Productivity oder
- ähnlichen Bildschirmmodi läuft.
-
- HIFI/S Seit V1.4 überflüssig, aber aus Kompatiblitätsgründen noch
- enthalten. Siehe "OUTPUT/K"
-
- VOLUME/N Legt die Wiedergabe Lautstärke fest. Dies funktioniert nur
- bei Paula8 Ausgabe.
-
- OUTPUT/K(*) Setzt das Ausgabegerät. Mögliche Optionen sind:
-
- Paula8 Standard 8Bit Ausgabe über die Amiga-Hardware. Dies ist die
- Voreinstellung.
-
- Paula14 Schaltet auf 14Bit Wiedergabe. Achtung! Dies ist eine Hack-
- Routine, die direkt die Hardware-Register anspricht. Ich habe
- alles getan, das mir einfiel, um andere Tasks zu schützen,
- aber man weiß ja nie... Vorsicht also bei der Anwendung.
-
- Paula14c Das gleiche wie bei Paula14, aber mit Kalibrierungs-
- Preferenzen für bessere Wiedergabequalität. Siehe
- Kapitel 2.
-
- MPro Verwendet das MacroSystem Maestro Pro Bord für die Ausgabe.
- Dabei werden nur 44.1kHz und 48kHz unterstützt. Bei der
- 44.1kHz Wiedergabe muß ein sauberes Signal am Eingang
- der Karte anliegen, für detailiertere Informationen sei die
- Anleitung von Maestix und der MPro-Karte empfohlen.
-
- 8SVX Der Sound soll nicht abgespielt sondern in ein IFF-8SVX File
- geschrieben werden. Im Grunde genommen ist dies die Ausgabe von
- <Paula8> umgeleitet in ein File. Der Dateiname ist der der
- Eingabedatei mit angehängtem "iff".
-
- ACHTUNG: Alle Limits von <Paula8> gelten auch hier - also:
- - 16Bit Sounds werden auf 8 Bit reduziert - schlechtere
- Qualität
- - Wenn FAST nicht gesetzt ist, wird die Sample-Rate auf
- max. 28kHz reduziert
- Ich empfehle dringend, das Original-File zu behalten, wenn
- genug Platz dafür ist. Die Enttäuschung über die Soundqualität
- beim Kauf eines besseren Sound-Systems könnte sonst groß sein!
-
- FILTER/K(*) FILTER=ON : Audio Filter EIN bei Wiedergabe
- FILTER=OFF : Audio Filter AUS bei Wiedergabe
- FILTER=AUTO: Filter abhängig von der Samplerate setzen
- Wenn FILTER nicht angegeben wird, läßt Play16 die Register
- des AudioFilters unberührt.
-
- LOOPS/N Gibt die Anzahl der Wiederholungen an. Voreinstellung ist
- LOOPS=1 (spielt den Sound einmal).
- LOOPS=0 bedeutet endlose Wiedergabe.
-
-
- Weitere Optionen:
-
- WINDOW/K(*) Ausgabefenster-Größe. Dieses Keyword kann nur als ToolType
- eingetragen werden - und zwar nur im Play16 Icon selber. Wenn
- es nicht angegeben wird, werden die programmierten Werte ver-
- wendet.
-
- SCREENMODE/N Art des Bildschirms, der während der Wiedergabe geöffnet
- (*) werden soll. SCREENMODE=0 öffnet einen standard productivity
- Screen.
-
- PATH/K Setzt den Standardpfad für den Filerequester. In der
- Kommandozeile hat die bloße Angabe eines Pfades statt
- eines Filenamens den gleichen Effekt.
-
- SINGLE/S Benutzt nur einen Buffer statt zwei und lädt alle Daten auf
- einmal in den Speicher.
-
- PRIORITY/N Setzt die Priorität von Play16, dabei können Werte zwischen
- -25 und 25 angegeben werden, Voreinstellung ist 1.
-
- MULTIPLE/S Öffnet den Filerequester nach dem Abspielen aller Files
- erneut.
-
- BUFFER/N Größe des Buffers in Samples. Kann zwischen 32768 und 131072
- liegen. Die Menge des belegten Speichers hängt außerdem vom
- Typ des Sounds ab (Stereo oder Mono, 8 oder 16 Bit).
- Voreinstellung ist 65536 Samples, die Werte werden auf ein
- Vielfaches von 32768 gerundet.
- Übrigens ist es sinnlos, diesen Wert zu ändern, wenn der
- SINGLE Buffer Modus gesetzt ist :-)
-
- PRELOAD/S Lädt genug Daten in den Speicher, um die Wiedergabe auf einen
- Tastendruck hin zu starten
-
- RAW/S Schaltet die Dateityperkennung ab und teilt Play16 mit, was
- das Format des Sounds ist.
- Sollte Play16 das Format nicht selber erkennen können, wird
- ebenfalls auf RAW geschaltet. Soll dies verhindert werden,
- kann STRICT gesetzt werden:
-
- STRICT/S Spielt nur Files, die von der AutoDetect-Routine erkannt
- werden. Dies ist sinnvoll, wenn z.B. keine plötzlichen
- Krachgeräusche erwünscht sind (wenn z.B. Bilder statt
- Sounds angehört werden sollen :-)
-
- Beispiele:
-
- a) Play16 music.wav
- spielt das File "music.wav" einmal direkt von der Platte.
-
- b) Play16 music.wav SINGLE
- wie vor, lädt aber die Daten zunächst in den Speicher.
-
- c) Play16 music.wav SINGLE VERBOSITY=1
- wie vor, gibt aber zusätzliche Informationen aus.
-
- d) Play16 rhythm.wav LOOPS=10
- spielt den Rhythmus als fortlaufende Schleife (10mal).
-
- e) Play16 explosion.wav SINGLE PRELOAD
- lädt die Explosion in den Speicher und wartet auf einen Tastendruck
- <return> vor dem Abspielen.
-
- f) Play16 MyFavouriteTune.wav FAST OUTPUT=8SVX
- konvertiert das angegebene File nach IFF-8SVX ohne Änderung der
- Samplerate
-
- g) Play16 MyFavouriteTune.wav OUTPUT=8SVX
- wie vor, begrenzt aber die Samplerate der konvertierten Datei auf
- 28 kHz!
-
- Die folgenden Optionen teilen Play16 mit, welche Parameter benutzt werden
- sollen, wenn der RAW-Modus angewendet wird. Dies ist entweder beim Setzen
- von RAW der Fall oder wenn Play16 das File nicht identifizieren kann und
- STRICT _nicht_ gesetzt ist.
-
-
- Optionen im RAW Modus:
-
- FREQ/N Sample-Frequenz in Hz
- TRACKS/N Tracks, 1 = Mono, 2 = Stereo
- BITS/N Auflösung in Bits, 8 oder 16
- HEADER/N Länge des Headers: soviele Bytes sollen am Anfang des
- Files ignoriert werden.
- UNSIGNED/S Daten sind ohne Vorzeichen, nur bei 8 Bit Sounds
- INTEL/S Daten sind im Intel Format, nur bei 16 Bit Sounds
- ULAW/S Daten sind komprimiert mit uLaw
-
- Die Voreinstellungen sind: 22050 Hz, Mono, 8 Bit, kein Header.
-
-
- Wie wende ich dies im RAW Modus an?
- -----------------------------------
- Tjaaaaa...
- Wenn das Format des Soundfiles bekannt ist, sollten
- RAW, FREQ, TRACKS, BITS, UNSIGNED und INTEL entsprechend gesetzt werden.
- Sind die Werte nicht bekannt, bleibt nur Ausprobieren übrig. Hier einige
- Tips, um es etwas einfacher zu gestalten:
-
- Der HEADER sollte auf geraden Werten stehen (zunächst erstmal 0)
- Wenn BITS 16 sein sollen, und es kommt nur Rauschen, kann INTEL probiert
- werden.
- Wenn BITS 8 sind und der Sound verzerrt klingt, kann UNSIGNED probiert werden.
- Wenn dies nicht hilft, sollten verschiedene Kombinationen von BITS, INTEL
- und UNSIGNED probiert werden.
-
- Wenn ein erkennbares Ergebnis erreicht wurde und der Sound zu schnell oder
- zu langsam läuft, sollte mit TRACKS und FREQ experimentiert werden.
-
- Wenn bekannte Files und unbekannte gespielt werden sollen, ohne die
- Kommandozeile zu ändern, sollten einfach alle bekannten Daten der Raw-Files
- angegeben werden und die Keywords RAW und STRICT ausgelassen bleiben. Wenn
- Play16 dann den Sound identifizieren kann, benutzt es die im File
- angegebenen Werte - sonst verwendet es die Parameter der Kommandozeile.
-
-
- Rechtliches
- -----------
- Play16 unterliegt dem Copyright, ist aber FreeWare. Es darf frei kopiert
- werden, solange keine Änderungen am Programm und den begleitenden
- Dokumentationen vorgenommen wurden. Eine Unkostenbeteiligung in Höhe der
- Selbstkosten darf erhoben werden.
-
- Play16 darf nicht für kommerzielle Zwecke verwendet oder in einem
- kommerziellen Product enthalten sein, ohne daß eine schriftliche
- Genehmigung des Autors vorliegt.
-
- Jegliche Verantwortung für beschädigte Lautsprecher, Verstärker, Amigas oder
- andere bei der Verwendung von Play16 beteiligten Geräte wird ausdrücklich
- abgelehnt.
-
- Obwohl ich einige Betatests durchgeführt habe, kann ich nicht garantieren,
- daß Play16 nicht crasht! Jeder aufgefundene Fehler sollte mir berichtet
- werden.
-
- Es ist weder der Fehler von MacrosSystem noch repräsentiert es die Qualität
- der Produkte von MacroSystem, sollte die Ausgabe von MPro oder der
- maestix.library nicht funktionieren.
-
-
- Verschiedenes
- -------------
- Ich sage nicht, daß Play16 schnell ist. Ich habe einiges optimiert, aber da
- das Lade/Konvertier-Modul universell ist, werden mehr Daten hin- und
- hergeschoben, als tatsächlich zum Abspielen nötig wäre.
- Dennoch habe ich seperate optimierte Routinen für 8 Bit und 14/16 Bit
- eingebaut.
-
- Ich kann unter folgenden Adressen erreicht werden:
-
- Internet: wenzel@unixserv.rz.fh-hannover.de (vorzugsweise)
- Thomas_Wenzel@aventure.fido.de
- Fido: 2:2432/350.28 oder 2:241/1035.6
- Mail-Routing im Fido ist NICHT immer verläßlich!
-
- Wer dieses Programm verwendet, sollte mir bitte eine Mail schicken. Ich
- wüßte gerne, wie viele Leute daran interessiert sind.
-
- Entwicklungsgeschichte
- ----------------------
- Bitte in der englischen Dokumentation nachlesen
-
- Zukünftiges
- -----------
- - Unterstützung der in 8SVX Files gespeicherten Loops
- - Bessere VOC-Unterstützung
- - ADPCM Decompression auch für andere Dateitypen (z.B. ZyXEL)
- - einige Filetype von Macintosh Software (z.B. Sound-Designer)
- (Braucht das wirklich jemand? Ich denke, AIFF sollte ausreichend sein.)
- - Datatypes Ünterstützung
-
- Bekannte Fehler
- ---------------
- Wiederholtes Abspielen (looping) von Fibonacci Delta Sounds könnte
- verzerrt klingen.
-
- Lange VOC Sounds können nicht komplett abgespielt werden.
-
- Danksagungen
- ------------
- Danke geht an die folgenden Personen:
-
- Kai Stuke für wichtige Tips zur C-Programmierung und zum Audio-
- Device des Amiga, außerdem für das BetaTesten von Play16
-
- Marc Führer für Betatesten und Tips zur Codeoptimierung, sowie für
- die deutsche Version dieser Anleitung
-
- Clete Baker für die Spezifikationen von AIFF und SDII
-
- Richard Körber für die Maestix Library und dafür, daß sie FreeWare ist
-
- Christian Buchner für seine Forschungen und Ideen zur 14Bit Ausgabe und
- deren Kalibrierung
-
- Und an alle die, die mir geschrieben haben!
-