1 2#------------------------------------------------------------------------------ 3# $File: audio,v 1.121 2021/04/26 15:56:00 christos Exp $ 4# audio: file(1) magic for sound formats (see also "iff") 5# 6# Jan Nicolai Langfeldt (janl@ifi.uio.no), Dan Quinlan (quinlan@yggdrasil.com), 7# and others 8# 9 10# Sun/NeXT audio data 110 string .snd Sun/NeXT audio data: 12>12 belong 1 8-bit ISDN mu-law, 13!:mime audio/basic 14>12 belong 2 8-bit linear PCM [REF-PCM], 15!:mime audio/basic 16>12 belong 3 16-bit linear PCM, 17!:mime audio/basic 18>12 belong 4 24-bit linear PCM, 19!:mime audio/basic 20>12 belong 5 32-bit linear PCM, 21!:mime audio/basic 22>12 belong 6 32-bit IEEE floating point, 23!:mime audio/basic 24>12 belong 7 64-bit IEEE floating point, 25!:mime audio/basic 26>12 belong 8 Fragmented sample data, 27>12 belong 10 DSP program, 28>12 belong 11 8-bit fixed point, 29>12 belong 12 16-bit fixed point, 30>12 belong 13 24-bit fixed point, 31>12 belong 14 32-bit fixed point, 32>12 belong 18 16-bit linear with emphasis, 33>12 belong 19 16-bit linear compressed, 34>12 belong 20 16-bit linear with emphasis and compression, 35>12 belong 21 Music kit DSP commands, 36>12 belong 23 8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice enc.), 37!:mime audio/x-adpcm 38>12 belong 24 compressed (8-bit CCITT G.722 ADPCM) 39>12 belong 25 compressed (3-bit CCITT G.723.3 ADPCM), 40>12 belong 26 compressed (5-bit CCITT G.723.5 ADPCM), 41>12 belong 27 8-bit A-law (CCITT G.711), 42>20 belong 1 mono, 43>20 belong 2 stereo, 44>20 belong 4 quad, 45>16 belong >0 %d Hz 46 47# DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format 48# that uses little-endian encoding and has a different magic number 490 lelong 0x0064732E DEC audio data: 50>12 lelong 1 8-bit ISDN mu-law, 51!:mime audio/x-dec-basic 52>12 lelong 2 8-bit linear PCM [REF-PCM], 53!:mime audio/x-dec-basic 54>12 lelong 3 16-bit linear PCM, 55!:mime audio/x-dec-basic 56>12 lelong 4 24-bit linear PCM, 57!:mime audio/x-dec-basic 58>12 lelong 5 32-bit linear PCM, 59!:mime audio/x-dec-basic 60>12 lelong 6 32-bit IEEE floating point, 61!:mime audio/x-dec-basic 62>12 lelong 7 64-bit IEEE floating point, 63!:mime audio/x-dec-basic 64>12 belong 8 Fragmented sample data, 65>12 belong 10 DSP program, 66>12 belong 11 8-bit fixed point, 67>12 belong 12 16-bit fixed point, 68>12 belong 13 24-bit fixed point, 69>12 belong 14 32-bit fixed point, 70>12 belong 18 16-bit linear with emphasis, 71>12 belong 19 16-bit linear compressed, 72>12 belong 20 16-bit linear with emphasis and compression, 73>12 belong 21 Music kit DSP commands, 74>12 lelong 23 8-bit ISDN mu-law compressed (CCITT G.721 ADPCM voice enc.), 75!:mime audio/x-dec-basic 76>12 belong 24 compressed (8-bit CCITT G.722 ADPCM) 77>12 belong 25 compressed (3-bit CCITT G.723.3 ADPCM), 78>12 belong 26 compressed (5-bit CCITT G.723.5 ADPCM), 79>12 belong 27 8-bit A-law (CCITT G.711), 80>20 lelong 1 mono, 81>20 lelong 2 stereo, 82>20 lelong 4 quad, 83>16 lelong >0 %d Hz 84 85# Creative Labs AUDIO stuff 860 string MThd Standard MIDI data 87!:mime audio/midi 88>8 beshort x (format %d) 89>10 beshort x using %d track 90>10 beshort >1 \bs 91>12 beshort&0x7fff x at 1/%d 92>12 beshort&0x8000 >0 SMPTE 93 940 string CTMF Creative Music (CMF) data 95!:mime audio/x-unknown 960 string SBI SoundBlaster instrument data 97!:mime audio/x-unknown 980 string Creative\ Voice\ File Creative Labs voice data 99!:mime audio/x-unknown 100# is this next line right? it came this way... 101>19 byte 0x1A 102>23 byte >0 - version %d 103>22 byte >0 \b.%d 104 105# first entry is also the string "NTRK" 1060 belong 0x4e54524b MultiTrack sound data 107>4 belong x - version %d 108 109# Extended MOD format (*.emd) (Greg Roelofs, newt@uchicago.edu); NOT TESTED 110# [based on posting 940824 by "Dirk/Elastik", husberg@lehtori.cc.tut.fi] 1110 string EMOD Extended MOD sound data, 112>4 byte&0xf0 x version %d 113>4 byte&0x0f x \b.%d, 114>45 byte x %d instruments 115>83 byte 0 (module) 116>83 byte 1 (song) 117 118# Real Audio (Magic .ra\0375) 1190 belong 0x2e7261fd RealAudio sound file 120!:mime audio/x-pn-realaudio 1210 string .RMF\0\0\0 RealMedia file 122!:mime application/vnd.rn-realmedia 123#video/x-pn-realvideo 124#video/vnd.rn-realvideo 125#application/vnd.rn-realmedia 126# sigh, there are many mimes for that but the above are the most common. 127 128# MTM/669/FAR/S3M/ULT/XM format checking [Aaron Eppert, aeppert@dialin.ind.net] 129# Oct 31, 1995 130# fixed by <doj@cubic.org> 2003-06-24 131# Too short... 132#0 string MTM MultiTracker Module sound file 133#0 string if Composer 669 Module sound data 134#0 string JN Composer 669 Module sound data (extended format) 1350 string MAS_U ULT(imate) Module sound data 136 137#0 string FAR Module sound data 138#>4 string >\15 Title: "%s" 139 1400x2c string SCRM ScreamTracker III Module sound data 141>0 string >\0 Title: "%s" 142!:mime audio/x-s3m 143 144# .stm before it got above .s3m extension 1450x16 string \!Scream\! ScreamTracker Module sound data 146>0 string >\0 Title: "%s" 147 148# Gravis UltraSound patches 149# From <ache@nagual.ru> 150 1510 string GF1PATCH110\0ID#000002\0 GUS patch 1520 string GF1PATCH100\0ID#000002\0 Old GUS patch 153 154# mime types according to http://www.geocities.com/nevilo/mod.htm: 155# audio/it .it 156# audio/x-zipped-it .itz 157# audio/xm fasttracker modules 158# audio/x-s3m screamtracker modules 159# audio/s3m screamtracker modules 160# audio/x-zipped-mod mdz 161# audio/mod mod 162# audio/x-mod All modules (mod, s3m, 669, mtm, med, xm, it, mdz, stm, itz, xmz, s3z) 163 164# 165# Taken from loader code from mikmod version 2.14 166# by Steve McIntyre (stevem@chiark.greenend.org.uk) 167# <doj@cubic.org> added title printing on 2003-06-24 1680 string MAS_UTrack_V00 169>14 string >/0 ultratracker V1.%.1s module sound data 170!:mime audio/x-mod 171#audio/x-tracker-module 172 1730 string UN05 MikMod UNI format module sound data 174 1750 string Extended\ Module: Fasttracker II module sound data 176!:mime audio/x-mod 177#audio/x-tracker-module 178>17 string >\0 Title: "%s" 179 18021 string/c =!SCREAM! Screamtracker 2 module sound data 181!:mime audio/x-mod 182#audio/x-screamtracker-module 18321 string BMOD2STM Screamtracker 2 module sound data 184!:mime audio/x-mod 185#audio/x-screamtracker-module 1861080 string M.K. 4-channel Protracker module sound data 187!:mime audio/x-mod 188#audio/x-protracker-module 189>0 string >\0 Title: "%s" 1901080 string M!K! 4-channel Protracker module sound data 191!:mime audio/x-mod 192#audio/x-protracker-module 193>0 string >\0 Title: "%s" 1941080 string FLT4 4-channel Startracker module sound data 195!:mime audio/x-mod 196#audio/x-startracker-module 197>0 string >\0 Title: "%s" 1981080 string FLT8 8-channel Startracker module sound data 199!:mime audio/x-mod 200#audio/x-startracker-module 201>0 string >\0 Title: "%s" 2021080 string 4CHN 4-channel Fasttracker module sound data 203!:mime audio/x-mod 204#audio/x-fasttracker-module 205>0 string >\0 Title: "%s" 2061080 string 6CHN 6-channel Fasttracker module sound data 207!:mime audio/x-mod 208#audio/x-fasttracker-module 209>0 string >\0 Title: "%s" 2101080 string 8CHN 8-channel Fasttracker module sound data 211!:mime audio/x-mod 212#audio/x-fasttracker-module 213>0 string >\0 Title: "%s" 2141080 string CD81 8-channel Octalyser module sound data 215!:mime audio/x-mod 216#audio/x-octalysertracker-module 217>0 string >\0 Title: "%s" 2181080 string OKTA 8-channel Octalyzer module sound data 219!:mime audio/x-mod 220#audio/x-octalysertracker-module 221>0 string >\0 Title: "%s" 222# Not good enough. 223#1082 string CH 224#>1080 string >/0 %.2s-channel Fasttracker "oktalyzer" module sound data 2251080 string 16CN 16-channel Taketracker module sound data 226!:mime audio/x-mod 227#audio/x-taketracker-module 228>0 string >\0 Title: "%s" 2291080 string 32CN 32-channel Taketracker module sound data 230!:mime audio/x-mod 231#audio/x-taketracker-module 232>0 string >\0 Title: "%s" 233 234# TOC sound files -Trevor Johnson <trevor@jpj.net> 235# 2360 string TOC TOC sound file 237 238# sidfiles <pooka@iki.fi> 239# added name,author,(c) and new RSID type by <doj@cubic.org> 2003-06-24 2400 string SIDPLAY\ INFOFILE Sidplay info file 241 2420 string PSID PlaySID v2.2+ (AMIGA) sidtune 243>4 beshort >0 w/ header v%d, 244>14 beshort =1 single song, 245>14 beshort >1 %d songs, 246>16 beshort >0 default song: %d 247>0x16 string >\0 name: "%s" 248>0x36 string >\0 author: "%s" 249>0x56 string >\0 copyright: "%s" 250 2510 string RSID RSID sidtune PlaySID compatible 252>4 beshort >0 w/ header v%d, 253>14 beshort =1 single song, 254>14 beshort >1 %d songs, 255>16 beshort >0 default song: %d 256>0x16 string >\0 name: "%s" 257>0x36 string >\0 author: "%s" 258>0x56 string >\0 copyright: "%s" 259 260# IRCAM sound files - Michael Pruett <michael@68k.org> 261# http://www-mmsp.ece.mcgill.ca/documents/AudioFormats/IRCAM/IRCAM.html 2620 belong 0x64a30100 IRCAM file (VAX little-endian) 2630 belong 0x0001a364 IRCAM file (VAX big-endian) 2640 belong 0x64a30200 IRCAM file (Sun big-endian) 2650 belong 0x0002a364 IRCAM file (Sun little-endian) 2660 belong 0x64a30300 IRCAM file (MIPS little-endian) 2670 belong 0x0003a364 IRCAM file (MIPS big-endian) 2680 belong 0x64a30400 IRCAM file (NeXT big-endian) 2690 belong 0x64a30400 IRCAM file (NeXT big-endian) 2700 belong 0x0004a364 IRCAM file (NeXT little-endian) 271 272# NIST SPHERE <mpruett@sgi.com> 2730 string NIST_1A\n\ \ \ 1024\n NIST SPHERE file 274 275# Sample Vision <mpruett@sgi.com> 2760 string SOUND\ SAMPLE\ DATA\ Sample Vision file 277 278# Audio Visual Research <tonigonenstein@users.sourceforge.net> 2790 string 2BIT Audio Visual Research file, 280>12 beshort =0 mono, 281>12 beshort =-1 stereo, 282>14 beshort x %d bits 283>16 beshort =0 unsigned, 284>16 beshort =-1 signed, 285>22 belong&0x00ffffff x %d Hz, 286>18 beshort =0 no loop, 287>18 beshort =-1 loop, 288>21 ubyte <128 note %d, 289>22 byte =0 replay 5.485 KHz 290>22 byte =1 replay 8.084 KHz 291>22 byte =2 replay 10.971 KHz 292>22 byte =3 replay 16.168 KHz 293>22 byte =4 replay 21.942 KHz 294>22 byte =5 replay 32.336 KHz 295>22 byte =6 replay 43.885 KHz 296>22 byte =7 replay 47.261 KHz 297 298# SGI SoundTrack <mpruett@sgi.com> 2990 string _SGI_SoundTrack SGI SoundTrack project file 300# ID3 version 2 tags <waschk@informatik.uni-rostock.de> 3010 string ID3 Audio file with ID3 version 2 302>3 byte x \b.%d 303>4 byte x \b.%d 304>>5 byte &0x80 \b, unsynchronized frames 305>>5 byte &0x40 \b, extended header 306>>5 byte &0x20 \b, experimental 307>>5 byte &0x10 \b, footer present 308>(6.I+10) indirect x \b, contains: 309 310# NSF (NES sound file) magic 3110 string NESM\x1a NES Sound File 312>14 string >\0 ("%s" by 313>46 string >\0 %s, copyright 314>78 string >\0 %s), 315>5 byte x version %d, 316>6 byte x %d tracks, 317>122 byte&0x2 =1 dual PAL/NTSC 318>122 byte&0x1 =1 PAL 319>122 byte&0x1 =0 NTSC 320 321# NSFE (Extended NES sound file) magic 322# http://slickproductions.org/docs/NSF/nsfespec.txt 323# From: David Pflug <david@pflug.email> 3240 string NSFE Extended NES Sound File 325>48 search/0x1000 auth 326>>&0 string >\0 ("%s" 327>>>&1 string >\0 by %s 328>>>>&1 string >\0 \b, copyright %s 329>>>>>&1 string >\0 \b, ripped by %s 330>20 byte x \b), %d tracks, 331>18 byte&0x2 =1 dual PAL/NTSC 332>18 byte&0x2 =0 333>>18 byte&0x1 =1 PAL 334>>18 byte&0x1 =0 NTSC 335 336# Type: SNES SPC700 sound files 337# From: Josh Triplett <josh@freedesktop.org> 3380 string SNES-SPC700\ Sound\ File\ Data\ v SNES SPC700 sound file 339>&0 string 0.30 \b, version %s 340>>0x23 byte 0x1B \b, without ID666 tag 341>>0x23 byte 0x1A \b, with ID666 tag 342>>>0x2E string >\0 \b, song "%.32s" 343>>>0x4E string >\0 \b, game "%.32s" 344 345# Impulse tracker module (audio/x-it) 3460 string IMPM Impulse Tracker module sound data - 347!:mime audio/x-mod 348>4 string >\0 "%s" 349>40 leshort !0 compatible w/ITv%x 350>42 leshort !0 created w/ITv%x 351 352# Imago Orpheus module (audio/x-imf) 35360 string IM10 Imago Orpheus module sound data - 354>0 string >\0 "%s" 355 356# From <collver1@attbi.com> 357# These are the /etc/magic entries to decode modules, instruments, and 358# samples in Impulse Tracker's native format. 359 3600 string IMPS Impulse Tracker Sample 361>18 byte &2 16 bit 362>18 byte ^2 8 bit 363>18 byte &4 stereo 364>18 byte ^4 mono 3650 string IMPI Impulse Tracker Instrument 366>28 leshort !0 ITv%x 367>30 byte !0 %d samples 368 369# Yamaha TX Wave: file(1) magic for Yamaha TX Wave audio files 370# From <collver1@attbi.com> 3710 string LM8953 Yamaha TX Wave 372>22 byte 0x49 looped 373>22 byte 0xC9 non-looped 374>23 byte 1 33kHz 375>23 byte 2 50kHz 376>23 byte 3 16kHz 377 378# scream tracker: file(1) magic for Scream Tracker sample files 379# 380# From <collver1@attbi.com> 38176 string SCRS Scream Tracker Sample 382>0 byte 1 sample 383>0 byte 2 adlib melody 384>0 byte >2 adlib drum 385>31 byte &2 stereo 386>31 byte ^2 mono 387>31 byte &4 16bit little endian 388>31 byte ^4 8bit 389>30 byte 0 unpacked 390>30 byte 1 packed 391 392# audio 393# From: Cory Dikkers <cdikkers@swbell.net> 3940 string MMD0 MED music file, version 0 3950 string MMD1 OctaMED Pro music file, version 1 3960 string MMD3 OctaMED Soundstudio music file, version 3 3970 string OctaMEDCmpr OctaMED Soundstudio compressed file 3980 string MED MED_Song 3990 string SymM Symphonie SymMOD music file 400# 401# Track Length (TRL), Tracks (TRK), Samples (SMP), Subsongs (SS) 402# http://lclevy.free.fr/exotica/ahx/ahxformat.txt 4030 string THX AHX version 404>3 byte =0 1 module data 405>3 byte =1 2 module data 406>10 byte x TRL: %u 407>11 byte x TRK: %u 408>12 byte x SMP: %u 409>13 byte x SS: %u 410# 4110 string OKTASONG Oktalyzer module data 412# 4130 string DIGI\ Booster\ module\0 %s 414>20 byte >0 %c 415>>21 byte >0 \b%c 416>>>22 byte >0 \b%c 417>>>>23 byte >0 \b%c 418>610 string >\0 \b, "%s" 419# 4200 string DBM0 DIGI Booster Pro Module 421>4 byte >0 V%X. 422>>5 byte x \b%02X 423>16 string >\0 \b, "%s" 424# 4250 string FTMN FaceTheMusic module 426>16 string >\0d \b, "%s" 427 428# From: <doj@cubic.org> 2003-06-24 4290 string AMShdr\32 Velvet Studio AMS Module v2.2 4300 string Extreme Extreme Tracker AMS Module v1.3 4310 string DDMF Xtracker DMF Module 432>4 byte x v%i 433>0xD string >\0 Title: "%s" 434>0x2B string >\0 Composer: "%s" 4350 string DSM\32 Dynamic Studio Module DSM 4360 string SONG DigiTrekker DTM Module 4370 string DMDL DigiTrakker MDL Module 4380 string PSM\32 Protracker Studio PSM Module 43944 string PTMF Poly Tracker PTM Module 440>0 string >\32 Title: "%s" 4410 string MT20 MadTracker 2.0 Module MT2 4420 string RAD\40by\40REALiTY!! RAD Adlib Tracker Module RAD 4430 string RTMM RTM Module 4440x426 string MaDoKaN96 XMS Adlib Module 445>0 string >\0 Composer: "%s" 4460 string AMF AMF Module 447>4 string >\0 Title: "%s" 4480 string MODINFO1 Open Cubic Player Module Information MDZ 4490 string Extended\40Instrument: Fast Tracker II Instrument 450 451# From: Takeshi Hamasaki <hma@syd.odn.ne.jp> 452# NOA Nancy Codec file 4530 string \210NOA\015\012\032 NOA Nancy Codec Movie file 454# Yamaha SMAF format 4550 string MMMD Yamaha SMAF file 456# Sharp Jisaku Melody format for PDC 4570 string \001Sharp\040JisakuMelody SHARP Cell-Phone ringing Melody 458>20 string Ver01.00 Ver. 1.00 459>>32 byte x , %d tracks 460 461# Free lossless audio codec <http://flac.sourceforge.net> 462# From: Przemyslaw Augustyniak <silvathraec@rpg.pl> 4630 string fLaC FLAC audio bitstream data 464!:mime audio/flac 465>4 byte&0x7f >0 \b, unknown version 466>4 byte&0x7f 0 \b 467# some common bits/sample values 468>>20 beshort&0x1f0 0x030 \b, 4 bit 469>>20 beshort&0x1f0 0x050 \b, 6 bit 470>>20 beshort&0x1f0 0x070 \b, 8 bit 471>>20 beshort&0x1f0 0x0b0 \b, 12 bit 472>>20 beshort&0x1f0 0x0f0 \b, 16 bit 473>>20 beshort&0x1f0 0x170 \b, 24 bit 474>>20 byte&0xe 0x0 \b, mono 475>>20 byte&0xe 0x2 \b, stereo 476>>20 byte&0xe 0x4 \b, 3 channels 477>>20 byte&0xe 0x6 \b, 4 channels 478>>20 byte&0xe 0x8 \b, 5 channels 479>>20 byte&0xe 0xa \b, 6 channels 480>>20 byte&0xe 0xc \b, 7 channels 481>>20 byte&0xe 0xe \b, 8 channels 482# sample rates derived from known oscillator frequencies; 483# 24.576 MHz (video/fs=48kHz), 22.5792 (audio/fs=44.1kHz) and 484# 16.384 (other/fs=32kHz). 485>>17 belong&0xfffff0 0x02b110 \b, 11.025 kHz 486>>17 belong&0xfffff0 0x03e800 \b, 16 kHz 487>>17 belong&0xfffff0 0x056220 \b, 22.05 kHz 488>>17 belong&0xfffff0 0x05dc00 \b, 24 kHz 489>>17 belong&0xfffff0 0x07d000 \b, 32 kHz 490>>17 belong&0xfffff0 0x0ac440 \b, 44.1 kHz 491>>17 belong&0xfffff0 0x0bb800 \b, 48 kHz 492>>17 belong&0xfffff0 0x0fa000 \b, 64 kHz 493>>17 belong&0xfffff0 0x158880 \b, 88.2 kHz 494>>17 belong&0xfffff0 0x177000 \b, 96 kHz 495>>17 belong&0xfffff0 0x1f4000 \b, 128 kHz 496>>17 belong&0xfffff0 0x2b1100 \b, 176.4 kHz 497>>17 belong&0xfffff0 0x2ee000 \b, 192 kHz 498>>17 belong&0xfffff0 0x3e8000 \b, 256 kHz 499>>17 belong&0xfffff0 0x562200 \b, 352.8 kHz 500>>17 belong&0xfffff0 0x5dc000 \b, 384 kHz 501>>21 byte&0xf >0 \b, >4G samples 502>>21 byte&0xf 0 \b 503>>>22 belong >0 \b, %u samples 504>>>22 belong 0 \b, length unknown 505 506# (ISDN) VBOX voice message file (Wolfram Kleff) 5070 string VBOX VBOX voice message data 508 509# ReBorn Song Files (.rbs) 510# David J. Singer <doc@deadvirgins.org.uk> 5118 string RB40 RBS Song file 512>29 string ReBorn created by ReBorn 513>37 string Propellerhead created by ReBirth 514 515# Synthesizer Generator and Kimwitu share their file format 5160 string A#S#C#S#S#L#V#3 Synthesizer Generator or Kimwitu data 517# Kimwitu++ uses a slightly different magic 5180 string A#S#C#S#S#L#HUB Kimwitu++ data 519 520# From "Simon Hosie 5210 string TFMX-SONG TFMX module sound data 522 523# Monkey's Audio compressed audio format (.ape) 524# From danny.milo@gmx.net (Danny Milosavljevic) 525# New version from Abel Cheung <abel (@) oaka.org> 5260 string MAC\040 Monkey's Audio compressed format 527!:mime audio/x-ape 528>4 uleshort >0x0F8B version %d 529>>(0x08.l) uleshort =1000 with fast compression 530>>(0x08.l) uleshort =2000 with normal compression 531>>(0x08.l) uleshort =3000 with high compression 532>>(0x08.l) uleshort =4000 with extra high compression 533>>(0x08.l) uleshort =5000 with insane compression 534>>(0x08.l+18) uleshort =1 \b, mono 535>>(0x08.l+18) uleshort =2 \b, stereo 536>>(0x08.l+20) ulelong x \b, sample rate %d 537>4 uleshort <0x0F8C version %d 538>>6 uleshort =1000 with fast compression 539>>6 uleshort =2000 with normal compression 540>>6 uleshort =3000 with high compression 541>>6 uleshort =4000 with extra high compression 542>>6 uleshort =5000 with insane compression 543>>10 uleshort =1 \b, mono 544>>10 uleshort =2 \b, stereo 545>>12 ulelong x \b, sample rate %d 546 547# adlib sound files 548# From: Alex Myczko <alex@aiei.ch> 549 550# https://github.com/rerrahkr/BambooTracker 5510 string BambooTrackerMod BambooTracker module 552>22 byte x \b, version %u 553>21 byte x \b.%u 554>20 byte x \b.%u 555 5560 string BambooTrackerIst BambooTracker instrument 557>22 byte x \b, version %u 558>21 byte x \b.%u 559>20 byte x \b.%u 560 5610 string CC2x CheeseCutter 2 song 562 5630 string RAWADATA RdosPlay RAW 564 5651068 string RoR AMUSIC Adlib Tracker 566 5670 string JCH EdLib 568 5690 string mpu401tr MPU-401 Trakker 570 5710 string SAdT Surprise! Adlib Tracker 572>4 byte x Version %d 573 5740 string XAD! eXotic ADlib 575 5760 string ofTAZ! eXtra Simple Music 577 5780 string FMK! FM Kingtracker Song 579 5800 string DFM DFM Song 581 5820 string \<CUD-FM-File\> CFF Song 583 5840 string _A2module A2M Song 585 586# Spectrum 128 tunes (.ay files). 587# From: Emanuel Haupt <ehaupt@critical.ch> 5880 string ZXAYEMUL Spectrum 128 tune 589 5900 string \0BONK BONK, 591#>5 byte x version %d 592>14 byte x %d channel(s), 593>15 byte =1 lossless, 594>15 byte =0 lossy, 595>16 byte x mid-side 596 597384 string LockStream LockStream Embedded file (mostly MP3 on old Nokia phones) 598 599# format VQF (proprietary codec for sound) 600# some infos on the header file available at : 601# http://www.twinvq.org/english/technology_format.html 6020 string TWIN97012000 VQF data 603>27 short 0 \b, Mono 604>27 short 1 \b, Stereo 605>31 short >0 \b, %d kbit/s 606>35 short >0 \b, %d kHz 607 608# Nelson A. de Oliveira (naoliv@gmail.com) 609# .eqf 6100 string Winamp\ EQ\ library\ file %s 611# it will match only versions like v<digit>.<digit> 612# Since I saw only eqf files with version v1.1 I think that it's OK 613>23 string x \b%.4s 614# .preset 6150 string [Equalizer\ preset] XMMS equalizer preset 616# .m3u 6170 search/1 #EXTM3U M3U playlist text 618# .pls 6190 search/1 [playlist] PLS playlist text 620# licq.conf 6211 string [licq] LICQ configuration file 622 623# Atari ST audio files by Dirk Jagdmann <doj@cubic.org> 624# NOTE: Most SNDH music is packed using ICE, which has 625# magic numbers "ICE!" and "Ice!". Some SNDH music is 626# not packed, so we check for both packed and unpacked. 62712 string SNDH SNDH Atari ST music 6280 belong&0xFFDFDFFF 0x49434521 629>14 search/40 NDH SNDH Atari ST music 630>14 search/40 TITL SNDH Atari ST music 6310 string SC68\ Music-file\ /\ (c)\ (BeN)jami sc68 Atari ST music 632 633# musepak support From: "Jiri Pejchal" <jiri.pejchal@gmail.com> 6340 string MP+ Musepack audio (MP+) 635!:mime audio/x-musepack 636>3 byte 255 \b, SV pre8 637>3 byte&0xF 0x6 \b, SV 6 638>3 byte&0xF 0x8 \b, SV 8 639>3 byte&0xF 0x7 \b, SV 7 640>>3 byte&0xF0 0x0 \b.0 641>>3 byte&0xF0 0x10 \b.1 642>>3 byte&0xF0 240 \b.15 643>>10 byte&0xF0 0x0 \b, no profile 644>>10 byte&0xF0 0x10 \b, profile 'Unstable/Experimental' 645>>10 byte&0xF0 0x50 \b, quality 0 646>>10 byte&0xF0 0x60 \b, quality 1 647>>10 byte&0xF0 0x70 \b, quality 2 (Telephone) 648>>10 byte&0xF0 0x80 \b, quality 3 (Thumb) 649>>10 byte&0xF0 0x90 \b, quality 4 (Radio) 650>>10 byte&0xF0 0xA0 \b, quality 5 (Standard) 651>>10 byte&0xF0 0xB0 \b, quality 6 (Xtreme) 652>>10 byte&0xF0 0xC0 \b, quality 7 (Insane) 653>>10 byte&0xF0 0xD0 \b, quality 8 (BrainDead) 654>>10 byte&0xF0 0xE0 \b, quality 9 655>>10 byte&0xF0 0xF0 \b, quality 10 656>>27 byte 0x0 \b, Buschmann 1.7.0-9, Klemm 0.90-1.05 657>>27 byte 102 \b, Beta 1.02 658>>27 byte 104 \b, Beta 1.04 659>>27 byte 105 \b, Alpha 1.05 660>>27 byte 106 \b, Beta 1.06 661>>27 byte 110 \b, Release 1.1 662>>27 byte 111 \b, Alpha 1.11 663>>27 byte 112 \b, Beta 1.12 664>>27 byte 113 \b, Alpha 1.13 665>>27 byte 114 \b, Beta 1.14 666>>27 byte 115 \b, Alpha 1.15 667 6680 string MPCK Musepack audio (MPCK) 669!:mime audio/x-musepack 670 671# IMY 672# from http://filext.com/detaillist.php?extdetail=IMY 673# https://cellphones.about.com/od/cellularfaqs/f/rf_imelody.htm 674# http://download.ncl.ie/doc/api/ie/ncl/media/music/IMelody.html 675# http://www.wx800.com/msg/download/irda/iMelody.pdf 6760 string BEGIN:IMELODY iMelody Ringtone Format 677 678# From: "Mateus Caruccio" <mateus@caruccio.com> 679# guitar pro v3,4,5 from http://filext.com/file-extension/gp3 6800 string \030FICHIER\ GUITAR\ PRO\ v3. Guitar Pro Ver. 3 Tablature 681 682# From: "Leslie P. Polzer" <leslie.polzer@gmx.net> 68360 string SONG SoundFX Module sound file 684 685# Type: Adaptive Multi-Rate Codec 686# URL: http://filext.com/detaillist.php?extdetail=AMR 687# From: Russell Coker <russell@coker.com.au> 6880 string #!AMR Adaptive Multi-Rate Codec (GSM telephony) 689!:mime audio/amr 690!:ext amr 691 692# Type: SuperCollider 3 Synth Definition File Format 693# From: Mario Lang <mlang@debian.org> 6940 string SCgf SuperCollider3 Synth Definition file, 695>4 belong x version %d 696 697# Type: True Audio Lossless Audio 698# URL: https://wiki.multimedia.cx/index.php?title=True_Audio 699# From: Mike Melanson <mike@multimedia.cx> 7000 string TTA1 True Audio Lossless Audio 701 702# Type: WavPack Lossless Audio 703# URL: https://wiki.multimedia.cx/index.php?title=WavPack 704# From: Mike Melanson <mike@multimedia.cx> 7050 string wvpk WavPack Lossless Audio 706 707# From Fabio R. Schmidlin <frs@pop.com.br> 708# VGM music file 7090 string Vgm\040 710>9 ubyte >0 VGM Video Game Music dump v 711!:mime audio/x-vgm 712!:ext vgm 713>>9 ubyte/16 >0 \b%d 714>>9 ubyte&0x0F x \b%d 715>>8 ubyte/16 x \b.%d 716>>8 ubyte&0x0F >0 \b%d 717#Get soundchips 718>>8 ubyte x \b, soundchip(s)= 719>>0x0C ulelong >0 SN76489 (PSG), 720>>0x10 ulelong >0 YM2413 (OPLL), 721>>0x2C ulelong >0 YM2612 (OPN2), 722>>0x30 ulelong >0 YM2151 (OPM), 723>>0x38 ulelong >0 Sega PCM, 724>>0x34 ulelong >0xC 725>>>0x40 ulelong >0 RF5C68 (PCM), 726>>0x34 ulelong >0x10 727>>>0x44 ulelong >0 YM2203 (OPN), 728>>0x34 ulelong >0x14 729>>>0x48 ulelong >0 YM2608 (OPNA), 730>>0x34 ulelong >0x18 731>>>0x4C lelong >0 YM2610 (OPNB), 732>>>0x4C lelong <0 YM2610B (OPNB+2FM), 733>>0x34 ulelong >0x1C 734>>>0x50 ulelong >0 YM3812 (OPL2), 735>>0x34 ulelong >0x20 736>>>0x54 ulelong >0 YM3526 (OPL), 737>>0x34 ulelong >0x24 738>>>0x58 ulelong >0 Y8950 (MSX-Audio), 739>>0x34 ulelong >0x28 740>>>0x5C ulelong >0 YMF262 (OPL3), 741>>0x34 ulelong >0x2C 742>>>0x60 ulelong >0 YMF278B (OPL4), 743>>0x34 ulelong >0x30 744>>>0x64 ulelong >0 YMF271 (OPX), 745>>0x34 ulelong >0x34 746>>>0x68 ulelong >0 YMZ280B (PCMD8), 747>>0x34 ulelong >0x38 748>>>0x6C ulelong >0 RF5C164 (PCM), 749>>0x34 ulelong >0x3C 750>>>0x70 ulelong >0 PWM, 751>>0x34 ulelong >0x40 752>>>0x74 ulelong >0 753>>>>0x78 ubyte 0x00 AY-3-8910, 754>>>>0x78 ubyte 0x01 AY-3-8912, 755>>>>0x78 ubyte 0x02 AY-3-8913, 756>>>>0x78 ubyte 0x03 AY-3-8930, 757>>>>0x78 ubyte 0x10 YM2149, 758>>>>0x78 ubyte 0x11 YM3439, 759>>>>0x78 ubyte 0x12 YMZ284, 760>>>>0x78 ubyte 0x13 YMZ294, 761# VGM 1.61 762>>0x34 ulelong >0x4C 763>>>0x80 ulelong >0 DMG, 764>>0x34 ulelong >0x50 765>>>0x84 lelong >0 NES APU, 766>>>0x84 lelong <0 NES APU with FDS, 767>>0x34 ulelong >0x54 768>>>0x88 ulelong >0 MultiPCM, 769>>0x34 ulelong >0x58 770>>>0x8C ulelong >0 uPD7759 (ADPCM Speech), 771>>0x34 ulelong >0x5C 772>>>0x90 ulelong >0 OKIM6258 (ADPCM Speech), 773>>0x34 ulelong >0x64 774>>>0x98 ulelong >0 OKIM6295 (ADPCM), 775>>0x34 ulelong >0x68 776>>>0x9C ulelong >0 K051649, 777>>0x34 ulelong >0x6C 778>>>0xA0 ulelong >0 K054539, 779>>0x34 ulelong >0x70 780>>>0xA4 ulelong >0 HuC6280, 781>>0x34 ulelong >0x74 782>>>0xA8 ulelong >0 C140, 783>>0x34 ulelong >0x78 784>>>0xAC ulelong >0 K053260, 785>>0x34 ulelong >0x7C 786>>>0xB0 ulelong >0 Pokey, 787>>0x34 ulelong >0x80 788>>>0xB4 ulelong >0 QSound, 789# VGM 1.71 790>>0x34 ulelong >0x84 791>>>0xB8 ulelong >0 SCSP, 792>>0x34 ulelong >0x8C 793>>>0xC0 ulelong >0 WonderSwan, 794>>0x34 ulelong >0x90 795>>>0xC4 ulelong >0 VSU, 796>>0x34 ulelong >0x94 797>>>0xC8 ulelong >0 SAA1099, 798>>0x34 ulelong >0x98 799>>>0xCC ulelong >0 ES5503 (DOC), 800>>0x34 ulelong >0x9C 801>>>0xD0 lelong >0 ES5505 (OTIS), 802>>>0xD0 lelong <0 ES5506 (OTTO), 803>>0x34 ulelong >0xA4 804>>>0xD8 ulelong >0 X1-010, 805>>0x34 ulelong >0xA8 806>>>0xDC ulelong >0 C352, 807>>0x34 ulelong >0xAC 808>>>0xE0 ulelong >0 GA20, 809 810# GVOX Encore file format 811# Since this is a proprietary file format and there is no publicly available 812# format specification, this is just based on induction 813# 8140 string SCOW 815>4 byte 0xc4 GVOX Encore music, version 5.0 or above 816>4 byte 0xc2 GVOX Encore music, version < 5.0 817 8180 string ZBOT 819>4 byte 0xc5 GVOX Encore music, version < 5.0 820 821# Summary: Garmin Voice Processing Module (WAVE audios) 822# From: Joerg Jenderek 823# URL: https://www.garmin.com/ 824# Reference: http://www.poi-factory.com/node/19580 825# NOTE: there exist 2 other Garmin VPM formats 8260 string AUDIMG 827# skip text files starting with string "AUDIMG" 828>13 ubyte <13 Garmin Voice Processing Module 829!:mime audio/x-vpm-wav-garmin 830!:ext vpm 831# 3 bytes indicating the voice version (200,220) 832>>6 string x \b, version %3.3s 833# day of release (01-31) 834>>12 ubyte x \b, %.2d 835# month of release (01-12) 836>>13 ubyte x \b.%.2d 837# year of release (like 2006, 2007, 2008) 838>>14 uleshort x \b.%.4d 839# hour of release (0-23) 840>>11 ubyte x %.2d 841# minute of release (0-59) 842>>10 ubyte x \b:%.2d 843# second of release (0-59) 844>>9 ubyte x \b:%.2d 845# if you select a language like german on your garmin device 846# you can only select voice modules with corresponding language byte ID like 1 847>>18 ubyte x \b, language ID %d 848# structure for phrases/sentences? 849# number of voice sample in the 1st phrase? 850#>>19 uleshort x \b, %#x samples 851#>>>21 uleshort >0 \b, at %#4.4x 852#>>>(21.s) ubequad x %#llx 853# 2nd phrase? 854#>>23 uleshort x \b, %#x samples 855#>>>25 uleshort >0 \b, at %#4.4x 856#>>>(25.s) ubequad x %#llx 857# pointer to 1st audio WAV sample 858>>16 uleshort >0 859>>>(16.s) ulelong >0 \b, at %#x 860# WAV length 861# 1 space char after "bytes" to get phrase "bytes RIFF" 862>>>>(16.s+4) ulelong >0 %u bytes 863# look for magic 864>>>>>(&-8.l) string RIFF 865# determine type by ./riff 866>>>>>>&-4 indirect x 867# 2 - ~ 131 WAV samples following same way 868# 869# Summary: encrypted Garmin Voice Processing Module 870# From: Joerg Jenderek 871# URL: https://www.garmin.com/us/products/ontheroad/voicestudio 872# NOTE: Encrypted variant used in voices like DrNightmare, Elfred, Yeti. 873# There exist 2 other Garmin VPM formats 8740 ubequad 0xa141190fecc8ced6 Garmin Voice Processing Module (encrypted) 875!:mime audio/x-vpm-garmin 876!:ext vpm 877 878# From Martin Mueller Skarbiniks Pedersen 8790 string GDM 880>0x3 byte 0xFE General Digital Music. 881>0x4 string >\0 title: "%s" 882>0x24 string >\0 musician: "%s" 883>>0x44 beshort 0x0D0A 884>>>0x46 byte 0x1A 885>>>>0x47 string GMFS Version 886>>>>0x4B byte x %d. 887>>>>0x4C byte x \b%02d 888>>>>0x4D beshort 0x000 (2GDM v 889>>>>0x4F byte x \b%d. 890>>>>>0x50 byte x \b%d) 891 8920 string MTM Multitracker 893>0x3 byte/16 x Version %d. 894>0x3 byte&0x0F x \b%02d 895>>0x4 string >\0 title: "%s" 896 8970 string HVL 898>3 byte <2 Hively Tracker Song 899>3 byte 0 1 module data 900>3 byte 1 2 module data 901 9020 string MO3 903>3 ubyte <6 MOdule with MP3 904>>3 byte 0 Version 0 (With MP3 and lossless) 905>>3 byte 1 Version 1 (With ogg and lossless) 906>>3 byte 3 Version 2.2 907>>3 byte 4 (With no LAME header) 908>>3 byte 5 Version 2.4 909 9100 string ADRVPACK AProSys module 911 912# ftp://ftp.modland.com/pub/documents/format_documentation/\ 913# Art%20Of%20Noise%20(.aon).txt 9140 string AON 915>4 string "ArtOfNoise by Bastian Spiegel(twice/lego)" 916>0x2e string NAME Art of Noise Tracker Song 917>3 string <9 918>3 string 4 (4 voices) 919>3 string 8 (8 voices) 920>>0x36 string >\0 Title: "%s" 921 9220 string FAR 923>0x2c byte 0x0d 924>0x2d byte 0x0a 925>0x2e byte 0x1a 926>>0x3 byte 0xFE Farandole Tracker Song 927>>>0x31 byte/16 x Version %d. 928>>>0x31 byte&0x0F x \b%02d 929>>>>0x4 string >\0 \b, title: "%s" 930 931# magic for Klystrack, https://kometbomb.github.io/klystrack/ 932# from Alex Myczko <alex@aiei.ch> 9330 string cyd!song Klystrack song 934>8 byte >0 \b, version %u 935>8 byte >26 936#>>9 byte x \b, channels %u 937#>>10 leshort x \b, time signature %u 938#>>12 leshort x \b, sequence step %u 939#>>14 byte x \b, instruments %u 940#>>15 leshort x \b, patterns %u 941#>>17 leshort x \b, sequences %u 942#>>19 leshort x \b, length %u 943#>>21 leshort x \b, loop point %u 944#>>23 byte x \b, master volume %u 945#>>24 byte x \b, song speed %u 946#>>25 byte x \b, song speed2 %u 947#>>26 byte x \b, song rate %u 948#>>27 belong x \b, flags %#x 949#>>31 byte x \b, multiplex period %u 950#>>32 byte x \b, pitch inaccuracy %u 951>>149 pstring x \b, title %s 952 9530 string cyd!inst Klystrack instrument 954 955# magic for WOPL instrument files, https://github.com/Wohlstand/OPL3BankEditor 956# see Specifications/WOPL-and-OPLI-Specification.txt 957 9580 string WOPL3-INST\0 WOPL instrument 959>11 leshort x \b, version %u 9600 string WOPL3-BANK\0 WOPL instrument bank 961>11 leshort x \b, version %u 962 963# AdLib/OPL instrument files. Format specifications on 964# http://www.shikadi.net/moddingwiki 9650 string Junglevision\ Patch\ File Junglevision instrument data 9660 string #OPL_II# DMX OP2 instrument data 9670 string IBK\x1a IBK instrument data 9680 string 2OP\x1a IBK instrument data, 2 operators 9690 string 4OP\x1a IBK instrument data, 4 operators 9702 string ADLIB- AdLib instrument data 971>0 byte x \b, version %u 972>1 byte x \b.%u 973 974# CRI ADX ADPCM audio 975# Used by various Sega games. 976# https://en.wikipedia.org/wiki/ADX_(file_format) 977# https://wiki.multimedia.cx/index.php/CRI_ADX_file 978# Added by David Korth <gerbilsoft@gerbilsoft.com> 9790x00 beshort 0x8000 980>(2.S-2) string (c)CRI CRI ADX ADPCM audio 981!:ext adx 982!:mime audio/x-adx 983!:strength +50 984>>0x12 byte x v%u 985>>0x04 byte 0x02 \b, pre-set prediction coefficients 986>>0x04 byte 0x03 \b, standard ADX 987>>0x04 byte 0x04 \b, exponential scale 988>>0x04 byte 0x10 \b, AHX (Dreamcast) 989>>0x04 byte 0x11 \b, AHX 990>>0x08 belong x \b, %u Hz 991>>0x12 byte 0x03 992>>>0x02 beshort >0x2B 993>>>>0x18 belong !0 \b, looping 994>>0x12 byte 0x04 995>>>0x02 beshort >0x37 996>>>>0x24 belong !0 \b, looping 997>>0x13 byte&0x08 0x08 \b, encrypted 998 999# Lossless audio (.la) (http://www.lossless-audio.com/) 10000 string LA 1001>2 string 03 Lossless audio version 0.3 1002>2 string 04 Lossless audio version 0.4 1003 1004# Sony PlayStation Audio (.xa) 10050 leshort 0x4158 Sony PlayStation Audio 1006 1007# Portable Sound Format 1008# Used for audio rips for various consoles. 1009# http://fileformats.archiveteam.org/wiki/Portable_Sound_Format 1010# Added by David Korth <gerbilsoft@gerbilsoft.com> 10110 string PSF 1012>3 byte 0x01 1013>3 byte 0x02 1014>3 byte 0x11 1015>3 byte 0x12 1016>3 byte 0x13 1017>3 byte 0x21 1018>3 byte 0x22 1019>3 byte 0x23 1020>3 byte 0x41 1021>>0 string PSF Portable Sound Format 1022!:mime audio/x-psf 1023>>>3 byte 0x01 (Sony PlayStation) 1024>>>3 byte 0x02 (Sony PlayStation 2) 1025>>>3 byte 0x11 (Sega Saturn) 1026>>>3 byte 0x12 (Sega Dreamcast) 1027>>>3 byte 0x13 (Sega Mega Drive) 1028>>>3 byte 0x21 (Nintendo 64) 1029>>>3 byte 0x22 (Game Boy Advance) 1030>>>3 byte 0x23 (Super NES) 1031>>>3 byte 0x41 (Capcom QSound) 1032 1033# Atari 8-bit SAP audio format 1034# http://asap.sourceforge.net/sap-format.html 1035# Added by David Korth <gerbilsoft@gerbilsoft.com> 10360 string SAP\r\n Atari 8-bit SAP audio file 1037!:mime audio/x-sap 1038!:ext sap 1039>5 search/1024 NAME 1040>>&1 string x \b: %s 1041>>5 search/1024 AUTHOR 1042>>>&1 string x by %s 1043 1044# Nintendo Wii BRSTM audio format (fields) 1045# NOTE: Assuming HEAD starts at 0x40. 1046# FIXME: Replace 0x48 with HEAD offset plus 8. 10470 name nintendo-wii-brstm-fields 1048>(0x10.L) string HEAD \b: 1049>>(0x10.L+0x0C) belong x 1050>>>(&-4.L+0x48) belong x 1051>>>>&-4 byte 0 PCM, signed 8-bit, 1052>>>>&-4 byte 1 PCM, signed 16-bit, 1053>>>>&-4 byte 2 THP ADPCM, 1054>>>>&-3 byte !0 looping, 1055>>>>&-2 byte 1 mono 1056>>>>&-2 byte 2 stereo 1057>>>>&-2 byte 3 3 channels 1058>>>>&-2 byte 4 quad 1059>>>>&-2 byte >4 %u channels 1060>>>>&0 beshort !0 %u Hz 1061 1062# Nintendo Wii BRSTM audio format 1063# https://wiibrew.org/wiki/BRSTM_file 1064# Added by David Korth <gerbilsoft@gerbilsoft.com> 10650 string RSTM Nintendo Wii BRSTM audio file 1066!:mime audio/x-brstm 1067!:ext brstm 1068# Wii is big-endian, so default to BE. 1069>4 beshort 0xFEFF 1070>>0 use nintendo-wii-brstm-fields 1071>4 leshort 0xFEFF 1072>>0 use \^nintendo-wii-brstm-fields 1073 1074# Nintendo 3DS BCSTM audio format (fields) 10750 name nintendo-3ds-bcstm-fields 1076>(0x18.l) string INFO \b: 1077# INFO block: Stream information starts at 0x20 (minus 4 for the 'INFO' magic) 1078>>&0x1C byte 0 PCM, signed 8-bit, 1079>>&0x1C byte 1 PCM, signed 16-bit, 1080>>&0x1C byte 2 DSP ADPCM, 1081>>&0x1C byte 3 IMA ADPCM, 1082>>&0x1D byte !0 looping, 1083>>&0x1E byte 1 mono 1084>>&0x1E byte 2 stereo 1085>>&0x1E byte 3 3 channels 1086>>&0x1E byte 4 quad 1087>>&0x1E byte >4 %u channels 1088>>&0x20 lelong !0 %u Hz 1089 1090# Nintendo 3DS BCSTM audio format 1091# https://www.3dbrew.org/wiki/BCSTM 1092# Added by David Korth <gerbilsoft@gerbilsoft.com> 10930 string CSTM Nintendo 3DS BCSTM audio file 1094!:mime audio/x-bcstm 1095!:ext bcstm 1096# 3DS is little-endian, so default to LE. 1097>4 leshort 0xFEFF 1098>>0 use nintendo-3ds-bcstm-fields 1099>4 beshort 0xFEFF 1100>>0 use \^nintendo-3ds-bcstm-fields 1101 1102# Nintendo Wii U BFSTM audio format 1103# http://mk8.tockdom.com/wiki/BFSTM_(File_Format) 1104# NOTE: This format is very similar to BCSTM. 1105# Added by David Korth <gerbilsoft@gerbilsoft.com> 11060 string FSTM Nintendo Wii U BFSTM audio file 1107!:mime audio/x-bfstm 1108!:ext bfstm 1109# BFSTM is used on both Wii U (BE) and Switch (LE), 1110# so default to LE. 1111>4 leshort 0xFEFF 1112>>0 use nintendo-3ds-bcstm-fields 1113>4 beshort 0xFEFF 1114>>0 use \^nintendo-3ds-bcstm-fields 1115 1116# Nintendo 3DS BCSTM audio format (fields) 11170 name nintendo-3ds-bcwav-fields 1118>(0x18.l) string INFO \b: 1119# INFO block (minus 4 for INFO magic) 1120>>&0x4 byte 0 PCM, signed 8-bit, 1121>>&0x4 byte 1 PCM, signed 16-bit, 1122>>&0x4 byte 2 DSP ADPCM, 1123>>&0x4 byte 3 IMA ADPCM, 1124>>&0x5 byte !0 looping, 1125>>&0x8 lelong x stereo 1126>>&0x8 lelong !0 %u Hz 1127 1128# Nintendo 3DS BCWAV audio format 1129# https://www.3dbrew.org/wiki/BCWAV 1130# Added by David Korth <gerbilsoft@gerbilsoft.com> 11310 string CWAV Nintendo 3DS BCWAV audio file 1132!:mime audio/x-bcwav 1133!:ext bcwav 1134# 3DS is little-endian, so default to LE. 1135>4 leshort 0xFEFF 1136>>0 use nintendo-3ds-bcwav-fields 1137>4 beshort 0xFEFF 1138>>0 use \^nintendo-3ds-bcwav-fields 1139