[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: text to speech (was Re: [school-discuss] idea)



Laura,

Thank you so much for going through and explaining that information!!  Personally, I am not a script writer . . . only a script borrower.  This is very helpful.

My goal would be to develop a system whereby teachers can plug in worksheets and easily convert them to speakable online text.

Hmmmm . . . . 

Marilyn

 

 

On 27.09.2012 09:33am, LM wrote:

On Thu, Sep 27, 2012 at 8:16 AM,  <marilyn@xxxxxxxxxxxxxxxxxxxxxxx> wrote:
This is the best embedded text-to-speech feature I have seen . . . https://sample.stemscopes.com/scopes/203 This is a STEMscopes sample page. The voice quality is so good I thought it was audio at first. I believe it was written by their webmaster consultant dude. He also writes phone apps. Not open source though.
I didn't try logging in, but just looking at the login page (which I
was redirected to), my guess is the support is probably done mainly in
_javascript_ and more specificly with the jQuery library.  If you do
view source on the login page, you see references to
/_javascript_s/jwplayer.js, /_javascript_s/jwplayer.js, etc.  If you take
the link and repoint it to the _javascript_ files, for instance
https://sample.stemscopes.com/_javascript_s/jwplayer.js , you can indeed
view the source code.  So while this may not be an Open Source project
(it may be copyrighted), if it's in _javascript_, the code is typically
accessible.

I am personally not a big fan of jQuery.  (I prefer standard
_javascript_ language syntax to its coding style and I prefer writing
things myself.)  However, a lot of people use jQuery because it
provides commonly needed functions and it's tested on a wide variety
of platforms.  There are quite a lot of plugins for jQuery to handle
various tasks such as multimedia ( http://archive.plugins.jquery.com/
).

Here are a couple of plugins that try to handle multimedia in a
cross-browser friendly way:
http://jquery.malsup.com/media/
http://www.jplayer.org/

My first guess would be that any _javascript_ code to playback text to
speech would still need a text to speech converter program (like
espeak, festival, flite, etc.) on the server to generate the audio to
play back.

Doing some search, looks like that isn't necessarily always the case:
http://syntensity.com/static/espeak.html
https://github.com/mattytemple/speak-js#readme
Someone's actually converted the C/C++ code to bitcode using LLVM (
https://github.com/kripken/emscripten ) and then the bitcode can be
run directly using _javascript_ on the client side.  So, a program like
espeak can be converted from C/C++ to _javascript_.

Looking at some of the Drupal based solutions, they look fairly
similar.  According to http://en.wikipedia.org/wiki/FreeTTS , FreeTTS
is using flite rewritten in Java.  If it's running client side, it
would require downloading Java and a browser that could handle Java
applets.  If it's running server side, then any text to speech
converter could do the same job.  Here's another Drupal module that
appears to use espeak:
http://drupal.org/project/1215214/git-instructions

Not sure exactly what technique
https://sample.stemscopes.com/scopes/203 is using, but if you view the
source of the page, you should be able to come up with some good clues
as to what libraries it's using.  It does look like Open Source
libraries are available to do these types of tasks.

The big problem with these types of solutions is that they require a
browser that can handle client side code (in the cases mentioned,
_javascript_ or Java applets).  Some Open Source browsers don't support
it and some users turn _javascript_ off as it can be an added security
risk.  Java's less likely to be available on a system than _javascript_
is and licensing may be an issue for Open Source users going forward.
(Same could go for alternatives like Silverlight or Flash.)  The Free
Software Foundation is trying to get _javascript_ licensed (
http://www.fsf.org/news/announcing-js-labels ) and wants browsers that
won't run _javascript_ unless it's properly licensed.  (Personally, I
think that's going to be a nuisance for _javascript_ code developers and
most sites probably won't bother with it.)  Even if _javascript_ is
supported, audio support isn't guaranteed in a browser either.  I
think the most accessible method is typically the simplest method.
Provide a way to click a link that downloads an audio representation
of the information.  If it's too much to record each web page, then
the process could probably be automated server side using a
text-to-speech converter.  If the download links are created server
side, they'll be available on all browsers.  If you absolutely have to
have the information played back in a browsers, one could use
_javascript_ and/or HTML 5 audio tags (and hopefully set it to play back
only on user request).  However, it's still always nice to provide a
link to download multimedia in case some user has a browser that
doesn't support that functionality.

Sincerely,
Laura
http://www.distasis.com/cpp
###
To unsubscribe from the schoolforge-discuss mailing list:
Send an e-mail message to majordomo@xxxxxxxxxxxxxxx with no subject
and a body of "unsubscribe schoolforge-discuss"