Windows 包含 SAPI 5 API,可让您控制 TTS 语音。但是我使用的是 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
最佳答案
看起来 Acapela 有一个 separate product添加了一个 SAPI 接口(interface)层。
如果你想自己滚动它,你可以写一个SAPI engine interface到 Acapela TTS 引擎,但这是一项艰巨的任务(可能需要 2-3 个月的开发时间来创建)。
关于c# - 如何使用SAPI 5控制第三方文字转语音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45130207/