Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 988|回复: 0

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

[复制链接]
  • TA的每日心情
    奋斗
    2025-3-18 14:43
  • 签到天数: 805 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    73万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    731050
    发表于 2021-4-26 19:50:00 | 显示全部楼层 |阅读模式

    在线语音合成

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

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

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

    平台环境

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

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

    流程图

    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镜像

    docker pull jrottenberg/ffmpeg
    

    创建并运行容器

    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目录下。

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

    编辑profile,追加以下配置

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

    进入容器,生效配置

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

    安装配置Tomcat

    如果tomcat启动卡主不动

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

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

    如果tomcat输出中文乱码

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

    配置讯飞动态库

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

    开源项目

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

    演示地址

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

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-5-7 09:16 , Processed in 0.081604 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表