版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、语音合成开发包SDK V4.10产品使用手册北京炎黄新星网络科技有限公司前 言“炎黄之声”(SINOSONIC)语音合成技术,可以将文本转换为自然、流畅的语音进行输出。“炎黄之声”(SINOSONIC)是炎黄新星具有世界领先水平并拥有自主知识产权的核心技术。它依托于清华大学“人机交互与媒体集成研究所”20余年的研究成果,采用最先进的语音算法,在国内外语音会议上屡获殊荣。“炎黄之声”(SINOSONIC)采用了目前世界最先进的数据驱动技术,使用精心设计的语音语料库进行录音,得到的系统体现了流畅、自然的语言特性,发音效果自然、亲切,用户乐于接受。“炎黄之声”(SINOSONIC)在国内首次运用“基
2、于神经网络的韵律模型”,使系统具有智能化的学习功能,能够自动记忆、自我培训,灵活进行语音、语调的选择,让系统能够逐渐模拟人的发音效果。“炎黄之声”(SINOSONIC)是国内唯一一家获得国家级发明专利的语音合成技术,“让电脑说中国话,用中国人自己的专利”是整个研发团队不懈的追求!“炎黄之声”(SINOSONIC)作为世界级的语音合成技术,运用了最先进的语音算法和模型,其核心技术包括:基于神经网络的韵律模型、基于HMM的语音切分和选取模型、基于HMM的多语种文本分析和语义分析、中英文语料库设计和标注、语音分析工具的研制等。目 录 TOC o 1-3 h z HYPERLINK l _Toc460
3、52999 前 言 PAGEREF _Toc46052999 h 1 HYPERLINK l _Toc46053000 第一章 产品介绍 PAGEREF _Toc46053000 h 4 HYPERLINK l _Toc46053001 1.1产品功能 PAGEREF _Toc46053001 h 4 HYPERLINK l _Toc46053002 1.2产品特点 PAGEREF _Toc46053002 h 4 HYPERLINK l _Toc46053003 1.3产品应用 PAGEREF _Toc46053003 h 4 HYPERLINK l _Toc46053004 第二章 产品安
4、装及卸载 PAGEREF _Toc46053004 h 6 HYPERLINK l _Toc46053005 2.1运行环境 PAGEREF _Toc46053005 h 6 HYPERLINK l _Toc46053006 2.2安装过程 PAGEREF _Toc46053006 h 6 HYPERLINK l _Toc46053007 2.3卸载过程 PAGEREF _Toc46053007 h 10 HYPERLINK l _Toc46053008 第三章 目录结构及文件说明 PAGEREF _Toc46053008 h 17 HYPERLINK l _Toc46053009 3.1目录
5、结构 PAGEREF _Toc46053009 h 17 HYPERLINK l _Toc46053010 3.2文件说明 PAGEREF _Toc46053010 h 17 HYPERLINK l _Toc46053011 第四章 函数使用说明 PAGEREF _Toc46053011 h 18 HYPERLINK l _Toc46053012 4.1函数列表 PAGEREF _Toc46053012 h 18 HYPERLINK l _Toc46053013 4.2 ttsInit PAGEREF _Toc46053013 h 19 HYPERLINK l _Toc46053014 4.3
6、 ttsClose PAGEREF _Toc46053014 h 19 HYPERLINK l _Toc46053015 4.4 ttslogon PAGEREF _Toc46053015 h 19 HYPERLINK l _Toc46053016 4.5 ttslogdown PAGEREF _Toc46053016 h 20 HYPERLINK l _Toc46053017 4.6 ttsPlay PAGEREF _Toc46053017 h 20 HYPERLINK l _Toc46053018 4.7 ttsGenderSet PAGEREF _Toc46053018 h 23 HYP
7、ERLINK l _Toc46053019 4.8 ttsGenderGet PAGEREF _Toc46053019 h 23 HYPERLINK l _Toc46053020 4.9 ttsSpeedSet PAGEREF _Toc46053020 h 24 HYPERLINK l _Toc46053021 4.10 ttsSpeedGet PAGEREF _Toc46053021 h 24 HYPERLINK l _Toc46053022 4.11 cttsPitchSet PAGEREF _Toc46053022 h 25 HYPERLINK l _Toc46053023 4.12 c
8、ttsPitchGet PAGEREF _Toc46053023 h 25 HYPERLINK l _Toc46053024 4.13 cttsSpeedSet PAGEREF _Toc46053024 h 26 HYPERLINK l _Toc46053025 4.14 cttsSpeedGet PAGEREF _Toc46053025 h 26 HYPERLINK l _Toc46053026 4.15 ettsSpeedSet PAGEREF _Toc46053026 h 26 HYPERLINK l _Toc46053027 4.16 ettsSpeedGet PAGEREF _Toc
9、46053027 h 27 HYPERLINK l _Toc46053028 4.17 ttsGBorBig5 PAGEREF _Toc46053028 h 27 HYPERLINK l _Toc46053029 4.18 ttsLanguageSet PAGEREF _Toc46053029 h 28 HYPERLINK l _Toc46053030 4.19 ttsLanguageGet PAGEREF _Toc46053030 h 29 HYPERLINK l _Toc46053031 4.20 ttsParamSet PAGEREF _Toc46053031 h 29 HYPERLIN
10、K l _Toc46053032 4.21 ttsParamGet PAGEREF _Toc46053032 h 30 HYPERLINK l _Toc46053033 4.22 ttsChangeWaveFmt PAGEREF _Toc46053033 h 30 HYPERLINK l _Toc46053034 4.23 ttsPcmToWave PAGEREF _Toc46053034 h 31 HYPERLINK l _Toc46053035 4.24 ttspcmtoalaw PAGEREF _Toc46053035 h 31 HYPERLINK l _Toc46053036 4.25
11、 ttspcmtoulaw PAGEREF _Toc46053036 h 32 HYPERLINK l _Toc46053037 4.26 ttspcm16to8 PAGEREF _Toc46053037 h 32 HYPERLINK l _Toc46053038 4.27 ttspcm8to16 PAGEREF _Toc46053038 h 33 HYPERLINK l _Toc46053039 4.28 ConvertToVox8 PAGEREF _Toc46053039 h 33 HYPERLINK l _Toc46053040 4.29 ConvertToVox PAGEREF _To
12、c46053040 h 34 HYPERLINK l _Toc46053041 4.30 ttsWriteToFile PAGEREF _Toc46053041 h 35 HYPERLINK l _Toc46053042 4.31 ttsWriteToFileEx PAGEREF _Toc46053042 h 35 HYPERLINK l _Toc46053043 第五章 UserMan.exe使用说明 PAGEREF _Toc46053043 h 37 HYPERLINK l _Toc46053044 5.1添加汉字单词 PAGEREF _Toc46053044 h 37 HYPERLINK
13、 l _Toc46053045 5.2修改汉字单词 PAGEREF _Toc46053045 h 38 HYPERLINK l _Toc46053046 5.3删除汉字单词 PAGEREF _Toc46053046 h 39 HYPERLINK l _Toc46053047 5.4排序汉字单词 PAGEREF _Toc46053047 h 39 HYPERLINK l _Toc46053048 5.5添加英文字符串 PAGEREF _Toc46053048 h 39 HYPERLINK l _Toc46053049 5.6修改英文字符串 PAGEREF _Toc46053049 h 40 HY
14、PERLINK l _Toc46053050 5.7删除英文字符串 PAGEREF _Toc46053050 h 41 HYPERLINK l _Toc46053051 5.8排序英文字符串 PAGEREF _Toc46053051 h 41 HYPERLINK l _Toc46053052 5.9重新装入用户词典 PAGEREF _Toc46053052 h 41 HYPERLINK l _Toc46053053 5.10保存用户词典 PAGEREF _Toc46053053 h 41 HYPERLINK l _Toc46053054 5.11问题解答 PAGEREF _Toc4605305
15、4 h 42 HYPERLINK l _Toc46053055 第六章 范例 PAGEREF _Toc46053055 h 43 HYPERLINK l _Toc46053056 联系方式 PAGEREF _Toc46053056 h 44第一章 产品介绍语音合成开发包,充分运用“炎黄之声”语音合成技术,为系统集成商、软件开发商提供了完备的接口函数和编程实例,使用户能够灵活的进行调用,并集成到其它应用系统中。目前,炎黄新星已经成功推出了SDK V1.0、SDK V2.0、SDK V2.1、SDK V3.0、SDK V3.2、SDK V4.1等多个版本,其中SDK V1.0成功嵌入在汉王公司的产
16、品中,目前使用用户已经达到百万户。语音合成开发包SDKV4.1是炎黄新星最新推出的产品,它与其它几个版本相比,在产品特点、功能、性能方面产生了质的飞跃。1.1产品功能系统可提供连续的、高自然度和高清晰的合成语音。内嵌具有自主版权的连续英文语音合成系统。自动识别并处理GB、GBK和BIG5字符集。能正确处理汉语中的标点、数字、运算符等。支持计算机内置声卡及多种电话语音卡。提供标准的程序函数接口,可方便地进行二次开发。提供放音时暂停、恢复、终止等各项操作接口。提供语音字典维护功能,用户可根据实际情况添加、删除、更改词库中某些词或特殊字符的发音。炎黄英文或微软英文用户可自选。1.2产品特点国内首家采
17、用神经网络韵律模型,使系统具有自我学习、自我培训的智能功能,选音准确度大大提高。采用长句录音,语言的自然度得到了提高。音库采用中央广播电台的主任级播音员录音。接口API支持多线程开发,大大提高系统运行效率。中英文语音合成系统都具有自主版权,中英文混读效果好。1.3产品应用SinoSonic SDK Version 4.1语音合成开发包的应用可包括:自动声讯专利查询证券代理电话银行CALL CENTERInternet信息的有声传送第二章 产品安装及卸载运行环境主机处理器:PIII500及以上主机内存:256MB操作系统:Windows9x、WindowsNT4.x、Windows20002.2
18、安装过程不同Windows环境下的安装方式大致相似:第一步:将安装光盘放入光驱内,软件会自动运行光盘中的安装程序,安装程序启动后会出现炎黄之声SDK V4.1语音合成系统的安装界面,如下图如不能自启动,请运行光盘中的setup.exe程序。第二步:点击“下一步”按钮,进入安装许可协议界面。点击“是”进入输入注册信息界面输入产品的序列号,该序列号可以在安装光盘的SN.TXT文件中找到。输入完序列号,点击“下一步”进入选择安装路径界面。选择完安装路径后,点击“下一步”进入选择安装类型界面。选择完安装类型,点击“下一步”进入选择安装程序文件夹界面。输入新的文件夹名称,也可以使用系统默认文件名,点击“
19、下一步”按钮开始拷贝文件,拷贝完文件后,出现安装完成页面。点击“完成”按钮,安装完成。注意: 如在 Windows NT 环境下用户必须具备 Administrator 的使用权限, 安装完毕后必须重新启动系统.第三步:安装软件狗A、首先关闭计算机。B、然后将软件狗(有并口和USB口两种)插在并口或USB口上。C、启动计算机。注意:在Windows NT环境中一定要以Administrator身份进入系统。D、如果是第一次安装USB硬件,系统会提示查找到新硬件, 并自动安装对新硬件的驱动。安装光盘中带有USB硬件的驱动程序。2.3卸载过程卸载顺序:首先卸载软件狗,然后卸载USB驱动程序,最后卸
20、载“炎黄之声SDKV4.1正式版”软件。一、Windows2000下的卸载方法:第一步:卸载软件狗驱动程序:点击Windows“开始”菜单中的“运行”。在运行窗口中输入s3_inst.exe /u命令行,点击“确认”按钮即可。注: 如在 Windows NT 环境下用户必须具备 Administrator 的使用权限, 卸载完毕后也需要重新启动系统. 第二步: 卸载USB驱动程序:打开“开始菜单设置控制面板”页面。双击“添加/删除硬件”图标。然后根据提示单击下一步。在“选择您想卸载的设备”中,选中“USB Root Hub”。点击“下一步”按钮,进入确认卸载界面。选择“是,想卸载此设备(Y)”
21、,点击“下一步”按钮完成卸载。第三步:卸载炎黄之声SDKV4.1正式版程序:打开“开始菜单设置控制面板”页面。双击“添加/删除程序”图标。找到并选中“炎黄之声SDKV4.1正式版”,点击选中栏中右下方会的“更改/删除”按钮,进入炎黄之声SDKV4.1正式版安装维护程序界面。选中“删除”项,点击“下一步”按钮,进入确认删除界面。点击“确认”按钮卸载完成。二、Windows98下的卸载方法:第一步:卸载软件狗驱动程序:点击Windows“开始”菜单中的“运行”。在运行窗口中输入s3_inst.exe /u命令行,点击“确认”按钮即可。第二步: 卸载USB驱动程序:开始菜单设置控制面板双击“系统”。
22、选择“设备管理器”Tab,在列表框中选中“通用串行总线控制器”下的“USB Root Hub”,单击“删除”按钮。然后根据提示卸载即可。第三步:卸载炎黄之声SDKV4.1正式版程序:开始菜单设置控制面板双击“添加/删除程序”选择“安装/卸载”Tab,在列表框中选中“炎黄之声SDKV4.1正式版”,单击“添加/删除”按钮。第三章 目录结构及文件说明3.1目录结构 Data: 该目录中放置的是软件所需的音库和词库内容和UserMan.exe。 Bin: 该目录中放置的是TTS所需的动态链接库和SSPlay.exe(语音合成演示程序)。 SDK_Demo : 该目录下放置的是接口API使用的例子程序
23、。 Help : 该目录下放置的是帮助文件。 Driver: 该目录下放置的是软件狗的驱动。3.2文件说明 UserMan.exe 是用来编写用户词典的,可以扩大TTS合成系统的词库量。具体帮助请看 BinUSERMAN.HLP. SSPlay.exe 是用来检查合成效果的测试程序。 本软件共提供一套API开发接口: TTS SDK API接口,用来开发合成系统。例子程序在 SDK_Demo中, 需要SDK_Demoectts.h和SDK_Demoectts.lib两个文件。 API的使用帮助请见 HelpSINOSONIC_SDK_V4.10用户手册.doc。第四章 函数使用说明4.1函数列
24、表本软件包包括如下接口函数:ttsInit初始化TTS合成系统。ttsClose关闭TTS合成系统。ttslogon 创建语音合成的线程环境。ttslogdown 关闭语音合成的线程环境。ttsPlay将文本合成语音数据。ttsGenderSet设置TTS合成系统说话人的性别。ttsGenderGet获得TTS合成系统说话人的性别。ttsSpeedSet设置TTS合成系统语速。ttsSpeedGet获得TTS合成系统语速。cttsPitchSet设置汉语TTS合成系统音调。cttsPitchGet获得汉语TTS合成系统音调。cttsSpeedSet设置汉语TTS合成系统语速。cttsSpeed
25、Get获得汉语TTS合成系统语速。ettsSpeedSet设置英语TTS合成系统语速。ettsSpeedGet获得英语TTS合成系统语速。ttsGBorBig5汉字编码识别。ttsLanguageSet设置BIG5码和国标码。ttsLanguageGet获得编码设置。ttsParamSet设置文本读法格式参数。ttsParamGet获得文本读法格式参数。ttsChangeWaveFmt转换语音数据格式。ttsPcmToWavePCM数据转成WAV数据。ttspcmtoalawPCM数据转成A-law数据。ttspcmtoulawPCM数据转成U-law数据。ttspcm16to816位PCM数
26、据转成8位PCM数据。ttspcm8to168位PCM数据转成16位PCM数据。ConvertToVox8将PCM格式语音数据转换成Vox(8000采样率)格式。ConvertToVox将PCM格式语音数据转换成Vox格式。ttsWriteToFile将缓存中的语音数据写入文件。ttsWriteToFileEx将缓存中的语音数据写入到文件,函数内部进行数据格式的变换。4.2 ttsInit初始化TTS合成系统。语法:BOOL WINAPI ttsInit(char * strDataPath,BOOL bReadIntoMem);参数:strDataPath合成系统数据文件路径。bReadIn
27、toMem音库是否读入内存,TRUE读入;FALSE不读入。返回值:成功返回TRUE,否则返回FALSE。注释:使用语音合成系统时,必须先调用本函数初始化系统,退出时应调用关闭函数。范例:参见ttsPlay。4.3 ttsClose关闭TTS合成系统。语法:BOOL WINAPI ttsClose();参数:无。返回值:成功返回TRUE;否则返回FALSE。注释:使用语音合成系统时,必须先调用初始化函数,退出时应调用本函数。范例:参见ttsPlay。4.4 ttslogon创建语音合成的线程环境。 语法:int WINAPI ttslogon(); 参数: 无。 返回值:返回的是线程环境描述符
28、,正常返回大于等于0的整数,返回-1为失败。 注释:在正确执行ttsInit函数后调用此函数,ttsPlay等函数必须在线程环境中运行,也就是说只有成功调用此函数后才能调用ttsPlay等函数。 范例:参见ttsPlay。4.5 ttslogdown关闭语音合成的线程环境。 语法:BOOL WINAPI ttslogdown(int *cid); 参数:cid线程环境描述符指针。 返回值:正常返回为TRUE,失败为FALSE。 注释:当线程调用结束后,必须调用这个函数来释放为合成分配的线程环境资源。 范例:参见ttsPlay。4.6 ttsPlay将文本合成语音数据。语法:char * WIN
29、API ttsPlay(char * pStrText, TWAVEPARAM * pWaveParam, TTXTPARAM * pTxtParam, TTHPARAM * pTHParam, TCTRLPARAM * pCtrlParam,int * cid);参数:pStrText待合成文本。pWaveParam合成语音数据参数,返回合成的语音数据。参数结构:typedef struct waveParamchar *pData;输入:合成语音数据缓存指针。unsigned long nLength;输入:缓存大小;返回:语音数据实际长度(单位:Byte字节)。intnSamplesPe
30、rSec;返回:语音数据采样率(单位:Hz赫兹)。intnBitsPerSample;返回:语音数据量化精度(单位:Bit位)。TWAVEPARAM, * PWAVEPARAM;pTxtParam返回拼音信息和切分的文本信息。一般用户可设成NULL。参数结构:typedef struct txtParamchar *pPinyin;返回的拼音信息。char *pSepText;返回的文本切分信息。TTXTPARAM, * PTXTPARAM;pTHParam返回TalkingHead参数,用于说话人人脸的合成。一般用户可设成NULL。参数结构:typedef struct thParamcha
31、r *pPinyin;返回的拼音信息。Int *pPauses;返回每个音节前的停顿时长(单位:ms毫秒)。Int *pDurations;返回每个音节的时长信息(单位:ms毫秒)。intnSyllNumber;返回音节个数。TTHPARAM, * PTHPARAM;pCtrlParam上下文控制参数,用于判断是否使用英文,是否句首,句尾只需设定初始值,之后由程序自动设定。参数结构:typedef struct ctrlParamBOOLbEnglish;当前文本中英文状态。TRUE为英文,FALSE为中文。BOOLbForced;与bEnglish结合使用,TRUE强制,FALSE自动分析。
32、BOOLbStart;是否句首,TRUE为句首。BOOLbEnd;是否句尾,TRUE为句尾。TCTRLPARAM, * PCTRLPARAM; cid线程环境描述符指针。返回值:下次需要合成的文本位置,如果文本处理完毕则指向结尾的“0”。注释:其中pStrText,pCtrlParam,PWaveParam不能为空。pTxtParam,pTHParam 相互独立,而且可以为NULL,当其为NULL时,则不返回该参数。bEnglish、bForced两参数联合使用,其值决定了遇到对于某些可以按照中文阅读也可以按照英文阅读的情况(比如:英文大写字母、英文缩略语等)时是使用汉语发音还是转换到英文合成
33、系统。注意:所有的缓冲区空间,必须在外部分配。ttsPlay必须在某个线程环境中执行,因此必须先执行ttslogon函数。TtsPlay调用返回是按句进行的,所以需要反复调用。注意调用ttsPlay,TWAVEPARAM.nLength是输出的语音数据长度,故循环调用时该参数需要重新赋值。生成的语音数据是16000Hz、16Bits的PCM数据。本版本英文支持炎黄英文,也可以使用微软英文,有关微软英文的安装参见有关手册,本版本支持微软SAPI5.1版本。选择使用哪个英文系统,在Datayh_set.ini中设置,出厂默认使用炎黄英文,如果是微软英文,修改Datayh_set.ini中有关内容。
34、如:最后一行“CurrentGroup= YanHuang”使用炎黄英文。如:最后一行“CurrentGroup= Microsoft_woman”使用微软SAPI5.1的Mary语音。范例:/TTS API定义#inclue “ectts.h” /系统初始化。ttsInit(“Data”,0);/系统音库所在路径:“Data”;/指示音库不装入内存中。 /以下是线程处理 /以下代码为某个用户线程中的线程代码int cid = ttslogon();/创建语音合成的线程环境。ttsGenderSet(FALSE,&cid);/合成系统设置为女声。ttsSpeedSet(4, &cid);/合成
35、系统设置为正常语速。Char * buff = (char *)malloc(1024*1024);/合成参数设置TWAVEPARAM twave;Twave.pData = buff;/语音数据缓存指针。/文本参数设置TCTRLPARAM tctr;tctr.bEnglish = FALSE;/中文状态tctr.bForced = TRUE;/和bEnglish配合,遇到英文缩略语等按照中文阅读。tctr.bStart = TRUE;/句首,第一次调用设成TRUEtctr.bEnd = TRUE;/句尾,第一次调用设成TRUEchar playbuff256 = “华意语音计算研究中心。中英
36、文TTS合成系统。”;char * playptr;/用于ttsPlay()循环playptr = playbuff;while(playptr & *playptr)Twave.nLength = 1024*1024;/注意每次调用ttsPlay()前赋该参数。playptr = ttsPlay(playptr, &twave, NULL, NULL, &tctr, &cid);/进行合成/语音数据在twave.pData中,twave.nLength数据长度。 free(buff);ttslogdown(&cid); /以上线程处理结束 /以下为系统结束时代码ttsClose();4.7
37、ttsGenderSet设置TTS合成系统说话人的性别。语法:BOOL WINAPI ttsGenderSet(BOOL bMale, int * cid);参数:bMaleTRUE为男声;FALSE为女声。cid线程环境描述符指针。返回值:正常返回TRUE;否则返回FALSE。注释:此函数必须在某个线程环境中执行,因此必须先执行ttslogon函数。范例: int cid = ttslogon();ttsGenderSet(FALSE, &cid);4.8 ttsGenderGet获得当前TTS合成系统说话人的性别。语法:BOOL WINAPI ttsGenderGet(int * cid)
38、;参数:bMaleTRUE为男声;FALSE为女声。cid线程环境描述符指针。返回值:返回TRUE为男声;返回FALSE为女声。注释:无。范例: int cid = ttslogon();BOOL b = ttsGenderGet(&cid);4.9 ttsSpeedSet设置TTS合成系统语速。语法:BOOL WINAPI ttsSpeedSet(int speed, int * cid);参数:speed0-9之间,0为最慢,超过此范围,自动设置为相应的限值。标准速度为4。cid线程环境描述符指针。返回值:正常返回TRUE;否则返回FALSE。注释:此函数必须在某个线程环境中执行,因此必须
39、先执行ttslogon函数。范例: int cid = ttslogon();ttsSpeedSet(4, &cid);4.10 ttsSpeedGet获得当前TTS合成系统语速。语法:int WINAPI ttsSpeedGet(int * cid);参数:cid线程环境描述符指针。返回值:返回TTS合成系统语速,返回值在0-9之间,0为最慢。注释:当中文和英文语速不一致时,返回中文的合成语速。此函数必须在某个线程环境中执行,因此必须先执行ttslogon函数。范例: int cid = ttslogon();int x = ttsSpeedGet(&cid);4.11 cttsPitchS
40、et设置中文TTS合成系统音调。语法:BOOL WINAPI cttsPitchSet(int pitch, int * cid);参数:pitch。0-9之间,0为基频最低,9最高,超过此范围,自动设置为相应的限值。标准基频为5。cid线程环境描述符指针。返回值:正常返回TRUE;否则返回FALSE。注释:此函数必须在某个线程环境中执行,因此必须先执行ttslogon函数。范例: int cid = ttslogon();cttsPitchSet(5, &cid);4.12 cttsPitchGet获得当前汉语TTS合成系统音调。语法:int WINAPI cttsPitchGet(int
41、* cid);参数:cid线程环境描述符指针。返回值:返回汉语TTS合成系统音调。0-9之间,0为基频最低,9最高。标准基频为5。注释:此函数必须在某个线程环境中执行,因此必须先执行ttslogon函数。范例: int cid = ttslogon();int x = cttsPitchGet(&cid);4.13 cttsSpeedSet设置汉语TTS合成系统语速。语法:BOOL WINAPI cttsSpeedSet(int speed, int * cid);参数:speed0-9之间,0为最慢,超过此范围,自动设置为相应的限值。标准速度为4。 cid线程环境描述符指针。返回值:正常返回
42、TRUE;否则返回FALSE。注释:cttsSpeedSet与ttsSpeedSet,以最后调用的函数为准。此函数必须在某个线程环境中执行,因此必须先执行ttslogon函数。范例: int cid = ttslogon();cttsSpeedSet(4, &cid);4.14 cttsSpeedGet获得汉语TTS合成系统语速。语法:int WINAPI cttsSpeedSet(int * cid);参数:cid线程环境描述符指针。返回值:返回汉语TTS合成系统语速,返回值在0-9之间,0为最慢。注释:此函数必须在某个线程环境中执行,因此必须先执行ttslogon函数。范例: int ci
43、d = ttslogon();int x = cttsSpeedGet(&cid);4.15 ettsSpeedSet设置英语TTS合成系统语速。语法:BOOL WINAPI ettsSpeedSet(int speed, int * cid);参数:speed0-9之间,0为最慢,超过此范围,自动设置为相应的限值。标准速度为4。 cid 线程环境描述符指针。返回值:正常返回TRUE;否则返回FALSE。注释:ettsSpeedSet与ttsSpeedSet,以最后调用的函数为准。此函数必须在某个线程环境中执行,因此必须先执行ttslogon函数。范例: int cid = ttslogon(
44、);ettsSpeedSet(4, &cid);4.16 ettsSpeedGet获得英语TTS合成系统语速。语法:int WINAPI ettsSpeedSet(int * cid);参数:cid线程环境描述符指针。返回值:返回英语TTS合成系统语速,返回值在0-9之间,0为最慢。注释:此函数必须在某个线程环境中执行,因此必须先执行ttslogon函数。范例: int cid = ttslogon();int x = ettsSpeedGet(&cid);4.17 ttsGBorBig5判断汉字编码。语法:intWINAPI ttsGBorBig5(char * lpText);参数:lpT
45、ext判断的文本指针。返回值:返回0:判断不出。返回1:GBK Code。返回2:Big5 Code。注释:无。范例:switch(ttsGBorBig5(TextBuff)case 0:case 1:ttsLanguageSet(LANGUAGE_CH_GB, &cid);break;case 2:ttsLanguageSet(LANGUAGE_CH_BIG5, &cid);break; 4.18 ttsLanguageSet设置输入文本为国标码还是BIG5码。语法:WORD WINAPI ttsLanguageSet(WORD lan, int * cid)参数:LANGUAGE_CH_G
46、B国标码(缺省设置);LANGUAGE_CH_BIG5big5码;LANGUAGE_CH_AUTO自动识别。cid线程环境描述符指针。返回值:无。注释:此函数必须在某个线程环境中执行,因此必须先执行ttslogon函数。范例:参见ttsGBorBig5。4.19 ttsLanguageGet获得当前输入文本为国标码还是BIG5码设置参数。语法:WORD WINAPI ttsLanguageGet(int * cid)参数:cid 线程环境描述符指针。返回值:LANGUAGE_CH_GB国标码;LANGUAGE_CH_BIG5big5码;LANGUAGE_CH_AUTO自动识别。注释:此函数必须
47、在某个线程环境中执行,因此必须先执行ttslogon函数。范例:无。4.20 ttsParamSet设置文本读法格式参数。语法:int WINAPI ttsParamSet(int type, int value, int * cid);参数:type文本读法参数类型。(黑体为缺省设置)DIGIT数字读法方式value:0自动分析;1电报读法;2数值读法;ALPHA拼音读法方式value:0自动分析;1按拼音读;2没有拼音;3强制字母;ENTER回车段落方式value:0自动分析;1段落分割;2不是段落;SPACE空格读法方式value:0自动分析;1停顿标记;2删除空格;SYMBOL符号读法
48、方式value:0自动分析;1读出符号;2不读符号;SDELETE符号删除数量value:0-32767:0表示不删除;6value:参数值,与type对应。cid线程环境描述符指针。返回值:正常返回0,否则返回-1。注释:此函数必须在某个线程环境中执行,因此必须先执行ttslogon函数。范例: int cid = ttslogon();ttsParamSet(DIGIT, 1, &cid);4.21 ttsParamGet获得当前文本读发格式参数。语法:int WINAPI ttsParamGet(int type, int * cid);参数:type文本读法参数类型。DIGIT数字读法
49、方式value:0自动分析;1电报读法;2数值读法;ALPHA拼音读法方式value:0自动分析;1按拼音读;2没有拼音;3强制字母;ENTER回车段落方式value:0自动分析;1段落分割;2不是段落;SPACE空格读法方式value:0自动分析;1停顿标记;2删除空格;SYMBOL符号读法方式value:0自动分析;1读出符号;2不读符号;SDELETE符号删除数量value:0-32767:0表示不删除;cid线程环境描述符指针。返回值:返回相应type的value值。注释:此函数必须在某个线程环境中执行,因此必须先执行ttslogon函数。范例:无。4.22 ttsChangeWave
50、FmtPCM数据转换格式。语法:int WINAPI ttsChangeWaveFmt(char * oldData , int oldLen , char * newData , int newLen , int oldRate , int oldBits , int newRate , int newBits);参数:oldData原语音数据缓冲。oldLen原语音数据缓冲的长度(单位:Byte字节)。newData目标语音数据缓冲。newLen目标语音数据缓冲的大小(最大可用空间,单位:Byte字节)。oldRate原语音数据的采样率(单位:Hz赫兹)。oldBits原语音数据的量化精度
51、(单位:bit位)。newRate目标语音数据的采样率(单位:Hz赫兹)。newBits目标语音数据的量化精度(单位:bit位)。返回值:实际转换后目标语音数据的长度(单位:Byte字节)。注释:该函数只处理量化精度为16位的数据,既oldBits=newBits=16,实际上只转换PCM的采样率。范例:int x = ttsChangeWaveFmt(buff1,i,buff2,1000000,16000,16,8000,16);/将buff1中16000Hz 16Bit的波形数据转换成buff2中的8000Hz 16Bit数据,目标数据长度返回x。4.23 ttsPcmToWavePCM数
52、据转换成WAVE文件语音数据格式。语法:void WINAPI ttsPcmToWave(char * PcmData, char * WavData, int snLength, int Samples, int Bits);参数:PcmDataPCM波形数据缓存。WavDataWAVE波形数据缓存。snLength波形数据的长度(单位: Byte字节)Samples波形数据的采样率(单位:Hz赫兹)。Bits波形数据的量化精度(单位:bit位)。返回值:无。注释:采样率和量化精度不变。范例:ttsPcmToWave(buff1, buff2, nLen, 16000, 16);/将buff
53、1中的PCM波形数据,转换成Wave格式数据,放于Buff2中。/采样频率16000Hz,量化精度是16Bit。结果数据长度是nLen+444.24 ttspcmtoalaw将16bits的pcm数据转化为8bits的A-law格式。语法:int WINAPI ttspcmtoalaw(void * olddata, int len, const void * newdata, int newlen);参数:olddatapcm数据的缓冲区指针lenpcm数据的长度(单位:Byte字节)newdataA-law数据的缓冲区指针newlenA-law数据的缓冲区的长度(单位:Byte字节)返回值
54、:成功返回A-law数据长度,失败返回-1。注释:采样率不变。范例:int x = ttspcmtoalaw (buff1, len1, buff2, len2);4.25 ttspcmtoulaw将16bits的pcm数据转化为8bits的U-law格式。语法:int WINAPI ttspcmtoulaw(void * olddata, int len, const void * newdata, int newlen);参数:olddatapcm数据的缓冲区指针lenpcm数据的长度(单位:Byte字节)newdataU-law数据的缓冲区指针newlenU-law数据的缓冲区的长度(单
55、位:Byte字节)返回值:成功返回新数据长度,失败返回-1。注释:采样率不变。范例:int x = ttspcmtoalaw (buff1, len1, buff2, len2);4.26 ttspcm16to8将16位量化精度的PCM数据改为8位。语法:int WINAPI ttspcm16to8(const void * olddata, int len, const void * newdata, int newlen);参数:olddata量化精度为16bits的pcm数据。Len16bits的pcm数据的长度(单位:Byte字节)Newdata量化精度为8bits的pcm数据。New
56、len缓冲区的长度(单位:Byte字节)。返回值:成功返回新数据长度,失败返回-1。注释:无。范例:int x = ttspcm16to8(buff1, len1, buff2, len2);4.27 ttspcm8to16将8位量化精度的PCM数据改为16位。语法:int WINAPI ttspcm8to16(const void * olddata, int len, const void * newdata, int newlen);参数:olddata量化精度为8bits的pcm数据。Len8bits的pcm数据的长度(单位:Byte字节)。Newdata量化精度为16bits的pcm
57、数据。Newlen缓冲区的长度(单位:Byte字节)。返回值:成功返回新数据长度,失败返回-1。注释:无。范例:int x = ttspcm8to16(buff1, len1, buff2, len2);4.28 ConvertToVox8将波形文件从16bits的PCM格式转换为8KHz采样率8bits的Vox格式, 便于电话语音卡(dilogic卡)的播放。语法:int WINAPI ConvertToVox8(int Samples , short * iDataBuffer , int DataLen , char * cVoxDataBuffer);参数:Samples当前PCM格式
58、语音数据的采样率(单位:Hz赫兹)。iDataBuffer当前的PCM语音数据。DataLen语音数据的长度(单位:short)。cVoxDataBuffer转换后的Vox8格式的语音数据。返回值:转换后Vox8类型的语音数据的长度,以Byte(字节)为单位。注释:上面通过ttsPlay后在waveParam结构里面的波形数据以及长度都是以Byte(字节)为单位的,所以在调用该函数的时候, 注意单位的转换。范例:int x = ConvertToVox8(16000, buff1, nLen, buff2);/nLen(short)为原语音数据长度。4.29 ConvertToVox将波形文件
59、从16bits的PCM格式转换为8bits的Vox格式, 便于电话语音卡(dilogic卡)的播放语法:int WINAPI ConvertToVox(int Samples , short * iDataBuffer , int DataLen , char * cVoxDataBuffer);参数:SamplesPCM格式语音数据的采样率(单位:Hz赫兹)。iDataBufferPCM语音数据。DataLen语音数据的长度(单位:short)。nVoxSamples 需要转换成的Vox格式的采样率(单位:Hz赫兹)cVoxDataBuffer转换后的Vox格式的语音数据。返回值:转换后Vo
60、x类型的语音数据的长度,以Byte(字节)为单位。注释:上面通过ttsPlay后在waveParam结构里面的波形数据以及长度都是以Byte(字节)为单位的,所以在调用该函数的时候, 注意单位的转换。范例:char buff11000000,buff21000000;int x=ConvertToVox(16000,buff1,i,buff2);/i为原语音数据以short为/单位的数据的长度。4.30 ttsWriteToFile将pcm波形数据按规定的格式写入到文件。语法:BOOL WINAPI ttsWriteToFile(char * snData , int snLength , i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度系统集成代工合作合同规范文本4篇
- 二零二五年度新型环保肥料代销合同模板4篇
- 2025年度某商场场地租赁协议(含合同生效条件)
- 二零二五版金融租赁合同风险管理与合规操作合同3篇
- 二零二五版权威解读!欠条、借款合同编写技巧5篇
- 2025年度海外留学生活费用预算与监管合同4篇
- 二零二五年度企业间资金借贷审计报告合同样本
- 二零二五版超详细绿色环保技术引进合同(上)2篇
- 二零二五年度水上运输合同承运人船舶安全维护责任4篇
- 2025年ktv房间租赁及节假日优惠活动合同6篇
- 电线电缆加工质量控制流程
- 山东省淄博市张店区祥瑞园小学-2024-2025年第一学期一年级班主任经验分享(着眼于爱 着手于细)【课件】
- 提优精练08-2023-2024学年九年级英语上学期完形填空与阅读理解提优精练(原卷版)
- DB4511T 0002-2023 瓶装液化石油气充装、配送安全管理规范
- 企业内部客供物料管理办法
- 妇科临床葡萄胎课件
- 三基三严练习题库与答案
- 传媒行业突发事件应急预案
- 债务抵租金协议书范文范本
- 药学技能竞赛标准答案与评分细则处方
- 2025届高考英语 716个阅读理解高频词清单
评论
0/150
提交评论