
libilctts
=========

This is the directory where the libilctts library code and additional stuff is to be found.

What is it?
===========

The Raspberry Pi currently has a nasty problem with the ALSA driver.  Text-to-speech using the 
speakup screen-reader and the eSpeak software speech-synthesizer stutters very badly and causes a 
regular kernel oops.

The Raspberry Pi has a mechanism known as the 'VCHIQ', for 'video core hardware interface queue'.  
It is this mechanism which regularly tries to pass the kernel a null-pointer from the ALSA driver.  
The cause of the stuttering is not exactly known.

The Pi has a GPU (Graphics Processing Unit) which is responsible for both video and audio rendering.

This library uses the OpenMAX library, via the 'integration layer' to render audio from eSpeak 
directly on the GPU, thus bypassing the ALSA driver.

eSpeak has a mode in which it can be asked to return the PCM (pulse code modulation) data of 
rendered text-to-speech back to a callback function.

That's what this library does before queueing the audio PCM into the GPU.

piespeakup
==========

Elsewhere in the same github you will find a fork of espeakup, the SpeakUp to eSpeak connector.

piespeakup uses this library to read the console and pass PCM passed back from eSpeak into the GPU 
for rendering.










