如何使用SAPI 5控制第三方文本到语音的声音?

时间:2017-07-16 15:21:16

标签: c# windows text-to-speech sapi

Windows包含可让您控制TTS语音的SAPI 5 API。但是我正在使用Acapela Peter并且它没有出现在窗口TTS对话框中。因此,我无法将此语音与典型的.NET API一起使用(例如此codeproject app)。然而,这个文本文件附带的语音:VoiceDescriptions.txt,它似乎是我可以提供给SAPI引擎的变量,以帮助它检测这个声音。所以我的问题是:如何使用此语音元数据来生成SAPI语音?我用语音安装了所有引用的文件。我找到了SpVoice Win API,但没有提到从文本加载元数据的任何方法。

[LANG,British]
@=eng.tml
PHOTREE=eng.trx
PROSO=eng.oso
F0=eng.f0r
DICTIONARY=eng.bab.dca
LDI=eng.bab.ldi
BNF=eng.bnx
BNFNOTAG=eng.notag.bnx
POST=eng.pst
GRI=eng.gri
GRO=eng.gro
SPD=180
Language=British
Info=eng.nfo


[VOICE,Peter22k,British,British]
Base=Peter22k.nuul
Coeff=Peter22k.coef
Database=Peter22k.vco
Info=Peter22k.nfo
Pitch=110
Speed=100
Freq=22050

1 个答案:

答案 0 :(得分:2)

看起来Acapela有一个separate product,它增加了一个SAPI接口层。

如果您想自己滚动它,可以SAPI engine interface写入Acapela TTS引擎,但这是一项重大任务(可能需要2-3个月才能创建) )。