-
Notifications
You must be signed in to change notification settings - Fork 3
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
Feature: Pipe mic audio through #18
Comments
Hi @SoraHjort, can you explain a little more what you mean by this? SoundBoard is a primary source of sound, and it already has the ability to pipe its audio to one or more output devices. I'm confused by your suggestion to select an input device since SoundBoard doesn't deal with input.
Yes, that would be a very nice improvement! Thanks for the suggestion! |
The issue/suggestion is in relation being able to use the soundboard and a mic at the same time. Let's use Discord as an example, cause it's fun to mess with friends. To play the soundboard over the mic on discord you set the Input audio device to, let's say VB-Audio, and have the soundboard set to it the same but for the Output device. However, now you can't talk into your mic and for discord to receive that, since Discord is no longer set to receive input audio from your microphone. So by giving the soundboard a input audio device to let you pipe audio from a selected input device (IE: Microphone), to have it output on the same device it has set as output. Or to put it visually. A diagram. Hopefully this clears up what I meant by my suggestion. I did find a better workaround that gives a more live transmission. But it does require two virtual cables in conjunction with a mixer, basically extra steps. ** **(For anyone wants to know the workaround, Basically VB-Cable + VB-Cable Voice Meter + Voice Meter's packed in mixer) On the hotkeys:
If you do implement hotkeys, I would recommend including Left and Right variants on modifier keys, as well as the F13-F24 keys if possible. Which yes those F13+ keys do exist and Windows has built in support for them. They're leftovers legacy support from old old keyboards that actually had them. But these days they're often used in conjunction with software for keyboard, mouse, other peripheral hardware (Or Autohotkey) for programs that support them. |
Hey @SoraHjort, I'm not sure if you still use SoundBoard, but I have added a couple of new features in v1.10.0. The first is the ability to pass through audio, hopefully as you had in mind in your original request. I'm not sure if the latency will be quite as low as you want (should be similar to the listen feature in Windows), but it's worth a shot! The second is hotkeys. There are some limitations to WPF in terms of distinguishing Left and Right modifier keys, but I was able to support F12-24. Let me know what you think. |
Sorry for the late response, only now had a chance to get to testing it. On selecting a input device it creates and error. No input audio goes through. And when the soundboard is closed, while an input device is selected after encountering the error, it is unable to be reopened. Instead requires opening up the old version and using "clear configuration" to restore the ability to open up the current version. The error occurs regardless what input device, whether it's a microphone, motherboard's line in, or (for testing) a virtual cable. So unfortunately, I am unable to test the audio pass through. Hotkeys do work, even up to the F24 keys. so thank you. Though they only work while the soundboard is in focus, would be ideal if it could be done without the soundboard being focused. But if WPF limits you on that then that'll be alright. Eitherway, despite the issues, thank you for your continued work on the soundboard. I understand this stuff takes time and work, and appreciate you doing this. Error:
|
No problem whatsoever, I'm glad you saw this, and I appreciate your help. I should be the one apologizing for how long it took to add the feature. Unfortunately this project has been low on my list.
I'm very sorry about that! Of course none of the multiple systems with which I tested before publishing had this error! 😊 But everyone's system is different, so we can hopefully figure out what's going on here. What OS are you running?
For future refence (in case you help test this more), you can remove the selected input by editing the config file. It is located in
Have you tried setting global hotkeys? They should work regardless of the focused app. I will research the error you had and get back to you. Thanks! |
Hi again, I found that the observed error code, https://www.hresult.info/FACILITY_AUDCLNT/0x8889000A I was able to reproduce your error by creating a sample app to exclusively hold my device. We would need to figure out what app is at fault on your system. I did find this exact error in another repo, and it was related to running the VoiceMeeter mixer. Maybe you could try running SoundBoard without the VoiceMeeter mixer running? Another option is to disallow exclusive audio device access in the output device properties. You might need to restart after changing that setting in case any app already has exclusive access. Hopefully we will make some progress with these troubleshooting steps! P.S. I'm using this opportunity to add more error handling around the audio passthrough feature. The next release should detect whether there are any issues with any input/output devices, and should also warn the user about this particular exclusive error. |
Hey @SoraHjort, I hope you're doing well. I haven't heard back from you regarding my latest questions/suggestions (which is perfectly fine, you're under no obligation to help me test this, nor even use the app if it doesn't suit your needs 😊). As mentioned previously, the error you encountered seems to be due to another application locking your audio output device. While I can't speculate on what it is, I can add some error handling to prevent that scenario from crashing the app and corrupting the configuration. I have published a small update (v1.10.1) to do just that, and if you ever get a chance to test further, please try that version. P.S. Don't forget about trying global hotkeys. 😊 |
Sorry again for not getting back quicker. On global keys, do apologize for not seeing the global key option, it does work. As for the audio pipe through issue, turns out the issue on my system was not exclusivity mode, but purely VoiceMeter. What ever it does differently compared to any other program I got causes the issue. (It should only hook into three specified devices but it apparently hooks into all of them). A side issue with this, when the error message pops up, it breaks the Pause/Stop buttons when playing a sound until you restart the soundboard. The delay is minimal, more than acceptable, especially compared to old out of date alternatives. Probably the only suggested change I could make in relation to the pipe-through feature is an option to set a device as "sound effects only". So while you would have the main virtual cable be the device for programs like Discord to capture voice and soundboard, you could also then set a device to just hear the sound effects so you yourself can hear the sound effects when you play them. Currently, you can set multiple devices which before the pipe-through would allow for that setup. But since the pipe-through you also hear your own voice when setup like that. Maybe a middle click to set the device, which shows a green checkmark instead of blue to indicate which is the "Hear Soundboard Sounds only"? That way you, locally, can hear the soundboard sounds, while those you are transmitting to, will hear both your voice and sounds. Hopefully what I just said makes sense. Anyway, thanks for continuing to work on this. |
Not at all, I appreciate all the feedback and suggestions. Never feel like you have to get back right away.
I'm glad to hear that!
Very strange! I have VoiceMeeter on my system as well and didn't see the issue, although I'm sure it has a very different configuration. Regardless, I'm glad that's solved for you!
I'm having a hard time reproducing this as my test for causing the original issue (locking the audio device in another app) causes the sounds to stop as well as the buttons to disappear. I might not worry too much about this one, though. Things are in kind of an unusual state once there's an error accessing the output.
I'm very glad to hear that!
That makes total sense, the output selection should be separate for sounds and passthrough. I will work on that. |
Hi @SoraHjort, I just wanted to run this design by you before publishing it. Going off your last suggestion, I made audio passthrough its own section where you can pick an input and one or more output devices. There is still a separate section for selecting one or more output devices which only apply to sounds. What do you think? |
Good idea!
Yes, I did run the full app and couldn't reproduce the issue. 😞 Again, not sure if there's some subtle configuration difference. But not much we can do about VoiceMeeter grabbing the devices exclusively. |
Check out v1.10.2 and let me know if it's sufficient to close this issue. Thanks! |
Yep, it works. Thank you. Did have a minute or two of confusion on how to get it setup, since the setup in my head was different than the implementation. Basically, I confused myself. But the way you did implement it I can see having some good case uses that allows from that flexibility, more so than I had intended in the suggestion. Good Work! |
From what I've seen so far of the soundboard is that it's quite nice.
However there are a few features I feel are missing, though the biggest would be piping the mic through to the virtual cable. The ability to select a input device to pipe out to a primary output (but maybe not the secondary output) would be ideal for this.
So in it's current state is almost perfect for streams (adding the ability to assign hotkeys to specific sound effects would also be nice for this). However for personal use in discord, there is this gap. I do have a sort of a workaround, but it's ancient and adds in a long delay between what is said and what is transmitted. (where as the soundboard is nearly instant)
The text was updated successfully, but these errors were encountered: