don't click here

Dreamcast mods for SADX

Discussion in 'Engineering & Reverse Engineering' started by TheArcadeStriker, Jul 30, 2016.

  1. PkR

    PkR

    Member
    190
    24
    18
    SADX Dreamcast Conversion, The Emeralds' Awakening
    Here's a MEGA link to the latest version (13 Feb update).

    A better solution may show up sometime soon, though if you have any good free cloud storage suggestions to host the mods, please let me know.
     
  2. S0LV0

    S0LV0

    Sonic Generations Helpdesk Tech Member
    586
    1
    0
    Spagonia
    Abusing SMPS
    From my experience MEGA is less restricted so you might consider switching to that. I dunno, I never liked Dropbox personally for reasons like this.
     
  3. PkR

    PkR

    Member
    190
    24
    18
    SADX Dreamcast Conversion, The Emeralds' Awakening
    I've just set up a MEGA mirror of my DC mods folder. If people like it, I'll switch to it since I need to free space on my Dropbox anyway.

    Also, I have finally figured out what was wrong with some sounds being slowed down with Sound Overhaul. Turns out my earlier hypothesis was correct - the game forces some sounds to play at 22050hz no matter what sampling rate the actual sounds are. If the sound is of better quality, it is slowed down. There are only a few cases where this applies, and it's not universal - e.g. the same sound may be distorted in one level or cutscene, but play fine elsewhere.

    There are like <10 sounds that need to be adjusted for this, but some of them are common sounds, like the jump sound, or the sound of a badnik being destroyed.

    A compromise solution would be to resample just the problematic sounds. I have found a way to convert the sounds to 22050hz with pretty much no audible loss of quality - just tried it on the jump sound. Perhaps even the Dreamcast originally played them at 22050hz, who knows.

    Now that we've figured it out, we need to find a way to rip the sounds from the Dreamcast version without reverb. I should give all those DSF plugins another go.

    EDIT2: I managed to disable the reverb, but the sounds are still produced with various defects. I'm going to rip them from the Sound Test then...
     
  4. PkR

    PkR

    Member
    190
    24
    18
    SADX Dreamcast Conversion, The Emeralds' Awakening
    Hey guys, so I need some feedback here.

    This is a preview of an update I'm working on for the Sound Overhaul. It has sounds ripped directly from SA1 sound test mixed with sounds ripped from the Dreamcast MLT soundbanks (using an improved method that eliminates some of the defects).

    Because the ripped sounds were too quiet, I had to normalize them. After some tests I found out that normalizing the sounds to around -3.0db brings their volume to SADX level. However, I felt like they were still kinda quiet, and went for -2.0db normalization instead. The game sounds a bit more lively now. I like the results, especially given the issues SADX (and sometimes even the Dreamcast version) has with sound volume in general.

    The preview includes:
    Dreamcast character sounds for all characters (English only)
    Emerald Coast sounds
    Common bank sounds (ringloss, jump etc.)
    Common object sounds (check_sheet bank)
    Common enemy sounds (enemy_set bank)

    Emerald Coast pretty much represents how the full version of the mod will sound if I stick with this kind of normalization.

    So if you're interested, try this new preview mod and tell me what you think. Are the sounds too loud, and should I go back to SADX volume level?

    Make sure you disable the original version of Sound Overhaul before testing this one!
     
  5. Blue Spikeball

    Blue Spikeball

    Member
    1,780
    575
    93
    I just tried the preview and personally feel that the louder volume makes many of the sound effects sound too distracting and out of place, especially the Kikis' bomb throwing sound.
     
  6. PkR

    PkR

    Member
    190
    24
    18
    SADX Dreamcast Conversion, The Emeralds' Awakening
    OK, it was kinda stupid but I forgot to update index.txt in the COMMON bank, which means half the sounds weren't even getting replaced properly.

    Here are 3 versions of the preview mod:

    Normalized https://www.dropbox.com/s/p2t39mgb4oskbv4/NewSoundOverhaul_preview.zip?dl=0
    Amplified https://www.dropbox.com/s/u2pf5hkwridv5se/NewSoundOverhaulAmplified_preview.zip?dl=0
    Mix https://www.dropbox.com/s/g5j3ydj5m8cp5sn/NewSoundOverhaulMix_preview.zip?dl=0

    Please redownload and let me know which you think sounds better. After updating the index in the normalized one, I feel like it's pretty good now, but let's see what people say.
     
  7. IndyTheGreat

    IndyTheGreat

    Member
    54
    0
    6
    Fixed Water (SADX PC)

    I was actually gonna mention this. Very welcome change in my opinion!
     
  8. PkR

    PkR

    Member
    190
    24
    18
    SADX Dreamcast Conversion, The Emeralds' Awakening
    Time to push another major update. Here's the release post on ModDB.

    Also, disregard that sound preview I posted earlier - I'm currently reworking the whole thing, and it's gonna sound different anyway. It will still need individual sound fixes, which is something I hope to resolve on a case-by-base basis with the help of the community, so I hope to receive some feedback when I finish it. But before that, I need to clean up and release what I believe is the most accurate and complete DC SA1 sound rip to date. Basically it's an unedited version of Sound Overhaul 2, which contains sounds for all soundbanks in the game except the Chao stuff (which I'll still include with the rip). It was a huge pain to just get the sounds ripped, and I want to get them done soon.
     
  9. The wave effect would be a very nice fix imo.

    https://youtu.be/-2dSC9Qp6VY?t=129

    It drives me absolutely crazy to see how the water behaves in SADX. It's not even a wave. It's just cheap bullshit.
     
  10. PkR

    PkR

    Member
    190
    24
    18
    SADX Dreamcast Conversion, The Emeralds' Awakening
    Here's a video that lets you see the wave effect a bit closer.

    You can clearly see the seams between the meshes, and what I think happens there is the following:
    1. There are 2 high-poly water models - one used around the bridge when you first see the whale, and another, bigger one is used during the whale chase scene and for the effect when Sonic lands at the shore near the end of Act 1.
    2. The effect consists of an animation, which is done by moving the vertices around in a sine wave-like motion. Also note how the direction of the wave is determined by the whale's position.
    3. I'm not sure whether lighting on the models actually changes, or if it's merely clever use of palette lighting. I suspect the latter, i.e. it happens automatically because of the way palette lighting works.

    The intriguing part is that both meshes (or at least one of them) are still there in SADX, but obviously they don't have that animation going on. There's even some code that is supposed to move the vertices around in the first model, and it uses stuff like sine and square roots. So... perhaps all the stuff is there, just broken?
     
  11. BlazeHedgehog

    BlazeHedgehog

    A "Community Enigma"? Oldbie
    1,464
    6
    18
    It's hard to see, but the wave effect still exists in Sonic Adventure DX, it's just the lightning isn't applied to the vertices to really highlight the water level's given height.
     
  12. PkR

    PkR

    Member
    190
    24
    18
    SADX Dreamcast Conversion, The Emeralds' Awakening
    In SADX the water just changes its overall height (moving all vertices at once - looks like jelly, kinda awful actually), while in SA1 it gets replaced on the go with a higher-poly model, where individual vertices shift in a wave-like motion. You can play SADX at 0.25x with Cheat Engine's speed hack to see it more clearly.
     
  13. Basically this. There's now way that it's a wave in SADX. You can see this at the end when you land on the beach, it just flails up and down. Can anyone have a look? :v
     
  14. BlazeHedgehog

    BlazeHedgehog

    A "Community Enigma"? Oldbie
    1,464
    6
    18
    I guess I must just be crazy because you're right. When I was reviewing my footage for the Dreamcast Conversion video I did, it looked like the wave effect was still there, but you're right, the water level just bobs up and down.
     
  15. PkR

    PkR

    Member
    190
    24
    18
    SADX Dreamcast Conversion, The Emeralds' Awakening
    Finally done with Sound Overhaul 2. You can get the mod here.

    Things you'll get with this mod:
    • All sound effects in the game (except Chao-related stuff) are replaced with SA1 Dreamcast sounds, which are generally of better quality
    • Dreamcast character voice clips
    • Many missing sounds are back! Including ambient noises and cutscene sounds
    • Overall, the sounds are slightly louder and more vibrant
    Why didn't I replace the Chao sounds? Well, the Chao soundbanks are completely different between SA1 and SADX and, while some replacement is probably possible, I don't feel like going several hundred times through baby/infant sounds. I've never really been much into Chao stuff anyway, so if anyone wants to pick it up from here, I'll be happy to offer help and suggestions.

    A few comments just to give you an idea of how much pain I had to go through for this whole sound thing:

    1. There are 2 plugins for foobar2000 that can convert the ripped sounds to WAV. Both stumble on many (often the same) sounds, one (the more accurate one) just barfs out garbage and another produces defective sounds (clipping, DC offset etc.). I did my best to remove the defects, and in the most difficult cases I ripped the sounds from SA1 sound test using Demul. I had to normalize them to make sure they matched the rest of the sounds. Each plugin rips the sounds at a different volume and is totally random at interpreting the volume setting in the soundbank, so matching the volume between different rips was extremely tedious. On top of that, it seems like SADX has arbitrary volume settings for each sound, which complicated thing even further.
    2. Even though I found a way to disable the reverb, some sounds actually required it. So I had to go through each of the soundbanks to find missing sounds, and rip them again with reverb enabled.
    3. There were many volume issues, ranging from some sounds being too loud/too quiet, to audible clipping. Again, I had to make multiple rips (each ate around 5GB!) to get the best volume without clipping. Then I also had to play through the entire game to ensure the volume of each sound wasn't too loud or too quiet. Obviously that involved some arbitrary decisions on my end, and I corrected many sounds according to my personal taste, which others may not share, so I'm looking for some feedback regarding sound volume, which you can leave here. I also left some SADX sounds intact because they sounded better (higher quality) to me, but that was just 1 or 2 sounds. Still, I think I got pretty close to how it sounds on the Dreamcast.
    4. I had to loop all looping sounds on my own. A program called LoopAuditioneer made it a whole lot easier, but there was a lot of manual looping involved, too. I swear I'm not touching that ever again.
    5. SADX uses a positional audio system, which means that USUALLY all sounds are in mono except some background noises. However, there were a number of cases when a sound that was supposed to be in mono was in stereo (which made it too loud and interfered with other sounds), and vice versa (which made some sounds silent). The ripped sounds were all in stereo so there was no way to tell which should be converted to mono, and which shouldn't. I had to play through the entire game multiple times to find the sounds that were supposed to be in stereo, and those that were in stereo, but were supposed to be in mono.
    6. Some sounds had to be recreated: the sound of dropping bullets in the cutscene before Chaos 0 and Zero's chest-thumping sound. Those may not be identical to their Dreamcast counterparts, but I tried to match them to the best of my ability. Also, I tried to change the pitch of the falling sound Sonic makes in the cutscene after Sky Chase 1 - this also isn't the same as in SA1, but a bit closer than the SADX version. I couldn't change the pitch too much because it started to sound choppy at some point.
    7. SADX has a few sound issues stemming from using incorrect soundbanks - this had to be fixed in code, which is why a DLL mod is also included in the package.
    So here goes my take on Dreamcast sounds. Was it worth the pain? I think yes, totally. First of all, I've always hated how the characters sounded in SADX, so getting their Dreamcast voices back made the game more enjoyable for me. Secondly, I think the sound quality has improved as a result. Here are some comparisons:

    Jump sound:
    SA1
    SADX

    Ringloss sound:
    SA1
    SADX 2004
    SADX Steam (god this is awful)

    These are just the first sounds that came to mind for comparison, but there are many more.

    Anyway, I hope you like the new Sound Overhaul, and I would appreciate your feedback. Keep in mind that it doesn't fix some audio-related issues that are caused by errors/changes in the game's code, like sounds being cut off too early, or sounds being looped incorrectly when playing the game at a high framerate. Some sounds are also missing because the code to play them no longer exists (such as Sonic's "Whoa!" when being attacked by Knuckles in the cutscene before Chaos 4, or the rings that NiGHTS takes you through in the Casino pinball stage).
     
  16. BlazeHedgehog

    BlazeHedgehog

    A "Community Enigma"? Oldbie
    1,464
    6
    18
    Not to belittle the amount of effort you're putting in to getting Sound Overhaul to work properly, but there are a lot of things I would personally do differently. I mean, simply on the grounds that one of the sounds that gets cut off is the Spindash sound makes me not really want to use Sound Overhaul even if the quality is much cleaner. I also feel like I hear 2P Tails splashing around in the water a lot more than I used to, and all the crashing sounds during Emerald Coast's whale chase are significantly louder now, as are the dolphins at the end of the stage.

    It definitely feels like the ADX tools we have right now aren't quite up to snuff and certain parameters are being lost in translation. Again, you've been working very hard to solve those, and I appreciate that effort, but even with you manually correcting files, it feels like they're missing key information during the import process that's causing them to break. You pull them out and they're a little off, and when you put them back in they get even more off.

    I'd like to restore the missing sounds (the ones that can be restored, anyway) but the differences in other sounds are a little too much for me personally. It's less of a solution and more exchanging trade-offs.
     
  17. PkR

    PkR

    Member
    190
    24
    18
    SADX Dreamcast Conversion, The Emeralds' Awakening
    Well, unless you're using one of the older previews I uploaded earlier rather than the release version (which are different entirely), the spindash sound gets cut off the same way in the unmodded game if you have the Light Speed Dash upgrade. Like I said, the Sound Overhaul doesn't resolve issues coming from the game's code. It might be that the cutoff is slightly more noticeable because the spindash sound is a bit louder now. The cutoff happens in all versions of the game except the Dreamcast version. They even tried to mitigate that in the Steam version by not playing the spindash sound at all when you have the upgrade. Or if I'm wrong and you mean a different kind of cutoff, I need a comparison with unmodded SADX where it doesn't happen, and I'll probably be able to correct it.

    The dolphins and the crashing sounds during the whale chase were barely audible in SADX, and I always felt it was wrong. Nevertheless, I want to apply some corrections and make some sounds less loud, which is why I asked for volume feedback. In fact, I have already made the whale noise slightly less loud based on the feedback of 3 people. I intend to continue improving it, though the ultimate decision whether to change a specific sound will depend on my personal taste. If you feel like you could've done a couple of sounds differently - you can just do it (they're ordinary WAV files) and make a patch, and if it's a reasonable improvement I'll integrate it into the mod and credit you.

    You mention the ADX tools for some reason, which have nothing to do with MLT sound banks. I also don't know what kind of missing "key information" you're talking about - could you be more specific and give an example? Quality-wise the sounds are pretty much the same as in the Dreamcast version. If you're basing your argument on volume differences between SA1 and SADX, I can say it's unlikely that we'll ever get it to be the same even if the tools were perfect. Of course some stuff may be slightly off in terms of volume (the reason for which I explained in my previous post when talking about mono/stereo and arbitrary volume settings in the PC port). But it's either that (which is fixable somewhat), or you're stuck with crappy sound quality and missing sounds for who knows how many more years.

    Like I said earlier, I'm by no means a sound professional, and I appreciate any feedback. But it's not like SADX (and even the original SA1) is a masterpiece in terms of sound mastering: certain issues (such as character voice clips being too quiet) plagued the original games too. It would be nice to be able to match the Dreamcast version 100%, but it's unlikely to ever be possible without implementing native Dreamcast audio support. Either way, I kinda expected people to complain about the game not sounding exactly like SADX did (which should totally be the case), or finding things that were off with the original(s) too. Thankfully now that the main work is done, many of the issues can be fixed relatively easily.
     
  18. Turbohog

    Turbohog

    Member
    856
    88
    28
    I'm excited to try this once I get the time! I wonder what the issue is with the foobar plugins not working on some sounds. Are these plugins for the mlt files?

    On the "key information", I think Blaze is referring to the possibility of there being some parameters (like volume or looping?), in addition to the regular sound data, that are present in the mlt files that the converters are not properly accounting for.

    Anyway, it sounds like you've done a ton of great work. Thanks for your efforts!
     
  19. PkR

    PkR

    Member
    190
    24
    18
    SADX Dreamcast Conversion, The Emeralds' Awakening
    The plugins are for the .minidsf files produced by the dsfmake script. The more accurate plugin is called HighlyTheoretical, the less accurate one that works with more sounds is called aoDSF. By accuracy I mean how the sound looks on the spectrogram - with the HighlyTheoretical plugin there were no sounds with clicking, DC offset etc., and it looked pretty much like the same sound ripped from SA1 soundtest on Demul (except the volume obviously). But on some sounds (P_AMY soundbank, for example), it produces weird noise with the actual sound being barely audible in the background. If the sound is longer than 2 seconds or so, it continues playing normally after the noise ends. It's really weird. I talked with the author of that plugin, he is aware of the issue but doesn't seem to know what's causing it. The aoDSF plugin doesn't have this problem, but on the same sounds it produces a short audible click (thankfully in most cases it comes before the actual sound, so it's easy to fix), and it also has accuracy issues with certain sounds, like the sand/snowboard noises. So I had to combine sounds from both rips for the best result, and the most problematic sounds (P_... soundbanks and some others) I ripped from the sound test.

    Volume - maybe. The dsfmake script overrides the following settings in the sound driver: total volume, effect volume, DSP mixer number, DSP effect number (changing the last two allowed me to get rid of unwanted reverb) and some other stuff. It's possible to prevent the override and keep the defaults included with the sound driver, but it ends up sounding worse or produces no sound at all. Maybe these parameters are fed into the sound driver by the game itself.

    Looping - not really. The .minidsf sounds actually loop endlessly (the "dsftime" script is supposed to limit the number of loops and the total length of the looping sound with an optional fadeout to silence), so from the original format's viewpoint there's no problem. The problem comes when those loops need to be transferred into the WAV files used by SADX. I just relooped them all manually and I don't see it as an issue. Unless the loops are screwed up in some major way, there should be no quality difference.

    Since both of the above are not actual sound information and can be easily adjusted, I wouldn't call them "key" information. There are some things on the Dreamcast I would consider more important that are actually missing, like the Chaos 0 bullet sound, or Zero's chest thump, which lack their effects even in the sound test. But there are only a few sounds like that, so far I know only three, and I did what I could to recreate them.

    If you do end up playing the game with Sound Overhaul, you can update it with some sounds I've adjusted since the original release, which I posted on the feedback page. I keep the first post up to date and add new fixes based on others' feedback and things I notice when playing the game. Hope to see some of yours in there too!
     
  20. PkR

    PkR

    Member
    190
    24
    18
    SADX Dreamcast Conversion, The Emeralds' Awakening
    I finally managed to restore SA1 water textures in Emerald Coast.

    [​IMG]
    [​IMG]

    It took some time to figure out because, unlike regular models, the ocean in Emerald Coast is set up in a different way, and I couldn't just hijack its material because it didn't have one. It also uses a non-standard color blending mode: the darker the texture, the more transparent it is. Replacing the textures in BEACH_SEA.PVM with SA1 ocean textures made the ocean look awful because of that blending mode. So I found the code that draws the ocean and forced it to use a different color blending mode. There were also a few tricky moments with UVs, texture animation and the secondary ocean thing that uses a different texture (the pond in Act 2/secret area in Act 3). Took me a lot of trial and error, but I was able to kill the secondary water thing, which allowed me to use SA1 textures for the pond and Big's secret area (in SA1 these areas use simple landtable objects for water).

    So this brings us just a little bit closer to the Dreamcast version. Unfortunately this does nothing to restore the wave effect during the whale chase, but it should be compatible if it ever gets restored.

    As a small bonus, I restored the fog in Big's secret area. Also, if you prefer the older look, just keep SADXStyleWater enabled to play with the previous water textures. However, that will only work for the ocean - the pond and the secret area will use SA1 textures either way.