gpt4 book ai didi

c++ - 如何使用 espeak API 枚举可用的语音和语言?

转载 作者:行者123 更新时间:2023-11-28 06:21:01 24 4
gpt4 key购买 nike

我正在使用 espeak来自 C++API 从我的嵌入式应用程序中进行一些简单的文本到语音合成。目前,我已经从关于如何开始的基本示例中复制了这一行:

espeak_SetVoiceByName("default"); 

这似乎工作正常,但我知道 espeak 带有几种不同语言的几种声音。我如何使用 espeak API枚举这些然后选择它们?

最佳答案

espeak API 的文档就是头文件本身。你可以找到它here .

要枚举现有的声音,你可以使用这样的东西:

const espeak_VOICE **list=espeak_ListVoices(0);
espeak_VOICE *voice=0;
for(;*list!=0;++list){
voice=*list;
if(0!=voice){
//Look at voice parameters such has voice->name here
}
}

稍后当您找到要使用的声音时,您可以这样设置:

if(0!=voice){
espeak_SetVoiceByProperties(voice);
}

espeak_VOICE 结构定义如下:

typedef struct {
const char *name; // a given name for this voice. UTF8 string.
const char *languages; // list of pairs of (byte) priority + (string) language (and dialect qualifier)
const char *identifier; // the filename for this voice within espeak-data/voices
unsigned char gender; // 0=none 1=male, 2=female,
unsigned char age; // 0=not specified, or age in years
unsigned char variant; // only used when passed as a parameter to espeak_SetVoiceByProperties
unsigned char xx1; // for internal use
int score; // for internal use
void *spare; // for internal use
} espeak_VOICE;

关于c++ - 如何使用 espeak API 枚举可用的语音和语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29322767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com