YStudio Y++

语音类

Y++ / YStudio 开发文档 · 一点滴

扩展类库。写 语音类 voice 即可(Windows SAPI)。

快速开始

语音类 voice
voice.置音量(90)
voice.置语速(0)
如果 (voice.朗读("你好,YStudio") == 假) {
    输出(voice.取最后错误())
}
voice.等待朗读结束()

同步 / 暂停

voice.同步朗读("说完再往下执行")
voice.朗读("可暂停")
voice.暂停朗读()
voice.继续朗读()
如果 (voice.是否朗读中()) {
    voice.等待朗读结束(5000)
}

SAPI XML 标记

voice.同步朗读标记("<rate speed=\"5\">快点说</rate><silence msec=\"200\"/>你好")

存 WAV

语音类 voice
voice.置WAV采样率(16000)
voice.保存到文件("导出测试", "C:\\out.wav")
字节集 wav = voice.保存到字节集("导出到内存")
输出(字节集长度(wav))

采样率允许:8000 / 11025 / 16000 / 22050(默认)/ 44100 / 48000。

方法

方法 返回 说明
朗读(内容) 逻辑 异步朗读
同步朗读(内容) 逻辑 同步朗读
朗读标记(内容) 逻辑 异步,按 SAPI XML
同步朗读标记(内容) 逻辑 同步,按 SAPI XML
停止朗读() 逻辑 停止
暂停朗读() / 继续朗读() 逻辑 暂停 / 继续
是否朗读中() 逻辑 SAPI RunningState
等待朗读结束([超时毫秒=-1]) 逻辑 省略或 -1 一直等
置语速 / 取语速 逻辑/整数 -10..10
置音量 / 取音量 逻辑/整数 0..100
置嗓音 / 取嗓音 逻辑/文本 按名称片段匹配;空=默认
枚举嗓音() 文本 换行分隔
置WAV采样率 / 取WAV采样率 逻辑/整数 保存 WAV 时生效
保存到文件(内容, 路径) 逻辑 同步写 WAV
保存到字节集(内容) 字节集 同步写 WAV 到内存
取最后错误() 文本

本机需安装 TTS 嗓音(设置 → 时间和语言 → 语音)。

关于 MP3

语音类本身不内置 MP3 编码器(专利/授权与体积)。WAV 已够用;若需要 MP3/AAC 等,宜另做「音频转换」支持库(WIC/Media Foundation 或小型静态编码器如 LAME/shine),与朗读能力拆分。