Skip to content → Skip to footer

Understanding Audio Ducking on Android: TalkBack, Jieshuo, and Operating System Challenges

Audio ducking, a feature that lowers the volume of background audio when screen reader speech occurs, is a crucial accessibility tool for visually impaired users. While Android’s native screen reader, TalkBack, has a straightforward implementation, Jieshuo (also known as CSR) provides enhanced flexibility for users who seek more control. This article explores the concept of audio ducking, how it operates in TalkBack and Jieshuo, how Jieshuo allows users to assign it to a gesture, the challenges some Android apps present in achieving proper audio ducking, and how this feature compares to its counterparts on Windows (NVDA) and iOS (VoiceOver).

What is Audio Ducking?

Audio ducking is designed to make screen reader speech more intelligible by reducing the volume of other audio sources, such as music or video playback, when the screen reader is speaking. Once the speech ends, the background audio returns to its original volume. On Android, this feature is integrated into TalkBack and Jieshuo, but their approaches differ in customization and functionality.

Audio Ducking in TalkBack

In TalkBack, audio ducking is a built-in feature that can be toggled on or off. This can be done by navigating to TalkBack settings -> Sound and vibration and enabling or disabling the Audio ducking option. When enabled, the feature activates automatically whenever TalkBack reads text.

While it ensures that screen reader output is always audible, TalkBack’s implementation lacks the ability to customize or control its activation through gestures. However, audio ducking can be added as a reading control, and that allows users to activate it more easily. To achieve that, open TalkBack settings, open Customize menus, and open the Customize reading controls option. Locate the Special features heading, and check or uncheck the “Audio ducking” check box option.

Audio Ducking in Jieshuo (CSR)

Jieshuo, known for its customization capabilities, takes audio ducking a step further. Users can not only enable or disable it but also assign the toggle to a gesture, via a custom function, for quick access. Moreover, Jieshuo allows users to manage audio ducking settings independently for both the main TTS engine and the secondary TTS engine.

How to Create a Custom Gesture for Audio Ducking

  1. Open Jieshuo’s settings and select Operation Settings.
  2. Navigate to Gesture Schemes Settings . Note that if you are using the Custom gesture scheme you can also access its settings by going to Jieshuo’s General settings.
  3. Tap on the More Options menu in the top-right corner and select Create New Function.
  4. Give the new function a name, such as Audio Ducking, and paste the following code into the function text area:

    if audioFocusState == nil then
    audioFocusState = false
    end
    
    function toggleAudioFocus()
    if audioFocusState then
    service.setAudioFocus(false)
    audioFocusState = false
    service.speak("Audio ducking disabled")
    else
    service.setAudioFocus(true)
    audioFocusState = true
    service.speak("Audio ducking enabled")
    end
    end
    
    toggleAudioFocus()
    return true
    
  5. Tap Save to store your new function.
  6. Return to the Gesture Schemes Settings Custom window and assign the newly created function to a gesture of your choice.

This level of customization empowers users to adapt the screen reader to their specific needs

Challenges with Audio Ducking in Android Apps

Although audio ducking works seamlessly in most cases, some Android apps require specific adjustments to function properly with this feature. One example is VRadio, a popular Android radio app. By default, audio ducking doesn’t work with VRadio. However, users can enable it with the following steps:

  1. Open VRadio and tap on More Options in the top-right corner of the screen.
  2. Navigate to Settings and select On Brief Notifications.
  3. Change the Mute option to Decrease Volume.

Other options, such as Pause and No Change, are also available, but Decrease Volume ensures compatibility with audio ducking.

Comparing Audio Ducking Across Platforms

  • NVDA on Windows: NVDA provides a highly configurable audio ducking experience. Users can choose from
    three settings:

    • Always duck: The feature remains active as long as NVDA is running.
    • No ducking: Completely disables audio ducking.
    • Duck when outputting speech and sounds: Reduces audio volume only during NVDA output.

    This level of control allows users to fine-tune how NVDA interacts with their audio environment, offering significantly more flexibility than Android’s simple On/Off setting.

  • VoiceOver on iOS: With iOS 18, Apple introduced new configuration options for audio ducking. Users can set the feature to:

    • Off: Completely disable audio ducking.
    • When Speaking: Reduces background audio only while VoiceOver is speaking.
    • Always: Keeps the feature active whenever VoiceOver operates.

    These options give iOS users a higher level of customization compared to Android screen readers, making VoiceOver’s implementation closer to NVDA’s in terms of flexibility.

Conclusion

Audio ducking is an essential feature that enhances the usability of screen readers for visually impaired users. While TalkBack provides a straightforward implementation that can be toggled from its settings, Jieshuo’s gesture-based customization and independent control for the main and secondary TTS engines offer a superior level of flexibility. However, app-specific challenges, such as the need for adjustments in apps like VRadio, highlight the importance of both user awareness and developer compliance.

Compared to Android’s solutions, VoiceOver on iOS and NVDA on Windows offer greater configurability, allowing users to tailor audio ducking to their specific needs. By improving audio focus compliance and exploring new customization options, the Android ecosystem can continue to make strides in accessibility for all users.

About Author

Amir Soleimani

I'm a translator, interpreter and tutor, accessibility blogger and advocate, long-time Windows/Symbian/iOS user and tester, and now an Android explorer.

Published in Articles

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Donate to Us

To uphold the standards of a robust and fully accessible project, we graciously request your support. Even a modest contribution can have a profound impact, enabling Accessible Android to continue its growth and development.

Donations can be made via PayPal.

For alternative methods, please do not hesitate to contact us.

We deeply appreciate your generosity and commitment to our cause.

Subscribe to Blind Android Users mailing list

RSS Accessible Android on Mastodon

  • Untitled
    Huawei FreeBuds Pro 5 Review: Living With the Upgrade https://accessibleandroid.com/huawei-freebuds-pro-5-review-living-with-the-upgrade/
  • Untitled
    Roads Audio: Voice Threads https://accessibleandroid.com/app/roads-audio-voice-threads/
  • Untitled
    Infinix Zero 40: A Review from a Visually Impaired User’s Perspective https://accessibleandroid.com/infinix-zero-40-a-review-from-a-visually-impaired-users-perspective/
  • Untitled
    BookFusion Voice: Natural TTS https://accessibleandroid.com/app/bookfusion-voice-natural-tts/