GoXlr-Macos icon indicating copy to clipboard operation
GoXlr-Macos copied to clipboard

Discord doesn't route voice output correctly (always in "System")

Open codecat opened this issue 2 years ago • 7 comments
trafficstars

Describe the bug In Discord, I set my voice output to "Chat", but it always routes to "System". I don't know if this is an issue with Discord or with the GoXLR driver though.

To Reproduce Steps to reproduce the behavior:

  1. Connect to a Discord voice channel
  2. Set the output device to "Chat" (or any other channel that's not "System")
  3. Listen to audio from the voice channel

Expected behavior It should go into the desired channel instead of "System".

Desktop (please complete the following information):

  • Device: MacBook Pro M2
  • GoXlr model: Full
  • Version of the app: 2.1.1

codecat avatar Sep 07 '23 16:09 codecat

Hi ! Thanks for the report !

Are you using the desktop discord app or the web version ? :0

AdelaideSky avatar Sep 07 '23 16:09 AdelaideSky

I am using the desktop version!

codecat avatar Sep 07 '23 16:09 codecat

Ok ! Are you aware there is a bug that makes using the goxlr unusable with discord desktop when it comes to inputs (stream/chat mix) if you don't use a paid 3rd party app ?

To be honest when it comes to audio splitting, macOS is very... well strange. Basically all I can do is telling the apps that uses the system, chat etc outputs to use the right channels of the real goxlr. But, here's the catch: they aren't forced to follow it ! That's why most of the time audio splitting for inputs don't work, and rarely don't work for outputs too.

To explain you further: The goxlr appears in macOS as one single audio device, with multiple channels. The app therefore needs to split them two by two for it to be usable. There is two ways:

  • One is to code a complex driver in either C, objC or eventually c++ (not sure), that takes the audio stream directly from the audio device, buffers it, and output it in a handcrafted audio device that you can select as your mic (works the same in reverse for outputs). Almost no library exists that make things simpler, only apple's perfectly undocumented CoreAudio (well it's documented but not enough for me to understand LOL)
  • The other is to simply use Aggregate Devices, that are a simple thing to do, that simply mirrors the first device, and there i can say "hey please use those channels thanks", but the app can still access all the other channels and do what they want.

Having absolutely not enough knowledge in low level programming, i couldn't use the first one even though i tried multiple times, so i used the second option.

That's i think why discord don't route its output to system anyways: it doesn't listen to the channels number preference and sticks to the first two channels which are.. system... So two solutions: either discord fix it, either i code the driver (i looked into it few days ago and even though i understand a bit more how things works im still not there at all).

Meanwhile, i would suggest you to look into Loupeback, a solution that allows creating custom audio devices and control what goes into it. It won't like goxlr-macos app does only mirror and tell to use the channels, it'll create a proper virtual device like a driver would, therefore no problem with input or output in any apps.

I'm sorry that you face this issue as it's a common problem in the goxlr mac compatibility and somewhat the elephant in the room, but i'm really not aware of any solution that i can use myself to do a proper audio splitting, and we're for now stuck with these issues...

AdelaideSky avatar Sep 07 '23 17:09 AdelaideSky

That's unfortunate :( Thank you for the detailed answer!

codecat avatar Sep 07 '23 17:09 codecat

I've confirmed that it works through Firefox at least! So that's a good workaround for now. 🎉

codecat avatar Sep 07 '23 17:09 codecat

I've been using Loopback for years, it's a great app...though it is not free. Anyway, I am about to get a GoXLR and I am eager to try this. Wish me luck!

Apple should really just "Sherlock" Loopback though and integrate that functionality into MacOS, heh!

srgzx avatar Oct 18 '23 01:10 srgzx