Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
codecat opened this issue Sep 7, 2023 · 6 comments
Open
Assignees
Labels
bug Something isn't working

Comments

@codecat
Copy link

codecat commented Sep 7, 2023

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 codecat added the bug Something isn't working label Sep 7, 2023
@AdelaideSky
Copy link
Owner

Hi ! Thanks for the report !

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

@AdelaideSky AdelaideSky self-assigned this Sep 7, 2023
@codecat
Copy link
Author

codecat commented Sep 7, 2023

I am using the desktop version!

@AdelaideSky
Copy link
Owner

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...

@codecat
Copy link
Author

codecat commented Sep 7, 2023

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

@codecat
Copy link
Author

codecat commented Sep 7, 2023

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

@srgzx
Copy link

srgzx commented Oct 18, 2023

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants