]> CyberLeo.Net >> Repos - FreeBSD/releng/10.3.git/blob - contrib/file/magic/Magdir/audio
Update file(1) to new version with security update. [EN-18:02.file]
[FreeBSD/releng/10.3.git] / contrib / file / magic / Magdir / audio
1
2 #------------------------------------------------------------------------------
3 # $File: audio,v 1.80 2017/08/13 00:21:47 christos Exp $
4 # audio:  file(1) magic for sound formats (see also "iff")
5 #
6 # Jan Nicolai Langfeldt (janl@ifi.uio.no), Dan Quinlan (quinlan@yggdrasil.com),
7 # and others
8 #
9
10 # Sun/NeXT audio data
11 0       string          .snd            Sun/NeXT audio data:
12 >12     belong          1               8-bit ISDN mu-law,
13 !:mime  audio/basic
14 >12     belong          2               8-bit linear PCM [REF-PCM],
15 !:mime  audio/basic
16 >12     belong          3               16-bit linear PCM,
17 !:mime  audio/basic
18 >12     belong          4               24-bit linear PCM,
19 !:mime  audio/basic
20 >12     belong          5               32-bit linear PCM,
21 !:mime  audio/basic
22 >12     belong          6               32-bit IEEE floating point,
23 !:mime  audio/basic
24 >12     belong          7               64-bit IEEE floating point,
25 !:mime  audio/basic
26 >12     belong          8               Fragmented sample data,
27 >12     belong          10              DSP program,
28 >12     belong          11              8-bit fixed point,
29 >12     belong          12              16-bit fixed point,
30 >12     belong          13              24-bit fixed point,
31 >12     belong          14              32-bit fixed point,
32 >12     belong          18              16-bit linear with emphasis,
33 >12     belong          19              16-bit linear compressed,
34 >12     belong          20              16-bit linear with emphasis and compression,
35 >12     belong          21              Music kit DSP commands,
36 >12     belong          23              8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice enc.),
37 !:mime  audio/x-adpcm
38 >12     belong          24              compressed (8-bit CCITT G.722 ADPCM)
39 >12     belong          25              compressed (3-bit CCITT G.723.3 ADPCM),
40 >12     belong          26              compressed (5-bit CCITT G.723.5 ADPCM),
41 >12     belong          27              8-bit A-law (CCITT G.711),
42 >20     belong          1               mono,
43 >20     belong          2               stereo,
44 >20     belong          4               quad,
45 >16     belong          >0              %d Hz
46
47 # DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format
48 # that uses little-endian encoding and has a different magic number
49 0       lelong          0x0064732E      DEC audio data:
50 >12     lelong          1               8-bit ISDN mu-law,
51 !:mime  audio/x-dec-basic
52 >12     lelong          2               8-bit linear PCM [REF-PCM],
53 !:mime  audio/x-dec-basic
54 >12     lelong          3               16-bit linear PCM,
55 !:mime  audio/x-dec-basic
56 >12     lelong          4               24-bit linear PCM,
57 !:mime  audio/x-dec-basic
58 >12     lelong          5               32-bit linear PCM,
59 !:mime  audio/x-dec-basic
60 >12     lelong          6               32-bit IEEE floating point,
61 !:mime  audio/x-dec-basic
62 >12     lelong          7               64-bit IEEE floating point,
63 !:mime  audio/x-dec-basic
64 >12     belong          8               Fragmented sample data,
65 >12     belong          10              DSP program,
66 >12     belong          11              8-bit fixed point,
67 >12     belong          12              16-bit fixed point,
68 >12     belong          13              24-bit fixed point,
69 >12     belong          14              32-bit fixed point,
70 >12     belong          18              16-bit linear with emphasis,
71 >12     belong          19              16-bit linear compressed,
72 >12     belong          20              16-bit linear with emphasis and compression,
73 >12     belong          21              Music kit DSP commands,
74 >12     lelong          23              8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice enc.),
75 !:mime  audio/x-dec-basic
76 >12     belong          24              compressed (8-bit CCITT G.722 ADPCM)
77 >12     belong          25              compressed (3-bit CCITT G.723.3 ADPCM),
78 >12     belong          26              compressed (5-bit CCITT G.723.5 ADPCM),
79 >12     belong          27              8-bit A-law (CCITT G.711),
80 >20     lelong          1               mono,
81 >20     lelong          2               stereo,
82 >20     lelong          4               quad,
83 >16     lelong          >0              %d Hz
84
85 # Creative Labs AUDIO stuff
86 0       string  MThd                    Standard MIDI data
87 !:mime  audio/midi
88 >8      beshort x                       (format %d)
89 >10     beshort x                       using %d track
90 >10     beshort         >1              \bs
91 >12     beshort&0x7fff  x               at 1/%d
92 >12     beshort&0x8000  >0              SMPTE
93
94 0       string  CTMF                    Creative Music (CMF) data
95 !:mime  audio/x-unknown
96 0       string  SBI                     SoundBlaster instrument data
97 !:mime  audio/x-unknown
98 0       string  Creative\ Voice\ File   Creative Labs voice data
99 !:mime  audio/x-unknown
100 # is this next line right?  it came this way...
101 >19     byte    0x1A
102 >23     byte    >0                      - version %d
103 >22     byte    >0                      \b.%d
104
105 # first entry is also the string "NTRK"
106 0       belong          0x4e54524b      MultiTrack sound data
107 >4      belong          x               - version %d
108
109 # Extended MOD format (*.emd) (Greg Roelofs, newt@uchicago.edu); NOT TESTED
110 # [based on posting 940824 by "Dirk/Elastik", husberg@lehtori.cc.tut.fi]
111 0       string          EMOD            Extended MOD sound data,
112 >4      byte&0xf0       x               version %d
113 >4      byte&0x0f       x               \b.%d,
114 >45     byte            x               %d instruments
115 >83     byte            0               (module)
116 >83     byte            1               (song)
117
118 # Real Audio (Magic .ra\0375)
119 0       belong          0x2e7261fd      RealAudio sound file
120 !:mime  audio/x-pn-realaudio
121 0       string          .RMF\0\0\0      RealMedia file
122 !:mime  application/vnd.rn-realmedia
123 #video/x-pn-realvideo
124 #video/vnd.rn-realvideo
125 #application/vnd.rn-realmedia
126 #       sigh, there are many mimes for that but the above are the most common.
127
128 # MTM/669/FAR/S3M/ULT/XM format checking [Aaron Eppert, aeppert@dialin.ind.net]
129 # Oct 31, 1995
130 # fixed by <doj@cubic.org> 2003-06-24
131 # Too short...
132 #0      string          MTM             MultiTracker Module sound file
133 #0      string          if              Composer 669 Module sound data
134 #0      string          JN              Composer 669 Module sound data (extended format)
135 0       string          MAS_U           ULT(imate) Module sound data
136
137 #0      string          FAR             Module sound data
138 #>4     string          >\15            Title: "%s"
139
140 0x2c    string          SCRM            ScreamTracker III Module sound data
141 >0      string          >\0             Title: "%s"
142
143 # Gravis UltraSound patches
144 # From <ache@nagual.ru>
145
146 0       string          GF1PATCH110\0ID#000002\0        GUS patch
147 0       string          GF1PATCH100\0ID#000002\0        Old GUS patch
148
149 # mime types according to http://www.geocities.com/nevilo/mod.htm:
150 #       audio/it        .it
151 #       audio/x-zipped-it       .itz
152 #       audio/xm        fasttracker modules
153 #       audio/x-s3m     screamtracker modules
154 #       audio/s3m       screamtracker modules
155 #       audio/x-zipped-mod      mdz
156 #       audio/mod       mod
157 #       audio/x-mod     All modules (mod, s3m, 669, mtm, med, xm, it, mdz, stm, itz, xmz, s3z)
158
159 #
160 # Taken from loader code from mikmod version 2.14
161 # by Steve McIntyre (stevem@chiark.greenend.org.uk)
162 # <doj@cubic.org> added title printing on 2003-06-24
163 0       string  MAS_UTrack_V00
164 >14     string  >/0             ultratracker V1.%.1s module sound data
165 !:mime  audio/x-mod
166 #audio/x-tracker-module
167
168 0       string  UN05            MikMod UNI format module sound data
169
170 0       string  Extended\ Module: Fasttracker II module sound data
171 !:mime  audio/x-mod
172 #audio/x-tracker-module
173 >17     string  >\0             Title: "%s"
174
175 21      string/c        =!SCREAM!       Screamtracker 2 module sound data
176 !:mime  audio/x-mod
177 #audio/x-screamtracker-module
178 21      string  BMOD2STM        Screamtracker 2 module sound data
179 !:mime  audio/x-mod
180 #audio/x-screamtracker-module
181 1080    string  M.K.            4-channel Protracker module sound data
182 !:mime  audio/x-mod
183 #audio/x-protracker-module
184 >0      string  >\0             Title: "%s"
185 1080    string  M!K!            4-channel Protracker module sound data
186 !:mime  audio/x-mod
187 #audio/x-protracker-module
188 >0      string  >\0             Title: "%s"
189 1080    string  FLT4            4-channel Startracker module sound data
190 !:mime  audio/x-mod
191 #audio/x-startracker-module
192 >0      string  >\0             Title: "%s"
193 1080    string  FLT8            8-channel Startracker module sound data
194 !:mime  audio/x-mod
195 #audio/x-startracker-module
196 >0      string  >\0             Title: "%s"
197 1080    string  4CHN            4-channel Fasttracker module sound data
198 !:mime  audio/x-mod
199 #audio/x-fasttracker-module
200 >0      string  >\0             Title: "%s"
201 1080    string  6CHN            6-channel Fasttracker module sound data
202 !:mime  audio/x-mod
203 #audio/x-fasttracker-module
204 >0      string  >\0             Title: "%s"
205 1080    string  8CHN            8-channel Fasttracker module sound data
206 !:mime  audio/x-mod
207 #audio/x-fasttracker-module
208 >0      string  >\0             Title: "%s"
209 1080    string  CD81            8-channel Octalyser module sound data
210 !:mime  audio/x-mod
211 #audio/x-octalysertracker-module
212 >0      string  >\0             Title: "%s"
213 1080    string  OKTA            8-channel Octalyzer module sound data
214 !:mime  audio/x-mod
215 #audio/x-octalysertracker-module
216 >0      string  >\0             Title: "%s"
217 # Not good enough.
218 #1082   string  CH
219 #>1080  string  >/0             %.2s-channel Fasttracker "oktalyzer" module sound data
220 1080    string  16CN            16-channel Taketracker module sound data
221 !:mime  audio/x-mod
222 #audio/x-taketracker-module
223 >0      string  >\0             Title: "%s"
224 1080    string  32CN            32-channel Taketracker module sound data
225 !:mime  audio/x-mod
226 #audio/x-taketracker-module
227 >0      string  >\0             Title: "%s"
228
229 # TOC sound files -Trevor Johnson <trevor@jpj.net>
230 #
231 0       string          TOC             TOC sound file
232
233 # sidfiles <pooka@iki.fi>
234 # added name,author,(c) and new RSID type by <doj@cubic.org> 2003-06-24
235 0       string          SIDPLAY\ INFOFILE       Sidplay info file
236
237 0       string          PSID                    PlaySID v2.2+ (AMIGA) sidtune
238 >4      beshort         >0                      w/ header v%d,
239 >14     beshort         =1                      single song,
240 >14     beshort         >1                      %d songs,
241 >16     beshort         >0                      default song: %d
242 >0x16   string          >\0                     name: "%s"
243 >0x36   string          >\0                     author: "%s"
244 >0x56   string          >\0                     copyright: "%s"
245
246 0       string          RSID                    RSID sidtune PlaySID compatible
247 >4      beshort         >0                      w/ header v%d,
248 >14     beshort         =1                      single song,
249 >14     beshort         >1                      %d songs,
250 >16     beshort         >0                      default song: %d
251 >0x16   string          >\0                     name: "%s"
252 >0x36   string          >\0                     author: "%s"
253 >0x56   string          >\0                     copyright: "%s"
254
255 # IRCAM sound files - Michael Pruett <michael@68k.org>
256 # http://www-mmsp.ece.mcgill.ca/documents/AudioFormats/IRCAM/IRCAM.html
257 0       belong          0x64a30100              IRCAM file (VAX little-endian)
258 0       belong          0x0001a364              IRCAM file (VAX big-endian)
259 0       belong          0x64a30200              IRCAM file (Sun big-endian)
260 0       belong          0x0002a364              IRCAM file (Sun little-endian)
261 0       belong          0x64a30300              IRCAM file (MIPS little-endian)
262 0       belong          0x0003a364              IRCAM file (MIPS big-endian)
263 0       belong          0x64a30400              IRCAM file (NeXT big-endian)
264 0       belong          0x64a30400              IRCAM file (NeXT big-endian)
265 0       belong          0x0004a364              IRCAM file (NeXT little-endian)
266
267 # NIST SPHERE <mpruett@sgi.com>
268 0       string          NIST_1A\n\ \ \ 1024\n   NIST SPHERE file
269
270 # Sample Vision <mpruett@sgi.com>
271 0       string          SOUND\ SAMPLE\ DATA\    Sample Vision file
272
273 # Audio Visual Research <tonigonenstein@users.sourceforge.net>
274 0       string          2BIT                    Audio Visual Research file,
275 >12     beshort         =0                      mono,
276 >12     beshort         =-1                     stereo,
277 >14     beshort         x                       %d bits
278 >16     beshort         =0                      unsigned,
279 >16     beshort         =-1                     signed,
280 >22     belong&0x00ffffff       x               %d Hz,
281 >18     beshort         =0                      no loop,
282 >18     beshort         =-1                     loop,
283 >21     ubyte           <128                    note %d,
284 >22     byte            =0                      replay 5.485 KHz
285 >22     byte            =1                      replay 8.084 KHz
286 >22     byte            =2                      replay 10.971 KHz
287 >22     byte            =3                      replay 16.168 KHz
288 >22     byte            =4                      replay 21.942 KHz
289 >22     byte            =5                      replay 32.336 KHz
290 >22     byte            =6                      replay 43.885 KHz
291 >22     byte            =7                      replay 47.261 KHz
292
293 # SGI SoundTrack <mpruett@sgi.com>
294 0       string          _SGI_SoundTrack         SGI SoundTrack project file
295 # ID3 version 2 tags <waschk@informatik.uni-rostock.de>
296 0       string          ID3     Audio file with ID3 version 2
297 >3      byte            x       \b.%d
298 >4      byte            x       \b.%d
299 >>5     byte            &0x80   \b, unsynchronized frames
300 >>5     byte            &0x40   \b, extended header
301 >>5     byte            &0x20   \b, experimental
302 >>5     byte            &0x10   \b, footer present
303 >(6.I+10)       indirect        x       \b, contains:
304
305 # NSF (NES sound file) magic
306 0       string          NESM\x1a        NES Sound File
307 >14     string          >\0             ("%s" by
308 >46     string          >\0             %s, copyright
309 >78     string          >\0             %s),
310 >5      byte            x               version %d,
311 >6      byte            x               %d tracks,
312 >122    byte&0x2        =1              dual PAL/NTSC
313 >122    byte&0x1        =1              PAL
314 >122    byte&0x1        =0              NTSC
315
316 # NSFE (Extended NES sound file) magic
317 # http://slickproductions.org/docs/NSF/nsfespec.txt
318 # From: David Pflug <david@pflug.email>
319 0       string          NSFE            Extended NES Sound File
320 >48     search/0x1000   auth
321 >>&0    string          >\0             ("%s"
322 >>>&1   string          >\0             by %s
323 >>>>&1  string          >\0             \b, copyright %s
324 >>>>>&1 string          >\0             \b, ripped by %s
325 >20     byte            x               \b), %d tracks,
326 >18     byte&0x2        =1              dual PAL/NTSC
327 >18     byte&0x2        =0
328 >>18    byte&0x1        =1              PAL
329 >>18    byte&0x1        =0              NTSC
330
331 # Type: SNES SPC700 sound files
332 # From: Josh Triplett <josh@freedesktop.org>
333 0       string  SNES-SPC700\ Sound\ File\ Data\ v       SNES SPC700 sound file
334 >&0     string  0.30                                    \b, version %s
335 >>0x23  byte    0x1B                                    \b, without ID666 tag
336 >>0x23  byte    0x1A                                    \b, with ID666 tag
337 >>>0x2E string  >\0                                     \b, song "%.32s"
338 >>>0x4E string  >\0                                     \b, game "%.32s"
339
340 # Impulse tracker module (audio/x-it)
341 0       string          IMPM            Impulse Tracker module sound data -
342 !:mime  audio/x-mod
343 >4      string          >\0             "%s"
344 >40     leshort         !0              compatible w/ITv%x
345 >42     leshort         !0              created w/ITv%x
346
347 # Imago Orpheus module (audio/x-imf)
348 60      string          IM10            Imago Orpheus module sound data -
349 >0      string          >\0             "%s"
350
351 # From <collver1@attbi.com>
352 # These are the /etc/magic entries to decode modules, instruments, and
353 # samples in Impulse Tracker's native format.
354
355 0       string          IMPS            Impulse Tracker Sample
356 >18     byte            &2              16 bit
357 >18     byte            ^2              8 bit
358 >18     byte            &4              stereo
359 >18     byte            ^4              mono
360 0       string          IMPI            Impulse Tracker Instrument
361 >28     leshort         !0              ITv%x
362 >30     byte            !0              %d samples
363
364 # Yamaha TX Wave:  file(1) magic for Yamaha TX Wave audio files
365 # From <collver1@attbi.com>
366 0       string          LM8953          Yamaha TX Wave
367 >22     byte            0x49            looped
368 >22     byte            0xC9            non-looped
369 >23     byte            1               33kHz
370 >23     byte            2               50kHz
371 >23     byte            3               16kHz
372
373 # scream tracker:  file(1) magic for Scream Tracker sample files
374 #
375 # From <collver1@attbi.com>
376 76      string          SCRS            Scream Tracker Sample
377 >0      byte            1               sample
378 >0      byte            2               adlib melody
379 >0      byte            >2              adlib drum
380 >31     byte            &2              stereo
381 >31     byte            ^2              mono
382 >31     byte            &4              16bit little endian
383 >31     byte            ^4              8bit
384 >30     byte            0               unpacked
385 >30     byte            1               packed
386
387 # audio
388 # From: Cory Dikkers <cdikkers@swbell.net>
389 0       string          MMD0            MED music file, version 0
390 0       string          MMD1            OctaMED Pro music file, version 1
391 0       string          MMD3            OctaMED Soundstudio music file, version 3
392 0       string          OctaMEDCmpr     OctaMED Soundstudio compressed file
393 0       string          MED             MED_Song
394 0       string          SymM            Symphonie SymMOD music file
395 #
396 0       string          THX             AHX version
397 >3      byte            =0              1 module data
398 >3      byte            =1              2 module data
399 #
400 0       string          OKTASONG        Oktalyzer module data
401 #
402 0       string          DIGI\ Booster\ module\0 %s
403 >20     byte            >0              %c
404 >>21    byte            >0              \b%c
405 >>>22   byte            >0              \b%c
406 >>>>23  byte            >0              \b%c
407 >610    string          >\0             \b, "%s"
408 #
409 0       string          DBM0            DIGI Booster Pro Module
410 >4      byte            >0              V%X.
411 >>5     byte            x               \b%02X
412 >16     string          >\0             \b, "%s"
413 #
414 0       string          FTMN            FaceTheMusic module
415 >16     string          >\0d            \b, "%s"
416
417 # From: <doj@cubic.org> 2003-06-24
418 0       string          AMShdr\32       Velvet Studio AMS Module v2.2
419 0       string          Extreme         Extreme Tracker AMS Module v1.3
420 0       string          DDMF            Xtracker DMF Module
421 >4      byte            x               v%i
422 >0xD    string          >\0             Title: "%s"
423 >0x2B   string          >\0             Composer: "%s"
424 0       string          DSM\32          Dynamic Studio Module DSM
425 0       string          SONG            DigiTrekker DTM Module
426 0       string          DMDL            DigiTrakker MDL Module
427 0       string          PSM\32          Protracker Studio PSM Module
428 44      string          PTMF            Poly Tracker PTM Module
429 >0      string          >\32            Title: "%s"
430 0       string          MT20            MadTracker 2.0 Module MT2
431 0       string          RAD\40by\40REALiTY!! RAD Adlib Tracker Module RAD
432 0       string          RTMM            RTM Module
433 0x426   string          MaDoKaN96       XMS Adlib Module
434 >0      string          >\0             Composer: "%s"
435 0       string          AMF             AMF Module
436 >4      string          >\0             Title: "%s"
437 0       string          MODINFO1        Open Cubic Player Module Inforation MDZ
438 0       string          Extended\40Instrument: Fast Tracker II Instrument
439
440 # From: Takeshi Hamasaki <hma@syd.odn.ne.jp>
441 # NOA Nancy Codec file
442 0       string          \210NOA\015\012\032     NOA Nancy Codec Movie file
443 # Yamaha SMAF format
444 0       string          MMMD            Yamaha SMAF file
445 # Sharp Jisaku Melody format for PDC
446 0       string          \001Sharp\040JisakuMelody       SHARP Cell-Phone ringing Melody
447 >20     string          Ver01.00        Ver. 1.00
448 >>32    byte            x               , %d tracks
449
450 # Free lossless audio codec <http://flac.sourceforge.net>
451 # From: Przemyslaw Augustyniak <silvathraec@rpg.pl>
452 0       string                  fLaC            FLAC audio bitstream data
453 !:mime  audio/x-flac
454 >4      byte&0x7f               >0              \b, unknown version
455 >4      byte&0x7f               0               \b
456 # some common bits/sample values
457 >>20    beshort&0x1f0           0x030           \b, 4 bit
458 >>20    beshort&0x1f0           0x050           \b, 6 bit
459 >>20    beshort&0x1f0           0x070           \b, 8 bit
460 >>20    beshort&0x1f0           0x0b0           \b, 12 bit
461 >>20    beshort&0x1f0           0x0f0           \b, 16 bit
462 >>20    beshort&0x1f0           0x170           \b, 24 bit
463 >>20    byte&0xe                0x0             \b, mono
464 >>20    byte&0xe                0x2             \b, stereo
465 >>20    byte&0xe                0x4             \b, 3 channels
466 >>20    byte&0xe                0x6             \b, 4 channels
467 >>20    byte&0xe                0x8             \b, 5 channels
468 >>20    byte&0xe                0xa             \b, 6 channels
469 >>20    byte&0xe                0xc             \b, 7 channels
470 >>20    byte&0xe                0xe             \b, 8 channels
471 # some common sample rates
472 >>17    belong&0xfffff0         0x2ee000        \b, 192 kHz
473 >>17    belong&0xfffff0         0x158880        \b, 88.2 kHz
474 >>17    belong&0xfffff0         0x0ac440        \b, 44.1 kHz
475 >>17    belong&0xfffff0         0x0bb800        \b, 48 kHz
476 >>17    belong&0xfffff0         0x07d000        \b, 32 kHz
477 >>17    belong&0xfffff0         0x056220        \b, 22.05 kHz
478 >>17    belong&0xfffff0         0x05dc00        \b, 24 kHz
479 >>17    belong&0xfffff0         0x03e800        \b, 16 kHz
480 >>17    belong&0xfffff0         0x02b110        \b, 11.025 kHz
481 >>17    belong&0xfffff0         0x02ee00        \b, 12 kHz
482 >>17    belong&0xfffff0         0x01f400        \b, 8 kHz
483 >>17    belong&0xfffff0         0x177000        \b, 96 kHz
484 >>17    belong&0xfffff0         0x0fa000        \b, 64 kHz
485 >>21    byte&0xf                >0              \b, >4G samples
486 >>21    byte&0xf                0               \b
487 >>>22   belong                  >0              \b, %u samples
488 >>>22   belong                  0               \b, length unknown
489
490 # (ISDN) VBOX voice message file (Wolfram Kleff)
491 0       string          VBOX            VBOX voice message data
492
493 # ReBorn Song Files (.rbs)
494 # David J. Singer <doc@deadvirgins.org.uk>
495 8       string          RB40             RBS Song file
496 >29     string          ReBorn           created by ReBorn
497 >37     string          Propellerhead    created by ReBirth
498
499 # Synthesizer Generator and Kimwitu share their file format
500 0       string          A#S#C#S#S#L#V#3     Synthesizer Generator or Kimwitu data
501 # Kimwitu++ uses a slightly different magic
502 0       string          A#S#C#S#S#L#HUB     Kimwitu++ data
503
504 # From "Simon Hosie
505 0       string  TFMX-SONG       TFMX module sound data
506
507 # Monkey's Audio compressed audio format (.ape)
508 # From danny.milo@gmx.net (Danny Milosavljevic)
509 # New version from Abel Cheung <abel (@) oaka.org>
510 0               string          MAC\040         Monkey's Audio compressed format
511 !:mime audio/x-ape
512 >4              uleshort        >0x0F8B         version %d
513 >>(0x08.l)      uleshort        =1000           with fast compression
514 >>(0x08.l)      uleshort        =2000           with normal compression
515 >>(0x08.l)      uleshort        =3000           with high compression
516 >>(0x08.l)      uleshort        =4000           with extra high compression
517 >>(0x08.l)      uleshort        =5000           with insane compression
518 >>(0x08.l+18)   uleshort        =1              \b, mono
519 >>(0x08.l+18)   uleshort        =2              \b, stereo
520 >>(0x08.l+20)   ulelong         x               \b, sample rate %d
521 >4              uleshort        <0x0F8C         version %d
522 >>6             uleshort        =1000           with fast compression
523 >>6             uleshort        =2000           with normal compression
524 >>6             uleshort        =3000           with high compression
525 >>6             uleshort        =4000           with extra high compression
526 >>6             uleshort        =5000           with insane compression
527 >>10            uleshort        =1              \b, mono
528 >>10            uleshort        =2              \b, stereo
529 >>12            ulelong         x               \b, sample rate %d
530
531 # adlib sound files
532 # From Gurkan Sengun <gurkan@linuks.mine.nu>, http://www.linuks.mine.nu
533 0       string          RAWADATA        RdosPlay RAW
534
535 1068    string          RoR             AMUSIC Adlib Tracker
536
537 0       string          JCH             EdLib
538
539 0       string          mpu401tr        MPU-401 Trakker
540
541 0       string          SAdT            Surprise! Adlib Tracker
542 >4      byte            x               Version %d
543
544 0       string          XAD!            eXotic ADlib
545
546 0       string          ofTAZ!          eXtra Simple Music
547
548 # Spectrum 128 tunes (.ay files).
549 # From: Emanuel Haupt <ehaupt@critical.ch>
550 0       string          ZXAYEMUL        Spectrum 128 tune
551
552 0       string          \0BONK          BONK,
553 #>5     byte            x               version %d
554 >14     byte            x               %d channel(s),
555 >15     byte            =1              lossless,
556 >15     byte            =0              lossy,
557 >16     byte            x               mid-side
558
559 384     string          LockStream      LockStream Embedded file (mostly MP3 on old Nokia phones)
560
561 # format VQF (proprietary codec for sound)
562 # some infos on the header file available at :
563 # http://www.twinvq.org/english/technology_format.html
564 0       string          TWIN97012000    VQF data
565 >27     short           0               \b, Mono
566 >27     short           1               \b, Stereo
567 >31     short           >0              \b, %d kbit/s
568 >35     short           >0              \b, %d kHz
569
570 # Nelson A. de Oliveira (naoliv@gmail.com)
571 # .eqf
572 0       string  Winamp\ EQ\ library\ file       %s
573 # it will match only versions like v<digit>.<digit>
574 # Since I saw only eqf files with version v1.1 I think that it's OK
575 >23     string  x       \b%.4s
576 # .preset
577 0       string  [Equalizer\ preset]     XMMS equalizer preset
578 # .m3u
579 0       search/1        #EXTM3U         M3U playlist text
580 # .pls
581 0       search/1        [playlist]      PLS playlist text
582 # licq.conf
583 1       string  [licq]                  LICQ configuration file
584
585 # Atari ST audio files by Dirk Jagdmann <doj@cubic.org>
586 0       string          ICE!            SNDH Atari ST music
587 0       string          SC68\ Music-file\ /\ (c)\ (BeN)jami     sc68 Atari ST music
588
589 # musepak support From: "Jiri Pejchal" <jiri.pejchal@gmail.com>
590 0       string          MP+     Musepack audio (MP+)
591 !:mime  audio/x-musepack
592 >3      byte            255     \b, SV pre8
593 >3      byte&0xF        0x6     \b, SV 6
594 >3      byte&0xF        0x8     \b, SV 8
595 >3      byte&0xF        0x7     \b, SV 7
596 >>3     byte&0xF0       0x0     \b.0
597 >>3     byte&0xF0       0x10    \b.1
598 >>3     byte&0xF0       240     \b.15
599 >>10    byte&0xF0       0x0     \b, no profile
600 >>10    byte&0xF0       0x10    \b, profile 'Unstable/Experimental'
601 >>10    byte&0xF0       0x50    \b, quality 0
602 >>10    byte&0xF0       0x60    \b, quality 1
603 >>10    byte&0xF0       0x70    \b, quality 2 (Telephone)
604 >>10    byte&0xF0       0x80    \b, quality 3 (Thumb)
605 >>10    byte&0xF0       0x90    \b, quality 4 (Radio)
606 >>10    byte&0xF0       0xA0    \b, quality 5 (Standard)
607 >>10    byte&0xF0       0xB0    \b, quality 6 (Xtreme)
608 >>10    byte&0xF0       0xC0    \b, quality 7 (Insane)
609 >>10    byte&0xF0       0xD0    \b, quality 8 (BrainDead)
610 >>10    byte&0xF0       0xE0    \b, quality 9
611 >>10    byte&0xF0       0xF0    \b, quality 10
612 >>27    byte            0x0     \b, Buschmann 1.7.0-9, Klemm 0.90-1.05
613 >>27    byte            102     \b, Beta 1.02
614 >>27    byte            104     \b, Beta 1.04
615 >>27    byte            105     \b, Alpha 1.05
616 >>27    byte            106     \b, Beta 1.06
617 >>27    byte            110     \b, Release 1.1
618 >>27    byte            111     \b, Alpha 1.11
619 >>27    byte            112     \b, Beta 1.12
620 >>27    byte            113     \b, Alpha 1.13
621 >>27    byte            114     \b, Beta 1.14
622 >>27    byte            115     \b, Alpha 1.15
623
624 0       string          MPCK    Musepack audio (MPCK)
625 !:mime  audio/x-musepack
626
627 # IMY
628 # from http://filext.com/detaillist.php?extdetail=IMY
629 # http://cellphones.about.com/od/cellularfaqs/f/rf_imelody.htm
630 # http://download.ncl.ie/doc/api/ie/ncl/media/music/IMelody.html
631 # http://www.wx800.com/msg/download/irda/iMelody.pdf
632 0       string  BEGIN:IMELODY   iMelody Ringtone Format
633
634 # From: "Mateus Caruccio" <mateus@caruccio.com>
635 # guitar pro v3,4,5 from http://filext.com/file-extension/gp3
636 0       string  \030FICHIER\ GUITAR\ PRO\ v3.   Guitar Pro Ver. 3 Tablature
637
638 # From: "Leslie P. Polzer" <leslie.polzer@gmx.net>
639 60      string  SONG            SoundFX Module sound file
640
641 # Type: Adaptive Multi-Rate Codec
642 # URL:  http://filext.com/detaillist.php?extdetail=AMR
643 # From: Russell Coker <russell@coker.com.au>
644 0       string  #!AMR           Adaptive Multi-Rate Codec (GSM telephony)
645
646 # Type: SuperCollider 3 Synth Definition File Format
647 # From: Mario Lang <mlang@debian.org>
648 0       string  SCgf    SuperCollider3 Synth Definition file,
649 >4      belong  x       version %d
650
651 # Type: True Audio Lossless Audio
652 # URL:  http://wiki.multimedia.cx/index.php?title=True_Audio
653 # From: Mike Melanson <mike@multimedia.cx>
654 0       string  TTA1    True Audio Lossless Audio
655
656 # Type: WavPack Lossless Audio
657 # URL:  http://wiki.multimedia.cx/index.php?title=WavPack
658 # From: Mike Melanson <mike@multimedia.cx>
659 0       string  wvpk    WavPack Lossless Audio
660
661 # From Fabio R. Schmidlin <frs@pop.com.br>
662 # VGM music file
663 0       string          Vgm\040
664 >9      ubyte           >0      VGM Video Game Music dump v
665 >>9     ubyte/16        >0      \b%d
666 >>9     ubyte&0x0F      x       \b%d
667 >>8     ubyte/16        x       \b.%d
668 >>8     ubyte&0x0F      >0      \b%d
669 #Get soundchips
670 >>8     ubyte           x       \b, soundchip(s)=
671 >>0x0C  ulelong         >0      SN76489,
672 >>0x10  ulelong         >0      YM2413,
673 >>0x2C  ulelong         >0      YM2612,
674 >>0x30  ulelong         >0      YM2151,
675 >>0x38  ulelong         >0      Sega PCM,
676 >>0x34  ulelong         >0xC
677 >>>0x40 ulelong         >0      RF5C68,
678 >>0x34  ulelong         >0x10
679 >>>0x44 ulelong         >0      YM2203,
680 >>0x34  ulelong         >0x14
681 >>>0x48 ulelong         >0      YM2608,
682 >>0x34  ulelong         >0x18
683 >>>0x4C lelong          >0      YM2610,
684 >>>0x4C lelong          <0      YM2610B,
685 >>0x34  ulelong         >0x1C
686 >>>0x50 ulelong         >0      YM3812,
687 >>0x34  ulelong         >0x20
688 >>>0x54 ulelong         >0      YM3526,
689 >>0x34  ulelong         >0x24
690 >>>0x58 ulelong         >0      Y8950,
691 >>0x34  ulelong         >0x28
692 >>>0x5C ulelong         >0      YMF262,
693 >>0x34  ulelong         >0x2C
694 >>>0x60 ulelong         >0      YMF278B,
695 >>0x34  ulelong         >0x30
696 >>>0x64 ulelong         >0      YMF271,
697 >>0x34  ulelong         >0x34
698 >>>0x68 ulelong         >0      YMZ280B,
699 >>0x34  ulelong         >0x38
700 >>>0x6C ulelong         >0      RF5C164,
701 >>0x34  ulelong         >0x3C
702 >>>0x70 ulelong         >0      PWM,
703 >>0x34  ulelong         >0x40
704 >>>0x74 ulelong         >0
705 >>>>0x78 ubyte          0x00    AY-3-8910,
706 >>>>0x78 ubyte          0x01    AY-3-8912,
707 >>>>0x78 ubyte          0x02    AY-3-8913,
708 >>>>0x78 ubyte          0x03    AY-3-8930,
709 >>>>0x78 ubyte          0x10    YM2149,
710 >>>>0x78 ubyte          0x11    YM3439,
711
712 # GVOX Encore file format
713 # Since this is a proprietary file format and there is no publicly available
714 # format specification, this is just based on induction
715 #
716 0       string  SCOW
717 >4      byte    0xc4    GVOX Encore music, version 5.0 or above
718 >4      byte    0xc2    GVOX Encore music, version < 5.0
719
720 0       string  ZBOT
721 >4      byte    0xc5    GVOX Encore music, version < 5.0
722
723 # Summary:      Garmin Voice Processing Module (WAVE audios)
724 # From:         Joerg Jenderek
725 # URL:          http://www.garmin.com/
726 # Reference:    http://turboccc.wikispaces.com/share/view/28622555
727 # NOTE:         there exist 2 other Garmin VPM formats
728 0               string  AUDIMG
729 # skip text files starting with string "AUDIMG"
730 >13             ubyte           <13     Garmin Voice Processing Module
731 !:mime  audio/x-vpm-wav-garmin
732 !:ext   vpm
733 # 3 bytes indicating the voice version (200,220)
734 >>6             string          x       \b, version %3.3s
735 # day of release (01-31)
736 >>12            ubyte           x       \b, %.2d
737 # month of release (01-12)
738 >>13            ubyte           x       \b.%.2d
739 # year of release (like 2006, 2007, 2008)
740 >>14            uleshort        x       \b.%.4d
741 # hour of release (0-23)
742 >>11            ubyte           x       %.2d
743 # minute of release (0-59)
744 >>10            ubyte           x       \b:%.2d
745 # second of release (0-59)
746 >>9             ubyte           x       \b:%.2d
747 # if you select a language like german on your garmin device
748 # you can only select voice modules with corresponding language byte ID like 1
749 >>18            ubyte           x       \b, language ID %d
750 # pointer to 1st audio WAV sample
751 >>16            uleshort        >0
752 >>>(16.s)       ulelong         >0      \b, at offset 0x%x
753 # WAV length
754 >>>>(16.s+4)    ulelong         >0      %d Bytes
755 # look for magic
756 >>>>>(&-8.l)    string          RIFF
757 # determine type by ./riff
758 >>>>>>&-4       indirect        x       \b
759 # 2 - ~ 131 WAV samples following same way
760
761 # From Martin Mueller Skarbiniks Pedersen
762 0               string          GDM
763 >0x3            byte            0xFE    General Digital Music.
764 >0x4            string          >\0     title: "%s"
765 >0x24           string          >\0     musician: "%s"
766 >>0x44          beshort         0x0D0A
767 >>>0x46         byte            0x1A
768 >>>>0x47        string          GMFS    Version
769 >>>>0x4B        byte            x       %d.
770 >>>>0x4C        byte            x       \b%02d
771 >>>>0x4D        beshort         0x000   (2GDM v
772 >>>>0x4F        byte            x       \b%d.
773 >>>>>0x50       byte            x       \b%d)
774
775 0               string          MTM     Multitracker
776 >0x3            byte/16         x       Version %d.
777 >0x3            byte&0x0F       x       \b%02d
778 >>0x4           string          >\0     title: "%s"
779
780 0               string          HVL
781 >3              byte            <2      Hively Tracker Song
782 >3              byte            0       1 module data
783 >3              byte            1       2 module data
784
785 0               string          MO3
786 >3              ubyte           <6      MOdule with MP3
787 >>3             byte            0       Version 0       (With MP3 and lossless)
788 >>3             byte            1       Version 1       (With ogg and lossless)
789 >>3             byte            3       Version 2.2
790 >>3             byte            4       (With no LAME header)
791 >>3             byte            5       Version 2.4
792
793 0               string          ADRVPACK        AProSys module
794
795 # ftp://ftp.modland.com/pub/documents/format_documentation/\
796 # Art%20Of%20Noise%20(.aon).txt
797 0               string          AON
798 >4              string          "ArtOfNoise by Bastian Spiegel(twice/lego)"
799 >0x2e           string          NAME    Art of Noise Tracker Song
800 >3              string          <9
801 >3              string          4       (4 voices)
802 >3              string          8       (8 voices)
803 >>0x36          string          >\0     Title: "%s"
804
805 0               string          FAR
806 >0x2c           byte            0x0d
807 >0x2d           byte            0x0a
808 >0x2e           byte            0x1a
809 >>0x3           byte            0xFE    Farandole Tracker Song
810 >>>0x31         byte/16         x       Version %d.
811 >>>0x31         byte&0x0F       x       \b%02d
812 >>>>0x4         string          >\0     \b, title: "%s"