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: Simple Component Request - Resample 1st Second on Launch (Read 3661 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Simple Component Request - Resample 1st Second on Launch

Hi everyone,

I'm currently using a VST that breaks whenever the first piece of data that it processes isn't 44100Hz (I don't know its buffer size).

I found out that it sounds better when receiving 96KHz as input (I output 96KHz anyway - the resampler was located after the VST until now), but I must manually move the resampler underneath the VST plugin, play any 44.1KHz file, then (even on-the-fly) move the resampler above it. If I first play a 96KHz file (or a 44.1KHz file when the resampler comes before the VST) the plugin won't work until I restart foobar2000.

Anyway, I was wondering if someone could create a plugin that would resample the first second of playback to 44.1KHz on every new launch (and whenever a new DSP chain is loaded from a saved preset), then passthrough its input as-is, without degrading the quality in any way (subsequently played files won't need the plugin anymore after the 1st second processed since launching foobar2000 was played in "compatibility mode").

The current DSP chain is:

SoX Resampler
VST plugin #1
VST plugin #2
Noise Sharpening
Matrix Mixer

To get everything to work, I must first change it to:

VST plugin #1
VST plugin #2
SoX Resampler
Noise Sharpening
Matrix Mixer

Then play a 44.1KHz file. Afterwards, I move the resampler back to the top (again, even if a file is currently being played - no need to stop)

If someone were to write such a component, I'd locate it here:

SoX Resampler
Compatibility Plugin
VST plugin #1
VST plugin #2
Noise Sharpening
Matrix Mixer

Remember, once I get the plug-in to work, there's no need for any more workarounds; everything works fine. I just find moving the DSP chain around every launch somewhat annoying.

Trolls, if you can't contribute to the conversation, please don't participate.

If anyone could help, I'd be very, very grateful.

P.S. It would be preferable if the component would support multi-channel input, but that's not a must (the VST plugin that breaks is an upmixer). The files I play vary in their specifications - from 44.1/16/Mono to 192/24/6ch. I use WASAPI to output 96/24/7.1.

Simple Component Request - Resample 1st Second on Launch

Reply #1
I found out that it sounds better when receiving 96KHz as input.
*some garbage*
Trolls, if you can't contribute to the conversation, please don't participate.
*some garbage*



TOS8. Read it. There, I didn't troll you, I contributed with a notice.

Simple Component Request - Resample 1st Second on Launch

Reply #2
96KHz should not sound inherently better at all. If you are upsampling your files, a decent resampler should produce output which sounds no different from the input. Why not just resample everything to 44100Hz if your VST components are so picky?

Simple Component Request - Resample 1st Second on Launch

Reply #3
96KHz should not sound inherently better at all. If you are upsampling your files, a decent resampler should produce output which sounds no different from the input. Why not just resample everything to 44100Hz if your VST components are so picky?

The sound card works at 24/96 natively, so it resamples (very badly) and applies its DSPs in a way that doesn't sound very good - which is why I output at 96KHz.

The VST plugin sounds much worse when it receives 44.1KHz input (I don't know why. It just does - and very noticeably so), but when it receives 96KHz as input, everything sounds just like I want to. It just needs to "initialize", I guess, with 44.1KHz input.
If any developer here would tell me that writing such a component is impossible, I'll just let it go and think of a workaround.

@mudlord: I read the TOS, even before posting, and my post doesn't violate anything there. I'm not telling anyone that they should reproduce what I'm hearing - I'm simply asking for someone to help out and write a component - with all the necessary information. I'm not even elaborating on how better it sounded, because it shouldn't concern anyone - this request is purely technical. I really hate flamewars, so I'm refraining from responding directly to your harsh reply's syntax (e.g. calling other users' input as "some garbage").

Simple Component Request - Resample 1st Second on Launch

Reply #4
Then you can use a double resampler setup. There is no limit to how many resamplers you can use in the DSP chain. Stick a 44100Hz at the top, then stick a 96KHz at the bottom.

Simple Component Request - Resample 1st Second on Launch

Reply #5
Then you can use a double resampler setup. There is no limit to how many resamplers you can use in the DSP chain. Stick a 44100Hz at the top, then stick a 96KHz at the bottom.

Thanks for the quick response; but I think you understood me incorrectly - let me try to explain the situation again:

Your solution will indeed output 96KHz, but the VST will receive 44.1KHz as input.

The thing is - I want it to receive 96KHz input, but only after 1 second of 44.1KHz has been played through it (again, it needs to "initialize" with 44.1KHz).

To achieve this, at the moment, I move the resampler underneath it, play a 44.1KHz file, then move the resampler back up.

The issues are all gone until foobar2000 is restarted - I can play any file, pause, stop and play, seek, etc.

As I mentioned earlier, this component should resample the 1st second played after launching foobar2000 (and when a new DSP chain is loaded - but that's optional) to 44100Hz, then bypass itself (passthrough). An alternate method which might work would be to make the component bypass the resampler for the 1st second played after launch - and I'd be careful to play only 44.1KHz files first. But that means that it has to control other DSPs - which might be hard to develop. However, if it resamples the 96KHz input (or whatever it was - 48KHz, 192KHz, etc.) to 44.1KHz, for 1 second, then disable itself - everything is solved (obviously, I don't care about the quality loss from resampling twice, just for the 1st second played for every time I launch foobar2000).

Simple Component Request - Resample 1st Second on Launch

Reply #6
96KHz should not sound inherently better at all. If you are upsampling your files, a decent resampler should produce output which sounds no different from the input. Why not just resample everything to 44100Hz if your VST components are so picky?


96K could very well sound better if he's using a Kusunoki-style, non-oversampling DAC with no low-pass filter. The ultrasonic garbage will be an octave higher and probably less deleterious to the sound. Some delta-sigma DACs have measurably lower THD at 96K compared to 48K.


Simple Component Request - Resample 1st Second on Launch

Reply #7
Guys? :X

 

Simple Component Request - Resample 1st Second on Launch

Reply #8
It would be more appropriate to get the VSTs author to fix it, instead of developing some quirky workaround, that you will hardly find anyone to write for you, since this seems to be a unique scenario.