Header-Formate AM=Audiomaster AT=AudioTracker ----------------------------------------------------------------- AVR Referenz: ST-Computer 3/94 "Soundformate" H.Sch”nfeld ----------------------------------------------------------------- typedef struct { long magic; "2BIT" char sample_name[8] AM:"Audiomtr" / AT:"A_TRACK " int mode; 0=Mono 0xFFFF=Stereo int resolution; 8=8Bit 16=16Bit (AM/AT: 16) int sign; AM/AT: 0xFFFF int loop; AM/AT: 0xFFFF (mit loop) int note; AM/AT: 0xFFFF (keine MIDI-Zuw.) long speed; 0xFFnnnnnn (nnnnnn = Sample Rate) long len; Sample-Datenl„nge in Sample- werten. Bei Stereo-Samples wird linker und rechter Kanal einzeln gez„hlt (!) long beg_loop; Schleifenanfang (in Samplewerten!) long end_loop; Schleifenende ( dto ) char extension[20]; unused char free_area[64]; AT: ASCII-Info ber Tracks und Startzeit. }AVRHEAD L„nge = 128 Bytes Anmerkung: AM und AT benutzen die Loop-Option, um die Headerl„nge auf 512 Bytes zu erweitern. Daher steht in "beg_loop" der Wert 192, was 384 Bytes entspricht (128-384=512). Fehler in AM: Sowohl bei Mono, als auch bei STEREO-Samples muž hier 192 stehen, da die Samples fr linken und rechten Kanal einzeln gez„hlt werden. Der Wert beschreibt also (bei 16 Bit Samples) immer die halbe Byteanzahl. ----------------------------------------------------------------- AIFF Referenz: Cubase-Files / Doku von T. Baumg„rtner ----------------------------------------------------------------- typedef struct { long form_id; "FORM" long formsize; Filel„nge - 8 (!) long aiff_id; "AIFF" long comm_id; "COMM" long commsize; 0x12 short channels; 1=Mono, 2=Stereo long frames; Sampleanzahl (alle Kan„le) short samplesize; 16 (16 Bit) short lead; 0x400E unsigned int rate; Sample Rate short dummy[3]; long snd_id; "SSND" long soundsize; Filel„nge - 46 (!) long offset; 0x1CA (458+54=512) long blocksize; 0x200 (512) }AIFFHEAD L„nge = 54 Bytes Anmerkung: AM schreibt in "formsize" und "soundsize" einen um 512 Bytes zu niedrigen Wert (Referenz Original-Cubase-File). ----------------------------------------------------------------- DVSM Referenz: ST-Computer 6/94 "Soundformate" H.Sch”nfeld WinRec-Dokumentation ----------------------------------------------------------------- typedef struct { char magic[6]; /* "DVSM\0\0" */ int headlen; /* Headlen in Bytes */ int freq; /* Samplefrequenz 0=8kHz 7=50kHz (erlaubte CODEC Frequenzen)*/ char pack; /* 0=Ungepackt, 2=DVS Packmethode(CPU)*/ char mode; /* 0=Stereo 8Bit,1=Stereo 16Bit,2=Mono 8Bit*/ long blocklen; /* falls pack>1: L„nge eines gepackten Blocks*/ } DVSMHEAD; L„nge 16 Bytes (AT) Anmerkung: Der obenstehende Header entstammt einem READ_ME-File von der WinRec- Programmdisk. Laut Dokumentation ST-Computer gibt es folgende Erweiterungen: freq: Wert<256: Werte von 0-7 (s.o.) Wert>256: Festfrequenz (unsigned int) mode: Bit 0=1: 16 Bit Samples, Bit 0=0: 8 Bit Samples Bit 1 Mono/Stereo Es gibt also keinen Widerspruch zur WinRec-Definition, wenn Bit 1 richtig interpretiert wird (gesetzt=Mono, nicht gesetzt = Stereo): mode = 0: Stereo, 8 Bit mode = 1: Stereo, 16 Bit mode = 2: Mono, 8 Bit mode = 3: Mono, 16 Bit Aužerdem gibt es die M”glichkeit, dem Header weitere Cookies anzuh„ngen, z.B.: "CLCK" -> 0=interner Takt, 1=CD, 2=DAT (wird von AT nicht ausgewertet)