JavaSound

aus BORG Wiki, der freien Wissensdatenbank

Fehlendes Bild
VerwaistIcon.png
Bild:VerwaistIcon.png

Dieser Artikel wurde von seinem ursprünglichen Autor als verwaist markiert.
Dies bedeutet, dass er an ihm zwar nicht mehr weiterarbeiten, ihn aber auch nicht löschen will. Du kannst ihn also gerne erweitern und dann in deine Benutzerkategorie überführen. Dokumentiere das aber auch in der Diskussionsseite.

Dieser Artikel behandelt die Verarbeitung von Audiodaten (sampled audio und MIDI) in Java mit Hilfe des JavaSound Paketes. Es führt in die Grundlegende Architektur ein und erklärt mittels Beispielen die Verwendung in eigenen Projekten.

Inhaltsverzeichnis

Einführung

Das Java Sound API (kurz JSA) stellt die rudimentärste Funktion zur Verarbeitung von Audiodaten in der Java Plattform dar. Sie stellt starke Funktionen zur Audioverarbeitung bereit und ist erweiterbar. Zum Beispiel stellt es Funktionen zur Installation, zum Zugriff und zur Manipulation von Systemressourcen, wie Mixern, MIDI-Synthesisern und anderen Ton- und MIDI-Geräten, sowie spezielle FileReader/-Writer und Audioformatkonvertern bereit.

Das auf dem JSA aufbauende und als Erweiterung (also optional zum herunterladen) Java Media Framework (JMF), ist zwar höher und daher einfacher zu bedienen, es erlaubt aber keine genaue Kontrolle über die Audioverarbeitung.

Aufbau

Das JSA ist über 2 Pakete (packages) verteilt, welche die Bereiche Sampled Audio und MIDI abdecken.

javax.sound.sampled - Stellt Funktionen zur Aufnahme, Mischung und Wiedergabe von verarbeiteten Audiodaten (sampled audio) bereit
javax.sound.midi - Stellt Funktionen zur Generierung und Sequenzierung von MIDI-Daten bereit

Die jeweiligen Unterpakete psi erlauben die Funktionalität des JSA zu erweitern. Für uns sind sie nicht von Interesse.

Sampled audio

Als sampled audio werden digitalisierte Töne, Geräusche usw. bezeichnet. Diese sind einfach fortlaufende Momentaufnahmen eines Signals. Im Falle von Audio ist dieses Signal eine Welle, dass zunächst über ein Mikrofon von einem akkustischen in ein elektrisches Signal umgewandelt wird, und dann von einem Analog-Digital-Konverter/Wandler in ein verarbeitetes digitales Format (= sampled audio) gebracht wird.
Beispiele für diese Formate sind WAV, MP3, OGG/Vorbis, AAC etc. sampled audio-Formate.

MIDI

TODO
MIDI überarbeiten, Artikelstuktur überarbeiten

Im Gegensatz hierzu steht das Musical Instrument Digital Interface kurz MIDI. Dieses bezeichnet eigentlich ein als Industriestandard ausgewiesenes Protokoll. Im Sprachgebrauch steht es aber für alles, was man mit MIDI machen kann. Bekannte Anwendungen sind zum Beispiel das MIDI-Keybaord oder durch den Computer "generierte" Musik.

Funktionsweise MIDI kann man als eine Art Kochrezept zur Erzeugung von Tönen sehen: Anstatt selber Audiodaten zu sein, steuern sie ein Gerät, dass diese dann erzeugt.

Diese Steuerungasanweisungen werden als events bezeichnet (vgl. events generell in Java). Sie werden durch den sequencer erzeugt. Dieser kann in Hardware (auf Soundkarten meist als eigener Chip verwirklicht) oder in Software implementiert sein.
Um aus den events aber wieder Töne zu machen schickt man diese an den Synthesiser, welcher wieder in Hard- oder Software vorhanden sein kann. Dieser greift auf eine Tondatenbank zurück, mit der er dann den Ton erzeugt.

So ist es zum Beispiel möglich, dass man mit einem Keyboard Gitarre oder Oboe spielen kann.

Weitere Informationen hierzu bei Wikipedia (de) (http://de.wikipedia.org/wiki/Musical_Instrument_Digital_Interface) und (en) (http://en.wikipedia.org/wiki/Musical_Instrument_Digital_Interface)

Weblinks

Quellen

Bild:Liste.png

'Persönliche Werkzeuge