Site Map - skip to main content - dyslexic font - mobile - text - print

Hacker Public Radio

Your ideas, projects, opinions - podcasted.

New episodes Monday through Friday.


hpr1649 :: Raspberry Pi Accessibility Breakthrough

How I fixed the stuttering text-to-speech on a Raspberry Pi

<< First, < Previous, Latest >>

Hosted by Mike Ray on 2014-11-27 is flagged as Explicit and is released under a CC-BY-SA license.
Listen in ogg, spx, or mp3 format. | Comments (7)

Since April last year the text-to-speech using eSpeak in the Raspberry Pi console has stuttered very badly and regularly crashes the kernel.

Here's how I fixed it.

Cloning my github repo:

git clone https://github.com/cromarty/ttsprojects.git

Installation:

cd ttsprojects/raspberry-pi/libilctts/build
sudo ./build.sh
cd ../../piespeakup
sudo ./build.sh

Bingo! Speech should work.

This has only just been released and there is still work to do on the documentation.

Note: I am not connected to the Raspberry Pi Foundation in any way and anything I say or do is not endorsed by them.

My email address is connected with a Freelists email list I set up and an accompanying web site:

http://www.raspberryvi.org/

The 'VI' is for 'Visually Impaired' and I DID check with the Foundation about the similarity of the web address before I created it.

To join our email list send an email to:

raspberry-vi-request@freelists.org

With 'subscribe' in the subject.

Mike


Comments

Subscribe to the comments RSS feed.

Comment #1 posted on 2014-11-27T10:07:06Z by Steve Bickle

Great Episode

Mike,

Great episode, this is the kind of thing I really like to hear on HPR. It's a shame that the BMC driver can't be fixed, especially since this bug has introduced an accessibility issue. I guess the driver in question is not open source though.

Comment #2 posted on 2014-11-27T23:37:25Z by Mike Ray

Pi Accessibility

Hello Steve. There is one guy at the Raspberry Pi Foundation who is aware of the problem and is going to try to get around to trying to fixing the sound driver. But as it is not broken for most applications and only seems to badly affect this accessibility issue I guess it is low priority. Personally I think using the GPU directly for tts is a good idea anyway as I have had all kinds of problems with ALSA and pulseaudio in the past

I'm now working on an Emacspeak server and then a speech-dispatcher module which also use my code library.

I think speech-dispatcher might already be ok but I suspect it is because the sd espeak module has the audio chunk size set so high that the stuttering doesn't occur but it eats up RAM as a result. My audio library is much leaner

I'm going to try to come up with an alternative to speech-dispatcher which will interface to Orca and run in a much smaller footprint.

Comment #3 posted on 2014-11-28T16:26:35Z by Tony Wood

Brilliant, Mike! I'm most impressed.

Comment #4 posted on 2014-11-29T17:10:33Z by Mike Ray

Over to you Tony

Hello Tony. What's the subject of your first HPR podcast going to be? Self-drive cars? I should explain that Tony has been kind enough to give me some lifts to our local Linux User Group in a car that almost, but not quite, drives itself

Comment #5 posted on 2014-12-02T13:09:28Z by gigasphere

Thanks Mike!

Great episode Mike! It is really good to hear these kind of episodes. Also thanks for posting the links and how-to for us to do it ourselves. I had noticed the clipping recently whilst trying out espeak.

I completely agree about your point on accessable terminals.

Comment #6 posted on 2015-11-29T01:48:33Z by Steven

Question about your mods

Good evening, I have tried your mods to stop the stuttering, and so far it looks very good.

Unfortunately now eSpeak reads all the boot information as the computer boots. Is there a simple way to stop espeak from saying all the boot information?

Comment #7 posted on 2015-12-01T17:06:59Z by Mike Ray

Quiet boot

I'm not sure why the boot messages should suddenly only start being heard when the audio code I wrote is employed.

But to silence them I think you can put ' quiet' at the end of the single line in /boot/cmdline.txt, with no quote of course

Leave Comment

Powered by Comment Script