Bekanntlich verwendet die Virtuelle Orgel GO Pfeifentoneinzelaufnahmen in Form von Wave-Dateien. Sie werden applikationsspezifisch zu Sample-Sets zusammengefasst. Weniger bekannt dürften der Aufbau und die Syntax der Wave-Files sein. Deshalb richtet sich dieser Beitrag als Orientierungshilfe an angehende VPO-Organisten, die in die Musikprogrammierung einsteigen bzw. ihr Hintergrundwissen entsprechend erweitern möchten.
1. PCM-Waveform-Files
Anhand eines kurzen Signalverlaufs habe ich für eine beispielhafte, vollwertige PCM-Waveform-Datei eine "Schritt für Schritt"-Anleitung zur Dekodierung zusammengestellt (s. Anlage). Sie zeigt, wie eine unkomprimierte PCM-Waveform-Datei aufgebaut ist und wie sie aus Sicht von GO zu lesen bzw. zu interpretieren ist. Dieses Speicherformat möchte ich als "Standardformat" für GO-kompatible Pfeifentonsamplings bezeichnen.
Zusammenfassung für Schnellleser:
Ein PCM-Waveform-File besteht aus mehreren Datenbereichen bzw. (Daten-)Blöcken, den sog. "Chunks". Für die Audiowiedergabe sind zwei Blöcke relevant: Der Formatierungsblock beschreibt das Audioformat bzw. die Aufnahmebedingungen (u.a. Abtastrate, Wortlänge und Kanalzahl). Der Audioblock enthält die klangformenden und klangbildenden Datenpunkte als "Stream" der Samples, zumeist in Ganzzahlen. Darüber hinaus ist für GO der Samplerblock von Bedeutung, welcher die Wiederholungsschleife festlegt (den Sustain-Loop). Optional kann ein weiterer Block mit einem Marker die Sprungadresse für den Beginn der Ausklingphase des Pfeifentonsignals angeben (den Release-Beginn durch einen "Cue-Point" anzeigen). Weitere Datenblöcke braucht GO nicht, wenngleich es eine Fülle optionaler Metadaten gibt (z.B. Angaben zum Sampling-Ersteller, dem Aufnahmedatum, der verwendeten Audiosoftware, u.v.a.m.).
Jeder Block hat stets eine eindeutige Kennung als "Überschrift", welcher die Längenangabe für diesen Block folgt. Erst danach kommen jeweils die eigentlichen Nutzdaten. Für die Dekodierung müssen bestimmte Regeln beachtet werden. Im Wesentlichen betrifft dies die Reihenfolgeanordnung der Bytes im sog. "Little Endian"-Format, sowie den Umgang mit negativen Zahlenwerten als "Zweierkomplemente". (Bei der Tonaufzeichnung / -wiedergabe berücksichtigt die jeweilige Aufnahme- bzw. Wiedergabesoftware die Codierungsregeln.)
Die Spezifikation für Wave-Files lässt eine Vielzahl spezieller, optionaler Informationsblöcke zu, die jedoch für GO bedeutungslos sind und die GO deshalb beim Dekodieren ohne Fehlermeldung ignoriert bzw. überspringt.
2. WavePack-Files
GO akzeptiert auch sog. "WavePack"-Files. Es sind komprimierte PCM-Wave-Dateien (ähnlich zu 7-Zip). Jedoch ist nicht jedes marktgängige Audiosoftwareprodukt hierzu kompatibel. Bspw. können "Samplitude", "SpectraLayers", "Sound Forge", u.v.a.m. WavePack-Files nicht öffnen. (Weitere Infos zu WavePack s. https://www.wavepack.com .) Zur Dekodierung empfiehlt sich, zunächst mit einem entsprechenden Softwaretool die Datei zu dekomprimieren. Hierzu eignen sich u.a. die kostenlosen Audioprogramme "Audacity" und "Pazera Free Audio Extractor", oder auch die kostenpflichtige Software "WaveLab" des Herstellers Steinberg. Allerdings gehen bei den genannten Produkten bei der Dekompression Loop(s) und Marker verloren. Da meinen Erkenntnissen zufolge in WavePack-Dateien nur der Audiodatenblock komprimiert ist, sollten sich Loop(s) und Marker aus der komprimierten Originaldatei (wie aus einer unkomprimierten nach Pkt. 1) rekonstruieren lassen. Mit dem WavePack-Komprimierungsalgorithmus für die Audiodaten habe ich mich (noch) nicht auseinandergesetzt, ebenso nicht mit dem Speicherformat neuerer "Hauptwerk"-Produkte.
-
Version 1.0.0
-
Ezasi -
3. März 2024 um 12:37 -
3,42 MB -
73 Downloads
-