[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.12 ssml-mode.scm

festival-freebsoft-utils provides a text processing mode partially supporting the SSML 1.0 markup. You can process a SSML file in the following way in the Festival prompt:

 
(tts_file "/the/path/to/the/file" 'ssml)

Moreover, there are some particular SSML processing functions available:

ssml-say text

Speak the given SSML text.

ssml-parse text

Parse the given SSML text for later processing by the ssml-next-chunk function.

ssml-next-chunk

Return next utterance containing tokens from the last SSML text parsed by ssml-parse or a mark name. If there is no next utterance or mark, return nil. The returned utterance contains only the Token relation and is intended to be further processed with the utt.synth function. The returned mark name is a non-nil symbol.

ssml-speak-chunks

Speak the SSML text processed by ssml-parse.

The ssml-parse and ssml-next-chunk functions are intended to be used when you want to synthesize an SSML text, but not to speak it immediately. A sample use of those functions for a hypothetic ssml-say* function similar to ssml-say might be as follows:

 
(define (ssml-say* text)
  (ssml-parse text)
  (ssml-say*-1))

(define (ssml-say*-1)
  (let ((utt (ssml-next-chunk)))
    (if utt
        (begin
          (cond
           ((symbol? utt)
            (print utt))
           (utt
            (utt.play (utt.synth utt))))
          (ssml-say*-1)))))

If you need quick synthesizer response, avoid the DOCTYPE declaration in your SSML data. The DOCTYPE declaration takes an observable time when processed in the Festival's XML parser.

festival-freebsoft-utils does not provide conforming SSML implementation and implements only a limited subset of the standard. Moreover, due to the limitations of the built-in Festival XML parser, SSML markup texts that contain non-ASCII characters can only be processed with the ssml-parse and ssml-next-chunk functions and must be provided in the UTF-8 encoding.

It is not easy to fully support SSML in Festival. Contingent support and contributions are welcome.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated by Milan Zamazal on August, 11 2009 using texi2html 1.78.