Features/Global Text To Speech

From Sugar Labs
Jump to navigation Jump to search


When the user press Alt+Shift+S the currently selected text should be said by the computer.


Current status

  • Targeted release: 0.96
  • Last updated:
  • Percentage of completion:

Detailed Description

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.

More information:




A GSOC project from Hemant Goyal worked in this area, related links:

  1. Google Summer of Code Logs ‐ http://wiki.laptop.org/index.php?title=User:Hemant_goyal
  2. python‐dotconf – parser for the dot.conf configuration file ‐ http://code.google.com/p/python‐dotconf/
  3. pydotconf API documentation ‐ http://www.nsitonline.in/hemant/stuff/python‐dotconf/docs/
  4. speech‐dispatcher RPM packages for OLPC ‐ http://koji.fedoraproject.org/koji/packageinfo?packageID=6374
  5. python‐dotconf RPM packages for OLPC – http://koji.fedoraproject.org/koji/packageinfo?packageID=6527
  6. Patches for sugar ‐ http://dev.laptop.org/git?p=users/hemantgoyal/speech;a=summary
  7. speechd python API ‐ http://cvs.freebsoft.org/repository/speechd/src/python/speechd/client.py?view=markup
  8. Active dev.laptop.org TRAC tickets relevant to the project
    1. Inclusion of speech‐dispatcher packages ‐ http://dev.laptop.org/ticket/7906
    2. Inclusion of python‐dotconf packages ‐ http://dev.laptop.org/ticket/7907
    3. Integration of speech‐synthesis into Sugar ‐ http://dev.laptop.org/ticket/7911
    4. Speech Device Icon Review ‐ http://dev.laptop.org/ticket/7911
  9. Listen n Spell ‐ http://wiki.laptop.org/go/Listen_and_Spell
  10. Read Etexts http://wiki.laptop.org/go/Read_Etexts

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.

UI Design

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

Features/Global Text To Speech/Testing

User Experience


We already include all the needed dependencies.

Contingency Plan


Release Notes

Comments and Discussion