Difference between revisions of "Activity Team/gst-plugins-espeak"

From Sugar Labs
Jump to navigation Jump to search
Line 1: Line 1:
 
=== gst-plugins-espeak ===
 
=== gst-plugins-espeak ===
Uses eSpeak library as a sound source for GStreamer.
+
Uses eSpeak library as a sound source for GStreamer.<br>
 +
Plugin uses given text to produce audio output.
  
=== Usage ===
+
=== Interface ===
Plugin uses given text to produce WAV output.
+
gst-plugins-espeak is a valid gstreamer plugin thus it is a GObject
  
It adds new URI scheme
+
==== Properties ====
gst-launch espeak://Hi ! wavparse ! alsasink
+
GObject properties:
  
Supported properties:
 
 
* '''text''' text to pronounce
 
* '''text''' text to pronounce
* '''pitch''' pitch adjustment, 0 to 99, default is 50
+
* '''pitch''' pitch adjustment, -100 to 100, default is 0
* '''rate''' speed in words per minute, 80 to 390, default is 170
+
* '''rate''' speed in words per minute, -100 to 100, default is 0
 
* '''voice''' use voice file of this name from espeak-data/voices
 
* '''voice''' use voice file of this name from espeak-data/voices
 +
* '''gap''' Word gap. Pause between words, units of 10mS at the default speed, default is 0
 +
* '''trac''' track events (see [[#Events]]])
 +
** '''0''' do not track any events (default)
 +
** '''1''' track word events
 +
** '''2''' track mark events
 
* '''voices''' read-only list of supported voices/languages
 
* '''voices''' read-only list of supported voices/languages
 +
* '''caps''' read-only caps describing the format of the data
 +
 +
==== Events ====
 +
Gstreamer uses separate threads and user should use gst.Bus messages(are processed in main gtk thread) instead of native GObject events. To use messages you need to setup '''tract''' property. These are supported gst.Bus messages (see):
 +
 +
* '''espeak-word''' before speeching a word, message properties:
 +
** '''offset''' offset in chars from beginning of '''text'''
 +
** '''len''' size of word in chars
 +
* '''espeak-mark''' mark in text, message properties:
 +
*** '''offset''' offset in chars from beginning of '''text'''
 +
*** '''mark''' name of mark
 +
 +
=== Usage ===
 +
It adds new URI scheme
 +
gst-launch espeak://Hi ! autoaudiosink
 +
  
 
Full example:
 
Full example:

Revision as of 15:13, 9 March 2009

gst-plugins-espeak

Uses eSpeak library as a sound source for GStreamer.
Plugin uses given text to produce audio output.

Interface

gst-plugins-espeak is a valid gstreamer plugin thus it is a GObject

Properties

GObject properties:

  • text text to pronounce
  • pitch pitch adjustment, -100 to 100, default is 0
  • rate speed in words per minute, -100 to 100, default is 0
  • voice use voice file of this name from espeak-data/voices
  • gap Word gap. Pause between words, units of 10mS at the default speed, default is 0
  • trac track events (see #Events])
    • 0 do not track any events (default)
    • 1 track word events
    • 2 track mark events
  • voices read-only list of supported voices/languages
  • caps read-only caps describing the format of the data

Events

Gstreamer uses separate threads and user should use gst.Bus messages(are processed in main gtk thread) instead of native GObject events. To use messages you need to setup tract property. These are supported gst.Bus messages (see):

  • espeak-word before speeching a word, message properties:
    • offset offset in chars from beginning of text
    • len size of word in chars
  • espeak-mark mark in text, message properties:
      • offset offset in chars from beginning of text
      • mark name of mark

Usage

It adds new URI scheme

gst-launch espeak://Hi ! autoaudiosink


Full example:

gst-launch espeak text="Hello world" pitch=99 rate=300 voice=default ! wavparse ! alsasink

Resources