Unity打包Android平台调用sherpa-onnx

打印 上一主题 下一主题

主题 959|帖子 959|积分 2877

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 忽略了模型相关文件
  1. apply plugin: 'com.android.library'
  2. **APPLY_PLUGINS**
  3. dependencies {
  4.     implementation fileTree(dir: 'libs', include: ['*.jar'])
  5. **DEPS**}
  6. android {
  7.     compileSdkVersion **APIVERSION**
  8.     buildToolsVersion '**BUILDTOOLS**'
  9.     compileOptions {
  10.         sourceCompatibility JavaVersion.VERSION_1_8
  11.         targetCompatibility JavaVersion.VERSION_1_8
  12.     }
  13.     defaultConfig {
  14.         minSdkVersion **MINSDKVERSION**
  15.         targetSdkVersion **TARGETSDKVERSION**
  16.         ndk {
  17.             abiFilters **ABIFILTERS**
  18.         }
  19.         versionCode **VERSIONCODE**
  20.         versionName '**VERSIONNAME**'
  21.         consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD**
  22.     }
  23.     lintOptions {
  24.         abortOnError false
  25.     }
  26.     aaptOptions {
  27.         noCompress = **BUILTIN_NOCOMPRESS** + unityStreamingAssets.tokenize(', ')
  28.         //ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
  29.                 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'
  30.     }**PACKAGING_OPTIONS**
  31. }**REPOSITORIES**
  32. **IL_CPP_BUILD_SETUP**
  33. **SOURCE_BUILD_SETUP**
  34. **EXTERNAL_SOURCES**
复制代码
gradleTemplate.properties 注释了android.enableR8
  1. org.gradle.jvmargs=-Xmx**JVM_HEAP_SIZE**M
  2. org.gradle.parallel=true
  3. #android.enableR8=**MINIFY_WITH_R_EIGHT**
  4. unityStreamingAssets=**STREAMING_ASSETS**
  5. **ADDITIONAL_PROPERTIES**
复制代码
末了放上一张Android运行截图



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊落一身雪

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表