博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第三方SDK:讯飞语音听写
阅读量:4129 次
发布时间:2019-05-25

本文共 3935 字,大约阅读时间需要 13 分钟。

名词 解释 语音合成    将一段文字转换为成语音,可根据需要合成出不同音色、语速和语调的声音,让机器像人一样开口说话。 语音听写	将一段语音转换成文本,把语音中包含文字信息提取出来,并可以优先识别用户手机特有的联系人和个性化数据。 语法识别	判断用户所说的内容是否与预定义的语法相符合,主要用于识别用户是否下达某项指令,使用语法识别前,需要先定义语法。 语义理解	在语音听写基础上,分析理解用户的说话意图,返回结构化的指令信息。开发者可在语义开放平台定义专属的问答格式。  语音评测 	通过智能语音技术自动对发音水平进行评价,给出用户综合得分和发音信息。 声纹密码		据语音波形反映说话人生理和行为特征的语音参数,自动识别说话人身份,声纹识别所提供的安全性可与其他生物识别技术(指纹、掌形和虹膜)相媲美。 人脸识别		基于人的脸部特征信息进行身份识别的一种生物识别技术,可以自动在图像中检测和跟踪人脸,进而对检测到的人脸进行检测和验证。系统同时支持人脸关键点检出、视频流人脸检测等功能,识别率高达99%。
1 语音听写:将我们说的话转换成文字形式出来
先看布局显示:
实现步骤:
 * 讯飞语音的听写  * 1 准备工作:导入jar+.so文件 ;添加权限 ; 初始化 语音配置 * 2 创建并初始化RecognizerDialog * 3 创建监听器RecognizerDialogListener
 
1 准备工作
	 官网注册拿到appId
下载sdk,将Msc.jar 和armeabi文件夹放到项目的lib文件夹中
配置权限:直接copy sdk中的即可;
初始化 语音配置
 
见图:
    
package com.baidu.speechrecognizer01;import com.iflytek.cloud.SpeechConstant;import com.iflytek.cloud.SpeechUtility;import android.app.Application;public class MyApplication extends Application {	@Override	public void onCreate() {		SpeechUtility.createUtility(getApplicationContext(), SpeechConstant.APPID+"=56dfe2f2");		super.onCreate();	}}
2 创建并初始化RecognizerDialog 3 创建监听器RecognizerDialogListener
 
其中JsonParser.java是从sdk中copy过来的。
package com.baidu.speechrecognizer01;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.ui.RecognizerDialog;import com.iflytek.cloud.ui.RecognizerDialogListener;import android.os.Bundle;import android.app.Activity;import android.content.Context;import android.util.Log;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;/* * 讯飞语音的听写  * 1 准备工作:导入jar+.so文件 ;添加权限 ; 初始化 语音配置 * 2 创建并初始化RecognizerDialog * 3 创建监听器RecognizerDialogListener */public class MainActivity extends Activity {	public String tag = "MainActivity";	public String text;	public TextView textView;	private Button btn;	public Context context = MainActivity.this;	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		textView = (TextView) findViewById(R.id.textView);		btn = (Button) findViewById(R.id.btn);		btn.setOnClickListener(new OnClickListener() {			@Override			public void onClick(View v) {				initRecognizerDialog();			}		});	}	private void initRecognizerDialog() {		// 1.创建RecognizerDialog对象		RecognizerDialog mDialog = new RecognizerDialog(context, initListener);		// 2.设置accent、language等参数		mDialog.setParameter(SpeechConstant.LANGUAGE, "zh_cn");		mDialog.setParameter(SpeechConstant.ACCENT, "mandarin");		// 若要将UI控件用于语义理解,必须添加以下参数设置,设置之后onResult回调返回将是语义理解//结果		// mDialog.setParameter("asr_sch", "1");		// mDialog.setParameter("nlp_version", "2.0");		// 3.设置回调接口		mDialog.setListener(mRecognizerDialogListener);		// 4.显示dialog,接收语音输入		mDialog.show();		text = "";	}	InitListener initListener = new InitListener() {		@Override		public void onInit(int code) {			if (code != ErrorCode.SUCCESS) {				Toast.makeText(context, "监听器初始化错误,错误代码=" + code,						Toast.LENGTH_SHORT).show();			}		}	};	RecognizerDialogListener mRecognizerDialogListener = new RecognizerDialogListener() {		@Override		public void onResult(RecognizerResult result, boolean isLast) {			String json = result.getResultString();			String content = JsonParser.parseIatResult(json);			text += content;			Log.d(tag, "###content=" + content);			textView.setText(text);		}		@Override		public void onError(SpeechError error) {			Toast.makeText(context, error.getErrorDescription(),					Toast.LENGTH_SHORT).show();		}	};}
 
你可能感兴趣的文章
linux虚拟机安装tar.gz版jdk步骤详解
查看>>
python实现100以内自然数之和,偶数之和
查看>>
python数字逆序输出及多个print输出在同一行
查看>>
苏宁产品经理面经
查看>>
百度产品经理群面
查看>>
去哪儿一面+平安科技二面+hr面+贝贝一面+二面产品面经
查看>>
element ui 弹窗在IE11中关闭时闪现问题修复
查看>>
vue 遍历对象并动态绑定在下拉列表中
查看>>
Vue动态生成el-checkbox点击无法选中的解决方法
查看>>
python __future__
查看>>
MySQL Tricks1
查看>>
python 变量作用域问题(经典坑)
查看>>
pytorch
查看>>
pytorch(三)
查看>>
ubuntu相关
查看>>
C++ 调用json
查看>>
nano中设置脚本开机自启动
查看>>
动态库调动态库
查看>>
Kubernetes集群搭建之CNI-Flanneld部署篇
查看>>
k8s web终端连接工具
查看>>