An extremely challenging but most useful project idea

139 views
Skip to first unread message

Rom Srinivasan

unread,
Apr 17, 2013, 1:01:31 PM4/17/13
to accessible...@googlegroups.com
There have been some discussions in this forum regarding fonts that are more helpful for dyslexic users and that would be a nice feature to add.
But the most helpful feature for dyslexic users is the ability for the TextToSpeech to smoothly highlight words as it reads them.

Go Read currently only supports sentence level highlighting because the native Android TextToSpeech engine doesn't currently support word level callbacks. I intentionally used the word smoothly in the previous sentence because we could make the TTS engine read one word at a time, but that doesn't sound very good as there are pauses between each word. So ideally, the tts engine would read a sentence at a time and the app would highlight each word as its being read.

We had a student try to accomplish this last year by attempting to extend the default TTS engine, but that did not work out. We have noticed at least one other reading app that supports this and we suspect that they built their own TTS engine. So if any of you have a concrete plan to add this feature, we would love to hear it.

Ashen Gomez

unread,
Apr 17, 2013, 1:15:47 PM4/17/13
to accessible...@googlegroups.com
Hi,

Can't we add a third party TTS engine to the app? This will be helpful in many ways. Currently some of the words are not spoken correctly. I think it's due to the problems in the pico TTS engine. This can make the voice more smooth too. Current voice is more like a robotic voice. It can't read some words like www. It's better if it can speak this as W W W rather than wer,wer,wer. I don't know if it can be changed without changing the TTS engine. 

I hope you got my point.  



--
You received this message because you are subscribed to the Google Groups "Accessible FBReaderJ" group.
To unsubscribe from this group and stop receiving emails from it, send an email to accessible-fbrea...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--

Gerardo Capiel

unread,
Apr 17, 2013, 2:21:02 PM4/17/13
to <accessible-fbreaderj@googlegroups.com>
Ashen,

Your point is really what we wanted to do.  We cannot have the TTS engine be accessed via the Android Speech API/Service, because the Android Speech API/Service does not allow callbacks.  Callbacks can be configured to happen after each word is spoken, so you know what text to highlight.  Instead the TTS engine needs to be packaged with Go Read so that the callback functionality can be leveraged.  Because the code needs to remain open source, we look at Flite, but eSpeak could be another options.

Here is the work from last year:

Which was derived from:

That GitHub repo is packing the Flite TTS engine as an Android Speech Service, which is not the way we want to go.  So the Flite TTS engine needs to be extracted from that.  Here's a link to a supposedly port of eSpeak for Android:


Thanks,

Gerardo

Gerardo Capiel
VP of Engineering
benetech

Twitter: @gcapiel
Fork, Code, Do Social Good: http://benetech.github.com/


Ashen Gomez

unread,
Apr 17, 2013, 5:15:33 PM4/17/13
to accessible...@googlegroups.com
Gerardo,

I went through the links you provided. It seems like that espeak has more language support, but it supports only for android 4.0 or more. Also supports only for MIPS based devices. 
Therefore the best option is Flite. 

So I think there are two main tasks to be done. 
1. Adding the Flite TTS engine to the Go Read.
2. Adding the functionality to smoothly highlight words as it reads them.

Once the Flite TTS is packaged with the Go Read we can look into highlighting words.

Thanks & regards,
Ashen


Ashen Gomez

unread,
Apr 20, 2013, 10:14:00 AM4/20/13
to accessible...@googlegroups.com
Hi,

I was able to build and run the last years project on Flite TTS engine.
I think it has the functionality to notify once the word is completed. 

If we use this in Go Read is it okay to ask the user to install and enable the Flite voices?
In the original Flite TTS app they ask to install Flite voices.

I think if we create the flite tts .so files and add them into the libs, we can use the java code inside the Go Read.
We can prompt the user to add voices from the play store like they do in the demo of Flite TTS. 

Thanks,
Ashen Gomez  
--

Ashen Gomez

unread,
Apr 21, 2013, 6:03:57 PM4/21/13
to accessible...@googlegroups.com
Hi,

I tried to run the test from the code from the https://github.com/benetech/Flite-TTS-Engine-for-Android
But it failed. 
But when I downloaded the code from the google-melange web site it worked. http://www.google-melange.com/gsoc/project/google/gsoc2012/dontulakapil/22001 
The code in the repo is not the final version. 

I discussed with Kapil, last year's student who did this project.
He was able to print the callback values in the log cat. 
So as the first step we can give a simple text and try to read it and do the word level highlighting inside the Flite TTS android app. 
Once this is possible It can be ported into the Go Read.

I would like to work in this project. I'll start to work on the proposal.
If this project is selected, I would like to know who is going to be the mentor?

Thanks,
Ashen Gomez




--

Rom Srinivasan

unread,
Apr 22, 2013, 2:27:57 PM4/22/13
to accessible...@googlegroups.com
Ashen,

We haven't yet finalized which mentors are working on which project. But for this project, it will most likely be me, Rom Srinivasan.


Kapil Dontula

unread,
Apr 24, 2013, 2:28:30 PM4/24/13
to accessible...@googlegroups.com
Hi ashen,

You cannot use the flite c code in goread directly. Try to understand the c code of flite. It will calculate the prasodic features such as energy cantor,duration,etc. It doesn't read the text. My suggestion is to figure out the challenges and mail with a concrete idea.

Thanks,
Dontula Kapil

Ashen Gomez

unread,
Apr 24, 2013, 4:10:26 PM4/24/13
to accessible...@googlegroups.com
Hi Kapil,

Thanks for the suggestion.
I'm actually going through the code and I'm not clear about the most of the parts. 
I'll get back to you when I get a clear idea about the challenge.
Once again thanks for the help you provided.

Ashen



--
You received this message because you are subscribed to the Google Groups "Accessible FBReaderJ" group.
To unsubscribe from this group and stop receiving emails from it, send an email to accessible-fbrea...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--

Thushan Ganegedara

unread,
Apr 24, 2013, 10:56:02 PM4/24/13
to Accessible FBReaderJ
Hi Rom,

After going through the mail thread, I noticed the sentence

We have noticed at least one other reading app that supports this and we suspect that they built their own TTS engine
If this is so, could you share the name of the reading app?
Then the developers of that particular app may be able to give us some hints.

Thank you
Regards,

Thushan Ganegedara
Department of Computer Science and Engineering
University of Moratuwa
Sri Lanka

Ashen Gomez

unread,
Apr 25, 2013, 2:06:39 AM4/25/13
to accessible...@googlegroups.com

Hi Thushan,

I noticed Blio e reader app has this functionality. http://www.meetblio.com/

Ashen

Thushan Ganegedara

unread,
Apr 25, 2013, 10:15:57 AM4/25/13
to Accessible FBReaderJ
Thanks Ashen. But I was more thinking of an Android solution. I'm sure somebody had the same concern for a different app. :)

Ashen Gomez

unread,
Apr 25, 2013, 10:37:49 AM4/25/13
to accessible...@googlegroups.com
This option is available in Blio android app

It supports word level highlighting

Rom Srinivasan

unread,
Apr 25, 2013, 4:49:36 PM4/25/13
to accessible...@googlegroups.com
Blio is the app I was referring to. But they use a paid TTS SDK and we want to keep everything free and open source for Go Read.


Reply all
Reply to author
Forward
0 new messages