1. Installation
2. Configuration配置
2.1 Sound server 声音服务器
2.2 Voices声音
2.3 Manually手动
3. Usage用法
3.1 使用festival
3.2 Interactive交互的
3.3 添加帮助信息
4. Troubleshooting故障排除
4.1 无法打开 /dev/dsp
4.2 Alsa 以错误的速度播放
4.3 找不到命令 aplay
4.4 Say报错
4.5. Server
5 Speech-synthesizers语音合成器
5.1 Arch库含有的
5.2. 包含/usr/bin/命令
注: 上面官方手册是2014年的2.4版本; 当前安装的是2.5版本(2017?)...
Festival是CSTR(语音技术研究中心)开发的通用多语言语音合成系统。它提供了构建语音合成系统的通用框架,并包含各种模块的示例。总的来说,它通过许多 API 提供全文到语音:从 shell 级别,通过 Scheme 命令解释器,作为 C++ 库,从 Java 和 Emacs 接口。Festival是多语言的(目前有英式英语、美式英语、意大利语、捷克语和西班牙语,其他语言在原型中可用。)
1. Installation
$ sudo pacman -Ss festival
extra/festival 2.5.0-4 [installed]
A general multi-lingual speech synthesis system
community/festival-english 2.5-2
British and American English Male speaker
community/festival-us 2.5-2
American Male/Female and Scottish English Male speaker
2. Configuration配置
没有全局/etc/配置文件,但您可以使用您的~/.festivalrc文件配置festival,或直接编辑/usr/share/festival/festival.scm. 这两个都是方案文件,使用方案语法并在每次festival运行时重新运行。
2.1 Sound server 声音服务器
如果来自其他来源的音频已经在播放,则以下内容允许 Festival 工作。添加到您的配置:
对于 PulseAudio:
(Parameter.set 'Audio_Required_Format'aiff)
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "paplay $FILE --client-name=Festival --stream-name=Speech")
对于 ALSA:
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")
2.2 Voices声音
Arch 将官方语音集分为festival-us (recommended) and festival-english ...
要查看当前安装了哪些声音以及默认设置是什么,请首先进入 Festival 的#Interactive shell(REPL 方案)。要永久更改默认语音,请将其添加到您的配置中,例如:
(set! voice_default voice_cmu_us_rms_cg)
附加到/usr/share/festival/siteinit.scm适用于所有用户。
添加到.festivalrc后, 重新进入, 显示默认声音时会提示...没有定义的错误,但可以正常使用:
festival>
voice_default
#<CLOSURE n (let-internal (me) (voice_cmu_us_slt_cg) (begin (require "/usr/share/festival/voices/us/cmu_us_slt_cg/festvox/cmu_us_slt_cg") (if (eq me voice_cmu_us_slt_cg) (error (string-append "autoload: \"" "/usr/share/festival/voices/us/cmu_us_slt_cg/festvox/cmu_us_slt_cg" ".scm\" does not define " (quote voice_cmu_us_slt_cg)))) (apply voice_cmu_us_slt_cg n)))>
2.3 Manually手动
您也可以直接从 Festvox 获得声音。您需要解压缩包含语音的文件夹并将其移动到其中,/usr/share/festival/voices/而判断包含语音的文件夹的方法是在其中查找festvox/子文件夹。然后,您可以通过加载festival提示来测试是否找到了您的新声音。
3. Usage用法
3.1 使用festival
测试:
$ echo "This is a test!" |festival --tts
读取文本文件:
$ festival --tts /home/tom/sptext.txt
要阅读您用光标突出显示的选择:
$ xsel |festival --tts
注: xsel是用于获取和设置 X 选择的内容命令行程序, 安装:
$ sudo pacman -S xsel
将文本文件转换为 mp3 音频:
$ text2wave /home/tom/LoveOurCountry.txt | lame - text.mp3
Txt文件: lines: 19; Words: 294; char: 1554; Bytes: 1556;
Mp3文件: size: 291.8Kb; 时长: 01:39
用选择的声音录制音频:
$ text2wave -o output.wav -eval '(voice_cmu_us_awb_cg)' /home/tom/LoveOurCountry2.txt
Txt文件: lines: 7; Words: 279; char: 1525; Bytes: 1529;
Wav文件: size: 3.1Mb; 时长: 01:41
语音报时:
$ saytime
The time is now, almost twenty-five past 4, in the afternoon.
$ saytime
The time is now, exactly twenty-five past 4, in the afternoon.
$ saytime
The time is now, just after twenty-five past 4, in the afternoon.
3.2 Interactive交互的
Festival 有一个交互式提示,可用于测试。键入festival以输入它。以下是一些示例:
显示默认声音:
festival>
voice_default
voice_kal_diphone
列出可用的声音:
festival>
(voice.list)
(rab_diphone kal_diphone cmu_us_rms_cg cmu_us_slt_cg cmu_us_awb_cg)
要选择另一种声音,请输入。例如: (voice_name)
festival>
(voice_cmu_us_rms_cg)
cmu_us_rms_cg
听它说话:
festival>
(SayText "Arch makes me happy")
列出可用命令:
festival>
help
退出:
festival>
(quit)
3.3 添加帮助信息
/usr/share/festival/festdoc.scm
配置文件的(defvar help这部分就是帮助信息了.
在初始默认声音下面,增加新安装的声音名称
(voice_kal_diphone) Select voice (American Male)
(voice_cmu_us_rms_cg) Select voice (US Male s)
(voice_cmu_us_slt_cg) Select voice (US Female)
(voice_cmu_us_awb_cg) Select voice (Scottish Male)
再次进入festival, 获取帮助就能看到这些选择的提示了
festival>
help
4. Troubleshooting故障排除
4.1 无法打开 /dev/dsp
如果节日返回以下错误消息:
Linux: can't open /dev/dsp
请参阅上面的:
2.1 Sound server 声音服务器
4.2 Alsa 以错误的速度播放
如果上述解决方案让您发出吱吱的声音,您可能想尝试更改您的aplay选项:
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -Dplug:default -f S16_LE -r $SR $FILE")
4.3 找不到命令 aplay
安装alsa-utils包。
4.4 Say报错
festival> (SayText "Arch makes me happy")
-=-=-=-=-=- EST Warning -=-=-=-=-=-
audio_open_alsa: failed to set hw parameters. Invalid argument.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Segmentation fault (core dumped)
以下内容添加到.festivalrc即可
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")
4.5 Server
Install festival-freebsoft-utils(aur) to use Festival with speech-dispatcher (i.e. in Firefox's Reader).
5. Speech-synthesizers语音合成器
5.1 Arch库含有的
festival - 构建语音合成系统的通用框架以及各种模块的示例。总的来说,它提供全文到语音。
espeak — 适用于 50 多种语言的紧凑型语音合成器。
espeak-ng - eSpeak 的分支(由于原始维护者不活动)。
orca — 使用 eSpeak(通过 Speech Dispatcher)为盲人或视障人士提供的屏幕阅读器。
flite - 轻量级语音合成引擎。
kmouth — 语音合成器前端,使无法说话的人可以让他们的计算机说话。
speech-dispatcher - 语音合成的通用接口。它有 eSpeak、Festival 和其他一些语音合成器的后端。
5.2 包含/usr/bin/命令
espeak : espeak
espeak-ng : espeak-ng
espeak-ng : speak-ng
orca : orca
flite : flite
flite : flite_cmu_us_kal16
flite : flite_cmu_us_slt
kmouth : kmouth GUI图形界面
speech-dispatcher : spd-conf
speech-dispatcher : spd-say
speech-dispatcher : spdsend
speech-dispatcher : speech-dispatcher
speech-dispatcher usr/lib/systemd/system/speech-dispatcherd.service