Fangjun Kuang
Committed by GitHub

Build APK with replace.fst (#2254)

@@ -4,7 +4,6 @@ on: @@ -4,7 +4,6 @@ on:
4 push: 4 push:
5 branches: 5 branches:
6 - apk 6 - apk
7 - - apk-android-simulate-streaming-asr  
8 7
9 workflow_dispatch: 8 workflow_dispatch:
10 9
@@ -43,6 +43,22 @@ short_name={{ model.short_name }} @@ -43,6 +43,22 @@ short_name={{ model.short_name }}
43 curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/${model_name}.tar.bz2 43 curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/${model_name}.tar.bz2
44 tar xvf ${model_name}.tar.bz2 44 tar xvf ${model_name}.tar.bz2
45 45
  46 +{% if model.use_hr %}
  47 + if [ ! -d dict ]; then
  48 + curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/dict.tar.bz2
  49 + tar xvf dict.tar.bz2
  50 + rm dict.tar.bz2
  51 + fi
  52 +
  53 + if [ ! -f lexicon.txt ]; then
  54 + curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/lexicon.txt
  55 + fi
  56 +
  57 + if [ ! -f replace.fst ]; then
  58 + curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/replace.fst
  59 + fi
  60 +{% endif %}
  61 +
46 {{ model.cmd }} 62 {{ model.cmd }}
47 63
48 rm -rf *.tar.bz2 64 rm -rf *.tar.bz2
@@ -57,6 +73,10 @@ git checkout . @@ -57,6 +73,10 @@ git checkout .
57 pushd android/SherpaOnnxSimulateStreamingAsr/app/src/main/java/com/k2fsa/sherpa/onnx/simulate/streaming/asr 73 pushd android/SherpaOnnxSimulateStreamingAsr/app/src/main/java/com/k2fsa/sherpa/onnx/simulate/streaming/asr
58 sed -i.bak s/"asrModelType = 15/asrModelType = $type/" ./SimulateStreamingAsr.kt 74 sed -i.bak s/"asrModelType = 15/asrModelType = $type/" ./SimulateStreamingAsr.kt
59 75
  76 +{% if model.use_hr %}
  77 + sed -i.bak s/"useHr = false/useHr = true/" ./SimulateStreamingAsr.kt
  78 +{% endif %}
  79 +
60 {% if model.rule_fsts %} 80 {% if model.rule_fsts %}
61 rule_fsts={{ model.rule_fsts }} 81 rule_fsts={{ model.rule_fsts }}
62 sed -i.bak s%"asrRuleFsts = null"%"asrRuleFsts = \"$rule_fsts\""% ./MainActivity.kt 82 sed -i.bak s%"asrRuleFsts = null"%"asrRuleFsts = \"$rule_fsts\""% ./MainActivity.kt
@@ -92,6 +112,10 @@ for arch in arm64-v8a armeabi-v7a x86_64 x86; do @@ -92,6 +112,10 @@ for arch in arm64-v8a armeabi-v7a x86_64 x86; do
92 done 112 done
93 113
94 rm -rf ./android/SherpaOnnxSimulateStreamingAsr/app/src/main/assets/$model_name 114 rm -rf ./android/SherpaOnnxSimulateStreamingAsr/app/src/main/assets/$model_name
  115 +rm -rf ./android/SherpaOnnxSimulateStreamingAsr/app/src/main/assets/dict
  116 +rm -rf ./android/SherpaOnnxSimulateStreamingAsr/app/src/main/assets/lexicon.txt
  117 +rm -rf ./android/SherpaOnnxSimulateStreamingAsr/app/src/main/assets/replace.fst
  118 +
95 {% endfor %} 119 {% endfor %}
96 120
97 git checkout . 121 git checkout .
@@ -45,6 +45,8 @@ class Model: @@ -45,6 +45,8 @@ class Model:
45 45
46 rule_fsts: str = "" 46 rule_fsts: str = ""
47 47
  48 + use_hr: bool = False
  49 +
48 50
49 # See get_2nd_models() in ./generate-asr-2pass-apk-script.py 51 # See get_2nd_models() in ./generate-asr-2pass-apk-script.py
50 def get_models(): 52 def get_models():
@@ -98,6 +100,7 @@ def get_models(): @@ -98,6 +100,7 @@ def get_models():
98 lang="zh_en_ko_ja_yue", 100 lang="zh_en_ko_ja_yue",
99 lang2="中英粤日韩", 101 lang2="中英粤日韩",
100 short_name="sense_voice", 102 short_name="sense_voice",
  103 + use_hr=True,
101 cmd=""" 104 cmd="""
102 pushd $model_name 105 pushd $model_name
103 106
@@ -5,6 +5,7 @@ @@ -5,6 +5,7 @@
5 #include "sherpa-onnx/csrc/offline-source-separation-impl.h" 5 #include "sherpa-onnx/csrc/offline-source-separation-impl.h"
6 6
7 #include <memory> 7 #include <memory>
  8 +
8 #if __ANDROID_API__ >= 9 9 #if __ANDROID_API__ >= 9
9 #include "android/asset_manager.h" 10 #include "android/asset_manager.h"
10 #include "android/asset_manager_jni.h" 11 #include "android/asset_manager_jni.h"