When the user press Alt+Shift+S the currently selected text should be said by the computer.
- Name: Gonzalo Odiard
- Email: gonzalo at laptop dot org
- Targeted release: 0.96
- Last updated:
- Percentage of completion:
A few activities implement Text to Speech, but Sugar itself has a feature not fully implemented to do text to speech in Sugar.
Most of the code is already done. Currently, if the user select a text in any activity, and press Alt+Shift+S, in shell.log you can see:
1321360323.039468 DEBUG root: _key_pressed_cb: 39 9 <alt><shift>s 1321360323.090568 DEBUG root: owner_change_cb 1321360323.090857 DEBUG root: Clipboard.add_object 1321360323.093460 DEBUG root: ClipboardTray: 1 was added 1321360323.094790 DEBUG root: KeyHandler._primary_selection_cb: 'hola' 1321360323.099433 DEBUG root: Asking for target text/rtf. 1321360323.100389 ERROR dbus.proxies: Introspect error on org.laptop.Speech:/org/laptop/Speech: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.laptop.Speech was not provided by any .service files 1321360323.100704 DEBUG dbus.proxies: Executing introspect queue due to error 1321360323.102645 ERROR root: An error occurred with the ESpeak service: DBusException(dbus.String(u'The name org.laptop.Speech was not provided by any .service files'),)
We already have the code to implement text to speech in Read, Memorize and Speak activities.
A device should be implemented in the frame, to enable the user to select pitch and velocity.
Benefit to Sugar
Text to speech is a good feature to kids, when they are learning to read, and to kids with disabilities
The change is isolated.
I propose use de default language now, and only expose controls to set pitch and velocity. In a later change, we can implement have more than one language enabled, and a switch to change it.
The UI will be a device in the frame, with the needed controls in the palette.
How To Test
We already include all the needed dependencies.