This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#9983 - Rbutil: Add Festival support, ignore non-ascii option
Attached to Project:
Rockbox
Opened by Delyan Kratunov (archivator) - Thursday, 05 March 2009, 11:42 GMT+2
Last edited by Dominik Wenger (Domonoky) - Friday, 27 March 2009, 20:18 GMT+2
Opened by Delyan Kratunov (archivator) - Thursday, 05 March 2009, 11:42 GMT+2
Last edited by Dominik Wenger (Domonoky) - Friday, 27 March 2009, 20:18 GMT+2
|
DetailsAttached is a patch to add festival as a rbutilqt backend for .talk and voicefile generation. Festival has a server-client model and thus there might be some delays while starting the server (especially if the default festival voice uses a multisyn model).
As festival handles non-ascii poorly, there is a new option for talk files - Ignore Non-ASCII filenames. Further, I am not sure how the CLI mode works, so there isn't any support for that yet. Please note that configuration is shaky at best, so you might need to open the configuration dialog more than once or click Refresh a couple of times (there is little I can do to improve this but I'll look into it). Lastly, the code is more proof of concept (and this task - a placeholder) than a comittable change. Thus, excuse the multiple empty lines entries in the diff. Differently configured editor, apparently. Tested with rev. 20206 |
This task depends upon
Closed by Dominik Wenger (Domonoky)
Friday, 27 March 2009, 20:18 GMT+2
Reason for closing: Accepted
Additional comments about closing: This code is now in svn.
Friday, 27 March 2009, 20:18 GMT+2
Reason for closing: Accepted
Additional comments about closing: This code is now in svn.
* improved general stability, most notably in the configuration dialog
* Added voice description - in theory, voices that use non-ASCII text will have a "Coding" line there. In practice, I don't have such voices to test.
I needed 3 attempts to correctly configure a voice. The first time, no voice was listed, a restart cured that. Afterwards it even gave a segmentation fault, when trying to open the configuration dialog. :-)
Also the compilation process gave many warnings, so the code probably needs more cleanup. Perhaps it would be better to seperate the "skip non-ascii files" feature into a seperate patch. So its is easier to review and commit the festival engine support.
Also i think such a skipping feature needs to be more general, perhaps based on encoding ? (like skipping all files with chars not in ISO8859-1 or alike).
Your first restart was the result of a bug - the refresh button used the saved settings and not the ones just entered in the configuration window. It should be fixed now.
The segmentation fault was either an assert in one of the code paths or a festival crash. When festival is involved, you can never be sure. :) If it was an assert, it should be fixed now.
Other changes from the previous patch:
- Removed the "Ignore Non-ASCII" option - the festival backend issues a warning (and not an error) for any string it cannot voice.
- Added a "Show voice description" checkbox. This removes the initial voice description query which in turn slowed startup by quite a bit. Also, voice descriptions are now cached.
- There was a short period right after the "Starting festival" dialog had closed and before the configuration window had started that gave no indication of anything taking place. Thus, I opted to show the configuration window at the very beginning, disable it and then show the "Starting festival" progress bar. That way, it's clear festival is loading, even if the progress bar had been closed.
- I felt that path autodetection was counter-intuitive and chose to remove it completely. If needed, I can always put it back in.
Sorry for the .pro clutter, that'll be removed in the final patch.
Implemented the browse buttons. I don't know how I missed those.