争渡读屏语音开放接口是将争渡读屏使用的语音接口开放出来,从而可以让用户根据自己的喜好来开发自己的语音插件。
通过争渡读屏语音开放接口,用户可将自己喜欢的语音库作出插件从而供争渡读屏调用。
争渡读屏语音开放接口只有接口定义,不包含具体实现。争渡读屏(https://www.zdsr.com/)不对第三方语音插件做任何保证。
根据争渡读屏语音开放接口编写出的插件应为32位 dll 文件,路径为
{pf}\zdsr\common\opentts\{pluginname}\{pluginname}.dll
备注: opentts
目录下要求存在 pluginname
文件夹,并且该文件夹内存在 pluginname.dll
文件,该插件才会被加载。
- 名称: 争渡读屏语音开放接口(ZDOpenTTSAPI)
- 版本: 2
需要实现的方法如下:
1.获取本接口信息
int WINAPI GetOpenTTSInfo(int* pReserved1, int* pReserved2, int* pReserved3)
参数:
[out] int* pReserved1: 保留参数暂不使用
[out] int* pReserved2: 保留参数暂不使用
[out] int* pReserved3: 保留参数暂不使用
返回值:
int: 本接口实现的版本号
2.初始化语音接口
BOOL WINAPI Initial()
返回值:
FALSE:失败
TRUE:成功
3.获取角色数量
int WINAPI GetVoiceCount()
返回值:
int: 角色数量
4.获取指定角色的名称
void WINAPI GetVoiceName(int vid, WCHAR* voiceName)
参数:
[in] int vid: 角色序号
[out] WCHAR* voiceName: 返回角色名称,Unicode
返回值: void
5.设置响应速度
void WINAPI SetResponseSpeed(int value)
参数:
[in] int value: 响应 0-100
返回值: void
备注:不支持时,实现空函数
6.设置语音引擎参数
void SetParam(int type,int value)
参数:
[in] int type : 参数类型 0: 角色序号, 1: 语速, 2: 音量, 3: 音高, 4: 声卡, 5: 数字读法, 6: 音量放大, 7: 语速加倍, 8: 音色
[in] int value: 值 角色序号0-N;语速,音量,音高均为0--100;声卡0-N;数字读法0-1;音量放大,语速加倍,音色均为0-100;
返回值: void
备注:不支持的参数实现时可忽略
7.获取朗读状态
BOOL WINAPI IsSpeaking()
返回值:
TRUE 正在朗读
FALSE 停止朗读
8.获取是否引擎控制数字读法
BOOL WINAPI IsControlNumricType()
返回值:
TRUE 支持数字数值读法控制
FALSE 不支持数字数值读法控制
9.朗读文本
void WINAPI Speak(WCHAR* text, int pitch)
参数:
[in] WCHAR* text: 要朗读的文本,Unicode
[in] int pitch: -1 使用设置的音高朗读; 0-100 使用该音高进行朗读
返回值: void
10.停止朗读
void WINAPI Stop()
返回值: void
11.暂停朗读
void WINAPI Pause()
返回值: void
备注: 如不实现则必须提供空函数
12.恢复朗读
void WINAPI Resume()
返回值: void
备注: 如不实现则必须提供空函数
13.获取音频采样位数和采样率
int WINAPI GetAudioFormat(int* pBitsPerSample)
参数:
[out] int* pBitsPerSample 返回音频的采样位数
返回值: int 采样率 不支持文本转音频数据时, 返回0
14.获取对指定文本返回合成的音频数据
int WINAPI TextToAudio(WCHAR* text, int* ptr)
参数:
[in] WCHAR* text 要合成的文本,Unicode
[out] int* ptr 音频short数组的地址
返回值: int 音频short数组的长度
备注:不支持文本转音频数据时,实现空函数
15.打开引擎设置
void WINAPI OpenSettings()
返回值: void
16.释放语音接口
void WINAPI UnInitial()
返回值: void
17.额外配置
争渡读屏在送入语音接口朗读之前,会对文本做必要的格式化处理,如果争渡读屏对文本的处理会影响到插件语音的朗读效果,则可以使用该配置文件来进行修正。
- 约定的配置文件名称为:
{pluginname}.ini
- 存放到插件所在目录
- 必须保存为Unicode(UTF-16LE)格式
参考格式如下:
[Settings]
novocalchar= ;替换发音字符,缺省为空格
filterchars= ;读屏标点方案设置为不发音,而该引擎会发音的标点符号串