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.pswp.cn/bicheng/73790.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/73790.shtml
英文地址,請注明出處:http://en.pswp.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…