本帖最后由 琪诺兔 于 2020-6-26 23:20 编辑
【Qn机读文本TTS SAPI.SpVoice和科大讯飞5.0模块】 【文本转语音 语音朗读 带标记回调 中文简单易懂易用带例程】 【告!科大讯飞5.0依附于STTSApi.dll和iFlyTTS.dll】 如模块无法使用请下载相应修复工具【winXP TTS补丁https://lanzoux.com/iczj19g】工具源于网络不保证绝对安全 如模块无法使用请下载相应修复工具【win7 TTS补丁 https://lanzoux.com/iczj1da】工具源于网络不保证绝对安全 【以下是使用例程】 请按照以下窗口创建组件 写下以下代码 窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集1 | | | 变量名 | 类 型 | 数组 | 备 注 | 机读文本 | Qn机读文本 | | 语音库 | 文本型 | 0 | 讯飞5 | Qn讯飞5机读 | | TTS | 逻辑型 | |
机读文本. 创建 () 机读文本. 列举库 (语音库 ) 调试输出 (语音库 )TTS = 真 如果真 (取反 (讯飞5. 创建 ()) )信息框 (“错误码:” + 到文本 (讯飞5. 取错误 ()), #错误图标, “讯飞5无法初始化”, )计次循环首 (机读文本. 取人数 (), i )TTS音库列表. 加入项目 (语音库 [i ], ) 计次循环尾 ()|
回调函数 | | | |
是否完成 | 逻辑型 | | | | 朗读位置 | 整数型 | | | | 朗读长度 | 整数型 | | | | 如果真 (是否完成 = 假)编辑框.起始选择位置 = 朗读位置 编辑框.被选择字符数 = 朗读长度 启动线程 (&到文件线程, , ) 如果 (TTS )机读文本. 到文件 (编辑框.内容, TTS音库列表. 取项目文本 (TTS音库列表.现行选中项 ), 取运行目录 () + “\测试.wav”)句柄 = 0 句柄 = 讯飞5. 连接 (, ) 讯飞5. 置音量 (句柄, ) 讯飞5. 置语速 (句柄, ) 讯飞5. 置声调 (句柄, ) 讯飞5. 置音库 (句柄, 多项选择 (讯飞5音库列表.现行选中项 + 1, #讯飞5_发音人_女_小燕_中普, #讯飞5_发音人_女_小美_中英粤, #讯飞5_发音人_男_小宇_中普, #讯飞5_发音人_女_Sherri_英文, #讯飞5_发音人_女_小倩_中普, #讯飞5_发音人_女_小琳_台普 )) 讯飞5. 导出_字符串 (句柄, 编辑框.内容, 取运行目录 () + “\测试.wav”)如果真 (句柄 ≠ 0 )讯飞5. 断开 (句柄 )机读文本. 继续 () 机读文本. 停止 () 讯飞5. 停止 () 如果 (TTS ) 机读文本. 置音量 (音量.位置 ) 机读文本. 置语速 (语速.位置 - 10 ) 机读文本. 朗读 (机读文本. 置声调 (编辑框.内容, 语调.位置 - 10 )) 启动线程 (&回调线程, , ) 句柄 = 0 句柄 = 讯飞5. 连接 (, ) 讯飞5. 置音量 (句柄, ) 讯飞5. 置语速 (句柄, ) 讯飞5. 置声调 (句柄, ) 讯飞5. 置音库 (句柄, 多项选择 (讯飞5音库列表.现行选中项 + 1, #讯飞5_发音人_女_小燕_中普, #讯飞5_发音人_女_小美_中英粤, #讯飞5_发音人_男_小宇_中普, #讯飞5_发音人_女_Sherri_英文, #讯飞5_发音人_女_小倩_中普, #讯飞5_发音人_女_小琳_台普 )) 讯飞5. 朗读_字符串 (句柄, 编辑框.内容, 假) 如果真 (句柄 ≠ 0 ) 讯飞5. 断开 (句柄 ) 机读文本. 回调 (&回调函数 ) 机读文本. 暂停 () 机读文本. 继续 () 如果 (TTS ) 机读文本. 停止 ()讯飞5. 停止 ()讯飞5音库列表.现行选中项 = -1 机读文本. 置音库 (TTS音库列表. 取项目文本 (TTS音库列表.现行选中项 )) TTS = 真 TTS音库列表.现行选中项 = -1 TTS = 假 |