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).
Table of Contents
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
- Open Jieshuo’s settings and select Operation Settings.
- 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.
- Tap on the More Options menu in the top-right corner and select Create New Function.
-
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 - Tap Save to store your new function.
- 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:
- Open VRadio and tap on More Options in the top-right corner of the screen.
- Navigate to Settings and select On Brief Notifications.
- 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.

Comments