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

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。

收藏
点赞
4
个赞
共69条回复 最后由rose20135188回复于2019-07-20 16:20
#70rose20135188回复于2019-07-20 16:20:27

谢谢楼主整理

0
#69罕了个风回复于2019-07-03 08:51:35
#68 chrisberg923回复
应该是之前的进程没结束,你的输入输出设备要在被停止或暂停之后再进行唤醒
展开

但是我没单独调用线程进程,是 唤醒识别之后调用的合成,我试着注销掉speech的那段代码就可以,[[BDSSpeechSynthesizer sharedInstance] speakSentence:@"您好。" withError:&speakError] 这段,这个要怎么stop,而且我试着[[BDSSpeechSynthesizer sharedInstance] cancel];了,也没用

0
#68chrisberg923回复于2019-07-02 18:10:01
#67 罕了个风回复
ios语音合成之后无法再次唤醒,我是先唤醒语音识别,然后再结果那调用 语音合成,然后无法再次唤醒,控制台打印这个AVAudioSession.mm:1079:-[AVAudioSession setActive:withOptions:error:]: Deactivating an audio session that has running I/O. All I/O should be stopped or paused prior to deactivating the audio session.
展开

应该是之前的进程没结束,你的输入输出设备要在被停止或暂停之后再进行唤醒

0
#67罕了个风回复于2019-07-02 17:32:06

ios语音合成之后无法再次唤醒,我是先唤醒语音识别,然后再结果那调用 语音合成,然后无法再次唤醒,控制台打印这个AVAudioSession.mm:1079:-[AVAudioSession setActive:withOptions:error:]: Deactivating an audio session that has running I/O. All I/O should be stopped or paused prior to deactivating the audio session.

1
#66chrisberg923回复于2019-07-01 10:08:40
#64 吃了块傻瓜回复
Android版语音在线识别功能识别一段短语时,短语的最后一个词总是识别得很慢,这是什么原因啊,怎么解决呢
展开

这是正常现象,系统在判定你后续是否还在发音,是否需要在这里做静音处理。

0
#65吃了块傻瓜回复于2019-06-29 21:51:44

Android版语音在线识别功能识别一段短语时,短语的最后一个词总是识别得很慢,这是什么原因啊,怎么解决呢

0
#64吃了块傻瓜回复于2019-06-29 21:50:44

Android版语音在线识别功能识别一段短语时,短语的最后一个词总是识别得很慢,这是什么原因啊,怎么解决呢

0
#63天天趣闻回复于2019-06-28 10:40:23
#62 天天趣闻回复
调用rest api 响应500,Internal Server Error 是为什么啊
展开

网络问题,已经解决

0
#62天天趣闻回复于2019-06-28 09:46:37

调用rest api 响应500,Internal Server Error 是为什么啊

0
#61chrisberg923回复于2019-06-27 10:09:31
#60 runlong2017回复
android             错误码:-8   在线授权token为空   请问是什么原因?
展开

可能是你的ak sk 或者token有错,请检查。

0
#60runlong2017回复于2019-06-27 09:41:44

android             错误码:-8   在线授权token为空   请问是什么原因?

0
#59chrisberg923回复于2019-06-17 10:05:47
#58 rose20135188回复
辛苦楼主整理,收藏下来以后方便找相关问题。

感谢您使用百度语音技术~

0
#58rose20135188回复于2019-06-16 11:01:53

辛苦楼主整理,收藏下来以后方便找相关问题。

0
#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
TOP
切换版块