语音助手的安卓客户端设计

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yueqian_scut/article/details/77429787

一、开发环境配置

本论文选用科大讯飞开发平台提供的语音合成和语音识别技术,完成语音助手软件的开发,最终在安卓手机上正常运行。在win10完成,使用android studio开发编译,软件测试机器为魅蓝note2智能手机,相关配置如下表


            操作系统

       Flyme 4.5(基于Android 5.1)

            分辨率

       1920x1080像素

            内存

       2G

            Cpu

       1.3GHZ

           录音器

       支持16K、16bit录音方式

 

二、界面设计

    市场上的语音助手界面都简单明了,所以我的语音助手主界面就仿制siri,                                                  

三、科大讯飞语音开发平台的接入

   由于科大讯飞识别采用了应用程序id认证的方式提供服务,所以要在官网上先注册。语音助手后台接入了科大讯飞的语音识别引擎、语音合成引擎和语音听写引擎,在平台上实现对输入语音的解析,然后将结果返回到手机客户端。

1.  语音识别引擎

    电话语音识别引擎InterReco能为自助语音服务提供关键字语音识别,为用户提供全天候的优质语音服务。该产品整合了科大讯飞研究院、清华讯飞语音实验室及科大讯飞语音实验室在语音识别技术上多年的积累,专门针对中文语音识别的技术特点进行了全面的优化。针对语音识别应用经常面临的的方言口音,背景噪声和复杂信道等多种问题,InterRec收集不同方言和不同类型环境噪音的海量数据,采用最新的区分性训练方法来进行语音建模。使应用在复杂的环境下有良好的表现,核心技术达到世界领先水平。

产品的主要功能特性:

 

    a  对输入语音进行预处理,使音频符合识别要求:

 (1)端点检测      (2)噪音消除     (3)智能打断  

b通过识别,分析最可靠结果:

  (1)大词汇量,独立于说话人的健壮功能 (2)置信度输出 (3)多识别结果

  (4)说话人的自适应 (5)多槽识别     (6)热词识别   (7)智能调整识别策略

  (8)语音输入       (9)语音日志

1.1 语音识别语法功能

语法功能是语音识别系统中非常重要的一个部分,包含了语法和语义,语法就是列出了系统所有能支持的说话语句而语义就是列出每个关键词的含义。

InterReco使用国际标准语法定义协议,提供最方便的语法功能,包括:

(1)支持XML格式和ABNF格式的语法书写。

(2)支持在线编译语法文件也可以支持离线加载预编译的二进制文件。

(3)系统运行中,可以通过开发接口动态加载和卸载语法。

(4)系统运行中,加载使用的语法,结束后也可以把该语法设置为非激活状态。

(5)InterReco可以对语法进行缓存处理,提高系统性能。

(6)支持动态语法功能,因为有的语法不能在启动应用前确定。

(7)通过分析,语法不同条目的权重,极大提高了系统语音识别的准确率。

(8)编译过程中,自动优化语法,提高加载的速度。

(9)允许通过http协议获取远程服务以满足不同应用需求。

(10)系统内置常用场景语法,加速程序开发过程。

1.2语音识别QISR接口

QISR接口实现语音识别功能,其提供的函数功能有

         函数名称

          功能简介

    QISRInit

      初始化MSC的ISR部分

    QISRSessionBegin

      开始一个ISR会话

    QISRGrammarActivate

      传入语法

    QISRAudioWrite

      写入用来识别的语音

    QISRGetResult

      获取识别结果

    QISRUploadData

      上传用户自定义数据

    QISRSessionEnd

      结束一路会话

    QISRGetParam

      获取/识别交互相关的参数

    QISRFini

      逆初始化MSC的ISR部分

 

2 语音合成引擎

语音合成引擎InterPhonic使用先进的算法和方法,合成效果自由度和流畅度接近真人发声效果。主要功能特性有:

(1)快速将文本和语音数据转换,合成高质量语音。

(2)支持粤语,河南话和四川话等多种方言的合成。

(3)用户可自定义选择厚重男声和优美女声的风格合成服务,满足产品个性话需求。

(4)能智能分析和处理特殊符号、标点符号等复杂文本。

(5)提供不同采样频率的音频数据,满足不同平台需求。

(6)支持语速和语调等合成参数的动态调整。

(7)提供了定制资源包,对实现应用环境合成效果进行优化。

(8)为不同开发者以及不同平台提供统一接口和访问方式,快捷开发,透明访问。

(9)InterPhonic支持预录音抬升语音合成自然度和流畅度。

2.1 语音合成QTTS接口

 QTTS接口实现语音合成功能,其提供的函数功能有

         函数名称

          功能简介

    QTTSInit

      初始化MSC的TTS部分

    QTTSSessionBegin

      开始一个TTS会话

   QTTSAudioGet

      获取合成语音

    QTTSTextPut

      输入要合成的文本

    QTTSAudioInfo

      获取音频相关信息

    QTTSSessionEnd

      结束一路会话

    QTTSLogEvent

  将用户发送的时间信息记入服务器端日志

    QTTSGetParam

      获取合成交互相关的参数

    QTTSFini

      逆初始化MSC的TTS部分

 

四 打电话模块的实现

1功能说明

      用户通过点击语音识别按钮后,说出“打电话给XXX”就可以自动跳转拨打电话页面,从而拨打电话。

2 具体流程图


(1)用户点击识别按钮,听到“叮”的一声后说出“打电话给mm”命令.

(2)语音助手获取语音命令,然后将语音上传到msp平台。

(3)MSP平台收到语音数据后进行转写和识别,然后将识别结果回传给语音助手。

(4)语音助手接受并解析识别结果。

(5)语音助手将识别结果传到电话的拨号处理模块

(6)拨号处理模块在通讯录中查找联系人,呼叫电话。


关注微信公众号:嵌入式企鹅圈,获得上百篇物联网原创技术分享!


阅读更多

没有更多推荐了,返回首页