Volume of AVSpeechUtterance is too low when ducking other audio

I have a navigation app that uses iOS's text to speech engine (AVSpeechSynthesizer / AVSPEECHUTTERANCE) for the turn by turn voice instructions. I have noticed during testing and now am getting a lot of user feedback that the voice volume is too low if they are playing music. I duck other audio already but still the voice volume is too low. This is especially a problem when playing over Bluetooth it seems. I'm already setting the volume of the utterance to 1.0 and have tried default ausiosession category and the new voiceprompt category. Neither works. I did some further research and found that other apps using the text to speech engine have the same problem EXCEPT Apple's own Maps app. Maps has a setting in Settings > Maps > Driving & Navigation to make the voice louder. I'm guessing Apple Maps is using some kind of private api??? This seems like an IOS bug to me and/or Apple has yet to publicize some method or variable to further boost volume. Documentation on the new voiceprompt audiosession category is still very limited at the moment 😞 Anyone seeing similar behaviour and/or know of a way or workaround to boost the volume?

Replies

I have the same issue and am desperate to find an answer