Select alternate output device for TTS #1953

Closed
opened 2026-02-20 21:19:37 -05:00 by deekerman · 5 comments
Owner

Originally created by @wavexx on GitHub (Jul 22, 2020).

Context
I'd like the TTS to be played-back on a different, selectable, output device than the default one.

The reason for that is that I'd like TTS messages for users joining/leaving a channel on the speakers while a headphone device is selected as the main audio device.

I often join a room muted and wait for all parties to be available, but after doing so for many, many weeks now I've grown tired of having to use headphones all the time.

I'd love to use TTS to know when it's time to pick-up the headset while leaving mumble hidden.

I'm mainly using linux (with PA audio), but the same likely applies to all platforms that support multiple output devices.

Describe alternatives you've considered
Searching through issues, I've found this relevant issue:

https://github.com/mumble-voip/mumble/issues/2667

I didn't try if I could abuse this behavior to obtain the same result as a work-around..

Originally created by @wavexx on GitHub (Jul 22, 2020). **Context** I'd like the TTS to be played-back on a different, *selectable*, output device than the default one. The reason for that is that I'd like TTS messages for users joining/leaving a channel on the speakers while a headphone device is selected as the main audio device. I often join a room muted and wait for all parties to be available, but after doing so for many, many weeks now I've grown tired of having to use headphones all the time. I'd love to use TTS to know when it's time to pick-up the headset while leaving mumble hidden. I'm mainly using linux (with PA audio), but the same likely applies to all platforms that support multiple output devices. **Describe alternatives you've considered** Searching through issues, I've found this relevant issue: https://github.com/mumble-voip/mumble/issues/2667 I didn't try if I could *abuse* this behavior to obtain the same result as a work-around..
Author
Owner

@Popkornium18 commented on GitHub (Jul 22, 2020):

Possible workaround: You can change the audio output for TTS in the audio mixer of your OS. On linux you can use something like pavucontrol if you use PulseAudio.
image

@Popkornium18 commented on GitHub (Jul 22, 2020): Possible workaround: You can change the audio output for TTS in the audio mixer of your OS. On linux you can use something like `pavucontrol` if you use PulseAudio. ![image](https://user-images.githubusercontent.com/46488511/88192967-6bb02a00-cc3d-11ea-971d-f3c7c590503a.png)
Author
Owner

@Krzmbrzl commented on GitHub (Jul 26, 2020):

The linked issue already indicates that we (atm) can't control the output device TTS is played through. But let's ignore that for a moment.

In order for this to be possible, we'd have to have 2 audio systems running in parallel (one for TTS and one for all other audio). Not only would that be a waste of resources but it would also require massive reworks in how audio gets processed as now we have to differentiate different kind of audio that should be played through different devices.

I don't think the needed work lives up to the potential benefits

@Krzmbrzl commented on GitHub (Jul 26, 2020): The linked issue already indicates that we (atm) can't control the output device TTS is played through. But let's ignore that for a moment. In order for this to be possible, we'd have to have 2 audio systems running in parallel (one for TTS and one for all other audio). Not only would that be a waste of resources but it would also require massive reworks in how audio gets processed as now we have to differentiate different kind of audio that should be played through different devices. I don't think the needed work lives up to the potential benefits
Author
Owner

@wavexx commented on GitHub (Jul 26, 2020):

I was hoping the TTS engine itself (libspeechd?) allowed the output interface to be selected for playback without mumble actually having to do much besides providing a UI for the selection.

Although I didn't have a chance to try what @Popkornium18 wrote for re-routing the output using PA itself, that's actually a pretty good work-around. From what I can see mumble is the only program I'm using with speech-dispatcher, so there would be no conflict for me setting this outside of mumble.

I don't know how the TTS is relayed internally, so this was just something I wish I could do. Don't be afraid to close if technically unsound.

@wavexx commented on GitHub (Jul 26, 2020): I was hoping the TTS engine itself (libspeechd?) allowed the output interface to be selected for playback without mumble actually having to do much besides providing a UI for the selection. Although I didn't have a chance to try what @Popkornium18 wrote for re-routing the output using PA itself, that's actually a pretty good work-around. From what I can see mumble is the only program I'm using with speech-dispatcher, so there would be no conflict for me setting this outside of mumble. I don't know how the TTS is relayed internally, so this was just something I wish I could do. Don't be afraid to close if technically unsound.
Author
Owner

@Krzmbrzl commented on GitHub (Jul 26, 2020):

If there is an option in the TTS engine that allowed this, it wouldn't be a big problem (I guess). However given that there's still the open issue about it not being possible to set the TTS output device to be different than the system's default device, I suspect that there is no such option (easily accessible).

Thus I think I will close this request as "cost would outweigh the gain". If someone knows of such an option though, please let us know and we can reconsider :)

@Krzmbrzl commented on GitHub (Jul 26, 2020): If there is an option in the TTS engine that allowed this, it wouldn't be a big problem (I guess). However given that there's still the open issue about it not being possible to set the TTS output device to be different than the system's default device, I suspect that there is no such option (easily accessible). Thus I think I will close this request as "cost would outweigh the gain". If someone knows of such an option though, please let us know and we can reconsider :)
Author
Owner

@Krzmbrzl commented on GitHub (Jul 26, 2020):

If there is an option in the TTS engine that allowed this, it wouldn't be a big problem (I guess). However given that there's still the open issue about it not being possible to set the TTS output device to be different than the system's default device, I suspect that there is no such option (easily accessible).

Thus I think I will close this request as "cost would outweigh the gain". If someone knows of such an option though, please let us know and we can reconsider :)

@Krzmbrzl commented on GitHub (Jul 26, 2020): If there is an option in the TTS engine that allowed this, it wouldn't be a big problem (I guess). However given that there's still the open issue about it not being possible to set the TTS output device to be different than the system's default device, I suspect that there is no such option (easily accessible). Thus I think I will close this request as "cost would outweigh the gain". If someone knows of such an option though, please let us know and we can reconsider :)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/mumble-mumble-voip#1953
No description provided.