1b6cee71dSXin LI 2b6cee71dSXin LI#------------------------------------------------------------------------------ 3*48c779cdSXin LI# $File: audio,v 1.111 2019/05/08 18:02:45 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" 142b6cee71dSXin LI 143b6cee71dSXin LI# Gravis UltraSound patches 144b6cee71dSXin LI# From <ache@nagual.ru> 145b6cee71dSXin LI 146b6cee71dSXin LI0 string GF1PATCH110\0ID#000002\0 GUS patch 147b6cee71dSXin LI0 string GF1PATCH100\0ID#000002\0 Old GUS patch 148b6cee71dSXin LI 149b6cee71dSXin LI# mime types according to http://www.geocities.com/nevilo/mod.htm: 150b6cee71dSXin LI# audio/it .it 151b6cee71dSXin LI# audio/x-zipped-it .itz 152b6cee71dSXin LI# audio/xm fasttracker modules 153b6cee71dSXin LI# audio/x-s3m screamtracker modules 154b6cee71dSXin LI# audio/s3m screamtracker modules 155b6cee71dSXin LI# audio/x-zipped-mod mdz 156b6cee71dSXin LI# audio/mod mod 157b6cee71dSXin LI# audio/x-mod All modules (mod, s3m, 669, mtm, med, xm, it, mdz, stm, itz, xmz, s3z) 158b6cee71dSXin LI 159b6cee71dSXin LI# 160b6cee71dSXin LI# Taken from loader code from mikmod version 2.14 161b6cee71dSXin LI# by Steve McIntyre (stevem@chiark.greenend.org.uk) 162b6cee71dSXin LI# <doj@cubic.org> added title printing on 2003-06-24 163b6cee71dSXin LI0 string MAS_UTrack_V00 164b6cee71dSXin LI>14 string >/0 ultratracker V1.%.1s module sound data 165b6cee71dSXin LI!:mime audio/x-mod 166b6cee71dSXin LI#audio/x-tracker-module 167b6cee71dSXin LI 168b6cee71dSXin LI0 string UN05 MikMod UNI format module sound data 169b6cee71dSXin LI 170b6cee71dSXin LI0 string Extended\ Module: Fasttracker II module sound data 171b6cee71dSXin LI!:mime audio/x-mod 172b6cee71dSXin LI#audio/x-tracker-module 173b6cee71dSXin LI>17 string >\0 Title: "%s" 174b6cee71dSXin LI 175b6cee71dSXin LI21 string/c =!SCREAM! Screamtracker 2 module sound data 176b6cee71dSXin LI!:mime audio/x-mod 177b6cee71dSXin LI#audio/x-screamtracker-module 178b6cee71dSXin LI21 string BMOD2STM Screamtracker 2 module sound data 179b6cee71dSXin LI!:mime audio/x-mod 180b6cee71dSXin LI#audio/x-screamtracker-module 181b6cee71dSXin LI1080 string M.K. 4-channel Protracker module sound data 182b6cee71dSXin LI!:mime audio/x-mod 183b6cee71dSXin LI#audio/x-protracker-module 184b6cee71dSXin LI>0 string >\0 Title: "%s" 185b6cee71dSXin LI1080 string M!K! 4-channel Protracker module sound data 186b6cee71dSXin LI!:mime audio/x-mod 187b6cee71dSXin LI#audio/x-protracker-module 188b6cee71dSXin LI>0 string >\0 Title: "%s" 189b6cee71dSXin LI1080 string FLT4 4-channel Startracker module sound data 190b6cee71dSXin LI!:mime audio/x-mod 191b6cee71dSXin LI#audio/x-startracker-module 192b6cee71dSXin LI>0 string >\0 Title: "%s" 193b6cee71dSXin LI1080 string FLT8 8-channel Startracker module sound data 194b6cee71dSXin LI!:mime audio/x-mod 195b6cee71dSXin LI#audio/x-startracker-module 196b6cee71dSXin LI>0 string >\0 Title: "%s" 197b6cee71dSXin LI1080 string 4CHN 4-channel Fasttracker module sound data 198b6cee71dSXin LI!:mime audio/x-mod 199b6cee71dSXin LI#audio/x-fasttracker-module 200b6cee71dSXin LI>0 string >\0 Title: "%s" 201b6cee71dSXin LI1080 string 6CHN 6-channel Fasttracker module sound data 202b6cee71dSXin LI!:mime audio/x-mod 203b6cee71dSXin LI#audio/x-fasttracker-module 204b6cee71dSXin LI>0 string >\0 Title: "%s" 205b6cee71dSXin LI1080 string 8CHN 8-channel Fasttracker module sound data 206b6cee71dSXin LI!:mime audio/x-mod 207b6cee71dSXin LI#audio/x-fasttracker-module 208b6cee71dSXin LI>0 string >\0 Title: "%s" 209b6cee71dSXin LI1080 string CD81 8-channel Octalyser module sound data 210b6cee71dSXin LI!:mime audio/x-mod 211b6cee71dSXin LI#audio/x-octalysertracker-module 212b6cee71dSXin LI>0 string >\0 Title: "%s" 213b6cee71dSXin LI1080 string OKTA 8-channel Octalyzer module sound data 214b6cee71dSXin LI!:mime audio/x-mod 215b6cee71dSXin LI#audio/x-octalysertracker-module 216b6cee71dSXin LI>0 string >\0 Title: "%s" 217b6cee71dSXin LI# Not good enough. 218b6cee71dSXin LI#1082 string CH 219b6cee71dSXin LI#>1080 string >/0 %.2s-channel Fasttracker "oktalyzer" module sound data 220b6cee71dSXin LI1080 string 16CN 16-channel Taketracker module sound data 221b6cee71dSXin LI!:mime audio/x-mod 222b6cee71dSXin LI#audio/x-taketracker-module 223b6cee71dSXin LI>0 string >\0 Title: "%s" 224b6cee71dSXin LI1080 string 32CN 32-channel Taketracker module sound data 225b6cee71dSXin LI!:mime audio/x-mod 226b6cee71dSXin LI#audio/x-taketracker-module 227b6cee71dSXin LI>0 string >\0 Title: "%s" 228b6cee71dSXin LI 229b6cee71dSXin LI# TOC sound files -Trevor Johnson <trevor@jpj.net> 230b6cee71dSXin LI# 231b6cee71dSXin LI0 string TOC TOC sound file 232b6cee71dSXin LI 233b6cee71dSXin LI# sidfiles <pooka@iki.fi> 234b6cee71dSXin LI# added name,author,(c) and new RSID type by <doj@cubic.org> 2003-06-24 235b6cee71dSXin LI0 string SIDPLAY\ INFOFILE Sidplay info file 236b6cee71dSXin LI 237b6cee71dSXin LI0 string PSID PlaySID v2.2+ (AMIGA) sidtune 238b6cee71dSXin LI>4 beshort >0 w/ header v%d, 239b6cee71dSXin LI>14 beshort =1 single song, 240b6cee71dSXin LI>14 beshort >1 %d songs, 241b6cee71dSXin LI>16 beshort >0 default song: %d 242b6cee71dSXin LI>0x16 string >\0 name: "%s" 243b6cee71dSXin LI>0x36 string >\0 author: "%s" 244b6cee71dSXin LI>0x56 string >\0 copyright: "%s" 245b6cee71dSXin LI 246b6cee71dSXin LI0 string RSID RSID sidtune PlaySID compatible 247b6cee71dSXin LI>4 beshort >0 w/ header v%d, 248b6cee71dSXin LI>14 beshort =1 single song, 249b6cee71dSXin LI>14 beshort >1 %d songs, 250b6cee71dSXin LI>16 beshort >0 default song: %d 251b6cee71dSXin LI>0x16 string >\0 name: "%s" 252b6cee71dSXin LI>0x36 string >\0 author: "%s" 253b6cee71dSXin LI>0x56 string >\0 copyright: "%s" 254b6cee71dSXin LI 255b6cee71dSXin LI# IRCAM sound files - Michael Pruett <michael@68k.org> 256b6cee71dSXin LI# http://www-mmsp.ece.mcgill.ca/documents/AudioFormats/IRCAM/IRCAM.html 257b6cee71dSXin LI0 belong 0x64a30100 IRCAM file (VAX little-endian) 258b6cee71dSXin LI0 belong 0x0001a364 IRCAM file (VAX big-endian) 259b6cee71dSXin LI0 belong 0x64a30200 IRCAM file (Sun big-endian) 260b6cee71dSXin LI0 belong 0x0002a364 IRCAM file (Sun little-endian) 261b6cee71dSXin LI0 belong 0x64a30300 IRCAM file (MIPS little-endian) 262b6cee71dSXin LI0 belong 0x0003a364 IRCAM file (MIPS big-endian) 263b6cee71dSXin LI0 belong 0x64a30400 IRCAM file (NeXT big-endian) 264b6cee71dSXin LI0 belong 0x64a30400 IRCAM file (NeXT big-endian) 265b6cee71dSXin LI0 belong 0x0004a364 IRCAM file (NeXT little-endian) 266b6cee71dSXin LI 267b6cee71dSXin LI# NIST SPHERE <mpruett@sgi.com> 268b6cee71dSXin LI0 string NIST_1A\n\ \ \ 1024\n NIST SPHERE file 269b6cee71dSXin LI 270b6cee71dSXin LI# Sample Vision <mpruett@sgi.com> 271b6cee71dSXin LI0 string SOUND\ SAMPLE\ DATA\ Sample Vision file 272b6cee71dSXin LI 273b6cee71dSXin LI# Audio Visual Research <tonigonenstein@users.sourceforge.net> 274b6cee71dSXin LI0 string 2BIT Audio Visual Research file, 275b6cee71dSXin LI>12 beshort =0 mono, 276b6cee71dSXin LI>12 beshort =-1 stereo, 277b6cee71dSXin LI>14 beshort x %d bits 278b6cee71dSXin LI>16 beshort =0 unsigned, 279b6cee71dSXin LI>16 beshort =-1 signed, 280b6cee71dSXin LI>22 belong&0x00ffffff x %d Hz, 281b6cee71dSXin LI>18 beshort =0 no loop, 282b6cee71dSXin LI>18 beshort =-1 loop, 283b6cee71dSXin LI>21 ubyte <128 note %d, 284b6cee71dSXin LI>22 byte =0 replay 5.485 KHz 285b6cee71dSXin LI>22 byte =1 replay 8.084 KHz 286b6cee71dSXin LI>22 byte =2 replay 10.971 KHz 287b6cee71dSXin LI>22 byte =3 replay 16.168 KHz 288b6cee71dSXin LI>22 byte =4 replay 21.942 KHz 289b6cee71dSXin LI>22 byte =5 replay 32.336 KHz 290b6cee71dSXin LI>22 byte =6 replay 43.885 KHz 291b6cee71dSXin LI>22 byte =7 replay 47.261 KHz 292b6cee71dSXin LI 293b6cee71dSXin LI# SGI SoundTrack <mpruett@sgi.com> 294b6cee71dSXin LI0 string _SGI_SoundTrack SGI SoundTrack project file 295b6cee71dSXin LI# ID3 version 2 tags <waschk@informatik.uni-rostock.de> 296b6cee71dSXin LI0 string ID3 Audio file with ID3 version 2 297b6cee71dSXin LI>3 byte x \b.%d 298b6cee71dSXin LI>4 byte x \b.%d 299b6cee71dSXin LI>>5 byte &0x80 \b, unsynchronized frames 300b6cee71dSXin LI>>5 byte &0x40 \b, extended header 301b6cee71dSXin LI>>5 byte &0x20 \b, experimental 302b6cee71dSXin LI>>5 byte &0x10 \b, footer present 3035f0216bdSXin LI>(6.I+10) indirect x \b, contains: 304b6cee71dSXin LI 305b6cee71dSXin LI# NSF (NES sound file) magic 306b6cee71dSXin LI0 string NESM\x1a NES Sound File 307b6cee71dSXin LI>14 string >\0 ("%s" by 308b6cee71dSXin LI>46 string >\0 %s, copyright 309b6cee71dSXin LI>78 string >\0 %s), 310b6cee71dSXin LI>5 byte x version %d, 311b6cee71dSXin LI>6 byte x %d tracks, 312b6cee71dSXin LI>122 byte&0x2 =1 dual PAL/NTSC 313b6cee71dSXin LI>122 byte&0x1 =1 PAL 314b6cee71dSXin LI>122 byte&0x1 =0 NTSC 315b6cee71dSXin LI 3165f0216bdSXin LI# NSFE (Extended NES sound file) magic 3175f0216bdSXin LI# http://slickproductions.org/docs/NSF/nsfespec.txt 3185f0216bdSXin LI# From: David Pflug <david@pflug.email> 3195f0216bdSXin LI0 string NSFE Extended NES Sound File 3205f0216bdSXin LI>48 search/0x1000 auth 3215f0216bdSXin LI>>&0 string >\0 ("%s" 3225f0216bdSXin LI>>>&1 string >\0 by %s 3235f0216bdSXin LI>>>>&1 string >\0 \b, copyright %s 3245f0216bdSXin LI>>>>>&1 string >\0 \b, ripped by %s 3255f0216bdSXin LI>20 byte x \b), %d tracks, 3265f0216bdSXin LI>18 byte&0x2 =1 dual PAL/NTSC 3275f0216bdSXin LI>18 byte&0x2 =0 3285f0216bdSXin LI>>18 byte&0x1 =1 PAL 3295f0216bdSXin LI>>18 byte&0x1 =0 NTSC 3305f0216bdSXin LI 331b6cee71dSXin LI# Type: SNES SPC700 sound files 332b6cee71dSXin LI# From: Josh Triplett <josh@freedesktop.org> 333b6cee71dSXin LI0 string SNES-SPC700\ Sound\ File\ Data\ v SNES SPC700 sound file 334b6cee71dSXin LI>&0 string 0.30 \b, version %s 335b6cee71dSXin LI>>0x23 byte 0x1B \b, without ID666 tag 336b6cee71dSXin LI>>0x23 byte 0x1A \b, with ID666 tag 337b6cee71dSXin LI>>>0x2E string >\0 \b, song "%.32s" 338b6cee71dSXin LI>>>0x4E string >\0 \b, game "%.32s" 339b6cee71dSXin LI 340b6cee71dSXin LI# Impulse tracker module (audio/x-it) 341b6cee71dSXin LI0 string IMPM Impulse Tracker module sound data - 342b6cee71dSXin LI!:mime audio/x-mod 343b6cee71dSXin LI>4 string >\0 "%s" 344b6cee71dSXin LI>40 leshort !0 compatible w/ITv%x 345b6cee71dSXin LI>42 leshort !0 created w/ITv%x 346b6cee71dSXin LI 347b6cee71dSXin LI# Imago Orpheus module (audio/x-imf) 348b6cee71dSXin LI60 string IM10 Imago Orpheus module sound data - 349b6cee71dSXin LI>0 string >\0 "%s" 350b6cee71dSXin LI 351b6cee71dSXin LI# From <collver1@attbi.com> 352b6cee71dSXin LI# These are the /etc/magic entries to decode modules, instruments, and 353b6cee71dSXin LI# samples in Impulse Tracker's native format. 354b6cee71dSXin LI 355b6cee71dSXin LI0 string IMPS Impulse Tracker Sample 356b6cee71dSXin LI>18 byte &2 16 bit 357b6cee71dSXin LI>18 byte ^2 8 bit 358b6cee71dSXin LI>18 byte &4 stereo 359b6cee71dSXin LI>18 byte ^4 mono 360b6cee71dSXin LI0 string IMPI Impulse Tracker Instrument 361b6cee71dSXin LI>28 leshort !0 ITv%x 362b6cee71dSXin LI>30 byte !0 %d samples 363b6cee71dSXin LI 364b6cee71dSXin LI# Yamaha TX Wave: file(1) magic for Yamaha TX Wave audio files 365b6cee71dSXin LI# From <collver1@attbi.com> 366b6cee71dSXin LI0 string LM8953 Yamaha TX Wave 367b6cee71dSXin LI>22 byte 0x49 looped 368b6cee71dSXin LI>22 byte 0xC9 non-looped 369b6cee71dSXin LI>23 byte 1 33kHz 370b6cee71dSXin LI>23 byte 2 50kHz 371b6cee71dSXin LI>23 byte 3 16kHz 372b6cee71dSXin LI 373b6cee71dSXin LI# scream tracker: file(1) magic for Scream Tracker sample files 374b6cee71dSXin LI# 375b6cee71dSXin LI# From <collver1@attbi.com> 376b6cee71dSXin LI76 string SCRS Scream Tracker Sample 377b6cee71dSXin LI>0 byte 1 sample 378b6cee71dSXin LI>0 byte 2 adlib melody 379b6cee71dSXin LI>0 byte >2 adlib drum 380b6cee71dSXin LI>31 byte &2 stereo 381b6cee71dSXin LI>31 byte ^2 mono 382b6cee71dSXin LI>31 byte &4 16bit little endian 383b6cee71dSXin LI>31 byte ^4 8bit 384b6cee71dSXin LI>30 byte 0 unpacked 385b6cee71dSXin LI>30 byte 1 packed 386b6cee71dSXin LI 387b6cee71dSXin LI# audio 388b6cee71dSXin LI# From: Cory Dikkers <cdikkers@swbell.net> 389b6cee71dSXin LI0 string MMD0 MED music file, version 0 390b6cee71dSXin LI0 string MMD1 OctaMED Pro music file, version 1 391b6cee71dSXin LI0 string MMD3 OctaMED Soundstudio music file, version 3 392b6cee71dSXin LI0 string OctaMEDCmpr OctaMED Soundstudio compressed file 393b6cee71dSXin LI0 string MED MED_Song 394b6cee71dSXin LI0 string SymM Symphonie SymMOD music file 395b6cee71dSXin LI# 396*48c779cdSXin LI# Track Length (TRL), Tracks (TRK), Samples (SMP), Subsongs (SS) 397*48c779cdSXin LI# http://lclevy.free.fr/exotica/ahx/ahxformat.txt 398b6cee71dSXin LI0 string THX AHX version 399b6cee71dSXin LI>3 byte =0 1 module data 400b6cee71dSXin LI>3 byte =1 2 module data 401*48c779cdSXin LI>10 byte x TRL: %u 402*48c779cdSXin LI>11 byte x TRK: %u 403*48c779cdSXin LI>12 byte x SMP: %u 404*48c779cdSXin LI>13 byte x SS: %u 405b6cee71dSXin LI# 406b6cee71dSXin LI0 string OKTASONG Oktalyzer module data 407b6cee71dSXin LI# 408b6cee71dSXin LI0 string DIGI\ Booster\ module\0 %s 409b6cee71dSXin LI>20 byte >0 %c 410b6cee71dSXin LI>>21 byte >0 \b%c 411b6cee71dSXin LI>>>22 byte >0 \b%c 412b6cee71dSXin LI>>>>23 byte >0 \b%c 413b6cee71dSXin LI>610 string >\0 \b, "%s" 414b6cee71dSXin LI# 415b6cee71dSXin LI0 string DBM0 DIGI Booster Pro Module 416b6cee71dSXin LI>4 byte >0 V%X. 417b6cee71dSXin LI>>5 byte x \b%02X 418b6cee71dSXin LI>16 string >\0 \b, "%s" 419b6cee71dSXin LI# 420b6cee71dSXin LI0 string FTMN FaceTheMusic module 421b6cee71dSXin LI>16 string >\0d \b, "%s" 422b6cee71dSXin LI 423b6cee71dSXin LI# From: <doj@cubic.org> 2003-06-24 424b6cee71dSXin LI0 string AMShdr\32 Velvet Studio AMS Module v2.2 425b6cee71dSXin LI0 string Extreme Extreme Tracker AMS Module v1.3 426b6cee71dSXin LI0 string DDMF Xtracker DMF Module 427b6cee71dSXin LI>4 byte x v%i 428b6cee71dSXin LI>0xD string >\0 Title: "%s" 429b6cee71dSXin LI>0x2B string >\0 Composer: "%s" 430b6cee71dSXin LI0 string DSM\32 Dynamic Studio Module DSM 431b6cee71dSXin LI0 string SONG DigiTrekker DTM Module 432b6cee71dSXin LI0 string DMDL DigiTrakker MDL Module 433b6cee71dSXin LI0 string PSM\32 Protracker Studio PSM Module 434b6cee71dSXin LI44 string PTMF Poly Tracker PTM Module 435b6cee71dSXin LI>0 string >\32 Title: "%s" 436b6cee71dSXin LI0 string MT20 MadTracker 2.0 Module MT2 437b6cee71dSXin LI0 string RAD\40by\40REALiTY!! RAD Adlib Tracker Module RAD 438b6cee71dSXin LI0 string RTMM RTM Module 439b6cee71dSXin LI0x426 string MaDoKaN96 XMS Adlib Module 440b6cee71dSXin LI>0 string >\0 Composer: "%s" 441b6cee71dSXin LI0 string AMF AMF Module 442b6cee71dSXin LI>4 string >\0 Title: "%s" 443b6cee71dSXin LI0 string MODINFO1 Open Cubic Player Module Inforation MDZ 444b6cee71dSXin LI0 string Extended\40Instrument: Fast Tracker II Instrument 445b6cee71dSXin LI 446b6cee71dSXin LI# From: Takeshi Hamasaki <hma@syd.odn.ne.jp> 447b6cee71dSXin LI# NOA Nancy Codec file 448b6cee71dSXin LI0 string \210NOA\015\012\032 NOA Nancy Codec Movie file 449b6cee71dSXin LI# Yamaha SMAF format 450b6cee71dSXin LI0 string MMMD Yamaha SMAF file 451b6cee71dSXin LI# Sharp Jisaku Melody format for PDC 452b6cee71dSXin LI0 string \001Sharp\040JisakuMelody SHARP Cell-Phone ringing Melody 453b6cee71dSXin LI>20 string Ver01.00 Ver. 1.00 454b6cee71dSXin LI>>32 byte x , %d tracks 455b6cee71dSXin LI 456b6cee71dSXin LI# Free lossless audio codec <http://flac.sourceforge.net> 457b6cee71dSXin LI# From: Przemyslaw Augustyniak <silvathraec@rpg.pl> 458b6cee71dSXin LI0 string fLaC FLAC audio bitstream data 45958a0f0d0SEitan Adler!:mime audio/flac 460b6cee71dSXin LI>4 byte&0x7f >0 \b, unknown version 461b6cee71dSXin LI>4 byte&0x7f 0 \b 462b6cee71dSXin LI# some common bits/sample values 463b6cee71dSXin LI>>20 beshort&0x1f0 0x030 \b, 4 bit 464b6cee71dSXin LI>>20 beshort&0x1f0 0x050 \b, 6 bit 465b6cee71dSXin LI>>20 beshort&0x1f0 0x070 \b, 8 bit 466b6cee71dSXin LI>>20 beshort&0x1f0 0x0b0 \b, 12 bit 467b6cee71dSXin LI>>20 beshort&0x1f0 0x0f0 \b, 16 bit 468b6cee71dSXin LI>>20 beshort&0x1f0 0x170 \b, 24 bit 469b6cee71dSXin LI>>20 byte&0xe 0x0 \b, mono 470b6cee71dSXin LI>>20 byte&0xe 0x2 \b, stereo 471b6cee71dSXin LI>>20 byte&0xe 0x4 \b, 3 channels 472b6cee71dSXin LI>>20 byte&0xe 0x6 \b, 4 channels 473b6cee71dSXin LI>>20 byte&0xe 0x8 \b, 5 channels 474b6cee71dSXin LI>>20 byte&0xe 0xa \b, 6 channels 475b6cee71dSXin LI>>20 byte&0xe 0xc \b, 7 channels 476b6cee71dSXin LI>>20 byte&0xe 0xe \b, 8 channels 47758a0f0d0SEitan Adler# sample rates derived from known oscillator frequencies; 47858a0f0d0SEitan Adler# 24.576 MHz (video/fs=48kHz), 22.5792 (audio/fs=44.1kHz) and 47958a0f0d0SEitan Adler# 16.384 (other/fs=32kHz). 48058a0f0d0SEitan Adler>>17 belong&0xfffff0 0x02b110 \b, 11.025 kHz 48158a0f0d0SEitan Adler>>17 belong&0xfffff0 0x03e800 \b, 16 kHz 482b6cee71dSXin LI>>17 belong&0xfffff0 0x056220 \b, 22.05 kHz 483b6cee71dSXin LI>>17 belong&0xfffff0 0x05dc00 \b, 24 kHz 48458a0f0d0SEitan Adler>>17 belong&0xfffff0 0x07d000 \b, 32 kHz 48558a0f0d0SEitan Adler>>17 belong&0xfffff0 0x0ac440 \b, 44.1 kHz 48658a0f0d0SEitan Adler>>17 belong&0xfffff0 0x0bb800 \b, 48 kHz 487b6cee71dSXin LI>>17 belong&0xfffff0 0x0fa000 \b, 64 kHz 48858a0f0d0SEitan Adler>>17 belong&0xfffff0 0x158880 \b, 88.2 kHz 48958a0f0d0SEitan Adler>>17 belong&0xfffff0 0x177000 \b, 96 kHz 49058a0f0d0SEitan Adler>>17 belong&0xfffff0 0x1f4000 \b, 128 kHz 49158a0f0d0SEitan Adler>>17 belong&0xfffff0 0x2b1100 \b, 176.4 kHz 49258a0f0d0SEitan Adler>>17 belong&0xfffff0 0x2ee000 \b, 192 kHz 49358a0f0d0SEitan Adler>>17 belong&0xfffff0 0x3e8000 \b, 256 kHz 49458a0f0d0SEitan Adler>>17 belong&0xfffff0 0x562200 \b, 352.8 kHz 49558a0f0d0SEitan Adler>>17 belong&0xfffff0 0x5dc000 \b, 384 kHz 496b6cee71dSXin LI>>21 byte&0xf >0 \b, >4G samples 497b6cee71dSXin LI>>21 byte&0xf 0 \b 498b6cee71dSXin LI>>>22 belong >0 \b, %u samples 499b6cee71dSXin LI>>>22 belong 0 \b, length unknown 500b6cee71dSXin LI 501b6cee71dSXin LI# (ISDN) VBOX voice message file (Wolfram Kleff) 502b6cee71dSXin LI0 string VBOX VBOX voice message data 503b6cee71dSXin LI 504b6cee71dSXin LI# ReBorn Song Files (.rbs) 505b6cee71dSXin LI# David J. Singer <doc@deadvirgins.org.uk> 506b6cee71dSXin LI8 string RB40 RBS Song file 507b6cee71dSXin LI>29 string ReBorn created by ReBorn 508b6cee71dSXin LI>37 string Propellerhead created by ReBirth 509b6cee71dSXin LI 510b6cee71dSXin LI# Synthesizer Generator and Kimwitu share their file format 511b6cee71dSXin LI0 string A#S#C#S#S#L#V#3 Synthesizer Generator or Kimwitu data 512b6cee71dSXin LI# Kimwitu++ uses a slightly different magic 513b6cee71dSXin LI0 string A#S#C#S#S#L#HUB Kimwitu++ data 514b6cee71dSXin LI 515b6cee71dSXin LI# From "Simon Hosie 516b6cee71dSXin LI0 string TFMX-SONG TFMX module sound data 517b6cee71dSXin LI 518b6cee71dSXin LI# Monkey's Audio compressed audio format (.ape) 519b6cee71dSXin LI# From danny.milo@gmx.net (Danny Milosavljevic) 520b6cee71dSXin LI# New version from Abel Cheung <abel (@) oaka.org> 521b6cee71dSXin LI0 string MAC\040 Monkey's Audio compressed format 522b6cee71dSXin LI!:mime audio/x-ape 523b6cee71dSXin LI>4 uleshort >0x0F8B version %d 524b6cee71dSXin LI>>(0x08.l) uleshort =1000 with fast compression 525b6cee71dSXin LI>>(0x08.l) uleshort =2000 with normal compression 526b6cee71dSXin LI>>(0x08.l) uleshort =3000 with high compression 527b6cee71dSXin LI>>(0x08.l) uleshort =4000 with extra high compression 528b6cee71dSXin LI>>(0x08.l) uleshort =5000 with insane compression 529b6cee71dSXin LI>>(0x08.l+18) uleshort =1 \b, mono 530b6cee71dSXin LI>>(0x08.l+18) uleshort =2 \b, stereo 531b6cee71dSXin LI>>(0x08.l+20) ulelong x \b, sample rate %d 532b6cee71dSXin LI>4 uleshort <0x0F8C version %d 533b6cee71dSXin LI>>6 uleshort =1000 with fast compression 534b6cee71dSXin LI>>6 uleshort =2000 with normal compression 535b6cee71dSXin LI>>6 uleshort =3000 with high compression 536b6cee71dSXin LI>>6 uleshort =4000 with extra high compression 537b6cee71dSXin LI>>6 uleshort =5000 with insane compression 538b6cee71dSXin LI>>10 uleshort =1 \b, mono 539b6cee71dSXin LI>>10 uleshort =2 \b, stereo 540b6cee71dSXin LI>>12 ulelong x \b, sample rate %d 541b6cee71dSXin LI 542b6cee71dSXin LI# adlib sound files 54358a0f0d0SEitan Adler# From: Alex Myczko <alex@aiei.ch> 544*48c779cdSXin LI 545*48c779cdSXin LI# https://github.com/rerrahkr/BambooTracker 546*48c779cdSXin LI0 string BambooTrackerMod BambooTracker module 547*48c779cdSXin LI>22 byte x \b, version %u 548*48c779cdSXin LI>21 byte x \b.%u 549*48c779cdSXin LI>20 byte x \b.%u 550*48c779cdSXin LI 551*48c779cdSXin LI0 string BambooTrackerIst BambooTracker instrument 552*48c779cdSXin LI>22 byte x \b, version %u 553*48c779cdSXin LI>21 byte x \b.%u 554*48c779cdSXin LI>20 byte x \b.%u 555*48c779cdSXin LI 556b6cee71dSXin LI0 string RAWADATA RdosPlay RAW 557b6cee71dSXin LI 558b6cee71dSXin LI1068 string RoR AMUSIC Adlib Tracker 559b6cee71dSXin LI 560b6cee71dSXin LI0 string JCH EdLib 561b6cee71dSXin LI 562b6cee71dSXin LI0 string mpu401tr MPU-401 Trakker 563b6cee71dSXin LI 564b6cee71dSXin LI0 string SAdT Surprise! Adlib Tracker 565b6cee71dSXin LI>4 byte x Version %d 566b6cee71dSXin LI 567b6cee71dSXin LI0 string XAD! eXotic ADlib 568b6cee71dSXin LI 569b6cee71dSXin LI0 string ofTAZ! eXtra Simple Music 570b6cee71dSXin LI 571*48c779cdSXin LI0 string FMK! FM Kingtracker Song 572*48c779cdSXin LI 573*48c779cdSXin LI0 string DFM DFM Song 574*48c779cdSXin LI 575*48c779cdSXin LI0 string \<CUD-FM-File\> CFF Song 576*48c779cdSXin LI 577*48c779cdSXin LI0 string _A2module A2M Song 578*48c779cdSXin LI 579b6cee71dSXin LI# Spectrum 128 tunes (.ay files). 580b6cee71dSXin LI# From: Emanuel Haupt <ehaupt@critical.ch> 581b6cee71dSXin LI0 string ZXAYEMUL Spectrum 128 tune 582b6cee71dSXin LI 583b6cee71dSXin LI0 string \0BONK BONK, 584b6cee71dSXin LI#>5 byte x version %d 585b6cee71dSXin LI>14 byte x %d channel(s), 586b6cee71dSXin LI>15 byte =1 lossless, 587b6cee71dSXin LI>15 byte =0 lossy, 588b6cee71dSXin LI>16 byte x mid-side 589b6cee71dSXin LI 590b6cee71dSXin LI384 string LockStream LockStream Embedded file (mostly MP3 on old Nokia phones) 591b6cee71dSXin LI 592b6cee71dSXin LI# format VQF (proprietary codec for sound) 593b6cee71dSXin LI# some infos on the header file available at : 594b6cee71dSXin LI# http://www.twinvq.org/english/technology_format.html 595b6cee71dSXin LI0 string TWIN97012000 VQF data 596b6cee71dSXin LI>27 short 0 \b, Mono 597b6cee71dSXin LI>27 short 1 \b, Stereo 598b6cee71dSXin LI>31 short >0 \b, %d kbit/s 599b6cee71dSXin LI>35 short >0 \b, %d kHz 600b6cee71dSXin LI 601b6cee71dSXin LI# Nelson A. de Oliveira (naoliv@gmail.com) 602b6cee71dSXin LI# .eqf 603b6cee71dSXin LI0 string Winamp\ EQ\ library\ file %s 604b6cee71dSXin LI# it will match only versions like v<digit>.<digit> 605b6cee71dSXin LI# Since I saw only eqf files with version v1.1 I think that it's OK 606b6cee71dSXin LI>23 string x \b%.4s 607b6cee71dSXin LI# .preset 608b6cee71dSXin LI0 string [Equalizer\ preset] XMMS equalizer preset 609b6cee71dSXin LI# .m3u 610b6cee71dSXin LI0 search/1 #EXTM3U M3U playlist text 611b6cee71dSXin LI# .pls 612b6cee71dSXin LI0 search/1 [playlist] PLS playlist text 613b6cee71dSXin LI# licq.conf 614b6cee71dSXin LI1 string [licq] LICQ configuration file 615b6cee71dSXin LI 616b6cee71dSXin LI# Atari ST audio files by Dirk Jagdmann <doj@cubic.org> 617b6cee71dSXin LI0 string ICE! SNDH Atari ST music 618b6cee71dSXin LI0 string SC68\ Music-file\ /\ (c)\ (BeN)jami sc68 Atari ST music 619b6cee71dSXin LI 620b6cee71dSXin LI# musepak support From: "Jiri Pejchal" <jiri.pejchal@gmail.com> 6213e41d09dSXin LI0 string MP+ Musepack audio (MP+) 622b6cee71dSXin LI!:mime audio/x-musepack 623b6cee71dSXin LI>3 byte 255 \b, SV pre8 624b6cee71dSXin LI>3 byte&0xF 0x6 \b, SV 6 625b6cee71dSXin LI>3 byte&0xF 0x8 \b, SV 8 626b6cee71dSXin LI>3 byte&0xF 0x7 \b, SV 7 627b6cee71dSXin LI>>3 byte&0xF0 0x0 \b.0 628b6cee71dSXin LI>>3 byte&0xF0 0x10 \b.1 629b6cee71dSXin LI>>3 byte&0xF0 240 \b.15 630b6cee71dSXin LI>>10 byte&0xF0 0x0 \b, no profile 631b6cee71dSXin LI>>10 byte&0xF0 0x10 \b, profile 'Unstable/Experimental' 632b6cee71dSXin LI>>10 byte&0xF0 0x50 \b, quality 0 633b6cee71dSXin LI>>10 byte&0xF0 0x60 \b, quality 1 634b6cee71dSXin LI>>10 byte&0xF0 0x70 \b, quality 2 (Telephone) 635b6cee71dSXin LI>>10 byte&0xF0 0x80 \b, quality 3 (Thumb) 636b6cee71dSXin LI>>10 byte&0xF0 0x90 \b, quality 4 (Radio) 637b6cee71dSXin LI>>10 byte&0xF0 0xA0 \b, quality 5 (Standard) 638b6cee71dSXin LI>>10 byte&0xF0 0xB0 \b, quality 6 (Xtreme) 639b6cee71dSXin LI>>10 byte&0xF0 0xC0 \b, quality 7 (Insane) 640b6cee71dSXin LI>>10 byte&0xF0 0xD0 \b, quality 8 (BrainDead) 641b6cee71dSXin LI>>10 byte&0xF0 0xE0 \b, quality 9 642b6cee71dSXin LI>>10 byte&0xF0 0xF0 \b, quality 10 643b6cee71dSXin LI>>27 byte 0x0 \b, Buschmann 1.7.0-9, Klemm 0.90-1.05 644b6cee71dSXin LI>>27 byte 102 \b, Beta 1.02 645b6cee71dSXin LI>>27 byte 104 \b, Beta 1.04 646b6cee71dSXin LI>>27 byte 105 \b, Alpha 1.05 647b6cee71dSXin LI>>27 byte 106 \b, Beta 1.06 648b6cee71dSXin LI>>27 byte 110 \b, Release 1.1 649b6cee71dSXin LI>>27 byte 111 \b, Alpha 1.11 650b6cee71dSXin LI>>27 byte 112 \b, Beta 1.12 651b6cee71dSXin LI>>27 byte 113 \b, Alpha 1.13 652b6cee71dSXin LI>>27 byte 114 \b, Beta 1.14 653b6cee71dSXin LI>>27 byte 115 \b, Alpha 1.15 654b6cee71dSXin LI 6553e41d09dSXin LI0 string MPCK Musepack audio (MPCK) 6563e41d09dSXin LI!:mime audio/x-musepack 6573e41d09dSXin LI 658b6cee71dSXin LI# IMY 659b6cee71dSXin LI# from http://filext.com/detaillist.php?extdetail=IMY 660*48c779cdSXin LI# https://cellphones.about.com/od/cellularfaqs/f/rf_imelody.htm 661b6cee71dSXin LI# http://download.ncl.ie/doc/api/ie/ncl/media/music/IMelody.html 662b6cee71dSXin LI# http://www.wx800.com/msg/download/irda/iMelody.pdf 663b6cee71dSXin LI0 string BEGIN:IMELODY iMelody Ringtone Format 664b6cee71dSXin LI 665b6cee71dSXin LI# From: "Mateus Caruccio" <mateus@caruccio.com> 666b6cee71dSXin LI# guitar pro v3,4,5 from http://filext.com/file-extension/gp3 667b6cee71dSXin LI0 string \030FICHIER\ GUITAR\ PRO\ v3. Guitar Pro Ver. 3 Tablature 668b6cee71dSXin LI 669b6cee71dSXin LI# From: "Leslie P. Polzer" <leslie.polzer@gmx.net> 670b6cee71dSXin LI60 string SONG SoundFX Module sound file 671b6cee71dSXin LI 672b6cee71dSXin LI# Type: Adaptive Multi-Rate Codec 673b6cee71dSXin LI# URL: http://filext.com/detaillist.php?extdetail=AMR 674b6cee71dSXin LI# From: Russell Coker <russell@coker.com.au> 675b6cee71dSXin LI0 string #!AMR Adaptive Multi-Rate Codec (GSM telephony) 676*48c779cdSXin LI!:mime audio/amr 677*48c779cdSXin LI!:ext amr 678b6cee71dSXin LI 679b6cee71dSXin LI# Type: SuperCollider 3 Synth Definition File Format 680b6cee71dSXin LI# From: Mario Lang <mlang@debian.org> 681b6cee71dSXin LI0 string SCgf SuperCollider3 Synth Definition file, 682b6cee71dSXin LI>4 belong x version %d 683b6cee71dSXin LI 684b6cee71dSXin LI# Type: True Audio Lossless Audio 685*48c779cdSXin LI# URL: https://wiki.multimedia.cx/index.php?title=True_Audio 686b6cee71dSXin LI# From: Mike Melanson <mike@multimedia.cx> 687b6cee71dSXin LI0 string TTA1 True Audio Lossless Audio 688b6cee71dSXin LI 689b6cee71dSXin LI# Type: WavPack Lossless Audio 690*48c779cdSXin LI# URL: https://wiki.multimedia.cx/index.php?title=WavPack 691b6cee71dSXin LI# From: Mike Melanson <mike@multimedia.cx> 692b6cee71dSXin LI0 string wvpk WavPack Lossless Audio 693b6cee71dSXin LI 694b6cee71dSXin LI# From Fabio R. Schmidlin <frs@pop.com.br> 695b6cee71dSXin LI# VGM music file 69640427ccaSGordon Tetlow0 string Vgm\040 697b6cee71dSXin LI>9 ubyte >0 VGM Video Game Music dump v 698*48c779cdSXin LI!:mime audio/x-vgm 699*48c779cdSXin LI!:ext vgm 700b6cee71dSXin LI>>9 ubyte/16 >0 \b%d 701b6cee71dSXin LI>>9 ubyte&0x0F x \b%d 702b6cee71dSXin LI>>8 ubyte/16 x \b.%d 703b6cee71dSXin LI>>8 ubyte&0x0F >0 \b%d 704b6cee71dSXin LI#Get soundchips 705b6cee71dSXin LI>>8 ubyte x \b, soundchip(s)= 706b6cee71dSXin LI>>0x0C ulelong >0 SN76489, 707b6cee71dSXin LI>>0x10 ulelong >0 YM2413, 708b6cee71dSXin LI>>0x2C ulelong >0 YM2612, 709b6cee71dSXin LI>>0x30 ulelong >0 YM2151, 710b6cee71dSXin LI>>0x38 ulelong >0 Sega PCM, 711b6cee71dSXin LI>>0x34 ulelong >0xC 712b6cee71dSXin LI>>>0x40 ulelong >0 RF5C68, 713b6cee71dSXin LI>>0x34 ulelong >0x10 714b6cee71dSXin LI>>>0x44 ulelong >0 YM2203, 715b6cee71dSXin LI>>0x34 ulelong >0x14 716b6cee71dSXin LI>>>0x48 ulelong >0 YM2608, 717b6cee71dSXin LI>>0x34 ulelong >0x18 718b6cee71dSXin LI>>>0x4C lelong >0 YM2610, 719b6cee71dSXin LI>>>0x4C lelong <0 YM2610B, 720b6cee71dSXin LI>>0x34 ulelong >0x1C 721b6cee71dSXin LI>>>0x50 ulelong >0 YM3812, 722b6cee71dSXin LI>>0x34 ulelong >0x20 723b6cee71dSXin LI>>>0x54 ulelong >0 YM3526, 724b6cee71dSXin LI>>0x34 ulelong >0x24 725b6cee71dSXin LI>>>0x58 ulelong >0 Y8950, 726b6cee71dSXin LI>>0x34 ulelong >0x28 727b6cee71dSXin LI>>>0x5C ulelong >0 YMF262, 728b6cee71dSXin LI>>0x34 ulelong >0x2C 729b6cee71dSXin LI>>>0x60 ulelong >0 YMF278B, 730b6cee71dSXin LI>>0x34 ulelong >0x30 731b6cee71dSXin LI>>>0x64 ulelong >0 YMF271, 732b6cee71dSXin LI>>0x34 ulelong >0x34 733b6cee71dSXin LI>>>0x68 ulelong >0 YMZ280B, 734b6cee71dSXin LI>>0x34 ulelong >0x38 735b6cee71dSXin LI>>>0x6C ulelong >0 RF5C164, 736b6cee71dSXin LI>>0x34 ulelong >0x3C 737b6cee71dSXin LI>>>0x70 ulelong >0 PWM, 738b6cee71dSXin LI>>0x34 ulelong >0x40 739b6cee71dSXin LI>>>0x74 ulelong >0 740b6cee71dSXin LI>>>>0x78 ubyte 0x00 AY-3-8910, 741b6cee71dSXin LI>>>>0x78 ubyte 0x01 AY-3-8912, 742b6cee71dSXin LI>>>>0x78 ubyte 0x02 AY-3-8913, 743b6cee71dSXin LI>>>>0x78 ubyte 0x03 AY-3-8930, 744b6cee71dSXin LI>>>>0x78 ubyte 0x10 YM2149, 745b6cee71dSXin LI>>>>0x78 ubyte 0x11 YM3439, 746*48c779cdSXin LI# VGM 1.61 747*48c779cdSXin LI>>0x34 ulelong >0x4C 748*48c779cdSXin LI>>>0x80 ulelong >0 DMG, 749*48c779cdSXin LI>>0x34 ulelong >0x50 750*48c779cdSXin LI>>>0x84 lelong >0 NES APU, 751*48c779cdSXin LI>>>0x84 lelong <0 NES APU with FDS, 752*48c779cdSXin LI>>0x34 ulelong >0x54 753*48c779cdSXin LI>>>0x88 ulelong >0 MultiPCM, 754*48c779cdSXin LI>>0x34 ulelong >0x58 755*48c779cdSXin LI>>>0x8C ulelong >0 uPD7759, 756*48c779cdSXin LI>>0x34 ulelong >0x5C 757*48c779cdSXin LI>>>0x90 ulelong >0 OKIM6258, 758*48c779cdSXin LI>>0x34 ulelong >0x64 759*48c779cdSXin LI>>>0x98 ulelong >0 OKIM6295, 760*48c779cdSXin LI>>0x34 ulelong >0x68 761*48c779cdSXin LI>>>0x9C ulelong >0 K051649, 762*48c779cdSXin LI>>0x34 ulelong >0x6C 763*48c779cdSXin LI>>>0xA0 ulelong >0 K054539, 764*48c779cdSXin LI>>0x34 ulelong >0x70 765*48c779cdSXin LI>>>0xA4 ulelong >0 HuC6280, 766*48c779cdSXin LI>>0x34 ulelong >0x74 767*48c779cdSXin LI>>>0xA8 ulelong >0 C140, 768*48c779cdSXin LI>>0x34 ulelong >0x78 769*48c779cdSXin LI>>>0xAC ulelong >0 K053260, 770*48c779cdSXin LI>>0x34 ulelong >0x7C 771*48c779cdSXin LI>>>0xB0 ulelong >0 Pokey, 772*48c779cdSXin LI>>0x34 ulelong >0x80 773*48c779cdSXin LI>>>0xB4 ulelong >0 QSound, 774*48c779cdSXin LI# VGM 1.71 775*48c779cdSXin LI>>0x34 ulelong >0x84 776*48c779cdSXin LI>>>0xB8 ulelong >0 SCSP, 777*48c779cdSXin LI>>0x34 ulelong >0x8C 778*48c779cdSXin LI>>>0xC0 ulelong >0 WonderSwan, 779*48c779cdSXin LI>>0x34 ulelong >0x90 780*48c779cdSXin LI>>>0xC4 ulelong >0 VSU, 781*48c779cdSXin LI>>0x34 ulelong >0x94 782*48c779cdSXin LI>>>0xC8 ulelong >0 SAA1099, 783*48c779cdSXin LI>>0x34 ulelong >0x98 784*48c779cdSXin LI>>>0xCC ulelong >0 ES5503, 785*48c779cdSXin LI>>0x34 ulelong >0x9C 786*48c779cdSXin LI>>>0xD0 lelong >0 ES5505, 787*48c779cdSXin LI>>>0xD0 lelong <0 ES5506, 788*48c779cdSXin LI>>0x34 ulelong >0xA4 789*48c779cdSXin LI>>>0xD8 ulelong >0 X1-010, 790*48c779cdSXin LI>>0x34 ulelong >0xA8 791*48c779cdSXin LI>>>0xDC ulelong >0 C352, 792*48c779cdSXin LI>>0x34 ulelong >0xAC 793*48c779cdSXin LI>>>0xE0 ulelong >0 GA20, 794b6cee71dSXin LI 795b6cee71dSXin LI# GVOX Encore file format 796b6cee71dSXin LI# Since this is a proprietary file format and there is no publicly available 797b6cee71dSXin LI# format specification, this is just based on induction 798b6cee71dSXin LI# 799b6cee71dSXin LI0 string SCOW 800b6cee71dSXin LI>4 byte 0xc4 GVOX Encore music, version 5.0 or above 801b6cee71dSXin LI>4 byte 0xc2 GVOX Encore music, version < 5.0 802b6cee71dSXin LI 803b6cee71dSXin LI0 string ZBOT 804b6cee71dSXin LI>4 byte 0xc5 GVOX Encore music, version < 5.0 805b6cee71dSXin LI 8063e41d09dSXin LI# Summary: Garmin Voice Processing Module (WAVE audios) 8073e41d09dSXin LI# From: Joerg Jenderek 808*48c779cdSXin LI# URL: https://www.garmin.com/ 809*48c779cdSXin LI# Reference: http://www.poi-factory.com/node/19580 8103e41d09dSXin LI# NOTE: there exist 2 other Garmin VPM formats 8113e41d09dSXin LI0 string AUDIMG 8123e41d09dSXin LI# skip text files starting with string "AUDIMG" 8133e41d09dSXin LI>13 ubyte <13 Garmin Voice Processing Module 8143e41d09dSXin LI!:mime audio/x-vpm-wav-garmin 8153e41d09dSXin LI!:ext vpm 8163e41d09dSXin LI# 3 bytes indicating the voice version (200,220) 8173e41d09dSXin LI>>6 string x \b, version %3.3s 8183e41d09dSXin LI# day of release (01-31) 8193e41d09dSXin LI>>12 ubyte x \b, %.2d 8203e41d09dSXin LI# month of release (01-12) 8213e41d09dSXin LI>>13 ubyte x \b.%.2d 8223e41d09dSXin LI# year of release (like 2006, 2007, 2008) 8233e41d09dSXin LI>>14 uleshort x \b.%.4d 8243e41d09dSXin LI# hour of release (0-23) 8253e41d09dSXin LI>>11 ubyte x %.2d 8263e41d09dSXin LI# minute of release (0-59) 8273e41d09dSXin LI>>10 ubyte x \b:%.2d 8283e41d09dSXin LI# second of release (0-59) 8293e41d09dSXin LI>>9 ubyte x \b:%.2d 8303e41d09dSXin LI# if you select a language like german on your garmin device 83140427ccaSGordon Tetlow# you can only select voice modules with corresponding language byte ID like 1 8323e41d09dSXin LI>>18 ubyte x \b, language ID %d 833*48c779cdSXin LI# structure for phrases/sentences? 834*48c779cdSXin LI# number of voice sample in the 1st phrase? 835*48c779cdSXin LI#>>19 uleshort x \b, 0x%x samples 836*48c779cdSXin LI#>>>21 uleshort >0 \b, at 0x%4.4x 837*48c779cdSXin LI#>>>(21.s) ubequad x 0x%llx 838*48c779cdSXin LI# 2nd phrase? 839*48c779cdSXin LI#>>23 uleshort x \b, 0x%x samples 840*48c779cdSXin LI#>>>25 uleshort >0 \b, at 0x%4.4x 841*48c779cdSXin LI#>>>(25.s) ubequad x 0x%llx 8423e41d09dSXin LI# pointer to 1st audio WAV sample 8433e41d09dSXin LI>>16 uleshort >0 844*48c779cdSXin LI>>>(16.s) ulelong >0 \b, at 0x%x 8453e41d09dSXin LI# WAV length 846*48c779cdSXin LI# 1 space char after "bytes" to get phrase "bytes RIFF" 847*48c779cdSXin LI>>>>(16.s+4) ulelong >0 %u bytes 8483e41d09dSXin LI# look for magic 8493e41d09dSXin LI>>>>>(&-8.l) string RIFF 8503e41d09dSXin LI# determine type by ./riff 851*48c779cdSXin LI>>>>>>&-4 indirect x 8523e41d09dSXin LI# 2 - ~ 131 WAV samples following same way 853*48c779cdSXin LI# 854*48c779cdSXin LI# Summary: encrypted Garmin Voice Processing Module 855*48c779cdSXin LI# From: Joerg Jenderek 856*48c779cdSXin LI# URL: https://www.garmin.com/us/products/ontheroad/voicestudio 857*48c779cdSXin LI# NOTE: Encrypted variant used in voices like DrNightmare, Elfred, Yeti. 858*48c779cdSXin LI# There exist 2 other Garmin VPM formats 859*48c779cdSXin LI0 ubequad 0xa141190fecc8ced6 Garmin Voice Processing Module (encrypted) 860*48c779cdSXin LI!:mime audio/x-vpm-garmin 861*48c779cdSXin LI!:ext vpm 8623e41d09dSXin LI 86340427ccaSGordon Tetlow# From Martin Mueller Skarbiniks Pedersen 86440427ccaSGordon Tetlow0 string GDM 86540427ccaSGordon Tetlow>0x3 byte 0xFE General Digital Music. 86640427ccaSGordon Tetlow>0x4 string >\0 title: "%s" 86740427ccaSGordon Tetlow>0x24 string >\0 musician: "%s" 86840427ccaSGordon Tetlow>>0x44 beshort 0x0D0A 86940427ccaSGordon Tetlow>>>0x46 byte 0x1A 87040427ccaSGordon Tetlow>>>>0x47 string GMFS Version 87140427ccaSGordon Tetlow>>>>0x4B byte x %d. 87240427ccaSGordon Tetlow>>>>0x4C byte x \b%02d 87340427ccaSGordon Tetlow>>>>0x4D beshort 0x000 (2GDM v 87440427ccaSGordon Tetlow>>>>0x4F byte x \b%d. 87540427ccaSGordon Tetlow>>>>>0x50 byte x \b%d) 87640427ccaSGordon Tetlow 87740427ccaSGordon Tetlow0 string MTM Multitracker 87840427ccaSGordon Tetlow>0x3 byte/16 x Version %d. 87940427ccaSGordon Tetlow>0x3 byte&0x0F x \b%02d 88040427ccaSGordon Tetlow>>0x4 string >\0 title: "%s" 88140427ccaSGordon Tetlow 88240427ccaSGordon Tetlow0 string HVL 88340427ccaSGordon Tetlow>3 byte <2 Hively Tracker Song 88440427ccaSGordon Tetlow>3 byte 0 1 module data 88540427ccaSGordon Tetlow>3 byte 1 2 module data 88640427ccaSGordon Tetlow 88740427ccaSGordon Tetlow0 string MO3 88840427ccaSGordon Tetlow>3 ubyte <6 MOdule with MP3 88940427ccaSGordon Tetlow>>3 byte 0 Version 0 (With MP3 and lossless) 89040427ccaSGordon Tetlow>>3 byte 1 Version 1 (With ogg and lossless) 89140427ccaSGordon Tetlow>>3 byte 3 Version 2.2 89240427ccaSGordon Tetlow>>3 byte 4 (With no LAME header) 89340427ccaSGordon Tetlow>>3 byte 5 Version 2.4 89440427ccaSGordon Tetlow 89540427ccaSGordon Tetlow0 string ADRVPACK AProSys module 89640427ccaSGordon Tetlow 89740427ccaSGordon Tetlow# ftp://ftp.modland.com/pub/documents/format_documentation/\ 89840427ccaSGordon Tetlow# Art%20Of%20Noise%20(.aon).txt 89940427ccaSGordon Tetlow0 string AON 90040427ccaSGordon Tetlow>4 string "ArtOfNoise by Bastian Spiegel(twice/lego)" 90140427ccaSGordon Tetlow>0x2e string NAME Art of Noise Tracker Song 90240427ccaSGordon Tetlow>3 string <9 90340427ccaSGordon Tetlow>3 string 4 (4 voices) 90440427ccaSGordon Tetlow>3 string 8 (8 voices) 90540427ccaSGordon Tetlow>>0x36 string >\0 Title: "%s" 90640427ccaSGordon Tetlow 90740427ccaSGordon Tetlow0 string FAR 90840427ccaSGordon Tetlow>0x2c byte 0x0d 90940427ccaSGordon Tetlow>0x2d byte 0x0a 91040427ccaSGordon Tetlow>0x2e byte 0x1a 91140427ccaSGordon Tetlow>>0x3 byte 0xFE Farandole Tracker Song 91240427ccaSGordon Tetlow>>>0x31 byte/16 x Version %d. 91340427ccaSGordon Tetlow>>>0x31 byte&0x0F x \b%02d 91440427ccaSGordon Tetlow>>>>0x4 string >\0 \b, title: "%s" 91558a0f0d0SEitan Adler 916*48c779cdSXin LI# magic for Klystrack, https://kometbomb.github.io/klystrack/ 91758a0f0d0SEitan Adler# from Alex Myczko <alex@aiei.ch> 91858a0f0d0SEitan Adler0 string cyd!song Klystrack song 91958a0f0d0SEitan Adler>8 byte >0 \b, version %u 92058a0f0d0SEitan Adler>8 byte >26 92158a0f0d0SEitan Adler#>>9 byte x \b, channels %u 92258a0f0d0SEitan Adler#>>10 leshort x \b, time signature %u 92358a0f0d0SEitan Adler#>>12 leshort x \b, sequence step %u 92458a0f0d0SEitan Adler#>>14 byte x \b, instruments %u 92558a0f0d0SEitan Adler#>>15 leshort x \b, patterns %u 92658a0f0d0SEitan Adler#>>17 leshort x \b, sequences %u 92758a0f0d0SEitan Adler#>>19 leshort x \b, length %u 92858a0f0d0SEitan Adler#>>21 leshort x \b, loop point %u 92958a0f0d0SEitan Adler#>>23 byte x \b, master volume %u 93058a0f0d0SEitan Adler#>>24 byte x \b, song speed %u 93158a0f0d0SEitan Adler#>>25 byte x \b, song speed2 %u 93258a0f0d0SEitan Adler#>>26 byte x \b, song rate %u 93358a0f0d0SEitan Adler#>>27 belong x \b, flags %#x 93458a0f0d0SEitan Adler#>>31 byte x \b, multiplex period %u 93558a0f0d0SEitan Adler#>>32 byte x \b, pitch inaccuracy %u 93658a0f0d0SEitan Adler>>149 pstring x \b, title %s 93758a0f0d0SEitan Adler 93858a0f0d0SEitan Adler0 string cyd!inst Klystrack instrument 93958a0f0d0SEitan Adler 94058a0f0d0SEitan Adler# magic for WOPL instrument files, https://github.com/Wohlstand/OPL3BankEditor 94158a0f0d0SEitan Adler# see Specifications/WOPL-and-OPLI-Specification.txt 94258a0f0d0SEitan Adler 94358a0f0d0SEitan Adler0 string WOPL3-INST\0 WOPL instrument 94458a0f0d0SEitan Adler>11 leshort x \b, version %u 94558a0f0d0SEitan Adler0 string WOPL3-BANK\0 WOPL instrument bank 94658a0f0d0SEitan Adler>11 leshort x \b, version %u 94758a0f0d0SEitan Adler 94858a0f0d0SEitan Adler# AdLib/OPL instrument files. Format specifications on 94958a0f0d0SEitan Adler# http://www.shikadi.net/moddingwiki 95058a0f0d0SEitan Adler0 string Junglevision\ Patch\ File Junglevision instrument data 95158a0f0d0SEitan Adler0 string #OPL_II# DMX OP2 instrument data 95258a0f0d0SEitan Adler0 string IBK\x1a IBK instrument data 95358a0f0d0SEitan Adler0 string 2OP\x1a IBK instrument data, 2 operators 95458a0f0d0SEitan Adler0 string 4OP\x1a IBK instrument data, 4 operators 95558a0f0d0SEitan Adler2 string ADLIB- AdLib instrument data 95658a0f0d0SEitan Adler>0 byte x \b, version %u 95758a0f0d0SEitan Adler>1 byte x \b.%u 9582dc4dbb9SEitan Adler 9592dc4dbb9SEitan Adler# CRI ADX ADPCM audio 9602dc4dbb9SEitan Adler# Used by various Sega games. 9612dc4dbb9SEitan Adler# https://en.wikipedia.org/wiki/ADX_(file_format) 9622dc4dbb9SEitan Adler# https://wiki.multimedia.cx/index.php/CRI_ADX_file 9632dc4dbb9SEitan Adler# Added by David Korth <gerbilsoft@gerbilsoft.com> 9642dc4dbb9SEitan Adler0x00 beshort 0x8000 9652dc4dbb9SEitan Adler>(2.S-2) string (c)CRI CRI ADX ADPCM audio 966*48c779cdSXin LI!:ext adx 967*48c779cdSXin LI!:mime audio/x-adx 968*48c779cdSXin LI!:strength +50 9692dc4dbb9SEitan Adler>>0x12 byte x v%u 9702dc4dbb9SEitan Adler>>0x04 byte 0x02 \b, pre-set prediction coefficients 9712dc4dbb9SEitan Adler>>0x04 byte 0x03 \b, standard ADX 9722dc4dbb9SEitan Adler>>0x04 byte 0x04 \b, exponential scale 973*48c779cdSXin LI>>0x04 byte 0x10 \b, AHX (Dreamcast) 974*48c779cdSXin LI>>0x04 byte 0x11 \b, AHX 9752dc4dbb9SEitan Adler>>0x08 belong x \b, %u Hz 9762dc4dbb9SEitan Adler>>0x12 byte 0x03 9772dc4dbb9SEitan Adler>>>0x02 beshort >0x2B 9782dc4dbb9SEitan Adler>>>>0x18 belong !0 \b, looping 9792dc4dbb9SEitan Adler>>0x12 byte 0x04 9802dc4dbb9SEitan Adler>>>0x02 beshort >0x37 9812dc4dbb9SEitan Adler>>>>0x24 belong !0 \b, looping 9822dc4dbb9SEitan Adler>>0x13 byte&0x08 0x08 \b, encrypted 9832dc4dbb9SEitan Adler 9842dc4dbb9SEitan Adler# Lossless audio (.la) (http://www.lossless-audio.com/) 9852dc4dbb9SEitan Adler0 string LA 9862dc4dbb9SEitan Adler>2 string 03 Lossless audio version 0.3 9872dc4dbb9SEitan Adler>2 string 04 Lossless audio version 0.4 9882dc4dbb9SEitan Adler 9892dc4dbb9SEitan Adler# Sony PlayStation Audio (.xa) 9902dc4dbb9SEitan Adler0 leshort 0x4158 Sony PlayStation Audio 9912dc4dbb9SEitan Adler 992*48c779cdSXin LI# Portable Sound Format 993*48c779cdSXin LI# Used for audio rips for various consoles. 994*48c779cdSXin LI# http://fileformats.archiveteam.org/wiki/Portable_Sound_Format 995*48c779cdSXin LI# Added by David Korth <gerbilsoft@gerbilsoft.com> 996*48c779cdSXin LI0 string PSF Portable Sound Format 997*48c779cdSXin LI!:mime audio/x-psf 998*48c779cdSXin LI>3 byte 0x01 (Sony PlayStation) 999*48c779cdSXin LI>3 byte 0x02 (Sony PlayStation 2) 1000*48c779cdSXin LI>3 byte 0x11 (Sega Saturn) 1001*48c779cdSXin LI>3 byte 0x12 (Sega Dreamcast) 1002*48c779cdSXin LI>3 byte 0x13 (Sega Mega Drive) 1003*48c779cdSXin LI>3 byte 0x21 (Nintendo 64) 1004*48c779cdSXin LI>3 byte 0x22 (Game Boy Advance) 1005*48c779cdSXin LI>3 byte 0x23 (Super NES) 1006*48c779cdSXin LI>3 byte 0x41 (Capcom QSound) 1007*48c779cdSXin LI 1008*48c779cdSXin LI# Atari 8-bit SAP audio format 1009*48c779cdSXin LI# http://asap.sourceforge.net/sap-format.html 1010*48c779cdSXin LI# Added by David Korth <gerbilsoft@gerbilsoft.com> 1011*48c779cdSXin LI0 string SAP\r\n Atari 8-bit SAP audio file 1012*48c779cdSXin LI!:mime audio/x-sap 1013*48c779cdSXin LI!:ext sap 1014*48c779cdSXin LI>5 search/1024 NAME 1015*48c779cdSXin LI>>&1 string x \b: %s 1016*48c779cdSXin LI>>5 search/1024 AUTHOR 1017*48c779cdSXin LI>>>&1 string x by %s 1018*48c779cdSXin LI 1019*48c779cdSXin LI# Nintendo Wii BRSTM audio format (fields) 1020*48c779cdSXin LI# NOTE: Assuming HEAD starts at 0x40. 1021*48c779cdSXin LI# FIXME: Replace 0x48 with HEAD offset plus 8. 1022*48c779cdSXin LI0 name nintendo-wii-brstm-fields 1023*48c779cdSXin LI>(0x10.L) string HEAD \b: 1024*48c779cdSXin LI>>(0x10.L+0x0C) belong x 1025*48c779cdSXin LI>>>(&-4.L+0x48) belong x 1026*48c779cdSXin LI>>>>&-4 byte 0 PCM, signed 8-bit, 1027*48c779cdSXin LI>>>>&-4 byte 1 PCM, signed 16-bit, 1028*48c779cdSXin LI>>>>&-4 byte 2 THP ADPCM, 1029*48c779cdSXin LI>>>>&-3 byte !0 looping, 1030*48c779cdSXin LI>>>>&-2 byte 1 mono 1031*48c779cdSXin LI>>>>&-2 byte 2 stereo 1032*48c779cdSXin LI>>>>&-2 byte 3 3 channels 1033*48c779cdSXin LI>>>>&-2 byte 4 quad 1034*48c779cdSXin LI>>>>&-2 byte >4 %u channels 1035*48c779cdSXin LI>>>>&0 beshort !0 %u Hz 1036*48c779cdSXin LI 1037*48c779cdSXin LI# Nintendo Wii BRSTM audio format 1038*48c779cdSXin LI# https://wiibrew.org/wiki/BRSTM_file 1039*48c779cdSXin LI# Added by David Korth <gerbilsoft@gerbilsoft.com> 1040*48c779cdSXin LI0 string RSTM Nintendo Wii BRSTM audio file 1041*48c779cdSXin LI!:mime audio/x-brstm 1042*48c779cdSXin LI!:ext brstm 1043*48c779cdSXin LI# Wii is big-endian, so default to BE. 1044*48c779cdSXin LI>4 beshort 0xFEFF 1045*48c779cdSXin LI>>0 use nintendo-wii-brstm-fields 1046*48c779cdSXin LI>4 leshort 0xFEFF 1047*48c779cdSXin LI>>0 use \^nintendo-wii-brstm-fields 1048*48c779cdSXin LI 1049*48c779cdSXin LI# Nintendo 3DS BCSTM audio format (fields) 1050*48c779cdSXin LI0 name nintendo-3ds-bcstm-fields 1051*48c779cdSXin LI>(0x18.l) string INFO \b: 1052*48c779cdSXin LI# INFO block: Stream information starts at 0x20 (minus 4 for the 'INFO' magic) 1053*48c779cdSXin LI>>&0x1C byte 0 PCM, signed 8-bit, 1054*48c779cdSXin LI>>&0x1C byte 1 PCM, signed 16-bit, 1055*48c779cdSXin LI>>&0x1C byte 2 DSP ADPCM, 1056*48c779cdSXin LI>>&0x1C byte 3 IMA ADPCM, 1057*48c779cdSXin LI>>&0x1D byte !0 looping, 1058*48c779cdSXin LI>>&0x1E byte 1 mono 1059*48c779cdSXin LI>>&0x1E byte 2 stereo 1060*48c779cdSXin LI>>&0x1E byte 3 3 channels 1061*48c779cdSXin LI>>&0x1E byte 4 quad 1062*48c779cdSXin LI>>&0x1E byte >4 %u channels 1063*48c779cdSXin LI>>&0x20 lelong !0 %u Hz 1064*48c779cdSXin LI 1065*48c779cdSXin LI# Nintendo 3DS BCSTM audio format 1066*48c779cdSXin LI# https://www.3dbrew.org/wiki/BCSTM 1067*48c779cdSXin LI# Added by David Korth <gerbilsoft@gerbilsoft.com> 1068*48c779cdSXin LI0 string CSTM Nintendo 3DS BCSTM audio file 1069*48c779cdSXin LI!:mime audio/x-bcstm 1070*48c779cdSXin LI!:ext bcstm 1071*48c779cdSXin LI# 3DS is little-endian, so default to LE. 1072*48c779cdSXin LI>4 leshort 0xFEFF 1073*48c779cdSXin LI>>0 use nintendo-3ds-bcstm-fields 1074*48c779cdSXin LI>4 beshort 0xFEFF 1075*48c779cdSXin LI>>0 use \^nintendo-3ds-bcstm-fields 1076*48c779cdSXin LI 1077*48c779cdSXin LI# Nintendo Wii U BFSTM audio format 1078*48c779cdSXin LI# http://mk8.tockdom.com/wiki/BFSTM_(File_Format) 1079*48c779cdSXin LI# NOTE: This format is very similar to BCSTM. 1080*48c779cdSXin LI# Added by David Korth <gerbilsoft@gerbilsoft.com> 1081*48c779cdSXin LI0 string FSTM Nintendo Wii U BFSTM audio file 1082*48c779cdSXin LI!:mime audio/x-bfstm 1083*48c779cdSXin LI!:ext bfstm 1084*48c779cdSXin LI# BFSTM is used on both Wii U (BE) and Switch (LE), 1085*48c779cdSXin LI# so default to LE. 1086*48c779cdSXin LI>4 leshort 0xFEFF 1087*48c779cdSXin LI>>0 use nintendo-3ds-bcstm-fields 1088*48c779cdSXin LI>4 beshort 0xFEFF 1089*48c779cdSXin LI>>0 use \^nintendo-3ds-bcstm-fields 1090*48c779cdSXin LI 1091*48c779cdSXin LI# Nintendo 3DS BCSTM audio format (fields) 1092*48c779cdSXin LI0 name nintendo-3ds-bcwav-fields 1093*48c779cdSXin LI>(0x18.l) string INFO \b: 1094*48c779cdSXin LI# INFO block (minus 4 for INFO magic) 1095*48c779cdSXin LI>>&0x4 byte 0 PCM, signed 8-bit, 1096*48c779cdSXin LI>>&0x4 byte 1 PCM, signed 16-bit, 1097*48c779cdSXin LI>>&0x4 byte 2 DSP ADPCM, 1098*48c779cdSXin LI>>&0x4 byte 3 IMA ADPCM, 1099*48c779cdSXin LI>>&0x5 byte !0 looping, 1100*48c779cdSXin LI>>&0x8 lelong x stereo 1101*48c779cdSXin LI>>&0x8 lelong !0 %u Hz 1102*48c779cdSXin LI 1103*48c779cdSXin LI# Nintendo 3DS BCWAV audio format 1104*48c779cdSXin LI# https://www.3dbrew.org/wiki/BCWAV 1105*48c779cdSXin LI# Added by David Korth <gerbilsoft@gerbilsoft.com> 1106*48c779cdSXin LI0 string CWAV Nintendo 3DS BCWAV audio file 1107*48c779cdSXin LI!:mime audio/x-bcwav 1108*48c779cdSXin LI!:ext bcwav 1109*48c779cdSXin LI# 3DS is little-endian, so default to LE. 1110*48c779cdSXin LI>4 leshort 0xFEFF 1111*48c779cdSXin LI>>0 use nintendo-3ds-bcwav-fields 1112*48c779cdSXin LI>4 beshort 0xFEFF 1113*48c779cdSXin LI>>0 use \^nintendo-3ds-bcwav-fields 1114