Creative Voice, Dateinamenserweiterung .VOC (in DOS-üblicher 8.3-Schreibweise) bzw. .voc, ist ein Audioformat für digitale Audiodaten für die in den 1990er-Jahren entwickelten Sound-Blaster-Soundkarten von Creative Labs.

Das Format war anfangs auf -Audio beschränkt und wurde mit dem Sound Blaster 16 auf -Audio erweitert (Containerformat). Die Audiodaten sind in meist mit PCM oder mit ADPCM kodiert.

Aufbau Original-Format (8-Bit) Das Dateiformat besteht aus einem 26-Byte großen Header und einer Reihe darauffolgender Datenblöcke, die die Audioinformation enthalten. Die Byte-Reihenfolge ist .

+ VOC-HeaderOffset (hex)Länge (in Byte)Inhalt 0x00 19ASCII-Zeichenfolge Creative Voice File 0x13 1EOF: 1A (hexadezimal) 0x14 2Offset für ersten Datenblock: 1A 00 (hexadezimal) 0x16 2Version (Major, Minor), hexadezimal; Beispielsweise: 0x010a, Version 1.10 0x18 2 Validierung: Versionsnummer + 0x1234, hexadezimal; Beispielsweise: 0x1129

Auf den Header folgen Datenblöcke. Jeder Datenblock beginnt mit einem Typ-Byte, das den Inhalt der Daten beschreibt, gefolgt von 3 Bytes für die Größe der Daten (als Integerzahl). Bei zwei der 9 definierten Typen fehlt die anschließende Größe der Daten, sodass der Block schließlich nur aus einem einzigen Byte besteht – diese sind 0x00, der , und 0x07, das Wiederholungsende.

Ist eine Größe angegeben, so folgt den ersten 4 Bytes ein Block des Inhalts, der sich aus dem angegebenen Typ ergibt, mit der angegebenen Größe.

+ VOC-DatenblockTyp (hex)Typ-BeschreibungGröße (3-Byte-Integer)Infoengl.deu. 0x00Trennzeichen –– 0x01Audiodaten 2+Größe der Daten+ AudioinhaltOffsetBeschreibungBedeutung 0x00Abtastrate256-(1000000/) 0x01Codecsiehe Tabelle wird ignoriert, wenn davor ein Block des Typs 0x08 () einen Codec definiert (ab Version 1.20, neues 16-Bit-Format) ab 0x02Audiodaten im angegebenen Format (Codec) 0x02weitere Audiodaten Größe der Datenweitere Audiodaten im selben Format wie der vorherige Block 0x03Stille 3+ StilleOffsetBeschreibungBedeutung 0x00-01Länge der Stille in der Einheit der AbtastrateInteger-1 0x02Abtastratewie bei Audioinhalt 0x04 2Markernummer (2 Bytes) Der jeweils letzte Marker bleibt beim Abspielen in einem Zwischenspeicher und kann wieder angesprungen werden. 0x05ASCII-Zeichenkette Länge der ZeichenketteNull-terminierte Zeichenkette 0x06Wiederholen 2Anzahl an Wiederholungen (2-Byte-Integer) 0x0000 bis 0xFFFE für 1–65.535 Wiederholungen, 0xFFFF für unendlich 0x07Ende der Wiederholung –

Die Datei endet optional mit dem -Block (Datenblock des Typs 0x00).

16-Bit-Formaterweiterung Um das bestehende Format auf 16-Bit zu erweitern wurde für den Datenblock ein neues Typ-Byte eingeführt: 0x09. Die Version im Header muss dabei 1.20 (Hexadezimal 0x0114) oder neuer sein.

+ Erweiterer VOC-DatenblockTyp (hex)Typ-BeschreibungGröße (3-Byte-Integer)Infoengl.deu. 0x08Zusätzliche Information 4+ AudioinhaltOffsetBeschreibungBedeutung 0x00-01Frequenz-Divisor256000000/(nb_channels * (65536 - frequency_divisor)) 0x02CodecErsetzt Codec-Informationen in allen auf diesen Block folgenden Audiodaten(blöcken) 0x03Kanälenb_channels = Anzahl -1, Beispiel: 2 Kanäle → 0x01 0x09Audiodaten im neuen Format 12 + Größe der Daten+ AudioinhaltOffsetBeschreibungBedeutung 0x00-03Abtastrate 0x04Bits pro Sample 0x05Kanäle 0x06-07Codecsiehe Tabelle 0x08-11reserviert ab 0x12Audiodaten im angegebenen Format (Codec)

Codecs + AudioinhaltCodec-ID (hex)Kodierung, Kompression, CodecBlock-Typ 0x008 Bits unsigned PCMOriginal (0x01, 0x02) und Neu (0x09) 0x014–8 Bits Creative ADPCM 0x023–8 Bits Creative ADPCM (2,6 Bits) 0x032–8 Bits Creative ADPCM 0x0416 Bits signed PCMab Version 1.20; Original (0x01, 0x02) und Neu (0x09) 0x06A-law 0x07μ-law 0x02004–16 Bits Creative ADPCMnur neues erweitertes Format (ab Version 1.20; 0x09 und 0x02)

Verwendung Creative-Voice-Dateien fanden in diversen DOS-Spielen Verwendung, wenn diese für die Audioausgabe Sound-Blaster-Karten verwenden konnten, beispielsweise Eye of the Beholder.

Die Verbreitung des Dateiformats verschwand zusehends mit dem Aufkommen von RIFF WAVE, welches in Windows von Microsoft bereits vom Betriebssystem unterstützt wurde. Für das Creative-Voice-Dateiformat mussten hingegen zusätzliche Abspielprogramme installiert werden, die bei den Treibern für die Sound-Blaster-Karten mitgeliefert wurden. Mit dem Aufkommen von AC’97 setzte sich WAVE, Dateiendung .WAV, schließlich durch.

Einzelnachweise

Kategorie:Audiokompression Kategorie:Codec Kategorie:Containerformat Kategorie:Datenformat