讯飞语音JavaWeb语音合成解决方案

  • 讯飞语音JavaWeb语音合成解决方案已关闭评论
  • 115,014 views
  • A+
所属分类:编程开发

讯飞语音JavaWeb语音合成解决方案

在线语音合成

将文字信息转化为声音信息,给应用配上“嘴巴”。我们提供了众多极具特色的发音人(音库)供您选择。其合成音在音色、自然度等方面的表现均接近甚至超过了人声。这种语音合成体验,达到了真正可商用的标准

讯飞的语音合成还是很牛P的,不但有基础发音人,还有精品发音人、特色发音人、明星发音人,当然你如果有特殊要求还可以定制。

这里我们选择基础发音人做简单的JavaWeb集成测试,因为其他选项还要申请,想想还是算了,等流程走通再说。

平台环境

JDK1.7、Tomcat8、Eclipse、讯飞JDK、win+ffmpeg(测试)、Linux+Docker+ffmpeg(生产)

说明:讲真,Win平台下ffmpeg安装使用还是很轻松的,直接下载压缩包免安装,JAVA直接调用执行命令即可。Linux下各种依赖编译能把你的小机器跑死,并且还各种编译错误,然后就果断使用了Docker,唯一头疼的是,这个环境真干净,各种命令不支持,当然这也是Docker的优点。

流程图

讯飞语音JavaWeb语音合成解决方案

Web集成

讯飞为我们提供了简单的SDK,科大讯飞MSC开发指南-Java。当然,前提你要有一个讯飞的账号,注册、创建应用什么的这里就不赘述了,只要最后能获取到一个APP_ID就可以。

Win+ffmpeg(测试)

  • 讯飞语音合成需要动态链接库支持,根据自己的系统把msc64.dll或者msc32.dll放到指定的目录,可以使用System.getProperty(“java.library.path”)查看,放置到任意目录即可。
  • 根据自己的系统下载对应的ffmpeg,解压即可,直接调用bin目录下的ffmpeg.exe即可。-

Linux+Docker+ffmpeg(生产)

获取ffmpeg镜像

  1. docker pull jrottenberg/ffmpeg

创建并运行容器

  1. docker run -it --name app_ffmpeg -p 8080:8080 -v /home/app_ffmpeg/:/mnt/app/ --entrypoint='bash' jrottenberg/ffmpeg

注意:Docker容器中,各种yum、wget以及vim是不存在的,所以大都数配置通过宿机获取然后同步复制到容器中。

安装配置JDK

甲骨文给弄的必须认证下载了,这里我们自行下载并手动上传到/home/app_ffmpeg目录下。

  1. # 复制配置文件到宿机
  2. docker cp 4f131c866092:/etc/profile /home/app_ffmpeg/

编辑profile,追加以下配置

  1. #set java environment
  2. JAVA_HOME=/mnt/app/jdk1.7.0_80
  3. JRE_HOME=/mnt/app/jdk1.7.0_80/jre
  4. CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
  5. PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
  6. export JAVA_HOME JRE_HOME CLASS_PATH PATH
  1. # 复制配置文件到容器
  2. docker cp /home/app_ffmpeg/profile 4f131c866092:/etc/

进入容器,生效配置

  1. # 进入容器
  2. docker exec -it app_ffmpeg bash
  3. # 使配置生效
  4. source /etc/profile
  5. # 检查JDK是否安装成功
  6. java -version

安装配置Tomcat

如果tomcat启动卡主不动

找到jdk1.x.x_xx/jre/lib/security/java.security文件,在文件中找到securerandom.source这个设置项,将其改为:

  1. securerandom.source=file:/dev/./urandom

如果tomcat输出中文乱码

  1. locale
  2. locale -a
  3. LANG=C.UTF-8 (有的是zh_CN.UTF-8,不过我在本地没发现这种编码)
  4. source /etc/profile

配置讯飞动态库

根据自己的系统版本,分别把libmsc32.so 或者 libmsc64.so 上传到/lib/ 和 /lib64/ 目录。

开源项目

https://gitee.com/52itstyle/xufei_msc

演示地址

http://xunfei.52itstyle.com/xufei_msc/

 

分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大家指正,共同进步。

  • 我的微信
  • 微信扫一扫
  • weinxin
  • 微信公众号
  • 微信公众号扫一扫
  • weinxin
avatar