audio 24 KB

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