From Media Design: Networked & Lens-Based wiki
Jump to navigation Jump to search

Open-source text to speech project http://www.cstr.ed.ac.uk/projects/festival/ .

Festival can be used in at least 3 modes:

Festival modes

  • interactive
$ festival
> (Say Text "Hello World")
  • pipe from stdin
$ cat letter.txt | festival --tts
  • saving to file
    • text2wave - convert text to .wav files
    • lame - converts .wav to mp3
$ cat letter.txt | text2wave | lame - file.mp3 
  • server

using different voices

diphone voices

To installing the standard Festvox diphone voices in Debain/Ubunto

$ apt-get cache search festvox*
$ apt-get install festvox-don festvox-rablpc16k festvox-kallpc16k festvox-kdlpc16k

Now that you have some diphone voices installed you can test them in intereactive mode

List existing voices

festival> (voice.list)
(cstr_us_awb_arctic_multisyn kal_diphone don_diphone)

Set a voice: Note voice_name_from_voice

 festival> (voice_cstr_us_awb_arctic_multisyn)

MBROLA voices


CMU Arctic voices


Setting Festival defaults

By creating and editing the file ~/.festivalrc you can change Festival default settings, such as the voice path - where it will be played; the voice used or volume and stretch. The following file provides a few example.

;; are comments

;;;; Basic voice/system configuration

;;;;;;;; Voice path
;;Voice path: sound card; Debian-specific: Use aplay to play audio 
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")

;; Voice path: mplayer -> jack
;;(Parameter.set 'Audio_Command "mplayer -ao jack:port=system -really-quiet -noconsolecontrols -nojoystick -nolirc -nomouseinput -demuxer rawaudio -rawaudio channels=1:rate=$SR $FILE") ;; to SYSTEM OUT via JACK

;;;;;;; The default voice
(set! voice_default voice_cmu_us_ksp_arctic_clunits) ;; Indian MALE
;;(set! voice_default voice_cmu_us_bdl_arctic_clunits) ;; US MALE 
;;(set! voice_default voice_cmu_us_slt_arctic_clunits) ;; US FEMALE
;;(set! voice_default 'voice_cmu_us_awb_arctic_clunits) ;; 
;;(set! voice_default 'voice_us2) ;; 

;;;; Advanced voice configuration

;;;; Slow the standard voices down
(Parameter.set 'Duration_Stretch 0.5)

;;;; Set volume.
(set! default_after_synth_hooks
    (list (lambda (utt) (utt.wave.rescale utt 2.0 t))))


Arch Linux manual on Festival HOWTO: Make festival TTS use better voices (MBROLA / CMU / HTS)

HOWTO: Make festival TTS use better voices (MBROLA / CMU / HTS)


Howto: Setup more realistic voices in Festival.