張路瑤 蔡虹


【摘要】本項目采用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屆三小課題。