码迷,mamicode.com
首页 > 其他好文 > 详细

Festival

时间:2021-07-02 15:35:29      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:fine   phone   usr   test   轻量   ble   send   efault   core dump   

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

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
 

Festival

标签:fine   phone   usr   test   轻量   ble   send   efault   core dump   

原文地址:https://www.cnblogs.com/sztom/p/14960473.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!