Synthesizing Voice From the Command Line

 in

I don't do a lot of audio/video stuff with my system, but the other day I had the urge to see if there was some voice synthesis software available on Linux and it turned out that I already had it installed: it's called Festival. Turns out there are a number of voice synthesis and analysis packages available.

Festival is, according to the website:

Festival offers a general framework for building speech synthesis systems as well as including examples of various modules. As a whole it offers full text to speech through a number APIs: from shell level, though [sic] a Scheme command interpreter, as a C++ library, from Java, and an Emacs interface. Festival is multi-lingual (currently English (British and American), and Spanish) though English is the most advanced.

As far as simple commands, Festival comes with two: saytime and text2wave. Saytime does what you would expect, it speaks the time (as well as outputting the spoken text to stdout). Note though, the time that is output tends to be less than specific:

$ saytime
The time is now, just after half past 10, in the morning.

A wave file of the output is attached (time.wav).

The second command that comes with Festival is text2wave which converts text read from stdin to a .wav file output:

$ echo Your job has completed | text2wave >job.wav
$ aplay job.wav

# OR
$ echo Your job has completed | text2wave | aplay

The wave file is attached (job.wav).

If these commands do not exist on your system you will need to install the festival package. For other voice related packages search the web or check the list here on linux-sound.org

AttachmentSize
job.wav58.8 KB
time.wav140.98 KB
______________________

Mitch Frazier is an Associate Editor for Linux Journal.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Festival voice synthesis software

Anonymous's picture

Hey,
I've been using Festival for 2 years. I use it mainly to get other people's attention. It's easy, it's fun and it's no hassle to install on Mandriva 2008.

Commercial text to speech for Linux

Kyle Brandt's picture

Cepstral is very good and has Linux versions that work well. However, it is not free. I found the voices to be much better quality than festival.

http://cepstral.com/

espeak

metalx2000's picture

espeak is another great program for Synthesizing Voice From the Command Line.

To read a string:
$ espeak "Hello World"

or to read a text file:
$ espeak -f text.txt

To save the output it a WAV file:
$ espeak "Hello World" -w my.wav

It has other options to (Voice, speed, pitch)
Not that one way is better then the other. I just wanted to show that there is another way to do it.

http://filmsbykris.com/
Everything you ever need to know about Open-Source Software.

eSpeak

Kyle's picture

Ubuntu comes with eSpeak by default. I find that it sounds much better than Festival and I can listen to it for much longer. Orca, which is the screen reader I use on Ubuntu speaks through either speech-dispatcher or gnome-speech, both of which have an eSpeak driver. The comment to which I am replying gives good instructions for how to create a .wav file with eSpeak from the command line.

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState