日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 讯飞离线语音听写/离线语音识别SDK

發(fā)布時(shí)間:2023/12/14 Android 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 讯飞离线语音听写/离线语音识别SDK 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

平臺(tái)

Android + 訊飛離線語音SDK

SDK包

下載路徑及方法見訊飛官方SDK文檔:
離線語音聽寫 Android SDK 文檔 #

在開發(fā)者控制臺(tái), 可以直接下載SDK.

SDK包中的文件結(jié)構(gòu)

~/Downloads/Android_esriat_exp1143_5a2b58b9$ tree . ├── assets 帶UI需要用到的一些圖片等資源 │ └── iflytek │ ├── recognize.xml │ ├── voice_bg.9.png │ ├── voice_empty.png │ ├── voice_full.png │ ├── waiting.png │ └── warning.png ├── libs JNI庫能JAR包, 只支持v7, v8 64 │ ├── arm64-v8a │ │ └── libmsc.so │ ├── armeabi-v7a │ │ └── libmsc.so │ └── Msc.jar ├── readme.txt ├── release.txt ├── res SDK資源 │ ├── asr │ ├── iat │ │ ├── common.jet │ │ └── sms_16k.jet │ ├── ivw │ ├── layout │ │ └── ifly_layout_mnotice_image.xml │ ├── tts │ └── xtts └── sample 參考DEMO└── mscV5PlusDemo├── build.gradle├── libs│ ├── arm64-v8a│ │ └── libmsc.so│ ├── armeabi-v7a│ │ └── libmsc.so│ └── Msc.jar├── lint.xml├── msc.cfg└── src└── main├── AndroidManifest.xml├── assets│ ├── asr│ ├── call.bnf│ ├── grammar_sample.abnf│ ├── iat│ ├── iattest.wav│ ├── iflytek│ │ ├── recognize.xml│ │ ├── voice_bg.9.png│ │ ├── voice_empty.png│ │ ├── voice_full.png│ │ ├── waiting.png│ │ └── warning.png│ ├── ivw│ ├── layout│ │ └── ifly_layout_mnotice_image.xml│ ├── tts│ ├── userwords│ ├── wake.bnf│ ├── wake_grammar_sample.abnf│ └── xtts├── java│ └── com│ └── iflytek│ ├── mscv5plusdemo│ │ ├── AsrDemo.java│ │ ├── IatDemo.java│ │ ├── IvwActivity.java│ │ ├── MainActivity.java│ │ ├── OneShotDemo.java│ │ ├── SpeechApp.java│ │ ├── TtsDemo.java│ │ └── WakeDemo.java│ └── speech│ ├── setting│ │ ├── IatSettings.java│ │ └── TtsSettings.java│ └── util│ ├── FucUtil.java│ ├── JsonParser.java│ ├── SettingTextWatcher.java│ └── XmlParser.java└── res├── drawable│ ├── cancel_button.xml│ ├── list_bg_color.xml│ ├── main_setting_btn_np.xml│ ├── ok_button.xml│ ├── setting.png│ └── setting_p.png├── drawable-hdpi│ ├── bg.png│ ├── btn_left_f.9.png│ ├── btn_left_n.9.png│ ├── btn_left_p.9.png│ ├── btn_left.xml│ ├── btn_right_f.9.png│ ├── btn_right_n.9.png│ ├── btn_right_p.9.png│ ├── btn_right.xml│ ├── button_login.xml│ ├── cancel.9.png│ ├── cancel_p.9.png│ ├── editbox.9.png│ ├── edittext_name.9.png│ ├── head.png│ ├── icon.png│ ├── login.png│ ├── login_p.png│ ├── mic_0.png│ ├── mic_1.png│ ├── mic_2.png│ ├── mic_3.png│ ├── name_left.png│ ├── name_right.png│ ├── ok.9.png│ ├── ok_d.9.png│ ├── ok_p.9.png│ ├── pane_bg.9.png│ └── superman.9.png├── drawable-ldpi│ └── icon.png├── drawable-mdpi│ └── icon.png├── layout│ ├── iatdemo.xml│ ├── isrdemo.xml│ ├── ivw_activity.xml│ ├── list_items.xml│ ├── main.xml│ ├── oneshot_activity.xml│ ├── title.xml│ ├── ttsdemo.xml│ └── wake_activity.xml├── values│ ├── colors.xml│ ├── dimen.xml│ ├── strings.xml│ └── styles.xml└── xml├── iat_setting.xml├── tts_setting.xml└── understand_setting.xml42 directories, 101 files

使用

首先可以嘗試使用SDK中的DEMO, 將Sample下的mscV5PlusDemo導(dǎo)入到Android Studio中,

~/StudioProjects/TestCodes/mscV5PlusDemo$ ll total 612 drwxrwxr-x 5 anson anson 4096 3月 14 10:43 ./ drwxrwxr-x 20 anson anson 4096 3月 14 10:37 ../ -rw-rw-r-- 1 anson anson 836 3月 14 09:14 build.gradle drwxrwxr-x 4 anson anson 4096 3月 14 10:07 libs/ -rw-rw-r-- 1 anson anson 53 3月 14 09:14 lint.xml -rw-rw-r-- 1 anson anson 5517 3月 14 09:14 msc.cfg drwxrwxr-x 3 anson anson 4096 3月 14 10:07 src/

PS: 需要打開 android.useAndroidX=true配置, 有可能還需解決一些JDK版本不支持LAMBA語法的支持,這里略過.
運(yùn)行:


一個(gè)小插曲: SDK中的DEMO運(yùn)行離線識(shí)別時(shí), DEMO居然報(bào)錯(cuò)了??

2022-03-14 10:56:34.643 18483-18483/com.iflytek.mscv5plusdemo W/System.err: java.io.FileNotFoundException: iat/common.jet 2022-03-14 10:56:34.643 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.content.res.AssetManager.nativeOpenAssetFd(Native Method) 2022-03-14 10:56:34.643 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.content.res.AssetManager.openFd(AssetManager.java:966) 2022-03-14 10:56:34.644 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at com.iflytek.cloud.util.ResourceUtil.a(SourceFile:11) 2022-03-14 10:56:34.644 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at com.iflytek.cloud.util.ResourceUtil.generateResourcePath(SourceFile:4) 2022-03-14 10:56:34.644 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at com.iflytek.mscv5plusdemo.IatDemo.getResourcePath(IatDemo.java:358) 2022-03-14 10:56:34.644 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at com.iflytek.mscv5plusdemo.IatDemo.setParam(IatDemo.java:326) 2022-03-14 10:56:34.644 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at com.iflytek.mscv5plusdemo.IatDemo.onClick(IatDemo.java:116) 2022-03-14 10:56:34.644 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.view.View.performClick(View.java:7312) 2022-03-14 10:56:34.644 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.view.View.performClickInternal(View.java:7286) 2022-03-14 10:56:34.644 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.view.View.access$3600(View.java:838) 2022-03-14 10:56:34.644 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.view.View$PerformClick.run(View.java:28242) 2022-03-14 10:56:34.644 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.os.Handler.handleCallback(Handler.java:900) 2022-03-14 10:56:34.644 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.os.Handler.dispatchMessage(Handler.java:103) 2022-03-14 10:56:34.644 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.os.Looper.loop(Looper.java:219) 2022-03-14 10:56:34.644 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.app.ActivityThread.main(ActivityThread.java:8668) 2022-03-14 10:56:34.644 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at java.lang.reflect.Method.invoke(Native Method) 2022-03-14 10:56:34.644 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513) 2022-03-14 10:56:34.644 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109) 2022-03-14 10:56:34.644 18483-18483/com.iflytek.mscv5plusdemo W/System.err: java.io.FileNotFoundException: iat/sms_16k.jet 2022-03-14 10:56:34.645 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.content.res.AssetManager.nativeOpenAssetFd(Native Method) 2022-03-14 10:56:34.645 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.content.res.AssetManager.openFd(AssetManager.java:966) 2022-03-14 10:56:34.645 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at com.iflytek.cloud.util.ResourceUtil.a(SourceFile:11) 2022-03-14 10:56:34.645 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at com.iflytek.cloud.util.ResourceUtil.generateResourcePath(SourceFile:4) 2022-03-14 10:56:34.645 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at com.iflytek.mscv5plusdemo.IatDemo.getResourcePath(IatDemo.java:360) 2022-03-14 10:56:34.645 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at com.iflytek.mscv5plusdemo.IatDemo.setParam(IatDemo.java:326) 2022-03-14 10:56:34.645 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at com.iflytek.mscv5plusdemo.IatDemo.onClick(IatDemo.java:116) 2022-03-14 10:56:34.645 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.view.View.performClick(View.java:7312) 2022-03-14 10:56:34.645 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.view.View.performClickInternal(View.java:7286) 2022-03-14 10:56:34.645 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.view.View.access$3600(View.java:838) 2022-03-14 10:56:34.645 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.view.View$PerformClick.run(View.java:28242) 2022-03-14 10:56:34.645 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.os.Handler.handleCallback(Handler.java:900) 2022-03-14 10:56:34.645 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.os.Handler.dispatchMessage(Handler.java:103) 2022-03-14 10:56:34.645 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.os.Looper.loop(Looper.java:219) 2022-03-14 10:56:34.645 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at android.app.ActivityThread.main(ActivityThread.java:8668) 2022-03-14 10:56:34.645 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at java.lang.reflect.Method.invoke(Native Method) 2022-03-14 10:56:34.645 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513) 2022-03-14 10:56:34.645 18483-18483/com.iflytek.mscv5plusdemo W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109)

有兩個(gè)文件找不到: iat/common.jetiat/sms_16k.jet

這兩個(gè)文件在SDK包中的:

Android_esriat_exp1143_5a2b58b9/res/iat/ total 32020 drwxr-xr-x 2 anson anson 4096 3月 14 09:14 ./ drwxr-xr-x 8 anson anson 4096 3月 14 09:14 ../ -rw-r--r-- 1 anson anson 9781778 3月 14 09:14 common.jet -rw-r--r-- 1 anson anson 22994400 3月 14 09:14 sms_16k.jet

找到并把這兩個(gè)文件拷貝到項(xiàng)目相應(yīng)的目錄下: src/main/assets/iat/
完整文件目錄結(jié)構(gòu)如下:

├── build.gradle ├── libs │ ├── arm64-v8a │ │ └── libmsc.so │ ├── armeabi-v7a │ │ └── libmsc.so │ └── Msc.jar ├── lint.xml ├── msc.cfg └── src└── main├── AndroidManifest.xml├── assets│ ├── asr│ ├── call.bnf│ ├── grammar_sample.abnf│ ├── iat│ │ ├── common.jet│ │ └── sms_16k.jet│ ├── iattest.wav│ ├── iflytek│ │ ├── recognize.xml│ │ ├── voice_bg.9.png│ │ ├── voice_empty.png│ │ ├── voice_full.png│ │ ├── waiting.png│ │ └── warning.png│ ├── ivw│ ├── layout│ │ └── ifly_layout_mnotice_image.xml│ ├── tts│ ├── userwords│ ├── wake.bnf│ ├── wake_grammar_sample.abnf│ └── xtts├── java│ └── com│ └── iflytek│ ├── mscv5plusdemo│ │ ├── AsrDemo.java│ │ ├── IatDemo.java│ │ ├── IvwActivity.java│ │ ├── MainActivity.java│ │ ├── OneShotDemo.java│ │ ├── SpeechApp.java│ │ ├── TtsDemo.java│ │ └── WakeDemo.java│ └── speech│ ├── setting│ │ ├── IatSettings.java│ │ └── TtsSettings.java│ └── util│ ├── FucUtil.java│ ├── JsonParser.java│ ├── SettingTextWatcher.java│ └── XmlParser.java└── res├── drawable│ ├── cancel_button.xml│ ├── list_bg_color.xml│ ├── main_setting_btn_np.xml│ ├── ok_button.xml│ ├── setting.png│ └── setting_p.png├── drawable-hdpi│ ├── bg.png│ ├── btn_left_f.9.png│ ├── btn_left_n.9.png│ ├── btn_left_p.9.png│ ├── btn_left.xml│ ├── btn_right_f.9.png│ ├── btn_right_n.9.png│ ├── btn_right_p.9.png│ ├── btn_right.xml│ ├── button_login.xml│ ├── cancel.9.png│ ├── cancel_p.9.png│ ├── editbox.9.png│ ├── edittext_name.9.png│ ├── head.png│ ├── icon.png│ ├── login.png│ ├── login_p.png│ ├── mic_0.png│ ├── mic_1.png│ ├── mic_2.png│ ├── mic_3.png│ ├── name_left.png│ ├── name_right.png│ ├── ok.9.png│ ├── ok_d.9.png│ ├── ok_p.9.png│ ├── pane_bg.9.png│ └── superman.9.png├── drawable-ldpi│ └── icon.png├── drawable-mdpi│ └── icon.png├── layout│ ├── iatdemo.xml│ ├── isrdemo.xml│ ├── ivw_activity.xml│ ├── list_items.xml│ ├── main.xml│ ├── oneshot_activity.xml│ ├── title.xml│ ├── ttsdemo.xml│ └── wake_activity.xml├── values│ ├── colors.xml│ ├── dimen.xml│ ├── strings.xml│ └── styles.xml└── xml├── iat_setting.xml├── tts_setting.xml└── understand_setting.xml

再次運(yùn)行, 成功!!

參考

SDK說明

總結(jié)

以上是生活随笔為你收集整理的Android 讯飞离线语音听写/离线语音识别SDK的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。