1b6cee71dSXin LI 2b6cee71dSXin LI#------------------------------------------------------------------------------ 3*ae316d1dSXin LI# $File: audio,v 1.133 2024/09/04 19:07:20 christos Exp $ 4b6cee71dSXin LI# audio: file(1) magic for sound formats (see also "iff") 5b6cee71dSXin LI# 6b6cee71dSXin LI# Jan Nicolai Langfeldt (janl@ifi.uio.no), Dan Quinlan (quinlan@yggdrasil.com), 7b6cee71dSXin LI# and others 8b6cee71dSXin LI# 9b6cee71dSXin LI 10b6cee71dSXin LI# Sun/NeXT audio data 11b6cee71dSXin LI0 string .snd Sun/NeXT audio data: 12b6cee71dSXin LI>12 belong 1 8-bit ISDN mu-law, 13b6cee71dSXin LI!:mime audio/basic 14b6cee71dSXin LI>12 belong 2 8-bit linear PCM [REF-PCM], 15b6cee71dSXin LI!:mime audio/basic 16b6cee71dSXin LI>12 belong 3 16-bit linear PCM, 17b6cee71dSXin LI!:mime audio/basic 18b6cee71dSXin LI>12 belong 4 24-bit linear PCM, 19b6cee71dSXin LI!:mime audio/basic 20b6cee71dSXin LI>12 belong 5 32-bit linear PCM, 21b6cee71dSXin LI!:mime audio/basic 22b6cee71dSXin LI>12 belong 6 32-bit IEEE floating point, 23b6cee71dSXin LI!:mime audio/basic 24b6cee71dSXin LI>12 belong 7 64-bit IEEE floating point, 25b6cee71dSXin LI!:mime audio/basic 26b6cee71dSXin LI>12 belong 8 Fragmented sample data, 27b6cee71dSXin LI>12 belong 10 DSP program, 28b6cee71dSXin LI>12 belong 11 8-bit fixed point, 29b6cee71dSXin LI>12 belong 12 16-bit fixed point, 30b6cee71dSXin LI>12 belong 13 24-bit fixed point, 31b6cee71dSXin LI>12 belong 14 32-bit fixed point, 32b6cee71dSXin LI>12 belong 18 16-bit linear with emphasis, 33b6cee71dSXin LI>12 belong 19 16-bit linear compressed, 34b6cee71dSXin LI>12 belong 20 16-bit linear with emphasis and compression, 35b6cee71dSXin LI>12 belong 21 Music kit DSP commands, 36b6cee71dSXin LI>12 belong 23 8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice enc.), 37b6cee71dSXin LI!:mime audio/x-adpcm 38b6cee71dSXin LI>12 belong 24 compressed (8-bit CCITT G.722 ADPCM) 39b6cee71dSXin LI>12 belong 25 compressed (3-bit CCITT G.723.3 ADPCM), 40b6cee71dSXin LI>12 belong 26 compressed (5-bit CCITT G.723.5 ADPCM), 41b6cee71dSXin LI>12 belong 27 8-bit A-law (CCITT G.711), 42b6cee71dSXin LI>20 belong 1 mono, 43b6cee71dSXin LI>20 belong 2 stereo, 44b6cee71dSXin LI>20 belong 4 quad, 45b6cee71dSXin LI>16 belong >0 %d Hz 46b6cee71dSXin LI 47b6cee71dSXin LI# DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format 48b6cee71dSXin LI# that uses little-endian encoding and has a different magic number 49b6cee71dSXin LI0 lelong 0x0064732E DEC audio data: 50b6cee71dSXin LI>12 lelong 1 8-bit ISDN mu-law, 51b6cee71dSXin LI!:mime audio/x-dec-basic 52b6cee71dSXin LI>12 lelong 2 8-bit linear PCM [REF-PCM], 53b6cee71dSXin LI!:mime audio/x-dec-basic 54b6cee71dSXin LI>12 lelong 3 16-bit linear PCM, 55b6cee71dSXin LI!:mime audio/x-dec-basic 56b6cee71dSXin LI>12 lelong 4 24-bit linear PCM, 57b6cee71dSXin LI!:mime audio/x-dec-basic 58b6cee71dSXin LI>12 lelong 5 32-bit linear PCM, 59b6cee71dSXin LI!:mime audio/x-dec-basic 60b6cee71dSXin LI>12 lelong 6 32-bit IEEE floating point, 61b6cee71dSXin LI!:mime audio/x-dec-basic 62b6cee71dSXin LI>12 lelong 7 64-bit IEEE floating point, 63b6cee71dSXin LI!:mime audio/x-dec-basic 64b6cee71dSXin LI>12 belong 8 Fragmented sample data, 65b6cee71dSXin LI>12 belong 10 DSP program, 66b6cee71dSXin LI>12 belong 11 8-bit fixed point, 67b6cee71dSXin LI>12 belong 12 16-bit fixed point, 68b6cee71dSXin LI>12 belong 13 24-bit fixed point, 69b6cee71dSXin LI>12 belong 14 32-bit fixed point, 70b6cee71dSXin LI>12 belong 18 16-bit linear with emphasis, 71b6cee71dSXin LI>12 belong 19 16-bit linear compressed, 72b6cee71dSXin LI>12 belong 20 16-bit linear with emphasis and compression, 73b6cee71dSXin LI>12 belong 21 Music kit DSP commands, 74b6cee71dSXin LI>12 lelong 23 8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice enc.), 75b6cee71dSXin LI!:mime audio/x-dec-basic 76b6cee71dSXin LI>12 belong 24 compressed (8-bit CCITT G.722 ADPCM) 77b6cee71dSXin LI>12 belong 25 compressed (3-bit CCITT G.723.3 ADPCM), 78b6cee71dSXin LI>12 belong 26 compressed (5-bit CCITT G.723.5 ADPCM), 79b6cee71dSXin LI>12 belong 27 8-bit A-law (CCITT G.711), 80b6cee71dSXin LI>20 lelong 1 mono, 81b6cee71dSXin LI>20 lelong 2 stereo, 82b6cee71dSXin LI>20 lelong 4 quad, 83b6cee71dSXin LI>16 lelong >0 %d Hz 84b6cee71dSXin LI 85b6cee71dSXin LI# Creative Labs AUDIO stuff 86b6cee71dSXin LI0 string MThd Standard MIDI data 87b6cee71dSXin LI!:mime audio/midi 88b6cee71dSXin LI>8 beshort x (format %d) 89b6cee71dSXin LI>10 beshort x using %d track 90b6cee71dSXin LI>10 beshort >1 \bs 91b6cee71dSXin LI>12 beshort&0x7fff x at 1/%d 92b6cee71dSXin LI>12 beshort&0x8000 >0 SMPTE 93b6cee71dSXin LI 94b6cee71dSXin LI0 string CTMF Creative Music (CMF) data 95b6cee71dSXin LI!:mime audio/x-unknown 96b6cee71dSXin LI0 string SBI SoundBlaster instrument data 97b6cee71dSXin LI!:mime audio/x-unknown 98b6cee71dSXin LI0 string Creative\ Voice\ File Creative Labs voice data 99b6cee71dSXin LI!:mime audio/x-unknown 100b6cee71dSXin LI# is this next line right? it came this way... 101b6cee71dSXin LI>19 byte 0x1A 102*ae316d1dSXin LI>>23 byte >0 - version %d 103*ae316d1dSXin LI>>22 byte >0 \b.%d 104b6cee71dSXin LI 105b6cee71dSXin LI# first entry is also the string "NTRK" 106b6cee71dSXin LI0 belong 0x4e54524b MultiTrack sound data 107b6cee71dSXin LI>4 belong x - version %d 108b6cee71dSXin LI 109b6cee71dSXin LI# Extended MOD format (*.emd) (Greg Roelofs, newt@uchicago.edu); NOT TESTED 110b6cee71dSXin LI# [based on posting 940824 by "Dirk/Elastik", husberg@lehtori.cc.tut.fi] 111b6cee71dSXin LI0 string EMOD Extended MOD sound data, 112b6cee71dSXin LI>4 byte&0xf0 x version %d 113b6cee71dSXin LI>4 byte&0x0f x \b.%d, 114b6cee71dSXin LI>45 byte x %d instruments 115b6cee71dSXin LI>83 byte 0 (module) 116b6cee71dSXin LI>83 byte 1 (song) 117b6cee71dSXin LI 118b6cee71dSXin LI# Real Audio (Magic .ra\0375) 119b6cee71dSXin LI0 belong 0x2e7261fd RealAudio sound file 120b6cee71dSXin LI!:mime audio/x-pn-realaudio 121b6cee71dSXin LI0 string .RMF\0\0\0 RealMedia file 122b6cee71dSXin LI!:mime application/vnd.rn-realmedia 123b6cee71dSXin LI#video/x-pn-realvideo 124b6cee71dSXin LI#video/vnd.rn-realvideo 125b6cee71dSXin LI#application/vnd.rn-realmedia 126b6cee71dSXin LI# sigh, there are many mimes for that but the above are the most common. 127b6cee71dSXin LI 128b6cee71dSXin LI# MTM/669/FAR/S3M/ULT/XM format checking [Aaron Eppert, aeppert@dialin.ind.net] 129b6cee71dSXin LI# Oct 31, 1995 130b6cee71dSXin LI# fixed by <doj@cubic.org> 2003-06-24 131b6cee71dSXin LI# Too short... 132b6cee71dSXin LI#0 string MTM MultiTracker Module sound file 133b6cee71dSXin LI#0 string if Composer 669 Module sound data 134b6cee71dSXin LI#0 string JN Composer 669 Module sound data (extended format) 135b6cee71dSXin LI0 string MAS_U ULT(imate) Module sound data 136b6cee71dSXin LI 137b6cee71dSXin LI#0 string FAR Module sound data 138b6cee71dSXin LI#>4 string >\15 Title: "%s" 139b6cee71dSXin LI 140b6cee71dSXin LI0x2c string SCRM ScreamTracker III Module sound data 141b6cee71dSXin LI>0 string >\0 Title: "%s" 142d38c30c0SXin LI!:mime audio/x-s3m 143d38c30c0SXin LI 144d38c30c0SXin LI# .stm before it got above .s3m extension 145d38c30c0SXin LI0x16 string \!Scream\! ScreamTracker Module sound data 146d38c30c0SXin LI>0 string >\0 Title: "%s" 147b6cee71dSXin LI 148b6cee71dSXin LI# Gravis UltraSound patches 149b6cee71dSXin LI# From <ache@nagual.ru> 150b6cee71dSXin LI 151b6cee71dSXin LI0 string GF1PATCH110\0ID#000002\0 GUS patch 152b6cee71dSXin LI0 string GF1PATCH100\0ID#000002\0 Old GUS patch 153b6cee71dSXin LI 154b6cee71dSXin LI# mime types according to http://www.geocities.com/nevilo/mod.htm: 155b6cee71dSXin LI# audio/it .it 156b6cee71dSXin LI# audio/x-zipped-it .itz 157b6cee71dSXin LI# audio/xm fasttracker modules 158b6cee71dSXin LI# audio/x-s3m screamtracker modules 159b6cee71dSXin LI# audio/s3m screamtracker modules 160b6cee71dSXin LI# audio/x-zipped-mod mdz 161b6cee71dSXin LI# audio/mod mod 162b6cee71dSXin LI# audio/x-mod All modules (mod, s3m, 669, mtm, med, xm, it, mdz, stm, itz, xmz, s3z) 163b6cee71dSXin LI 164b6cee71dSXin LI# 165b6cee71dSXin LI# Taken from loader code from mikmod version 2.14 166b6cee71dSXin LI# by Steve McIntyre (stevem@chiark.greenend.org.uk) 167b6cee71dSXin LI# <doj@cubic.org> added title printing on 2003-06-24 168b6cee71dSXin LI0 string MAS_UTrack_V00 169b6cee71dSXin LI>14 string >/0 ultratracker V1.%.1s module sound data 170b6cee71dSXin LI!:mime audio/x-mod 171b6cee71dSXin LI#audio/x-tracker-module 172b6cee71dSXin LI 173b6cee71dSXin LI0 string UN05 MikMod UNI format module sound data 174b6cee71dSXin LI 175b6cee71dSXin LI0 string Extended\ Module: Fasttracker II module sound data 176b6cee71dSXin LI!:mime audio/x-mod 177b6cee71dSXin LI#audio/x-tracker-module 178b6cee71dSXin LI>17 string >\0 Title: "%s" 179b6cee71dSXin LI 180b6cee71dSXin LI21 string/c =!SCREAM! Screamtracker 2 module sound data 181b6cee71dSXin LI!:mime audio/x-mod 182b6cee71dSXin LI#audio/x-screamtracker-module 183b6cee71dSXin LI21 string BMOD2STM Screamtracker 2 module sound data 184b6cee71dSXin LI!:mime audio/x-mod 185b6cee71dSXin LI#audio/x-screamtracker-module 186898496eeSXin LI 187898496eeSXin LI1080 string \!PM! 4-channel Protracker module sound data 188898496eeSXin LI!:mime audio/x-mod 189898496eeSXin LI#audio/x-protracker-module 190898496eeSXin LI>0 string >\0 Title: "%s" 191898496eeSXin LI 192b6cee71dSXin LI1080 string M.K. 4-channel Protracker module sound data 193b6cee71dSXin LI!:mime audio/x-mod 194b6cee71dSXin LI#audio/x-protracker-module 195b6cee71dSXin LI>0 string >\0 Title: "%s" 196898496eeSXin LI 197b6cee71dSXin LI1080 string M!K! 4-channel Protracker module sound data 198b6cee71dSXin LI!:mime audio/x-mod 199b6cee71dSXin LI#audio/x-protracker-module 200b6cee71dSXin LI>0 string >\0 Title: "%s" 201898496eeSXin LI 202b6cee71dSXin LI1080 string FLT4 4-channel Startracker module sound data 203b6cee71dSXin LI!:mime audio/x-mod 204b6cee71dSXin LI#audio/x-startracker-module 205b6cee71dSXin LI>0 string >\0 Title: "%s" 206898496eeSXin LI 207b6cee71dSXin LI1080 string FLT8 8-channel Startracker module sound data 208b6cee71dSXin LI!:mime audio/x-mod 209b6cee71dSXin LI#audio/x-startracker-module 210b6cee71dSXin LI>0 string >\0 Title: "%s" 211898496eeSXin LI 212b6cee71dSXin LI1080 string 4CHN 4-channel Fasttracker module sound data 213b6cee71dSXin LI!:mime audio/x-mod 214b6cee71dSXin LI#audio/x-fasttracker-module 215b6cee71dSXin LI>0 string >\0 Title: "%s" 216898496eeSXin LI 217b6cee71dSXin LI1080 string 6CHN 6-channel Fasttracker module sound data 218b6cee71dSXin LI!:mime audio/x-mod 219b6cee71dSXin LI#audio/x-fasttracker-module 220b6cee71dSXin LI>0 string >\0 Title: "%s" 221898496eeSXin LI 222b6cee71dSXin LI1080 string 8CHN 8-channel Fasttracker module sound data 223b6cee71dSXin LI!:mime audio/x-mod 224b6cee71dSXin LI#audio/x-fasttracker-module 225b6cee71dSXin LI>0 string >\0 Title: "%s" 226898496eeSXin LI 227b6cee71dSXin LI1080 string CD81 8-channel Octalyser module sound data 228b6cee71dSXin LI!:mime audio/x-mod 229b6cee71dSXin LI#audio/x-octalysertracker-module 230b6cee71dSXin LI>0 string >\0 Title: "%s" 231898496eeSXin LI 232b6cee71dSXin LI1080 string OKTA 8-channel Octalyzer module sound data 233b6cee71dSXin LI!:mime audio/x-mod 234b6cee71dSXin LI#audio/x-octalysertracker-module 235b6cee71dSXin LI>0 string >\0 Title: "%s" 236898496eeSXin LI 237b6cee71dSXin LI# Not good enough. 238b6cee71dSXin LI#1082 string CH 239b6cee71dSXin LI#>1080 string >/0 %.2s-channel Fasttracker "oktalyzer" module sound data 240b6cee71dSXin LI1080 string 16CN 16-channel Taketracker module sound data 241b6cee71dSXin LI!:mime audio/x-mod 242b6cee71dSXin LI#audio/x-taketracker-module 243b6cee71dSXin LI>0 string >\0 Title: "%s" 244b6cee71dSXin LI1080 string 32CN 32-channel Taketracker module sound data 245b6cee71dSXin LI!:mime audio/x-mod 246b6cee71dSXin LI#audio/x-taketracker-module 247b6cee71dSXin LI>0 string >\0 Title: "%s" 248b6cee71dSXin LI 249b6cee71dSXin LI# TOC sound files -Trevor Johnson <trevor@jpj.net> 250b6cee71dSXin LI# 251b6cee71dSXin LI0 string TOC TOC sound file 252b6cee71dSXin LI 253b6cee71dSXin LI# sidfiles <pooka@iki.fi> 254b6cee71dSXin LI# added name,author,(c) and new RSID type by <doj@cubic.org> 2003-06-24 255b6cee71dSXin LI0 string SIDPLAY\ INFOFILE Sidplay info file 256b6cee71dSXin LI 257b6cee71dSXin LI0 string PSID PlaySID v2.2+ (AMIGA) sidtune 258b6cee71dSXin LI>4 beshort >0 w/ header v%d, 259b6cee71dSXin LI>14 beshort =1 single song, 260b6cee71dSXin LI>14 beshort >1 %d songs, 261b6cee71dSXin LI>16 beshort >0 default song: %d 262b6cee71dSXin LI>0x16 string >\0 name: "%s" 263b6cee71dSXin LI>0x36 string >\0 author: "%s" 264b6cee71dSXin LI>0x56 string >\0 copyright: "%s" 265b6cee71dSXin LI 266b6cee71dSXin LI0 string RSID RSID sidtune PlaySID compatible 267b6cee71dSXin LI>4 beshort >0 w/ header v%d, 268b6cee71dSXin LI>14 beshort =1 single song, 269b6cee71dSXin LI>14 beshort >1 %d songs, 270b6cee71dSXin LI>16 beshort >0 default song: %d 271b6cee71dSXin LI>0x16 string >\0 name: "%s" 272b6cee71dSXin LI>0x36 string >\0 author: "%s" 273b6cee71dSXin LI>0x56 string >\0 copyright: "%s" 274b6cee71dSXin LI 275b6cee71dSXin LI# IRCAM sound files - Michael Pruett <michael@68k.org> 276b6cee71dSXin LI# http://www-mmsp.ece.mcgill.ca/documents/AudioFormats/IRCAM/IRCAM.html 277b6cee71dSXin LI0 belong 0x64a30100 IRCAM file (VAX little-endian) 278b6cee71dSXin LI0 belong 0x0001a364 IRCAM file (VAX big-endian) 279b6cee71dSXin LI0 belong 0x0002a364 IRCAM file (Sun little-endian) 280*ae316d1dSXin LI0 belong 0x64a30200 IRCAM file (Sun big-endian) 281b6cee71dSXin LI0 belong 0x64a30300 IRCAM file (MIPS little-endian) 282b6cee71dSXin LI0 belong 0x0003a364 IRCAM file (MIPS big-endian) 283b6cee71dSXin LI0 belong 0x0004a364 IRCAM file (NeXT little-endian) 284*ae316d1dSXin LI0 belong 0x64a30400 IRCAM file (NeXT big-endian) 285b6cee71dSXin LI 286b6cee71dSXin LI# NIST SPHERE <mpruett@sgi.com> 287b6cee71dSXin LI0 string NIST_1A\n\ \ \ 1024\n NIST SPHERE file 288b6cee71dSXin LI 289b6cee71dSXin LI# Sample Vision <mpruett@sgi.com> 290b6cee71dSXin LI0 string SOUND\ SAMPLE\ DATA\ Sample Vision file 291b6cee71dSXin LI 292b6cee71dSXin LI# Audio Visual Research <tonigonenstein@users.sourceforge.net> 293b6cee71dSXin LI0 string 2BIT Audio Visual Research file, 294b6cee71dSXin LI>12 beshort =0 mono, 295b6cee71dSXin LI>12 beshort =-1 stereo, 296b6cee71dSXin LI>14 beshort x %d bits 297b6cee71dSXin LI>16 beshort =0 unsigned, 298b6cee71dSXin LI>16 beshort =-1 signed, 299b6cee71dSXin LI>22 belong&0x00ffffff x %d Hz, 300b6cee71dSXin LI>18 beshort =0 no loop, 301b6cee71dSXin LI>18 beshort =-1 loop, 302b6cee71dSXin LI>21 ubyte <128 note %d, 303b6cee71dSXin LI>22 byte =0 replay 5.485 KHz 304b6cee71dSXin LI>22 byte =1 replay 8.084 KHz 305b6cee71dSXin LI>22 byte =2 replay 10.971 KHz 306b6cee71dSXin LI>22 byte =3 replay 16.168 KHz 307b6cee71dSXin LI>22 byte =4 replay 21.942 KHz 308b6cee71dSXin LI>22 byte =5 replay 32.336 KHz 309b6cee71dSXin LI>22 byte =6 replay 43.885 KHz 310b6cee71dSXin LI>22 byte =7 replay 47.261 KHz 311b6cee71dSXin LI 312b6cee71dSXin LI# SGI SoundTrack <mpruett@sgi.com> 313b6cee71dSXin LI0 string _SGI_SoundTrack SGI SoundTrack project file 314b6cee71dSXin LI# ID3 version 2 tags <waschk@informatik.uni-rostock.de> 315b6cee71dSXin LI0 string ID3 Audio file with ID3 version 2 316b6cee71dSXin LI>3 byte x \b.%d 317b6cee71dSXin LI>4 byte x \b.%d 318b6cee71dSXin LI>>5 byte &0x80 \b, unsynchronized frames 319b6cee71dSXin LI>>5 byte &0x40 \b, extended header 320b6cee71dSXin LI>>5 byte &0x20 \b, experimental 321b6cee71dSXin LI>>5 byte &0x10 \b, footer present 3225f0216bdSXin LI>(6.I+10) indirect x \b, contains: 323b6cee71dSXin LI 324b6cee71dSXin LI# NSF (NES sound file) magic 325b6cee71dSXin LI0 string NESM\x1a NES Sound File 326b6cee71dSXin LI>14 string >\0 ("%s" by 327b6cee71dSXin LI>46 string >\0 %s, copyright 328b6cee71dSXin LI>78 string >\0 %s), 329b6cee71dSXin LI>5 byte x version %d, 330b6cee71dSXin LI>6 byte x %d tracks, 331b6cee71dSXin LI>122 byte&0x2 =1 dual PAL/NTSC 332b6cee71dSXin LI>122 byte&0x1 =1 PAL 333b6cee71dSXin LI>122 byte&0x1 =0 NTSC 334b6cee71dSXin LI 3355f0216bdSXin LI# NSFE (Extended NES sound file) magic 3365f0216bdSXin LI# http://slickproductions.org/docs/NSF/nsfespec.txt 3375f0216bdSXin LI# From: David Pflug <david@pflug.email> 3385f0216bdSXin LI0 string NSFE Extended NES Sound File 3395f0216bdSXin LI>48 search/0x1000 auth 3405f0216bdSXin LI>>&0 string >\0 ("%s" 3415f0216bdSXin LI>>>&1 string >\0 by %s 3425f0216bdSXin LI>>>>&1 string >\0 \b, copyright %s 3435f0216bdSXin LI>>>>>&1 string >\0 \b, ripped by %s 3445f0216bdSXin LI>20 byte x \b), %d tracks, 3455f0216bdSXin LI>18 byte&0x2 =1 dual PAL/NTSC 3465f0216bdSXin LI>18 byte&0x2 =0 3475f0216bdSXin LI>>18 byte&0x1 =1 PAL 3485f0216bdSXin LI>>18 byte&0x1 =0 NTSC 3495f0216bdSXin LI 350b6cee71dSXin LI# Type: SNES SPC700 sound files 351b6cee71dSXin LI# From: Josh Triplett <josh@freedesktop.org> 352b6cee71dSXin LI0 string SNES-SPC700\ Sound\ File\ Data\ v SNES SPC700 sound file 353b6cee71dSXin LI>&0 string 0.30 \b, version %s 354b6cee71dSXin LI>>0x23 byte 0x1B \b, without ID666 tag 355b6cee71dSXin LI>>0x23 byte 0x1A \b, with ID666 tag 356b6cee71dSXin LI>>>0x2E string >\0 \b, song "%.32s" 357b6cee71dSXin LI>>>0x4E string >\0 \b, game "%.32s" 358b6cee71dSXin LI 359b6cee71dSXin LI# Impulse tracker module (audio/x-it) 360b6cee71dSXin LI0 string IMPM Impulse Tracker module sound data - 361b6cee71dSXin LI!:mime audio/x-mod 362b6cee71dSXin LI>4 string >\0 "%s" 363b6cee71dSXin LI>40 leshort !0 compatible w/ITv%x 364b6cee71dSXin LI>42 leshort !0 created w/ITv%x 365b6cee71dSXin LI 366b6cee71dSXin LI# Imago Orpheus module (audio/x-imf) 367b6cee71dSXin LI60 string IM10 Imago Orpheus module sound data - 368b6cee71dSXin LI>0 string >\0 "%s" 369b6cee71dSXin LI 370b6cee71dSXin LI# From <collver1@attbi.com> 371b6cee71dSXin LI# These are the /etc/magic entries to decode modules, instruments, and 372b6cee71dSXin LI# samples in Impulse Tracker's native format. 373b6cee71dSXin LI 374b6cee71dSXin LI0 string IMPS Impulse Tracker Sample 375b6cee71dSXin LI>18 byte &2 16 bit 376b6cee71dSXin LI>18 byte ^2 8 bit 377b6cee71dSXin LI>18 byte &4 stereo 378b6cee71dSXin LI>18 byte ^4 mono 379b6cee71dSXin LI0 string IMPI Impulse Tracker Instrument 380b6cee71dSXin LI>28 leshort !0 ITv%x 381b6cee71dSXin LI>30 byte !0 %d samples 382b6cee71dSXin LI 383b6cee71dSXin LI# Yamaha TX Wave: file(1) magic for Yamaha TX Wave audio files 384b6cee71dSXin LI# From <collver1@attbi.com> 385b6cee71dSXin LI0 string LM8953 Yamaha TX Wave 386b6cee71dSXin LI>22 byte 0x49 looped 387b6cee71dSXin LI>22 byte 0xC9 non-looped 388b6cee71dSXin LI>23 byte 1 33kHz 389b6cee71dSXin LI>23 byte 2 50kHz 390b6cee71dSXin LI>23 byte 3 16kHz 391b6cee71dSXin LI 392b6cee71dSXin LI# scream tracker: file(1) magic for Scream Tracker sample files 393b6cee71dSXin LI# 394b6cee71dSXin LI# From <collver1@attbi.com> 395b6cee71dSXin LI76 string SCRS Scream Tracker Sample 396b6cee71dSXin LI>0 byte 1 sample 397b6cee71dSXin LI>0 byte 2 adlib melody 398b6cee71dSXin LI>0 byte >2 adlib drum 399b6cee71dSXin LI>31 byte &2 stereo 400b6cee71dSXin LI>31 byte ^2 mono 401b6cee71dSXin LI>31 byte &4 16bit little endian 402b6cee71dSXin LI>31 byte ^4 8bit 403b6cee71dSXin LI>30 byte 0 unpacked 404b6cee71dSXin LI>30 byte 1 packed 405b6cee71dSXin LI 406b6cee71dSXin LI# audio 407b6cee71dSXin LI# From: Cory Dikkers <cdikkers@swbell.net> 408b6cee71dSXin LI0 string MMD0 MED music file, version 0 409b6cee71dSXin LI0 string MMD1 OctaMED Pro music file, version 1 410b6cee71dSXin LI0 string MMD3 OctaMED Soundstudio music file, version 3 411b6cee71dSXin LI0 string OctaMEDCmpr OctaMED Soundstudio compressed file 412b6cee71dSXin LI0 string MED MED_Song 413b6cee71dSXin LI0 string SymM Symphonie SymMOD music file 414b6cee71dSXin LI# 41548c779cdSXin LI# Track Length (TRL), Tracks (TRK), Samples (SMP), Subsongs (SS) 41648c779cdSXin LI# http://lclevy.free.fr/exotica/ahx/ahxformat.txt 417b6cee71dSXin LI0 string THX AHX version 418b6cee71dSXin LI>3 byte =0 1 module data 419b6cee71dSXin LI>3 byte =1 2 module data 420a2dfb722SXin LI>11 ubyte x TRK: %u 421a2dfb722SXin LI>10 ubyte x TRL: %u 422a2dfb722SXin LI>12 ubyte x SMP: %u 423a2dfb722SXin LI>13 ubyte x SS: %u 424a2dfb722SXin LI>(4.H) string x Title: "%.128s" 425a2dfb722SXin LI 426a2dfb722SXin LI# header is mostly AHX format 427a2dfb722SXin LI0 string HVL 428a2dfb722SXin LI>3 byte <2 Hively Tracker Song 429a2dfb722SXin LI>3 byte =0 v1 module data 430a2dfb722SXin LI>3 byte =1 v2 module data 431a2dfb722SXin LI>11 ubyte x TRK: %u 432a2dfb722SXin LI>10 ubyte x TRL: %u 433a2dfb722SXin LI>12 ubyte x SMP: %u 434a2dfb722SXin LI>13 ubyte x SS: %u 435a2dfb722SXin LI>8 ubyte/4 =0 CHN: 4 436a2dfb722SXin LI>8 ubyte/4 >0 CHN: 4+%u 437a2dfb722SXin LI#>-0 offset <0xffff 438a2dfb722SXin LI>(4.H) string x Title: "%.128s" 439a2dfb722SXin LI 440b6cee71dSXin LI# 441b6cee71dSXin LI0 string OKTASONG Oktalyzer module data 442b6cee71dSXin LI# 443b6cee71dSXin LI0 string DIGI\ Booster\ module\0 %s 444b6cee71dSXin LI>20 byte >0 %c 445b6cee71dSXin LI>>21 byte >0 \b%c 446b6cee71dSXin LI>>>22 byte >0 \b%c 447b6cee71dSXin LI>>>>23 byte >0 \b%c 448b6cee71dSXin LI>610 string >\0 \b, "%s" 449b6cee71dSXin LI# 450b6cee71dSXin LI0 string DBM0 DIGI Booster Pro Module 451b6cee71dSXin LI>4 byte >0 V%X. 452b6cee71dSXin LI>>5 byte x \b%02X 453b6cee71dSXin LI>16 string >\0 \b, "%s" 454b6cee71dSXin LI# 455b6cee71dSXin LI0 string FTMN FaceTheMusic module 456b6cee71dSXin LI>16 string >\0d \b, "%s" 457b6cee71dSXin LI 458b6cee71dSXin LI# From: <doj@cubic.org> 2003-06-24 459b6cee71dSXin LI0 string AMShdr\32 Velvet Studio AMS Module v2.2 460b6cee71dSXin LI0 string Extreme Extreme Tracker AMS Module v1.3 461b6cee71dSXin LI0 string DDMF Xtracker DMF Module 462b6cee71dSXin LI>4 byte x v%i 463b6cee71dSXin LI>0xD string >\0 Title: "%s" 464b6cee71dSXin LI>0x2B string >\0 Composer: "%s" 465b6cee71dSXin LI0 string DSM\32 Dynamic Studio Module DSM 466b6cee71dSXin LI0 string SONG DigiTrekker DTM Module 467b6cee71dSXin LI0 string DMDL DigiTrakker MDL Module 468b6cee71dSXin LI0 string PSM\32 Protracker Studio PSM Module 469b6cee71dSXin LI44 string PTMF Poly Tracker PTM Module 470b6cee71dSXin LI>0 string >\32 Title: "%s" 471b6cee71dSXin LI0 string MT20 MadTracker 2.0 Module MT2 472b6cee71dSXin LI0 string RAD\40by\40REALiTY!! RAD Adlib Tracker Module RAD 473b6cee71dSXin LI0 string RTMM RTM Module 474b6cee71dSXin LI0x426 string MaDoKaN96 XMS Adlib Module 475b6cee71dSXin LI>0 string >\0 Composer: "%s" 476b6cee71dSXin LI0 string AMF AMF Module 477b6cee71dSXin LI>4 string >\0 Title: "%s" 47843a5ec4eSXin LI0 string MODINFO1 Open Cubic Player Module Information MDZ 479b6cee71dSXin LI0 string Extended\40Instrument: Fast Tracker II Instrument 480b6cee71dSXin LI 481b6cee71dSXin LI# From: Takeshi Hamasaki <hma@syd.odn.ne.jp> 482b6cee71dSXin LI# NOA Nancy Codec file 483b6cee71dSXin LI0 string \210NOA\015\012\032 NOA Nancy Codec Movie file 484b6cee71dSXin LI# Yamaha SMAF format 485b6cee71dSXin LI0 string MMMD Yamaha SMAF file 486b6cee71dSXin LI# Sharp Jisaku Melody format for PDC 487b6cee71dSXin LI0 string \001Sharp\040JisakuMelody SHARP Cell-Phone ringing Melody 488b6cee71dSXin LI>20 string Ver01.00 Ver. 1.00 489*ae316d1dSXin LI>>32 byte x \b, %d tracks 490b6cee71dSXin LI 491b6cee71dSXin LI# Free lossless audio codec <http://flac.sourceforge.net> 492b6cee71dSXin LI# From: Przemyslaw Augustyniak <silvathraec@rpg.pl> 493b6cee71dSXin LI0 string fLaC FLAC audio bitstream data 49458a0f0d0SEitan Adler!:mime audio/flac 495b6cee71dSXin LI>4 byte&0x7f >0 \b, unknown version 496b6cee71dSXin LI>4 byte&0x7f 0 \b 497b6cee71dSXin LI# some common bits/sample values 498b6cee71dSXin LI>>20 beshort&0x1f0 0x030 \b, 4 bit 499b6cee71dSXin LI>>20 beshort&0x1f0 0x050 \b, 6 bit 500b6cee71dSXin LI>>20 beshort&0x1f0 0x070 \b, 8 bit 501b6cee71dSXin LI>>20 beshort&0x1f0 0x0b0 \b, 12 bit 502b6cee71dSXin LI>>20 beshort&0x1f0 0x0f0 \b, 16 bit 503b6cee71dSXin LI>>20 beshort&0x1f0 0x170 \b, 24 bit 504b6cee71dSXin LI>>20 byte&0xe 0x0 \b, mono 505b6cee71dSXin LI>>20 byte&0xe 0x2 \b, stereo 506b6cee71dSXin LI>>20 byte&0xe 0x4 \b, 3 channels 507b6cee71dSXin LI>>20 byte&0xe 0x6 \b, 4 channels 508b6cee71dSXin LI>>20 byte&0xe 0x8 \b, 5 channels 509b6cee71dSXin LI>>20 byte&0xe 0xa \b, 6 channels 510b6cee71dSXin LI>>20 byte&0xe 0xc \b, 7 channels 511b6cee71dSXin LI>>20 byte&0xe 0xe \b, 8 channels 51258a0f0d0SEitan Adler# sample rates derived from known oscillator frequencies; 51358a0f0d0SEitan Adler# 24.576 MHz (video/fs=48kHz), 22.5792 (audio/fs=44.1kHz) and 51458a0f0d0SEitan Adler# 16.384 (other/fs=32kHz). 51558a0f0d0SEitan Adler>>17 belong&0xfffff0 0x02b110 \b, 11.025 kHz 51658a0f0d0SEitan Adler>>17 belong&0xfffff0 0x03e800 \b, 16 kHz 517b6cee71dSXin LI>>17 belong&0xfffff0 0x056220 \b, 22.05 kHz 518b6cee71dSXin LI>>17 belong&0xfffff0 0x05dc00 \b, 24 kHz 51958a0f0d0SEitan Adler>>17 belong&0xfffff0 0x07d000 \b, 32 kHz 52058a0f0d0SEitan Adler>>17 belong&0xfffff0 0x0ac440 \b, 44.1 kHz 52158a0f0d0SEitan Adler>>17 belong&0xfffff0 0x0bb800 \b, 48 kHz 522b6cee71dSXin LI>>17 belong&0xfffff0 0x0fa000 \b, 64 kHz 52358a0f0d0SEitan Adler>>17 belong&0xfffff0 0x158880 \b, 88.2 kHz 52458a0f0d0SEitan Adler>>17 belong&0xfffff0 0x177000 \b, 96 kHz 52558a0f0d0SEitan Adler>>17 belong&0xfffff0 0x1f4000 \b, 128 kHz 52658a0f0d0SEitan Adler>>17 belong&0xfffff0 0x2b1100 \b, 176.4 kHz 52758a0f0d0SEitan Adler>>17 belong&0xfffff0 0x2ee000 \b, 192 kHz 52858a0f0d0SEitan Adler>>17 belong&0xfffff0 0x3e8000 \b, 256 kHz 52958a0f0d0SEitan Adler>>17 belong&0xfffff0 0x562200 \b, 352.8 kHz 53058a0f0d0SEitan Adler>>17 belong&0xfffff0 0x5dc000 \b, 384 kHz 531b6cee71dSXin LI>>21 byte&0xf >0 \b, >4G samples 532b6cee71dSXin LI>>21 byte&0xf 0 \b 533b6cee71dSXin LI>>>22 belong >0 \b, %u samples 534b6cee71dSXin LI>>>22 belong 0 \b, length unknown 535b6cee71dSXin LI 536b6cee71dSXin LI# (ISDN) VBOX voice message file (Wolfram Kleff) 537b6cee71dSXin LI0 string VBOX VBOX voice message data 538b6cee71dSXin LI 539b6cee71dSXin LI# ReBorn Song Files (.rbs) 540b6cee71dSXin LI# David J. Singer <doc@deadvirgins.org.uk> 541b6cee71dSXin LI8 string RB40 RBS Song file 542b6cee71dSXin LI>29 string ReBorn created by ReBorn 543b6cee71dSXin LI>37 string Propellerhead created by ReBirth 544b6cee71dSXin LI 545b6cee71dSXin LI# Synthesizer Generator and Kimwitu share their file format 546b6cee71dSXin LI0 string A#S#C#S#S#L#V#3 Synthesizer Generator or Kimwitu data 547b6cee71dSXin LI# Kimwitu++ uses a slightly different magic 548b6cee71dSXin LI0 string A#S#C#S#S#L#HUB Kimwitu++ data 549b6cee71dSXin LI 550b6cee71dSXin LI# From "Simon Hosie 551b6cee71dSXin LI0 string TFMX-SONG TFMX module sound data 552b6cee71dSXin LI 553b6cee71dSXin LI# Monkey's Audio compressed audio format (.ape) 554b6cee71dSXin LI# From danny.milo@gmx.net (Danny Milosavljevic) 555b6cee71dSXin LI# New version from Abel Cheung <abel (@) oaka.org> 556b6cee71dSXin LI0 string MAC\040 Monkey's Audio compressed format 557b6cee71dSXin LI!:mime audio/x-ape 558b6cee71dSXin LI>4 uleshort >0x0F8B version %d 559b6cee71dSXin LI>>(0x08.l) uleshort =1000 with fast compression 560b6cee71dSXin LI>>(0x08.l) uleshort =2000 with normal compression 561b6cee71dSXin LI>>(0x08.l) uleshort =3000 with high compression 562b6cee71dSXin LI>>(0x08.l) uleshort =4000 with extra high compression 563b6cee71dSXin LI>>(0x08.l) uleshort =5000 with insane compression 564b6cee71dSXin LI>>(0x08.l+18) uleshort =1 \b, mono 565b6cee71dSXin LI>>(0x08.l+18) uleshort =2 \b, stereo 566b6cee71dSXin LI>>(0x08.l+20) ulelong x \b, sample rate %d 567b6cee71dSXin LI>4 uleshort <0x0F8C version %d 568b6cee71dSXin LI>>6 uleshort =1000 with fast compression 569b6cee71dSXin LI>>6 uleshort =2000 with normal compression 570b6cee71dSXin LI>>6 uleshort =3000 with high compression 571b6cee71dSXin LI>>6 uleshort =4000 with extra high compression 572b6cee71dSXin LI>>6 uleshort =5000 with insane compression 573b6cee71dSXin LI>>10 uleshort =1 \b, mono 574b6cee71dSXin LI>>10 uleshort =2 \b, stereo 575b6cee71dSXin LI>>12 ulelong x \b, sample rate %d 576b6cee71dSXin LI 577b6cee71dSXin LI# adlib sound files 57858a0f0d0SEitan Adler# From: Alex Myczko <alex@aiei.ch> 57948c779cdSXin LI 58048c779cdSXin LI# https://github.com/rerrahkr/BambooTracker 581a2dfb722SXin LI0 string BambooTracker BambooTracker 582a2dfb722SXin LI>13 string Mod Module 583a2dfb722SXin LI>13 string Ist Instrument 584a2dfb722SXin LI>13 string Bnk Bank 58548c779cdSXin LI>22 byte x \b, version %u 58648c779cdSXin LI>21 byte x \b.%u 58748c779cdSXin LI>20 byte x \b.%u 58848c779cdSXin LI 589d38c30c0SXin LI0 string CC2x CheeseCutter 2 song 590d38c30c0SXin LI 591b6cee71dSXin LI0 string RAWADATA RdosPlay RAW 592b6cee71dSXin LI 593b6cee71dSXin LI1068 string RoR AMUSIC Adlib Tracker 594b6cee71dSXin LI 595b6cee71dSXin LI0 string JCH EdLib 596b6cee71dSXin LI 597b6cee71dSXin LI0 string mpu401tr MPU-401 Trakker 598b6cee71dSXin LI 599b6cee71dSXin LI0 string SAdT Surprise! Adlib Tracker 600b6cee71dSXin LI>4 byte x Version %d 601b6cee71dSXin LI 602b6cee71dSXin LI0 string XAD! eXotic ADlib 603b6cee71dSXin LI 604b6cee71dSXin LI0 string ofTAZ! eXtra Simple Music 605b6cee71dSXin LI 60648c779cdSXin LI0 string FMK! FM Kingtracker Song 60748c779cdSXin LI 60848c779cdSXin LI0 string DFM DFM Song 60948c779cdSXin LI 61048c779cdSXin LI0 string \<CUD-FM-File\> CFF Song 61148c779cdSXin LI 61248c779cdSXin LI0 string _A2module A2M Song 61348c779cdSXin LI 614b6cee71dSXin LI# Spectrum 128 tunes (.ay files). 615b6cee71dSXin LI# From: Emanuel Haupt <ehaupt@critical.ch> 616b6cee71dSXin LI0 string ZXAYEMUL Spectrum 128 tune 617b6cee71dSXin LI 618b6cee71dSXin LI0 string \0BONK BONK, 619b6cee71dSXin LI#>5 byte x version %d 620b6cee71dSXin LI>14 byte x %d channel(s), 621b6cee71dSXin LI>15 byte =1 lossless, 622b6cee71dSXin LI>15 byte =0 lossy, 623b6cee71dSXin LI>16 byte x mid-side 624b6cee71dSXin LI 625b6cee71dSXin LI384 string LockStream LockStream Embedded file (mostly MP3 on old Nokia phones) 626b6cee71dSXin LI 627b6cee71dSXin LI# format VQF (proprietary codec for sound) 628b6cee71dSXin LI# some infos on the header file available at : 629b6cee71dSXin LI# http://www.twinvq.org/english/technology_format.html 630b6cee71dSXin LI0 string TWIN97012000 VQF data 631b6cee71dSXin LI>27 short 0 \b, Mono 632b6cee71dSXin LI>27 short 1 \b, Stereo 633b6cee71dSXin LI>31 short >0 \b, %d kbit/s 634b6cee71dSXin LI>35 short >0 \b, %d kHz 635b6cee71dSXin LI 636b6cee71dSXin LI# Nelson A. de Oliveira (naoliv@gmail.com) 637b6cee71dSXin LI# .eqf 638b6cee71dSXin LI0 string Winamp\ EQ\ library\ file %s 639b6cee71dSXin LI# it will match only versions like v<digit>.<digit> 640b6cee71dSXin LI# Since I saw only eqf files with version v1.1 I think that it's OK 641b6cee71dSXin LI>23 string x \b%.4s 642b6cee71dSXin LI# .preset 643b6cee71dSXin LI0 string [Equalizer\ preset] XMMS equalizer preset 644b6cee71dSXin LI# .m3u 645b6cee71dSXin LI0 search/1 #EXTM3U M3U playlist text 646*ae316d1dSXin LI!:mime audio/x-mpegurl 647b6cee71dSXin LI# .pls 648b6cee71dSXin LI0 search/1 [playlist] PLS playlist text 649b6cee71dSXin LI# licq.conf 650b6cee71dSXin LI1 string [licq] LICQ configuration file 651b6cee71dSXin LI 652b6cee71dSXin LI# Atari ST audio files by Dirk Jagdmann <doj@cubic.org> 653d38c30c0SXin LI# NOTE: Most SNDH music is packed using ICE, which has 654d38c30c0SXin LI# magic numbers "ICE!" and "Ice!". Some SNDH music is 655d38c30c0SXin LI# not packed, so we check for both packed and unpacked. 656d38c30c0SXin LI12 string SNDH SNDH Atari ST music 657d38c30c0SXin LI0 belong&0xFFDFDFFF 0x49434521 658d38c30c0SXin LI>14 search/40 NDH SNDH Atari ST music 659d38c30c0SXin LI>14 search/40 TITL SNDH Atari ST music 660b6cee71dSXin LI0 string SC68\ Music-file\ /\ (c)\ (BeN)jami sc68 Atari ST music 661b6cee71dSXin LI 662b6cee71dSXin LI# musepak support From: "Jiri Pejchal" <jiri.pejchal@gmail.com> 6633e41d09dSXin LI0 string MP+ Musepack audio (MP+) 664b6cee71dSXin LI!:mime audio/x-musepack 665b6cee71dSXin LI>3 byte 255 \b, SV pre8 666b6cee71dSXin LI>3 byte&0xF 0x6 \b, SV 6 667b6cee71dSXin LI>3 byte&0xF 0x8 \b, SV 8 668b6cee71dSXin LI>3 byte&0xF 0x7 \b, SV 7 669b6cee71dSXin LI>>3 byte&0xF0 0x0 \b.0 670b6cee71dSXin LI>>3 byte&0xF0 0x10 \b.1 671b6cee71dSXin LI>>3 byte&0xF0 240 \b.15 672b6cee71dSXin LI>>10 byte&0xF0 0x0 \b, no profile 673b6cee71dSXin LI>>10 byte&0xF0 0x10 \b, profile 'Unstable/Experimental' 674b6cee71dSXin LI>>10 byte&0xF0 0x50 \b, quality 0 675b6cee71dSXin LI>>10 byte&0xF0 0x60 \b, quality 1 676b6cee71dSXin LI>>10 byte&0xF0 0x70 \b, quality 2 (Telephone) 677b6cee71dSXin LI>>10 byte&0xF0 0x80 \b, quality 3 (Thumb) 678b6cee71dSXin LI>>10 byte&0xF0 0x90 \b, quality 4 (Radio) 679b6cee71dSXin LI>>10 byte&0xF0 0xA0 \b, quality 5 (Standard) 680b6cee71dSXin LI>>10 byte&0xF0 0xB0 \b, quality 6 (Xtreme) 681b6cee71dSXin LI>>10 byte&0xF0 0xC0 \b, quality 7 (Insane) 682b6cee71dSXin LI>>10 byte&0xF0 0xD0 \b, quality 8 (BrainDead) 683b6cee71dSXin LI>>10 byte&0xF0 0xE0 \b, quality 9 684b6cee71dSXin LI>>10 byte&0xF0 0xF0 \b, quality 10 685b6cee71dSXin LI>>27 byte 0x0 \b, Buschmann 1.7.0-9, Klemm 0.90-1.05 686b6cee71dSXin LI>>27 byte 102 \b, Beta 1.02 687b6cee71dSXin LI>>27 byte 104 \b, Beta 1.04 688b6cee71dSXin LI>>27 byte 105 \b, Alpha 1.05 689b6cee71dSXin LI>>27 byte 106 \b, Beta 1.06 690b6cee71dSXin LI>>27 byte 110 \b, Release 1.1 691b6cee71dSXin LI>>27 byte 111 \b, Alpha 1.11 692b6cee71dSXin LI>>27 byte 112 \b, Beta 1.12 693b6cee71dSXin LI>>27 byte 113 \b, Alpha 1.13 694b6cee71dSXin LI>>27 byte 114 \b, Beta 1.14 695b6cee71dSXin LI>>27 byte 115 \b, Alpha 1.15 696b6cee71dSXin LI 6973e41d09dSXin LI0 string MPCK Musepack audio (MPCK) 6983e41d09dSXin LI!:mime audio/x-musepack 6993e41d09dSXin LI 700b6cee71dSXin LI# IMY 701b6cee71dSXin LI# from http://filext.com/detaillist.php?extdetail=IMY 70248c779cdSXin LI# https://cellphones.about.com/od/cellularfaqs/f/rf_imelody.htm 703b6cee71dSXin LI# http://download.ncl.ie/doc/api/ie/ncl/media/music/IMelody.html 704b6cee71dSXin LI# http://www.wx800.com/msg/download/irda/iMelody.pdf 705b6cee71dSXin LI0 string BEGIN:IMELODY iMelody Ringtone Format 706b6cee71dSXin LI 707b6cee71dSXin LI# From: "Mateus Caruccio" <mateus@caruccio.com> 708b6cee71dSXin LI# guitar pro v3,4,5 from http://filext.com/file-extension/gp3 709b6cee71dSXin LI0 string \030FICHIER\ GUITAR\ PRO\ v3. Guitar Pro Ver. 3 Tablature 710b6cee71dSXin LI 711b6cee71dSXin LI# From: "Leslie P. Polzer" <leslie.polzer@gmx.net> 712b6cee71dSXin LI60 string SONG SoundFX Module sound file 713b6cee71dSXin LI 714b6cee71dSXin LI# Type: Adaptive Multi-Rate Codec 715b6cee71dSXin LI# URL: http://filext.com/detaillist.php?extdetail=AMR 716*ae316d1dSXin LI# http://fileformats.archiveteam.org/wiki/Adaptive_Multi-Rate_Audio 717*ae316d1dSXin LI# Reference: https://datatracker.ietf.org/doc/html/rfc4867 718*ae316d1dSXin LI# http://mark0.net/download/triddefs_xml.7z/defs/a/audio-amr.trid.xml 719*ae316d1dSXin LI# Update: Joerg Jenderek 720b6cee71dSXin LI# From: Russell Coker <russell@coker.com.au> 721*ae316d1dSXin LI# Note: called "AMR (Adaptive Multi Rate) encoded audio" by TrID and 722*ae316d1dSXin LI# "Adaptive Multi-Rate Audio" by DROID via PUID fmt/356 and 723*ae316d1dSXin LI# "AMR" "AMR audio" or "Adaptive Multi-Rate" by shared MIME-info database from freedesktop.org 724*ae316d1dSXin LI0 string #!AMR Adaptive Multi-Rate Codec 725*ae316d1dSXin LI# Adaptive Multi-Rate Codec (strength=80) before wrong "a AMR script executable (binary data)" (strength=20=60/3) by ./varied.script 726*ae316d1dSXin LI#!:strength +0 727*ae316d1dSXin LI# Reference: http://mark0.net/download/triddefs_xml.7z/defs/a/audio-awb.trid.xml 728*ae316d1dSXin LI# Note: called "Adaptive Multi-Rate Wideband ACELP codec" by TrID and 729*ae316d1dSXin LI# "Adaptive Multi-Rate Wideband Audio" bY DROID via PUID fmt/954 and 730*ae316d1dSXin LI# "AMR-WB" "AMR-WB audio" or "Adaptive Multi-Rate Wideband" by shared MIME-info database from freedesktop.org 731*ae316d1dSXin LI>5 string -WB (Wideband) 732*ae316d1dSXin LI# https://www.iana.org/assignments/media-types/audio/AMR-WB 733*ae316d1dSXin LI!:mime audio/AMR-WB 734*ae316d1dSXin LI#!:mime audio/amr-wb-encrypted 735*ae316d1dSXin LI!:apple ????amrw 736*ae316d1dSXin LI!:ext awb 737*ae316d1dSXin LI# variant without Wideband 738*ae316d1dSXin LI>5 default x (GSM telephony) 739*ae316d1dSXin LI# https://www.iana.org/assignments/media-types/audio/AMR 740*ae316d1dSXin LI!:mime audio/AMR 741*ae316d1dSXin LI# last character in type code is space 742*ae316d1dSXin LI!:apple ????amr 74348c779cdSXin LI!:ext amr 744*ae316d1dSXin LI# GRR: maybe also 3ga suffix? https://telparia.com/fileFormatSamples/audio/amr/example.3ga 745*ae316d1dSXin LI#!:ext amr/3ga 746b6cee71dSXin LI 747b6cee71dSXin LI# Type: SuperCollider 3 Synth Definition File Format 748b6cee71dSXin LI# From: Mario Lang <mlang@debian.org> 749b6cee71dSXin LI0 string SCgf SuperCollider3 Synth Definition file, 750b6cee71dSXin LI>4 belong x version %d 751b6cee71dSXin LI 752b6cee71dSXin LI# Type: True Audio Lossless Audio 75348c779cdSXin LI# URL: https://wiki.multimedia.cx/index.php?title=True_Audio 754b6cee71dSXin LI# From: Mike Melanson <mike@multimedia.cx> 755b6cee71dSXin LI0 string TTA1 True Audio Lossless Audio 756b6cee71dSXin LI 757b6cee71dSXin LI# Type: WavPack Lossless Audio 75848c779cdSXin LI# URL: https://wiki.multimedia.cx/index.php?title=WavPack 759b6cee71dSXin LI# From: Mike Melanson <mike@multimedia.cx> 760b6cee71dSXin LI0 string wvpk WavPack Lossless Audio 761b6cee71dSXin LI 762b6cee71dSXin LI# From Fabio R. Schmidlin <frs@pop.com.br> 763b6cee71dSXin LI# VGM music file 76440427ccaSGordon Tetlow0 string Vgm\040 765b6cee71dSXin LI>9 ubyte >0 VGM Video Game Music dump v 76648c779cdSXin LI!:mime audio/x-vgm 76748c779cdSXin LI!:ext vgm 768b6cee71dSXin LI>>9 ubyte/16 >0 \b%d 769b6cee71dSXin LI>>9 ubyte&0x0F x \b%d 770b6cee71dSXin LI>>8 ubyte/16 x \b.%d 771b6cee71dSXin LI>>8 ubyte&0x0F >0 \b%d 772b6cee71dSXin LI#Get soundchips 773b6cee71dSXin LI>>8 ubyte x \b, soundchip(s)= 77443a5ec4eSXin LI>>0x0C ulelong >0 SN76489 (PSG), 77543a5ec4eSXin LI>>0x10 ulelong >0 YM2413 (OPLL), 77643a5ec4eSXin LI>>0x2C ulelong >0 YM2612 (OPN2), 77743a5ec4eSXin LI>>0x30 ulelong >0 YM2151 (OPM), 778b6cee71dSXin LI>>0x38 ulelong >0 Sega PCM, 779b6cee71dSXin LI>>0x34 ulelong >0xC 78043a5ec4eSXin LI>>>0x40 ulelong >0 RF5C68 (PCM), 781b6cee71dSXin LI>>0x34 ulelong >0x10 78243a5ec4eSXin LI>>>0x44 ulelong >0 YM2203 (OPN), 783b6cee71dSXin LI>>0x34 ulelong >0x14 78443a5ec4eSXin LI>>>0x48 ulelong >0 YM2608 (OPNA), 785b6cee71dSXin LI>>0x34 ulelong >0x18 78643a5ec4eSXin LI>>>0x4C lelong >0 YM2610 (OPNB), 78743a5ec4eSXin LI>>>0x4C lelong <0 YM2610B (OPNB+2FM), 788b6cee71dSXin LI>>0x34 ulelong >0x1C 78943a5ec4eSXin LI>>>0x50 ulelong >0 YM3812 (OPL2), 790b6cee71dSXin LI>>0x34 ulelong >0x20 79143a5ec4eSXin LI>>>0x54 ulelong >0 YM3526 (OPL), 792b6cee71dSXin LI>>0x34 ulelong >0x24 79343a5ec4eSXin LI>>>0x58 ulelong >0 Y8950 (MSX-Audio), 794b6cee71dSXin LI>>0x34 ulelong >0x28 79543a5ec4eSXin LI>>>0x5C ulelong >0 YMF262 (OPL3), 796b6cee71dSXin LI>>0x34 ulelong >0x2C 79743a5ec4eSXin LI>>>0x60 ulelong >0 YMF278B (OPL4), 798b6cee71dSXin LI>>0x34 ulelong >0x30 79943a5ec4eSXin LI>>>0x64 ulelong >0 YMF271 (OPX), 800b6cee71dSXin LI>>0x34 ulelong >0x34 80143a5ec4eSXin LI>>>0x68 ulelong >0 YMZ280B (PCMD8), 802b6cee71dSXin LI>>0x34 ulelong >0x38 80343a5ec4eSXin LI>>>0x6C ulelong >0 RF5C164 (PCM), 804b6cee71dSXin LI>>0x34 ulelong >0x3C 805b6cee71dSXin LI>>>0x70 ulelong >0 PWM, 806b6cee71dSXin LI>>0x34 ulelong >0x40 807b6cee71dSXin LI>>>0x74 ulelong >0 808b6cee71dSXin LI>>>>0x78 ubyte 0x00 AY-3-8910, 809b6cee71dSXin LI>>>>0x78 ubyte 0x01 AY-3-8912, 810b6cee71dSXin LI>>>>0x78 ubyte 0x02 AY-3-8913, 811b6cee71dSXin LI>>>>0x78 ubyte 0x03 AY-3-8930, 812b6cee71dSXin LI>>>>0x78 ubyte 0x10 YM2149, 813b6cee71dSXin LI>>>>0x78 ubyte 0x11 YM3439, 814d38c30c0SXin LI>>>>0x78 ubyte 0x12 YMZ284, 815d38c30c0SXin LI>>>>0x78 ubyte 0x13 YMZ294, 81648c779cdSXin LI# VGM 1.61 81748c779cdSXin LI>>0x34 ulelong >0x4C 81848c779cdSXin LI>>>0x80 ulelong >0 DMG, 81948c779cdSXin LI>>0x34 ulelong >0x50 82048c779cdSXin LI>>>0x84 lelong >0 NES APU, 82148c779cdSXin LI>>>0x84 lelong <0 NES APU with FDS, 82248c779cdSXin LI>>0x34 ulelong >0x54 82348c779cdSXin LI>>>0x88 ulelong >0 MultiPCM, 82448c779cdSXin LI>>0x34 ulelong >0x58 82543a5ec4eSXin LI>>>0x8C ulelong >0 uPD7759 (ADPCM Speech), 82648c779cdSXin LI>>0x34 ulelong >0x5C 82743a5ec4eSXin LI>>>0x90 ulelong >0 OKIM6258 (ADPCM Speech), 82848c779cdSXin LI>>0x34 ulelong >0x64 82943a5ec4eSXin LI>>>0x98 ulelong >0 OKIM6295 (ADPCM), 83048c779cdSXin LI>>0x34 ulelong >0x68 83148c779cdSXin LI>>>0x9C ulelong >0 K051649, 83248c779cdSXin LI>>0x34 ulelong >0x6C 83348c779cdSXin LI>>>0xA0 ulelong >0 K054539, 83448c779cdSXin LI>>0x34 ulelong >0x70 83548c779cdSXin LI>>>0xA4 ulelong >0 HuC6280, 83648c779cdSXin LI>>0x34 ulelong >0x74 83748c779cdSXin LI>>>0xA8 ulelong >0 C140, 83848c779cdSXin LI>>0x34 ulelong >0x78 83948c779cdSXin LI>>>0xAC ulelong >0 K053260, 84048c779cdSXin LI>>0x34 ulelong >0x7C 84148c779cdSXin LI>>>0xB0 ulelong >0 Pokey, 84248c779cdSXin LI>>0x34 ulelong >0x80 84348c779cdSXin LI>>>0xB4 ulelong >0 QSound, 84448c779cdSXin LI# VGM 1.71 84548c779cdSXin LI>>0x34 ulelong >0x84 84648c779cdSXin LI>>>0xB8 ulelong >0 SCSP, 84748c779cdSXin LI>>0x34 ulelong >0x8C 84848c779cdSXin LI>>>0xC0 ulelong >0 WonderSwan, 84948c779cdSXin LI>>0x34 ulelong >0x90 85048c779cdSXin LI>>>0xC4 ulelong >0 VSU, 85148c779cdSXin LI>>0x34 ulelong >0x94 85248c779cdSXin LI>>>0xC8 ulelong >0 SAA1099, 85348c779cdSXin LI>>0x34 ulelong >0x98 85443a5ec4eSXin LI>>>0xCC ulelong >0 ES5503 (DOC), 85548c779cdSXin LI>>0x34 ulelong >0x9C 85643a5ec4eSXin LI>>>0xD0 lelong >0 ES5505 (OTIS), 85743a5ec4eSXin LI>>>0xD0 lelong <0 ES5506 (OTTO), 85848c779cdSXin LI>>0x34 ulelong >0xA4 85948c779cdSXin LI>>>0xD8 ulelong >0 X1-010, 86048c779cdSXin LI>>0x34 ulelong >0xA8 86148c779cdSXin LI>>>0xDC ulelong >0 C352, 86248c779cdSXin LI>>0x34 ulelong >0xAC 86348c779cdSXin LI>>>0xE0 ulelong >0 GA20, 864b6cee71dSXin LI 865b6cee71dSXin LI# GVOX Encore file format 866b6cee71dSXin LI# Since this is a proprietary file format and there is no publicly available 867b6cee71dSXin LI# format specification, this is just based on induction 868b6cee71dSXin LI# 869b6cee71dSXin LI0 string SCOW 870b6cee71dSXin LI>4 byte 0xc4 GVOX Encore music, version 5.0 or above 871b6cee71dSXin LI>4 byte 0xc2 GVOX Encore music, version < 5.0 872b6cee71dSXin LI 873b6cee71dSXin LI0 string ZBOT 874b6cee71dSXin LI>4 byte 0xc5 GVOX Encore music, version < 5.0 875b6cee71dSXin LI 8763e41d09dSXin LI# Summary: Garmin Voice Processing Module (WAVE audios) 8773e41d09dSXin LI# From: Joerg Jenderek 87848c779cdSXin LI# URL: https://www.garmin.com/ 87948c779cdSXin LI# Reference: http://www.poi-factory.com/node/19580 8803e41d09dSXin LI# NOTE: there exist 2 other Garmin VPM formats 8813e41d09dSXin LI0 string AUDIMG 8823e41d09dSXin LI# skip text files starting with string "AUDIMG" 8833e41d09dSXin LI>13 ubyte <13 Garmin Voice Processing Module 8843e41d09dSXin LI!:mime audio/x-vpm-wav-garmin 8853e41d09dSXin LI!:ext vpm 8863e41d09dSXin LI# 3 bytes indicating the voice version (200,220) 8873e41d09dSXin LI>>6 string x \b, version %3.3s 8883e41d09dSXin LI# day of release (01-31) 8893e41d09dSXin LI>>12 ubyte x \b, %.2d 8903e41d09dSXin LI# month of release (01-12) 8913e41d09dSXin LI>>13 ubyte x \b.%.2d 8923e41d09dSXin LI# year of release (like 2006, 2007, 2008) 8933e41d09dSXin LI>>14 uleshort x \b.%.4d 8943e41d09dSXin LI# hour of release (0-23) 8953e41d09dSXin LI>>11 ubyte x %.2d 8963e41d09dSXin LI# minute of release (0-59) 8973e41d09dSXin LI>>10 ubyte x \b:%.2d 8983e41d09dSXin LI# second of release (0-59) 8993e41d09dSXin LI>>9 ubyte x \b:%.2d 9003e41d09dSXin LI# if you select a language like german on your garmin device 90140427ccaSGordon Tetlow# you can only select voice modules with corresponding language byte ID like 1 9023e41d09dSXin LI>>18 ubyte x \b, language ID %d 90348c779cdSXin LI# structure for phrases/sentences? 90448c779cdSXin LI# number of voice sample in the 1st phrase? 90543a5ec4eSXin LI#>>19 uleshort x \b, %#x samples 90643a5ec4eSXin LI#>>>21 uleshort >0 \b, at %#4.4x 90743a5ec4eSXin LI#>>>(21.s) ubequad x %#llx 90848c779cdSXin LI# 2nd phrase? 90943a5ec4eSXin LI#>>23 uleshort x \b, %#x samples 91043a5ec4eSXin LI#>>>25 uleshort >0 \b, at %#4.4x 91143a5ec4eSXin LI#>>>(25.s) ubequad x %#llx 9123e41d09dSXin LI# pointer to 1st audio WAV sample 9133e41d09dSXin LI>>16 uleshort >0 91443a5ec4eSXin LI>>>(16.s) ulelong >0 \b, at %#x 9153e41d09dSXin LI# WAV length 91648c779cdSXin LI# 1 space char after "bytes" to get phrase "bytes RIFF" 91748c779cdSXin LI>>>>(16.s+4) ulelong >0 %u bytes 9183e41d09dSXin LI# look for magic 9193e41d09dSXin LI>>>>>(&-8.l) string RIFF 9203e41d09dSXin LI# determine type by ./riff 92148c779cdSXin LI>>>>>>&-4 indirect x 9223e41d09dSXin LI# 2 - ~ 131 WAV samples following same way 92348c779cdSXin LI# 92448c779cdSXin LI# Summary: encrypted Garmin Voice Processing Module 92548c779cdSXin LI# From: Joerg Jenderek 92648c779cdSXin LI# URL: https://www.garmin.com/us/products/ontheroad/voicestudio 92748c779cdSXin LI# NOTE: Encrypted variant used in voices like DrNightmare, Elfred, Yeti. 92848c779cdSXin LI# There exist 2 other Garmin VPM formats 92948c779cdSXin LI0 ubequad 0xa141190fecc8ced6 Garmin Voice Processing Module (encrypted) 93048c779cdSXin LI!:mime audio/x-vpm-garmin 93148c779cdSXin LI!:ext vpm 9323e41d09dSXin LI 93340427ccaSGordon Tetlow# From Martin Mueller Skarbiniks Pedersen 93440427ccaSGordon Tetlow0 string GDM 93540427ccaSGordon Tetlow>0x3 byte 0xFE General Digital Music. 936*ae316d1dSXin LI>>0x4 string >\0 title: "%s" 937*ae316d1dSXin LI>>0x24 string >\0 musician: "%s" 938*ae316d1dSXin LI>>>0x44 beshort 0x0D0A 939*ae316d1dSXin LI>>>>0x46 byte 0x1A 940*ae316d1dSXin LI>>>>>0x47 string GMFS Version 941*ae316d1dSXin LI>>>>>0x4B byte x %d. 942*ae316d1dSXin LI>>>>>0x4C byte x \b%02d 943*ae316d1dSXin LI>>>>>0x4D beshort 0x000 (2GDM v 944*ae316d1dSXin LI>>>>>0x4F byte x \b%d. 945*ae316d1dSXin LI>>>>>>0x50 byte x \b%d) 94640427ccaSGordon Tetlow 94740427ccaSGordon Tetlow0 string MTM Multitracker 94840427ccaSGordon Tetlow>0x3 byte/16 x Version %d. 94940427ccaSGordon Tetlow>0x3 byte&0x0F x \b%02d 95040427ccaSGordon Tetlow>>0x4 string >\0 title: "%s" 95140427ccaSGordon Tetlow 95240427ccaSGordon Tetlow0 string MO3 95340427ccaSGordon Tetlow>3 ubyte <6 MOdule with MP3 95440427ccaSGordon Tetlow>>3 byte 0 Version 0 (With MP3 and lossless) 95540427ccaSGordon Tetlow>>3 byte 1 Version 1 (With ogg and lossless) 95640427ccaSGordon Tetlow>>3 byte 3 Version 2.2 95740427ccaSGordon Tetlow>>3 byte 4 (With no LAME header) 95840427ccaSGordon Tetlow>>3 byte 5 Version 2.4 95940427ccaSGordon Tetlow 96040427ccaSGordon Tetlow0 string ADRVPACK AProSys module 96140427ccaSGordon Tetlow 96240427ccaSGordon Tetlow# ftp://ftp.modland.com/pub/documents/format_documentation/\ 96340427ccaSGordon Tetlow# Art%20Of%20Noise%20(.aon).txt 96440427ccaSGordon Tetlow0 string AON 96540427ccaSGordon Tetlow>4 string "ArtOfNoise by Bastian Spiegel(twice/lego)" 96640427ccaSGordon Tetlow>0x2e string NAME Art of Noise Tracker Song 96740427ccaSGordon Tetlow>3 string <9 968*ae316d1dSXin LI>>3 string 4 (4 voices) 969*ae316d1dSXin LI>>3 string 8 (8 voices) 97040427ccaSGordon Tetlow>>0x36 string >\0 Title: "%s" 97140427ccaSGordon Tetlow 97240427ccaSGordon Tetlow0 string FAR 97340427ccaSGordon Tetlow>0x2c byte 0x0d 974*ae316d1dSXin LI>>0x2d byte 0x0a 975*ae316d1dSXin LI>>>0x2e byte 0x1a 976*ae316d1dSXin LI>>>>0x3 byte 0xFE Farandole Tracker Song 977*ae316d1dSXin LI>>>>>0x31 byte/16 x Version %d. 978*ae316d1dSXin LI>>>>>0x31 byte&0x0F x \b%02d 979*ae316d1dSXin LI>>>>>0x4 string >\0 \b, title: "%s" 98058a0f0d0SEitan Adler 98148c779cdSXin LI# magic for Klystrack, https://kometbomb.github.io/klystrack/ 98258a0f0d0SEitan Adler# from Alex Myczko <alex@aiei.ch> 98358a0f0d0SEitan Adler0 string cyd!song Klystrack song 98458a0f0d0SEitan Adler>8 byte >0 \b, version %u 98558a0f0d0SEitan Adler>8 byte >26 98658a0f0d0SEitan Adler#>>9 byte x \b, channels %u 98758a0f0d0SEitan Adler#>>10 leshort x \b, time signature %u 98858a0f0d0SEitan Adler#>>12 leshort x \b, sequence step %u 98958a0f0d0SEitan Adler#>>14 byte x \b, instruments %u 99058a0f0d0SEitan Adler#>>15 leshort x \b, patterns %u 99158a0f0d0SEitan Adler#>>17 leshort x \b, sequences %u 99258a0f0d0SEitan Adler#>>19 leshort x \b, length %u 99358a0f0d0SEitan Adler#>>21 leshort x \b, loop point %u 99458a0f0d0SEitan Adler#>>23 byte x \b, master volume %u 99558a0f0d0SEitan Adler#>>24 byte x \b, song speed %u 99658a0f0d0SEitan Adler#>>25 byte x \b, song speed2 %u 99758a0f0d0SEitan Adler#>>26 byte x \b, song rate %u 99858a0f0d0SEitan Adler#>>27 belong x \b, flags %#x 99958a0f0d0SEitan Adler#>>31 byte x \b, multiplex period %u 100058a0f0d0SEitan Adler#>>32 byte x \b, pitch inaccuracy %u 100158a0f0d0SEitan Adler>>149 pstring x \b, title %s 100258a0f0d0SEitan Adler 100358a0f0d0SEitan Adler0 string cyd!inst Klystrack instrument 100458a0f0d0SEitan Adler 100558a0f0d0SEitan Adler# magic for WOPL instrument files, https://github.com/Wohlstand/OPL3BankEditor 100658a0f0d0SEitan Adler# see Specifications/WOPL-and-OPLI-Specification.txt 100758a0f0d0SEitan Adler 100858a0f0d0SEitan Adler0 string WOPL3-INST\0 WOPL instrument 100958a0f0d0SEitan Adler>11 leshort x \b, version %u 101058a0f0d0SEitan Adler0 string WOPL3-BANK\0 WOPL instrument bank 101158a0f0d0SEitan Adler>11 leshort x \b, version %u 101258a0f0d0SEitan Adler 101358a0f0d0SEitan Adler# AdLib/OPL instrument files. Format specifications on 101458a0f0d0SEitan Adler# http://www.shikadi.net/moddingwiki 101558a0f0d0SEitan Adler0 string Junglevision\ Patch\ File Junglevision instrument data 101658a0f0d0SEitan Adler0 string #OPL_II# DMX OP2 instrument data 101758a0f0d0SEitan Adler0 string IBK\x1a IBK instrument data 101858a0f0d0SEitan Adler0 string 2OP\x1a IBK instrument data, 2 operators 101958a0f0d0SEitan Adler0 string 4OP\x1a IBK instrument data, 4 operators 102058a0f0d0SEitan Adler2 string ADLIB- AdLib instrument data 102158a0f0d0SEitan Adler>0 byte x \b, version %u 102258a0f0d0SEitan Adler>1 byte x \b.%u 10232dc4dbb9SEitan Adler 10242dc4dbb9SEitan Adler# CRI ADX ADPCM audio 10252dc4dbb9SEitan Adler# Used by various Sega games. 10262dc4dbb9SEitan Adler# https://en.wikipedia.org/wiki/ADX_(file_format) 10272dc4dbb9SEitan Adler# https://wiki.multimedia.cx/index.php/CRI_ADX_file 10282dc4dbb9SEitan Adler# Added by David Korth <gerbilsoft@gerbilsoft.com> 10292dc4dbb9SEitan Adler0x00 beshort 0x8000 10302dc4dbb9SEitan Adler>(2.S-2) string (c)CRI CRI ADX ADPCM audio 103148c779cdSXin LI!:ext adx 103248c779cdSXin LI!:mime audio/x-adx 103348c779cdSXin LI!:strength +50 10342dc4dbb9SEitan Adler>>0x12 byte x v%u 10352dc4dbb9SEitan Adler>>0x04 byte 0x02 \b, pre-set prediction coefficients 10362dc4dbb9SEitan Adler>>0x04 byte 0x03 \b, standard ADX 10372dc4dbb9SEitan Adler>>0x04 byte 0x04 \b, exponential scale 103848c779cdSXin LI>>0x04 byte 0x10 \b, AHX (Dreamcast) 103948c779cdSXin LI>>0x04 byte 0x11 \b, AHX 10402dc4dbb9SEitan Adler>>0x08 belong x \b, %u Hz 10412dc4dbb9SEitan Adler>>0x12 byte 0x03 10422dc4dbb9SEitan Adler>>>0x02 beshort >0x2B 10432dc4dbb9SEitan Adler>>>>0x18 belong !0 \b, looping 10442dc4dbb9SEitan Adler>>0x12 byte 0x04 10452dc4dbb9SEitan Adler>>>0x02 beshort >0x37 10462dc4dbb9SEitan Adler>>>>0x24 belong !0 \b, looping 10472dc4dbb9SEitan Adler>>0x13 byte&0x08 0x08 \b, encrypted 10482dc4dbb9SEitan Adler 10492dc4dbb9SEitan Adler# Lossless audio (.la) (http://www.lossless-audio.com/) 10502dc4dbb9SEitan Adler0 string LA 10512dc4dbb9SEitan Adler>2 string 03 Lossless audio version 0.3 10522dc4dbb9SEitan Adler>2 string 04 Lossless audio version 0.4 10532dc4dbb9SEitan Adler 10542dc4dbb9SEitan Adler# Sony PlayStation Audio (.xa) 10552dc4dbb9SEitan Adler0 leshort 0x4158 Sony PlayStation Audio 10562dc4dbb9SEitan Adler 105748c779cdSXin LI# Portable Sound Format 105848c779cdSXin LI# Used for audio rips for various consoles. 105948c779cdSXin LI# http://fileformats.archiveteam.org/wiki/Portable_Sound_Format 106048c779cdSXin LI# Added by David Korth <gerbilsoft@gerbilsoft.com> 1061d38c30c0SXin LI0 string PSF 1062d38c30c0SXin LI>3 byte 0x01 1063*ae316d1dSXin LI>>0 use portable_sound_format 1064d38c30c0SXin LI>3 byte 0x02 1065*ae316d1dSXin LI>>0 use portable_sound_format 1066d38c30c0SXin LI>3 byte 0x11 1067*ae316d1dSXin LI>>0 use portable_sound_format 1068d38c30c0SXin LI>3 byte 0x12 1069*ae316d1dSXin LI>>0 use portable_sound_format 1070d38c30c0SXin LI>3 byte 0x13 1071*ae316d1dSXin LI>>0 use portable_sound_format 1072d38c30c0SXin LI>3 byte 0x21 1073*ae316d1dSXin LI>>0 use portable_sound_format 1074d38c30c0SXin LI>3 byte 0x22 1075*ae316d1dSXin LI>>0 use portable_sound_format 1076d38c30c0SXin LI>3 byte 0x23 1077*ae316d1dSXin LI>>0 use portable_sound_format 1078d38c30c0SXin LI>3 byte 0x41 1079*ae316d1dSXin LI>>0 use portable_sound_format 1080*ae316d1dSXin LI 1081*ae316d1dSXin LI 1082*ae316d1dSXin LI0 name portable_sound_format 1083*ae316d1dSXin LI>0 string PSF Portable Sound Format 108448c779cdSXin LI!:mime audio/x-psf 1085*ae316d1dSXin LI>>3 byte 0x01 (Sony PlayStation) 1086*ae316d1dSXin LI>>3 byte 0x02 (Sony PlayStation 2) 1087*ae316d1dSXin LI>>3 byte 0x11 (Sega Saturn) 1088*ae316d1dSXin LI>>3 byte 0x12 (Sega Dreamcast) 1089*ae316d1dSXin LI>>3 byte 0x13 (Sega Mega Drive) 1090*ae316d1dSXin LI>>3 byte 0x21 (Nintendo 64) 1091*ae316d1dSXin LI>>3 byte 0x22 (Game Boy Advance) 1092*ae316d1dSXin LI>>3 byte 0x23 (Super NES) 1093*ae316d1dSXin LI>>3 byte 0x41 (Capcom QSound) 109448c779cdSXin LI 109548c779cdSXin LI# Atari 8-bit SAP audio format 109648c779cdSXin LI# http://asap.sourceforge.net/sap-format.html 109748c779cdSXin LI# Added by David Korth <gerbilsoft@gerbilsoft.com> 109848c779cdSXin LI0 string SAP\r\n Atari 8-bit SAP audio file 109948c779cdSXin LI!:mime audio/x-sap 110048c779cdSXin LI!:ext sap 110148c779cdSXin LI>5 search/1024 NAME 110248c779cdSXin LI>>&1 string x \b: %s 110348c779cdSXin LI>>5 search/1024 AUTHOR 110448c779cdSXin LI>>>&1 string x by %s 110548c779cdSXin LI 110648c779cdSXin LI# Nintendo Wii BRSTM audio format (fields) 110748c779cdSXin LI# NOTE: Assuming HEAD starts at 0x40. 110848c779cdSXin LI# FIXME: Replace 0x48 with HEAD offset plus 8. 110948c779cdSXin LI0 name nintendo-wii-brstm-fields 111048c779cdSXin LI>(0x10.L) string HEAD \b: 111148c779cdSXin LI>>(0x10.L+0x0C) belong x 111248c779cdSXin LI>>>(&-4.L+0x48) belong x 111348c779cdSXin LI>>>>&-4 byte 0 PCM, signed 8-bit, 111448c779cdSXin LI>>>>&-4 byte 1 PCM, signed 16-bit, 111548c779cdSXin LI>>>>&-4 byte 2 THP ADPCM, 111648c779cdSXin LI>>>>&-3 byte !0 looping, 111748c779cdSXin LI>>>>&-2 byte 1 mono 111848c779cdSXin LI>>>>&-2 byte 2 stereo 111948c779cdSXin LI>>>>&-2 byte 3 3 channels 112048c779cdSXin LI>>>>&-2 byte 4 quad 112148c779cdSXin LI>>>>&-2 byte >4 %u channels 112248c779cdSXin LI>>>>&0 beshort !0 %u Hz 112348c779cdSXin LI 112448c779cdSXin LI# Nintendo Wii BRSTM audio format 112548c779cdSXin LI# https://wiibrew.org/wiki/BRSTM_file 112648c779cdSXin LI# Added by David Korth <gerbilsoft@gerbilsoft.com> 112748c779cdSXin LI0 string RSTM Nintendo Wii BRSTM audio file 112848c779cdSXin LI!:mime audio/x-brstm 112948c779cdSXin LI!:ext brstm 113048c779cdSXin LI# Wii is big-endian, so default to BE. 113148c779cdSXin LI>4 beshort 0xFEFF 113248c779cdSXin LI>>0 use nintendo-wii-brstm-fields 113348c779cdSXin LI>4 leshort 0xFEFF 113448c779cdSXin LI>>0 use \^nintendo-wii-brstm-fields 113548c779cdSXin LI 113648c779cdSXin LI# Nintendo 3DS BCSTM audio format (fields) 113748c779cdSXin LI0 name nintendo-3ds-bcstm-fields 113848c779cdSXin LI>(0x18.l) string INFO \b: 113948c779cdSXin LI# INFO block: Stream information starts at 0x20 (minus 4 for the 'INFO' magic) 114048c779cdSXin LI>>&0x1C byte 0 PCM, signed 8-bit, 114148c779cdSXin LI>>&0x1C byte 1 PCM, signed 16-bit, 114248c779cdSXin LI>>&0x1C byte 2 DSP ADPCM, 114348c779cdSXin LI>>&0x1C byte 3 IMA ADPCM, 114448c779cdSXin LI>>&0x1D byte !0 looping, 114548c779cdSXin LI>>&0x1E byte 1 mono 114648c779cdSXin LI>>&0x1E byte 2 stereo 114748c779cdSXin LI>>&0x1E byte 3 3 channels 114848c779cdSXin LI>>&0x1E byte 4 quad 114948c779cdSXin LI>>&0x1E byte >4 %u channels 115048c779cdSXin LI>>&0x20 lelong !0 %u Hz 115148c779cdSXin LI 115248c779cdSXin LI# Nintendo 3DS BCSTM audio format 115348c779cdSXin LI# https://www.3dbrew.org/wiki/BCSTM 115448c779cdSXin LI# Added by David Korth <gerbilsoft@gerbilsoft.com> 115548c779cdSXin LI0 string CSTM Nintendo 3DS BCSTM audio file 115648c779cdSXin LI!:mime audio/x-bcstm 115748c779cdSXin LI!:ext bcstm 115848c779cdSXin LI# 3DS is little-endian, so default to LE. 115948c779cdSXin LI>4 leshort 0xFEFF 116048c779cdSXin LI>>0 use nintendo-3ds-bcstm-fields 116148c779cdSXin LI>4 beshort 0xFEFF 116248c779cdSXin LI>>0 use \^nintendo-3ds-bcstm-fields 116348c779cdSXin LI 116448c779cdSXin LI# Nintendo Wii U BFSTM audio format 116548c779cdSXin LI# http://mk8.tockdom.com/wiki/BFSTM_(File_Format) 116648c779cdSXin LI# NOTE: This format is very similar to BCSTM. 116748c779cdSXin LI# Added by David Korth <gerbilsoft@gerbilsoft.com> 116848c779cdSXin LI0 string FSTM Nintendo Wii U BFSTM audio file 116948c779cdSXin LI!:mime audio/x-bfstm 117048c779cdSXin LI!:ext bfstm 117148c779cdSXin LI# BFSTM is used on both Wii U (BE) and Switch (LE), 117248c779cdSXin LI# so default to LE. 117348c779cdSXin LI>4 leshort 0xFEFF 117448c779cdSXin LI>>0 use nintendo-3ds-bcstm-fields 117548c779cdSXin LI>4 beshort 0xFEFF 117648c779cdSXin LI>>0 use \^nintendo-3ds-bcstm-fields 117748c779cdSXin LI 117848c779cdSXin LI# Nintendo 3DS BCSTM audio format (fields) 117948c779cdSXin LI0 name nintendo-3ds-bcwav-fields 118048c779cdSXin LI>(0x18.l) string INFO \b: 118148c779cdSXin LI# INFO block (minus 4 for INFO magic) 118248c779cdSXin LI>>&0x4 byte 0 PCM, signed 8-bit, 118348c779cdSXin LI>>&0x4 byte 1 PCM, signed 16-bit, 118448c779cdSXin LI>>&0x4 byte 2 DSP ADPCM, 118548c779cdSXin LI>>&0x4 byte 3 IMA ADPCM, 118648c779cdSXin LI>>&0x5 byte !0 looping, 118748c779cdSXin LI>>&0x8 lelong x stereo 118848c779cdSXin LI>>&0x8 lelong !0 %u Hz 118948c779cdSXin LI 119048c779cdSXin LI# Nintendo 3DS BCWAV audio format 119148c779cdSXin LI# https://www.3dbrew.org/wiki/BCWAV 119248c779cdSXin LI# Added by David Korth <gerbilsoft@gerbilsoft.com> 119348c779cdSXin LI0 string CWAV Nintendo 3DS BCWAV audio file 119448c779cdSXin LI!:mime audio/x-bcwav 119548c779cdSXin LI!:ext bcwav 119648c779cdSXin LI# 3DS is little-endian, so default to LE. 119748c779cdSXin LI>4 leshort 0xFEFF 119848c779cdSXin LI>>0 use nintendo-3ds-bcwav-fields 119948c779cdSXin LI>4 beshort 0xFEFF 120048c779cdSXin LI>>0 use \^nintendo-3ds-bcwav-fields 1201a2dfb722SXin LI 1202a2dfb722SXin LI# Philips DSDIFF audio format (Direct Stream Digital Interchange File Format) 1203a2dfb722SXin LI# Used for DSD audio recordings and Super Audio CD (SACD) mastering annotations 1204a2dfb722SXin LI# https://dsd-guide.com/sites/default/files/white-papers/DSDIFF_1.5_Spec.pdf 1205a2dfb722SXin LI# From: Toni Ruottu <toni.ruottu@iki.fi> 1206a2dfb722SXin LI0 string FRM8 1207a2dfb722SXin LI12 string DSD\x20 DSDIFF audio bitstream data 1208a2dfb722SXin LI!:mime audio/x-dff 1209a2dfb722SXin LI!:ext dff 1210a2dfb722SXin LI 1211a2dfb722SXin LI# format version chunk 1212a2dfb722SXin LI>&0 string FVER 1213a2dfb722SXin LI# version 1 1214a2dfb722SXin LI>>&8 byte 1 1215a2dfb722SXin LI 1216a2dfb722SXin LI# v1 / sampling resolution ( 1 bit PDM only ) 1217a2dfb722SXin LI>>>&0 string x \b, 1 bit 1218a2dfb722SXin LI 1219a2dfb722SXin LI# v1 / sound property chunk 1220a2dfb722SXin LI>>>&0 search/0xff PROP 1221a2dfb722SXin LI>>>>&8 string SND 1222a2dfb722SXin LI 1223a2dfb722SXin LI# v1 / sound property chunk / channel configuration chunk 1224a2dfb722SXin LI>>>>>&0 search/0xff CHNL 1225a2dfb722SXin LI>>>>>>&8 ubeshort 1 \b, mono 1226a2dfb722SXin LI>>>>>>&8 ubeshort 2 1227a2dfb722SXin LI>>>>>>>&0 string SLFTSRGT \b, stereo 1228a2dfb722SXin LI>>>>>>>&0 default x \b, 2 channels 1229a2dfb722SXin LI>>>>>>&8 ubeshort 3 1230a2dfb722SXin LI>>>>>>>&0 string SLFTSRGTLFE\x20 \b, 2.1 stereo 1231a2dfb722SXin LI>>>>>>>&0 string SLFTSRGTC\x20\x20\x20 \b, 3.0 stereo 1232a2dfb722SXin LI>>>>>>>&0 default x \b, 3 channels 1233a2dfb722SXin LI>>>>>>&8 ubeshort 4 1234a2dfb722SXin LI>>>>>>>&0 string MLFTMRGTLS\x20\x20RS\x20\x20 \b, 4.0 surround 1235a2dfb722SXin LI>>>>>>>&0 string SLFTSRGTC\x20\x20\x20LFE\x20 \b, 3.1 stereo 1236a2dfb722SXin LI>>>>>>>&0 default x \b, 4 channels 1237a2dfb722SXin LI>>>>>>&8 ubeshort 5 1238a2dfb722SXin LI>>>>>>>&0 string MLFTMRGTC\x20\x20\x20LS\x20\x20RS\x20\x20 \b, 5.0 surround 1239a2dfb722SXin LI>>>>>>>&0 string MLFTMRGTLFE\x20LS\x20\x20RS\x20\x20 \b, 4.1 surround 1240a2dfb722SXin LI>>>>>>>&0 default x \b, 5 channels 1241a2dfb722SXin LI>>>>>>&8 ubeshort 6 1242a2dfb722SXin LI>>>>>>>&0 string MLFTMRGTC\x20\x20\x20LFE\x20LS\x20\x20RS\x20\x20 \b, 5.1 surround 1243a2dfb722SXin LI>>>>>>>&0 default x \b, 6 channels 1244a2dfb722SXin LI>>>>>>&8 ubeshort >6 \b, %u channels 1245a2dfb722SXin LI 1246a2dfb722SXin LI# v1 / sound property chunk / sample rate chunk 1247a2dfb722SXin LI>>>>>&0 search/0xff FS\x20\x20 1248a2dfb722SXin LI>>>>>>&0 string x \b, 1249a2dfb722SXin LI>>>>>>&8 ubelong%44100 0 1250a2dfb722SXin LI>>>>>>>&-4 ubelong/44100 x "DSD %u" 1251a2dfb722SXin LI>>>>>>>&-4 ubelong x %u Hz 1252a2dfb722SXin LI 1253a2dfb722SXin LI# v1 / sound property chunk / compression type chunk 1254a2dfb722SXin LI>>>>>&0 search/0xff CMPR 1255a2dfb722SXin LI>>>>>>&8 string DSD\x20 \b, no compression 1256a2dfb722SXin LI>>>>>>&8 string DST\x20 \b, DST compression 1257a2dfb722SXin LI>>>>>>&8 default x \b, unknown compression 1258a2dfb722SXin LI 1259a2dfb722SXin LI# v1 / quest for metadata 1260a2dfb722SXin LI>>>&0 string x 1261a2dfb722SXin LI 1262a2dfb722SXin LI# v1 / quest for metadata / edited master information chunk 1263a2dfb722SXin LI>>>>&0 search DIIN 1264a2dfb722SXin LI>>>>>&0 ubequad >0 \b, "edited master" metadata 1265a2dfb722SXin LI 1266a2dfb722SXin LI# v1 / quest for metadata / ID3 chunk ( defacto standard ) 1267a2dfb722SXin LI>>>>&0 search ID3\x20 1268a2dfb722SXin LI>>>>>&8 string ID3 \b, ID3 version 2 1269a2dfb722SXin LI>>>>>&0 byte x \b.%u 1270a2dfb722SXin LI>>>>>&1 byte x \b.%u 1271a2dfb722SXin LI 1272a2dfb722SXin LI# v1 / quest for metadata / failure ( possibly due to -P bytes=... being too low ) 1273a2dfb722SXin LI>>>>&0 default x \b, ID3 missing (or unreachable) 1274a2dfb722SXin LI 1275a2dfb722SXin LI# version > 1 or 0 1276a2dfb722SXin LI>>&0 default x \b, unknown version 1277a2dfb722SXin LI 1278a2dfb722SXin LI# Sony DSF audio format (Direct Stream Digital Stream File) 1279a2dfb722SXin LI# Used for lossless digital storage of songs produced as DSD audio 1280a2dfb722SXin LI# Portable analog of a track stored on a Super Audio CD (SACD) 1281a2dfb722SXin LI# https://dsd-guide.com/sites/default/files/white-papers/DSFFileFormatSpec_E.pdf 1282a2dfb722SXin LI# From: Toni Ruottu <toni.ruottu@iki.fi> 1283a2dfb722SXin LI0 string DSD\x20 DSF audio bitstream data 1284a2dfb722SXin LI!:mime audio/x-dsf 1285a2dfb722SXin LI!:ext dsf 1286a2dfb722SXin LI 1287a2dfb722SXin LI# format chunk 1288a2dfb722SXin LI>28 string fmt\x20 1289a2dfb722SXin LI# version 1 1290a2dfb722SXin LI>>&8 ulelong 1 1291a2dfb722SXin LI 1292a2dfb722SXin LI# v1 / sampling resolution ( 1 bit PDM only ) 1293a2dfb722SXin LI# NOTE: the spec incorrectly uses "bits per sample" instead of "bits per byte" 1294a2dfb722SXin LI>>>&0 string x \b, 1 bit 1295a2dfb722SXin LI 1296a2dfb722SXin LI# v1 / channel configuration 1297a2dfb722SXin LI>>>>&4 ulelong 1 \b, mono 1298a2dfb722SXin LI>>>>&4 ulelong 2 \b, stereo 1299a2dfb722SXin LI>>>>&4 ulelong 3 \b, 3.0 stereo 1300a2dfb722SXin LI>>>>&4 ulelong 4 \b, 4.0 surround 1301a2dfb722SXin LI>>>>&4 ulelong 5 \b, 3.1 stereo 1302a2dfb722SXin LI>>>>&4 ulelong 6 \b, 5.0 surround 1303a2dfb722SXin LI>>>>&4 ulelong 7 \b, 5.1 surround 1304a2dfb722SXin LI>>>>&0 default x 1305a2dfb722SXin LI>>>>>&4 ulelong x \b, %u channels 1306a2dfb722SXin LI 1307a2dfb722SXin LI# v1 / sample rate chunk 1308a2dfb722SXin LI>>>>&0 string x \b, 1309a2dfb722SXin LI>>>>&12 ulelong%44100 0 1310a2dfb722SXin LI>>>>>&-4 ulelong/44100 x "DSD %u" 1311a2dfb722SXin LI>>>>&12 ulelong x %u Hz 1312a2dfb722SXin LI 1313a2dfb722SXin LI# v1 / compression 1314a2dfb722SXin LI>>>>&0 string x 1315a2dfb722SXin LI>>>>>&0 ulelong 0 \b, no compression 1316a2dfb722SXin LI>>>>>&0 default x \b, unknown compression 1317a2dfb722SXin LI 1318a2dfb722SXin LI# v1 / embedded ID3v2 metadata 1319a2dfb722SXin LI>>>0 string x \b, ID3 1320a2dfb722SXin LI>>>>20 ulequad !0 1321a2dfb722SXin LI>>>>>(20.q) string ID3 version 2 1322a2dfb722SXin LI>>>>>>&0 byte x \b.%u 1323a2dfb722SXin LI>>>>>>&1 byte x \b.%u 1324a2dfb722SXin LI# unable to verify ID3 ( possibly due to -P bytes=... being too low ) 1325a2dfb722SXin LI>>>>>&0 default x unreachable 1326a2dfb722SXin LI>>>>&0 default x missing 1327a2dfb722SXin LI 1328a2dfb722SXin LI# version > 1 or 0 1329a2dfb722SXin LI>>&0 default x \b, unknown version 1330*ae316d1dSXin LI 1331*ae316d1dSXin LI# https://moddingwiki.shikadi.net/wiki/ROL_Format 1332*ae316d1dSXin LI4 string \\roll\\default AdLib Visual Composer ROL file 1333*ae316d1dSXin LI>0 leshort x \b, version %d. 1334*ae316d1dSXin LI>2 leshort x \b%d 1335*ae316d1dSXin LI>44 leshort x \b, tickBeat %d 1336*ae316d1dSXin LI>46 leshort x \b, beatMeasure %d 1337*ae316d1dSXin LI>48 leshort x \b, scaleY %d 1338*ae316d1dSXin LI>50 leshort x \b, scaleX %d 1339*ae316d1dSXin LI>52 byte 0 \b, percussive 1340*ae316d1dSXin LI>52 byte 1 \b, melodic 1341