c# - 如何使用SAPI 5控制第三方文字转语音?

标签 c# windows text-to-speech sapi

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/

相关文章:

c# - 根据条件和发生将集合拆分为对象

c# - 为什么这个错误没有被捕获?

windows - 如何在 Windows 中拆分大文本文件?

c++ - 在 Ubuntu(Netbeans) 和 Windows(Visual Studio 2012) 中编译相同的 C++ 代码

text-to-speech - 任何免费的浏览器文本到语音转换?

android - TTS 的默认音频流是什么?

c# - 在查询中将 DateTime.Ticks 转换为 MySQL DateTime

c# - ReadLine() 关闭我的控制台

windows - 批处理文件在 FOR 循环中处理带有特殊字符和引号的字符串

javascript - window.speechSynthesis.speak 不会说话,除非没有其他命令不完整