Sample Rate question by 1337haXXor at 4:39 PM EDT on June 29, 2018
So I'm looking at some of the video game soundtracks I've found and ripped to FLAC and notice that they're all in 48khz sample rate, which is obviously not correct and pointless bloat in the file. I'm aware playing from the actual chip file is MUCH more efficient, but I have a large library and need metadata/playlist management, etc. I'd like to resample them or go through and reconvert them using the proper sample rate, but was wondering, what's the easiest way to determine the proper sample rate for a song?
I know the SNES, for example, used a 32khz chip, but from what I understand, not all songs necessarily used that high of quality. If I ripped them all to 32khz, that would be fine, but would I be able to find out what their actual output sample rate is and theoretically rip it lower, to be more accurate and efficient?
Also, I have less knowledge on the output sample rate of 64, Genesis, and GameCube games.
I'm aware this is most likely a pretty large issue that's probably been discussed before. I used the search on the forums here, but was unable to find any factual discussion, mostly being people's debates between interpolation methods and other preferences.
If someone could provide me guidance or a link to an appropriate thread here, that would be fantastic! I have experience with the file formats and converting, but not with ripping the files myself. Though for the purpose of accurate representation, I'd most definitely be willing to learn.
The files you ripped might be resampled themselves. Do they sound better or worse than what they should be? The best way to determine the "true" sampling rate of a song is using a frequency graph in something like Adobe Audition.
Original SNES resampled everything to 32khz if it wasn't already. Say you had a sample that was 16khz and another sample that was 12.025khz. Both would be upsampled to 32khz. I think theres some games that used higher than 32khz but I'm not 100% sure. Also upsampling can make a pretty decent difference in terms of sound quality should you use a plug-in like snesamp.
64 games are typically sequenced and usually have samples that are 32khz (i have seen games that are 22.05 and ~44.1 however). Genesis games are FM so sampling rate isn't something thats a big deal (sans the sampling channel which is low quality anyway). GameCube stuff is mostly streamed though there are some sequenced games (Gamecube bios, Mario Sunshine) and games that use a combination of sequences and streams (Mario Kart). These again ate typically 32khz (though there are games that are 44.1 and 48khz).
Yeah, for GameCube I only have 5 games I'm looking into; fortunately, most GameCube games have some sort of official soundtrack release.
If I import it into foobar using the plugin, with the Sample Rate displayed there already be changed upon import? If so, is there a way to display a sample rate before importing?
I have a variety of programs for analyzing music files, but is there any program that analyzes music while still in its sequenced format?
I'm pretty sure SNES games were all 32k, but I was wondering if there *were* in fact any that were higher.
EDIT: Wait, if a game, say, only had an output of 22.5k and foobar imported it as 32k and I exported the FLAC like that, would I be able to tell that in the spectograph data of the 32k FLAC (aka a mirroring effect, or others)?
Likewise for the 64, I'm just trying to figure out how to tell which ones are the 32k's and which are the 44k's.
My current roster is 5 GameCube games, 10 64 games, 1 Genesis game, and about 25 SNES games.
If you want to know what quality the samples themselves are, just rip the samples themselves and check. You can't really tell anything from a sequence itself since you can arbitrarily resample a sequence from its component samples and achieve different results even if none of the individual samples are as sampled at as high a rate as the overall sample rate.
VGMStream always outputs at the exact sample rate of the original audio, because it only ever has to output PCM data.
foo_gep will always output the rate you request in configuration, which defaults to 44100Hz, unless you are playing SPC or SFM files, in which case it will output 32000Hz. For most formats other than VGM, it is recommended to simply configure it to the highest rate you're likely to hear improvement from, and best to stick to 44100Hz, and only go lower if you think you really need to.
For VGM formats, the sample rate can't really be the "native" rate of a given chip, since a lot of VGM files involve two or more chips, and none of them really agree on the same sample rate. My VGM library uses a sinc resampler, with precision and quality enough for the 16 bit output resolution that the plugin produces. There really is no point to trying to output native rates there, unless you really want to mix all the tracks by hand, and even then, you'll be at the mercy of whatever resampler your track mixer uses.