android app实现多种语音,基于Android的语音助手APP

张路瑶 蔡虹

android app实现多种语音,基于Android的语音助手APP_第1张图片

android app实现多种语音,基于Android的语音助手APP_第2张图片

【摘要】本项目采用Java语言,基于Android Studio平台打造的一款智能语音助手APP。旨在为用户提供智能化的服务,提高人机交互速率,除实现了目前市场已有的语音助手的功能外,加入了特色化的音频文件转写功能,为用户的生活、办公等提供了方便快捷的渠道,如会议音频文件处理。通过调用Android麦克风接收用户的语音输入,通过集成百度SDK进行语音识别,并通过算法实现关键字提取,并完成用户需求的实现。音频转写功能是通过restapi形式的http接口的调用,实现用户选取指定文件对其进行转写的需求。

【关键词】Java Android 语音识别 文件转写

一、引言

由于智能手机平台和应用日新月异的发展,使得智能手机的使用以及服务的使用变得愈加复杂,为了提高人机交互的效率,让用户更加方便地使用智能手机,本文设计并实现了智能语音助手APP,提供给用户更多样、更快捷的智能服务。

二、功能分析

本项目为基于Android的一款智能服务类软件,用户通过语音进行人机交互,实现多种基本功能,并且可以进行特色化的长语音文件的转换、保存。

语音识别与显示功能为用户提供高精度的语音识别服务,融合百度领先的自然语言处理技术,支持多场景智能语音交互,对用户的语音信息经过处理,转换为文字信息,显示在用户界面上;语意分析与功能实现,是用户通过语音描述需求,软件通过对语音信息的分析以及关键字的提取,获取用户想要实现的功能,并自动进入不同的平台进行功能的实现;音频文件向文本的转换,用户通过菜单项选择进入音频文件转写界面,选择需要转写的音频文件,转写完成的文字将显示在界面的文本框中,用户可以选择是否进行文本的编辑和以文档方式的保存。

三、功能实现

语音输入调用Android的麦克风权限,用户点击界面的麦克风图标即可开始进行语音输入,通过捕捉音频并通过集成百度离在线语音识别Android SDK框架,完成语音的识别工作,识别完成后会将识别结果展示在用户界面。在识别结束后,通过算法实现语音的关键字提取完成语意的理解,并通过算法完成用户需求的实现。核心代码如下:

SpeechLongBottomSheetDialogspeechLongBottomSheetDia-

log = SpeechLongBottomSheetDialog.getInstance(MainActivity.this);

speechLongBottomSheetDialog.seOnResultListItemClickListener(new SpeechLongBottomSheetDialog.OnResultListItemClickListener() {@Override

public void onItemClick(String title) {analysisResult=analysis.start();

switch (analysisResult){//body}

用户通过菜单项的选择进入音频文件转写界面,音频文件的选择是申请了Android的WRITE_EXTERNAL_STORAGE权限,获取SD卡所有的Audio文件供用户选择,用户选择文件后可对音频进行播放试听,点击转写按钮对文件进行转写。核心代码如下:

Url+=access_token;

OkHttpClient client=new OkHttpClient().newBuilder().build();

MediaType mediaType=MediaType.parse("application/json");

RequestBodyrequestBody=RequestBody.create(mediaType,"{\r\n\"speech_url\":\"http://speech-doc.gz.bcebos.com/

rest-api-asr/public_audio/16k.pcm\",\r\n\"pid\":1537,\r\

n\"rate\":16000,\r\n \"format\": \"pcm\"\r\n}");

Request request=new Request.Builder().url(Url).post(requestBody).addHeader("ContentType","application/json"

).build();

Response response=client.newCall(request).execute();

四、實现效果

图2为语音识别功能界面实现图,通过点击下方麦克风图标可进行语音输入,识别结果及系统回复将显示在用户界面,随后,系统将根据用户语音的识别结果进行相应的跳转,如通话,打开指定软件,搜索等。

图3为音频文件转写功能界面实现图,通过点击图2所示的主界面中的菜单进行跳转,在次界面,用户点击加号图标添加音频文件,可通过播放按钮控制该音频文件的播放和暂停,点击转换按钮,系统将转换完成的文本显示在下方文本框,供用户操作。

参考文献:

[1]郭霖.第一行代码——Android(2版)[M].人民邮电出版社,2016.

[2]杨丰盛.Android应用开发揭秘[M].机械工业出版社,2010.

[3]李刚.疯狂Android讲义[M].电子工业出版社,2015.

基金项目:课题资助:南昌航空大学第14届三小课题。

你可能感兴趣的:(android,app实现多种语音)