Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I am looking for some easy to install text to speech software for Ubuntu that sounds natural. I've installed Festival, Gespeaker, etc., but nothing sounds very natural. All very synthetic and hard to understand.

Any recommendations out there?

share|improve this question

9 Answers 9

SVOX pico2wave

In addition to the other answers:

A very minimalistic TTS, a better sounding than espeak or mbrola (to my mind).

Some information:

I don't understand why pico2wave is, compared to espeak or mbrola, rarely discussed. It's small, but sounds really good (natural). Without modification you'll hear a natural sounding female voice.

AND ... compared to Mbrola, it recognise Units and speaks it the right way!
For example:

  • 2°C → two degrees
  • 2m → two meters
  • 2kg → two kilograms

After installation I use it in a script:

pico2wave -l=de-DE -w=/tmp/test.wav "$1"
aplay /tmp/test.wav
rm /tmp/test.wav

Then run it with the desired text:

<scriptname>.sh "hello world"

or read the contents of an entire file:

<scriptname>.sh "$(cat <filename>)"

That's all to have a lightweight, stable working TTS on Ubuntu.

share|improve this answer
As far as I can see, it only uses cli parameters as input. Is there any way I can get pico2wave to read text from a filename? –  Carlos Eugenio Thompson Pinzón Feb 15 '14 at 17:42
pico2wave is in package libttspico-utils in recent versions of ubuntu. @CarlosEugenioThompsonPinzón cat <filename> | xargs -I foo -0 pico2wave -w blah.wav foo –  naught101 Mar 11 '14 at 9:11
@CarlosEugenioThompsonPinzón pico2wave -w a.wav "$(input.txt)" =). Agree that this CLI interface is bad design: unlike the huge majority of CLIs, and possible to reach the OS max CLI arg length. –  Ciro Santilli 六四事件 法轮功 Apr 13 '14 at 9:44
up vote 7 down vote accepted

I believe Ive found the best TTS software for free using a Google Chrome extension called "SpeakIt". This only works in the Chrome browser for me on Ubuntu. It doesnt work with Chromium for some reason. SpeakIt comes with two female voices which both sound very realistic compared to everything else out there. There are at least four more male & female voices listed s Chrome extensions if you search the Chrome Web Store using "TTS" as your query.


For use on a website. you highlight the text you want to be read and either right click and "SpeakIt" or click the SpeakIt icon docked on the Chrome top bar.

Firefox users also have two options. Within Firefox addons, do a search for TTS and you should find "Click Speak" and also "Text to Voice". The voices are not as good as the Chrome SpeakIt voices, but are definitely usable.

The SpeakIt extension uses iSpeech technology and for a price of $20 a year, the site can convert text to MP3 audio files. You can input text, URLs, RSS feeds, as well as documents such as TXT, DOC, and PDF and output to MP3. You can make podcast, embed audio, etc. Here is a link...


and a sample of their audio (dont know how long the link will last)...


share|improve this answer

I have been conducting research on the best sounding and easily tuned text to speech voices. Below is a listing of what I thought were the top 5 products in order of sound quality. Most of the websites associated with these product have an interactive demo that will allow for you to make your own determination.

  1. NeoSpeech
  2. iVona
  3. Acapela
  4. AT&T Natural voices
  5. CereProc Voices
share|improve this answer

I have looked high and low for text to speech for Ubuntu that is high quality. There is none. My vocal cords are paralyzed so I needed TTS to add voice instructions to my Ubuntu videos. You can get commercial high quality Linux text to speech software here: http://wizzardsoftware.com/att_desktop_overview.php It's just really expensive. I ended up buying Natural Reader for Windows (doesn't work in Ubuntu under Wine) for $40. Maybe later I will get the Linux one.

I hope that helps.

share|improve this answer

I find Nitech HTS voices on festival very natural and comforting over any other voices I have heard. See this link on how to set up Nitech and other sounds with festival. I have not found a good gui which I can use to configure those voices but setting them via festival.scm still works. That post is very old and you might want to find the actual installation directory using "locate festival" command

share|improve this answer
Seems to be very good. Found demos here cstr.ed.ac.uk/projects/festival/onlinedemo.html –  Kassius Aug 21 '14 at 8:32

Here is what I did to have pure natural speech for pdf and other text files(other solutions are not natural or they're just paid services). This is actually a work around using chromium or chrome but works fast and easy.

  1. Install SpeakIt! extension on your chrome or chromium.
  2. Install PDF Viewer if you're using chromium(chrome already has a pdf viewer for free) and check 'Allow in incognito' and 'Allow access to file URLs' options in extensions settings of chromium.
  3. Drag and drop your pdf to browser.
  4. Now highlight some text and right click and select SpeakIt! so you can listen to pure natural text-to-speech.

There's also ways to open other files like .doc and .txt in chrome and do the same. There's other extensions for chrome that view pdf files, check if it fits you better. Besides you can upload all kind of texts in Google Drive and use SpeakIt! to read it for you. Another extension called 'Speak text' works the same way and has natural speech.

share|improve this answer
Could you elaborate on how to make SpeakIt read pdf files saved in Google Drive? –  Krige Sep 24 '14 at 15:12

My favorite text-to-speech program is called Magic English, but like Natural Reader mentioned by Joe Steiger, it is a Windows program and I'm not sure if it will run under Wine.

AT&T Labs Natural Voices is available online as a demo, but that's more of a work-around than a solution...

share|improve this answer

Simple Google™ TTS

Because of the lack of a better alternative I wrote a bash script that interfaces with a perl script by Michal Fapso to provide TTS via Google Translate. From the project description:

The intention is to provide an easy to use interface to text-to-speech output via Google's speech synthesis system. A fallback option using pico2wave automatically provides TTS synthesis in case no Internet connection is found.

As it stands, the wrapper supports reading from standard input, plain text files and the X selection (highlighted text).

The main features are:

  • online TTS synthesis via Google translate
  • offline TTS synthesis via pico2wave
  • supports a variety of different languages
  • can read from CLI, text files and highlighted text
  • supports reading highlighted text with fixed formatting (e.g. PDF files)

Installation and usage are documented on the project page.

I'd be glad if you gave it a try. Bug reports and any other feedback are welcome!

share|improve this answer

Combine SVOX tools (pico) with LibreOffice:

SVOX (pico) tools are easy to install and brings good quality voices in Ubuntu. Install it:

sudo apt-get install libttspico0 libttspico-utils libttspico-data

You can use LibreOffice in combination with SVOX (pico) tools by install the "Read Text" extension and you obtain a "GUI" for this excellent TTS software:

Set up Read Text Extension's options with Tools - Add-ons - Read selection.... Use /usr/bin/python as the external program. Select a command line option that includes the token (PICO_READ_TEXT_PY), you may want to experiment some of them.

Now you only have to select some text in LO Writer, Calc, Impress or Draw and clic on the icon added as a tool bar (a happy face with a ballon).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.