TensorflowTTS 中文android客户端

TensorflowTTS支持中文了,但是android客户端还只支持英文。本文说一下安卓的移植过程。

一、模型格式转换 

https://colab.research.google.com/drive/1YpSHRBRPBI7cnTkQn1UcVTWEQVbsUm1S?usp=sharing 

去上面链接下载fastspeech2和mbmelgan的模型,下载下来是 .h5格式,需要转换成.tflite格式,安卓才能使用。

转换完之后,放到对应的asset中。

二、修改android工程中一些代码

1.Ttsplayer中audio sample rate修改为24000;

2.runForMultipleInputsOutputs 方法参数修改为:runForMultipleInputsOutputs(new Object[]{inputs, new int[]{0}, new float[]{speed}, new float[]{1F}, new float[]{1F}},outputMap);

3.添加中文的Processor,在TensorflowTTS项目中,有py的转换脚本,需要转成java的。这一步的目的是把汉语转换为模型认识的int型id。

举个例子:比如输入 "这是一个开源的端到端中文语音合成系统",通过转换得到:

phoneme seq: sil zh e4 #0 sh iii4 #0 ^ i2 #0 g e4 #0 k ai1 #0 ^ van2 #0 d e5 #0 d uan1 #0 d ao4 #0 d uan1 #0 zh ong1 #0 ^ uen2 #0 ^ v3 #0 ^ in1 #0 h e2 #0 ch eng2 #0 x i4 #0 t ong3 sil

再把上面的symbol查阅字典得到int型数字。

这一步得到的int[],对应第二部中inputs参数。

以上。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值