【语音合成-常见问答】汇总帖
置顶
AI最前线 发布于2017-11-16 20:44 浏览:9408 回复:56
3
收藏
最后编辑于2019-05-12

Q:语音合成、语音识别接口每天调用限额是多少?默认QPS是多少?如何申请提高配额?
A:语音合成服务默认提供100QPS,服务接口每天不限制调用量。语音识别服务默认提供10QPS,服务接口每天不限制调用量。如需要的QPS大于默认额度,需申请提高配额,请登录控制台,点击百度语音,选择应用列表,选择对应应用,查看详情,点击申请提高配额,一般会在2个工作日内完成审核,审核通过后,将可使用提额后的QPS额度。

 

Q:语音合成如果想指定某个字的发音,怎么实现?
A:语音合成接口,支持用户自主标音,通过在所需合成的文字后,增加音标的方式,比如,想把“重音”中的重字,指定合成"chong"的读音时,需将合成文字改为“重(chong3)音”,其中3表示3声,可以根据数字变化调节音调,1对应1声,2对应2声,3对应3声,4对应4声。

 

Q:语音合成支持那些语言和音色的播报?
A:语音合成目前支持中文普通话播报、中英文混读播报,音色支持男声、女声、度丫丫、度逍遥。

 

Q:语音合成SDK正式授权如何实现
A:授权--请您先设置APPID,绑定包名,设置AK SK。第一次保证在线调用成功即可。具体步骤:

语音官网中应用请确定绑定包名,demo的包名是com.baidu.tts.sample
删除代码中临时授权文件LICENSE_FILE_NAME的设置
启动后检查离线资源文件是否存在并且可读。然后联网调用成功,后续持续使用。


Q:SDK在语音合成播放的时候,接听电话,会自动暂停播放吗?还是需要自行处理?
A:您好,您需要使用pause和resume方法自行处理逻辑操作。

 

Q:有离线语音合成可以提供吗?
A:目前没有开放纯离线模式下的语音合成SDK,但是我们开放了离在线融合语音合成SDK,会自动判断当前网络环境,自动匹配使用离线还是在线合成引擎。

 

Q:语音合成的语音,我想获取音频数据该怎么办?
A:可以通过 SpeechSynthesizerListener 的 onNewDataArrive 方法获取音频数据。

 

Q:提示“Unable to execute dex: Multiple dex files define Lcom/baidu/android/common/logging/Log”错误?
A:应用同时集成了百度其它 SDK,造成公共库冲突,请删除语音SDK中的galaxy_lite.jar。

 

Q:提示“Caused by: java.lang.UnsatisfiedLinkError: Couldn't load BDSpeechDecoder_V1: findLibrary returned null”错误?
A:百度语音合成SDK 提供了armeabi标准库及armeabi-v7a库。如项目只包含其中一个目录,请只将TTS SDK中的同名目录集成,否则会造成其它库无法正常加载的错误。如项目只有armeabi,请只集成armeabi,反之如果只有armeabi-v7a,则只集成armeabi-v7a。

收藏
点赞
3
个赞
共56条回复 最后由phiilt回复于2019-05-12 01:02
#57phiilt回复于2019-05-12 01:02:55
#51 chrisberg923回复
纯在线模式 : WIFI 4G 3G 2G 都会尝试连接百度服务器。如果百度服务器失败,那么合成失败。 离在线混合模式: WIFI下强制尝试在线优先。其它网络情况可以设置是否为在线优先(如果连接失败,那么切换成离线合成)或者直接离线合成。 MIX_MODE_DEFAULT: WIFI下在线优先(连接百度服务器失败或者超时6s,那么切换成离线合成), 其它网络状况下离线合成。 MIX_MODE_HIGH_SPEED_SYNTHESIZE_WIFI: WIFI下在线优先(连接百度服务器失败或者超时1.2s,那么切换成离线合成), 其它网络状况下离线合成。 MIX_MODE_HIGH_SPEED_NETWORK: WIFI 4G 3G 2G下在线优先( 如果在线连接百度服务器失败或者超时6s,那么切换成离线合成), 其它网络状况离线合成。 MIX_MODE_HIGH_SPEED_SYNTHESIZE: WIFI 4G 3G 2G下在线优先( 如果在线连接百度服务器失败或者超时1.2s,那么切换成离线合成), 其它网络状况离线合成。
展开

感谢。我刚测试好像成功了(复现那个bug不成功)。我用的是纯在线模式的,之前那个bug是在wifi情况下(wifi情况通畅),我第一次点击播放就请求超时(6s)返回-15,第二次点击就正常播放。然后在用数据的情况下就不会出现请求超时的情况,不知是哪一环(不同手机系统版本好像不一样)出问题了,刚刚用自己手机测试又没有出现那个情况了。再次感谢热心解答。

0
#56shufan209回复于2019-05-09 20:12:18
#35 荒墨丶迷失回复
有token的刷新方法,你可以看下文档Access Token

token可以缓存,无需调用一次生成一次

0
#55shufan209回复于2019-05-09 20:11:45

语音合成(文字转语音),是通过构造网址,get的方式合成语音的,这就导致了文字的字数有限制(否则拼接的网址很长),

请问:有post的方法么,这样就能合成长文了................?一般的API都用post方法的...........

搞到我现在的开发很麻烦:

1,先把文字拆分,合成语音片段

2,把全部语音片段下载下来,合成为一个

超级麻烦,效率慢了好多..............

0
#54181******95回复于2019-05-09 20:02:29
#53 181******95回复
升级了最新版版的语音合成sdk后 ,循环调用[[BDSSpeechSynthesizer sharedInstance] speakSentence:string withError:&err]; 4G在线合成语音和飞行模式断网下的离线合成语音均可使用,但切换到wifi状态下就会停止自动朗读,并且wifi状态下开始合成并朗读时也只会了朗读第一条排队的文本 sdk日志报错:Failed open license file! 请问这个授权文件打开失败的原因有哪些?
展开

是ios的

1
#53181******95回复于2019-05-09 20:01:19

升级了最新版版的语音合成sdk后 ,循环调用[[BDSSpeechSynthesizer sharedInstance] speakSentence:string withError:&err];
4G在线合成语音和飞行模式断网下的离线合成语音均可使用,但切换到wifi状态下就会停止自动朗读,并且wifi状态下开始合成并朗读时也只会了朗读第一条排队的文本
sdk日志报错:Failed open license file!
请问这个授权文件打开失败的原因有哪些?

1
#52181******95回复于2019-05-09 20:00:45

升级了最新版版的语音合成sdk后 ,循环调用[[BDSSpeechSynthesizer sharedInstance] speakSentence:string withError:&err];
4G在线合成语音和飞行模式断网下的离线合成语音均可使用,但切换到wifi状态下就会停止自动朗读,并且wifi状态下开始合成并朗读时也只会了朗读第一条排队的文本
sdk日志报错:Failed open license file!
请问这个授权文件打开失败的原因有哪些?

1
#51chrisberg923回复于2019-05-07 12:32:19
#50 phiilt回复
不是的,就Android,用数据连接的情况可以正常播放,可是连接Wifi情况下,第一次点击开始播放的时候连接超时报错-15,再次点击播放就正常播放。
展开

纯在线模式 : WIFI 4G 3G 2G 都会尝试连接百度服务器。如果百度服务器失败,那么合成失败。

离在线混合模式: WIFI下强制尝试在线优先。其它网络情况可以设置是否为在线优先(如果连接失败,那么切换成离线合成)或者直接离线合成。

MIX_MODE_DEFAULT: WIFI下在线优先(连接百度服务器失败或者超时6s,那么切换成离线合成), 其它网络状况下离线合成。
MIX_MODE_HIGH_SPEED_SYNTHESIZE_WIFI: WIFI下在线优先(连接百度服务器失败或者超时1.2s,那么切换成离线合成), 其它网络状况下离线合成。
MIX_MODE_HIGH_SPEED_NETWORK: WIFI 4G 3G 2G下在线优先( 如果在线连接百度服务器失败或者超时6s,那么切换成离线合成), 其它网络状况离线合成。
MIX_MODE_HIGH_SPEED_SYNTHESIZE: WIFI 4G 3G 2G下在线优先( 如果在线连接百度服务器失败或者超时1.2s,那么切换成离线合成), 其它网络状况离线合成。

0
#50phiilt回复于2019-05-06 22:25:29
#49 chrisberg923回复
ios吗?ios需要在控制台右上方提交工单咨询。

不是的,就Android,用数据连接的情况可以正常播放,可是连接Wifi情况下,第一次点击开始播放的时候连接超时报错-15,再次点击播放就正常播放。

0
#49chrisberg923回复于2019-04-30 13:43:30
#48 phiilt回复
语音合成TTS 错误编码:-15 WIFI情况下仍然超时。

ios吗?ios需要在控制台右上方提交工单咨询。

0
#48phiilt回复于2019-04-26 16:26:55

语音合成TTS 错误编码:-15

WIFI情况下仍然超时。

0
#47chrisberg923回复于2019-04-26 16:18:12
#45 136******41回复
(-7)request result contains error message[(501)parameter error.]   这是什么原因啊
展开

识别还是合成,api还是哪个sdk?

0
#46chrisberg923回复于2019-04-26 16:17:29
#44 majinker回复
解决了吗

你是什么问题呢?只有一个错误码没办法解决啊

0
#45136******41回复于2019-04-26 14:53:49

(-7)request result contains error message[(501)parameter error.]   这是什么原因啊

0
#44majinker回复于2019-04-25 17:52:13
#28 sunny红货回复
错误码 502  是什么错

解决了吗

0
#41187******42回复于2019-04-15 11:07:43
#40 chrisberg923回复
修改 per 参数,你的目前是 0,发音人选择, 0为普通女声,1为普通男生,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女声。你现在不是女声吗?
展开

修改 per 参数,你的目前是 0,发音人选择, 0为普通女声,1为普通男生,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女声。你现在不是女声吗?修改为0但是播放的时候就是男声;

0
#40chrisberg923回复于2019-04-15 10:26:32
#39 187******42回复
<!doctype html> <html> <head> <meta charset="utf-8"> <title>文字转成语音并播放出来-jq22.com</title> <script src="https://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <style> </style> </head> <body> <div> <input type="text" id="ttsText"> <input type="button" id="tts_btn" onclick="doTTS()" value="播放"> </div> <div id="bdtts_div_id"> <audio id="tts_autio_id" autoplay="autoplay"> <source id="tts_source_id" src="http://tts.baidu.com/text2audio?lan=zh&amp;ie=UTF-8&amp;spd=5&amp;per=0&amp;text=请输入文字" type="audio/mpeg"> <embed id="tts_embed_id" height="0" width="0" src=""> </audio> </div> <script> function doTTS() { var ttsDiv = document.getElementById('bdtts_div_id'); var ttsAudio = document.getElementById('tts_autio_id'); var ttsText = document.getElementById('ttsText').value; // 文字转语音 ttsDiv.removeChild(ttsAudio); var au1 = '<audio id="tts_autio_id" autoplay="autoplay">'; var sss = '<source id="tts_source_id" src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&per=0&spd=5&text=' + ttsText + '" type="audio/mpeg">'; var eee = '<embed id="tts_embed_id" height="0" width="0" src="">'; var au2 = '</audio>'; ttsDiv.innerHTML = au1 + sss + eee + au2; ttsAudio = document.getElementById('tts_autio_id'); ttsAudio.play(); } </script> </body> </html>   如果需要调整为女声如何进行调整
展开

修改 per 参数,你的目前是 0,发音人选择, 0为普通女声,1为普通男生,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女声。你现在不是女声吗?

0
#39187******42回复于2019-04-15 10:19:58





文字转成语音并播放出来-jq22.com














 

如果需要调整为女声如何进行调整

0
#38Hizerone回复于2018-12-22 17:13:46

Android的DemoCode里的 INIT_SUCCESS 定义是不是有问题?应该是 3 吧?

0
#37bao09bao25ok回复于2018-12-21 16:04:55
#36 rhbjlz回复
iOS 在线合成语音时,有网情况下,尤其是不是wifi的情况下,总是停止阅读,也不知道是网络问题,还是sdk的问题,也没有报错信息,一直在合成中不回调合成完成;在离在线合成时,总是在线和离线切换播放, 不知道有没有哪位同僚遇到和我一样的问题?
展开

我遇到了跟您一样的问题,请问您解决了吗?

1
#36rhbjlz回复于2018-11-27 18:21:36

iOS 在线合成语音时,有网情况下,尤其是不是wifi的情况下,总是停止阅读,也不知道是网络问题,还是sdk的问题,也没有报错信息,一直在合成中不回调合成完成;在离在线合成时,总是在线和离线切换播放, 不知道有没有哪位同僚遇到和我一样的问题?

0
TOP
切换版块