Difference between revisions of "Features/Global Text To Speech"

From Sugar Labs
Jump to navigation Jump to search
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
<noinclude>
 
<noinclude>
[[Category:Feature Page Incomplete]]
+
[[Category:FeatureLanded|Global Text To Speech]]
[[Category:Feature|Global Text To Speech]]
 
 
</noinclude>
 
</noinclude>
  
Line 14: Line 13:
 
== Current status ==
 
== Current status ==
 
* Targeted release: 0.96
 
* Targeted release: 0.96
* Last updated:  
+
* Last updated: 13 Feb 2012
* Percentage of completion:
+
* Percentage of completion: 100%
  
 
== Detailed Description ==
 
== 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:
+
The feature add a service to provide text to speech, and a device in the frame to configure pitch and velocity.
 +
A already reserved alt-shift-s key stroke say the selected text in any activity.
  
1321360323.039468 DEBUG root: _key_pressed_cb: 39 9 <alt><shift>s
+
The actual implementation does not add any new dependency, and a initial version has been sent to sugar-devel for review.
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.
+
Thread in sugar-devel: http://lists.sugarlabs.org/archive/sugar-devel/2011-November/034274.html
  
A device should be implemented in the frame, to enable the user to select pitch and velocity.
+
== Old information: ==
  
=== More information: ===
+
This is information about old intents of implementing this feature. Is a different implementation, then is here only for reference.
  
 
http://wiki.laptop.org/go/Speech_Server
 
http://wiki.laptop.org/go/Speech_Server
Line 46: Line 37:
 
A GSOC project from Hemant Goyal worked in this area, related links:
 
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
+
# Google Summer of Code Logs ‐ http://wiki.laptop.org/index.php?title=User:Hemant_goyal  
2. python‐dotconf http://code.google.com/p/python‐dotconf/
+
# python‐dotconf – parser for the dot.conf configuration file ‐ http://code.google.com/p/python‐dotconf/  
3. pydotconf dotconf/docs/  
+
# pydotconf API documentation ‐ http://www.nsitonline.in/hemant/stuff/python‐dotconf/docs/  
4. speech‐dispatcher http://koji.fedoraproject.org/koji/packageinfo?packageID=6374
+
# speech‐dispatcher RPM packages for OLPC ‐ http://koji.fedoraproject.org/koji/packageinfo?packageID=6374  
5. python‐dotconf http://koji.fedoraproject.org/koji/packageinfo?packageID=6527
+
# python‐dotconf RPM  packages for OLPC – http://koji.fedoraproject.org/koji/packageinfo?packageID=6527  
6. Patches
+
# 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  
+
# speechd python API ‐ http://cvs.freebsoft.org/repository/speechd/src/python/speechd/client.py?view=markup
8. Active
+
# Active dev.laptop.org TRAC tickets relevant to the project
a. Inclusion of speech‐dispatcher packages  ‐ http://dev.laptop.org/ticket/7906  
+
## Inclusion of speech‐dispatcher packages  ‐ http://dev.laptop.org/ticket/7906  
b. Inclusion of python‐dotconf packages ‐ http://dev.laptop.org/ticket/7907  
+
## Inclusion of python‐dotconf packages ‐ http://dev.laptop.org/ticket/7907  
c. Integration
+
## Integration of speech‐synthesis into Sugar ‐ http://dev.laptop.org/ticket/7911
d. Speech
+
## Speech Device Icon Review ‐ http://dev.laptop.org/ticket/7911
9. Listen n Spell ‐ http://wiki.laptop.org/go/Listen_and_Spell  
+
# Listen n Spell ‐ http://wiki.laptop.org/go/Listen_and_Spell  
10. Read Etexts http://wiki.laptop.org/go/Read_Etexts
+
# Read Etexts http://wiki.laptop.org/go/Read_Etexts
  
 
== Benefit to Sugar ==
 
== Benefit to Sugar ==
  
Text to speech is a good feature to kids, when they are learning to read, and to kids with disabilities
+
Text to speech is a good feature to kids, when they are learning to read, and to kids with disabilities.
 +
 
 +
This feature does not cover the more complex uses of text to speech, like multiple languages and word highlighting.
 +
 
 +
In the future, we can move part of this code to sugar-toolkit to do easier to the activities use TTS and avoid duplicating code.
 +
 
 +
The backend can be changed in the future too, if you see there are better voices for example in Festival. Doing the change in a single place will be easier than modify every activity.
  
 
== Scope ==
 
== Scope ==
Line 75: Line 72:
  
 
The UI will be a device in the frame, with the needed controls in the palette.
 
The UI will be a device in the frame, with the needed controls in the palette.
 +
 +
[[File:Text_to_speech.png]]
  
 
== How To Test ==
 
== How To Test ==

Latest revision as of 14:29, 5 November 2013


Summary

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

Owner

Current status

  • Targeted release: 0.96
  • Last updated: 13 Feb 2012
  • Percentage of completion: 100%

Detailed Description

The feature add a service to provide text to speech, and a device in the frame to configure pitch and velocity. A already reserved alt-shift-s key stroke say the selected text in any activity.

The actual implementation does not add any new dependency, and a initial version has been sent to sugar-devel for review.

Thread in sugar-devel: http://lists.sugarlabs.org/archive/sugar-devel/2011-November/034274.html

Old information:

This is information about old intents of implementing this feature. Is a different implementation, then is here only for reference.

http://wiki.laptop.org/go/Speech_Server

http://wiki.laptop.org/go/Speech_synthesis

Tickets:

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.

This feature does not cover the more complex uses of text to speech, like multiple languages and word highlighting.

In the future, we can move part of this code to sugar-toolkit to do easier to the activities use TTS and avoid duplicating code.

The backend can be changed in the future too, if you see there are better voices for example in Festival. Doing the change in a single place will be easier than modify every activity.

Scope

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.

Text to speech.png

How To Test

Features/Global Text To Speech/Testing

User Experience

Dependencies

We already include all the needed dependencies.

Contingency Plan

Documentation

Release Notes

Comments and Discussion