uniapp实现pda离线语音播报文字 TTS

2,117 阅读2分钟

一、项目场景:项目上在开发pda语音播放文字的需求,文字来源于后端接口,文字内容不固定,使用环境为内网;

二、设备类型:PDA手持,一般PDA的语音包都不支持中文,所以要使用第三方的语音包,其他市场上常见的手机的TTS语音包都是支持中英文播报的。

三、pda语音播放的实现方案有以下几种:

  1. 使用在线平台将文字转语音Mp3,使用uni.createInnerAudioContext播放mp3音频

    问题:此方案最简单,但项目中的文字内容不固定,不适合此方案

  2. 使用百度API实现实时文字转语音播报(百度PAI短文本转语音)TTS,也就是使用百度免费的在线语音功能

    在uni-app中使用百度API实现实时文字转语音播报(百度PAI短文本转语音)TTS - 掘金 (juejin.cn)

    问题:此方案需要网络环境,项目现场为内网,也不适合此方案

  3. 使用第三方的离线语音包,具体实现思路如下:

四、实现思路

  1. pda上需要下载第三方离线语音包,安装应用程序,原因是因为目前市场上的PDA的文字转语音(TTS)输出是Pico TTS,但是Pico TTS自带安装语音数据包不含中文,因此我们需要含有中文的离线语音包

    [相关免费的安卓语音引擎TTS]Android文字转语音引擎(TTS)简单比较及下载_android tts 引擎_yingchengyou的博客-CSDN博客

    链接: pan.baidu.com/s/1gJLHPDiS… 提取码: ww25 复制这段内容后打开百度网盘手机App,操作更方便哦

  2. pda设置TTS

    honeywell的设置如下:

    设置—>系统—>语言和输入法->高级—>文字转语音(TTS)输出—>点击首选引擎—> 选择讯飞语记

    urovo的设置如下:

    设置—>语言和输入法->文字转语音(TTS)输出—> 选择讯飞语记

  3. 下载MT-TTS离线语音合成Demo

    gitee.com/aitter/mt-t…

  4. 下载MT-TTS插件地址

    MT-TTS离线语音合成 - DCloud 插件市场

  5. 把nativeplugins文件夹拷贝到项目根目录下面

    image.png

  6. 配置manifest.json文件,——> APP原生插件配置——>MT-TTs语音合成

    1694155812868.jpg

  7. MT-TTS离线语音合成Demo运行到真机需要制作自定义基座

    1694155845796.jpg

  8. 运行项目到自定义基座

    1694155884912.jpg

    image.png

  9. 最终效果

    b549674f214bba28260bd8559780ed0.jpg