#------------------------------------------------------------------------------ # audio: file(1) magic for sound formats (see also "iff") # # Jan Nicolai Langfeldt (janl@ifi.uio.no), Dan Quinlan (quinlan@yggdrasil.com), # and others # # Sun/NeXT audio data 0 string .snd Sun/NeXT audio data: >12 belong 1 8-bit ISDN u-law, >12 belong 2 8-bit linear PCM [REF-PCM], >12 belong 3 16-bit linear PCM, >12 belong 4 24-bit linear PCM, >12 belong 5 32-bit linear PCM, >12 belong 6 32-bit IEEE floating point, >12 belong 7 64-bit IEEE floating point, >12 belong 23 8-bit ISDN u-law compressed (CCITT G.721 ADPCM voice data encoding), >12 belong 24 compressed (8-bit G.722 ADPCM) >12 belong 25 compressed (3-bit G.723 ADPCM), >12 belong 26 compressed (5-bit G.723 ADPCM), >12 belong 27 8-bit A-law, >20 belong 1 mono, >20 belong 2 stereo, >20 belong 4 quad, >16 belong >0 %d Hz # DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format # that uses little-endian encoding and has a different magic number 0 lelong 0x0064732E DEC audio data: >12 lelong 1 8-bit ISDN u-law, >12 lelong 2 8-bit linear PCM [REF-PCM], >12 lelong 3 16-bit linear PCM, >12 lelong 4 24-bit linear PCM, >12 lelong 5 32-bit linear PCM, >12 lelong 6 32-bit IEEE floating point, >12 lelong 7 64-bit IEEE floating point, >12 lelong 23 8-bit ISDN u-law compressed (CCITT G.721 ADPCM voice data encoding), >20 lelong 1 mono, >20 lelong 2 stereo, >20 lelong 4 quad, >16 lelong >0 %d Hz # Creative Labs AUDIO stuff 0 string MThd Standard MIDI data >9 byte >0 (format %d) >11 byte >1 using %d tracks 0 string CTMF Creative Music (CMF) data 0 string SBI SoundBlaster instrument data 0 string Creative\ Voice\ File Creative Labs voice data # is this next line right? it came this way... >19 byte 0x1A >23 byte >0 - version %d >22 byte >0 \b.%d # first entry is also the string "NTRK" 0 belong 0x4e54524b MultiTrack sound data >4 belong x - version %ld # Extended MOD format (*.emd) (Greg Roelofs, newt@uchicago.edu); NOT TESTED # [based on posting 940824 by "Dirk/Elastik", husberg@lehtori.cc.tut.fi] 0 string EMOD Extended MOD sound data, >4 byte&0xf0 x version %d >4 byte&0x0f x \b.%d, >45 byte x %d instruments >83 byte 0 (module) >83 byte 1 (song) # Real Audio (Magic .ra\0375) 0 belong 0x2e7261fd realaudio sound file # MTM/669/FAR/S3M/ULT/XM format checking [Aaron Eppert, aeppert@dialin.ind.net] # Oct 31, 1995 0 string MTM MultiTracker Module sound file 0 string if Composer 669 Module sound data 0 string FAR Module sound data 0 string MAS_U ULT(imate) Module sound data 0x2c string SCRM ScreamTracker III Module sound data 0 string Extended Module Extended Module sound data # Gravis UltraSound patches # From 0 string GF1PATCH110\0ID#000002\0 GUS patch 0 string GF1PATCH100\0ID#000002\0 Old GUS patch # # Taken from loader code from mikmod version 2.14 # by Steve McIntyre (stevem@chiark.greenend.org.uk) 0 string JN extended 669 module data 0 string MAS_UTrack_V00 >14 string >/0 ultratracker V1.%.1s module sound data 0 string UN05 MikMod UNI format module sound data 0 string Extended\ Module: Fasttracker II module sound data 21 string !SCREAM! Screamtracker 2 module sound data 1080 string M.K. 4-channel Protracker module sound data 1080 string M!K! 4-channel Protracker module sound data 1080 string FLT4 4-channel Startracker module sound data 1080 string 4CHN 4-channel Fasttracker module sound data 1080 string 6CHN 6-channel Fasttracker module sound data 1080 string 8CHN 8-channel Fasttracker module sound data 1080 string CD81 8-channel Oktalyzer module sound data 1080 string OKTA 8-channel Oktalyzer module sound data 1082 string CH >1080 string >/0 %.2s-channel Fasttracker "oktalyzer" module sound data 1080 string 16CN 16-channel Taketracker module sound data 1080 string 32CN 32-channel Taketracker module sound data # TOC sound files -Trevor Johnson # 0 string TOC TOC sound file # Show MPEG level, layer, kbit/s, hz, stereo/mono for an MPG audio file. # This section is lengthy because the kbit/s rate depends on the # level and layer, and file(1) doesn't allow math on the values. # From # ####### MPEG begins with three hex 'f' nibbles. 0 beshort&0xfff0 0xfff0 MPEG ####### Level 2 >1 byte&0x08 0x00 2.0 >>1 byte&0x06 0x00 Layer Unknown, ####### Level 2, Layers I, II, and III >>1 byte&0x06 0x02 Layer III, >>>2 byte&0xf0 0x00 0 kbit/s, >>>2 byte&0xf0 0x10 8 kbit/s, >>>2 byte&0xf0 0x20 16 kbit/s, >>>2 byte&0xf0 0x30 24 kbit/s, >>>2 byte&0xf0 0x40 32 kbit/s, >>>2 byte&0xf0 0x50 40 kbit/s, >>>2 byte&0xf0 0x60 48 kbit/s, >>>2 byte&0xf0 0x70 56 kbit/s, >>>2 byte&0xf0 0x80 64 kbit/s, >>>2 byte&0xf0 0x90 80 kbit/s, >>>2 byte&0xf0 0xa0 96 kbit/s, >>>2 byte&0xf0 0xb0 112 kbit/s, >>>2 byte&0xf0 0xc0 128 kbit/s, >>>2 byte&0xf0 0xd0 144 kbit/s, >>>2 byte&0xf0 0xe0 160 kbit/s, >>>2 byte&0xf0 0xf0 ? kbit/s, >>1 byte&0x06 0x04 Layer II, >>>2 byte&0xf0 0x00 0 kbit/s, >>>2 byte&0xf0 0x10 8 kbit/s, >>>2 byte&0xf0 0x20 16 kbit/s, >>>2 byte&0xf0 0x30 24 kbit/s, >>>2 byte&0xf0 0x40 32 kbit/s, >>>2 byte&0xf0 0x50 40 kbit/s, >>>2 byte&0xf0 0x60 48 kbit/s, >>>2 byte&0xf0 0x70 56 kbit/s, >>>2 byte&0xf0 0x80 64 kbit/s, >>>2 byte&0xf0 0x90 80 kbit/s, >>>2 byte&0xf0 0xa0 96 kbit/s, >>>2 byte&0xf0 0xb0 112 kbit/s, >>>2 byte&0xf0 0xc0 128 kbit/s, >>>2 byte&0xf0 0xd0 144 kbit/s, >>>2 byte&0xf0 0xe0 160 kbit/s, >>>2 byte&0xf0 0xf0 ? kbit/s, >>1 byte&0x06 0x06 Layer I, >>>2 byte&0xf0 0x00 0 kbit/s, >>>2 byte&0xf0 0x10 32 kbit/s, >>>2 byte&0xf0 0x20 48 kbit/s, >>>2 byte&0xf0 0x30 56 kbit/s, >>>2 byte&0xf0 0x40 64 kbit/s, >>>2 byte&0xf0 0x50 80 kbit/s, >>>2 byte&0xf0 0x60 96 kbit/s, >>>2 byte&0xf0 0x70 112 kbit/s, >>>2 byte&0xf0 0x80 128 kbit/s, >>>2 byte&0xf0 0x90 144 kbit/s, >>>2 byte&0xf0 0xa0 160 kbit/s, >>>2 byte&0xf0 0xb0 176 kbit/s, >>>2 byte&0xf0 0xc0 192 kbit/s, >>>2 byte&0xf0 0xd0 224 kbit/s, >>>2 byte&0xf0 0xe0 256 kbit/s, >>>2 byte&0xf0 0xf0 ? kbit/s, ####### Level 2, Hz >>2 byte&0x0c 0x00 22050 Hz >>2 byte&0x0c 0x04 24000 Hz >>2 byte&0x0c 0x08 16000 Hz >>2 byte&0x0c 0x0c ? Hz ####### Level 1 decoding >1 byte&0x08 0x08 1.0 >>1 byte&0x06 0x00 Layer Unknown. ####### Level 1, Layers I, II, and III >>1 byte&0x06 0x02 Layer III, >>>2 byte&0xf0 0x00 0 kbit/s, >>>2 byte&0xf0 0x10 32 kbit/s, >>>2 byte&0xf0 0x20 40 kbit/s, >>>2 byte&0xf0 0x30 48 kbit/s, >>>2 byte&0xf0 0x40 56 kbit/s, >>>2 byte&0xf0 0x50 64 kbit/s, >>>2 byte&0xf0 0x60 80 kbit/s, >>>2 byte&0xf0 0x70 96 kbit/s, >>>2 byte&0xf0 0x80 112 kbit/s, >>>2 byte&0xf0 0x90 128 kbit/s, >>>2 byte&0xf0 0xa0 160 kbit/s, >>>2 byte&0xf0 0xb0 192 kbit/s, >>>2 byte&0xf0 0xc0 224 kbit/s, >>>2 byte&0xf0 0xd0 256 kbit/s, >>>2 byte&0xf0 0xe0 320 kbit/s, >>>2 byte&0xf0 0xf0 ? kbit/s, >>1 byte&0x06 0x04 Layer II, >>>2 byte&0xf0 0x00 0 kbit/s, >>>2 byte&0xf0 0x10 32 kbit/s, >>>2 byte&0xf0 0x20 48 kbit/s, >>>2 byte&0xf0 0x30 56 kbit/s, >>>2 byte&0xf0 0x40 64 kbit/s, >>>2 byte&0xf0 0x50 80 kbit/s, >>>2 byte&0xf0 0x60 96 kbit/s, >>>2 byte&0xf0 0x70 112 kbit/s, >>>2 byte&0xf0 0x80 128 kbit/s, >>>2 byte&0xf0 0x90 160 kbit/s, >>>2 byte&0xf0 0xa0 192 kbit/s, >>>2 byte&0xf0 0xb0 224 kbit/s, >>>2 byte&0xf0 0xc0 256 kbit/s, >>>2 byte&0xf0 0xd0 320 kbit/s, >>>2 byte&0xf0 0xe0 384 kbit/s, >>>2 byte&0xf0 0xf0 ? kbit/s, >>1 byte&0x06 0x06 Layer I, >>>2 byte&0xf0 0x00 0 kbit/s, >>>2 byte&0xf0 0x10 32 kbit/s, >>>2 byte&0xf0 0x20 64 kbit/s, >>>2 byte&0xf0 0x30 96 kbit/s, >>>2 byte&0xf0 0x40 128 kbit/s, >>>2 byte&0xf0 0x50 160 kbit/s, >>>2 byte&0xf0 0x60 192 kbit/s, >>>2 byte&0xf0 0x70 224 kbit/s, >>>2 byte&0xf0 0x80 256 kbit/s, >>>2 byte&0xf0 0x90 288 kbit/s, >>>2 byte&0xf0 0xa0 320 kbit/s, >>>2 byte&0xf0 0xb0 352 kbit/s, >>>2 byte&0xf0 0xc0 384 kbit/s, >>>2 byte&0xf0 0xd0 416 kbit/s, >>>2 byte&0xf0 0xe0 448 kbit/s, >>>2 byte&0xf0 0xf0 ? kbit/s, ####### Level 2, Hz >>2 byte&0x0c 0x00 44100 Hz >>2 byte&0x0c 0x04 48000 Hz >>2 byte&0x0c 0x08 32000 Hz >>2 byte&0x0c 0x0c ? Hz ####### Stereo or Mono >3 byte&0xc0 0x00 stereo >3 byte&0xc0 0x40 joint-stereo >3 byte&0xc0 0x80 dual-channel >3 byte&0xc0 0xc0 mono