VB-Cable (or Virtual HiFi Cable) and HeSuVi

VB-Cable A & B, HIFI-Cable, ASIO Bridge
Jose Hidalgo
Posts: 16
Joined: Sat Nov 28, 2020 12:09 am

VB-Cable (or Virtual HiFi Cable) and HeSuVi

Post by Jose Hidalgo »

Hi everybody, hi Vincent. Sorry for the long message, but I need to explain things precisely. :)

I'm currently trying to achieve spatialization with my headphones and HeSuVi ( https://sourceforge.net/projects/hesuvi/ ).
My PC is running Windows 7 SP1 x64, perfectly stable.

Yesterday, I have successfully installed HeSuVi with VB-Cable using this tutorial : https://www.youtube.com/watch?v=7Y4O12uomTI
(the only difference is that I didn't set CABLE input as default sound card, because I want to keep my Juli@ as default for other applications)

Here's my current setup :
  • CABLE input is configured for 7.1 sound
  • CABLE input, CABLE output and my sound card (ESI Juli@) are all configured at the same bitrate/samplerate (24/44.1).
    (why 44.1 instead of 48 ? Because my goal is to play music, and 99% of my FLAC files are of course 44100 Hz)
  • I have changed VB-Cable's samplerate to 44100 too (and rebooted).
I play music as follows : foobar2000 --> Output = "Default: CABLE input"
And I select .wav presets on HeSuVi.

It all works and sounds great in my headphones : I have spatialized sound via HeSuVi, it's really amazing. :D

... BUT I have audio glitches every 30 seconds or so ! 😱 Which makes it impossible to listen to a whole song.
Their intervals seem to vary, it can be anytime in the 20-45 seconds period approximately.

I wonder if it could be the buffer size of my physical PCI sound card (ESI Juli@).
The default buffer size is 256 samples (which I've been using for 10 years without any issues).
I have tried to increase my sound card's buffer size, BUT Windows wouldn't let me, because some "MME multichannel application or service" was denying it. 🤦‍♂️
I finally have managed to increase it by temporarily changing the assignment of CABLE Output (via the "Listen" tab of Sound Control panel) to "free" the sound card.

QUESTIONS :
  1. How could I find what's going on precisely ? I can't seem to find the right settings for my use. :(
  2. Should I install VB-Cable or Virtual HiFi cable for my use ? I'd logically prefer Virtual HiFi Cable (my purpose is HiFi, not gaming), but I don't know if it's compatible with HeSuVi...
  3. My sound card has DirectWire (ReWire) technology by ESI, which is also a virtual cable technology. So I wonder if I even need VB-Cable at all ! :o Unfortunately I don't know how to make it work for foobar and HeSuVi. Here's the control panel (not mine, just a general picture). Any hints ?
    Image
    Also, here's the sound card manual (DirectWire is described in pages 22-24) : http://download.esi-audiotechnik.com/do ... nglish.pdf
Thanks in advance !
Last edited by Jose Hidalgo on Fri Feb 05, 2021 12:24 pm, edited 3 times in total.
Jose Hidalgo
Posts: 16
Joined: Sat Nov 28, 2020 12:09 am

Re: VB-Cable (or Virtual HiFi Cable) and HeSuVi

Post by Jose Hidalgo »

Still waiting for a reply; I hope somebody can chime in :)

I have tried higher buffer values for my Juli@ soundcard (512 samples and 1024 samples).
1024 is the current Juli@ buffer value. It's the maximum it will allow (2048 makes all videos freeze, playing them becomes impossible regardless of the player).

Image

I still have many audio glitches when playing music with foobar through VB-Cable.
All devices are of course set to the same bit-depth and samplerate, like said previously (24 bit / 44100 Hz) : CABLE Input, CABLE Output, Juli@ Audio.
Here are some more precise measurements :

Wiht VB-Cable buffer set to 3072 samples, I have glitches about every 23 seconds (4 glitches in 1min32).

Image

With VB-Cable buffer set to default 7168 samples, I have a bit less glitches and they seem to be more irregular (4 glitches in 2min02 but no fixed frequency).

Image

What more can I do ? Thanks !
Vincent Burel
Site Admin
Posts: 2008
Joined: Sun Jan 17, 2010 12:01 pm

Re: VB-Cable (or Virtual HiFi Cable) and HeSuVi

Post by Vincent Burel »

glitches are a feature in Windows and can be due to any aplication on the audio path...
to set the VB-CABLE insternal latency to 7168 sample is good, it allows both application to work with upto 2048 buffers...

but the stability of the stream is also pending on the way application are managing the audio stream on input and on output.
maybe your render app is not able to synchronize 2 audio driver together.

you may use Voicemeeter instead.
Jose Hidalgo
Posts: 16
Joined: Sat Nov 28, 2020 12:09 am

Re: VB-Cable (or Virtual HiFi Cable) and HeSuVi

Post by Jose Hidalgo »

Thanks for your reply Vincent. :) I'll be happy to try Voicemeeter if VB-Cable doesn't work in my config.

Let me emphasize what's happening with foobar (it's the only audio player that I use) :
  • If I select the output as Juli@ (normal output without VB-Cable), the sound is perfect.
  • If I select the output as CABLE Input (VB-Cable + HeSuVi), there are glitches.
  • Even if I disable HeSuVi ("deactivate everything"), so CABLE Input becomes only VB-Cable direct to Juli@, there are the same glitches.
    AFAIK there is no other app in the audio path.
So far everything points to VB-Cable. This is just a hypothesis of course.
I have the latest version of every software : Juli@ driver, VB-Cable, EAPO, HeSuVi.

In case the problem came from VB-Cable, I'm willing to perform further testing. Don't you have some debugging/logging utility that I could run so you could determine where the glitches are coming from ? Or maybe some tool like Process Explorer could help. I'm not an expert with it, but if you tell me what to look at precisely, I could give you the corresponding log.
Vincent Burel
Site Admin
Posts: 2008
Joined: Sun Jan 17, 2010 12:01 pm

Re: VB-Cable (or Virtual HiFi Cable) and HeSuVi

Post by Vincent Burel »

there is no log, but what you can do is to watch on VB-CABLE statistics and
check if you get Push loss or Pull loss counter increment when you get this glitch...

BTW: how do you connect VB-CABLE Output to HeSuVi ?
Jose Hidalgo
Posts: 16
Joined: Sat Nov 28, 2020 12:09 am

Re: VB-Cable (or Virtual HiFi Cable) and HeSuVi

Post by Jose Hidalgo »

I have followed the YouTube tutorial that's in my first post, you can look @ 2:12.
So in Sound Control Panel, CABLE Input is set as 7.1, and CABLE Output is set as stereo and connected to the sound card (via the "Listen" tab).

HeSuVi is just a convolution plug-in of Equalizer APO, which as you know is a system-wide equalizer.
So with EAPO configurator, I only need to select CABLE Input (not Output, Input) as Connector (that's part of the tutorial), and EAPO becomes connected to CABLE Input.
Everything works perfectly, except for the glitches.

Image

I have made a new test.
I have another sound card from another PC (USB this time, not PCI), so I have tried plugging it in, connecting CABLE Output to it, and playing music (without HeSuVi, just direct music : foobar -> VB-Cable -> USB sound card).
Result : there are still the same glitches with foobar, regardless of the sound card.
And of course if I disconnect VB-Cable (foobar -> USB sound card), the sound is perfect.

So I guess it's not related to a particular sound card or its driver.
I guess it has to be VB-Cable IMHO (or Windows). I don't understand why, but it seems like a logical explanation.

I have also made your test.
I have checked Push Loss and Pull Loss. They both remain exactly the same during playback, even during glitches.
Push Loss is always 0, and Pull Loss is the same number as when starting playback (e.g. 4053500). Here's a screenshot during playback :

Image
Vincent Burel
Site Admin
Posts: 2008
Joined: Sun Jan 17, 2010 12:01 pm

Re: VB-Cable (or Virtual HiFi Cable) and HeSuVi

Post by Vincent Burel »

if you have no push-loss or pull-loss increment during the stream, it means the stream is stable between the input and output of the cable.
Jose Hidalgo
Posts: 16
Joined: Sat Nov 28, 2020 12:09 am

Re: VB-Cable (or Virtual HiFi Cable) and HeSuVi

Post by Jose Hidalgo »

That's exactly what I thought. :) And yet the glitches are real, and only happen with VB-Cable, regardless of HeSuVi. That's a fact, I can reproduce it 100% of the time.
Could it be that maybe, just maybe Push Loss and Pull Loss don't account for everything ? Or that there is another mysterious cause ?
The problem is somewhere and it's at least related to VB-Cable. I guess we just have to find it. :lol:
Vincent Burel
Site Admin
Posts: 2008
Joined: Sun Jan 17, 2010 12:01 pm

Re: VB-Cable (or Virtual HiFi Cable) and HeSuVi

Post by Vincent Burel »

yes, glitches are surely real, but it's not happening around the cable.
because having no push/pull loss also means the 2x applications connected are also pushing buffer and pulling buffer in a compatible speed/clock.
Jose Hidalgo
Posts: 16
Joined: Sat Nov 28, 2020 12:09 am

Re: VB-Cable (or Virtual HiFi Cable) and HeSuVi

Post by Jose Hidalgo »

All right, we'll just end this topic here then :) Here are my findings :
  • foobar --> VB-CABLE --> Equalizer APO --> Sound card : glitches
  • foobar --> VB-CABLE --> Sound card : glitches (this is the most disturbing one !)
  • foobar --> Equalizer APO --> Sound card : OK
  • foobar --> Sound card : OK
Maybe it's not VB-CABLE, but I'm sorry, it really looks like it. Putting it outside the loop removes the glitches. Putting it again in the loop brings the glitches back.

VB-CABLE is a great piece of software, but MAYBE it just doesn't work with my hardware config, for reasons unknown. It may not have any bugs in general, and still fail in my particular case. Even Windows is not a perfect piece of software : it works perfectly on millions of PCs, but in some particular configs, it fails. That's the magic of programming ! :lol:

Anyway, I've just removed VB-CABLE since I was unable to make it work with my config. Thanks for your help Vincent !
Post Reply