← Back to team overview

ubible-dev team mailing list archive

Re: TTS

 

On 10/21/2013 05:08 PM, Michael Spencer wrote:
On 10/19/2013 09:27 PM, Israel wrote:
A quick update on some things:
On the SWORD list we have been discussing the Audio feature and Hison
who develops for iOS was explaining that he uses the TTS (Siri) to
read along with his Bible program.  He provided a clip (in Chinese)
and it was very natural sounding.  I think TTS would be worth looking
into.
AFAIK at present the uPhone has no TTS program (though it may be that
they develop one in the future iterations)  however that doesn't mean
we cannot use a TTS that is functional in Ubuntu.  Here are a few
links if anyone wants to look at them, and get some ideas, or if
anyone has a TTS they are familiar with that works well.  The last TTS
I used in Ubuntu wasn't extremely good at sounding natural (like
Siri), but using TTS would dramatically reduce the download size for
Audio.  You could install one package and have a few dependancies and
have every Bible in every language (supported by the TTS) instantly an
Audio Bible.  Of course we could even use more than one if it is
needed.  I would like to use open source software as much as possible,
but I am open to any ideas about getting a reliable Audio engine in
place.  This, at present, is the most interesting of ideas (as far as
size of audio bibles, and automatically being able to listen to any
one of them)

http://www.babelfish.org/tts-free.htm
http://espeak.sourceforge.net/
and,
http://www.moreofit.com/similar-to/espeak.sourceforge.net/Top_10_Sites_Like_Sourceforge_Espeak/

though I think some of those a proprietary.
That sounds like a great idea, if we can find a reliable enough voice! I
searched AskUbuntu for opinions on the best TTS software available and
tried a few. The best one I've seen is pico2wave, available from the
libttspico-utils package. It does a really good job. Unfortunately, the
default voice is that of a woman, and I would prefer to have the Bible
read by a man. I couldn't figure out if it is possible to use other
voices with pico2wave. It also supports multiple languages, so as long
as we can figure out what language a Bible is in (in the form of en-US,
de-DE, etc) we should be able to read any Bible in a supported language.

Because of the way the packaging framework for Ubuntu Touch is, we will
need to bundle all dependencies with it, so if we use a TTS in real time
(versus reading the Bible before hand and packaging the resulting audio
files), we will need to package the program with out app. I don't know
how that will affect licensing.

It might be worth asking on the phone list to see what is being done about TTS for the phone. I am sure Canonical has already thought about this issue (at least somewhat). The desktop seems to try to integrate the ability to have accessibility options available. And I would think a TTS would be a good thing to have some blueprint for, as it is becoming a feature on mobile devices (much like a flashlight app is now a feature, or a camera) We could recommend installing "proprietary TTS package" for a really good sounding TTS, and include (or access, if they implement it/make an API for TTS) a lesser quality TTS until a later version of our program and the Ubuntu SDK (if they do indeed include TTS at some point)

Not sure really where the best place would be to contact someone working for Ubuntu, or should a bug be filed, or...... I will check out the TTS you found, and continue searching. I am thinking a TTS would be a remarkable way of including Audio, without including 2+-Gigs for storage *per* Bible. Though a compressed folder would cut down the size somewhat. This is why a lot of programs stream audio, I suppose. But we may be serving people that may not have data plans, and may live in restricted countries, and may not even be able to read.
Thanks for the feedback as always!



Also, if I understand it, our program should translate itself into
other languages as is appropriate (for the interface), is this
correct, or am I misunderstanding?

Yes, we will need translations for other languages. In code, to
reference a string that is translatable, we use the i18n.tr() function,
like this:

property string testString: i18n.tr("This is a test string to be
translated")

That is all we need to do in code to use translations. However, we will
need to use tools to extract those strings and provide files for
translators to use. But we can deal with that down the road once we
finalize more on an initial UI.

Ok, That is what I thought... just wanted to be clear that I was on the right track

--
Regards


References