FS#5746 - Voice script for Linux

Attached to Project: Rockbox
Opened by Jonas Häggqvist (rasher) - Sunday, 30 July 2006, 17:43 GMT
Task Type Patches
Category Language
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


This is the first version of a script to create .talk clips, very loosely based on  FS#2131  (although without the logging facility)

The script contains of two parts: and contains functions that are used by both the talk clip script, and by the voice file script. It currently supports using either Flite or Festival for TTS and either Lame, oggenc or speexenc for encoding (only Lame is supported by Rockbox though). It should be very easy to add more encoders or TTS engines if necessary in the future. mainly contains a recursive dir walker, that uses the functions from voicecommon to generate talk clips for all files.

Once I figure out how to build the voicefile, I'll add a script to create .voice files to this task.
This task depends upon

Closed by  Jonas Häggqvist (rasher)
Friday, 03 November 2006, 21:49 GMT
Reason for closing:  Accepted
Additional comments about closing:  Added to CVS
Comment by Jonas Häggqvist (rasher) - Sunday, 30 July 2006, 18:03 GMT
This is the language file generator, mentioned above. Currently it generates huge files, but that should hopefully be a matter of fine-tuning.
Comment by Jonas Häggqvist (rasher) - Friday, 04 August 2006, 16:06 GMT
A few updates - changed a few comments - switched a few uses of "sed" to simply use "cut" - added support for using wavtrim, changed lame and vorbis encoding options

And finally, a voicefile built using these scripts with festival and lame. At 3mb, It's too large for archos iiuc, but works perfectly fine on SWCODEC. I'm not quite sure how to trim the size more.
Comment by Jonas Häggqvist (rasher) - Monday, 25 September 2006, 18:31 GMT
This is an updated version of the scripts, and some more as well:

- Remove bashisms from the scripts
- Patch tools/configure to allow building voice files easily
- Add wavtrim.c and voicefont.c to tools/ and tools/Makefile

With this patch, it's possible to build a voicefile by running tools/configure, answering the questions and running make.

The result still isn't completely great, partly due to the quality of Free TTS engines, but probably mostly due to my inability to properly configure Festival and/or Lame. This should be mostly fixable.

Still allows building using any combination of Festival/Flite and Lame/Oggenc/Speexenc, though Festival/Lame is recommended.
Comment by Jonas Häggqvist (rasher) - Monday, 25 September 2006, 18:32 GMT
It should be entirely possible to add the windows script and call that if a Windows environment is detected.
Comment by Jonas Häggqvist (rasher) - Monday, 25 September 2006, 18:47 GMT
I keep coming up with more things to add. I have asked Jörg about wavtrim and voicefont, and he's fine with them being included in Rockbox under GPL.
Comment by Jonas Häggqvist (rasher) - Saturday, 30 September 2006, 17:29 GMT
A slight update that brings the filsize down to something usable (a quick test shows 1.3mb) (turns out I was using pretty low compression).
Comment by Jonas Häggqvist (rasher) - Saturday, 30 September 2006, 19:20 GMT
For demonstration, here's a voicefile built with the latest version, 1.3mb.
Comment by Stephane Doyon (sdoyon) - Friday, 06 October 2006, 22:36 GMT

I'm new to Rockbox. I just went through the trouble of accomplishing a
similar task, didn't know this was here... There's too many patches in
here. Anyway I have yet to try your script, but wanted to make a
suggestion: I've been using espeak (, which
is also free, and while it's not perfect I believe I prefer it to
festival/flite. You might want to try it out...
Comment by Marcoen Hirschberg (marcoen) - Sunday, 15 October 2006, 05:48 GMT
I also prefer eSpeak although a lot of people who heard it for the first time told me they didn't understand a thing.
I'm working together with the author to improve eSpeak and I might port it to rockbox some day.
Comment by Jonas Häggqvist (rasher) - Sunday, 15 October 2006, 16:24 GMT
Updated patch with support for espeak and a voicefile built with espeak (and lame).
Comment by Jonas Häggqvist (rasher) - Thursday, 02 November 2006, 22:46 GMT
Updated version which adds an option in the voicesettings file to set TTS options.
Comment by Jonas Häggqvist (rasher) - Thursday, 02 November 2006, 23:34 GMT
A few changes as suggested on IRC:
- Use the regular path of configure, resulting in a regular Makefile (with a "voice" target)
- Add the language prompt back into the configure script, but only call it if building a voicefile