1b6cee71dSXin LI 2b6cee71dSXin LI#------------------------------------------------------------------------------ 3*a2dfb722SXin LI# $File: audio,v 1.124 2022/08/28 08:58: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 102b6cee71dSXin LI>23 byte >0 - version %d 103b6cee71dSXin 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 186b6cee71dSXin LI1080 string M.K. 4-channel Protracker module sound data 187b6cee71dSXin LI!:mime audio/x-mod 188b6cee71dSXin LI#audio/x-protracker-module 189b6cee71dSXin LI>0 string >\0 Title: "%s" 190b6cee71dSXin LI1080 string M!K! 4-channel Protracker module sound data 191b6cee71dSXin LI!:mime audio/x-mod 192b6cee71dSXin LI#audio/x-protracker-module 193b6cee71dSXin LI>0 string >\0 Title: "%s" 194b6cee71dSXin LI1080 string FLT4 4-channel Startracker module sound data 195b6cee71dSXin LI!:mime audio/x-mod 196b6cee71dSXin LI#audio/x-startracker-module 197b6cee71dSXin LI>0 string >\0 Title: "%s" 198b6cee71dSXin LI1080 string FLT8 8-channel Startracker module sound data 199b6cee71dSXin LI!:mime audio/x-mod 200b6cee71dSXin LI#audio/x-startracker-module 201b6cee71dSXin LI>0 string >\0 Title: "%s" 202b6cee71dSXin LI1080 string 4CHN 4-channel Fasttracker module sound data 203b6cee71dSXin LI!:mime audio/x-mod 204b6cee71dSXin LI#audio/x-fasttracker-module 205b6cee71dSXin LI>0 string >\0 Title: "%s" 206b6cee71dSXin LI1080 string 6CHN 6-channel Fasttracker module sound data 207b6cee71dSXin LI!:mime audio/x-mod 208b6cee71dSXin LI#audio/x-fasttracker-module 209b6cee71dSXin LI>0 string >\0 Title: "%s" 210b6cee71dSXin LI1080 string 8CHN 8-channel Fasttracker module sound data 211b6cee71dSXin LI!:mime audio/x-mod 212b6cee71dSXin LI#audio/x-fasttracker-module 213b6cee71dSXin LI>0 string >\0 Title: "%s" 214b6cee71dSXin LI1080 string CD81 8-channel Octalyser module sound data 215b6cee71dSXin LI!:mime audio/x-mod 216b6cee71dSXin LI#audio/x-octalysertracker-module 217b6cee71dSXin LI>0 string >\0 Title: "%s" 218b6cee71dSXin LI1080 string OKTA 8-channel Octalyzer module sound data 219b6cee71dSXin LI!:mime audio/x-mod 220b6cee71dSXin LI#audio/x-octalysertracker-module 221b6cee71dSXin LI>0 string >\0 Title: "%s" 222b6cee71dSXin LI# Not good enough. 223b6cee71dSXin LI#1082 string CH 224b6cee71dSXin LI#>1080 string >/0 %.2s-channel Fasttracker "oktalyzer" module sound data 225b6cee71dSXin LI1080 string 16CN 16-channel Taketracker module sound data 226b6cee71dSXin LI!:mime audio/x-mod 227b6cee71dSXin LI#audio/x-taketracker-module 228b6cee71dSXin LI>0 string >\0 Title: "%s" 229b6cee71dSXin LI1080 string 32CN 32-channel Taketracker module sound data 230b6cee71dSXin LI!:mime audio/x-mod 231b6cee71dSXin LI#audio/x-taketracker-module 232b6cee71dSXin LI>0 string >\0 Title: "%s" 233b6cee71dSXin LI 234b6cee71dSXin LI# TOC sound files -Trevor Johnson <trevor@jpj.net> 235b6cee71dSXin LI# 236b6cee71dSXin LI0 string TOC TOC sound file 237b6cee71dSXin LI 238b6cee71dSXin LI# sidfiles <pooka@iki.fi> 239b6cee71dSXin LI# added name,author,(c) and new RSID type by <doj@cubic.org> 2003-06-24 240b6cee71dSXin LI0 string SIDPLAY\ INFOFILE Sidplay info file 241b6cee71dSXin LI 242b6cee71dSXin LI0 string PSID PlaySID v2.2+ (AMIGA) sidtune 243b6cee71dSXin LI>4 beshort >0 w/ header v%d, 244b6cee71dSXin LI>14 beshort =1 single song, 245b6cee71dSXin LI>14 beshort >1 %d songs, 246b6cee71dSXin LI>16 beshort >0 default song: %d 247b6cee71dSXin LI>0x16 string >\0 name: "%s" 248b6cee71dSXin LI>0x36 string >\0 author: "%s" 249b6cee71dSXin LI>0x56 string >\0 copyright: "%s" 250b6cee71dSXin LI 251b6cee71dSXin LI0 string RSID RSID sidtune PlaySID compatible 252b6cee71dSXin LI>4 beshort >0 w/ header v%d, 253b6cee71dSXin LI>14 beshort =1 single song, 254b6cee71dSXin LI>14 beshort >1 %d songs, 255b6cee71dSXin LI>16 beshort >0 default song: %d 256b6cee71dSXin LI>0x16 string >\0 name: "%s" 257b6cee71dSXin LI>0x36 string >\0 author: "%s" 258b6cee71dSXin LI>0x56 string >\0 copyright: "%s" 259b6cee71dSXin LI 260b6cee71dSXin LI# IRCAM sound files - Michael Pruett <michael@68k.org> 261b6cee71dSXin LI# http://www-mmsp.ece.mcgill.ca/documents/AudioFormats/IRCAM/IRCAM.html 262b6cee71dSXin LI0 belong 0x64a30100 IRCAM file (VAX little-endian) 263b6cee71dSXin LI0 belong 0x0001a364 IRCAM file (VAX big-endian) 264b6cee71dSXin LI0 belong 0x64a30200 IRCAM file (Sun big-endian) 265b6cee71dSXin LI0 belong 0x0002a364 IRCAM file (Sun little-endian) 266b6cee71dSXin LI0 belong 0x64a30300 IRCAM file (MIPS little-endian) 267b6cee71dSXin LI0 belong 0x0003a364 IRCAM file (MIPS big-endian) 268b6cee71dSXin LI0 belong 0x64a30400 IRCAM file (NeXT big-endian) 269b6cee71dSXin LI0 belong 0x64a30400 IRCAM file (NeXT big-endian) 270b6cee71dSXin LI0 belong 0x0004a364 IRCAM file (NeXT little-endian) 271b6cee71dSXin LI 272b6cee71dSXin LI# NIST SPHERE <mpruett@sgi.com> 273b6cee71dSXin LI0 string NIST_1A\n\ \ \ 1024\n NIST SPHERE file 274b6cee71dSXin LI 275b6cee71dSXin LI# Sample Vision <mpruett@sgi.com> 276b6cee71dSXin LI0 string SOUND\ SAMPLE\ DATA\ Sample Vision file 277b6cee71dSXin LI 278b6cee71dSXin LI# Audio Visual Research <tonigonenstein@users.sourceforge.net> 279b6cee71dSXin LI0 string 2BIT Audio Visual Research file, 280b6cee71dSXin LI>12 beshort =0 mono, 281b6cee71dSXin LI>12 beshort =-1 stereo, 282b6cee71dSXin LI>14 beshort x %d bits 283b6cee71dSXin LI>16 beshort =0 unsigned, 284b6cee71dSXin LI>16 beshort =-1 signed, 285b6cee71dSXin LI>22 belong&0x00ffffff x %d Hz, 286b6cee71dSXin LI>18 beshort =0 no loop, 287b6cee71dSXin LI>18 beshort =-1 loop, 288b6cee71dSXin LI>21 ubyte <128 note %d, 289b6cee71dSXin LI>22 byte =0 replay 5.485 KHz 290b6cee71dSXin LI>22 byte =1 replay 8.084 KHz 291b6cee71dSXin LI>22 byte =2 replay 10.971 KHz 292b6cee71dSXin LI>22 byte =3 replay 16.168 KHz 293b6cee71dSXin LI>22 byte =4 replay 21.942 KHz 294b6cee71dSXin LI>22 byte =5 replay 32.336 KHz 295b6cee71dSXin LI>22 byte =6 replay 43.885 KHz 296b6cee71dSXin LI>22 byte =7 replay 47.261 KHz 297b6cee71dSXin LI 298b6cee71dSXin LI# SGI SoundTrack <mpruett@sgi.com> 299b6cee71dSXin LI0 string _SGI_SoundTrack SGI SoundTrack project file 300b6cee71dSXin LI# ID3 version 2 tags <waschk@informatik.uni-rostock.de> 301b6cee71dSXin LI0 string ID3 Audio file with ID3 version 2 302b6cee71dSXin LI>3 byte x \b.%d 303b6cee71dSXin LI>4 byte x \b.%d 304b6cee71dSXin LI>>5 byte &0x80 \b, unsynchronized frames 305b6cee71dSXin LI>>5 byte &0x40 \b, extended header 306b6cee71dSXin LI>>5 byte &0x20 \b, experimental 307b6cee71dSXin LI>>5 byte &0x10 \b, footer present 3085f0216bdSXin LI>(6.I+10) indirect x \b, contains: 309b6cee71dSXin LI 310b6cee71dSXin LI# NSF (NES sound file) magic 311b6cee71dSXin LI0 string NESM\x1a NES Sound File 312b6cee71dSXin LI>14 string >\0 ("%s" by 313b6cee71dSXin LI>46 string >\0 %s, copyright 314b6cee71dSXin LI>78 string >\0 %s), 315b6cee71dSXin LI>5 byte x version %d, 316b6cee71dSXin LI>6 byte x %d tracks, 317b6cee71dSXin LI>122 byte&0x2 =1 dual PAL/NTSC 318b6cee71dSXin LI>122 byte&0x1 =1 PAL 319b6cee71dSXin LI>122 byte&0x1 =0 NTSC 320b6cee71dSXin LI 3215f0216bdSXin LI# NSFE (Extended NES sound file) magic 3225f0216bdSXin LI# http://slickproductions.org/docs/NSF/nsfespec.txt 3235f0216bdSXin LI# From: David Pflug <david@pflug.email> 3245f0216bdSXin LI0 string NSFE Extended NES Sound File 3255f0216bdSXin LI>48 search/0x1000 auth 3265f0216bdSXin LI>>&0 string >\0 ("%s" 3275f0216bdSXin LI>>>&1 string >\0 by %s 3285f0216bdSXin LI>>>>&1 string >\0 \b, copyright %s 3295f0216bdSXin LI>>>>>&1 string >\0 \b, ripped by %s 3305f0216bdSXin LI>20 byte x \b), %d tracks, 3315f0216bdSXin LI>18 byte&0x2 =1 dual PAL/NTSC 3325f0216bdSXin LI>18 byte&0x2 =0 3335f0216bdSXin LI>>18 byte&0x1 =1 PAL 3345f0216bdSXin LI>>18 byte&0x1 =0 NTSC 3355f0216bdSXin LI 336b6cee71dSXin LI# Type: SNES SPC700 sound files 337b6cee71dSXin LI# From: Josh Triplett <josh@freedesktop.org> 338b6cee71dSXin LI0 string SNES-SPC700\ Sound\ File\ Data\ v SNES SPC700 sound file 339b6cee71dSXin LI>&0 string 0.30 \b, version %s 340b6cee71dSXin LI>>0x23 byte 0x1B \b, without ID666 tag 341b6cee71dSXin LI>>0x23 byte 0x1A \b, with ID666 tag 342b6cee71dSXin LI>>>0x2E string >\0 \b, song "%.32s" 343b6cee71dSXin LI>>>0x4E string >\0 \b, game "%.32s" 344b6cee71dSXin LI 345b6cee71dSXin LI# Impulse tracker module (audio/x-it) 346b6cee71dSXin LI0 string IMPM Impulse Tracker module sound data - 347b6cee71dSXin LI!:mime audio/x-mod 348b6cee71dSXin LI>4 string >\0 "%s" 349b6cee71dSXin LI>40 leshort !0 compatible w/ITv%x 350b6cee71dSXin LI>42 leshort !0 created w/ITv%x 351b6cee71dSXin LI 352b6cee71dSXin LI# Imago Orpheus module (audio/x-imf) 353b6cee71dSXin LI60 string IM10 Imago Orpheus module sound data - 354b6cee71dSXin LI>0 string >\0 "%s" 355b6cee71dSXin LI 356b6cee71dSXin LI# From <collver1@attbi.com> 357b6cee71dSXin LI# These are the /etc/magic entries to decode modules, instruments, and 358b6cee71dSXin LI# samples in Impulse Tracker's native format. 359b6cee71dSXin LI 360b6cee71dSXin LI0 string IMPS Impulse Tracker Sample 361b6cee71dSXin LI>18 byte &2 16 bit 362b6cee71dSXin LI>18 byte ^2 8 bit 363b6cee71dSXin LI>18 byte &4 stereo 364b6cee71dSXin LI>18 byte ^4 mono 365b6cee71dSXin LI0 string IMPI Impulse Tracker Instrument 366b6cee71dSXin LI>28 leshort !0 ITv%x 367b6cee71dSXin LI>30 byte !0 %d samples 368b6cee71dSXin LI 369b6cee71dSXin LI# Yamaha TX Wave: file(1) magic for Yamaha TX Wave audio files 370b6cee71dSXin LI# From <collver1@attbi.com> 371b6cee71dSXin LI0 string LM8953 Yamaha TX Wave 372b6cee71dSXin LI>22 byte 0x49 looped 373b6cee71dSXin LI>22 byte 0xC9 non-looped 374b6cee71dSXin LI>23 byte 1 33kHz 375b6cee71dSXin LI>23 byte 2 50kHz 376b6cee71dSXin LI>23 byte 3 16kHz 377b6cee71dSXin LI 378b6cee71dSXin LI# scream tracker: file(1) magic for Scream Tracker sample files 379b6cee71dSXin LI# 380b6cee71dSXin LI# From <collver1@attbi.com> 381b6cee71dSXin LI76 string SCRS Scream Tracker Sample 382b6cee71dSXin LI>0 byte 1 sample 383b6cee71dSXin LI>0 byte 2 adlib melody 384b6cee71dSXin LI>0 byte >2 adlib drum 385b6cee71dSXin LI>31 byte &2 stereo 386b6cee71dSXin LI>31 byte ^2 mono 387b6cee71dSXin LI>31 byte &4 16bit little endian 388b6cee71dSXin LI>31 byte ^4 8bit 389b6cee71dSXin LI>30 byte 0 unpacked 390b6cee71dSXin LI>30 byte 1 packed 391b6cee71dSXin LI 392b6cee71dSXin LI# audio 393b6cee71dSXin LI# From: Cory Dikkers <cdikkers@swbell.net> 394b6cee71dSXin LI0 string MMD0 MED music file, version 0 395b6cee71dSXin LI0 string MMD1 OctaMED Pro music file, version 1 396b6cee71dSXin LI0 string MMD3 OctaMED Soundstudio music file, version 3 397b6cee71dSXin LI0 string OctaMEDCmpr OctaMED Soundstudio compressed file 398b6cee71dSXin LI0 string MED MED_Song 399b6cee71dSXin LI0 string SymM Symphonie SymMOD music file 400b6cee71dSXin LI# 40148c779cdSXin LI# Track Length (TRL), Tracks (TRK), Samples (SMP), Subsongs (SS) 40248c779cdSXin LI# http://lclevy.free.fr/exotica/ahx/ahxformat.txt 403b6cee71dSXin LI0 string THX AHX version 404b6cee71dSXin LI>3 byte =0 1 module data 405b6cee71dSXin LI>3 byte =1 2 module data 406*a2dfb722SXin LI>11 ubyte x TRK: %u 407*a2dfb722SXin LI>10 ubyte x TRL: %u 408*a2dfb722SXin LI>12 ubyte x SMP: %u 409*a2dfb722SXin LI>13 ubyte x SS: %u 410*a2dfb722SXin LI>(4.H) string x Title: "%.128s" 411*a2dfb722SXin LI 412*a2dfb722SXin LI# header is mostly AHX format 413*a2dfb722SXin LI0 string HVL 414*a2dfb722SXin LI>3 byte <2 Hively Tracker Song 415*a2dfb722SXin LI>3 byte =0 v1 module data 416*a2dfb722SXin LI>3 byte =1 v2 module data 417*a2dfb722SXin LI>11 ubyte x TRK: %u 418*a2dfb722SXin LI>10 ubyte x TRL: %u 419*a2dfb722SXin LI>12 ubyte x SMP: %u 420*a2dfb722SXin LI>13 ubyte x SS: %u 421*a2dfb722SXin LI>8 ubyte/4 =0 CHN: 4 422*a2dfb722SXin LI>8 ubyte/4 >0 CHN: 4+%u 423*a2dfb722SXin LI#>-0 offset <0xffff 424*a2dfb722SXin LI>(4.H) string x Title: "%.128s" 425*a2dfb722SXin LI 426b6cee71dSXin LI# 427b6cee71dSXin LI0 string OKTASONG Oktalyzer module data 428b6cee71dSXin LI# 429b6cee71dSXin LI0 string DIGI\ Booster\ module\0 %s 430b6cee71dSXin LI>20 byte >0 %c 431b6cee71dSXin LI>>21 byte >0 \b%c 432b6cee71dSXin LI>>>22 byte >0 \b%c 433b6cee71dSXin LI>>>>23 byte >0 \b%c 434b6cee71dSXin LI>610 string >\0 \b, "%s" 435b6cee71dSXin LI# 436b6cee71dSXin LI0 string DBM0 DIGI Booster Pro Module 437b6cee71dSXin LI>4 byte >0 V%X. 438b6cee71dSXin LI>>5 byte x \b%02X 439b6cee71dSXin LI>16 string >\0 \b, "%s" 440b6cee71dSXin LI# 441b6cee71dSXin LI0 string FTMN FaceTheMusic module 442b6cee71dSXin LI>16 string >\0d \b, "%s" 443b6cee71dSXin LI 444b6cee71dSXin LI# From: <doj@cubic.org> 2003-06-24 445b6cee71dSXin LI0 string AMShdr\32 Velvet Studio AMS Module v2.2 446b6cee71dSXin LI0 string Extreme Extreme Tracker AMS Module v1.3 447b6cee71dSXin LI0 string DDMF Xtracker DMF Module 448b6cee71dSXin LI>4 byte x v%i 449b6cee71dSXin LI>0xD string >\0 Title: "%s" 450b6cee71dSXin LI>0x2B string >\0 Composer: "%s" 451b6cee71dSXin LI0 string DSM\32 Dynamic Studio Module DSM 452b6cee71dSXin LI0 string SONG DigiTrekker DTM Module 453b6cee71dSXin LI0 string DMDL DigiTrakker MDL Module 454b6cee71dSXin LI0 string PSM\32 Protracker Studio PSM Module 455b6cee71dSXin LI44 string PTMF Poly Tracker PTM Module 456b6cee71dSXin LI>0 string >\32 Title: "%s" 457b6cee71dSXin LI0 string MT20 MadTracker 2.0 Module MT2 458b6cee71dSXin LI0 string RAD\40by\40REALiTY!! RAD Adlib Tracker Module RAD 459b6cee71dSXin LI0 string RTMM RTM Module 460b6cee71dSXin LI0x426 string MaDoKaN96 XMS Adlib Module 461b6cee71dSXin LI>0 string >\0 Composer: "%s" 462b6cee71dSXin LI0 string AMF AMF Module 463b6cee71dSXin LI>4 string >\0 Title: "%s" 46443a5ec4eSXin LI0 string MODINFO1 Open Cubic Player Module Information MDZ 465b6cee71dSXin LI0 string Extended\40Instrument: Fast Tracker II Instrument 466b6cee71dSXin LI 467b6cee71dSXin LI# From: Takeshi Hamasaki <hma@syd.odn.ne.jp> 468b6cee71dSXin LI# NOA Nancy Codec file 469b6cee71dSXin LI0 string \210NOA\015\012\032 NOA Nancy Codec Movie file 470b6cee71dSXin LI# Yamaha SMAF format 471b6cee71dSXin LI0 string MMMD Yamaha SMAF file 472b6cee71dSXin LI# Sharp Jisaku Melody format for PDC 473b6cee71dSXin LI0 string \001Sharp\040JisakuMelody SHARP Cell-Phone ringing Melody 474b6cee71dSXin LI>20 string Ver01.00 Ver. 1.00 475b6cee71dSXin LI>>32 byte x , %d tracks 476b6cee71dSXin LI 477b6cee71dSXin LI# Free lossless audio codec <http://flac.sourceforge.net> 478b6cee71dSXin LI# From: Przemyslaw Augustyniak <silvathraec@rpg.pl> 479b6cee71dSXin LI0 string fLaC FLAC audio bitstream data 48058a0f0d0SEitan Adler!:mime audio/flac 481b6cee71dSXin LI>4 byte&0x7f >0 \b, unknown version 482b6cee71dSXin LI>4 byte&0x7f 0 \b 483b6cee71dSXin LI# some common bits/sample values 484b6cee71dSXin LI>>20 beshort&0x1f0 0x030 \b, 4 bit 485b6cee71dSXin LI>>20 beshort&0x1f0 0x050 \b, 6 bit 486b6cee71dSXin LI>>20 beshort&0x1f0 0x070 \b, 8 bit 487b6cee71dSXin LI>>20 beshort&0x1f0 0x0b0 \b, 12 bit 488b6cee71dSXin LI>>20 beshort&0x1f0 0x0f0 \b, 16 bit 489b6cee71dSXin LI>>20 beshort&0x1f0 0x170 \b, 24 bit 490b6cee71dSXin LI>>20 byte&0xe 0x0 \b, mono 491b6cee71dSXin LI>>20 byte&0xe 0x2 \b, stereo 492b6cee71dSXin LI>>20 byte&0xe 0x4 \b, 3 channels 493b6cee71dSXin LI>>20 byte&0xe 0x6 \b, 4 channels 494b6cee71dSXin LI>>20 byte&0xe 0x8 \b, 5 channels 495b6cee71dSXin LI>>20 byte&0xe 0xa \b, 6 channels 496b6cee71dSXin LI>>20 byte&0xe 0xc \b, 7 channels 497b6cee71dSXin LI>>20 byte&0xe 0xe \b, 8 channels 49858a0f0d0SEitan Adler# sample rates derived from known oscillator frequencies; 49958a0f0d0SEitan Adler# 24.576 MHz (video/fs=48kHz), 22.5792 (audio/fs=44.1kHz) and 50058a0f0d0SEitan Adler# 16.384 (other/fs=32kHz). 50158a0f0d0SEitan Adler>>17 belong&0xfffff0 0x02b110 \b, 11.025 kHz 50258a0f0d0SEitan Adler>>17 belong&0xfffff0 0x03e800 \b, 16 kHz 503b6cee71dSXin LI>>17 belong&0xfffff0 0x056220 \b, 22.05 kHz 504b6cee71dSXin LI>>17 belong&0xfffff0 0x05dc00 \b, 24 kHz 50558a0f0d0SEitan Adler>>17 belong&0xfffff0 0x07d000 \b, 32 kHz 50658a0f0d0SEitan Adler>>17 belong&0xfffff0 0x0ac440 \b, 44.1 kHz 50758a0f0d0SEitan Adler>>17 belong&0xfffff0 0x0bb800 \b, 48 kHz 508b6cee71dSXin LI>>17 belong&0xfffff0 0x0fa000 \b, 64 kHz 50958a0f0d0SEitan Adler>>17 belong&0xfffff0 0x158880 \b, 88.2 kHz 51058a0f0d0SEitan Adler>>17 belong&0xfffff0 0x177000 \b, 96 kHz 51158a0f0d0SEitan Adler>>17 belong&0xfffff0 0x1f4000 \b, 128 kHz 51258a0f0d0SEitan Adler>>17 belong&0xfffff0 0x2b1100 \b, 176.4 kHz 51358a0f0d0SEitan Adler>>17 belong&0xfffff0 0x2ee000 \b, 192 kHz 51458a0f0d0SEitan Adler>>17 belong&0xfffff0 0x3e8000 \b, 256 kHz 51558a0f0d0SEitan Adler>>17 belong&0xfffff0 0x562200 \b, 352.8 kHz 51658a0f0d0SEitan Adler>>17 belong&0xfffff0 0x5dc000 \b, 384 kHz 517b6cee71dSXin LI>>21 byte&0xf >0 \b, >4G samples 518b6cee71dSXin LI>>21 byte&0xf 0 \b 519b6cee71dSXin LI>>>22 belong >0 \b, %u samples 520b6cee71dSXin LI>>>22 belong 0 \b, length unknown 521b6cee71dSXin LI 522b6cee71dSXin LI# (ISDN) VBOX voice message file (Wolfram Kleff) 523b6cee71dSXin LI0 string VBOX VBOX voice message data 524b6cee71dSXin LI 525b6cee71dSXin LI# ReBorn Song Files (.rbs) 526b6cee71dSXin LI# David J. Singer <doc@deadvirgins.org.uk> 527b6cee71dSXin LI8 string RB40 RBS Song file 528b6cee71dSXin LI>29 string ReBorn created by ReBorn 529b6cee71dSXin LI>37 string Propellerhead created by ReBirth 530b6cee71dSXin LI 531b6cee71dSXin LI# Synthesizer Generator and Kimwitu share their file format 532b6cee71dSXin LI0 string A#S#C#S#S#L#V#3 Synthesizer Generator or Kimwitu data 533b6cee71dSXin LI# Kimwitu++ uses a slightly different magic 534b6cee71dSXin LI0 string A#S#C#S#S#L#HUB Kimwitu++ data 535b6cee71dSXin LI 536b6cee71dSXin LI# From "Simon Hosie 537b6cee71dSXin LI0 string TFMX-SONG TFMX module sound data 538b6cee71dSXin LI 539b6cee71dSXin LI# Monkey's Audio compressed audio format (.ape) 540b6cee71dSXin LI# From danny.milo@gmx.net (Danny Milosavljevic) 541b6cee71dSXin LI# New version from Abel Cheung <abel (@) oaka.org> 542b6cee71dSXin LI0 string MAC\040 Monkey's Audio compressed format 543b6cee71dSXin LI!:mime audio/x-ape 544b6cee71dSXin LI>4 uleshort >0x0F8B version %d 545b6cee71dSXin LI>>(0x08.l) uleshort =1000 with fast compression 546b6cee71dSXin LI>>(0x08.l) uleshort =2000 with normal compression 547b6cee71dSXin LI>>(0x08.l) uleshort =3000 with high compression 548b6cee71dSXin LI>>(0x08.l) uleshort =4000 with extra high compression 549b6cee71dSXin LI>>(0x08.l) uleshort =5000 with insane compression 550b6cee71dSXin LI>>(0x08.l+18) uleshort =1 \b, mono 551b6cee71dSXin LI>>(0x08.l+18) uleshort =2 \b, stereo 552b6cee71dSXin LI>>(0x08.l+20) ulelong x \b, sample rate %d 553b6cee71dSXin LI>4 uleshort <0x0F8C version %d 554b6cee71dSXin LI>>6 uleshort =1000 with fast compression 555b6cee71dSXin LI>>6 uleshort =2000 with normal compression 556b6cee71dSXin LI>>6 uleshort =3000 with high compression 557b6cee71dSXin LI>>6 uleshort =4000 with extra high compression 558b6cee71dSXin LI>>6 uleshort =5000 with insane compression 559b6cee71dSXin LI>>10 uleshort =1 \b, mono 560b6cee71dSXin LI>>10 uleshort =2 \b, stereo 561b6cee71dSXin LI>>12 ulelong x \b, sample rate %d 562b6cee71dSXin LI 563b6cee71dSXin LI# adlib sound files 56458a0f0d0SEitan Adler# From: Alex Myczko <alex@aiei.ch> 56548c779cdSXin LI 56648c779cdSXin LI# https://github.com/rerrahkr/BambooTracker 567*a2dfb722SXin LI0 string BambooTracker BambooTracker 568*a2dfb722SXin LI>13 string Mod Module 569*a2dfb722SXin LI>13 string Ist Instrument 570*a2dfb722SXin LI>13 string Bnk Bank 57148c779cdSXin LI>22 byte x \b, version %u 57248c779cdSXin LI>21 byte x \b.%u 57348c779cdSXin LI>20 byte x \b.%u 57448c779cdSXin LI 575d38c30c0SXin LI0 string CC2x CheeseCutter 2 song 576d38c30c0SXin LI 577b6cee71dSXin LI0 string RAWADATA RdosPlay RAW 578b6cee71dSXin LI 579b6cee71dSXin LI1068 string RoR AMUSIC Adlib Tracker 580b6cee71dSXin LI 581b6cee71dSXin LI0 string JCH EdLib 582b6cee71dSXin LI 583b6cee71dSXin LI0 string mpu401tr MPU-401 Trakker 584b6cee71dSXin LI 585b6cee71dSXin LI0 string SAdT Surprise! Adlib Tracker 586b6cee71dSXin LI>4 byte x Version %d 587b6cee71dSXin LI 588b6cee71dSXin LI0 string XAD! eXotic ADlib 589b6cee71dSXin LI 590b6cee71dSXin LI0 string ofTAZ! eXtra Simple Music 591b6cee71dSXin LI 59248c779cdSXin LI0 string FMK! FM Kingtracker Song 59348c779cdSXin LI 59448c779cdSXin LI0 string DFM DFM Song 59548c779cdSXin LI 59648c779cdSXin LI0 string \<CUD-FM-File\> CFF Song 59748c779cdSXin LI 59848c779cdSXin LI0 string _A2module A2M Song 59948c779cdSXin LI 600b6cee71dSXin LI# Spectrum 128 tunes (.ay files). 601b6cee71dSXin LI# From: Emanuel Haupt <ehaupt@critical.ch> 602b6cee71dSXin LI0 string ZXAYEMUL Spectrum 128 tune 603b6cee71dSXin LI 604b6cee71dSXin LI0 string \0BONK BONK, 605b6cee71dSXin LI#>5 byte x version %d 606b6cee71dSXin LI>14 byte x %d channel(s), 607b6cee71dSXin LI>15 byte =1 lossless, 608b6cee71dSXin LI>15 byte =0 lossy, 609b6cee71dSXin LI>16 byte x mid-side 610b6cee71dSXin LI 611b6cee71dSXin LI384 string LockStream LockStream Embedded file (mostly MP3 on old Nokia phones) 612b6cee71dSXin LI 613b6cee71dSXin LI# format VQF (proprietary codec for sound) 614b6cee71dSXin LI# some infos on the header file available at : 615b6cee71dSXin LI# http://www.twinvq.org/english/technology_format.html 616b6cee71dSXin LI0 string TWIN97012000 VQF data 617b6cee71dSXin LI>27 short 0 \b, Mono 618b6cee71dSXin LI>27 short 1 \b, Stereo 619b6cee71dSXin LI>31 short >0 \b, %d kbit/s 620b6cee71dSXin LI>35 short >0 \b, %d kHz 621b6cee71dSXin LI 622b6cee71dSXin LI# Nelson A. de Oliveira (naoliv@gmail.com) 623b6cee71dSXin LI# .eqf 624b6cee71dSXin LI0 string Winamp\ EQ\ library\ file %s 625b6cee71dSXin LI# it will match only versions like v<digit>.<digit> 626b6cee71dSXin LI# Since I saw only eqf files with version v1.1 I think that it's OK 627b6cee71dSXin LI>23 string x \b%.4s 628b6cee71dSXin LI# .preset 629b6cee71dSXin LI0 string [Equalizer\ preset] XMMS equalizer preset 630b6cee71dSXin LI# .m3u 631b6cee71dSXin LI0 search/1 #EXTM3U M3U playlist text 632b6cee71dSXin LI# .pls 633b6cee71dSXin LI0 search/1 [playlist] PLS playlist text 634b6cee71dSXin LI# licq.conf 635b6cee71dSXin LI1 string [licq] LICQ configuration file 636b6cee71dSXin LI 637b6cee71dSXin LI# Atari ST audio files by Dirk Jagdmann <doj@cubic.org> 638d38c30c0SXin LI# NOTE: Most SNDH music is packed using ICE, which has 639d38c30c0SXin LI# magic numbers "ICE!" and "Ice!". Some SNDH music is 640d38c30c0SXin LI# not packed, so we check for both packed and unpacked. 641d38c30c0SXin LI12 string SNDH SNDH Atari ST music 642d38c30c0SXin LI0 belong&0xFFDFDFFF 0x49434521 643d38c30c0SXin LI>14 search/40 NDH SNDH Atari ST music 644d38c30c0SXin LI>14 search/40 TITL SNDH Atari ST music 645b6cee71dSXin LI0 string SC68\ Music-file\ /\ (c)\ (BeN)jami sc68 Atari ST music 646b6cee71dSXin LI 647b6cee71dSXin LI# musepak support From: "Jiri Pejchal" <jiri.pejchal@gmail.com> 6483e41d09dSXin LI0 string MP+ Musepack audio (MP+) 649b6cee71dSXin LI!:mime audio/x-musepack 650b6cee71dSXin LI>3 byte 255 \b, SV pre8 651b6cee71dSXin LI>3 byte&0xF 0x6 \b, SV 6 652b6cee71dSXin LI>3 byte&0xF 0x8 \b, SV 8 653b6cee71dSXin LI>3 byte&0xF 0x7 \b, SV 7 654b6cee71dSXin LI>>3 byte&0xF0 0x0 \b.0 655b6cee71dSXin LI>>3 byte&0xF0 0x10 \b.1 656b6cee71dSXin LI>>3 byte&0xF0 240 \b.15 657b6cee71dSXin LI>>10 byte&0xF0 0x0 \b, no profile 658b6cee71dSXin LI>>10 byte&0xF0 0x10 \b, profile 'Unstable/Experimental' 659b6cee71dSXin LI>>10 byte&0xF0 0x50 \b, quality 0 660b6cee71dSXin LI>>10 byte&0xF0 0x60 \b, quality 1 661b6cee71dSXin LI>>10 byte&0xF0 0x70 \b, quality 2 (Telephone) 662b6cee71dSXin LI>>10 byte&0xF0 0x80 \b, quality 3 (Thumb) 663b6cee71dSXin LI>>10 byte&0xF0 0x90 \b, quality 4 (Radio) 664b6cee71dSXin LI>>10 byte&0xF0 0xA0 \b, quality 5 (Standard) 665b6cee71dSXin LI>>10 byte&0xF0 0xB0 \b, quality 6 (Xtreme) 666b6cee71dSXin LI>>10 byte&0xF0 0xC0 \b, quality 7 (Insane) 667b6cee71dSXin LI>>10 byte&0xF0 0xD0 \b, quality 8 (BrainDead) 668b6cee71dSXin LI>>10 byte&0xF0 0xE0 \b, quality 9 669b6cee71dSXin LI>>10 byte&0xF0 0xF0 \b, quality 10 670b6cee71dSXin LI>>27 byte 0x0 \b, Buschmann 1.7.0-9, Klemm 0.90-1.05 671b6cee71dSXin LI>>27 byte 102 \b, Beta 1.02 672b6cee71dSXin LI>>27 byte 104 \b, Beta 1.04 673b6cee71dSXin LI>>27 byte 105 \b, Alpha 1.05 674b6cee71dSXin LI>>27 byte 106 \b, Beta 1.06 675b6cee71dSXin LI>>27 byte 110 \b, Release 1.1 676b6cee71dSXin LI>>27 byte 111 \b, Alpha 1.11 677b6cee71dSXin LI>>27 byte 112 \b, Beta 1.12 678b6cee71dSXin LI>>27 byte 113 \b, Alpha 1.13 679b6cee71dSXin LI>>27 byte 114 \b, Beta 1.14 680b6cee71dSXin LI>>27 byte 115 \b, Alpha 1.15 681b6cee71dSXin LI 6823e41d09dSXin LI0 string MPCK Musepack audio (MPCK) 6833e41d09dSXin LI!:mime audio/x-musepack 6843e41d09dSXin LI 685b6cee71dSXin LI# IMY 686b6cee71dSXin LI# from http://filext.com/detaillist.php?extdetail=IMY 68748c779cdSXin LI# https://cellphones.about.com/od/cellularfaqs/f/rf_imelody.htm 688b6cee71dSXin LI# http://download.ncl.ie/doc/api/ie/ncl/media/music/IMelody.html 689b6cee71dSXin LI# http://www.wx800.com/msg/download/irda/iMelody.pdf 690b6cee71dSXin LI0 string BEGIN:IMELODY iMelody Ringtone Format 691b6cee71dSXin LI 692b6cee71dSXin LI# From: "Mateus Caruccio" <mateus@caruccio.com> 693b6cee71dSXin LI# guitar pro v3,4,5 from http://filext.com/file-extension/gp3 694b6cee71dSXin LI0 string \030FICHIER\ GUITAR\ PRO\ v3. Guitar Pro Ver. 3 Tablature 695b6cee71dSXin LI 696b6cee71dSXin LI# From: "Leslie P. Polzer" <leslie.polzer@gmx.net> 697b6cee71dSXin LI60 string SONG SoundFX Module sound file 698b6cee71dSXin LI 699b6cee71dSXin LI# Type: Adaptive Multi-Rate Codec 700b6cee71dSXin LI# URL: http://filext.com/detaillist.php?extdetail=AMR 701b6cee71dSXin LI# From: Russell Coker <russell@coker.com.au> 702b6cee71dSXin LI0 string #!AMR Adaptive Multi-Rate Codec (GSM telephony) 70348c779cdSXin LI!:mime audio/amr 70448c779cdSXin LI!:ext amr 705b6cee71dSXin LI 706b6cee71dSXin LI# Type: SuperCollider 3 Synth Definition File Format 707b6cee71dSXin LI# From: Mario Lang <mlang@debian.org> 708b6cee71dSXin LI0 string SCgf SuperCollider3 Synth Definition file, 709b6cee71dSXin LI>4 belong x version %d 710b6cee71dSXin LI 711b6cee71dSXin LI# Type: True Audio Lossless Audio 71248c779cdSXin LI# URL: https://wiki.multimedia.cx/index.php?title=True_Audio 713b6cee71dSXin LI# From: Mike Melanson <mike@multimedia.cx> 714b6cee71dSXin LI0 string TTA1 True Audio Lossless Audio 715b6cee71dSXin LI 716b6cee71dSXin LI# Type: WavPack Lossless Audio 71748c779cdSXin LI# URL: https://wiki.multimedia.cx/index.php?title=WavPack 718b6cee71dSXin LI# From: Mike Melanson <mike@multimedia.cx> 719b6cee71dSXin LI0 string wvpk WavPack Lossless Audio 720b6cee71dSXin LI 721b6cee71dSXin LI# From Fabio R. Schmidlin <frs@pop.com.br> 722b6cee71dSXin LI# VGM music file 72340427ccaSGordon Tetlow0 string Vgm\040 724b6cee71dSXin LI>9 ubyte >0 VGM Video Game Music dump v 72548c779cdSXin LI!:mime audio/x-vgm 72648c779cdSXin LI!:ext vgm 727b6cee71dSXin LI>>9 ubyte/16 >0 \b%d 728b6cee71dSXin LI>>9 ubyte&0x0F x \b%d 729b6cee71dSXin LI>>8 ubyte/16 x \b.%d 730b6cee71dSXin LI>>8 ubyte&0x0F >0 \b%d 731b6cee71dSXin LI#Get soundchips 732b6cee71dSXin LI>>8 ubyte x \b, soundchip(s)= 73343a5ec4eSXin LI>>0x0C ulelong >0 SN76489 (PSG), 73443a5ec4eSXin LI>>0x10 ulelong >0 YM2413 (OPLL), 73543a5ec4eSXin LI>>0x2C ulelong >0 YM2612 (OPN2), 73643a5ec4eSXin LI>>0x30 ulelong >0 YM2151 (OPM), 737b6cee71dSXin LI>>0x38 ulelong >0 Sega PCM, 738b6cee71dSXin LI>>0x34 ulelong >0xC 73943a5ec4eSXin LI>>>0x40 ulelong >0 RF5C68 (PCM), 740b6cee71dSXin LI>>0x34 ulelong >0x10 74143a5ec4eSXin LI>>>0x44 ulelong >0 YM2203 (OPN), 742b6cee71dSXin LI>>0x34 ulelong >0x14 74343a5ec4eSXin LI>>>0x48 ulelong >0 YM2608 (OPNA), 744b6cee71dSXin LI>>0x34 ulelong >0x18 74543a5ec4eSXin LI>>>0x4C lelong >0 YM2610 (OPNB), 74643a5ec4eSXin LI>>>0x4C lelong <0 YM2610B (OPNB+2FM), 747b6cee71dSXin LI>>0x34 ulelong >0x1C 74843a5ec4eSXin LI>>>0x50 ulelong >0 YM3812 (OPL2), 749b6cee71dSXin LI>>0x34 ulelong >0x20 75043a5ec4eSXin LI>>>0x54 ulelong >0 YM3526 (OPL), 751b6cee71dSXin LI>>0x34 ulelong >0x24 75243a5ec4eSXin LI>>>0x58 ulelong >0 Y8950 (MSX-Audio), 753b6cee71dSXin LI>>0x34 ulelong >0x28 75443a5ec4eSXin LI>>>0x5C ulelong >0 YMF262 (OPL3), 755b6cee71dSXin LI>>0x34 ulelong >0x2C 75643a5ec4eSXin LI>>>0x60 ulelong >0 YMF278B (OPL4), 757b6cee71dSXin LI>>0x34 ulelong >0x30 75843a5ec4eSXin LI>>>0x64 ulelong >0 YMF271 (OPX), 759b6cee71dSXin LI>>0x34 ulelong >0x34 76043a5ec4eSXin LI>>>0x68 ulelong >0 YMZ280B (PCMD8), 761b6cee71dSXin LI>>0x34 ulelong >0x38 76243a5ec4eSXin LI>>>0x6C ulelong >0 RF5C164 (PCM), 763b6cee71dSXin LI>>0x34 ulelong >0x3C 764b6cee71dSXin LI>>>0x70 ulelong >0 PWM, 765b6cee71dSXin LI>>0x34 ulelong >0x40 766b6cee71dSXin LI>>>0x74 ulelong >0 767b6cee71dSXin LI>>>>0x78 ubyte 0x00 AY-3-8910, 768b6cee71dSXin LI>>>>0x78 ubyte 0x01 AY-3-8912, 769b6cee71dSXin LI>>>>0x78 ubyte 0x02 AY-3-8913, 770b6cee71dSXin LI>>>>0x78 ubyte 0x03 AY-3-8930, 771b6cee71dSXin LI>>>>0x78 ubyte 0x10 YM2149, 772b6cee71dSXin LI>>>>0x78 ubyte 0x11 YM3439, 773d38c30c0SXin LI>>>>0x78 ubyte 0x12 YMZ284, 774d38c30c0SXin LI>>>>0x78 ubyte 0x13 YMZ294, 77548c779cdSXin LI# VGM 1.61 77648c779cdSXin LI>>0x34 ulelong >0x4C 77748c779cdSXin LI>>>0x80 ulelong >0 DMG, 77848c779cdSXin LI>>0x34 ulelong >0x50 77948c779cdSXin LI>>>0x84 lelong >0 NES APU, 78048c779cdSXin LI>>>0x84 lelong <0 NES APU with FDS, 78148c779cdSXin LI>>0x34 ulelong >0x54 78248c779cdSXin LI>>>0x88 ulelong >0 MultiPCM, 78348c779cdSXin LI>>0x34 ulelong >0x58 78443a5ec4eSXin LI>>>0x8C ulelong >0 uPD7759 (ADPCM Speech), 78548c779cdSXin LI>>0x34 ulelong >0x5C 78643a5ec4eSXin LI>>>0x90 ulelong >0 OKIM6258 (ADPCM Speech), 78748c779cdSXin LI>>0x34 ulelong >0x64 78843a5ec4eSXin LI>>>0x98 ulelong >0 OKIM6295 (ADPCM), 78948c779cdSXin LI>>0x34 ulelong >0x68 79048c779cdSXin LI>>>0x9C ulelong >0 K051649, 79148c779cdSXin LI>>0x34 ulelong >0x6C 79248c779cdSXin LI>>>0xA0 ulelong >0 K054539, 79348c779cdSXin LI>>0x34 ulelong >0x70 79448c779cdSXin LI>>>0xA4 ulelong >0 HuC6280, 79548c779cdSXin LI>>0x34 ulelong >0x74 79648c779cdSXin LI>>>0xA8 ulelong >0 C140, 79748c779cdSXin LI>>0x34 ulelong >0x78 79848c779cdSXin LI>>>0xAC ulelong >0 K053260, 79948c779cdSXin LI>>0x34 ulelong >0x7C 80048c779cdSXin LI>>>0xB0 ulelong >0 Pokey, 80148c779cdSXin LI>>0x34 ulelong >0x80 80248c779cdSXin LI>>>0xB4 ulelong >0 QSound, 80348c779cdSXin LI# VGM 1.71 80448c779cdSXin LI>>0x34 ulelong >0x84 80548c779cdSXin LI>>>0xB8 ulelong >0 SCSP, 80648c779cdSXin LI>>0x34 ulelong >0x8C 80748c779cdSXin LI>>>0xC0 ulelong >0 WonderSwan, 80848c779cdSXin LI>>0x34 ulelong >0x90 80948c779cdSXin LI>>>0xC4 ulelong >0 VSU, 81048c779cdSXin LI>>0x34 ulelong >0x94 81148c779cdSXin LI>>>0xC8 ulelong >0 SAA1099, 81248c779cdSXin LI>>0x34 ulelong >0x98 81343a5ec4eSXin LI>>>0xCC ulelong >0 ES5503 (DOC), 81448c779cdSXin LI>>0x34 ulelong >0x9C 81543a5ec4eSXin LI>>>0xD0 lelong >0 ES5505 (OTIS), 81643a5ec4eSXin LI>>>0xD0 lelong <0 ES5506 (OTTO), 81748c779cdSXin LI>>0x34 ulelong >0xA4 81848c779cdSXin LI>>>0xD8 ulelong >0 X1-010, 81948c779cdSXin LI>>0x34 ulelong >0xA8 82048c779cdSXin LI>>>0xDC ulelong >0 C352, 82148c779cdSXin LI>>0x34 ulelong >0xAC 82248c779cdSXin LI>>>0xE0 ulelong >0 GA20, 823b6cee71dSXin LI 824b6cee71dSXin LI# GVOX Encore file format 825b6cee71dSXin LI# Since this is a proprietary file format and there is no publicly available 826b6cee71dSXin LI# format specification, this is just based on induction 827b6cee71dSXin LI# 828b6cee71dSXin LI0 string SCOW 829b6cee71dSXin LI>4 byte 0xc4 GVOX Encore music, version 5.0 or above 830b6cee71dSXin LI>4 byte 0xc2 GVOX Encore music, version < 5.0 831b6cee71dSXin LI 832b6cee71dSXin LI0 string ZBOT 833b6cee71dSXin LI>4 byte 0xc5 GVOX Encore music, version < 5.0 834b6cee71dSXin LI 8353e41d09dSXin LI# Summary: Garmin Voice Processing Module (WAVE audios) 8363e41d09dSXin LI# From: Joerg Jenderek 83748c779cdSXin LI# URL: https://www.garmin.com/ 83848c779cdSXin LI# Reference: http://www.poi-factory.com/node/19580 8393e41d09dSXin LI# NOTE: there exist 2 other Garmin VPM formats 8403e41d09dSXin LI0 string AUDIMG 8413e41d09dSXin LI# skip text files starting with string "AUDIMG" 8423e41d09dSXin LI>13 ubyte <13 Garmin Voice Processing Module 8433e41d09dSXin LI!:mime audio/x-vpm-wav-garmin 8443e41d09dSXin LI!:ext vpm 8453e41d09dSXin LI# 3 bytes indicating the voice version (200,220) 8463e41d09dSXin LI>>6 string x \b, version %3.3s 8473e41d09dSXin LI# day of release (01-31) 8483e41d09dSXin LI>>12 ubyte x \b, %.2d 8493e41d09dSXin LI# month of release (01-12) 8503e41d09dSXin LI>>13 ubyte x \b.%.2d 8513e41d09dSXin LI# year of release (like 2006, 2007, 2008) 8523e41d09dSXin LI>>14 uleshort x \b.%.4d 8533e41d09dSXin LI# hour of release (0-23) 8543e41d09dSXin LI>>11 ubyte x %.2d 8553e41d09dSXin LI# minute of release (0-59) 8563e41d09dSXin LI>>10 ubyte x \b:%.2d 8573e41d09dSXin LI# second of release (0-59) 8583e41d09dSXin LI>>9 ubyte x \b:%.2d 8593e41d09dSXin LI# if you select a language like german on your garmin device 86040427ccaSGordon Tetlow# you can only select voice modules with corresponding language byte ID like 1 8613e41d09dSXin LI>>18 ubyte x \b, language ID %d 86248c779cdSXin LI# structure for phrases/sentences? 86348c779cdSXin LI# number of voice sample in the 1st phrase? 86443a5ec4eSXin LI#>>19 uleshort x \b, %#x samples 86543a5ec4eSXin LI#>>>21 uleshort >0 \b, at %#4.4x 86643a5ec4eSXin LI#>>>(21.s) ubequad x %#llx 86748c779cdSXin LI# 2nd phrase? 86843a5ec4eSXin LI#>>23 uleshort x \b, %#x samples 86943a5ec4eSXin LI#>>>25 uleshort >0 \b, at %#4.4x 87043a5ec4eSXin LI#>>>(25.s) ubequad x %#llx 8713e41d09dSXin LI# pointer to 1st audio WAV sample 8723e41d09dSXin LI>>16 uleshort >0 87343a5ec4eSXin LI>>>(16.s) ulelong >0 \b, at %#x 8743e41d09dSXin LI# WAV length 87548c779cdSXin LI# 1 space char after "bytes" to get phrase "bytes RIFF" 87648c779cdSXin LI>>>>(16.s+4) ulelong >0 %u bytes 8773e41d09dSXin LI# look for magic 8783e41d09dSXin LI>>>>>(&-8.l) string RIFF 8793e41d09dSXin LI# determine type by ./riff 88048c779cdSXin LI>>>>>>&-4 indirect x 8813e41d09dSXin LI# 2 - ~ 131 WAV samples following same way 88248c779cdSXin LI# 88348c779cdSXin LI# Summary: encrypted Garmin Voice Processing Module 88448c779cdSXin LI# From: Joerg Jenderek 88548c779cdSXin LI# URL: https://www.garmin.com/us/products/ontheroad/voicestudio 88648c779cdSXin LI# NOTE: Encrypted variant used in voices like DrNightmare, Elfred, Yeti. 88748c779cdSXin LI# There exist 2 other Garmin VPM formats 88848c779cdSXin LI0 ubequad 0xa141190fecc8ced6 Garmin Voice Processing Module (encrypted) 88948c779cdSXin LI!:mime audio/x-vpm-garmin 89048c779cdSXin LI!:ext vpm 8913e41d09dSXin LI 89240427ccaSGordon Tetlow# From Martin Mueller Skarbiniks Pedersen 89340427ccaSGordon Tetlow0 string GDM 89440427ccaSGordon Tetlow>0x3 byte 0xFE General Digital Music. 89540427ccaSGordon Tetlow>0x4 string >\0 title: "%s" 89640427ccaSGordon Tetlow>0x24 string >\0 musician: "%s" 89740427ccaSGordon Tetlow>>0x44 beshort 0x0D0A 89840427ccaSGordon Tetlow>>>0x46 byte 0x1A 89940427ccaSGordon Tetlow>>>>0x47 string GMFS Version 90040427ccaSGordon Tetlow>>>>0x4B byte x %d. 90140427ccaSGordon Tetlow>>>>0x4C byte x \b%02d 90240427ccaSGordon Tetlow>>>>0x4D beshort 0x000 (2GDM v 90340427ccaSGordon Tetlow>>>>0x4F byte x \b%d. 90440427ccaSGordon Tetlow>>>>>0x50 byte x \b%d) 90540427ccaSGordon Tetlow 90640427ccaSGordon Tetlow0 string MTM Multitracker 90740427ccaSGordon Tetlow>0x3 byte/16 x Version %d. 90840427ccaSGordon Tetlow>0x3 byte&0x0F x \b%02d 90940427ccaSGordon Tetlow>>0x4 string >\0 title: "%s" 91040427ccaSGordon Tetlow 91140427ccaSGordon Tetlow0 string MO3 91240427ccaSGordon Tetlow>3 ubyte <6 MOdule with MP3 91340427ccaSGordon Tetlow>>3 byte 0 Version 0 (With MP3 and lossless) 91440427ccaSGordon Tetlow>>3 byte 1 Version 1 (With ogg and lossless) 91540427ccaSGordon Tetlow>>3 byte 3 Version 2.2 91640427ccaSGordon Tetlow>>3 byte 4 (With no LAME header) 91740427ccaSGordon Tetlow>>3 byte 5 Version 2.4 91840427ccaSGordon Tetlow 91940427ccaSGordon Tetlow0 string ADRVPACK AProSys module 92040427ccaSGordon Tetlow 92140427ccaSGordon Tetlow# ftp://ftp.modland.com/pub/documents/format_documentation/\ 92240427ccaSGordon Tetlow# Art%20Of%20Noise%20(.aon).txt 92340427ccaSGordon Tetlow0 string AON 92440427ccaSGordon Tetlow>4 string "ArtOfNoise by Bastian Spiegel(twice/lego)" 92540427ccaSGordon Tetlow>0x2e string NAME Art of Noise Tracker Song 92640427ccaSGordon Tetlow>3 string <9 92740427ccaSGordon Tetlow>3 string 4 (4 voices) 92840427ccaSGordon Tetlow>3 string 8 (8 voices) 92940427ccaSGordon Tetlow>>0x36 string >\0 Title: "%s" 93040427ccaSGordon Tetlow 93140427ccaSGordon Tetlow0 string FAR 93240427ccaSGordon Tetlow>0x2c byte 0x0d 93340427ccaSGordon Tetlow>0x2d byte 0x0a 93440427ccaSGordon Tetlow>0x2e byte 0x1a 93540427ccaSGordon Tetlow>>0x3 byte 0xFE Farandole Tracker Song 93640427ccaSGordon Tetlow>>>0x31 byte/16 x Version %d. 93740427ccaSGordon Tetlow>>>0x31 byte&0x0F x \b%02d 93840427ccaSGordon Tetlow>>>>0x4 string >\0 \b, title: "%s" 93958a0f0d0SEitan Adler 94048c779cdSXin LI# magic for Klystrack, https://kometbomb.github.io/klystrack/ 94158a0f0d0SEitan Adler# from Alex Myczko <alex@aiei.ch> 94258a0f0d0SEitan Adler0 string cyd!song Klystrack song 94358a0f0d0SEitan Adler>8 byte >0 \b, version %u 94458a0f0d0SEitan Adler>8 byte >26 94558a0f0d0SEitan Adler#>>9 byte x \b, channels %u 94658a0f0d0SEitan Adler#>>10 leshort x \b, time signature %u 94758a0f0d0SEitan Adler#>>12 leshort x \b, sequence step %u 94858a0f0d0SEitan Adler#>>14 byte x \b, instruments %u 94958a0f0d0SEitan Adler#>>15 leshort x \b, patterns %u 95058a0f0d0SEitan Adler#>>17 leshort x \b, sequences %u 95158a0f0d0SEitan Adler#>>19 leshort x \b, length %u 95258a0f0d0SEitan Adler#>>21 leshort x \b, loop point %u 95358a0f0d0SEitan Adler#>>23 byte x \b, master volume %u 95458a0f0d0SEitan Adler#>>24 byte x \b, song speed %u 95558a0f0d0SEitan Adler#>>25 byte x \b, song speed2 %u 95658a0f0d0SEitan Adler#>>26 byte x \b, song rate %u 95758a0f0d0SEitan Adler#>>27 belong x \b, flags %#x 95858a0f0d0SEitan Adler#>>31 byte x \b, multiplex period %u 95958a0f0d0SEitan Adler#>>32 byte x \b, pitch inaccuracy %u 96058a0f0d0SEitan Adler>>149 pstring x \b, title %s 96158a0f0d0SEitan Adler 96258a0f0d0SEitan Adler0 string cyd!inst Klystrack instrument 96358a0f0d0SEitan Adler 96458a0f0d0SEitan Adler# magic for WOPL instrument files, https://github.com/Wohlstand/OPL3BankEditor 96558a0f0d0SEitan Adler# see Specifications/WOPL-and-OPLI-Specification.txt 96658a0f0d0SEitan Adler 96758a0f0d0SEitan Adler0 string WOPL3-INST\0 WOPL instrument 96858a0f0d0SEitan Adler>11 leshort x \b, version %u 96958a0f0d0SEitan Adler0 string WOPL3-BANK\0 WOPL instrument bank 97058a0f0d0SEitan Adler>11 leshort x \b, version %u 97158a0f0d0SEitan Adler 97258a0f0d0SEitan Adler# AdLib/OPL instrument files. Format specifications on 97358a0f0d0SEitan Adler# http://www.shikadi.net/moddingwiki 97458a0f0d0SEitan Adler0 string Junglevision\ Patch\ File Junglevision instrument data 97558a0f0d0SEitan Adler0 string #OPL_II# DMX OP2 instrument data 97658a0f0d0SEitan Adler0 string IBK\x1a IBK instrument data 97758a0f0d0SEitan Adler0 string 2OP\x1a IBK instrument data, 2 operators 97858a0f0d0SEitan Adler0 string 4OP\x1a IBK instrument data, 4 operators 97958a0f0d0SEitan Adler2 string ADLIB- AdLib instrument data 98058a0f0d0SEitan Adler>0 byte x \b, version %u 98158a0f0d0SEitan Adler>1 byte x \b.%u 9822dc4dbb9SEitan Adler 9832dc4dbb9SEitan Adler# CRI ADX ADPCM audio 9842dc4dbb9SEitan Adler# Used by various Sega games. 9852dc4dbb9SEitan Adler# https://en.wikipedia.org/wiki/ADX_(file_format) 9862dc4dbb9SEitan Adler# https://wiki.multimedia.cx/index.php/CRI_ADX_file 9872dc4dbb9SEitan Adler# Added by David Korth <gerbilsoft@gerbilsoft.com> 9882dc4dbb9SEitan Adler0x00 beshort 0x8000 9892dc4dbb9SEitan Adler>(2.S-2) string (c)CRI CRI ADX ADPCM audio 99048c779cdSXin LI!:ext adx 99148c779cdSXin LI!:mime audio/x-adx 99248c779cdSXin LI!:strength +50 9932dc4dbb9SEitan Adler>>0x12 byte x v%u 9942dc4dbb9SEitan Adler>>0x04 byte 0x02 \b, pre-set prediction coefficients 9952dc4dbb9SEitan Adler>>0x04 byte 0x03 \b, standard ADX 9962dc4dbb9SEitan Adler>>0x04 byte 0x04 \b, exponential scale 99748c779cdSXin LI>>0x04 byte 0x10 \b, AHX (Dreamcast) 99848c779cdSXin LI>>0x04 byte 0x11 \b, AHX 9992dc4dbb9SEitan Adler>>0x08 belong x \b, %u Hz 10002dc4dbb9SEitan Adler>>0x12 byte 0x03 10012dc4dbb9SEitan Adler>>>0x02 beshort >0x2B 10022dc4dbb9SEitan Adler>>>>0x18 belong !0 \b, looping 10032dc4dbb9SEitan Adler>>0x12 byte 0x04 10042dc4dbb9SEitan Adler>>>0x02 beshort >0x37 10052dc4dbb9SEitan Adler>>>>0x24 belong !0 \b, looping 10062dc4dbb9SEitan Adler>>0x13 byte&0x08 0x08 \b, encrypted 10072dc4dbb9SEitan Adler 10082dc4dbb9SEitan Adler# Lossless audio (.la) (http://www.lossless-audio.com/) 10092dc4dbb9SEitan Adler0 string LA 10102dc4dbb9SEitan Adler>2 string 03 Lossless audio version 0.3 10112dc4dbb9SEitan Adler>2 string 04 Lossless audio version 0.4 10122dc4dbb9SEitan Adler 10132dc4dbb9SEitan Adler# Sony PlayStation Audio (.xa) 10142dc4dbb9SEitan Adler0 leshort 0x4158 Sony PlayStation Audio 10152dc4dbb9SEitan Adler 101648c779cdSXin LI# Portable Sound Format 101748c779cdSXin LI# Used for audio rips for various consoles. 101848c779cdSXin LI# http://fileformats.archiveteam.org/wiki/Portable_Sound_Format 101948c779cdSXin LI# Added by David Korth <gerbilsoft@gerbilsoft.com> 1020d38c30c0SXin LI0 string PSF 1021d38c30c0SXin LI>3 byte 0x01 1022d38c30c0SXin LI>3 byte 0x02 1023d38c30c0SXin LI>3 byte 0x11 1024d38c30c0SXin LI>3 byte 0x12 1025d38c30c0SXin LI>3 byte 0x13 1026d38c30c0SXin LI>3 byte 0x21 1027d38c30c0SXin LI>3 byte 0x22 1028d38c30c0SXin LI>3 byte 0x23 1029d38c30c0SXin LI>3 byte 0x41 1030d38c30c0SXin LI>>0 string PSF Portable Sound Format 103148c779cdSXin LI!:mime audio/x-psf 1032d38c30c0SXin LI>>>3 byte 0x01 (Sony PlayStation) 1033d38c30c0SXin LI>>>3 byte 0x02 (Sony PlayStation 2) 1034d38c30c0SXin LI>>>3 byte 0x11 (Sega Saturn) 1035d38c30c0SXin LI>>>3 byte 0x12 (Sega Dreamcast) 1036d38c30c0SXin LI>>>3 byte 0x13 (Sega Mega Drive) 1037d38c30c0SXin LI>>>3 byte 0x21 (Nintendo 64) 1038d38c30c0SXin LI>>>3 byte 0x22 (Game Boy Advance) 1039d38c30c0SXin LI>>>3 byte 0x23 (Super NES) 1040d38c30c0SXin LI>>>3 byte 0x41 (Capcom QSound) 104148c779cdSXin LI 104248c779cdSXin LI# Atari 8-bit SAP audio format 104348c779cdSXin LI# http://asap.sourceforge.net/sap-format.html 104448c779cdSXin LI# Added by David Korth <gerbilsoft@gerbilsoft.com> 104548c779cdSXin LI0 string SAP\r\n Atari 8-bit SAP audio file 104648c779cdSXin LI!:mime audio/x-sap 104748c779cdSXin LI!:ext sap 104848c779cdSXin LI>5 search/1024 NAME 104948c779cdSXin LI>>&1 string x \b: %s 105048c779cdSXin LI>>5 search/1024 AUTHOR 105148c779cdSXin LI>>>&1 string x by %s 105248c779cdSXin LI 105348c779cdSXin LI# Nintendo Wii BRSTM audio format (fields) 105448c779cdSXin LI# NOTE: Assuming HEAD starts at 0x40. 105548c779cdSXin LI# FIXME: Replace 0x48 with HEAD offset plus 8. 105648c779cdSXin LI0 name nintendo-wii-brstm-fields 105748c779cdSXin LI>(0x10.L) string HEAD \b: 105848c779cdSXin LI>>(0x10.L+0x0C) belong x 105948c779cdSXin LI>>>(&-4.L+0x48) belong x 106048c779cdSXin LI>>>>&-4 byte 0 PCM, signed 8-bit, 106148c779cdSXin LI>>>>&-4 byte 1 PCM, signed 16-bit, 106248c779cdSXin LI>>>>&-4 byte 2 THP ADPCM, 106348c779cdSXin LI>>>>&-3 byte !0 looping, 106448c779cdSXin LI>>>>&-2 byte 1 mono 106548c779cdSXin LI>>>>&-2 byte 2 stereo 106648c779cdSXin LI>>>>&-2 byte 3 3 channels 106748c779cdSXin LI>>>>&-2 byte 4 quad 106848c779cdSXin LI>>>>&-2 byte >4 %u channels 106948c779cdSXin LI>>>>&0 beshort !0 %u Hz 107048c779cdSXin LI 107148c779cdSXin LI# Nintendo Wii BRSTM audio format 107248c779cdSXin LI# https://wiibrew.org/wiki/BRSTM_file 107348c779cdSXin LI# Added by David Korth <gerbilsoft@gerbilsoft.com> 107448c779cdSXin LI0 string RSTM Nintendo Wii BRSTM audio file 107548c779cdSXin LI!:mime audio/x-brstm 107648c779cdSXin LI!:ext brstm 107748c779cdSXin LI# Wii is big-endian, so default to BE. 107848c779cdSXin LI>4 beshort 0xFEFF 107948c779cdSXin LI>>0 use nintendo-wii-brstm-fields 108048c779cdSXin LI>4 leshort 0xFEFF 108148c779cdSXin LI>>0 use \^nintendo-wii-brstm-fields 108248c779cdSXin LI 108348c779cdSXin LI# Nintendo 3DS BCSTM audio format (fields) 108448c779cdSXin LI0 name nintendo-3ds-bcstm-fields 108548c779cdSXin LI>(0x18.l) string INFO \b: 108648c779cdSXin LI# INFO block: Stream information starts at 0x20 (minus 4 for the 'INFO' magic) 108748c779cdSXin LI>>&0x1C byte 0 PCM, signed 8-bit, 108848c779cdSXin LI>>&0x1C byte 1 PCM, signed 16-bit, 108948c779cdSXin LI>>&0x1C byte 2 DSP ADPCM, 109048c779cdSXin LI>>&0x1C byte 3 IMA ADPCM, 109148c779cdSXin LI>>&0x1D byte !0 looping, 109248c779cdSXin LI>>&0x1E byte 1 mono 109348c779cdSXin LI>>&0x1E byte 2 stereo 109448c779cdSXin LI>>&0x1E byte 3 3 channels 109548c779cdSXin LI>>&0x1E byte 4 quad 109648c779cdSXin LI>>&0x1E byte >4 %u channels 109748c779cdSXin LI>>&0x20 lelong !0 %u Hz 109848c779cdSXin LI 109948c779cdSXin LI# Nintendo 3DS BCSTM audio format 110048c779cdSXin LI# https://www.3dbrew.org/wiki/BCSTM 110148c779cdSXin LI# Added by David Korth <gerbilsoft@gerbilsoft.com> 110248c779cdSXin LI0 string CSTM Nintendo 3DS BCSTM audio file 110348c779cdSXin LI!:mime audio/x-bcstm 110448c779cdSXin LI!:ext bcstm 110548c779cdSXin LI# 3DS is little-endian, so default to LE. 110648c779cdSXin LI>4 leshort 0xFEFF 110748c779cdSXin LI>>0 use nintendo-3ds-bcstm-fields 110848c779cdSXin LI>4 beshort 0xFEFF 110948c779cdSXin LI>>0 use \^nintendo-3ds-bcstm-fields 111048c779cdSXin LI 111148c779cdSXin LI# Nintendo Wii U BFSTM audio format 111248c779cdSXin LI# http://mk8.tockdom.com/wiki/BFSTM_(File_Format) 111348c779cdSXin LI# NOTE: This format is very similar to BCSTM. 111448c779cdSXin LI# Added by David Korth <gerbilsoft@gerbilsoft.com> 111548c779cdSXin LI0 string FSTM Nintendo Wii U BFSTM audio file 111648c779cdSXin LI!:mime audio/x-bfstm 111748c779cdSXin LI!:ext bfstm 111848c779cdSXin LI# BFSTM is used on both Wii U (BE) and Switch (LE), 111948c779cdSXin LI# so default to LE. 112048c779cdSXin LI>4 leshort 0xFEFF 112148c779cdSXin LI>>0 use nintendo-3ds-bcstm-fields 112248c779cdSXin LI>4 beshort 0xFEFF 112348c779cdSXin LI>>0 use \^nintendo-3ds-bcstm-fields 112448c779cdSXin LI 112548c779cdSXin LI# Nintendo 3DS BCSTM audio format (fields) 112648c779cdSXin LI0 name nintendo-3ds-bcwav-fields 112748c779cdSXin LI>(0x18.l) string INFO \b: 112848c779cdSXin LI# INFO block (minus 4 for INFO magic) 112948c779cdSXin LI>>&0x4 byte 0 PCM, signed 8-bit, 113048c779cdSXin LI>>&0x4 byte 1 PCM, signed 16-bit, 113148c779cdSXin LI>>&0x4 byte 2 DSP ADPCM, 113248c779cdSXin LI>>&0x4 byte 3 IMA ADPCM, 113348c779cdSXin LI>>&0x5 byte !0 looping, 113448c779cdSXin LI>>&0x8 lelong x stereo 113548c779cdSXin LI>>&0x8 lelong !0 %u Hz 113648c779cdSXin LI 113748c779cdSXin LI# Nintendo 3DS BCWAV audio format 113848c779cdSXin LI# https://www.3dbrew.org/wiki/BCWAV 113948c779cdSXin LI# Added by David Korth <gerbilsoft@gerbilsoft.com> 114048c779cdSXin LI0 string CWAV Nintendo 3DS BCWAV audio file 114148c779cdSXin LI!:mime audio/x-bcwav 114248c779cdSXin LI!:ext bcwav 114348c779cdSXin LI# 3DS is little-endian, so default to LE. 114448c779cdSXin LI>4 leshort 0xFEFF 114548c779cdSXin LI>>0 use nintendo-3ds-bcwav-fields 114648c779cdSXin LI>4 beshort 0xFEFF 114748c779cdSXin LI>>0 use \^nintendo-3ds-bcwav-fields 1148*a2dfb722SXin LI 1149*a2dfb722SXin LI# Philips DSDIFF audio format (Direct Stream Digital Interchange File Format) 1150*a2dfb722SXin LI# Used for DSD audio recordings and Super Audio CD (SACD) mastering annotations 1151*a2dfb722SXin LI# https://dsd-guide.com/sites/default/files/white-papers/DSDIFF_1.5_Spec.pdf 1152*a2dfb722SXin LI# From: Toni Ruottu <toni.ruottu@iki.fi> 1153*a2dfb722SXin LI0 string FRM8 1154*a2dfb722SXin LI12 string DSD\x20 DSDIFF audio bitstream data 1155*a2dfb722SXin LI!:mime audio/x-dff 1156*a2dfb722SXin LI!:ext dff 1157*a2dfb722SXin LI 1158*a2dfb722SXin LI# format version chunk 1159*a2dfb722SXin LI>&0 string FVER 1160*a2dfb722SXin LI# version 1 1161*a2dfb722SXin LI>>&8 byte 1 1162*a2dfb722SXin LI 1163*a2dfb722SXin LI# v1 / sampling resolution ( 1 bit PDM only ) 1164*a2dfb722SXin LI>>>&0 string x \b, 1 bit 1165*a2dfb722SXin LI 1166*a2dfb722SXin LI# v1 / sound property chunk 1167*a2dfb722SXin LI>>>&0 search/0xff PROP 1168*a2dfb722SXin LI>>>>&8 string SND 1169*a2dfb722SXin LI 1170*a2dfb722SXin LI# v1 / sound property chunk / channel configuration chunk 1171*a2dfb722SXin LI>>>>>&0 search/0xff CHNL 1172*a2dfb722SXin LI>>>>>>&8 ubeshort 1 \b, mono 1173*a2dfb722SXin LI>>>>>>&8 ubeshort 2 1174*a2dfb722SXin LI>>>>>>>&0 string SLFTSRGT \b, stereo 1175*a2dfb722SXin LI>>>>>>>&0 default x \b, 2 channels 1176*a2dfb722SXin LI>>>>>>&8 ubeshort 3 1177*a2dfb722SXin LI>>>>>>>&0 string SLFTSRGTLFE\x20 \b, 2.1 stereo 1178*a2dfb722SXin LI>>>>>>>&0 string SLFTSRGTC\x20\x20\x20 \b, 3.0 stereo 1179*a2dfb722SXin LI>>>>>>>&0 default x \b, 3 channels 1180*a2dfb722SXin LI>>>>>>&8 ubeshort 4 1181*a2dfb722SXin LI>>>>>>>&0 string MLFTMRGTLS\x20\x20RS\x20\x20 \b, 4.0 surround 1182*a2dfb722SXin LI>>>>>>>&0 string SLFTSRGTC\x20\x20\x20LFE\x20 \b, 3.1 stereo 1183*a2dfb722SXin LI>>>>>>>&0 default x \b, 4 channels 1184*a2dfb722SXin LI>>>>>>&8 ubeshort 5 1185*a2dfb722SXin LI>>>>>>>&0 string MLFTMRGTC\x20\x20\x20LS\x20\x20RS\x20\x20 \b, 5.0 surround 1186*a2dfb722SXin LI>>>>>>>&0 string MLFTMRGTLFE\x20LS\x20\x20RS\x20\x20 \b, 4.1 surround 1187*a2dfb722SXin LI>>>>>>>&0 default x \b, 5 channels 1188*a2dfb722SXin LI>>>>>>&8 ubeshort 6 1189*a2dfb722SXin LI>>>>>>>&0 string MLFTMRGTC\x20\x20\x20LFE\x20LS\x20\x20RS\x20\x20 \b, 5.1 surround 1190*a2dfb722SXin LI>>>>>>>&0 default x \b, 6 channels 1191*a2dfb722SXin LI>>>>>>&8 ubeshort >6 \b, %u channels 1192*a2dfb722SXin LI 1193*a2dfb722SXin LI# v1 / sound property chunk / sample rate chunk 1194*a2dfb722SXin LI>>>>>&0 search/0xff FS\x20\x20 1195*a2dfb722SXin LI>>>>>>&0 string x \b, 1196*a2dfb722SXin LI>>>>>>&8 ubelong%44100 0 1197*a2dfb722SXin LI>>>>>>>&-4 ubelong/44100 x "DSD %u" 1198*a2dfb722SXin LI>>>>>>>&-4 ubelong x %u Hz 1199*a2dfb722SXin LI 1200*a2dfb722SXin LI# v1 / sound property chunk / compression type chunk 1201*a2dfb722SXin LI>>>>>&0 search/0xff CMPR 1202*a2dfb722SXin LI>>>>>>&8 string DSD\x20 \b, no compression 1203*a2dfb722SXin LI>>>>>>&8 string DST\x20 \b, DST compression 1204*a2dfb722SXin LI>>>>>>&8 default x \b, unknown compression 1205*a2dfb722SXin LI 1206*a2dfb722SXin LI# v1 / quest for metadata 1207*a2dfb722SXin LI>>>&0 string x 1208*a2dfb722SXin LI 1209*a2dfb722SXin LI# v1 / quest for metadata / edited master information chunk 1210*a2dfb722SXin LI>>>>&0 search DIIN 1211*a2dfb722SXin LI>>>>>&0 ubequad >0 \b, "edited master" metadata 1212*a2dfb722SXin LI 1213*a2dfb722SXin LI# v1 / quest for metadata / ID3 chunk ( defacto standard ) 1214*a2dfb722SXin LI>>>>&0 search ID3\x20 1215*a2dfb722SXin LI>>>>>&8 string ID3 \b, ID3 version 2 1216*a2dfb722SXin LI>>>>>&0 byte x \b.%u 1217*a2dfb722SXin LI>>>>>&1 byte x \b.%u 1218*a2dfb722SXin LI 1219*a2dfb722SXin LI# v1 / quest for metadata / failure ( possibly due to -P bytes=... being too low ) 1220*a2dfb722SXin LI>>>>&0 default x \b, ID3 missing (or unreachable) 1221*a2dfb722SXin LI 1222*a2dfb722SXin LI# version > 1 or 0 1223*a2dfb722SXin LI>>&0 default x \b, unknown version 1224*a2dfb722SXin LI 1225*a2dfb722SXin LI# Sony DSF audio format (Direct Stream Digital Stream File) 1226*a2dfb722SXin LI# Used for lossless digital storage of songs produced as DSD audio 1227*a2dfb722SXin LI# Portable analog of a track stored on a Super Audio CD (SACD) 1228*a2dfb722SXin LI# https://dsd-guide.com/sites/default/files/white-papers/DSFFileFormatSpec_E.pdf 1229*a2dfb722SXin LI# From: Toni Ruottu <toni.ruottu@iki.fi> 1230*a2dfb722SXin LI0 string DSD\x20 DSF audio bitstream data 1231*a2dfb722SXin LI!:mime audio/x-dsf 1232*a2dfb722SXin LI!:ext dsf 1233*a2dfb722SXin LI 1234*a2dfb722SXin LI# format chunk 1235*a2dfb722SXin LI>28 string fmt\x20 1236*a2dfb722SXin LI# version 1 1237*a2dfb722SXin LI>>&8 ulelong 1 1238*a2dfb722SXin LI 1239*a2dfb722SXin LI# v1 / sampling resolution ( 1 bit PDM only ) 1240*a2dfb722SXin LI# NOTE: the spec incorrectly uses "bits per sample" instead of "bits per byte" 1241*a2dfb722SXin LI>>>&0 string x \b, 1 bit 1242*a2dfb722SXin LI 1243*a2dfb722SXin LI# v1 / channel configuration 1244*a2dfb722SXin LI>>>>&4 ulelong 1 \b, mono 1245*a2dfb722SXin LI>>>>&4 ulelong 2 \b, stereo 1246*a2dfb722SXin LI>>>>&4 ulelong 3 \b, 3.0 stereo 1247*a2dfb722SXin LI>>>>&4 ulelong 4 \b, 4.0 surround 1248*a2dfb722SXin LI>>>>&4 ulelong 5 \b, 3.1 stereo 1249*a2dfb722SXin LI>>>>&4 ulelong 6 \b, 5.0 surround 1250*a2dfb722SXin LI>>>>&4 ulelong 7 \b, 5.1 surround 1251*a2dfb722SXin LI>>>>&0 default x 1252*a2dfb722SXin LI>>>>>&4 ulelong x \b, %u channels 1253*a2dfb722SXin LI 1254*a2dfb722SXin LI# v1 / sample rate chunk 1255*a2dfb722SXin LI>>>>&0 string x \b, 1256*a2dfb722SXin LI>>>>&12 ulelong%44100 0 1257*a2dfb722SXin LI>>>>>&-4 ulelong/44100 x "DSD %u" 1258*a2dfb722SXin LI>>>>&12 ulelong x %u Hz 1259*a2dfb722SXin LI 1260*a2dfb722SXin LI# v1 / compression 1261*a2dfb722SXin LI>>>>&0 string x 1262*a2dfb722SXin LI>>>>>&0 ulelong 0 \b, no compression 1263*a2dfb722SXin LI>>>>>&0 default x \b, unknown compression 1264*a2dfb722SXin LI 1265*a2dfb722SXin LI# v1 / embedded ID3v2 metadata 1266*a2dfb722SXin LI>>>0 string x \b, ID3 1267*a2dfb722SXin LI>>>>20 ulequad !0 1268*a2dfb722SXin LI>>>>>(20.q) string ID3 version 2 1269*a2dfb722SXin LI>>>>>>&0 byte x \b.%u 1270*a2dfb722SXin LI>>>>>>&1 byte x \b.%u 1271*a2dfb722SXin LI# unable to verify ID3 ( possibly due to -P bytes=... being too low ) 1272*a2dfb722SXin LI>>>>>&0 default x unreachable 1273*a2dfb722SXin LI>>>>&0 default x missing 1274*a2dfb722SXin LI 1275*a2dfb722SXin LI# version > 1 or 0 1276*a2dfb722SXin LI>>&0 default x \b, unknown version 1277