I can't seem to find any documentation on this.This forum post shows someone trying to change the voice used by festival, outside of the festival interpreter, using a command-line flag.festival --\(voice_kal_diphone\) --tts Langalist.txtIt doesn't work. As a solution, the OP's program's configuration file ends up being edited. Everyone here also seems to use that method to select voices. But surely, if from within the program's scheme interpreter the expression luisetta@riverbrain:~$ festivalFestival Speech Synthesis System 2.1:release November 2010Copyright (C) University of Edinburgh, 1996-2010. All rights reserved.clunits: Copyright (C) University of Edinburgh and CMU 1997-2010hts_engine: The HMM-based speech synthesis system (HTS)hts_engine API version 1.04 (http://hts-engine.sourceforge.net/)Copyright (C) 2001-2010  Nagoya Institute of Technology              2001-2008  Tokyo Institute of TechnologyAll rights reserved.For details type `(festival_warranty)'festival> (voice_name_here)from the list of voices returned by typingfestival> (voice.list)works, then there must be a way to get the program to interpret its own scheme expressions via the command line too, right?
How to make festival evaulate its own scheme expressions from the command line, so as to change voices as needed?
command line;festival;text to speech
If you just want to select a voice before doing TTS, you can use text2waveecho 'hello world' | text2wave -eval '(voice_kal_diphone)' > hello.wavtext2wave is a Festival script itself, so you could fairly easily customize it.You can do similar with the Festival command line:festival '(voice_ked_diphone)' '(SayText hello world)' '(exit)'but that unfortunately does not work along with the --tts option.