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: Routing data flows to Foobar via VB Cable (Windows 10) (Read 4123 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Routing data flows to Foobar via VB Cable (Windows 10)

Hope this is the right section for this.

Since I've got MathAudio Room EQ installed in Foobar, I'd like to route streaming apps to Foobar.
Tried specifically with Qobuz (for Windows).

After installing the VB Cable driver I see a new entry in Qobuz' output devices list: Cable Input and a new entry in Foobar's Components->Tools: Recorder.
In such page all you find is the sample rate and depth, and the brief instruction

Quote
Enter 'record://[Duration]' in 'Add location' box. Duration is optional

So I
  • added the required txt line as if it was any radio steam with no Duration specified (tried w/ and w/o brackets, w/ and w/o any duration;
  • selected Cable Input as output device in Qobuz;
  • selected Primary Sound Driver as an output device in Foobar (checked it works with local files and radios);
  • checked that Qobuz' output format was Cable Input;
  • checked that sample rate and depth was the same in the two apps' settings.

When I click/start the flux, I get the following error message tho:

Unable to open item for playback (Unknown error code 1): "record://"

There seem to not be many other options/combinations to try, my only doubt would be that the whole setting is not compatible with Foobar's output.

Any suggestions? The possibility to have any stream processed by foobar seems really intriguing... furthermore, DRC makes things sound so much better...

Thanks anyone :)

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #1
The error code from the API used by that component just means "unspecified error", it unfortunately does not explain much. But did you select the VB Cable as the recording source on Recorder's preferences page? You can try lower sample rate and bitdepth. And it's probably safest to keep channels at stereo.

I have been meaning to rewrite the Recorder component for a long time to use WASAPI. Perhaps one of these days I'll find the time.

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #2
Try using their other software— HiFi Cable.
It works better. You must make sure the sample rate at both end are the same, and matches foobar recorder too.

I have been using HiFi cable to route from Tidal to foobar for several years already, super stable.


Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #3
The error code from the API used by that component just means "unspecified error", it unfortunately does not explain much. But did you select the VB Cable as the recording source on Recorder's preferences page? You can try lower sample rate and bitdepth. And it's probably safest to keep channels at stereo.

I have been meaning to rewrite the Recorder component for a long time to use WASAPI. Perhaps one of these days I'll find the time.

Thanks Case :)
If you mean in Foobar->Preferences->Tools->Recorder, the entry in the Device field is CABLE Output

Try using their other software— HiFi Cable.
It works better. You must make sure the sample rate at both end are the same, and matches foobar recorder too.
I have been using HiFi cable to route from Tidal to foobar for several years already, super stable.

Thank you BF, I'll give it a look :)

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #4
Try using their other software— HiFi Cable.

I checked it :)

While I trust you on what you state, I'd like to experience and test a solution before investing money on it.
Honestly, buying something from a developer hoping it will work for me because their free stuff didn't... "sounds" a bit weird to me :)

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #5
Try using their other software— HiFi Cable.

I checked it :)

While I trust you on what you state, I'd like to experience and test a solution before investing money on it.
Honestly, buying something from a developer hoping it will work for me because their free stuff didn't... "sounds" a bit weird to me :)


If I remember correctly, you can just download, install and try.



Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #6
Looking at their webpage, I read

«All audio streams sent to VB-CABLE inputs (Playback Device) will be forwarded to VB-CABLE outputs (Recording Device).»

I set CABLE Input in Qobuz player and this seems to make sense, but IIGTR Foobar should be showing CABLE Out among its output devices. It only shows CABLE Input tho. Is this as designed?

EDIT: I noticed that when CABLE is the output device in Qobuz both CABLE and CABLE 16 show activity (v-meters) in Windows' Sound settings. So I chose CABLE 16 as the Input device in Foobar, and this time the error message was a bit clearer:

Unable to open item for playback (Unknown error code 1): "record://"
Audio device in use


This seems to enforce the idea that I should be seeing CABLE Outputs somewhere in foobar... but it's not there.

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #7
I tried VBCable with my setup, it works perfectly fine. Let me try to help you with detailed steps.

On source side, choose VBCable as the output device. My example below is from Tidal.



In foobar, these are the relevant settings for the recorder:



In foobar a playlist, add a location:



You should now see this in the playlist.



Play & enjoy ...


---

Extra Info: there is a VBCable Control Panel that you can run to check what is happening in VBCable.



Hope the above helps!


Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #8
I tried VBCable with my setup, it works perfectly fine. Let me try to help you with detailed steps.

Thanks BF :)

On source side, choose VBCable as the output device. My example below is from Tidal.

[attach width=200]33927[/attach]

Checked!

In foobar, these are the relevant settings for the recorder:

[attach width=400]33929[/attach]

Checked!

In foobar a playlist, add a location:

[attach width=300]33931[/attach]

Not sure what you mean by playlist here, I use the option File->Add location.
Anyway... checked!

You should now see this in the playlist.

[attach width=300]33933[/attach]

I do :)

Play & enjoy ...

The above is exactly what I've been doing ever since. As I wrote in my previous posts, no luck. I get the error messages I have mentioned :/

Extra Info: there is a VBCable Control Panel that you can run to check what is happening in VBCable.

[attach width=300]33935[/attach]

I seem to ber unable to reach that panel. Where am I supposed to find it? It's not in the Start menu, nor in the Apps list, nor on the desktop. If I Search for it my PC doesn't find it.

Also, can you confirm foobar will work with any output setting? Shall I choose a specific one instead?

Thanks again for your time and efforts :)

PS: I checked, the other encoder you were suggesting requires a payment in order to d/l

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #9
but IIGTR Foobar should be showing CABLE Out among its output devices. It only shows CABLE Input tho. Is this as designed?
You definitely should not use VB Cable as output in foobar2000. If you do, the error about "device in use" is very expected. In foobar you use the actual output that will make sound.

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #10
but IIGTR Foobar should be showing CABLE Out among its output devices. It only shows CABLE Input tho. Is this as designed?
You definitely should not use VB Cable as output in foobar2000. If you do, the error about "device in use" is very expected. In foobar you use the actual output that will make sound.

I tried any combination just to be sure. Error is the same, whatever output I use in foobar. My question was different tho, but it doesn't matter :)

Currently, foobar's output is my audio interface's ASIO driver

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #11
I just tested Qobuz w/ VB cable and it routes fine with record://  on my pc.  It seems you have all steps correctly, I would double check

1. Control panel / Sound / Playback tab / Cable input should show ready status, and when you select it as default, it should have green volume bar moving up and down when Qobuz plays some music.
2. Control panel / Sound / Playback tab / Cable output should show ready status , and the green volume bar will move up and down when Qobuz plays some music , same as #1 and this output signal will go to   Foobar->Preferences->Tools->Recorder, the entry in the Device field is CABLE Output
3. I'm using portable foobar 2000 v2.1.5 (x86) 32bit w/ foo_record component v0.23  with VB-Cable driver pack 45.     Probably you may install another foobar in portable mode and try again? 

if all above still give you the unknown error, may you try uninstall / reboot / reinstall VB-cable or if you may try on another PC ?  I think may be some glitches about driver or something. 

 

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #12
I just tested Qobuz w/ VB cable and it routes fine with record://  on my pc.  It seems you have all steps correctly, I would double check

1. Control panel / Sound / Playback tab / Cable input should show ready status, and when you select it as default, it should have green volume bar moving up and down when Qobuz plays some music.
2. Control panel / Sound / Playback tab / Cable output should show ready status , and the green volume bar will move up and down when Qobuz plays some music , same as #1 and this output signal will go to   Foobar->Preferences->Tools->Recorder, the entry in the Device field is CABLE Output
3. I'm using portable foobar 2000 v2.1.5 (x86) 32bit w/ foo_record component v0.23  with VB-Cable driver pack 45.     Probably you may install another foobar in portable mode and try again? 

if all above still give you the unknown error, may you try uninstall / reboot / reinstall VB-cable or if you may try on another PC ?  I think may be some glitches about driver or something. 

Thank you SP for your time :)
I'll assume you #2 should read

"2. Control panel / Sound / Recording tab / Cable output"?

In fact, I only have one Cable Out in Sound preferences, and it's in the Recording tab.

Although both Cable In and Out seem to have set themselves not only as Active but also as Default device, Cable Out doesn't show any activity while Qobuz plays (while Cable Input and Cable In 16 both do, as they should).
Maybe here's the issue, but I can't say what is causing the issue and what this points at.

At least, tho, we have found a step where things seem to stop working :)

Thanks again!

PS, NB: where do I find VB's control panel? I've already asked this but got no answer yet.
Also - this might be hinting at something - is I search in the Start menu for "VB", "vb cable" or "vbcable" windows finds nothing. Is this normal? o.O

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #13

Although both Cable In and Out seem to have set themselves not only as Active but also as Default device, Cable Out doesn't show any activity while Qobuz plays (while Cable Input and Cable In 16 both do, as they should).
Maybe here's the issue, but I can't say what is causing the issue and what this points at.

The above in red might be the problem.
If VBcable is a default device, WindowsOS will grab it, and other apps cannot open in Exclusive Mode.
Change the default device to something else (like PC Speaker and/or PC Microphone) so that WindowsOS don't interfere.

Quote
PS, NB: where do I find VB's control panel? I've already asked this but got no answer yet.
Also - this might be hinting at something - is I search in the Start menu for "VB", "vb cable" or "vbcable" windows finds nothing. Is this normal? o.O

It's here for 64bit installs::  C:\Program Files\VB\CABLE\VBCABLE_ControlPanel.exe
If you want to make parameter changes, you need to run it with admin privileges.


.

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #14
Thanks BF :)
Well, things seem to be getting complicated... :D

1. VBCable set itself as a default device, even tho there's another default device which is my audio card's main output. Anyway, after having tried several times, it seems this time I could have it retain the "non-default" state...

2. No luck for the VBCable Out, which keeps on retaining it default state (?)

3. Thanks for addressing me to VB's control panel, I wonder why it does not come up in a search! It reports different SR/Res values than the song that Qobuz is playing ATM. Is this normal, since in Foobar I have to set those values so that they are the same as the song playing?
Anyway, I see that those values coincide with what's shown in Windows' Sound Control Panel (same doubt?). In order to perform a est and not leave anything untried I changed these settings to reflect the song's. No luck, same error reported in Foobar.

4. I see the v-meters working both in VC's and Sound's control panels as for Cable Input. No activity from Cable Output tho (at both locations). Is this meaningful?

Thanks again

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #15
Thanks BF :)
Well, things seem to be getting complicated... :D

1. VBCable set itself as a default device, even tho there's another default device which is my audio card's main output. Anyway, after having tried several times, it seems this time I could have it retain the "non-default" state...

This is Window's fault. Windows OS behavior is set to grab any newly inserted audio device as default. No way to prevent this from happening. Good for work (conference calls and such), bad for audio playback workstation.

This utility might come in handy to help push the default audio away to something else.
https://github.com/DanStevens/AudioEndPointController


Quote
3. Thanks for addressing me to VB's control panel, I wonder why it does not come up in a search! It reports different SR/Res values than the song that Qobuz is playing ATM. Is this normal, since in Foobar I have to set those values so that they are the same as the song playing?
Anyway, I see that those values coincide with what's shown in Windows' Sound Control Panel (same doubt?). In order to perform a est and not leave anything untried I changed these settings to reflect the song's. No luck, same error reported in Foobar.

4. I see the v-meters working both in VC's and Sound's control panels as for Cable Input. No activity from Cable Output tho (at both locations). Is this meaningful?

Thanks again


The control panel reports the SR/Res values between VBCable and the App connected to it. If you see "sr" flashing, then there is a sample rate mismatch between VBCable & App. I would trust VB control panel meter more than Windows.

I don't think VBCable supports dynamic changes to the SR/Res. In any case, foo_record cannot do dynamic sample rates. So you must fix the sample rate for the entire signal chain.

On my setup, I fixed it as 16bit/44k1sps throughout. I force Tidal to output 16/44k. I configure HiFi/VBCable for 16/44k on both ends. and I configure foo_record to record at 16/44k.

Me and someone else in this thread already confirm this setup works. I use it regularly to listen to Tidal. I really cannot think of where else to check about your setup that is failing. Maybe just try on another PC/laptop.

This recorded GIF shows how the control panel looks like when it is working well.



.

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #16
I probably wasn't clear enough in my previous message. The error message "Audio device in use" does not come from Recorder, it comes from foobar2000 output. If you get that error message, it means the output audio device you are trying to use is already in exclusive use somewhere else.
WASAPI exclusive mode by design locks output devices in this manner. ASIO mostly too, though that depends entirely on driver implementation.
Try the record:// playback without any other players active. If it doesn't work, try it with different output. When you get it playing (playback time advances and there is no error), you can start the other player you want to route through foobar. If things break at that point, you know the other player locks your playback device because of some setting.

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #17

The control panel reports the SR/Res values between VBCable and the App connected to it. If you see "sr" flashing, then there is a sample rate mismatch between VBCable & App. I would trust VB control panel meter more than Windows.

I don't think VBCable supports dynamic changes to the SR/Res. In any case, foo_record cannot do dynamic sample rates. So you must fix the sample rate for the entire signal chain.

On my setup, I fixed it as 16bit/44k1sps throughout. I force Tidal to output 16/44k. I configure HiFi/VBCable for 16/44k on both ends. and I configure foo_record to record at 16/44k.


Sorry, I was probably not clear. I see none of the issues you listed. I was just wondering why it's set # 48 kHz since both source and VBCable settings in Windows and Foobar refer to 44.1. Is this normal?

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #18
I probably wasn't clear enough in my previous message. The error message "Audio device in use" does not come from Recorder, it comes from foobar2000 output. If you get that error message, it means the output audio device you are trying to use is already in exclusive use somewhere else.
WASAPI exclusive mode by design locks output devices in this manner. ASIO mostly too, though that depends entirely on driver implementation.
Try the record:// playback without any other players active. If it doesn't work, try it with different output. When you get it playing (playback time advances and there is no error), you can start the other player you want to route through foobar. If things break at that point, you know the other player locks your playback device because of some setting.

So I closed any other audio-related app (just left a file manager and email-client on) and started the Recording: data flow in foobar. Tried both with the ASIO settings and "Null Output", Message error remains the same.

Also, my ASIO driver is certainly not working in exclusive mode: it's set otherwise in W10's Sound applet, and I can listen to two different sources at the same time anyway.

Side notes:

1. I succeeded in making VBCable not the defauld device both in Playback and Record in W10' applet.
2. I still can't see any activity in VBCable's control panel under the Output levels (while I see v-meters moving in Input levels);
3. I find weird that VBCable's control panel reports a different SR than the one shown in Qobuz and set (by me) in foobar.

Well, it seems we are unable to find the culprit... I know by experience that it's usually a very small thing/setting/flag that blocks everything. Oh well, I'll call it a day.

Thanks anyone and everyone for their time and willingness to help.

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #19
I was just wondering why it's set # 48 kHz since both source and VBCable settings in Windows and Foobar refer to 44.1. Is this normal?
No, it is not normal.
On my setup, VBCable | Windows | foobar all show the same 16/44k1.


Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #20
@viabcroce : care to try possibly next version of foo_record: <obsolete link removed>

Changed from MME to WASAPI, added loopback device options, and output easily usable for Converter as non-interactive recording can be stopped with "Stop recording" button that will appear on Playback menu.
Not extensively tested as I'm not at my development machine. Mainly released incomplete product to see if it gives more informative error messages.

Edit: obsolete test version removed.

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #21
@viabcroce : care to try possibly next version of foo_record: https://foobar.hyv.fi/foo_record_wasapi.fb2k-component.

Changed from MME to WASAPI, added loopback device options, and output easily usable for Converter as non-interactive recording can be stopped with "Stop recording" button that will appear on Playback menu.
Not extensively tested as I'm not at my development machine. Mainly released incomplete product to see if it gives more informative error messages.

Thank you Case, appreciate that :)

Outcome is the same, here follows the complete error string returned:

Unable to open item for playback (IAudioClient::Initialize failed (0x80070005)):
"record://"

HTH :)

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #22
Ok, you have apparently disabled access to microphone in privacy and security settings. Please fix permissions and try again.

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #23
Ok, you have apparently disabled access to microphone in privacy and security settings. Please fix permissions and try again.

Thank you Case :)
OK, it seems we are getting somewhere :)

Now there's no error from foobar. I see the data flow going and the timer going. Still no audio tho.
Tried changing foobar's Output virtual device among "Primary Sound Drive", "ASIO Fireface USB" and "Altoparlanti RME" ("RME Speakers") to no avail.

Notes:

1. In W10's Sound settings, the Cable devices are now all getting activity on v-meters.
2. I'm currently looping a song @ 48/24.
3. In VC's control panel both Input and Output Level's meters are active. Weirdly enough, S1-Cable Input shows 44.1/24, while S1-Cable Output shows 48/24 tho.

Is this of any help?

Re: Routing data flows to Foobar via VB Cable (Windows 10)

Reply #24
You can verify foo_record working by right clicking on the entry and select Convert and save the output for example to a WAV file for a while. If you end recording with Abort-button, the resulting file will be deleted by default. You can cleanly end recording and get a working output file by using 'Playback' -> 'Stop recording' button.
You can then open the file for example in any audio editor to see what it contains. I probably shouldn't speculate further at this point, but it's easy to make foobar2000 silent by for example muting it in Windows mixer. Anything is possible.

Sample rate differences you keep mentioning sound like you use different settings in Windows mixer and in programs. Windows mixer settings are the only settings that matter for anything that doesn't do exclusive mode operation. With non-exclusive access all output gets resampled to sample rate set for output device, and when recording everything gets resampled to capture device sample rate.