如何强制使用离线合成
qq63389745 发布于2016-07 浏览:1615 回复:2
0
收藏

在合成的时候,会先尝试在线合成。如何默认使用离线合成。

看到你们的文档中有这个参数:PARAM_MIX_MODE

MIX_MODE_DEFAULT(mix模式下,wifi使用在线合成,非wifi使用离线合成)

MIX_MODE_HIGH_SPEED_NETWORK(mix模式下,wifi,4G,3G使用在线合成,其他使用离线合成)

MIX_MODE_HIGH_SPEED_SYNTHESIZE(mix模式下,在线返回速度如果慢(超时,一般为1.2秒)直接切换离线,适用于网络环境较差的情况)

MIX_MODE_HIGH_SPEED_SYNTHESIZE_WIFI(mix模式下,仅wifi使用在线合成,返回速度如果慢(超时,一般为1.2秒)直接切换离线,适用于仅WIFI网络环境较差的情况)


但是没有直接使用离线合成的参数设置


当网络状态不佳的时候,会有一连串的-107

如果一串文本分为5段播放,则会出现前几段没有播放直接播放某一段。

这样的话,batchSpeak就不能顺序合成的。

发一下合成时候的代码:


List bags = new ArrayList();


for (int i = 0; i < readArray.length; i++) {

    bags.add(GetSpeechSynthesizeBag(readArray[i], i));

    Log.d(TAG, "开始准备TTS 第" + i + "段 长度: " + readArray[i].length() + " 内容: " + readArray[i]);

}


如果在error的时候,我再送到tts里面的话,顺序就乱套了。


下面是出错日志:

07-04 15:58:17.343 25361-25361/com.tourkaa.guide D/ScenicGuideActivity: 开始准备TTS 第0段 长度: 6 内容: 测试数据开始

07-04 15:58:17.343 25361-25361/com.tourkaa.guide D/ScenicGuideActivity: 开始准备TTS 第1段 长度: 10 内容: 一一一一一一一一一一

07-04 15:58:17.343 25361-25361/com.tourkaa.guide D/ScenicGuideActivity: 开始准备TTS 第2段 长度: 10 内容: 二二二二二二二二二二

07-04 15:58:17.343 25361-25361/com.tourkaa.guide D/ScenicGuideActivity: 开始准备TTS 第3段 长度: 11 内容: 三三三三三三三三三三三

07-04 15:58:17.343 25361-25361/com.tourkaa.guide D/ScenicGuideActivity: 开始准备TTS 第4段 长度: 10 内容: 四四四四四四四四四四

07-04 15:58:17.343 25361-25361/com.tourkaa.guide D/ScenicGuideActivity: 开始准备TTS 第5段 长度: 10 内容: 五五五五五五五五五五

07-04 15:58:17.343 25361-25361/com.tourkaa.guide D/ScenicGuideActivity: 开始准备TTS 第6段 长度: 10 内容: 六六六六六六六六六六

07-04 15:58:17.343 25361-25361/com.tourkaa.guide D/ScenicGuideActivity: 开始准备TTS 第7段 长度: 10 内容: 七七七七七七七七七七

07-04 15:58:17.353 25361-25361/com.tourkaa.guide D/ScenicGuideActivity: 开始准备TTS 第8段 长度: 10 内容: 八八八八八八八八八八

07-04 15:58:17.353 25361-25361/com.tourkaa.guide D/ScenicGuideActivity: 开始准备TTS 第9段 长度: 11 内容: 九九九九九九九九九九九

07-04 15:58:17.353 25361-25361/com.tourkaa.guide D/ScenicGuideActivity: 开始准备TTS 第10段 长度: 10 内容: 十十十十十十十十十十

07-04 15:58:17.353 25361-25361/com.tourkaa.guide D/ScenicGuideActivity: 开始准备TTS 第11段 长度: 6 内容: 测试数据结束

07-04 15:58:17.363 25361-25361/com.tourkaa.guide D/ScenicGuideActivity: TTS准备完毕。。开始播放

07-04 15:58:23.389 25361-27409/com.tourkaa.guide D/ScenicGuideActivity: onError error=(-107)(-107)TimeoutException[(cause)java.util.concurrent.TimeoutException]--utteranceId=0

07-04 15:58:23.549 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onSynthesizeStart utteranceId=1

07-04 15:58:30.766 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onError error=(-107)(-107)TimeoutException[(cause)java.util.concurrent.TimeoutException]--utteranceId=1

07-04 15:58:30.766 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onSynthesizeStart utteranceId=2

07-04 15:58:37.983 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onError error=(-107)(-107)TimeoutException[(cause)java.util.concurrent.TimeoutException]--utteranceId=2

07-04 15:58:37.983 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onSynthesizeStart utteranceId=3

07-04 15:58:45.250 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onError error=(-107)(-107)TimeoutException[(cause)java.util.concurrent.TimeoutException]--utteranceId=3

07-04 15:58:45.250 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onSynthesizeStart utteranceId=4

07-04 15:58:52.518 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onError error=(-107)(-107)TimeoutException[(cause)java.util.concurrent.TimeoutException]--utteranceId=4

07-04 15:58:52.518 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onSynthesizeStart utteranceId=5

07-04 15:58:59.725 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onError error=(-107)(-107)TimeoutException[(cause)java.util.concurrent.TimeoutException]--utteranceId=5

07-04 15:58:59.725 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onSynthesizeStart utteranceId=6

07-04 15:59:06.972 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onError error=(-107)(-107)TimeoutException[(cause)java.util.concurrent.TimeoutException]--utteranceId=6

07-04 15:59:07.032 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onSynthesizeStart utteranceId=7

07-04 15:59:14.309 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onError error=(-107)(-107)TimeoutException[(cause)java.util.concurrent.TimeoutException]--utteranceId=7

07-04 15:59:14.329 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onSynthesizeStart utteranceId=8

07-04 15:59:21.566 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onError error=(-107)(-107)TimeoutException[(cause)java.util.concurrent.TimeoutException]--utteranceId=8

07-04 15:59:21.566 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onSynthesizeStart utteranceId=9

07-04 15:59:28.773 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onError error=(-107)(-107)TimeoutException[(cause)java.util.concurrent.TimeoutException]--utteranceId=9

07-04 15:59:28.773 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onSynthesizeStart utteranceId=10

07-04 15:59:29.954 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onSynthesizeDataArrived progress=10

07-04 15:59:29.954 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onSynthesizeDataArrived file:/data/data/com.tourkaa.guide/files/ttsfiles/3_10.wav保存成功

07-04 15:59:29.974 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onSynthesizeFinish utteranceId=10

07-04 15:59:29.974 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onSynthesizeStart utteranceId=11

07-04 15:59:29.974 25361-28877/com.tourkaa.guide D/ScenicGuideActivity: onSpeechStart utteranceId=10

07-04 15:59:30.565 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onSynthesizeDataArrived progress=6

07-04 15:59:30.565 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onSynthesizeDataArrived file:/data/data/com.tourkaa.guide/files/ttsfiles/3_11.wav保存成功

07-04 15:59:30.565 25361-27558/com.tourkaa.guide D/ScenicGuideActivity: onSynthesizeFinish utteranceId=11

07-04 15:59:32.186 25361-28877/com.tourkaa.guide D/ScenicGuideActivity: onSpeechFinish utteranceId=10

07-04 15:59:32.206 25361-28877/com.tourkaa.guide D/ScenicGuideActivity: onSpeechStart utteranceId=11

07-04 15:59:33.978 25361-28877/com.tourkaa.guide D/ScenicGuideActivity: onSpeechFinish utteranceId=11


收藏
点赞
0
个赞
共2条回复 最后由用户已被禁言回复于2022-04
#3李维高liweigao回复于2016-07

离线License至少需要能正常下载一份才能使用,因为你得离线license在网络很差时一直没有下载下来,所以离线是不可用的。在线请求因为默认是有6秒超时的(高速策略是1.2秒),所以有些能成功有些会失败。所以这个需要根据你们自己的需求来确定怎么实现。

0
#2李维高liweigao回复于2016-07

你initTTS时候用的是online模式还是mix模式?如果是Mix模式,在线请求失败是会自动切换离线的,不应该会有这个错误报出的。

0
TOP
切换版块