ipatix/agbplay

MOTHER 3 Pitch bends are incorrect in some cases.

Closed this issue · 13 comments

I haven't tested through alot of MOTHER 3's songs in this but I can't help but notice how broken "Battle With The Masked Man" sounds in this, namely the pitch bends with the sinewaves and other portions of the song do not sound correct at all.

I've supplied recordings to demonstrate and compare this behaviour, I'm not sure if these will show up in Github properly because they did something site-wide recently that made a good chunk of the website controls completely unresponsive...

Does this have anything to do with the mentioning of using sine waves rather than triangle waves for the modulators?

Okay so the attachment didn't work AND I can't even access the Edit button anywhere on my initial post so I have to resort to double posting... Thanks Github.

https://www.dropbox.com/s/i5hwbacgy9n6s2c/maskedman.zip?dl=1

For me not knowing a lot of games, it's always helpful to get some more information:

  • Game Code
  • Song ID
  • Track ID

With the modulation: I've actually corrected that behaviour not so long ago.

ROM Name:
MOTHER3

ROM Code:
A3UJ

Song 1938
0x00124B24 -> 0x08CCD3F8

I hope that's the correct info... Those addresses were found with "mp2ktool" that's mentioned in gba_mus_ripper.

Is there anything more I need to provide or figure out to help out with debugging this problem?

At this moment no, tbh I just didn't get around to work on that. Sorry for that.

Oh that's no problem, I was just wondering. Take your time.

@KynikossDragonn Can you test if @Kurausukun fixed your problem?

@KynikossDragonn Can you test if @Kurausukun fixed your problem?

It's close, but still sounds very slightly off. Not massively incorrect anymore like previously when I first opened this issue so that's a huge plus.

I'm perfectly okay with how it is now, the insanely wrong pitch bending is corrected.

@KynikossDragonn If you don't mind, can you elaborate on how it sounds wrong? I thought I fully fixed the modulation issues, but it's possible there are cases I overlooked.

@KynikossDragonn If you don't mind, can you elaborate on how it sounds wrong? I thought I fully fixed the modulation issues, but it's possible there are cases I overlooked.

I'm not the author of this issue, but since they haven't responded yet I guess I'll chime in and say the modulation in song 0009 for channels 03, 08 and 09 sounds off to me. Not a huge deal, but it's pretty distracting.

EDIT: After comparing to actual line-out recordings from the GBA, this is how it's supposed to sound and I've just become accustomed to inaccurate versions of the song. Sorry for the misunderstanding.

@Kurausukun I don't have a GSF plugin for Audacious, or any standalone player for GSF so I can't record a direct comparison to better show what I mean, sorry that's the only way I could have elaborated...

I'm very sensitive to pitch since I do a lot of covers of music by ear. But, before your fix the whole pitch bends on the final battle music was totally fubar, like completely incorrect notes level of fubar. The fix I tested mentioned in this issue fixed that glaring issue so I can actually listen to the song without it completely breaking in the middle of it, so not all is lost really.

It's also possible what I'm hearing is just, the difference between running the song through emulation that's running the driver in MOTHER 3 and outputting that hissy PWM sound everyone's accustomed to, to running it in this with Sinc interpolation and everything done within 16-bit mixing and 48000 hz sampling rate mixing.

Once I get some free time I'll try to investigate this myself.

I investigated the songs @NickHam13 mentioned, but as he edited, they sound correct. @KynikossDragonn it would be helpful if you could just record emulator output for an example of a song that sounds wrong--BizHawk supports a WAV writer that would accomplish this nicely. We could compare that with an agbplay output.