Java Sound
Java Sound ist die grundlegende Programmierschnittstelle der Referenzimplementierung von Java zur Ein- und Ausgabe von Audiodaten via Steuerdaten (MIDI) oder Bitstream-Format (beispielsweise WAV). Sie ist explizit hardwarenah angelegt und bietet Möglichkeiten zur Klangmanipulation sowie kontrollierten Pufferung der Audiowiedergabe.
Das anwenderorientierte Java Media Framework (JMF) und dessen inoffizieller Nachfolger JavaFX bauen auf Java Sound auf.<ref name=":0">Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.</ref>
Entwicklung[Bearbeiten]
Java Sound wurde 1999/2000 mit der JDK-Version 1.3 veröffentlicht. In Version 1.1 war es nur mittels Applets und Suns eigenem Au-Dateiformats möglich, Töne auszugeben. Ab Version 1.2 war die Wiedergabe von WAV-, MIDI- und AIFF-Dateien unterstützt.
Mit Java Sound wurde in Version 1.3 eine universelle Schnittstelle eingeführt, welche Audiodaten hardwarenah verarbeitet und neben der Ausgabe auch die Aufnahme von Audiodaten ermöglichte. Die Unterstützung weiterer Dateiformate wurde in höhere Abstraktionsebenen ausgelagert.
In Version 1.5 wurde eine Reihe weiterer Standards implementiert, Kompatibilität mit verschiedenen Betriebssystemen hergestellt, die Ansteuerung von Ein- und Ausgabe-Geräten verbessert, Werkzeuge zur Manipulation von MIDI-Daten nachgereicht sowie eine Reihe von Bugs behoben.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> Seitdem werden die Audio-Funktionalitäten von Java in Softwarebibliotheken weiterentwickelt, die auf Java Sound aufbauen.<ref name=":0" />
Bis 2003 wurde parallel eine Open-Source-Implementierung namens Tritonus entwickelt.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden. ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref> Da Java selbst seit 2006 zunehmend quelloffen ist, wurde das Projekt nicht weiterverfolgt.<ref>Dave Phillips: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden. ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Struktur[Bearbeiten]
Java Sound spezifiziert vier Pakete, davon zwei für Dienstschnittstellen:
- javax.sound.sampled definiert Schnittstellen zur Aufnahme und Wiedergabe, sowie zum Mischen von digitalem Ton
- javax.sound.midi definiert Schnittstellen zur MIDI-Synthese, -Sequenzierung und zum Transport von Ereignisse
- javax.sound.sampled.spi und javax.sound.midi.spi (SPI: Service Provider Interface = Plug-ins) definieren Schnittstellen zur Erstellung zusätzlicher Dienste durch Drittanbieter, beispielsweise
- Audiomischer
- MIDI-Synthesizer
- Parser, die einen neuen Audio- oder MIDI-Datentypen lesen und schreiben können
- Konverter zur Übersetzung zwischen unterschiedlichen Tondateiformaten
Literatur[Bearbeiten]
- Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
- Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
- Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
- Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
Weblinks[Bearbeiten]
- Java Sound API – Dokumentation des Anbieters Oracle
- Die Java Sound API bei Ludwig-Maximilians-Universität München
Einzelnachweise[Bearbeiten]
<references />