第二章 编译运行Android Wenet语音识别

2024-06-22 02:20

本文主要是介绍第二章 编译运行Android Wenet语音识别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

系列文章目录

第一章 基于Ubuntu 24.04 搭建wenet语音转文字
第二章 编译运行Android Wenet语音识别


文章目录

  • 系列文章目录
  • 前言
  • 一、Android Wenet语音识别
  • 二、使用步骤
    • 1.修改gradle配置
    • 2.下载预训练模型
    • 3.执行task extractAARForNativeBuild
    • 4.构建并运行APK
    • 5.遇到问题
  • 总结


前言

本文继续前一章内容,开始前,请先准备好Wenet源码。


一、Android Wenet语音识别

本文目标是使用Android studio 运行Wenet语音识别-Android Demo。

二、使用步骤

1.修改gradle配置

  • 修改文件 wenet/runtime/android/build.gradle,
    gradle:8.4.1 版本号改为与自己的Android studio匹配;
buildscript {repositories {google()
//        jcenter()mavenCentral()gradlePluginPortal()}dependencies {classpath 'com.android.tools.build:gradle:8.4.1'}
}allprojects {repositories {google()
//        jcenter()mavenCentral()maven { url 'https://jitpack.io' }}
}task clean(type: Delete) {delete rootProject.buildDir
}
  • 修改文件 wenet/runtime/android/app/build.gradle,
// 增加命名空间
namespace "com.mobvoi.wenet"
  • 修改文件 wenet/runtime/android/gradle/wrapper/gradle-wrapper.properties,
    将gradle版本号改为与自己的Android studio匹配;
    distributionUrl=https://services.gradle.org/distributions/gradle-8.6-bin.zip

2.下载预训练模型

官方提供了两种,这里我们下载中文的即可;

  • 中文演讲
  • 英语(GigaSpeech)

下载解压后,将“final.zip”和“units.txt”放入Androidde(“app/src/main/assets”)文件夹中;

3.执行task extractAARForNativeBuild

在文件wenet/runtime/android/app/build.gradle中点击运行按钮 执行task extractAARForNativeBuild

在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a0c6431095fa44a7957be1391bc1ca7c.png =300)在build下生成pytorch_android*.aar文件;
在这里插入图片描述
修改wenet/runtime/android/app/src/main/cpp/cmake/libtorch.cmake,配置版本号

# Change version in runtime/android/app/build.gradle.file(GLOB PYTORCH_INCLUDE_DIRS "${build_DIR}/pytorch_android-1.13.0.aar/headers")file(GLOB PYTORCH_LINK_DIRS "${build_DIR}/pytorch_android-1.13.0.aar/jni/${ANDROID_ABI}")

4.构建并运行APK

最后构建并运行APK即可。
在这里插入图片描述

5.遇到问题

  • CMake Error: The following variables are used in this project, but they are set to NOTFOUND. PYTORCH_LIBRARY

原因是没有执行第3步:执行task extractAARForNativeBuild;


总结

至此Wenet的Android Demo 已跑通运行。
注意:此方式运行的Android Demo 语音识别过程无需移动网络或Wifi。

参考
https://github.com/wenet-e2e/wenet/blob/main/runtime/android/README.md

这篇关于第二章 编译运行Android Wenet语音识别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1083018

相关文章

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性: