android studio怎么加讯飞语音

android studio怎么加讯飞语音,第1张

第一步 :了解TTS语音服务

TTS的全称为Text To Speech,即“从文本到语音”。它是同时运用语言学和心理学的杰出之作,在内置芯片的支持之下,通过神经网络的设计,把文字智能地转化为自然语音流。

TTS技术对文本文件进行实时转换,转换时间之短可以秒计算。在其特有智能语音控制器作用下,文本输出的语音音律流畅,使得听者在听取信息时感觉自然,毫无机器语音输出的冷漠与生涩感。使用户可以听到清晰悦耳的音质和连贯流畅的语调

讯飞语言服务分为在线合成和本地合成,其中本地合成需要下载语言包,这和google的TTS一样,但是google的TTS在有的手机中不被支持或者是不支持中文。在这里我们使用的是在线合成的方法,需要有一点点的网速,否则会出现网络缓慢,暂停播放的提示。

第二步:了解主要对象和方法

// 语音合成对象

private SpeechSynthesizer mTts

// 语音听写对象

private SpeechRecognizer mIat

//初始化TTS

mTts = SpeechSynthesizer.createSynthesizer(IatDemo.this, mTtsInitListener)

//主要方法 text为要读的文本

mTts.startSpeaking(text, mTtsListener)

//语音对象参数设置

// 设置听写引擎

mIat.setParameter(SpeechConstant.ENGINE_TYPE, mEngineType)

// 设置返回结果格式

mIat.setParameter(SpeechConstant.RESULT_TYPE, "json")

String lag = mSharedPreferences.getString("iat_language_preference",

"mandarin")

if (lag.equals("en_us")) {

// 设置语言

mIat.setParameter(SpeechConstant.LANGUAGE, "en_us")

} else {

// 设置语言

mIat.setParameter(SpeechConstant.LANGUAGE, "zh_cn")

// 设置语言区域

mIat.setParameter(SpeechConstant.ACCENT, lag)

}

// 设置语音前端点:静音超时时间,即用户多长时间不说话则当做超时处理

mIat.setParameter(SpeechConstant.VAD_BOS, mSharedPreferences.getString("iat_vadbos_preference", "4000"))

// 设置语音后端点:后端点静音检测时间,即用户停止说话多长时间内即认为不再输入, 自动停止录音

mIat.setParameter(SpeechConstant.VAD_EOS, mSharedPreferences.getString("iat_vadeos_preference", "1000"))

// 设置标点符号,设置为"0"返回结果无标点,设置为"1"返回结果有标点

mIat.setParameter(SpeechConstant.ASR_PTT, mSharedPreferences.getString("iat_punc_preference", "1"))

// 设置音频保存路径,保存音频格式支持pcm、wav,设置路径为sd卡请注意WRITE_EXTERNAL_STORAGE权限

// 注:AUDIO_FORMAT参数语记需要更新版本才能生效

mIat.setParameter(SpeechConstant.AUDIO_FORMAT,"wav")

mIat.setParameter(SpeechConstant.ASR_AUDIO_PATH, Environment.getExternalStorageDirectory()+"/msc/iat.wav")

// 设置听写结果是否结果动态修正,为“1”则在听写过程中动态递增地返回结果,否则只在听写结束之后返回最终结果

// 注:该参数暂时只对在线听写有效

mIat.setParameter(SpeechConstant.ASR_DWA, mSharedPreferences.getString("iat_dwa_preference", "0"))

第三步:实现功能

package com.jerehedu.administrator.mysounddemo

import android.annotation.SuppressLint

import android.app.Activity

import android.content.SharedPreferences

import android.os.Bundle

import android.os.Environment

import android.util.Log

import android.view.View

import android.view.View.OnClickListener

import android.view.Window

import android.widget.EditText

import android.widget.RadioGroup

import android.widget.Toast

import com.iflytek.cloud.ErrorCode

import com.iflytek.cloud.InitListener

import com.iflytek.cloud.RecognizerListener

import com.iflytek.cloud.RecognizerResult

import com.iflytek.cloud.SpeechConstant

import com.iflytek.cloud.SpeechError

import com.iflytek.cloud.SpeechRecognizer

import com.iflytek.cloud.SpeechSynthesizer

import com.iflytek.cloud.SynthesizerListener

import com.iflytek.cloud.ui.RecognizerDialog

import com.iflytek.cloud.ui.RecognizerDialogListener

import com.iflytek.sunflower.FlowerCollector

import org.json.JSONException

import org.json.JSONObject

import java.util.HashMap

import java.util.LinkedHashMap

当我插入mp3文件时,会出现图1的情况,文件默认是text文件,只要经过以下 *** 作,可以转换文件类型

## 第一:copy一下guide.mp3文件,粘贴到raw文件中

    会d出图2

### 第三:将图2中的 .mp3 后缀改成 .text 

### 第四:勾选 Open matching files in associated application 并且在最上方的 *. 出填上 *.mp3即可


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7932089.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存