2 #------------------------------------------------------------------------------
3 # $File: audio,v 1.89 2018/07/03 20:55:37 christos Exp $
4 # audio: file(1) magic for sound formats (see also "iff")
6 # Jan Nicolai Langfeldt (janl@ifi.uio.no), Dan Quinlan (quinlan@yggdrasil.com),
11 0 string .snd Sun/NeXT audio data:
12 >12 belong 1 8-bit ISDN mu-law,
14 >12 belong 2 8-bit linear PCM [REF-PCM],
16 >12 belong 3 16-bit linear PCM,
18 >12 belong 4 24-bit linear PCM,
20 >12 belong 5 32-bit linear PCM,
22 >12 belong 6 32-bit IEEE floating point,
24 >12 belong 7 64-bit IEEE floating point,
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.),
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),
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),
85 # Creative Labs AUDIO stuff
86 0 string MThd Standard MIDI data
88 >8 beshort x (format %d)
89 >10 beshort x using %d track
91 >12 beshort&0x7fff x at 1/%d
92 >12 beshort&0x8000 >0 SMPTE
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...
102 >23 byte >0 - version %d
105 # first entry is also the string "NTRK"
106 0 belong 0x4e54524b MultiTrack sound data
107 >4 belong x - version %d
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
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.
128 # MTM/669/FAR/S3M/ULT/XM format checking [Aaron Eppert, aeppert@dialin.ind.net]
130 # fixed by <doj@cubic.org> 2003-06-24
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
137 #0 string FAR Module sound data
138 #>4 string >\15 Title: "%s"
140 0x2c string SCRM ScreamTracker III Module sound data
141 >0 string >\0 Title: "%s"
143 # Gravis UltraSound patches
144 # From <ache@nagual.ru>
146 0 string GF1PATCH110\0ID#000002\0 GUS patch
147 0 string GF1PATCH100\0ID#000002\0 Old GUS patch
149 # mime types according to http://www.geocities.com/nevilo/mod.htm:
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
157 # audio/x-mod All modules (mod, s3m, 669, mtm, med, xm, it, mdz, stm, itz, xmz, s3z)
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
166 #audio/x-tracker-module
168 0 string UN05 MikMod UNI format module sound data
170 0 string Extended\ Module: Fasttracker II module sound data
172 #audio/x-tracker-module
173 >17 string >\0 Title: "%s"
175 21 string/c =!SCREAM! Screamtracker 2 module sound data
177 #audio/x-screamtracker-module
178 21 string BMOD2STM Screamtracker 2 module sound data
180 #audio/x-screamtracker-module
181 1080 string M.K. 4-channel Protracker module sound data
183 #audio/x-protracker-module
184 >0 string >\0 Title: "%s"
185 1080 string M!K! 4-channel Protracker module sound data
187 #audio/x-protracker-module
188 >0 string >\0 Title: "%s"
189 1080 string FLT4 4-channel Startracker module sound data
191 #audio/x-startracker-module
192 >0 string >\0 Title: "%s"
193 1080 string FLT8 8-channel Startracker module sound data
195 #audio/x-startracker-module
196 >0 string >\0 Title: "%s"
197 1080 string 4CHN 4-channel Fasttracker module sound data
199 #audio/x-fasttracker-module
200 >0 string >\0 Title: "%s"
201 1080 string 6CHN 6-channel Fasttracker module sound data
203 #audio/x-fasttracker-module
204 >0 string >\0 Title: "%s"
205 1080 string 8CHN 8-channel Fasttracker module sound data
207 #audio/x-fasttracker-module
208 >0 string >\0 Title: "%s"
209 1080 string CD81 8-channel Octalyser module sound data
211 #audio/x-octalysertracker-module
212 >0 string >\0 Title: "%s"
213 1080 string OKTA 8-channel Octalyzer module sound data
215 #audio/x-octalysertracker-module
216 >0 string >\0 Title: "%s"
219 #>1080 string >/0 %.2s-channel Fasttracker "oktalyzer" module sound data
220 1080 string 16CN 16-channel Taketracker module sound data
222 #audio/x-taketracker-module
223 >0 string >\0 Title: "%s"
224 1080 string 32CN 32-channel Taketracker module sound data
226 #audio/x-taketracker-module
227 >0 string >\0 Title: "%s"
229 # TOC sound files -Trevor Johnson <trevor@jpj.net>
231 0 string TOC TOC sound file
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
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"
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"
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)
267 # NIST SPHERE <mpruett@sgi.com>
268 0 string NIST_1A\n\ \ \ 1024\n NIST SPHERE file
270 # Sample Vision <mpruett@sgi.com>
271 0 string SOUND\ SAMPLE\ DATA\ Sample Vision file
273 # Audio Visual Research <tonigonenstein@users.sourceforge.net>
274 0 string 2BIT Audio Visual Research file,
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
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
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:
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
310 >5 byte x version %d,
312 >122 byte&0x2 =1 dual PAL/NTSC
314 >122 byte&0x1 =0 NTSC
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
329 >>18 byte&0x1 =0 NTSC
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"
340 # Impulse tracker module (audio/x-it)
341 0 string IMPM Impulse Tracker module sound data -
344 >40 leshort !0 compatible w/ITv%x
345 >42 leshort !0 created w/ITv%x
347 # Imago Orpheus module (audio/x-imf)
348 60 string IM10 Imago Orpheus module sound data -
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.
355 0 string IMPS Impulse Tracker Sample
360 0 string IMPI Impulse Tracker Instrument
362 >30 byte !0 %d samples
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
368 >22 byte 0xC9 non-looped
373 # scream tracker: file(1) magic for Scream Tracker sample files
375 # From <collver1@attbi.com>
376 76 string SCRS Scream Tracker Sample
378 >0 byte 2 adlib melody
379 >0 byte >2 adlib drum
382 >31 byte &4 16bit little endian
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
396 0 string THX AHX version
397 >3 byte =0 1 module data
398 >3 byte =1 2 module data
400 0 string OKTASONG Oktalyzer module data
402 0 string DIGI\ Booster\ module\0 %s
407 >610 string >\0 \b, "%s"
409 0 string DBM0 DIGI Booster Pro Module
412 >16 string >\0 \b, "%s"
414 0 string FTMN FaceTheMusic module
415 >16 string >\0d \b, "%s"
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
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
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
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
450 # Free lossless audio codec <http://flac.sourceforge.net>
451 # From: Przemyslaw Augustyniak <silvathraec@rpg.pl>
452 0 string fLaC FLAC audio bitstream data
454 >4 byte&0x7f >0 \b, unknown version
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 # sample rates derived from known oscillator frequencies;
472 # 24.576 MHz (video/fs=48kHz), 22.5792 (audio/fs=44.1kHz) and
473 # 16.384 (other/fs=32kHz).
474 >>17 belong&0xfffff0 0x02b110 \b, 11.025 kHz
475 >>17 belong&0xfffff0 0x03e800 \b, 16 kHz
476 >>17 belong&0xfffff0 0x056220 \b, 22.05 kHz
477 >>17 belong&0xfffff0 0x05dc00 \b, 24 kHz
478 >>17 belong&0xfffff0 0x07d000 \b, 32 kHz
479 >>17 belong&0xfffff0 0x0ac440 \b, 44.1 kHz
480 >>17 belong&0xfffff0 0x0bb800 \b, 48 kHz
481 >>17 belong&0xfffff0 0x0fa000 \b, 64 kHz
482 >>17 belong&0xfffff0 0x158880 \b, 88.2 kHz
483 >>17 belong&0xfffff0 0x177000 \b, 96 kHz
484 >>17 belong&0xfffff0 0x1f4000 \b, 128 kHz
485 >>17 belong&0xfffff0 0x2b1100 \b, 176.4 kHz
486 >>17 belong&0xfffff0 0x2ee000 \b, 192 kHz
487 >>17 belong&0xfffff0 0x3e8000 \b, 256 kHz
488 >>17 belong&0xfffff0 0x562200 \b, 352.8 kHz
489 >>17 belong&0xfffff0 0x5dc000 \b, 384 kHz
490 >>21 byte&0xf >0 \b, >4G samples
492 >>>22 belong >0 \b, %u samples
493 >>>22 belong 0 \b, length unknown
495 # (ISDN) VBOX voice message file (Wolfram Kleff)
496 0 string VBOX VBOX voice message data
498 # ReBorn Song Files (.rbs)
499 # David J. Singer <doc@deadvirgins.org.uk>
500 8 string RB40 RBS Song file
501 >29 string ReBorn created by ReBorn
502 >37 string Propellerhead created by ReBirth
504 # Synthesizer Generator and Kimwitu share their file format
505 0 string A#S#C#S#S#L#V#3 Synthesizer Generator or Kimwitu data
506 # Kimwitu++ uses a slightly different magic
507 0 string A#S#C#S#S#L#HUB Kimwitu++ data
510 0 string TFMX-SONG TFMX module sound data
512 # Monkey's Audio compressed audio format (.ape)
513 # From danny.milo@gmx.net (Danny Milosavljevic)
514 # New version from Abel Cheung <abel (@) oaka.org>
515 0 string MAC\040 Monkey's Audio compressed format
517 >4 uleshort >0x0F8B version %d
518 >>(0x08.l) uleshort =1000 with fast compression
519 >>(0x08.l) uleshort =2000 with normal compression
520 >>(0x08.l) uleshort =3000 with high compression
521 >>(0x08.l) uleshort =4000 with extra high compression
522 >>(0x08.l) uleshort =5000 with insane compression
523 >>(0x08.l+18) uleshort =1 \b, mono
524 >>(0x08.l+18) uleshort =2 \b, stereo
525 >>(0x08.l+20) ulelong x \b, sample rate %d
526 >4 uleshort <0x0F8C version %d
527 >>6 uleshort =1000 with fast compression
528 >>6 uleshort =2000 with normal compression
529 >>6 uleshort =3000 with high compression
530 >>6 uleshort =4000 with extra high compression
531 >>6 uleshort =5000 with insane compression
532 >>10 uleshort =1 \b, mono
533 >>10 uleshort =2 \b, stereo
534 >>12 ulelong x \b, sample rate %d
537 # From: Alex Myczko <alex@aiei.ch>
538 0 string RAWADATA RdosPlay RAW
540 1068 string RoR AMUSIC Adlib Tracker
544 0 string mpu401tr MPU-401 Trakker
546 0 string SAdT Surprise! Adlib Tracker
549 0 string XAD! eXotic ADlib
551 0 string ofTAZ! eXtra Simple Music
553 # Spectrum 128 tunes (.ay files).
554 # From: Emanuel Haupt <ehaupt@critical.ch>
555 0 string ZXAYEMUL Spectrum 128 tune
557 0 string \0BONK BONK,
558 #>5 byte x version %d
559 >14 byte x %d channel(s),
560 >15 byte =1 lossless,
564 384 string LockStream LockStream Embedded file (mostly MP3 on old Nokia phones)
566 # format VQF (proprietary codec for sound)
567 # some infos on the header file available at :
568 # http://www.twinvq.org/english/technology_format.html
569 0 string TWIN97012000 VQF data
571 >27 short 1 \b, Stereo
572 >31 short >0 \b, %d kbit/s
573 >35 short >0 \b, %d kHz
575 # Nelson A. de Oliveira (naoliv@gmail.com)
577 0 string Winamp\ EQ\ library\ file %s
578 # it will match only versions like v<digit>.<digit>
579 # Since I saw only eqf files with version v1.1 I think that it's OK
582 0 string [Equalizer\ preset] XMMS equalizer preset
584 0 search/1 #EXTM3U M3U playlist text
586 0 search/1 [playlist] PLS playlist text
588 1 string [licq] LICQ configuration file
590 # Atari ST audio files by Dirk Jagdmann <doj@cubic.org>
591 0 string ICE! SNDH Atari ST music
592 0 string SC68\ Music-file\ /\ (c)\ (BeN)jami sc68 Atari ST music
594 # musepak support From: "Jiri Pejchal" <jiri.pejchal@gmail.com>
595 0 string MP+ Musepack audio (MP+)
596 !:mime audio/x-musepack
597 >3 byte 255 \b, SV pre8
598 >3 byte&0xF 0x6 \b, SV 6
599 >3 byte&0xF 0x8 \b, SV 8
600 >3 byte&0xF 0x7 \b, SV 7
601 >>3 byte&0xF0 0x0 \b.0
602 >>3 byte&0xF0 0x10 \b.1
603 >>3 byte&0xF0 240 \b.15
604 >>10 byte&0xF0 0x0 \b, no profile
605 >>10 byte&0xF0 0x10 \b, profile 'Unstable/Experimental'
606 >>10 byte&0xF0 0x50 \b, quality 0
607 >>10 byte&0xF0 0x60 \b, quality 1
608 >>10 byte&0xF0 0x70 \b, quality 2 (Telephone)
609 >>10 byte&0xF0 0x80 \b, quality 3 (Thumb)
610 >>10 byte&0xF0 0x90 \b, quality 4 (Radio)
611 >>10 byte&0xF0 0xA0 \b, quality 5 (Standard)
612 >>10 byte&0xF0 0xB0 \b, quality 6 (Xtreme)
613 >>10 byte&0xF0 0xC0 \b, quality 7 (Insane)
614 >>10 byte&0xF0 0xD0 \b, quality 8 (BrainDead)
615 >>10 byte&0xF0 0xE0 \b, quality 9
616 >>10 byte&0xF0 0xF0 \b, quality 10
617 >>27 byte 0x0 \b, Buschmann 1.7.0-9, Klemm 0.90-1.05
618 >>27 byte 102 \b, Beta 1.02
619 >>27 byte 104 \b, Beta 1.04
620 >>27 byte 105 \b, Alpha 1.05
621 >>27 byte 106 \b, Beta 1.06
622 >>27 byte 110 \b, Release 1.1
623 >>27 byte 111 \b, Alpha 1.11
624 >>27 byte 112 \b, Beta 1.12
625 >>27 byte 113 \b, Alpha 1.13
626 >>27 byte 114 \b, Beta 1.14
627 >>27 byte 115 \b, Alpha 1.15
629 0 string MPCK Musepack audio (MPCK)
630 !:mime audio/x-musepack
633 # from http://filext.com/detaillist.php?extdetail=IMY
634 # http://cellphones.about.com/od/cellularfaqs/f/rf_imelody.htm
635 # http://download.ncl.ie/doc/api/ie/ncl/media/music/IMelody.html
636 # http://www.wx800.com/msg/download/irda/iMelody.pdf
637 0 string BEGIN:IMELODY iMelody Ringtone Format
639 # From: "Mateus Caruccio" <mateus@caruccio.com>
640 # guitar pro v3,4,5 from http://filext.com/file-extension/gp3
641 0 string \030FICHIER\ GUITAR\ PRO\ v3. Guitar Pro Ver. 3 Tablature
643 # From: "Leslie P. Polzer" <leslie.polzer@gmx.net>
644 60 string SONG SoundFX Module sound file
646 # Type: Adaptive Multi-Rate Codec
647 # URL: http://filext.com/detaillist.php?extdetail=AMR
648 # From: Russell Coker <russell@coker.com.au>
649 0 string #!AMR Adaptive Multi-Rate Codec (GSM telephony)
651 # Type: SuperCollider 3 Synth Definition File Format
652 # From: Mario Lang <mlang@debian.org>
653 0 string SCgf SuperCollider3 Synth Definition file,
654 >4 belong x version %d
656 # Type: True Audio Lossless Audio
657 # URL: http://wiki.multimedia.cx/index.php?title=True_Audio
658 # From: Mike Melanson <mike@multimedia.cx>
659 0 string TTA1 True Audio Lossless Audio
661 # Type: WavPack Lossless Audio
662 # URL: http://wiki.multimedia.cx/index.php?title=WavPack
663 # From: Mike Melanson <mike@multimedia.cx>
664 0 string wvpk WavPack Lossless Audio
666 # From Fabio R. Schmidlin <frs@pop.com.br>
669 >9 ubyte >0 VGM Video Game Music dump v
671 >>9 ubyte&0x0F x \b%d
673 >>8 ubyte&0x0F >0 \b%d
675 >>8 ubyte x \b, soundchip(s)=
676 >>0x0C ulelong >0 SN76489,
677 >>0x10 ulelong >0 YM2413,
678 >>0x2C ulelong >0 YM2612,
679 >>0x30 ulelong >0 YM2151,
680 >>0x38 ulelong >0 Sega PCM,
682 >>>0x40 ulelong >0 RF5C68,
684 >>>0x44 ulelong >0 YM2203,
686 >>>0x48 ulelong >0 YM2608,
688 >>>0x4C lelong >0 YM2610,
689 >>>0x4C lelong <0 YM2610B,
691 >>>0x50 ulelong >0 YM3812,
693 >>>0x54 ulelong >0 YM3526,
695 >>>0x58 ulelong >0 Y8950,
697 >>>0x5C ulelong >0 YMF262,
699 >>>0x60 ulelong >0 YMF278B,
701 >>>0x64 ulelong >0 YMF271,
703 >>>0x68 ulelong >0 YMZ280B,
705 >>>0x6C ulelong >0 RF5C164,
707 >>>0x70 ulelong >0 PWM,
710 >>>>0x78 ubyte 0x00 AY-3-8910,
711 >>>>0x78 ubyte 0x01 AY-3-8912,
712 >>>>0x78 ubyte 0x02 AY-3-8913,
713 >>>>0x78 ubyte 0x03 AY-3-8930,
714 >>>>0x78 ubyte 0x10 YM2149,
715 >>>>0x78 ubyte 0x11 YM3439,
717 # GVOX Encore file format
718 # Since this is a proprietary file format and there is no publicly available
719 # format specification, this is just based on induction
722 >4 byte 0xc4 GVOX Encore music, version 5.0 or above
723 >4 byte 0xc2 GVOX Encore music, version < 5.0
726 >4 byte 0xc5 GVOX Encore music, version < 5.0
728 # Summary: Garmin Voice Processing Module (WAVE audios)
729 # From: Joerg Jenderek
730 # URL: http://www.garmin.com/
731 # Reference: http://turboccc.wikispaces.com/share/view/28622555
732 # NOTE: there exist 2 other Garmin VPM formats
734 # skip text files starting with string "AUDIMG"
735 >13 ubyte <13 Garmin Voice Processing Module
736 !:mime audio/x-vpm-wav-garmin
738 # 3 bytes indicating the voice version (200,220)
739 >>6 string x \b, version %3.3s
740 # day of release (01-31)
741 >>12 ubyte x \b, %.2d
742 # month of release (01-12)
744 # year of release (like 2006, 2007, 2008)
745 >>14 uleshort x \b.%.4d
746 # hour of release (0-23)
748 # minute of release (0-59)
750 # second of release (0-59)
752 # if you select a language like german on your garmin device
753 # you can only select voice modules with corresponding language byte ID like 1
754 >>18 ubyte x \b, language ID %d
755 # pointer to 1st audio WAV sample
757 >>>(16.s) ulelong >0 \b, at offset 0x%x
759 >>>>(16.s+4) ulelong >0 %d Bytes
761 >>>>>(&-8.l) string RIFF
762 # determine type by ./riff
763 >>>>>>&-4 indirect x \b
764 # 2 - ~ 131 WAV samples following same way
766 # From Martin Mueller Skarbiniks Pedersen
768 >0x3 byte 0xFE General Digital Music.
769 >0x4 string >\0 title: "%s"
770 >0x24 string >\0 musician: "%s"
771 >>0x44 beshort 0x0D0A
773 >>>>0x47 string GMFS Version
775 >>>>0x4C byte x \b%02d
776 >>>>0x4D beshort 0x000 (2GDM v
777 >>>>0x4F byte x \b%d.
778 >>>>>0x50 byte x \b%d)
780 0 string MTM Multitracker
781 >0x3 byte/16 x Version %d.
782 >0x3 byte&0x0F x \b%02d
783 >>0x4 string >\0 title: "%s"
786 >3 byte <2 Hively Tracker Song
787 >3 byte 0 1 module data
788 >3 byte 1 2 module data
791 >3 ubyte <6 MOdule with MP3
792 >>3 byte 0 Version 0 (With MP3 and lossless)
793 >>3 byte 1 Version 1 (With ogg and lossless)
794 >>3 byte 3 Version 2.2
795 >>3 byte 4 (With no LAME header)
796 >>3 byte 5 Version 2.4
798 0 string ADRVPACK AProSys module
800 # ftp://ftp.modland.com/pub/documents/format_documentation/\
801 # Art%20Of%20Noise%20(.aon).txt
803 >4 string "ArtOfNoise by Bastian Spiegel(twice/lego)"
804 >0x2e string NAME Art of Noise Tracker Song
806 >3 string 4 (4 voices)
807 >3 string 8 (8 voices)
808 >>0x36 string >\0 Title: "%s"
814 >>0x3 byte 0xFE Farandole Tracker Song
815 >>>0x31 byte/16 x Version %d.
816 >>>0x31 byte&0x0F x \b%02d
817 >>>>0x4 string >\0 \b, title: "%s"
819 # magic for Klystrack, http://kometbomb.github.io/klystrack/
820 # from Alex Myczko <alex@aiei.ch>
821 0 string cyd!song Klystrack song
822 >8 byte >0 \b, version %u
824 #>>9 byte x \b, channels %u
825 #>>10 leshort x \b, time signature %u
826 #>>12 leshort x \b, sequence step %u
827 #>>14 byte x \b, instruments %u
828 #>>15 leshort x \b, patterns %u
829 #>>17 leshort x \b, sequences %u
830 #>>19 leshort x \b, length %u
831 #>>21 leshort x \b, loop point %u
832 #>>23 byte x \b, master volume %u
833 #>>24 byte x \b, song speed %u
834 #>>25 byte x \b, song speed2 %u
835 #>>26 byte x \b, song rate %u
836 #>>27 belong x \b, flags %#x
837 #>>31 byte x \b, multiplex period %u
838 #>>32 byte x \b, pitch inaccuracy %u
839 >>149 pstring x \b, title %s
841 0 string cyd!inst Klystrack instrument
843 # magic for WOPL instrument files, https://github.com/Wohlstand/OPL3BankEditor
844 # see Specifications/WOPL-and-OPLI-Specification.txt
846 0 string WOPL3-INST\0 WOPL instrument
847 >11 leshort x \b, version %u
848 0 string WOPL3-BANK\0 WOPL instrument bank
849 >11 leshort x \b, version %u
851 # AdLib/OPL instrument files. Format specifications on
852 # http://www.shikadi.net/moddingwiki
853 0 string Junglevision\ Patch\ File Junglevision instrument data
854 0 string #OPL_II# DMX OP2 instrument data
855 0 string IBK\x1a IBK instrument data
856 0 string 2OP\x1a IBK instrument data, 2 operators
857 0 string 4OP\x1a IBK instrument data, 4 operators
858 2 string ADLIB- AdLib instrument data
859 >0 byte x \b, version %u
862 # CRI ADX ADPCM audio
863 # Used by various Sega games.
864 # https://en.wikipedia.org/wiki/ADX_(file_format)
865 # https://wiki.multimedia.cx/index.php/CRI_ADX_file
866 # Added by David Korth <gerbilsoft@gerbilsoft.com>
868 >(2.S-2) string (c)CRI CRI ADX ADPCM audio
870 >>0x04 byte 0x02 \b, pre-set prediction coefficients
871 >>0x04 byte 0x03 \b, standard ADX
872 >>0x04 byte 0x04 \b, exponential scale
873 >>0x04 byte 0x05 \b, AHX
874 >>0x08 belong x \b, %u Hz
876 >>>0x02 beshort >0x2B
877 >>>>0x18 belong !0 \b, looping
879 >>>0x02 beshort >0x37
880 >>>>0x24 belong !0 \b, looping
881 >>0x13 byte&0x08 0x08 \b, encrypted
883 # Lossless audio (.la) (http://www.lossless-audio.com/)
885 >2 string 03 Lossless audio version 0.3
886 >2 string 04 Lossless audio version 0.4
888 # Sony PlayStation Audio (.xa)
889 0 leshort 0x4158 Sony PlayStation Audio