Android之讯飞语音合成和语音识别

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

目前只要是关于小说或者英语相关软件,就会遇到需要朗读文本或者单词,这时就需要涉及到语音合成功能,如果再涉及一些聊天啥的(不一定是即时通讯)就会涉及语音识别,比如简单的聊天问AI,用语音问,这时后台会告诉你AI那边没有语音的,需要把语音转成文字给AI,来吧,看看怎么实现。


效果图

在这里插入图片描述
在这里插入图片描述

一、去讯飞官网注册讯飞官网

去讯飞官网注册后进行实名认证,然后创建应用就会得到APP_ID。

二、下载jar和so文件讯飞SDK

三、语音合成

1.将jar和so文件放到libs文件下并引用(必须要so文件)

代码如下(语音合成和识别共用):

    //讯飞
    implementation files('libs/Msc.jar')

2.Application中实例化

代码如下(语音合成和识别共用,切记保留appid=,只替换后面YOUR_APP_ID):

// 初始化讯飞 SDK(替换 YOUR_APP_ID)
SpeechUtility.createUtility(this, "appid=YOUR_APP_ID")

3.activity中使用

    //定义变量
    private var tts: SpeechSynthesizer? = null
    // 初始化语音合成器
    tts = SpeechSynthesizer.createSynthesizer(this, null)
    //朗读 xiaoyan这里自己去新建应用后找到语音合成,特色发音,新建发音人
    private fun startTTS(text: String?) {
   
   
        // 设置参数
        tts!!.setParameter(SpeechConstant.VOICE_NAME, "xiaoyan")
        tts!!.setParameter(SpeechConstant.SPEED, "40") // 语速(0~100)
        tts!!.setParameter(SpeechConstant.PITCH, "50") // 音调(0~100)
        tts!!.setParameter(SpeechConstant.VOLUME, "100") // 音量(0~100)

        // 开始合成并播放
        tts!!.startSpeaking(text, object : SynthesizerListener {
   
   
            override fun onSpeakBegin() {
   
   
                // 开始播放
            }

            override fun onBufferProgress(percent: Int, beginPos: Int, endPos: Int, info: String?) {
   
   
                // 缓冲进度
            }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶已初秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值