欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 文化 > sherpa-ncnn:构建Android APK -- 语音转文本大模型

sherpa-ncnn:构建Android APK -- 语音转文本大模型

2025/4/28 14:56:50 来源:https://blog.csdn.net/weixin_48267104/article/details/147497733  浏览:    关键词:sherpa-ncnn:构建Android APK -- 语音转文本大模型

更多内容:XiaoJ的知识星球


目录

    • 1.Android环境
      • 1)Android Studio安装
      • 2)NDK安装
    • 2.构建sherpa-ncnn (C++代码)
      • 1)为 arm64-v8a 构建
      • 其他ABI构建:。。。
    • 3.下载预训练模型
      • 1)下载预训练
      • 2)使用其他模型:
    • 4.生成 APK
      • 0)替换gradle镜像:
      • 1)Android studio(Linux) 构建 APK


克隆仓库:

git clone https://github.com/k2-fsa/sherpa-ncnn# 进入工程目录进行以下操作
cd sherpa-ncnn

.

1.Android环境

1)Android Studio安装

(1)安装你的Android Studio,请参阅 https://developer.android.com/studio

(2)设置环境变量:

export MY_ENV_HOME=$HOME/Envexport AS_DIR=$MY_ENV_HOME/App/Android_Studio/android-studio-2022.1.1.19
export ANDROID_HOME=$MY_ENV_HOME/App/Android_Studio/Android-2022.1.1.19
export ANDROID_NDK=$ANDROID_HOME/Sdk/ndk/28.0.12674087
export ANDROID_NDK_HOME=$ANDROID_HOME/Sdk/ndk/28.0.12674087
export PATH=$PATH:$AS_DIR/bin

2)NDK安装

(1)安装你的Android NDK,请参阅:。。。

(2)设置环境变量:

export ANDROID_NDK=<path>/ndk/22.1.7171670

.

2.构建sherpa-ncnn (C++代码)

目前支持以下 Android ABI 构建 sherpa-ncnn :

  • arm64-v8a

  • armeabi-v7a

  • x86_64

  • x86

1)为 arm64-v8a 构建

(1)github访问失败问题:修改为镜像(kkgithub.com)

# 修改github地址:避免访问github失败,下载库失败vi cmake/kaldi-native-fbank.cmake# Please also change ../pack-for-embedded-systems.sh#set(kaldi_native_fbank_URL  "https://github.com/csukuangfj/kaldi-native-fbank/archive/refs/tags/v1.18.7.tar.gz")set(kaldi_native_fbank_URL  "https://kkgithub.com/csukuangfj/kaldi-native-fbank/archive/refs/tags/v1.18.7.tar.gz")vi cmake/ncnn.cmake# the latest master as of 2025.01.06#set(ncnn_URL  "https://github.com/Tencent/ncnn/archive/39cf4f6018a49d59deec1ae3133fabe602370131.zip")set(ncnn_URL  "https://kkgithub.com/Tencent/ncnn/archive/39cf4f6018a49d59deec1ae3133fabe602370131.zip")

(2)构建arm64-v8a版so:

# 构建
./build-android-arm64-v8a.sh# 构建成功,则存在如下so
ls build-android-arm64-v8a/install/lib/lib*.sobuild-android-arm64-v8a/install/lib/libkaldi-native-fbank-core.so build-android-arm64-v8a/install/lib/libsherpa-ncnn-core.sobuild-android-arm64-v8a/install/lib/libncnn.so                    build-android-arm64-v8a/install/lib/libsherpa-ncnn-jni.so

(3)so复制到Android工程:

cp build-android-arm64-v8a/install/lib/lib*.so  android/SherpaNcnn/app/src/main/jniLibs/arm64-v8a/

其他ABI构建:。。。

.

3.下载预训练模型

请阅读 预训练模型 了解所有可用的预训练模型。

在下文中,我们使用 https://huggingface.co/csukuangfj/sherpa-ncnn-conv-emformer-transducer-2022-12-06 的预训练模型。

1)下载预训练

下载预训练模型模型并将其放入 android/SherpaNcnn/app/src/main/assets/ 中:

cd android/SherpaNcnn/app/src/main/assets/sudo apt-get install git-lfs# 不能访问huggingface,修改为镜像访问
#GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/csukuangfj/sherpa-ncnn-conv-emformer-transducer-2022-12-06
GIT_LFS_SKIP_SMUDGE=1 git clone https://hf-mirror.com/csukuangfj/sherpa-ncnn-conv-emformer-transducer-2022-12-06
cd sherpa-ncnn-conv-emformer-transducer-2022-12-06
git lfs pull --include "*.bin"# Now, remove extra files to reduce the file size of the generated apk
rm -rf .git test_wavs scripts/
rm export-for-ncnn.sh *.png README.md

2)使用其他模型:

如果您选择其他预训练模型,请确保还更改以下屏幕截图中列出的相应代码:

在这里插入图片描述

.

4.生成 APK

0)替换gradle镜像:

vi sherpa-ncnn/android/SherpaNcnn/gradle/wrapper/gradle-wrapper.properties# distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zipdistributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-7.4-bin.zip

1)Android studio(Linux) 构建 APK

# USB连接Android设备# 运行Android studio(Linux)studio.sh# 等待Android studio build :首次构建较慢,实测需56分钟# 点击:Run 'app' 图标# 同意APK安装及权限
# 打开APK -> START:开始检测语音 -> STOP:停止检测语音

预构建的 APK,可从huggingface或镜像网站中下载:

  • https://huggingface.co/csukuangfj/sherpa-ncnn-apk

  • https://hf-mirror.com/csukuangfj/sherpa-ncnn-apk

.


声明:资源可能存在第三方来源,若有侵权请联系删除!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词