This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#7660 - Plugin espeak TTS engine for rockbox
|
DetailsA first port of espeak running on rockbox.
Warning: Only tested on Sansa player! I have skipped some advanced features of espeak, for example: - mbrola - on the fly Translator language switching (try: 'spring' with german selected) Because this plugin is very basic, there is no file input selection. It always reads from the 'test.txt' in the root. You have to unzip the espeak-data to the root of your player. |
This task depends upon
Should we assume from your reply that you're not intending to port a GPLv2 compatible version of espeak?
Checking the espeak SVN, the last GPLv2 revision was 55. For anyone that is interested, this can be grabbed with the command:
svn -r 55 co https://espeak.svn.sourceforge.net/svnroot/espeak espeak-r55
I will check the sound quality of r55 soon and if it is not possible to incorporate the latest source into
rockbox, I surely will try to port this GPL v2 compatible version too (only a matter of time :-).
And yes, the H100/H300 will not run with the above code, because of endian issues (seems to be solvable within short time).
I am looking forward to hearing more about the licensing issues.
Regards, Dan
"/rockbox/apps/plugins/"
Then extract the other zip file to the root dir of your player.
Then compile and make a file called test.txt. Then test your new build and hopefully it works.
Test.txt should be in the root of your player.
I only got it to work on the sim. I am using a h300.
Please correct me if I am wrong.
1. Find the line all default
2. Left click the d.
3. Continue with the rest of the install. Do this for the rockbox nearer and the base one.
Also note this could download over 1 gb.
But if you want any more help please use one of the support channels.
I don't even know if it will run on the 4th gen but I am sure it will run on the sim.
You can argue back and forth, but until a lawyer looks at it, I don't think any of us can say with certainty that Rockbox is "any version". For this reason, I think we probably won't be incorporating GPLv3 code, including eSpeak.
This is my personal opinion - I do not in any way speak for the entire Rockbox project.
Not everyone involved necessarily feels that GPLv3 is the best place for Rockbox. There have already been some interesting debates over the matter.
And Llorean's point is also very valid - by incorporating espeak we would be moving Rockbox to GPLv3, and not everyone seems to want that (although I would be happy to). Some people seem to actively want a "v2 only" license.
So in practice, I can't see this happening unless jonsd reverts the espeak license back to v2 or later.
A Linux distribution such as Ubuntu includes both GPLv2 (eg. kernel) and GPLv3 (eg. espeak, samba etc.) software without problems. Is Rockbox similarly a Linux distribution, or is there a difference?
Here, eSpeak seems to be an optional download, the equivalent of an Ubuntu or Debian "package", and Ubuntu packages can include even non-free software (eg. NVIDIA drivers). I presume your eSpeak download for Rockbox has been compiled and configured to run on Rockbox, but why does that cause a licencing problem? Are you using eSpeak's standard command-line interface, or is it modified and combined with some Rockbox code?
I could give a waiver/assurance that I won't sue for using eSpeak on a Rockbox which is licenced under earlier versions of GPL, but it seems that is not the problem. Rather, Rockbox seems to think that running GPL v3 software on their distribution breaks their own licence rules. Have you asked the Free Software Foundation for their advice on this?
So yes, building Rockbox as-is with GPLv3 licensed parts included and distributing would be a license violation.
Is there any reason you have packaged it as you have, rather than as a properly diff'ed patch file? I hand-edited my copy of /plugins/Subdirs with the single change that the source contained in case the Subdirs file had changed in other ways in SVN.
I slightly updated this plugin (toni thanks for your work). Plugin uses Toni's port of Espeak from 2007 (I will try to update it later). I added some functionality to be able to use it as a book reader:
- Tested and works on sansa fuze
- It can be used as a viewer (copy compiled .rock file to .rockbox/rocks/viewers and update viewers.config file) or it opens /test.txt if you run it from file browser (espeak-data folder must be in /.rockbox/rocks folder),
- Use up and down buttons (Some keys are assigned for all supported targets) to read by paragraphs (hard linebreaks)
- Use select to toggle continuous reading (say all)
- Use long select to open simple menu with self explanatory functions (load bookmark, save bookmark, set pitch, voice, speed, language)
- It is possible to create one bookmark for each file, the cursor position is stored in file_name.bm where file_name is currently read file (.bm file will be created in the directory where is the currently opened file located)
- Oh and sorry to all sighted persons. This plugin only speaks (nothing except errors is printed to screen) .
So happy reading! (write me if you will find an anoying bug)
Peter
I have some updates (config file support, automatic actions,...). See here:
http://cezap.sk/~lecky/rb?lang=2
So I think a eSpeak patch could now be accepted, although we would want to have a compile-time option to include it so that people can still use rockbox with the GPLv2 if they need it.
Edit: Sorry, link to decision at devcon: http://www.rockbox.org/wiki/DevConEuro2011