前言:
当前我们对“java怎么读语音”大致比较着重,看官们都想要分析一些“java怎么读语音”的相关资讯。那么小编也在网摘上网罗了一些有关“java怎么读语音””的相关知识,希望兄弟们能喜欢,朋友们快快来学习一下吧!在使用讯飞webapi方式进行语音合成时,发现多音字经常不按语义进行发音,在讯飞论坛上找了半天,按论坛上的方法不起作用,反复试了一下,用下面组合可以起作用。
一、后台参数配置
后台主要涉及3个参数,ttp:cssml;tte:UTF8;vcn:vixy,我是用JAVA编程,用WEBAPI,用这三个参数组合,前端用简单标记可以生效。ttp这个参数在官方的说明中没有,论坛中有介绍。
//填充business,AUE属性lame是MP3格式,raw是PCM格式 business.addProperty("aue", "lame"); //增加此参数,系统可以识别用cssml标记的多音字读法,下面发音人用vixy,用简单标记 business.addProperty("ttp", "cssml"); business.addProperty("sfl", 1); business.addProperty("tte", "UTF8");//小语种必须使用UNICODE编码 business.addProperty("vcn", "vixy");//到控制台-我的应用-语音合成-添加试用或购买发音人,添加后即显示该发音人参数值,若试用未添加的发音人会报错11200 business.addProperty("pitch", 50); business.addProperty("speed", 50);二、文字标记方法
1)、设置单词发音方式。方法如下:
1. 格式: [h*] (*=0/1/2)
2. 参数: 0 – 自动判断单词发音方式
1 – 字母发音方式
2 – 单词发音方式
3. 说明: 默认单词为自动判断。
文本举例:
1. [h1]hello[h0] word
其中,hello将会按照字母发音,word就会按照单词进行发音
2)、数字处理策略。方法如下:
1. 格式: [n*] (*=0/1/2)
2. 参数: 0 – 自动判断
1 – 数字作号码处理
2 – 数字作数值处理
3. 说明: 默认为自动判断。
文本举例:
1. [n2]123[n1]456[n0]
其中,123将会按照数值处理,456则会按照号码处理,而后的文本中的数字,均会自动判断。
3)、合成时,加入静音停顿。方法如下:
1. 格式: [p*] (*=无符号整数)2. 参数: * – 静音的时间长度,单位:毫秒(ms)
文本举例:
1. 你好[p500]科大讯飞
该句合成时,将会在“你好”后加入500ms的静音
4)、指定汉字发音。方法如下:
1. 格式: [=*] (*=拼音/音标)
2. 参数: * – 为前一个汉字/单词设定的拼音/音标
3. 说明: 汉字:声调用后接一位数字1~5分别表示阴平、阳平、上声、去声和轻声5个声调。
文本举例:
1. 着[=zhuo2]手, 朴[=piao2]槿惠,朴[=pu3]树