Closed haydenjameslee closed 6 years ago
Dissonance emits it's audio into the Unity audio system in the same as any other AudioSource
component so you shouldn't have to do anything special. You should just be able to change the Unity output device and Dissonance will just worktm.
Unfortunately I just googled how to change the output device so that I could link the documentation... and it looks like Unity doesn't currently support changing the output device! I found this issue which says a fix is "in review" so hopefully that will be fixed soon.
Until that's fixed I'm not really sure what you can do as a workaround. You could try calling AudioSettings.Reset()
after settings the output device in windows, that might force Unity to change it's output device, but that's a complete guess :/
T deal with similar issues in the past I've implemented FMOD into Unity since FMOD provides an API to choose audio output device.
How hard would it be to have the Dissonance output directed through FMOD?
It would be a fair bit of work, but not impossible. Off the top of my head you'd need to replace:
SamplePlaybackComponent
and a AudioSource
for a player. Adjust rate and volume on source. starts speech sessions when they reach the top of the queue).VoicePlayback
for a player, would need adjusting to use replacement VoicePlayback).Supporting FMOD/WWise is actually something we've had in mind for a while and it hasn't happened yet because it involves messing around with this somewhat ugly/overcoupled bit of the system. Parts of this are in the public API and any changes here are almost certainly going to result in a breaking change to some of the public Dissonance API. I will probably come back to this in a month or two to clean it all up and add official integrations for FMOD/WWise (if possible).
A quick update on this. With Dissonance 6.0.0 we already had some breaking changes coming, so I went ahead and made the breaking changes required to support FMOD/WWise in the future. This doesn't really help you at the moment, but it's a major hurdle out of the way!
Awesome! Glad to hear it.
The associated Unity issue for this problem has been marked as "Resolved" although it's not clear which version(s) the fix has been included in. I'll close this issue but please don't hesitate to re-open it if you think there's something more we can help with :)
Is FMOD support on the road map still? Would love this in an upcoming release if possible.
I'm afraid we don't have any concrete plans to implement support for third party audio playback systems (e.g. FMOD/WWise) at the moment. It's not something that's frequently requested and it would be very complex to get certain features (e.g. Acoustic Echo Cancellation) working correctly with multiple audio backends.
Btw, to solve our original problem of being able to change the audio output device we implemented this plugin and it works great: https://assetstore.unity.com/packages/tools/audio/audiostream-65411
Is it possible to change the audio output device that Dissonance audio emits from? I wish to allow users to change the audio output device at runtime to something other than their default Windows audio out device.
If its not possible, any ideas are welcome!