Skip to main content

使用发声引擎(TTS)festival和espeak感受



闲来无事,在Archlinx下装了stardict发现有个喇叭图标可以用来朗读单词,但是点击无声,原来stardict使用festival --tts朗读单词,于是安装了festival,stardict终于可以发生了,然而festival貌似只有男声,而且不能朗读中文。festival朗读文件使用命令:

(附Archlinux下安装使用pacman -S festival espeak)

festival --tts 文件名

在网上搜索了一下发现espeak可以朗读中文,安装了espeak,espeak使用方法:

朗读句子:

espeak -vzh “hello world”
espeak -vzh “你好”

其中-vzh是汉语支持

朗读文件:

espeak -vzh+m2 -s 100 -f 文件名

其中+m2是使用第二种男声发音,类似的+f2是使用第二种女声发音,-s是语速

festival发生中规中距,个人感觉比espeak要流畅,不过espeak可以支持中文,但是听起来怪怪的。

在网上搜了一个,使用espeak发声的c语言例子,贴上来,有空试试看

code:
#include // 包括espeak的头文件
#include
#include

int main(int argc, char **argv)
{
char word[] = "微软的windows是大坏蛋";
espeak_Initialize(AUDIO_OUTPUT_PLAYBACK, 0, NULL, 0); // 初始化
espeak_SetVoiceByName("zh+f2"); // 设置音源为中文女声
espeak_Synth(word, strlen(word) + 1, 0, POS_CHARACTER, 0,
espeakCHARS_UTF8, NULL, NULL); // 发音,这里使用的是UTF8编码,我的系统用的是GB2312编码,中文发声混乱(说点微软的坏话还真难阿),改天把系统编码改成UTF8再试试看
sleep(3); // 等一段时间,否则程序会立即退出,听不到发音,时间一定要足够长,不然读到一半程序就退出了
espeak_Terminate(); // 回收资源
}

编译采用:g++ test1.c -o test1 -lespeak


Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...