Unity打包Android平台调用sherpa-onnx

https://github.com/xue-fei/sherpa-onnx-unity

最初测试了PC的Win和Linux平台,直接从nuget缓存包中拷贝相关文件,按示例写了语音转文字和文字转语音的测试代码,功能都正常。

在这里插入图片描述

然后是Android端,看了示例发现有编译好的jni.so之类的,装AndroidStudio建library一顿折腾,发现这种方法怕是要写很多Java代码,而且Unity里也要写很多代码,挺费劲,翻了翻 Issues 发现有预编译针对Android的libsherpa-onnx-cxx-api.so和libsherpa-onnx-c-api.so 等,sherpa-onnx-v1.10.46-android.tar.bz2 拷贝进Unity直接使用

在这里插入图片描述

对于打包安卓的相关修改,勾选了两个模板

在这里插入图片描述
mainTemplate.gradle 忽略了模型相关文件

apply plugin: 'com.android.library'
**APPLY_PLUGINS**dependencies {implementation fileTree(dir: 'libs', include: ['*.jar'])
**DEPS**}android {compileSdkVersion **APIVERSION**buildToolsVersion '**BUILDTOOLS**'compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}defaultConfig {minSdkVersion **MINSDKVERSION**targetSdkVersion **TARGETSDKVERSION**ndk {abiFilters **ABIFILTERS**}versionCode **VERSIONCODE**versionName '**VERSIONNAME**'consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD**}lintOptions {abortOnError false}aaptOptions {noCompress = **BUILTIN_NOCOMPRESS** + unityStreamingAssets.tokenize(', ')//ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"ignoreAssetsPattern = 'sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12:sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20:vits-melo-tts-zh_en:!silero_vad.onnx'}**PACKAGING_OPTIONS**
}**REPOSITORIES**
**IL_CPP_BUILD_SETUP**
**SOURCE_BUILD_SETUP**
**EXTERNAL_SOURCES**

gradleTemplate.properties 注释了android.enableR8

org.gradle.jvmargs=-Xmx**JVM_HEAP_SIZE**M
org.gradle.parallel=true
#android.enableR8=**MINIFY_WITH_R_EIGHT**
unityStreamingAssets=**STREAMING_ASSETS**
**ADDITIONAL_PROPERTIES**

最后放上一张Android运行截图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/73790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

传统会议室接入神旗视讯-2 Android会议室大屏设备 (Maxhub, Newline, TCL等)

随着企业对视频会议安全性、稳定性和统一管理的需求日益增长,私有化视频会议系统凭借其全平台兼容性、高安全性部署和智能化会控能力,成为政企客户的核心选择。Android会议室大屏设备(Maxhub, Newline, TCL等)作为国内主流智能会议…

个人blog系统 前后端分离 前端js后端go

系统设计: 1.使用语言:前端使用vue,并使用axios向后端发送数据。后端使用的是go的gin框架,并使用grom连接数据库实现数据存储读取。 2.设计结构: 最终展示:仅展示添加模块,其他模块基本相似 前…

分支结构- P5717-三角形分类-第二十一天

洛谷题单 第二十一天&#xff1a;3.18&#xff08;周二&#xff09; 题目&#xff1a;分支结构–P5717 代码 #include <stdio.h>//本题目卡住的点&#xff1a;1.逻辑问题 2.对if-else if-else结构的运行理解&#xff0c;导致了逻辑混乱//注意&#xff1a;程序会组个…

华为OD机试 - 最长回文字符串 - 贪心算法(Java 2024 E卷 100分)

题目描述 如果一个字符串正读和反读都一样(大小写敏感),则称之为一个「回文串」。例如: level 是一个「回文串」,因为它的正读和反读都是 level。art 不是一个「回文串」,因为它的反读 tra 与正读不同。Level 不是一个「回文串」,因为它的反读 leveL 与正读不同(因大小…

C语言文件操作入门

本节重点 理解文件的形式与基本概念二进制文件与文本文件文件的打开与关闭文件读写函数、文件缓冲区 正文开始--------------------------------------------------------------------------------------------------------------------- 一、为什么使用文件 程序运行时数据存…

Doris:联邦认证

LDAP​ 接入第三方 LDAP 服务为 Doris 提供验证登录和组授权服务。 LDAP 验证登录​ LDAP 验证登录指的是接入 LDAP 服务的密码验证来补充 Doris 的验证登录。Doris 优先使用 LDAP 验证用户密码&#xff0c;如果 LDAP 服务中不存在该用户则继续使用 Doris 验证密码&#xff…

stm32第六天继电器

一&#xff1a;继电器 1.继电器的工作原理 继电器是一个电控开关&#xff0c;工作原理基于电磁感应&#xff0c;继电器包括一个电磁线圈和一组触点。常用于控制高电流或高电压的电路&#xff0c;例如自动控制原理&#xff0c;电力系统和自动化设备中&#xff0c;由于可靠性和电…

Vue渲染函数 - render 函数

文章目录 Vue渲染函数 - render 函数1. 什么是 render 函数2、页面展示过程3、render 函数的参数4. 如何使用&#xff08;1&#xff09;基本渲染&#xff08;2&#xff09;传递属性和事件&#xff08;3&#xff09;条件渲染 5. render 函数的实际使用6.View Design 组件中的使用…

单片机自学总结

自从工作以来&#xff0c;一直努力耕耘单片机&#xff0c;至今&#xff0c;颇有收获。从51单片机&#xff0c;PIC单片机&#xff0c;直到STM32&#xff0c;以及RTOS和Linux&#xff0c;几乎天天在搞:51单片机&#xff0c;STM8S207单片机&#xff0c;PY32F003单片机&#xff0c;…

go回调函数的使用

在Go语言中&#xff0c;回调函数可以有参数&#xff0c;也可以没有参数。它们的定义和使用方式略有不同&#xff0c;但本质上都是将函数作为参数传递给另一个函数&#xff0c;并在适当的时候调用它。以下是带参数和不带参数的回调函数的示例和说明。 1. 不带参数的回调函数 不…

在 Ubuntu 中配置 NFS 共享服务的完整指南

前言 网络文件系统&#xff08;NFS&#xff09;作为 Linux 系统间实现文件共享的标准协议&#xff0c;在分布式计算和容器化部署场景中具有重要作用。本文将详细演示如何在 Ubuntu 系统上配置 NFS 服务端与客户端&#xff0c;并实现可靠的持久化挂载。 一、环境准备 系统要求…

TypeScript Symbols 深度解析:在 Vue3 中的高级应用实践

一、Symbols 核心特性解析 1.1 什么是 Symbol&#xff1f; Symbol 是 ES6 引入的原始数据类型&#xff0c;表示唯一且不可变的值&#xff0c;主要解决对象属性名冲突问题。在 TypeScript 中&#xff0c;我们通过 symbol 类型获得完整的类型支持&#xff1a; const SERIAL_KE…

无需刷机、root,畅享原生安卓的丝滑体验。

Apex Launcher 是一款历史悠久的 Android 桌面启动器&#xff0c;诞生于 Android 系统早期&#xff08;Android 4.0 时代&#xff09;。当时&#xff0c;Android 系统的默认界面被认为较为简陋&#xff0c;无法满足一些追求个性化和高效操作的用户需求。因此&#xff0c;许多开…

Visual Studio Code安装配置优化全攻略:打造高效开发环境

目录 一、背景与意义 二、安装与配置基础 2.1 下载与安装 2.2 核心配置目录 三、深度优化配置指南 3.1 主题与界面优化 3.2 必装效率插件&#xff08;精选TOP10&#xff09; 3.3 性能优化设置 四、实战案例&#xff1a;前端开发环境配置 4.1 项目初始化 4.2 调试配置…

味觉传送器E-Taste:开启虚拟世界的味觉之门

味觉传送器E-Taste&#xff1a;开启虚拟世界的味觉之门 一、发明背景与动机 随着虚拟现实&#xff08;VR&#xff09;和增强现实&#xff08;AR&#xff09;技术的飞速发展&#xff0c;人们在虚拟世界中的沉浸感不断提升&#xff0c;视觉和听觉体验已经取得了显著的突破。然而…

判断质数与合数

判断质数与合数的逻辑很相似&#xff0c;都是判断一个属除了1和它本身&#xff0c;能不能被其他数整除。 其他数包括质数与合数&#xff0c;合数能表示能质数的乘积&#xff0c;因此问题就转化为&#xff1a;一个数能不能被除了1和它本身之外的其他质数整除。 质数2&#xff…

在Spring Boot项目中接入DeepSeek深度求索,感觉笨笨的呢

文章目录 引言1. 什么是DeepSeek&#xff1f;2. 准备工作2.1 注册DeepSeek账号 3.实战演示3.1 application增加DS配置3.2 编写service3.3 编写controller3.4 编写前端界面chat.html3.5 测试 总结 引言 在当今快速发展的数据驱动时代&#xff0c;企业越来越重视数据的价值。为了…

Cursor在内网环境配置自定义DeepSeek API

关键字 Cursor、DeepSeek、API配置、内网代理、HTTP/2 背景环境 使用Cursor集成环境开发程序。但是我使用公司的内网并不能使用cursor自带的模型&#xff0c;于是我就想使用DeepSeek官方的API服务。 环境&#xff1a;Windows 11系统 解决过程 网络检测 首先进行环境检测&am…

RabbitMQ 集群降配

这里写自定义目录标题 摘要检查状态1. 检查 RabbitMQ 服务状态2. 检查 RabbitMQ 端口监听3. 检查 RabbitMQ 管理插件是否启用4. 检查开机自启状态5. 确认集群高可用性6. 检查使用该集群的服务是否做了断开重连 实操1. 负载均衡配置2. 逐个节点降配&#xff08;滚动操作&#xf…