-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
One GME issue on SPC #56
Comments
At MixerX the mainstream GME is used: https://bitbucket.org/mpyne/game-music-emu/wiki/Home
Try the Moondust MusPlay and ensure the F32 format is used for output. Anyway, at SMBX38A, please specify the I tried to listen to the song at ZXTune (which uses old kode54's modded GME) and Moondust MusPlay to verify the sounding, and I can't understand, what the problem is... Could you record a small fragment of "what should be" and "what actually happens"? |
The problem with SMBX-38A is that it still requests to run the S16 audio format, and it really needed to switch the F32 format output (I already did that on TheXTech and Moondust Project) to avoid possible clipping when too loud output. |
ShortCompare.zip |
I hear the difference of timbre between two of variants 🤔 |
Anyway, I'll ask for more info from @kode54 what the real difference between the old blaarg's SPC emulator and the new one that he used later... |
Try toggling the SPC analog simulation filter in Advanced Preferences in foobar2000. GME defaults this filter to enabled, I was suggested by users to disable it by default. If this is indeed the cause, it is already proposed to add an option to toggle it at runtime here. |
This filter, along with gaussian interpolation, is intended to simulate what a hardware unit would sound like. The gaussian interpolation table is hardware correct to produce exact digital output, while the analog filter stage is supposed to mimic the behavior of the analog components post-DAC. |
FB2K GME allows to choose different interpolation! SDL Mixer X can only by played via gaussian! |
FB2K GME also uses a different fork of GME that has different interpolation modes added, just because it was simple enough to add them. I chose to implement the interpolation setting as a signed integer where 0 is gaussian, going up from there is mathematically higher quality than hardware, such as cubic interpolation and 8 point sinc interpolation, while going lower than 0 is linear interpolation and no interpolation, which just sounds horrid in many cases. Unlike sample rate scaling, it was something I could implement easily. Sample rate changes would require scaling all envelope parameters, as well as all echo/reverb parameters, which is not so easy to do in a linear fashion, especially considering FIR coefficients. |
I took some investigation, and I found the option called I made the recording to compare with the enabled or disabled option (by default it's enabled). 2022-08-18_05-01-24.mp4@Yave-Yu, does it helps with your issue? If yes, I'll bind it into MixerX's arguments, so, you will be able to use it. |
Still has bursting result... |
Then, I'll really try another thing... |
I should have tried this track to begin with. And watched that recent video. ReplayGain results for the first track, with the (digital) "analog" simulation filter, and the 1.4x gain, which I disable on GME and apply in floating point afterward: Track Gain: -13.74 dB You're definitely hearing clipping. I need to fix this in Cog, too, because that doesn't do the 1.4x volume scale in floating point, either. |
Idea no Hi's title screen music (01 Day of the Idea) on SDL Mixer X has unpleasure audio bursting (?) effect, but other place of GME such as kode54's GME plugin for FB2K didn't has this issue.
The text was updated successfully, but these errors were encountered: