Closed NebularNerd closed 5 months ago
There were a couple more I left out for now as I would like to see if it's possible to implement #57 first.
Nice job gathering all these, @NebularNerd!
@xibe Thanks! 🙂
It took a while but it's much easier to enjoy some of my old Tracker music I had laying around now I can identify or actually play them. Some of the rabbit holes I went down have given me ideas for retro/obscure types to add.
Hi @NebularNerd I merged the other PR first, could you resolve the conflicts of this one and can add it :)
Hi @cdgriffith, all fixed. We should be good to go now. I was not sure if that was for me to resolve or not. But I learned another new GitHub thing for the day 🙂
Big MED, MOD, IT and similar tracker format updates:
These old Tracker formats come in many shapes and sizes; this covers a chunk (but by no means all) of them. It's not perfect as some info is not available, also some very old SoundTracker .mods for example have no true fingerprints (the player software has to look at several factors to determine if it is).
There's a couple of compression formats that were used in conjunction with these files as well. This is a bit of a wordy PR, but as some of this info was so hard to find I'm leaving it here for others to make use of.
I also removed a duplicate for MIDI which I can across 🙂
PowerPacker
.pp
:Fingerprints:
0x50503131
/PP11
= Rare older format0x50503230
/PP20
= Common0x50583230
/PX20
= EncryptedA commonly used executable and data compression format on the Commodore Amiga computers. Unpacking these will reveal what they really are inside.
Links:
Fred Editor
.fred
:Fingerprints:
0x4672656420456469746F7220
/Fred Editor
= Fred Song0x4efa????4efa????4efa????4efa????
/Nú????Nú????Nú????Nú????
= Fred Mod, I'll use a split to capture bytes 0-1 and 12-13, this covers the 'width' of the headerA tracker style music format for the Amiga, almost no information left on the net about it. This one almost lost zip contains info about the two formats used:
Links:
ZXEMUL
.ay
:Fingerprints:
0x5a584159454d554c
/ZXEMUL
AY tunes from older computers, there are some different versions/variants but the header will always be present.
Links:
Custom Amiga Module
.cust
:Fingerprints:
0x70ff4e7544454c495249554d
/pÿNuDELIRIUM
at either offset 32 or 36An Amiga song format primarily used in games, there seem to be two file variants but almost no real info about the format, I guess one is older than the other.
Links:
AHX/THX Music Tracker Module
.ahx
(formally.thx
):Fingerprints:
0x54485800
/THX
= AHX0/THX0x54485801
/THX
= AHX1Another Amiga music format. Renamed to AHX for legal reasons to do with that bloke who made films about people fighting with glowing swords, then decided to make a popular movie sound standard.
Links:
MYST YM Tracker format
.myst
(sometimes.ym
):Fingerprints:
0x594D5354
/YMST
Another old computer music format from the Atari ST systems. There are a few .ym formats so I'll follow the modern .myst extension.
Links:
David Whittaker tracker format
.dw
:Fingerprints:
0x48e7f1fe6100
/Hç±¾a
The string may get partially interpreted as the Japanese character 籾 (rice husks) on some browsers/systems 🤪Another tracker format created by the game musician himself for Amiga games. There are a couple of versions, however, all files seem to start with the same header
Links:
Brian Postma SoundMon
.bp
:Fingerprints:
-
0x562E32
/V.2
at offset 26 -0x562E33
/V.3
at offset 26Another tracker format mainly used in Amiga games, seems to be two versions (I only have one V.3 file in my collection)
Links:
SoundFX module
.sfx
and.sfx2
:Fingerprints:
0x534F4E47
/SONG
at offset 60 for v1.0, v1.8, v1.90x534f3331
/SO31
at offset 124 for v2.0Another Amiga based tracker format, not a lot of info out there.
Links:
PokeyNoise Chiptune
.pn
:Fingerprints:
0xffffe002e102
/ÿÿ¡
Super obscure Atari chiptune music format, almost zero info, can't even find a player for them at present. The more modern
.SAP
format is the main Atari POKEY song format now.Links:
Impulse tracker (and clones) and OpenMPT:
Impulse tracker is already in the database, however, loads of trackers hijacked the main
0x494D504D
/IMPM
fingerprint. As there as so many versions I've left the default entry and added secondary fingerprints for variants we can identify. If we come across other variants, we just need to add them to themulti-part-headers
section. Some formats like the early BeRo Tracker have multiple fingerprints per file (and they may not have a fixed position) so we can only match as best as. Due to this there will be duplicates under certain matches.Links:
XPACK file compressor
.xpack
:Fingerprints:
0x585041434b
/XPACK
Came across this while trying to unpack/decipher another file in my collection, it was not the one I was looking for, but seeing as I made a test file to compare the header it's not a major effort to add
Links:
Ultimate Soundtracker (aka Soundtracker) and clones
.mod
:Fingerprints at offset 1080:
0x4d2e4b2e
/M.K.
= Soundtracker0x4f435441
/OCTA
= OctaComposer0x3243484e
/2CHN
= Fast Tracker 2 Channel0x3443484e
/4CHN
= Fast Tracker 4 Channel0x3643484e
/6CHN
= Fast Tracker 6 Channel0x3843484e
/8CHN
= Fast Tracker 8 Channel0x31304348
/10CH
= Fast Tracker 10 Channel0x31324348
/12CH
= Fast Tracker 12 Channel0x31344348
/14CH
= Fast Tracker 14 Channel0x31364348
/16CH
= Fast Tracker 16 Channel0x31384348
/18CH
= Fast Tracker 18 Channel0x32304348
/20CH
= Fast Tracker 20 Channel0x32324348
/22CH
= Fast Tracker 22 Channel0x32344348
/24CH
= Fast Tracker 24 Channel0x32364348
/26CH
= Fast Tracker 26 Channel0x32384348
/28CH
= Fast Tracker 28 Channel0x33304348
/30CH
= Fast Tracker 30 Channel0x33324348
/32CH
= Fast Tracker 32 Channel0x43443831
/CD81
= Falcon 8 channel0x54445a31
/TDZ1
= TakeTracker 1 channel0x54445a32
/TDZ2
= TakeTracker 2 channel0x54445A33
/TDZ3
= TakeTracker 3 channel0x3543484E
/5CHN
= TakeTracker 5 channel0x3743484E
/7CHN
= TakeTracker 7 channel0x3943484E
/9CHN
= TakeTracker 9 channel0x31314348
/11CH
= TakeTracker 11 channel0x31334348
/13CH
= TakeTracker 13 channel0x31354348
/15CH
= TakeTracker 15 channel0x4D264B21
/M&K!
= fleg's module train-er0x4d214b21
/M!K!
= ProTracker 2.3 >64 Patterns0x4e2e542e
/N.T.
= NoiseTrackerFingerprints for SoundTracker 2.6:
0x4d544e
/MTN
at offset 1464 = SoundTracker 2.6Fingerprints for StarTrekker:
0x464c5434
/FLT4
at offset 1080 in.mod
= StarTrekker 4 Channel0x464c5438
/FLT8
at offset 1080 in.mod
= StarTrekker 8 Channel0x5354312e
/ST1.
at offset 0, then0x4d6f64756c65494e464f
/ModuleINFO
at offset 6 in.nt
= StarTrekker FM Synth Pattern file (we can safely skip the subversion at offset 4)Fingerprints at offset 0:
0x5041434b
/PACK
= SoundTracker compressed song dataThe Granddaddy of the tracker-based music formats, much like Impulse tracker there are dozens of subversions but they all (mostly) contain a header at offset 1080. These will confidence clash with
Compucon-Singer embroidery design file
if no song name was stored in the mod.The StarTrekker stuff is clever/weird, they use an external file to store the FM Synth pattern used, without this some mods will sound off/broken away from a player that understands them. Big thanks to @stefandrissen on https://github.com/cmatsuoka/tracker-history/issues/6 for helping explain that one.
The
PACK
header was a killer to understand, I knew they were .mod's of some kind (It turns out they are just the song data, sans samples), but there exists next to nothing aside from the two links below to describe what this was. The header is used for dozens (literally) of formats ranging from fake PowerPacker clones to Quake data files so expect confidence clashes.Links:
MED/OctaMED, Multitracker, 669, UltraTracker, MO3:
Tidies up existing entries that either lacked versioning info or misreported other formats as
.med
Links:
Future Composer (Amiga)
.fc
:Fingerprints:
0x534d4f44
/SMOD
= v1.0 - v1.30x46433134
/FC14
= v1.4Another Amiga tracker format, shares it name with a C64 music editor but they are not the same. A couple of versions but loads of possible extensions
.fc
,.fc13
,.fc14
,.smc
,.smod
.Links:
TCB Tracker
.mod
:Fingerprints:
0x414E20434F4F4C2E
/AN COOL.
0x414E20434F4F4C21
/AN COOL!
An Atari ST Tracker format, commonly used in games. There are two fingerprints, one is newer but not sure which way round they are.
Links:
PowerplayerMusic Cruncher
.pmc
:Fingerprints:
0x53464844
/SFHD
= v1.00x53464344
/SFCD
= v2.0An Amiga file compression format for SoundTracker style files, only PowerPlayer can play these, otherwise you need to unpack them to get the original .mod which will play anywhere.
Links:
Oktalyzer
.okt
.okta
:Fingerprints:
0x4f4b5441534f4e47
/OKTASONG
= IFF Style .okt.okta
= Rare memory style, adding as extension only due to lack of sample filesAnother 8 Channel Tracker format from the Amiga, very popular in the demo scene. A couple of files types but only one seems to be in use, because the extensions are used willy nilly, trust the confidence 🙂
Links:
Creative Labs AWE Soundbank
.sbk
:Fingerprints:
0x52494646
/RIFF
at offset 0, then0x7366626b4c495354
/sfbkLIST
at offset 8These are custom soundbanks to be used with MIDI files, when loaded onto the AWE and used with the matching MIDI file and they supplement the stock instruments with those the artist created. These can be converted to the modern SoundFont .SF2 for use in MIDI software without needing to own an AWE.