如何让 Festival 从命令行评估自己的方案表达式,以便根据需要改变声音?

如何让 Festival 从命令行评估自己的方案表达式,以便根据需要改变声音?

我似乎找不到任何关于此的文档。

这个论坛帖子显示有人试图在节日解释器之外使用命令行标志更改节日使用的声音。

festival --\(voice_kal_diphone\) --tts "Langalist.txt"

这不起作用。作为解决方案,OP 程序的配置文件最终会被编辑。每个人 这里似乎也用这种方法来选择声音。但可以肯定的是,如果从程序的方案解释器中表达式

luisetta@riverbrain:~$ festival

Festival Speech Synthesis System 2.1:release November 2010
Copyright (C) University of Edinburgh, 1996-2010. All rights reserved.

clunits: Copyright (C) University of Edinburgh and CMU 1997-2010
hts_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 Technology
All rights reserved.
For details type `(festival_warranty)'
festival> (voice_name_here)

从输入返回的声音列表中

festival> (voice.list)

有效,那么一定有一种方法可以让程序也通过命令行解释它自己的方案表达式,对吧?

答案1

如果您只想在进行 TTS 之前选择一个声音,您可以使用text2wave

echo 'hello world' | text2wave -eval '(voice_kal_diphone)' > hello.wav

text2wave 本身就是一个 Festival 脚本,因此您可以相当轻松地对其进行自定义。

您可以使用 Festival 命令行执行类似操作:

festival '(voice_ked_diphone)' '(SayText "hello world")' '(exit)'

但不幸的是,这不能与该--tts选项一起使用。

相关内容