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