Ultima III Soundtrack

preview_player
Показать описание
Edit 10/17/24: scroll to the bottom of this desc to see Kenneth Arnold's response :)

Before I go into a technical description, let me first extend a huge THANK YOU to Minstrel Dragon for sharing with me many of his 8-bit disassembling / reversing efforts over the years, which included a commented disassembly of this music engine, and without which, I would probably have not made this video.

This video is a conceptual visualization of the Apple II Mockingboard game music engine logic that Kenneth Arnold developed to play his Ultima III musical compositions. And back in 1983, it was the very first full 8-bit computer game soundtrack (yet another "first" in the Ultima series).

For each song, each voice can contain notes and rests (called "Content" in the video) and can also invoke defined patterns of notes and rests. Reusing patterns allowed longer music to take up less RAM. Patterns can be reused across the voices. When voice-specific content is brief, it's displayed alongside an adjacent pattern in this visualization. Sometimes the content is simply short rests unevenly applied to the voices to create echo effects (i.e., in Dungeon and a section in the Exodus music).

Patterns can be transposed upward by a number of semitones, increasing reusability (e.g., "Pattern 5 up 2" means pattern 5 played up two semitones, or one whole step). Unfortunately, this transposition logic was broken in the Commodore 64 port, making the music less interesting (though, through careful comparisons made between the Apple II and C64 engines, Minstrel Dragon found that the note data to be exactly the same).

Years later, these concepts would be generalized (song patterns, and an ordered pattern playlist for each voice), a GUI would be put atop it, and it would be called a tracker.

Ticks per quarter is the delay counter for a quarter note. The larger the number, the longer the duration. If its prime decomposition contains at least one 3, then triplets are supported. In only one song is there a tiny bit of roundoff error (Rule Britannia has q=30, and Arnold choose 7 for sixteenth notes, and 5 for sixteenth triplets). The Wander song is 30 ticksPerQuarter and has a BPM of 123, so for the other songs, the BPM is 30/ticksPerQuarter * 123.

Would be interesting to see if Arnold created this early Mockingboard music engine out of whole cloth, or if it was based on existing engines. For example, through some recent retro-archeology efforts, Chris Abbott has started to discover what music engines C64 composers based their code upon (in one prominent composer's case, it was an early type-in-code book).

Рекомендации по теме
Комментарии
Автор

Thanks for the succinct and excellent description of the Ultima music engine, David. And to you, too, Minstrel Dragon.
I'm Kenneth Arnold, author of the original Ultima music. How fun to hear an authentic playback of the music all these years later!
David wrote: "Would be interesting to see if Arnold created this early Mockingboard music engine out of whole cloth, or if it was based on existing engines. "
The answer is: Whole Cloth.
I've written a summary of how I went about creating the engine and the music, but it's too long for this format.
I'd be happy to send you the pdf file, David.

DeaconVorbis
Автор

WHEN I THINK OF RPG'S THIS SONG COMES TO MIND

LTDANMAN
Автор

I played this game so many times, all the music is burned forever into my mind. ;D

Nemethon
Автор

That's exactly how I played it all the way through on my Apple ][ back then. I think I upgraded to a Phasor before Ultima IV came out. This is still my favorite soundtrack of all the Ultima games, and I have always loved the creepy dungeon theme!

rivards
Автор

Thank you! The opening music has stuck in my head for close to four decades now. What a delight!

cpip
Автор

The only way this video could be better is if the little guys in the top-left and the dragon in the top-right were animated.

ViridianGames
Автор

Thank you, David. This is so cool. As I understand it, this is the first full soundtrack for a Western videogame. Wander and the music from Exodus' castle were my favorites. Dungeon is stylistically interesting but I'm glad I didn't have to listen to it for hours on end. Some probably regretted that Mockingboard purchase, lol

Will-xknm
Автор

Great. Thanx. This tune really burned in in hours and hours of gameplay.

larsbramer
Автор

This is absolutely Amazing! Now I can't wait to play along and try to learn this on my Yamaha PSR-e463!!! Thank you!!!

EricKinkead
Автор

I discovered that although the Atari 800 version has all the music, it's a little bit different and sounds generally lower in pitch. I have to wonder if that was done to avoid potential Pokey tuning issues or if the Atari music player is also broken in some way.

bryanedewaard
Автор

The 1st part of the Wander was my friends old nokia phone song.

anttimaki
Автор

Do you have the sheet music somewhere to download in a pdf or SIBELIUS format?

ajeba
Автор

IMO the music I didn't like the most was the dungeon music, probably because there isn't any melody but I can't tell you how many hours I sat listening to it as I mapped out all of the dungeons. This was one of my favorite games from the Atari 8-bit.

SimmeringPotpourri
Автор

This means something to someone. Thank you. Any chance that can be done for Ultima IV?

patrikknoerr
Автор

I love these so much. Any chance of an Ultima V commodore 128 soundtrack?

adamp