Rock me Amadeus! Yes, another music format. Or two? Happy #WDPD2026!
I have found in my research that generally when a format format is needed for software, an extension is chosen based on a recognized pattern that fits with the software’s name or purpose and also something unique to keep confusion limited. Extensions are often three characters long, but over the years with modern operating systems some formats are given four or more characters. So would would think with using more than three characters the extension should be more unique. But there are always exceptions!
For today, I am looking into the extension AMAD. It seems clear this extension belongs to software such as Amadeus. While this is true, there is still some confusion on which Amadeus we are discussing.
Chiptune
The first format to discuss is based on Chiptune technology. This refers to the early intersection of electronic music used in video games and synthesized music. Early arcade games used programmable sound hardware to create complex sound effects and musical compositions. These hardware systems could generate musical waveforms in real time. Later when sound used in video games and other hardware was true recorded music, the need for sound chips was used less, but many still wanted to retain the original simple sounds used earlier.
This led to the AY Amadeus chiptune format. It is a subtype of the AY music file format, which was developed to preserve and reproduce music originally written for the ZX Spectrum’s AY-3-8910 sound chip in the mid 1980’s. The significance of AMAD is that it preserves the original music data and playback requirements rather than simply storing a recording of the resulting sound. You can read more about this format here.
Let’s take a look at some samples.
% hexdump -C ghostbusters.amad | head
00000000 5a 58 41 59 41 4d 41 44 00 00 00 00 00 19 00 00 |ZXAYAMAD........|
00000010 00 00 00 02 00 04 00 38 47 68 6f 73 74 42 75 73 |.......8GhostBus|
00000020 74 65 72 73 00 46 72 61 6e 74 69 73 65 6b 20 46 |ters.Frantisek F|
00000030 75 6b 61 2c 20 6f 72 69 67 2e 20 62 79 20 52 61 |uka, orig. by Ra|
00000040 79 20 50 61 72 6b 65 72 20 4a 72 2e 00 00 f9 b0 |y Parker Jr...??|
00000050 1f 01 24 60 ff 40 00 01 00 01 02 03 b6 f9 90 fb |..$`?@......??.?|
00000060 8e fc 87 ea fd 86 a9 fe 24 30 20 30 1f 30 1e 30 |.?.??.??$0 0.0.0|
00000070 1d 30 27 30 87 b0 fd 23 60 84 14 85 00 82 08 2f |.0'0.??#`....../|
00000080 01 00 05 83 85 08 87 00 fe 86 4e fe 84 09 85 00 |........?.N?....|
00000090 82 08 28 06 83 87 b0 fd 84 1f 85 00 8a 82 20 53 |..(...??...... S|
% hexdump -C popcorn.amad | head
00000000 5a 58 41 59 41 4d 41 44 00 02 00 00 00 14 00 30 |ZXAYAMAD.......0|
00000010 00 00 00 02 00 04 00 4c 50 6f 70 63 6f 72 6e 00 |.......LPopcorn.|
00000020 50 61 74 72 69 6b 20 52 61 6b 2c 20 6f 72 69 67 |Patrik Rak, orig|
00000030 2e 20 62 79 20 4b 69 6e 67 73 6c 65 79 00 53 70 |. by Kingsley.Sp|
00000040 61 63 65 20 43 72 75 73 61 64 65 72 73 2c 20 28 |ace Crusaders, (|
00000050 43 29 20 31 39 39 31 20 53 63 6f 72 70 69 6f 6e |C) 1991 Scorpion|
00000060 00 00 c0 00 1f 01 0a 28 00 00 00 64 00 03 02 01 |..?....(...d....|
00000070 88 c0 06 c0 0b c0 00 00 80 06 c0 86 58 c1 87 51 |.?.?.?....?.X?.Q|
00000080 c1 00 14 82 02 82 04 88 02 81 50 c0 83 88 05 81 |?.........P?....|
00000090 60 c0 88 00 81 60 c0 82 02 88 02 81 50 c0 83 83 |`?...`?.....P?..|
The first four bytes use the hex values “5A 58 41 59” or “ZXAY” in ASCII. Then according to the specifications, the next four bytes indicate these are the “AMAD” file type. Seems pretty straight forward.
The other Amadeus.
Not too long after, there was a clever developer designing software for the early Macintosh to edit sound waves. Martin Hairer is a professor of pure mathematics. He developed the Amadeus software when he was a teenager in the early 1990’s.

The early version of Amadeus and the later Amadeus II was made for the classic MacOS, but later worked on MacOSX as well. In these early versions, there was no native format for the software. You would simply open or save as one of the popular audio formats of the time. On a Macintosh, this would often be the Audio Interchange File Format (AIFF).
Then around 2007, Martin developed a more modern universal binary version of Amadeus which could run on the intel platform. He called this version Amadeus Pro which added many more features. With this upgrade, also came a native file format to store all the software’s features without restriction. Unfortunately, he also used the AMAD extension.

Let’s take a look at this format as well.
% hexdump -C AP10-s01.amad | head
00000000 61 6d 61 64 00 00 00 00 00 00 04 70 74 72 63 6b |amad.......ptrck|
00000010 00 00 00 00 00 00 03 28 66 6f 72 6d 00 00 00 00 |.......(form....|
00000020 00 00 00 08 47 2c 44 00 00 02 00 02 6f 66 66 73 |....G,D.....offs|
00000030 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00 |................|
00000040 65 6e 64 6e 00 00 00 00 00 00 00 04 00 00 00 02 |endn............|
00000050 76 6f 6c 73 00 00 00 00 00 00 01 9c 62 70 6c 69 |vols........bpli|
00000060 73 74 30 30 d4 01 02 03 04 05 06 07 0a 59 24 61 |st00?........Y$a|
00000070 72 63 68 69 76 65 72 58 24 76 65 72 73 69 6f 6e |rchiverX$version|
00000080 54 24 74 6f 70 58 24 6f 62 6a 65 63 74 73 5f 10 |T$topX$objects_.|
00000090 0f 4e 53 4b 65 79 65 64 41 72 63 68 69 76 65 72 |.NSKeyedArchiver|
% hexdump -C AP15-s01.amad | head
00000000 61 6d 61 64 00 00 00 00 00 00 04 e8 76 65 72 73 |amad.......?vers|
00000010 00 00 00 00 00 00 00 02 00 01 74 72 63 6b 00 00 |..........trck..|
00000020 00 00 00 00 03 54 66 6f 72 6d 00 00 00 00 00 00 |.....Tform......|
00000030 00 08 47 2c 44 00 00 02 00 02 6f 66 66 73 00 00 |..G,D.....offs..|
00000040 00 00 00 00 00 08 00 00 00 00 00 00 00 00 65 6e |..............en|
00000050 64 6e 00 00 00 00 00 00 00 04 00 00 00 01 76 6f |dn............vo|
00000060 6c 73 00 00 00 00 00 00 01 c8 62 70 6c 69 73 74 |ls.......?bplist|
00000070 30 30 d4 01 02 03 04 05 08 2e 2f 54 24 74 6f 70 |00?......./T$top|
00000080 58 24 6f 62 6a 65 63 74 73 58 24 76 65 72 73 69 |X$objectsX$versi|
00000090 6f 6e 59 24 61 72 63 68 69 76 65 72 d1 06 07 54 |onY$archiver?..T|
% hexdump -C AP23-s01.amad | head
00000000 61 6d 61 64 00 00 00 00 00 00 07 be 74 72 63 6b |amad.......?trck|
00000010 00 00 00 00 00 00 06 1a 66 6f 72 6d 00 00 00 00 |........form....|
00000020 00 00 00 08 47 2c 44 00 00 02 00 04 6f 66 66 73 |....G,D.....offs|
00000030 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00 |................|
00000040 65 6e 64 6e 00 00 00 00 00 00 00 04 00 00 00 01 |endn............|
00000050 65 66 66 73 00 00 00 00 00 00 00 ec 62 70 6c 69 |effs.......?bpli|
00000060 73 74 30 30 d4 01 02 03 04 05 06 14 15 58 24 76 |st00?........X$v|
00000070 65 72 73 69 6f 6e 58 24 6f 62 6a 65 63 74 73 59 |ersionX$objectsY|
00000080 24 61 72 63 68 69 76 65 72 54 24 74 6f 70 12 00 |$archiverT$top..|
00000090 01 86 a0 a3 07 08 0d 55 24 6e 75 6c 6c d2 09 0a |..??...U$null?..|
% hexdump -C AP30-s01.amad | head
00000000 61 6d 61 64 00 00 00 00 00 00 07 fe 74 72 63 6b |amad.......?trck|
00000010 00 00 00 00 00 00 06 5a 66 6f 72 6d 00 00 00 00 |.......Zform....|
00000020 00 00 00 08 47 3b 80 00 00 02 00 04 6f 66 66 73 |....G;......offs|
00000030 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00 |................|
00000040 65 6e 64 6e 00 00 00 00 00 00 00 04 00 00 00 01 |endn............|
00000050 65 66 66 73 00 00 00 00 00 00 00 ec 62 70 6c 69 |effs.......?bpli|
00000060 73 74 30 30 d4 01 02 03 04 05 06 07 0a 58 24 76 |st00?........X$v|
00000070 65 72 73 69 6f 6e 59 24 61 72 63 68 69 76 65 72 |ersionY$archiver|
00000080 54 24 74 6f 70 58 24 6f 62 6a 65 63 74 73 12 00 |T$topX$objects..|
00000090 01 86 a0 5f 10 0f 4e 53 4b 65 79 65 64 41 72 63 |..?_..NSKeyedArc|
There is a few things to point out with this format. It is different than the Chiptune format for sure. Should be easy to distiguish between the two, even with them using the same four character extension. The first four bytes are the same as the extension. They are also lowercase so the hex values are different from the Chiptune format, another helpful difference so they two are not confused.
The rest of the format has some similarities with each of the versions, some which could be used to enhance a signature, but the first four bytes should be enough. One of the things things within the format to notice is the bplist00 string. These are binary property lists and are important as they are also a recognized format itself. They contain serialized data, which is a topic I have referenced recently and need to finish a post about that.
So for signatures, I’m thinking:
AY Amadeus chiptune format 5A584159(414D4144|454D554C)
Amadeus Pro Document 616D6164
I am not sure how two completely different developers chose to use the same four character extension for their sound format. I searched for any connection, but couldn’t find one. Seems like a low probability, but Amadeus is a popular historical musical figure, so maybe it wasn’t too hard for these two formats to clash. Let me know what you think. Samples and signature here.