From 10128b51d1315d63db15f6943ddce5adcfa0f47b Mon Sep 17 00:00:00 2001 From: Aaron Hewitt Date: Thu, 15 Oct 2026 07:45:24 +0100 Subject: [PATCH 1/3] Bring back the Speech engine reading control next to Voice profile The Speech engine reading control switches between the installed speech engines when you swipe up or down. It is the control that Voice profiles replaced, restored with its own setting in Reading controls, off by default, so Voice profile and Speech engine can be used separately or together. Anyone who had Speech engine on before voice profiles has it on again. Limitations: the Speech engine control changes the engine of Backtalk default, so while a voice profile is in use it says "Speech engine unavailable while using a voice profile". Anyone who turned on Voice profile since voice profiles were added has to turn it on again, as it has a setting of its own now. - SWITCH_TTS_ENGINE returns to the reading controls, with its original setting, value, title, summary and Czech strings. - SWITCH_VOICE_PROFILE gets its own setting, pref_selector_voice_profile_key. - Differences from TalkBack describes both controls. --- differences.md | 6 ++- lint-baseline.xml | 11 +++++ .../talkback/selector/SelectorController.java | 46 +++++++++++++++++++ .../main/res/values-cs/strings_backtalk.xml | 2 + .../src/main/res/values/donottranslate.xml | 7 ++- talkback/src/main/res/values/strings.xml | 9 ++++ .../res/xml/selector_menu_preferences.xml | 6 +++ .../xml-watch/selector_menu_preferences.xml | 5 ++ 8 files changed, 89 insertions(+), 3 deletions(-) diff --git a/differences.md b/differences.md index aab843b59..067254d3e 100644 --- a/differences.md +++ b/differences.md @@ -106,11 +106,15 @@ The setting is off by default, because many engines, such as RHVoice, already st In TalkBack, **Text-to-speech** opens Android's system speech settings. Backtalk has its own **Text-to-speech** screen, under **Feedback** in Backtalk settings. On this screen, you can choose a speech engine for Backtalk that's separate from Android's default engine, and set the speech volume, rate, and pitch with sliders. It also links to Android's system settings, and holds the speech settings that are described in the following sections. +### Speech engine reading control + +The **Speech engine** reading control switches between your installed speech engines when you swipe up or down. It changes the engine of **Backtalk default**, so it's unavailable while a voice profile is in use. It isn't in the reading controls by default. To add it, go to **Reading controls**. + ### Voice profiles A voice profile is a set of speech settings that you can switch to at once: a speech engine, language, voice, volume, rate, pitch, and **Send long text a sentence at a time**. For example, one profile can use a slower rate for long text while **Backtalk default** stays fast. To add one, go to **Text-to-speech** > **Voice profiles** and choose **Add voice profile**. When you choose a language, the voice list shows only the engine's voices in that language. -To switch profiles, swipe up or down with the **Voice profile** reading control, or choose **Voice profile in use** on the **Voice profiles** screen. The **Voice profile** reading control replaces the **Speech engine** reading control. It isn't in the reading controls by default. To add it, go to **Reading controls**. You can also add a **Voice profile** item to the Backtalk menu in **Backtalk menu** settings, which lists the profiles and says which is in use. The **Choose voice profile**, **Previous voice profile** and **Next voice profile** actions can be assigned to gestures and keyboard shortcuts. +To switch profiles, swipe up or down with the **Voice profile** reading control, or choose **Voice profile in use** on the **Voice profiles** screen. The **Voice profile** reading control is separate from the **Speech engine** reading control. It isn't in the reading controls by default. To add it, go to **Reading controls**. You can also add a **Voice profile** item to the Backtalk menu in **Backtalk menu** settings, which lists the profiles and says which is in use. The **Choose voice profile**, **Previous voice profile** and **Next voice profile** actions can be assigned to gestures and keyboard shortcuts. The reading control goes through the profiles in the order of the **Voice profiles** screen, after **Backtalk default**. To change the order, hold a profile and drag it, or use the **Move up** and **Move down** actions. Backtalk says which profile it moved above or below. Profiles also have **Rename** and **Delete** actions, which a long press shows too. diff --git a/lint-baseline.xml b/lint-baseline.xml index e1b6eff18..07c5d3545 100644 --- a/lint-baseline.xml +++ b/lint-baseline.xml @@ -19608,6 +19608,17 @@ column="13"/> + + + +