Rockbox

  • Status Closed
  • Percent Complete
    100%
  • Task Type Patches
  • Category User Interface → Language
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by rasher - 2006-07-30

FS#5746 - Voice script for Linux

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: gentalkclips.sh and voicecommon.sh.

voicecommon.sh 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.

gentalkclips.sh 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.

Closed by  rasher
2006-11-03 21:49
Reason for closing:  Accepted
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Added to CVS

This is the language file generator, mentioned above. Currently it generates huge files, but that should hopefully be a matter of fine-tuning.

A few updates
gentalkclips.sh - changed a few comments
genvoice.sh - switched a few uses of “sed” to simply use “cut” voicecommon.sh - 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.

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.

It should be entirely possible to add the windows script and call that if a Windows environment is detected.

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.

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).

For demonstration, here’s a voicefile built with the latest version, 1.3mb.

Hi,

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 (http://espeak.sourceforge.net), 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…

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.

Updated patch with support for espeak and a voicefile built with espeak (and lame).

Updated version which adds an option in the voicesettings file to set TTS options.

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

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing