百度語音識別cordova外掛
前言
- 這是一個百度語音識別的cordova外掛。為什麼使用百度語音識別,因為是免費的,識別的準確度也還挺不錯的。
- 這個外掛只包含語音識別功能,不包含其他的比如喚醒、長語音功能。
- 百度語音開發文件 http://ai.baidu.com/docs#/ASR-API/top
支援平臺
- Android
- iOS
安裝
線上npm安裝
cordova plugin add cordova-plugin-bdasr --variable APIKEY=[your apikey] --variable SECRETKEY=[your secretkey] --variable APPID=[your appid]
線上url安裝
cordova plugin add https://github.com/hhjjj1010/cordova-plugin-bdasr.git --variable APIKEY=[your apikey] --variable SECRETKEY=[your secretkey] --variable APPID=[your appid]
本地安裝
cordova plugin add /your localpath --variable APIKEY=[your apikey] --variable SECRETKEY=[your secretkey] --variable APPID=[your appid]
API使用
// 開啟語音識別
cordova.plugins.bdasr.startSpeechRecognize();
// 語音識別事件監聽
cordova.plugins.bdasr.addEventListener(function (res) {
// res引數都帶有一個type
if (!res) {
return;
}
switch (res.type) {
case "asrReady": {
// 識別工作開始,開始採集及處理資料
$scope.$apply(function () {
// TODO
});
break;
}
case "asrBegin": {
// 檢測到使用者開始說話
$scope.$apply(function () {
// TODO
});
break;
}
case "asrEnd": {
// 本地聲音採集結束,等待識別結果返回並結束錄音
$scope.$apply(function () {
// TODO
});
break;
}
case "asrText": {
// 語音識別結果
$scope.$apply(function () {
var message = angular.fromJson(res.message);
var results = message["results_recognition"];
});
break;
}
case "asrFinish": {
// 語音識別功能完成
$scope.$apply(function () {
// TODO
});
break;
}
case "asrCancel": {
// 語音識別取消
$scope.$apply(function () {
// TODO
});
break;
}
default:
break;
}
}, function (err) {
alert("語音識別錯誤");
});
// 主動結束語音識別
cordova.plugins.bdasr.closeSpeechRecognize();
// 主動取消語音識別
cordova.plugins.bdasr.cancelSpeechRecognize();
寫在最後
因為對android開發並不是很熟悉,所以特此記錄在開發外掛的android端時遇到的一些問題
-
載入so庫,對應不同的平臺,需要新增不同平臺的.so檔案
<source-file src="src/android/libs/armeabi/libBaiduSpeechSDK.so" target-dir="libs/armeabi"/> <source-file src="src/android/libs/armeabi/libvad.dnn.so" target-dir="libs/armeabi"/> <source-file src="src/android/libs/x86_64/libBaiduSpeechSDK.so" target-dir="libs/x86_64"/> <source-file src="src/android/libs/x86_64/libvad.dnn.so" target-dir="libs/x86_64"/> <source-file src="src/android/libs/x86/libBaiduSpeechSDK.so" target-dir="libs/x86"/> <source-file src="src/android/libs/x86/libvad.dnn.so" target-dir="libs/x86"/> <source-file src="src/android/libs/arm64-v8a/libBaiduSpeechSDK.so" target-dir="libs/arm64-v8a"/> <source-file src="src/android/libs/arm64-v8a/libvad.dnn.so" target-dir="libs/arm64-v8a"/> <source-file src="src/android/libs/armeabi-v7a/libBaiduSpeechSDK.so" target-dir="libs/armeabi-v7a"/> <source-file src="src/android/libs/armeabi-v7a/libvad.dnn.so" target-dir="libs/armeabi-v7a"/>
PermissionHelper.requestPermission()方法封裝了動態獲取許可權的程式碼
動態獲取許可權的回撥方法:public void onRequestPermissionResult(int requestCode, String[] permissions, int[] grantResults) throws JSONException {})
相關文章
- 科大訊飛cordova語音外掛填坑及api介紹API
- 百度API---語音識別API
- 如何建立Cordova外掛
- cordova列印外掛備註
- Cordova開發app——使用外掛錄音並上傳伺服器APP伺服器
- Cordova學習--iOS自定義外掛iOS
- 語音識別模型模型
- 用python呼叫百度語音識別api批量處理本地語音檔案PythonAPI
- 給Ionic寫一個cordova(PhoneGap)外掛
- 快速自定義Cordova外掛(-配置檔案)
- JavaScript的語音識別JavaScript
- 語音識別技術
- 語音情感識別--RNNRNN
- Chrome外掛:雲音樂聽歌識曲Chrome
- C# 10分鐘完成百度語音技術(語音識別與合成)——入門篇C#
- JetBrains Kubernets 外掛識別 Istio CRD 物件AI物件
- 樹莓派語音互動--語音輸入識別樹莓派
- Swift-語音識別、翻譯Swift
- Python語音識別終極指南Python
- 人工智慧 (08) 語音識別人工智慧
- ASR-使用whisper語音識別
- 【Recorder.js+百度語音識別】全棧方案技術細節JS全棧
- [外掛擴充套件]百度分享外掛套件
- ionic中使用熱更新外掛cordova-hot-code-push
- laravel通過classmap整合第三方包百度語音識別LaravelSSM
- [外掛擴充套件]百度統計外掛套件
- 人工智慧之語音識別(ASR)人工智慧
- [譯] 使用 WFST 進行語音識別
- 語音識別2 -- Listen,Attend,and Spell (LAS)
- 【JAVA】使用百度語音識別 Rest API,遇到識別結果顯示亂碼的問題和解決JavaRESTAPI
- 怎麼關閉win10語音識別 win10如何關閉電腦的語音識別Win10
- 智慧音訊混音外掛音訊
- 外掛級OCR神器:免費文件解析、表格識別、手寫識別、古籍識別、PDF轉Word
- python語音識別入門及實踐Python
- 記一次ionic使用file外掛cordova plugin file的坑Plugin
- [外掛擴充套件]蝦米音樂電臺外掛套件
- [外掛擴充套件]onethink自定義欄位外掛 百度地圖定位 外掛套件地圖
- PR語音轉字幕轉換外掛Speech to Text for Premiere Pro 2022REM
- 阿里AI語音鑑黃反垃圾服務上線公測 可識別多種外語和方言阿里AI