This post briefly summarises an experiment with the built in text-to-speech (TTS) capabilities of my Kindle 3.
Direct to /var/tmp/ttsUSFifo
The K3 includes a built-in TTS capability that can be turned on to read your books to you. It is turned on via the text menu (“Aa” button) when reading a book, or via the keyboard shortcut “Shift+Sym”.
Turns out that if you enable TTS via “Shift+Sym” (rather than the “Aa” menu) then stop TTS by pressing the “Back” key (another keyboard shortcut) the TTS subsystem stays partially active and may be utilised by other processes running inside the K3.
Normally this would be fairly useless trivia. But if you’ve jailbroken your K3 and enabled SSH access (either via USB or WiFi) you can login remotely and have arbitrary text strings read out loud by the K3. Or launch processes that ‘speak’ certain text at particular times.
The key is sending ASCII text to
For example, the following causes the K3 to greet me by name:
[root@kindle root]# echo "Hello There Grenville Armitage" > /var/tmp/ttsUSFifo
Neat! And yes, a range of common not-safe-for-work phrases are articulated quite clearly.
(But note, this appears to be true only if the TTS subsytem has been activated via “Shift+Sym” and then deactivated with “Back”. And sometimes the system seems to ‘swallow’ the first syllable of the text you sent to
/var/tmp/ttsUSFifo. I’m sure there’s some more detailed info floating around regarding the use and abuse of the K3’s TTS subsystem.)
A bit more googling and I stumble across the ‘say’ command (
say "Hello Grenville"
greets me, rather like ‘echo “Hello Grenville” > /var/tmp/ttsUSFifo’ would do.