The rolloff in input sample space is the same, but the spike at 16 kHz in frequency space (or at the folding frequency in output sample space, if you like) seems to be smaller and perhaps a little wobbly; it looks more pronounced at 64 kHz than at 44.1 kHz.
Please excuse the noisy curves; they're using non-integer resampling and it messes up the comparison. I've smoothed them so you can tell what's going on. Again, this plot is normalized to the
input folding frequency, which is why the high-sample-rate curves drop out so early.
Attachment:
snesgain3_norm.png [ 14.91 KiB | Viewed 3746 times ]
Say - what exactly does the analogue lowpass filter do? Anyone know what the frequency response looks like? If it happened to roughly compensate for the output Nyquist spike, we could ignore the spike when preparing samples...
...
Wait, did you mean "what does the output look like above the input sample's folding frequency"? It's not bad; there's some aliasing but it drops out quickly because of the rolloff. I doubt anything you could pull off manually in the time available would sound as good.
This plot compares a 32 kHz noise sample (blue) with a 16 kHz version of it (red) upsampled to 32 kHz via SNES gaussian interpolation. The notch is due to the bandlimiting filter used during resampling; you can see the same thing at the upper end of the blue curve.
EDIT: I have added a version of the 16 kHz curve that uses my prefilter to compensate for the interpolator. The aliasing peak is about 12 dB down from the signal, and it's only that high because the signal is fairly loud fairly close to the Nyquist.
Attachment:
noise3216.png [ 18.76 KiB | Viewed 3730 times ]
EDIT2: I've plotted the 16 kHz sample with both prefiltering and gaussian interpolation (the magenta curve above) against the same noise sample with neither effect added (the 16 kHz equivalent of the blue curve above). For comparison, I've also included a curve for cubic interpolation without prefiltering.
Attachment:
noise1616c.png [ 44.45 KiB | Viewed 3729 times ]
As you can see, prefiltering the sample before BRR conversion allows the gaussian interpolator to essentially recover the original spectrum. The cubic by itself is incapable of this feat, and has louder aliasing that a compensating prefilter would make even worse.
...
Please take all this with a small grain of salt, as I'm using my own implementation of the gaussian interpolator using the SNES algorithm and lookup table. Its results
should be basically identical (and it matches the description given by tepples in the 32 kHz case), but I haven't rigorously verified it. Also, I'm rushing the analysis a bit, so I may conceivably have screwed up somewhere. If my prefilters turn out to not work well on a real SNES or known bit-accurate emulation, it's probably not the hardware's fault.