Linux TTS Accessibility with Festival
Introduction
Most Linux distributions do not come with a text-to-speech (TTS) engine installed by default. However, there are several open source TTS engines available for Linux that can be installed easily through the package manager.
I have dysgraphia, which is a neurological disorder that affects a person’s ability to write. People with dysgraphia may struggle with writing legibly, organizing their thoughts on paper, and/or maintaining consistent spacing and sizing of letters and words.
In order to combat this mental limitation, I use TTS to read text more quickly and to proof read what I’m writing. Additionaly, treatment for dysgraphia can include accommodations such as using a computer. It’s important for individuals with dysgraphia to receive support and accommodations to help them succeed in academic and professional settings.
The solution I found in this case is festival
, which is a free and open-source text-to-speech (TTS) tool for Linux that allows users to generate artificial speech from written text. Festival is highly customizable and supports a range of voices, languages, and output formats. It can be used for a variety of applications, including voice interfaces, screen readers, and language learning tools.
Installation
|
|
Version
In order to install the correct voices for festival
TTS, you need to identify what version you have installed.
|
|
Once you determine the version, you can download voices you need by changing the version at the end of the URL.
|
|
Shortcut Script
This bash
script, allows you to copy text then have festival
read it back and also toggle it off when needed using a keyboard shortcut.
|
|
|
|
Once completed, you can setup your shortcuts in your distribution like the following.
Speed up Playback and Increase Volume
When reading, I find it useful to speed up playback as it allows me to read at a faster pace. You can change the option for atemo
to whatever works for you. If you wish to increase the volume you can change the volume
option as well.
|
|
Set Default Voice
Finally, to set the default voice for festival
, you can use the text below. Each voice that you have can be listed in the repl
by doing (voice.list)
. Each voice name, must be prefixed with voice_
.
|
|