2 #------------------------------------------------------------------------------
3 # audio: file(1) magic for sound formats (see also "iff")
5 # Jan Nicolai Langfeldt (janl@ifi.uio.no), Dan Quinlan (quinlan@yggdrasil.com),
10 0 string .snd Sun/NeXT audio data:
11 >12 belong 1 8-bit ISDN mu-law,
12 >12 belong 2 8-bit linear PCM [REF-PCM],
13 >12 belong 3 16-bit linear PCM,
14 >12 belong 4 24-bit linear PCM,
15 >12 belong 5 32-bit linear PCM,
16 >12 belong 6 32-bit IEEE floating point,
17 >12 belong 7 64-bit IEEE floating point,
18 >12 belong 8 Fragmented sample data,
19 >12 belong 10 DSP program,
20 >12 belong 11 8-bit fixed point,
21 >12 belong 12 16-bit fixed point,
22 >12 belong 13 24-bit fixed point,
23 >12 belong 14 32-bit fixed point,
24 >12 belong 18 16-bit linear with emphasis,
25 >12 belong 19 16-bit linear compressed,
26 >12 belong 20 16-bit linear with emphasis and compression,
27 >12 belong 21 Music kit DSP commands,
28 >12 belong 23 8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice data encoding),
29 >12 belong 24 compressed (8-bit CCITT G.722 ADPCM)
30 >12 belong 25 compressed (3-bit CCITT G.723.3 ADPCM),
31 >12 belong 26 compressed (5-bit CCITT G.723.5 ADPCM),
32 >12 belong 27 8-bit A-law (CCITT G.711),
38 # DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format
39 # that uses little-endian encoding and has a different magic number
40 0 lelong 0x0064732E DEC audio data:
41 >12 lelong 1 8-bit ISDN mu-law,
42 >12 lelong 2 8-bit linear PCM [REF-PCM],
43 >12 lelong 3 16-bit linear PCM,
44 >12 lelong 4 24-bit linear PCM,
45 >12 lelong 5 32-bit linear PCM,
46 >12 lelong 6 32-bit IEEE floating point,
47 >12 lelong 7 64-bit IEEE floating point,
48 >12 belong 8 Fragmented sample data,
49 >12 belong 10 DSP program,
50 >12 belong 11 8-bit fixed point,
51 >12 belong 12 16-bit fixed point,
52 >12 belong 13 24-bit fixed point,
53 >12 belong 14 32-bit fixed point,
54 >12 belong 18 16-bit linear with emphasis,
55 >12 belong 19 16-bit linear compressed,
56 >12 belong 20 16-bit linear with emphasis and compression,
57 >12 belong 21 Music kit DSP commands,
58 >12 lelong 23 8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice data encoding),
59 >12 belong 24 compressed (8-bit CCITT G.722 ADPCM)
60 >12 belong 25 compressed (3-bit CCITT G.723.3 ADPCM),
61 >12 belong 26 compressed (5-bit CCITT G.723.5 ADPCM),
62 >12 belong 27 8-bit A-law (CCITT G.711),
68 # Creative Labs AUDIO stuff
69 0 string MThd Standard MIDI data
70 >8 beshort x (format %d)
71 >10 beshort x using %d track
73 >12 beshort&0x7fff x at 1/%d
74 >12 beshort&0x8000 >0 SMPTE
76 0 string CTMF Creative Music (CMF) data
77 0 string SBI SoundBlaster instrument data
78 0 string Creative\ Voice\ File Creative Labs voice data
79 # is this next line right? it came this way...
81 >23 byte >0 - version %d
84 # first entry is also the string "NTRK"
85 0 belong 0x4e54524b MultiTrack sound data
86 >4 belong x - version %ld
88 # Extended MOD format (*.emd) (Greg Roelofs, newt@uchicago.edu); NOT TESTED
89 # [based on posting 940824 by "Dirk/Elastik", husberg@lehtori.cc.tut.fi]
90 0 string EMOD Extended MOD sound data,
91 >4 byte&0xf0 x version %d
93 >45 byte x %d instruments
97 # Real Audio (Magic .ra\0375)
98 0 belong 0x2e7261fd RealAudio sound file
99 0 string .RMF RealMedia file
101 # MTM/669/FAR/S3M/ULT/XM format checking [Aaron Eppert, aeppert@dialin.ind.net]
103 # fixed by <doj@cubic.org> 2003-06-24
105 #0 string MTM MultiTracker Module sound file
106 #0 string if Composer 669 Module sound data
107 #0 string JN Composer 669 Module sound data (extended format)
108 0 string MAS_U ULT(imate) Module sound data
110 #0 string FAR Module sound data
111 #>4 string >\15 Title: "%s"
113 0x2c string SCRM ScreamTracker III Module sound data
114 >0 string >\0 Title: "%s"
116 # Gravis UltraSound patches
117 # From <ache@nagual.ru>
119 0 string GF1PATCH110\0ID#000002\0 GUS patch
120 0 string GF1PATCH100\0ID#000002\0 Old GUS patch
123 # Taken from loader code from mikmod version 2.14
124 # by Steve McIntyre (stevem@chiark.greenend.org.uk)
125 # <doj@cubic.org> added title printing on 2003-06-24
126 0 string MAS_UTrack_V00
127 >14 string >/0 ultratracker V1.%.1s module sound data
129 0 string UN05 MikMod UNI format module sound data
131 0 string Extended\ Module: Fasttracker II module sound data
132 >17 string >\0 Title: "%s"
134 21 string/c !SCREAM! Screamtracker 2 module sound data
135 21 string BMOD2STM Screamtracker 2 module sound data
136 1080 string M.K. 4-channel Protracker module sound data
137 >0 string >\0 Title: "%s"
138 1080 string M!K! 4-channel Protracker module sound data
139 >0 string >\0 Title: "%s"
140 1080 string FLT4 4-channel Startracker module sound data
141 >0 string >\0 Title: "%s"
142 1080 string FLT8 8-channel Startracker module sound data
143 >0 string >\0 Title: "%s"
144 1080 string 4CHN 4-channel Fasttracker module sound data
145 >0 string >\0 Title: "%s"
146 1080 string 6CHN 6-channel Fasttracker module sound data
147 >0 string >\0 Title: "%s"
148 1080 string 8CHN 8-channel Fasttracker module sound data
149 >0 string >\0 Title: "%s"
150 1080 string CD81 8-channel Octalyser module sound data
151 >0 string >\0 Title: "%s"
152 1080 string OKTA 8-channel Oktalyzer module sound data
153 >0 string >\0 Title: "%s"
156 #>1080 string >/0 %.2s-channel Fasttracker "oktalyzer" module sound data
157 1080 string 16CN 16-channel Taketracker module sound data
158 >0 string >\0 Title: "%s"
159 1080 string 32CN 32-channel Taketracker module sound data
160 >0 string >\0 Title: "%s"
162 # TOC sound files -Trevor Johnson <trevor@jpj.net>
164 0 string TOC TOC sound file
166 # sidfiles <pooka@iki.fi>
167 # added name,author,(c) and new RSID type by <doj@cubic.org> 2003-06-24
168 0 string SIDPLAY\ INFOFILE Sidplay info file
170 0 string PSID PlaySID v2.2+ (AMIGA) sidtune
171 >4 beshort >0 w/ header v%d,
172 >14 beshort =1 single song,
173 >14 beshort >1 %d songs,
174 >16 beshort >0 default song: %d
175 >0x16 string >\0 name: "%s"
176 >0x36 string >\0 author: "%s"
177 >0x56 string >\0 copyright: "%s"
179 0 string RSID RSID sidtune PlaySID compatible
180 >4 beshort >0 w/ header v%d,
181 >14 beshort =1 single song,
182 >14 beshort >1 %d songs,
183 >16 beshort >0 default song: %d
184 >0x16 string >\0 name: "%s"
185 >0x36 string >\0 author: "%s"
186 >0x56 string >\0 copyright: "%s"
188 # IRCAM <mpruett@sgi.com>
189 # VAX and MIPS files are little-endian; Sun and NeXT are big-endian
190 0 belong 0x64a30100 IRCAM file (VAX)
191 0 belong 0x64a30200 IRCAM file (Sun)
192 0 belong 0x64a30300 IRCAM file (MIPS little-endian)
193 0 belong 0x64a30400 IRCAM file (NeXT)
195 # NIST SPHERE <mpruett@sgi.com>
196 0 string NIST_1A\n\ \ \ 1024\n NIST SPHERE file
198 # Sample Vision <mpruett@sgi.com>
199 0 string SOUND\ SAMPLE\ DATA\ Sample Vision file
201 # Audio Visual Research <tonigonenstein@users.sourceforge.net>
202 0 string 2BIT Audio Visual Research file,
204 >12 beshort =-1 stereo,
205 >14 beshort x %d bits
206 >16 beshort =0 unsigned,
207 >16 beshort =-1 signed,
208 >22 belong&0x00ffffff x %d Hz,
209 >18 beshort =0 no loop,
210 >18 beshort =-1 loop,
211 >21 ubyte <=127 note %d,
212 >22 byte =0 replay 5.485 KHz
213 >22 byte =1 replay 8.084 KHz
214 >22 byte =2 replay 10.971 Khz
215 >22 byte =3 replay 16.168 Khz
216 >22 byte =4 replay 21.942 KHz
217 >22 byte =5 replay 32.336 KHz
218 >22 byte =6 replay 43.885 KHz
219 >22 byte =7 replay 47.261 KHz
221 # SGI SoundTrack <mpruett@sgi.com>
222 0 string _SGI_SoundTrack SGI SoundTrack project file
223 # ID3 version 2 tags <waschk@informatik.uni-rostock.de>
224 0 string ID3 MP3 file with ID3 version 2.
226 >4 ubyte <0xff \b%d tag
228 # NSF (NES sound file) magic
229 0 string NESM\x1a NES Sound File
230 >14 string >\0 ("%s" by
231 >46 string >\0 %s, copyright
233 >5 byte x version %d,
235 >122 byte&0x2 =1 dual PAL/NTSC
237 >122 byte&0x1 =0 NTSC
239 # Impuse tracker module (audio/x-it)
240 0 string IMPM Impulse Tracker module sound data -
242 >40 leshort !0 compatible w/ITv%x
243 >42 leshort !0 created w/ITv%x
245 # Imago Orpheus module (audio/x-imf)
246 60 string IM10 Imago Orpheus module sound data -
249 # From <collver1@attbi.com>
250 # These are the /etc/magic entries to decode modules, instruments, and
251 # samples in Impulse Tracker's native format.
253 0 string IMPS Impulse Tracker Sample
258 0 string IMPI Impulse Tracker Instrument
260 >30 byte !0 %d samples
262 # Yamaha TX Wave: file(1) magic for Yamaha TX Wave audio files
263 # From <collver1@attbi.com>
264 0 string LM8953 Yamaha TX Wave
266 >22 byte 0xC9 non-looped
271 # scream tracker: file(1) magic for Scream Tracker sample files
273 # From <collver1@attbi.com>
274 76 string SCRS Scream Tracker Sample
276 >0 byte 2 adlib melody
277 >0 byte >2 adlib drum
280 >31 byte &4 16bit little endian
286 # From: Cory Dikkers <cdikkers@swbell.net>
287 0 string MMD0 MED music file, version 0
288 0 string MMD1 OctaMED Pro music file, version 1
289 0 string MMD3 OctaMED Soundstudio music file, version 3
290 0 string OctaMEDCmpr OctaMED Soundstudio compressed file
291 0 string MED MED_Song
292 0 string SymM Symphonie SymMOD music file
294 0 string THX AHX version
295 >3 byte =0 1 module data
296 >3 byte =1 2 module data
298 0 string OKTASONG Oktalyzer module data
300 0 string DIGI\ Booster\ module\0 %s
305 >610 string >\0 \b, "%s"
307 0 string DBM0 DIGI Booster Pro Module
310 >16 string >\0 \b, "%s"
312 0 string FTMN FaceTheMusic module
313 >16 string >\0d \b, "%s"
315 # From: <doj@cubic.org> 2003-06-24
316 0 string AMShdr\32 Velvet Studio AMS Module v2.2
317 0 string Extreme Extreme Tracker AMS Module v1.3
318 0 string DDMF Xtracker DMF Module
320 >0xD string >\0 Title: "%s"
321 >0x2B string >\0 Composer: "%s"
322 0 string DSM\32 Dynamic Studio Module DSM
323 0 string SONG DigiTrekker DTM Module
324 0 string DMDL DigiTrakker MDL Module
325 0 string PSM\32 Protracker Studio PSM Module
326 44 string PTMF Poly Tracker PTM Module
327 >0 string >\32 Title: "%s"
328 0 string MT20 MadTracker 2.0 Module MT2
329 0 string RAD\40by\40REALiTY!! RAD Adlib Tracker Module RAD
330 0 string RTMM RTM Module
331 0x426 string MaDoKaN96 XMS Adlib Module
332 >0 string >\0 Composer: "%s"
333 0 string AMF AMF Module
334 >4 string >\0 Title: "%s"
335 0 string MODINFO1 Open Cubic Player Module Inforation MDZ
336 0 string Extended\40Instrument: Fast Tracker II Instrument
338 # From: Takeshi Hamasaki <hma@syd.odn.ne.jp>
339 # NOA Nancy Codec file
340 0 string \210NOA\015\012\032 NOA Nancy Codec Movie file
342 0 string MMMD Yamaha SMAF file
343 # Sharp Jisaku Melody format for PDC
344 0 string \001Sharp\040JisakuMelody SHARP Cell-Phone ringing Melody
345 >20 string Ver01.00 Ver. 1.00
346 >>32 byte x , %d tracks
348 # Free lossless audio codec <http://flac.sourceforge.net>
349 # From: Przemyslaw Augustyniak <silvathraec@rpg.pl>
350 0 string fLaC FLAC audio bitstream data
351 >4 byte&0x7f >0 \b, unknown version
353 # some common bits/sample values
354 >>20 beshort&0x1f0 0x030 \b, 4 bit
355 >>20 beshort&0x1f0 0x050 \b, 6 bit
356 >>20 beshort&0x1f0 0x070 \b, 8 bit
357 >>20 beshort&0x1f0 0x0b0 \b, 12 bit
358 >>20 beshort&0x1f0 0x0f0 \b, 16 bit
359 >>20 beshort&0x1f0 0x170 \b, 24 bit
360 >>20 byte&0xe 0x0 \b, mono
361 >>20 byte&0xe 0x2 \b, stereo
362 >>20 byte&0xe 0x4 \b, 3 channels
363 >>20 byte&0xe 0x6 \b, 4 channels
364 >>20 byte&0xe 0x8 \b, 5 channels
365 >>20 byte&0xe 0xa \b, 6 channels
366 >>20 byte&0xe 0xc \b, 7 channels
367 >>20 byte&0xe 0xe \b, 8 channels
368 # some common sample rates
369 >>17 belong&0xfffff0 0x0ac440 \b, 44.1 kHz
370 >>17 belong&0xfffff0 0x0bb800 \b, 48 kHz
371 >>17 belong&0xfffff0 0x07d000 \b, 32 kHz
372 >>17 belong&0xfffff0 0x056220 \b, 22.05 kHz
373 >>17 belong&0xfffff0 0x05dc00 \b, 24 kHz
374 >>17 belong&0xfffff0 0x03e800 \b, 16 kHz
375 >>17 belong&0xfffff0 0x02b110 \b, 11.025 kHz
376 >>17 belong&0xfffff0 0x02ee00 \b, 12 kHz
377 >>17 belong&0xfffff0 0x01f400 \b, 8 kHz
378 >>17 belong&0xfffff0 0x177000 \b, 96 kHz
379 >>17 belong&0xfffff0 0x0fa000 \b, 64 kHz
380 >>21 byte&0xf >0 \b, >4G samples
382 >>>22 belong >0 \b, %u samples
383 >>>22 belong 0 \b, length unknown
385 # (ISDN) VBOX voice message file (Wolfram Kleff)
386 0 string VBOX VBOX voice message data
388 # ReBorn Song Files (.rbs)
389 # David J. Singer <doc@deadvirgins.org.uk>
390 8 string RB40 RBS Song file
391 >29 string ReBorn created by ReBorn
392 >37 string Propellerhead created by ReBirth
394 # Synthesizer Generator and Kimwitu share their file format
395 0 string A#S#C#S#S#L#V#3 Synthesizer Generator or Kimwitu data
396 # Kimwitu++ uses a slightly different magic
397 0 string A#S#C#S#S#L#HUB Kimwitu++ data
400 0 string TFMX-SONG TFMX module sound data
402 # From danny.milo@gmx.net (Danny Milosavljevic)
403 # monkeysaudio for magic.mime
404 0 string MAC\ X/Monkey audio,
405 >4 leshort >0 version %d,
406 >6 leshort >0 compression level %d,
407 >8 leshort >0 flags %x,
408 >10 leshort >0 channels %d,
409 >12 lelong >0 samplerate %d,
410 >24 lelong >0 frames %d