Skip to main content

Notice

If you are using a Hotmail or Outlook email address, please change it now, as Microsoft is rejecting all email from our service outright.
Topic: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs (Read 821 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

[Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Hi, this is a follow-up of this thread.

Apparently, when DSP Manager needs to pass a multichannel audio to a DSP that only handles stereo audio, like MathAudio Headphone EQ, it just bypasses that DSP and goes to the next DSP in the list.

I would prefer if optionally channels 1 and 2 (for example) were passed to the stereo DSP, instead of completely bypassing it.
The stereo DSP would then be able to process channels 1 and 2, and the remaining channels would remain untouched.
The audio would remain multichannel, and then it would go to the next DSP in the list.
This would be very useful to me, as said in the aforementioned thread.

Hopefully this could become an option, either in DSP Manager prefs or in Advanced prefs. Something like this :
  • Preference text suggestion : "DSP Manager behaviour in case of multichannel audio and stereo DSPs"
  • Available options : "Pass channels 1 and 2 to stereo DSPs" or "Bypass stereo DSPs (default)"

Any thoughts on this ? Thank you.

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #1
This is entirely dependent on the DSP itself, and not the DSP Manager. The DSP Manager has no idea which formats a DSP claims to support, or which formats it will claim to emit.

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #2
Thanks. But this is weird : prior to this topic I've emailed MathAudio Headphone EQ's developer (which as you may know is a stereo-only DSP component for foobar2000), and he says this :

Quote
If you try to process a 4-channel sound with a stereo plug-in, the host program (Foobar2000 in this case) decides what to do. The host program decides whether it will process two channels or show an error message. The Headphone EQ plug-in doesn't know anything about the source and the destination of the audio stream. It takes two buffers of sound from Foobar2000 and returns two processed buffers to Foobar2000. The plug-in doesn't know where Foobar2000 took that buffers and where Foobar2000 sends them to.

So unless I'm wrong, @kode54 , you are saying that it depends on the DSP itself, but the DSP developer says that it depends on the host program. I hope we can reach an agreement here.  O:)

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #3
What kode54 said is absolutely correct. The core (foobar2000) gives DSP components audio chunks and the DSP can do with them what it wants. DSP components aren't asked if they can handle something, the DSPs are supposed to check what kind of signal they receive and decide what to do with that information.

Generally DSPs that don't support something just instantly return without doing anything to the data. If they wanted, they could give an error to the user.

If you use a DSP that only supports stereo and you only have stereo output you should use a downmixer to convert everything to stereo at the beginning of the DSP chain.

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #4
Thanks @Case . I will inform the MathAudio developer of this topic and your replies, and see what he can do.

What I want to do is this exactly :
  • Take a stereo signal
  • Duplicate it (stereo to 4 channels : 12 becomes 1234)
  • Apply a PEQ preset to channels 1 and 2
  • Apply a different PEQ preset to channels 3 and 4

For that I'd need ideally a PEQ that would work on 4 channels.
But since I don't know any, I'm considering a stereo PEQ such as MathAudio (or any other PEQ).
MathAudio has the advantage of being a foobar component, not a VST (I've read that VSTs have or used to have stabilty issues on foobar ?).

If a stereo PEQ could at least EQ channels 1 and 2, then I could do this with the DSP manager :
  • PEQ instance #1 to EQ channels 1 and 2
  • Swap channels with Matrix Mixer (1234 becomes 3412)
  • PEQ instance #2 to EQ the new channels 1 and 2 (which are the old channels 3 and 4)
  • Swap channels again (3412 becomes 1234)

If you guys know any way of achieving this, you're welcome to help  :)

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #5
In that case, you're more likely to need a complex filter graph, comparable to what many JACK clients can offer, rather than a simple DSP chain.

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #6
Thanks. I really thought this could be achieved within foobar.  :( If only a stereo DSP could handle channels 1&2 of a 4-channel audio, I could do everything via the aforementioned steps, and I wouldn't need to resort to JACK audio. My setup would be as follows (see attached pic). Yes, I need two USB ports because there are two audio devices involved. But they are independent so I don't mind them getting slightly out of sinc over time.

Actually I have already managed to do all this within foobar ! Thanks to some precious help from Rollin, I have successfully used Convolver. Here's how. With Audacity I have created a 4-channel basic pulse. Then with a VST PEQ (Audacity supports VSTs), I have applied one EQ to channels 1&2 of the pulse, and a different EQ to channels 3&4. Then I have saved the impulse response in wav32 float format. Then I just have fed the Convolver with it. It works, and all within foobar !  :D

... it works, but it's not very convenient : every time I want to modify the EQ parameters, I have to go to Audacity and do it all over again. That's why I'm exploring more conventional PEQs that I could modify more easily, preferrably within foobar. Hence this topic.

I have never tried JACK, so I'm afraid I may run into problems. I know foobar fairly well, so I feel "safe" within it. It may sound stupid, but I have dedicated a lot of time to it, even if I'll never be an expert like you guys. :)

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #7
In that case, you're more likely to need a complex filter graph, comparable to what many JACK clients can offer, rather than a simple DSP chain.
JACK  is run flawlessly with no problems on Win 7 32 bit, however refuse to start on Win7 64 bit.  Some guess?

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #8
I'll ignore the thread-jacking and go on with the thread.
So, like I said previously, VSTs are another option. I have found this VST PEQ (DDMF's IIEQPro) which looks nice and is said to handle multichannel audio : https://ddmf.eu/iieqpro-equalizer-plugin/
I'm going to try it, and if it can apply a PEQ1 to ch1&2 and a PEQ2 to ch3&4, my problem will be solved.

But like said too, apparently running VSTs within foobar is somewhat unstable. So what VST wrapper would you advise for my use ? The only VST I would be using in my DSP chain would be DDMF's IIEQPro.

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #9
But like said too, apparently running VSTs within foobar is somewhat unstable. So what VST wrapper would you advise for my use ? The only VST I would be using in my DSP chain would be DDMF's IIEQPro.
#1:  I tried this one again with a newer Foobar and a single VST after having giving up on it in the past due to crashes;  it worked, but it messed with both the look and function of the bars on my VU meter and Enhanced Spectrum Analyzer, so gave up on it once again.
#2:  Using this currently with Acon Effect Chainer and single VST within AEC--stable and no component interference, but the same VST loaded into it "neat" as opposed to via AEC produced audio distortion.
#3:  Have not heard of any.

As both current choices are a disappointing mixed-bag of results, like you I am still hoping that the Foobar developers will eventually create an integrated VST host.  Been several requests for that, but as you said it may involve too many changes to other parts of Foobar to make it worth their while (?).

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #10
Thanks @sveakul :) It's frustrating to still don't have a stable, reliable solution in 2020 !

Another alternative could be to use an external VST Host app like VSTHost (for several VSTs) or SAVIHost (for only one VST).
I haven't tried yet, but if we can select such app as foobar's output, then it could work.
Apparently they work really well : https://guitargearfinder.com/guides/run-vst-plugins-standalone/

But would that still be compatible with a bit-perfect sound until it reaches the VST Host ?
Normally I would use foobar's ASIO (or WASAPI) output, which guarantees bit-perfect sound between foobar and the audio interface, bypassing Windows.
But with an external VST Host, I'll need to use another foobar output, so I guess the sound will go from foobar to Windows, from Windows to the VST Host, and then the VST Host will output to ASIO.
How can I be sure that Windows won't mess up with the sound between foobar and the VST Host ?

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #11
You need a virtual audio cable between Foobar and VSTHost. I use VB-Audio Hi-Fi cable between programs. Dirac also recommends a VB-Audio cable with VSTHost.

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #12
Thanks @sveakul :) It's frustrating to still don't have a stable, reliable solution in 2020 !

Another alternative could be to use an external VST Host app like VSTHost (for several VSTs) or SAVIHost (for only one VST).
I haven't tried yet, but if we can select such app as foobar's output, then it could work.
Apparently they work really well : https://guitargearfinder.com/guides/run-vst-plugins-standalone/

But would that still be compatible with a bit-perfect sound until it reaches the VST Host ?
Normally I would use foobar's ASIO (or WASAPI) output, which guarantees bit-perfect sound between foobar and the audio interface, bypassing Windows.
But with an external VST Host, I'll need to use another foobar output, so I guess the sound will go from foobar to Windows, from Windows to the VST Host, and then the VST Host will output to ASIO.
How can I be sure that Windows won't mess up with the sound between foobar and the VST Host ?

I use NanoHost - https://www.tone2.com/nanohost.html.
NanoHost is look like SaviHost, but working much more stable than SaviHost and VST HOST.
You don't need additional output for VST Host - just select output as F2K ASIO output.

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #13
Amazing ! Thanks Priest_1, I will try :)

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #14
From the link description Nanohost is a VST-synths with no normal audio input.

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #15
@sacduser , what do you mean ?

@Priest_1  I'm trying NanoHost, I have successfully loaded the VST plugin, but I can't make it work with foobar. I must be missing something. Can you help ?
What should I configure in :
- foobar (prefs > playback > output) ?
- NanoHost ( config > audio output settings > output port) ?

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #16
Using VB-audio Cable and VSTHost, you configure Foobar output to Cable input and you configure VSTHost input to Cable output. Nanohost has no input feature to receive Windows sound.

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #17
Yes, I understand. But Priest_1 said this about NanoHost : "You don't need additional output for VST Host - just select output as F2K ASIO output" and I'm not sure of what that means. Maybe that confused me.
So I still need VB-audio Cable with NanoHost ?

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #18
Yes, I understand. But Priest_1 said this about NanoHost : "You don't need additional output for VST Host - just select output as F2K ASIO output" and I'm not sure of what that means. Maybe that confused me.
So I still need VB-audio Cable with NanoHost ?
If you have ASIO device - select F2K output and NanoHost output as same ASIO output, if you don't have ASIO device - select in windows mixer as input - virtual cable device and same output for F2K  and select in NanoHost output - your soundcard.  

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #19
I have tested 3 configurations using TDR Nova a free PEQ VST ( stereo channels ) as test object:

1: Foobar with Yegor Petrov's foo_vst v0.9.0.3
2: Nanohost and VB audio Hi-Fi cable
3: VSTHOST and VB audio Hi-Fi cable

All 3 configurations worked with sound coming through allright, but soundwise I preferred option 1.

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #20
@sacduser:  with choice #1, did you notice any effects on other visual dsp-type elements in Foobar?  When using Yegor's plugin with the Sonic Anomaly "Unlimited" limiter/compressor VST, on Foobar's built-in VU Meter the bars became unevenly narrow, and the foo_musical_spectrum's bar levels changed to show peaks at 10db below the actual VST peak setting--both effects were absent when I switched to the Yohng VST host and loaded Unlimited via the Acon Effect Chainer VST plugin.

Re: [Feature Req.] DSP Manager handling of multichannel audio in case of stereo DSPs

Reply #21
@sveakul
I have only Case's Waveform minibar as visual effect in my Foobar skin and I did not notice any visual problems.

 
SimplePortal 1.0.0 RC1 © 2008-2020