Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Program or plugins that offer different kinds of upsampling algorithms? (Read 9191 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Program or plugins that offer different kinds of upsampling algorithms?

Reply #25
Is there a program or plugin for Foobar or Audacity that offers these different kinds of upsampling and lets me experiment? I really would like to dig a bit deeper into the topic and maybe find even better sounding algorithms.

see "Polynomial Interpolators for High-Quality Resampling of Oversampled Audio" by Olli Niemitalo:
http://yehar.com/blog/wp-content/uploads/2009/08/deip.pdf

It is a great reference for different interpolators, their performance and their alias rejection.

Btw, coincidence but I was actually wondering about that Hermite Resampling. Is it uncommon? According to PCSX2 it should be the best sound quality option. That MultiResampler doesnt offer it though. Was just wondering if I could try this one out too on my soundtrack rips. Doubt I would hear a difference from Cubic but it would be a interesting try never the less. If any Foobar plugin offered this that is. Could barely find anything about Hermite Interpolation. It is sometimes also refered to as Cubic Hermite Resampling but generally seems to be really uncommon and not much information on. Guess it is not used for traditional audio resampling?

Cubic hermite interpolation is pretty common in audio.  Usually it is just called "cubic interpolation".  We use it in Rockbox. 

From a compression point of view, some degree of fold-over from a lower bandwidth to a higher bandwidth can be used to make sound brighter or seemingly "transparent" even though it's an effect not a lossless replication. Aliasing in decimation should always be avoided, but in interpolation keeping some fold-over can often sound better than brick wall filtering. It's not DSP correct in terms of reproduction the way the samples are encoded, yes, but brick walls can not only make music sound muffled or dull but in other cases it can sound more harsh. Sometimes, basic interpolation works well for musicians as they see fit.
If you want to speculatively fill in higher frequencies, are there not established techniques for (blind) bandwidth extension that does a better job than does very short resampling kernels?
https://en.wikipedia.org/wiki/Bandwidth_extension
https://ieeexplore.ieee.org/document/8462691
-k
Modern sampler/synth often support more than 100 voices, so advanced methods like these are not practical for latency and processing power concerns. For games, even more processing power is reserved for other purposes.
I dont understand this. If your application can work at a high intermediate rate (88, 96,...) then one can often apply «good» methods offline. The waveform is then going to be smooth, and one can use simpler methods for low cost/low delay realtime resampling.

For a vintage video game that includes sound snips at 22.05kHz or even lower rates (in order to save cartridge/cd rom space) surely we can afford to upsample those files offline using todays storage?

I am sure that there are some intricacies with samplers where you want to continously modulate resampling using the pitch bend wheel, but I am argueing that the issues of 1) maximizing (apparent) quality of limited recordings, and 2) changing samplerate in a realtime application are usually solved best separately.

I benchmarked Hermite in rockbox, I think it was 3 or 4 MHz on an ARM9 core per 44.1->48k stereo channel pair, so yes, on modern hardware polynomial resampling is basically free.  I'm also not sure that the number of voices matters either, since most emulators are probably mixing at the native rate and then resampling the output.

Re: Program or plugins that offer different kinds of upsampling algorithms?

Reply #26
https://youtu.be/DOJquuBpenw
SNES SPC sample extraction.
The video shows the format uses very short, looped notes with only one pitch (or slightly more for some games) to cover the whole keyboard range. Thankfully it is a rather old console so graphics and other requirements are low.

foobar2000 SPC plugin with several kinds of interpolation methods to play with.
https://www.foobar2000.org/components/view/foo_snesapu
The real console uses Gaussian. I suppose if none of the available algorithms sound good then one can extract the samples, reconstruct the sound patches and sequence, then render the audio output with external samplers. Could be laborious.

I am also not happy with the sound quality of the Dreamcast synthesizer, but I only have one favorite game (Ikaruga) with poor quality music in this console. I ended up with sequencing the whole OST myself, so everything follows my own taste.
https://www.nicovideo.jp/watch/sm16395588
I did it with SFZ and a SoundFont I made, the highest quality setting should look like the attached screenshot. Quality can be considered extremely high for a sampler. No facny AI reconstruction though. The whole thing took me two weeks to sequence and there is (was?) no tool to extract anything (sequence, sample, play individual tracks separately) from the Dreamcast sequence format.

Re: Program or plugins that offer different kinds of upsampling algorithms?

Reply #27
Though I don't know the specifics of how the program does it, I have used Stereo Tool to do the same thing with old game music.
The original music tracks of StarCraft are in 22kHz wav. I always thought they sounded awesome but dull compared to other recordings. Then I got a hold of one of the tracks from a rare Korean CD (Starcraft Game Music Vol.1) and I had to do something about the missing frequencies.
In Stereo Tool I used the Absolute Highs setting combined with AutoEQ. The AutoEQ was hard to get tuned right, but the end results sound like they came from the same source as the CD now.
Processed audio in java and python.