Sour wrote:I might add per-channel panning for the expansion chips eventually, but that would imply per-channel volume options for them too, and then you'd end up with twice as many sliders as there already are (and there's already too many for comfort!) - so I'm not sure. If I did, I'd have to hide them away in some advanced menu (most users wouldn't ever use this).
You could do like the NSF player NotSoFatso and have tabs for each expansion chip where the sliders are located. It's a little tough to get a good stereo mix on games that just use the regular channels, but expansion chips are where the panning option could really shine so I hope you'll add it. Not meaning to put pressure on you, of course.
Sour wrote:To be perfectly honest, I can't really tell from the recording (I'm pretty terrible at these sort of things).
Notice how the notes stay the same but the tone changes between the first "doo-doo, doo-doo, doo-doo" and the next in my recording? That's due to the waves being similar but out of phase slightly, so some of the frequencies cancel out when the the waves are added together. The game varies the phase of the waves periodically, so different frequencies will cancel out, creating different tones. In Mesen the tone stays the same, so the phase apparently isn't getting changed. In emulators that don't recreate the effect, it sounds to me like they only play one of the possible phase variations but never change to another after that.
Sour wrote:Also, when reloading a save state, I would expect an emulator to play the exact same sound sequence every single time, so long as no user input is done (with a controller) - if some emulators don't, then that would imply their save states aren't perfect. (But I may be misunderstanding what you meant about reloading from a save state to record & compare)
I only used the save states for recording from FCEUX so I could get each channel individually for the exact same play-through of the music, not for testing the sound of any of the emulators. For that, I just went into the pipe in the sky in the first level and listened to see if the tone of the music changed over time.
Sour wrote:Mesen passes all of blargg's audio tests, including the apu_mixer ones that mute (or nearly mute) a channel by using another channel's output (which requires pretty high accuracy). FCEUX, Nintendulator and Nestopia (apparently) all fail these tests according to TASVideos.org's list.
Right. It just must be a function the test ROMs don't cover. Hopefully someone might make a test ROM that tests it and in the process promote awareness of and support for this cool little effect.
Sour wrote:Also, if you use the volume/panning options, the sound emulation is automatically less accurate - you need to keep the volume of individual sound channels at 100%, and no panning (all at 0) for the apu_mixer tests to pass as expected. (Master volume has no impact on the accuracy, though)
In my testing, I kept all the channels at full volume and with no stereo panning. Anything else (besides master volume) would assuredly lessen the effect if it were emulated.
Sour wrote:If you want, you can give SMB3 a shot with 0.5.3 (you can download it
here) and see if it fares any better.
I checked and nope, it doesn't work there either, sorry to say.
Thanks for your consideration for all of this, Sour.
Also, to rainwarrior, I don't really have anything I can say in reply to what you wrote, but I appreciate that you did it and want to acknowledge that. Here's hoping this all gets worked out and both Mesen and Game_Music_Emu will get it emulated properly.