[EDIT 2024.07.01: Added a graph at the bottom of the post to clarify what got used where and how they got there] As we all know, Sonic Origins included some rather low-quality music as the replacement tracks for Brad Buxer’s contributions. These would be the tracks that were heard in the PC release in MIDI form. It is said by the social media team that Jun Senoue would be redoing the tracks on the original hardware. That sounds pretty fun, right? …or did he?-------------------------------------------------------------------------------------------------------------------------------------------- I'll first be talking about the Universal Voice Bank and its different versions. In the final game, certain songs use a set of voices that are at the beginning of each Z80 sound bank. If you understand SMPS Z80, you’ll understand what I mean. This is what’s known as “Universal Voice Bank”. I’ll be shortening it to UVB from now on. The following list of songs in the final game uses the UVB: Save Menu Angel Island Act 1 Angel Island Act 2 Hydrocity Act 1 Hydrocity Act 2 Lava Reef Act 1 Lava Reef Act 2 Chrome Gadget Desert Palace Level Clear Continue/No Way/Results In the prototype, there is no UVB at the top of each bank. Instead, songs that use the UVB have the whole bank attached to the song itself, like the non-UVB songs. The following additional songs in the prototype have the UVB attached: Carnival Night Act 1 Carnival Night Act 2 Launch Base Act 1 Launch Base Act 2 Sky Sanctuary Competition Menu The UVB used in these songs is different from the final release. I’ll call the final version of the UVB the “Final Bank”, and the version in the prototype the “1103 Bank”. There is, however, one more version bank. Within the same prototype, a few of the UVB songs have an earlier version of the UVB appended to the file. I’ll be calling this version the “Old Bank”. The following songs in the prototype use the Old Bank: Competition Menu Level Clear Save Menu This is documentation on what voices got updated in each bank, and what were moved or duplicated.-------------------------------------------------------------------------------------------------------------------------------------------- Well, how do we even know this "Old Bank" is even an older bank? This section will be split into parts, showcasing individual songs that lead into evidence of why the Old Bank actually is an older version. Angel Island Act 1 In the prototype, one of the most notable differences in the song is the usage of a distorted guitar instrument in place of the flute. You can hear this version of the song here. Turns out, that’s a leftover from the Old Bank! Within the Old Bank, the voice slot that holds the distorted guitar originally held a duplicate of an older version of the flute voice. When they swapped out the UVBs, this wasn’t updated. A similar situation happens with Hydrocity Act 1. Angel Island Act 1 with the Old Bank can be heard here, and the same with Hydrocity Act 1 here. Save Menu As stated before, the Save Menu in the prototype uses the Old Bank. You can hear this version of the song here. In the final game, it’s of course updated to the Final Bank. It seems that they didn’t modify what voices to use though, so the piccolo instrument (replaced with a flute in 1103 Bank) used in the song was replaced by the distorted guitar. This is basically the inverse of what happened to Angel Island Act 1. I've listed comparisons alongside basic research here. Songs with unaligned voices Since the Old Bank has some different voices in some slots, many songs sound rather grating when applying the old bank to these songs, unlike Angel Island Act 1 and Hydrocity Act 1. Carnival Night Act 1 uses an obvious bass voice for its lead. Desert Palace uses a really high-pitched voice for a backing melody. Lava Reef Act 1 uses the previously mentioned high-pitched voice for its lead. Chrome Gadget has the same situation as Lava Reef Act 1 Launch Base Act 1 uses a different lead voice… which the replaced voice was reverted in the Final Bank?? (voice 0A) There are many other misc things to mention, but they aren’t too grating to bring up here. -------------------------------------------------------------------------------------------------------------------------------------------- So, why am I talking about the Old Bank so much? The Origins replacement tracks use the Old Bank. That’s right! Those unique voices you hear in the Old Bank? Those are heard in the Origins replacement tracks! I’ll also split this off into sections to explain what’s what. This’ll also explain other technical things that suggest the Origins versions are actually older versions of the song. I should note that Ice Cap Act 2, Credits, and Competition Menu remain identical in the prototype Carnival Night Act 1 In the Origins version, the key is lower than the prototype version by 3 semitones. Turns out, in the prototype, the header has all the channels set to play 3 semitones higher than the programmed key. The instrumentation, key, and note differences of the Origins version are present in the PC version. Code (Text): ; Notice how the pitches here are 3 values higher than they should be. ; This makes each channel play 3 semitones higher. ; vvv Pitch Value smpsHeaderDAC s3p7_DAC, $00, $0A smpsHeaderFM s3p7_FM1, $03, $15 smpsHeaderFM s3p7_FM2, $03, $15 smpsHeaderFM s3p7_FM3, $03, $14 smpsHeaderFM s3p7_FM4, $1B, $12 smpsHeaderFM s3p7_FM5, $03, $18 smpsHeaderPSG s3p7_PSG1, $03, $05, $00, sTone_0C smpsHeaderPSG s3p7_PSG2, $03, $05, $00, sTone_0C smpsHeaderPSG s3p7_PSG3, $00, $03, $00, sTone_0C ; ^^^ Pitch Value Carnival Night Act 2 The weird bell heard in the second section of the song is unique to the Old Bank. It's the same voice that's used as that very high-pitched voice in those previews I've shown earlier. It was replaced by a twinkly piano-like voice in the 1103 Bank (which was duplicated to $1D). All the other voices used here are also present in the Old Bank, though most of the rest weren’t updated in the 1103 and Final versions. This instrumentation and note differences are present in the PC version. Ice Cap Act 1 This is identical to the prototype version, but it uses Act 2's voices. If you apply Act 2's voices to Act 1, it'll sound identical to the Origins version. Launch Base Act 1 The most complex of them all. Interestingly, the prototype does not have a pitch difference in the header, suggesting the whole song was re-imported. The bugged DAC is not present in the Origins version, and all the bugged notes are not present. This also features voice changes that aren’t present in the prototype version… but they are! In the data for the song, there are sets of commands that change the modulation. detune, and voice settings for the song, but it often just set it to exactly what it was before. These are placed exactly where they are changing things in the Origins version. It is also impossible to tell if this track is actually from an earlier prototype, as all the voices this version of the song used never changed across any version of the UVB. The key of the Origins version is present in the PC version. Code (Text): ; An example of redundant voice swaps. ; This is the beginning of FM2 in Launch Base 1. s3p13_FM2: smpsSetvoice $0A ; Voice is set to 0A smpsDetune $04 ; Detune is set to 04 smpsModSet $0F, $01, $06, $06 ; Modulation is set to 0F010606 smpsCall s3p13_Call02 smpsSetvoice $0A ; Voice is set again, albeit identical to last set. smpsDetune $04 ; Also identical. smpsModSet $0F, $01, $06, $06 ; Also identical. s3p13_Jump04: smpsSetvoice $0A ; Just like last time, this is also redundant. smpsDetune $04 ; More redundancy. smpsModSet $0F, $01, $06, $06 ; You get the point. smpsCall s3p13_Call03 smpsJump s3p13_Jump04 I've made a recreation of the Origins version here. Launch Base Act 2 The unique piccolo voice is used in a section of the song. Like Act 1, there is also a redundant voice change here, which switches to the piccolo in the Origins version, at the exact place. This instrumentation and note differences are present in the PC version. Code (Text): smpsSetvoice $03 ; Set once... smpsDetune $FE smpsModSet $0F, $01, $06, $06 dc.b nC3, $16, nRst, $02, nG3, $10, nRst, $02, nC4, $04, nRst, $08 dc.b nG3, $10, nRst, $02, nC4, $04, nRst, $08, nG3, $04, nRst, $08 dc.b nBb3, $16, nRst, $02, nA3, $10, nRst, $02, nF3, $04, nRst, $26 dc.b nA3, $0A, nRst, $02, nG3, $04, nRst, $14, nG3, $10, nRst, $02 dc.b nC3, $04, nRst, $7A, nBb2, $0A, nRst, $02, nD3, $0A, nRst, $02 dc.b nC3, $16, nRst, $02, nG3, $10, nRst, $02, nC4, $04, nRst, $08 dc.b nG3, $10, nRst, $02, nC4, $04, nRst, $08, nG3, $04, nRst, $08 dc.b nBb3, $16, nRst, $02, nA3, $10, nRst, $02, nF3, $04, nRst, $26 dc.b nA3, $0A, nRst, $02, nG3, $52, nRst, $02, nG3, $06, nC3, nD3 dc.b $48, nRst, $0C, nG2, $06, nA2, nBb2, $16, nRst, $02, nF3, $10 dc.b nRst, $02, nBb3, $04, nRst, $08, nF3, $10, nRst, $02, nBb3, $04 dc.b nRst, $08, nF3, $04, nRst, $08, nAb3, $16, nRst, $02, nG3, $10 dc.b nRst, $02, nEb3, $04, nRst, $26, nG3, $0A, nRst, $02, nF3, $04 dc.b nRst, $14, nF3, $10, nRst, $02, nBb2, $04, nRst, $7A, nG2, $0A dc.b nRst, $02, nAb2, $0A, nRst, $02, nBb2, $16, nRst, $02, nF3, $10 dc.b nRst, $02, nBb3, $04, nRst, $08, nF3, $10, nRst, $02, nBb3, $04 dc.b nRst, $08, nF3, $04, nRst, $08, nAb3, $16, nRst, $02, nG3, $10 dc.b nRst, $02, nEb3, $04, nRst, $26, nG3, $0A, nRst, $02, nF3, $52 dc.b nRst, $02, nF3, $06, nBb2, nC3, $52, nRst, $0E smpsSetvoice $03 ; Set again with identical values... smpsDetune $FE smpsModSet $0F, $01, $06, $06 dc.b nF4, $16, nRst, $02, nBb4, $10, nRst, $02, nF4, $04, nRst, $08 dc.b nD4, $04, nRst, $02, nF4, $0A, nRst, $02, nA4, $0A, nRst, $02 dc.b nF4, $0A, nRst, $02, nBb4, $16, nRst, $02, nA4, $10, nRst, $02 dc.b nG4, $04, nRst, $08, nF4, $10, nRst, $02, nF4, $0A, nRst, $02 dc.b nG4, $0A, nRst, $02, nA4, $04, nRst, $08, nF4, $04, nRst, $08 dc.b nD4, $04, nRst, $08, nF4, $14, nRst, $04, nD4, nRst, $08, nF4 dc.b $04, nRst, $08, nG4, $64, nRst, $08, nF4, $16, nRst, $02, nBb4 dc.b $10, nRst, $02, nF4, $04, nRst, $08, nF4, $04, nRst, $02, nG4 dc.b $0A, nRst, $02, nA4, $0A, nRst, $02, nF4, $0A, nRst, $02, nD5 dc.b $16, nRst, $02, nC5, $10, nRst, $02, nBb4, $04, nRst, $08, nF4 dc.b $04, nRst, $02, nG4, $04, nRst, $02, nA4, $04, nRst, $02, nBb4 dc.b $0A, nRst, $02, nC5, $0A, nRst, $02, nA4, $22, nRst, $02, nG4 dc.b $08, nRst, $04, nG4, $64, nRst, $02 smpsSetvoice $03 ; Oh, the redundancy... smpsDetune $FE smpsModSet $0F, $01, $06, $06 dc.b nD3, $06, nE3, nF3, nG3, nA3, nB3, nD4, nEb4, $0A, nRst, $0E Super Sonic To those of you that still believe Jun Senoue did the replacements, this is actually the only one he did for Origins. This isn’t UVB. Or SMPS. Or even a Genesis song. This is using the exact same method Jun Senoue used for his “Sonic the Hedgehog 4: EP II” soundtrack, using the same VSTs. It’s obvious with Sonic 4 and this new track that he actually didn't do any of the other songs here. -------------------------------------------------------------------------------------------------------------------------------------------- In conclusion, Sonic Origins would logically have to use older versions of the prototype songs. It seems to be whatever Sega had in their archives, and they never updated it with any later revisions created. This same set of songs was used in Sonic & Knuckles Collection, which also has plenty of more oddities with prototype leftovers (such as Mushroom Hill 1 lacking its intro like 1103, and the bass of Sky Sanctuary resembling the prototype version). This graph should give a general idea of what ended up where, and how things got to where they were: Collective research done by MDTravis, Mastered Realm, ehw, and Bouncy Glow. Extra discoveries found by Chainspike and Dio-ZX.
So basically the Origins files were using the wrong soundfont this entire time Excellent job on all of this. I thought the screaming about Origins sourcing a prototype was severe cope, but the patch swapping theory laid out like this really convinced me. Combined with the BGM and SFX having LVD, I wonder if they had a actual Genesis on standby and recorded the sound test numbers from both the actual game and a dev cart one by one.
I've known about the whole 'older proto tracks' theory for a long while but it's finally nice to see a well written and well phrased explanation about it that goes in depth. As well as that, it's also nice to see a new and much more compelling theory/argument with looking into the prototype's song voice banks and making comparisons. Very very good read!
I love reading these in-depth essays about Sonic music and this is no exception, especially with Sonic 3’s beta tracks. It will always puzzle me how SEGA does not seem to have the 1103 versions in their archives, especially Senoue who has been their main music guy for almost 30 years now and must have a treasure trove of demos and unfinished music. I was dumbfounded when Stealth tweeted that the tracks sounded unpolished in the 1103 prototype but all of a sudden what appeared in Origins… sounded more unpolished. As much as I would love to have the 1103 versions be used in Origins Plus, unfortunately that may not appear to be the case so I’m just praying that what we got has been touched up to sound a lot better than what it is.
I have very little to add other than a thank you for your time and expertise. This was a very interesting read. It does really bother me that SEGA and Sonic Team were so flippant with Origins, especially with the music. For legal reasons, they had to significantly alter the soundtrack to arguably fanbase's most beloved game, including the insanely popular Ice Cap Zone. Rather than put their best foot forward, they decided to take low quality recordings of incomplete prototype music and commission one new track that doesn't even try to blend in with the rest of the soundtrack. The proof is all right here.
I do like Origins despite its many flaws but honestly it is hard to argue against when you present it like that. Brutal but clearly true.
I think it's pretty well documented that SEGA were not preserving their games during this time. Lost prototypes, source codes, and music. It's not a stretch to think they don't have a later prototype of Sonic 3 at their hands, and they wouldn't use a fan dump from the internet. Big difference from Senoue and Nakamura, for example, is that the latter was hired externally through his label, thus he would have his way to preserve his work which is how we got the demos from Sonic 1&2. Remember, that album was not released by Wave Master but rather by Universal Music Japan.
I would not be surprised if the horrible state of their internal archives is literally one of the reasons why it took so long to even greenlight a Sonic 3 remake at all, given they may not have even had a full solution for replacing the music until they figured out what they had left in their own posession. However, their lack of willingness (or lack of awareness?) of the later proto was a tragic mistake. I like the later 1103 proto songs more than any other version of CNZ, including the 1994 final. Part of me wonders if the "new" super theme was an unused song from the S4 days or somesuch (Cancelled S4E3 OST, reusing the S&K theme because Knuckles was going to be in Ep 3?). We're only now hearing these odd S4-ish boss themes from the SuperStars online footage, which have no other origin, but are also not part of the official OST for that game. Jun definitely had more compositions that we've never heard before done in that... less than fan favorite style.
Do we have an explanation as to how Launch Base Act 1's music has certain long notes held properly in Origins but not in the 1103 proto? If the 1103 proto really is the later version, how did they regress on this front?
I haven't given a good indepth listen to the specific Origins version, but from the sounds of it this is actually a nature of BOTH versions. What you're hearing is the YM2612 low volume distortion bug affecting certain instruments (good example being the xylophone in AIZ1 having a secondary upper octave melody, not present in consoles that fixed the bug). I've written about it both here, here, and here. For whatever reason Origins used a actual Genesis console to get the music off the game, where the console they're using just so happens to have the LVD bug.
That doesn't seem to be what I'm referring to. I'm talking about SMPS-level hold/tie/tab/slur/"prevent attack"/whatever it's called flags that are meant to tie two notes together. Compare this, at 0:46: with this, also at 0:46: That is not LVD at play.
Has Sega been better at preserving concept art? Cuz I feel like we’ve seen a lot of concept art from the genesis games but it’s possible that’s just a minority of the concept art produced. Speaking specifically about Sonic 3, I legit wonder if Sega no longer has any concept art or tech demos from the early dev period where they tried to make it 3D
I'll go on a limb: concept art is better preserved because, more often than not, whoever made them gets to hold them. At least when it comes to stuff the community has uncovered, it fairly often comes from personal collections, which was and is not only much harder to do with builds and songs, but would also be potentially illegal anyway.
Warning: educated asspulling Okay, I admittedly don't know what you're talking about on 0:46, but the notes in the lead starting and ending differently can possibly be attributed to the lead's FM patch being different (assuming its just key on, key off, key on, key off in the sequence and the YM2612 handles when the note stops differently since the ADSR envelopes from the two instruments are different, slow attack vs fast attack, fast release/decay vs slow decay? something's changing when it stops when the key off is triggered). Changing a FM instrument can have effects on a sequence's sound, especially with how a sequence was originally written. Having a listen to the part at 1:01 where the lead retriggers in 1103 but doesn't in Origins, that might be a sequence difference than a UVB difference. Looking at the waveform, it seems this might be intentional since it transfers to the echo channel. Sequence errors on a melody do not do that...? Not unless the echo channel is just a direct copy of what the lead channel is doing, i.e. "play channel 1 on channel 2, delay output, lower volume", which might allow such a error? It seems Origins is missing a note if that's the case that later got added in 1103, and why it abruptly loops to the beginning. I don't have experience with SMPS and only the 2612 chip itself, someone fill in what I'm missing along with what the 1103 sequence is actually doing
The 1103 version of Launch Base was reconverted not just modified from Origins. The arranger was probably probably not very good at writing SMPS and made adjustments to the original MIDI (including transposing the pitch and adding the PSG notes) and the converter they used probably split the longer-than-the-limit notes in two and the flags weren't readded.
It's still weird to me that they picked a ladder-effect chip (with an agressive low-pass filter, at that) for the sound for S3 when they didn't do that for the other games. Like, whatever they did to get the sound and music for Sonic 1 and 2 (and, to be honest, I prefer it over what they did for the mobile ports a little) it is significantly cleaner and I am deeply confused why it wasn't an option available to them.
I was in the "origins versions are earlier protos" camp since i heard Launch Base act 2 for the first time, the way that the main melody at 00:30 seconds in is complete, like the proto, but ungodly quiet like pc says to me that whoever was transcribing for pc probably listened to this version and couldnt pick up on the melody, resulting in the botched version there. and whoever arranged it for the 1103 proto broguht that melody to the forefront, seeing this as a problem
Not really since the 1103 build was sent away and never returned to SEGA. They probably took the latest build they still had with the old songs when they made the S&K Collection version in 1996-97.
The 1103 version lacks the no-attack flags that were placed in the earlier version of the song. I'm unsure why they'd remove them unless the song was re-imported at some point.