SNES SPC - What settings do you use when listening? (Sample Rate + Interpolation techniques) by PyroPaperPlanes at 7:39 PM EST on February 10, 2016
When listening to SNES-SPC files, what settings do you prefer? If I'm not mistaken, the original SPC700 soundchip on the SNES was (usually) limited to a sample rate of 32000Hz, and utilized a gaussian interpolation technique. However, most SPC players allow you to select higher sample rates and implement different types of interpolation (None, Linear, Cubic, Gaussian). At higher sample rates, is the SPC file simply being upscaled, or is the data actually preserved? Do you prefer trying to emulate the Super Nintendo's limitations, or prefer the higher sample rates and different (if any) interpolation techniques?
In my personal experience, the tracks are brighter with Cubic Interpolation vs Gaussian Interpolation. I keep flipping back and forth between the two settings. It reminds me about the debate of whether scan lines contribute to older games; They technically provide an inferior picture, but the pixel art was often designed with the limitation in mind. While the Cubic Interpolation provides a more clarified sound, I have a feeling some of the blemishes were supposed to be hidden.
I don't know what player you're using that lets you set it to a higher rate than 32000, but anything higher than that is pretty pointless since the samples are all necessarily 32000Hz to begin with. I usually leave interpolation off if I can for maximum authenticity, but if you want to try making the songs sound better, you can rip an .spc file to midi+sf2 using VGMTrans. Occasionally it works really well and sounds excellent.
The samples are not 32000hz to begin with. They're WAY smaller than that. Most samples don't come close to being ~22kHz in sampling rate. The SPC chip internally resamples everything to 32000 when it mixes the channels together. That does not mean the samples themselves are strictly 32000hz.
Resampling higher than 32000 will actually improve the quality, but what would improve it even more so is using a sinc function based resampler in addition to going higher than 32000.
On topic: I use the Alpha-ii SPC winamp plugin with it's Sinc resampler and the sampling rate set to 192000 hz. I also enable it's "Voice Antialiasing" function too.
By paying close attention to the SPC700 registers and also manually decoding the raw BRRPCM, sample by sample yourself without performing the mixing to 32000Hz.
Firstly, I use SNESAPU in foobar2000 (foo_snesapu.) I prefer this to foo_gep for SPC because of what this thread is talking about.
My preference is a sample rate of 44.1KHz, and I use either Cubic or Sinc interpolation, as that to my perception gives the brightest sound (I cannot decide between them, however - I will leave it as Sinc.) I dislike Gaussian interpolation as I find it sounds muddy - the same reason I choose not to listen to SPC audio in its native frequency. The difference is obvious to hear side-by-side:
I prefer "clear crisp sound", to "hurr durr nostalgia overload what the SNES sounded like".
It'd be like preferring hissy low quality sound GBA music, to higher quality sound that you get from GBAMusRiper (for the games it actually works perfectly on).
I prefer "clear crisp sound", to "hurr durr nostalgia overload what the SNES sounded like".
It'd be like preferring hissy low quality sound GBA music, to higher quality sound that you get from GBAMusRiper (for the games it actually works perfectly on).
by nothingtosay at 10:59 PM EST on February 18, 2016
When I use the Alpha-II SPC Player, I set it to whatever my system's sampling rate is set to at the time, usually 48 kHz since my receiver won't let me use Dolby Pro Logic II with 96 kHz over S/PDIF for some reason. I mostly use sinc interpolation. Linear and cubic allow aliasing, which is artificial high frequencies, so I never really go with either of those. Sinc leaves the samples sounding essentially as they do in their raw form, while Gaussian interpolation prevents aliasing by cutting the high frequencies. However, some soundtracks seem to have taken this treble cut into account, like Secret of Mana, and sound too bright when not using Gaussian. I'm a tweaker, so I play around with this stuff.
If I want for my SNES music to sound like the real thing (minus the background noise inherent to using the real hardware), which I sometimes get the whim for, I use foo_gep with Gaussian interpolation and blargg's analog simulation in the advanced settings, with resampling on 3x or higher. Alpha-II's "Like the SNES" setting doesn't simulate as accurately as foo_gep in its resampling/low-pass filtering and doesn't EQ to simulate the hardware's frequency response (although it does simulate that real hardware background noise).