diff --git a/.github/workflows/apk-kws.yaml b/.github/workflows/apk-kws.yaml index b920e2026..cc2cf2fa4 100644 --- a/.github/workflows/apk-kws.yaml +++ b/.github/workflows/apk-kws.yaml @@ -29,6 +29,12 @@ jobs: with: fetch-depth: 0 + # https://github.com/actions/setup-java + - uses: actions/setup-java@v4 + with: + distribution: 'temurin' # See 'Supported distributions' for available options + java-version: '21' + - name: ccache uses: hendrikmuhs/ccache-action@v1.2 with: diff --git a/.github/workflows/apk-speaker-identification.yaml b/.github/workflows/apk-speaker-identification.yaml index 7112f057a..c5acc0ee3 100644 --- a/.github/workflows/apk-speaker-identification.yaml +++ b/.github/workflows/apk-speaker-identification.yaml @@ -98,7 +98,7 @@ jobs: if: true env: HF_TOKEN: ${{ secrets.HF_TOKEN }} - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: max_attempts: 20 timeout_seconds: 200 diff --git a/.github/workflows/apk-tts-engine.yaml b/.github/workflows/apk-tts-engine.yaml index 552f696b0..e0c15821b 100644 --- a/.github/workflows/apk-tts-engine.yaml +++ b/.github/workflows/apk-tts-engine.yaml @@ -94,7 +94,7 @@ jobs: if: true env: HF_TOKEN: ${{ secrets.HF_TOKEN }} - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: max_attempts: 20 timeout_seconds: 200 diff --git a/.github/workflows/apk-tts.yaml b/.github/workflows/apk-tts.yaml index 275a86be2..ba9aecad7 100644 --- a/.github/workflows/apk-tts.yaml +++ b/.github/workflows/apk-tts.yaml @@ -34,6 +34,12 @@ jobs: with: fetch-depth: 0 + # https://github.com/actions/setup-java + - uses: actions/setup-java@v4 + with: + distribution: 'temurin' # See 'Supported distributions' for available options + java-version: '21' + - name: ccache uses: hendrikmuhs/ccache-action@v1.2 with: @@ -89,7 +95,7 @@ jobs: if: true env: HF_TOKEN: ${{ secrets.HF_TOKEN }} - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: max_attempts: 20 timeout_seconds: 200 diff --git a/.github/workflows/apk.yaml b/.github/workflows/apk.yaml index e8eae56e1..bf931b359 100644 --- a/.github/workflows/apk.yaml +++ b/.github/workflows/apk.yaml @@ -29,6 +29,12 @@ jobs: with: fetch-depth: 0 + # https://github.com/actions/setup-java + - uses: actions/setup-java@v4 + with: + distribution: 'temurin' # See 'Supported distributions' for available options + java-version: '21' + - name: ccache uses: hendrikmuhs/ccache-action@v1.2 with: diff --git a/.github/workflows/build-wheels-aarch64.yaml b/.github/workflows/build-wheels-aarch64.yaml index 3246c8d7a..c9ad226de 100644 --- a/.github/workflows/build-wheels-aarch64.yaml +++ b/.github/workflows/build-wheels-aarch64.yaml @@ -63,7 +63,7 @@ jobs: if: matrix.python-version == 'cp38' env: HF_TOKEN: ${{ secrets.HF_TOKEN }} - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: max_attempts: 20 timeout_seconds: 200 diff --git a/.github/workflows/build-wheels-armv7l.yaml b/.github/workflows/build-wheels-armv7l.yaml index 2feb344c9..2eb70be7e 100644 --- a/.github/workflows/build-wheels-armv7l.yaml +++ b/.github/workflows/build-wheels-armv7l.yaml @@ -87,7 +87,7 @@ jobs: if: matrix.python-version == '3.8' env: HF_TOKEN: ${{ secrets.HF_TOKEN }} - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: max_attempts: 20 timeout_seconds: 200 diff --git a/.github/workflows/build-wheels-linux.yaml b/.github/workflows/build-wheels-linux.yaml index 3e09c2e3a..845be02c0 100644 --- a/.github/workflows/build-wheels-linux.yaml +++ b/.github/workflows/build-wheels-linux.yaml @@ -79,7 +79,7 @@ jobs: if: matrix.python-version == 'cp38' env: HF_TOKEN: ${{ secrets.HF_TOKEN }} - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: max_attempts: 20 timeout_seconds: 200 diff --git a/.github/workflows/build-wheels-macos-arm64.yaml b/.github/workflows/build-wheels-macos-arm64.yaml index a58a26b0d..91bd24dd1 100644 --- a/.github/workflows/build-wheels-macos-arm64.yaml +++ b/.github/workflows/build-wheels-macos-arm64.yaml @@ -68,7 +68,7 @@ jobs: if: matrix.python-version == 'cp38' env: HF_TOKEN: ${{ secrets.HF_TOKEN }} - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: max_attempts: 20 timeout_seconds: 200 diff --git a/.github/workflows/build-wheels-macos-x64.yaml b/.github/workflows/build-wheels-macos-x64.yaml index a15d84cee..e69f45297 100644 --- a/.github/workflows/build-wheels-macos-x64.yaml +++ b/.github/workflows/build-wheels-macos-x64.yaml @@ -68,7 +68,7 @@ jobs: if: matrix.python-version == 'cp38' env: HF_TOKEN: ${{ secrets.HF_TOKEN }} - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: max_attempts: 20 timeout_seconds: 200 diff --git a/.github/workflows/build-wheels-win32.yaml b/.github/workflows/build-wheels-win32.yaml index 9452ea372..6ee3a8eda 100644 --- a/.github/workflows/build-wheels-win32.yaml +++ b/.github/workflows/build-wheels-win32.yaml @@ -53,7 +53,7 @@ jobs: if: matrix.python-version == 'cp38' env: HF_TOKEN: ${{ secrets.HF_TOKEN }} - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: max_attempts: 20 timeout_seconds: 200 diff --git a/.github/workflows/build-wheels-win64.yaml b/.github/workflows/build-wheels-win64.yaml index fe711953d..367f419ee 100644 --- a/.github/workflows/build-wheels-win64.yaml +++ b/.github/workflows/build-wheels-win64.yaml @@ -52,7 +52,7 @@ jobs: if: matrix.python-version == 'cp38' env: HF_TOKEN: ${{ secrets.HF_TOKEN }} - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: max_attempts: 20 timeout_seconds: 200 diff --git a/.github/workflows/export-wenet-to-onnx.yaml b/.github/workflows/export-wenet-to-onnx.yaml index 10f229dc1..eef6bd1d4 100644 --- a/.github/workflows/export-wenet-to-onnx.yaml +++ b/.github/workflows/export-wenet-to-onnx.yaml @@ -36,7 +36,7 @@ jobs: - name: Publish to huggingface (aishell) env: HF_TOKEN: ${{ secrets.HF_TOKEN }} - uses: nick-fields/retry@v2 + uses: nick-fields/retry@v3 with: max_attempts: 20 timeout_seconds: 200 diff --git a/CMakeLists.txt b/CMakeLists.txt index 21535f4d0..1cc8af693 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -117,14 +117,14 @@ message(STATUS "C++ Standard version: ${CMAKE_CXX_STANDARD}") include(CheckIncludeFileCXX) -if(UNIX AND NOT APPLE AND NOT SHERPA_ONNX_ENABLE_WASM) +if(UNIX AND NOT APPLE AND NOT SHERPA_ONNX_ENABLE_WASM AND NOT CMAKE_SYSTEM_NAME STREQUAL Android) check_include_file_cxx(alsa/asoundlib.h SHERPA_ONNX_HAS_ALSA) if(SHERPA_ONNX_HAS_ALSA) add_definitions(-DSHERPA_ONNX_ENABLE_ALSA=1) else() message(WARNING "\ Could not find alsa/asoundlib.h ! -We won't build sherpa-ncnn-alsa +We won't build sherpa-onnx-alsa To fix that, please do: (1) sudo apt-get install alsa-utils libasound2-dev (2) rm -rf build diff --git a/android/SherpaOnnx/gradle/wrapper/gradle-wrapper.properties b/android/SherpaOnnx/gradle/wrapper/gradle-wrapper.properties index 7bc67b5bf..04829f131 100644 --- a/android/SherpaOnnx/gradle/wrapper/gradle-wrapper.properties +++ b/android/SherpaOnnx/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Thu Feb 23 11:09:06 CST 2023 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/android/SherpaOnnx2Pass/gradle/wrapper/gradle-wrapper.properties b/android/SherpaOnnx2Pass/gradle/wrapper/gradle-wrapper.properties index 35e7edc8e..44364cd1f 100644 --- a/android/SherpaOnnx2Pass/gradle/wrapper/gradle-wrapper.properties +++ b/android/SherpaOnnx2Pass/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Sun Sep 10 18:03:03 CST 2023 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/android/SherpaOnnxKws/gradle/wrapper/gradle-wrapper.properties b/android/SherpaOnnxKws/gradle/wrapper/gradle-wrapper.properties index 7bc67b5bf..04829f131 100644 --- a/android/SherpaOnnxKws/gradle/wrapper/gradle-wrapper.properties +++ b/android/SherpaOnnxKws/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Thu Feb 23 11:09:06 CST 2023 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/android/SherpaOnnxTts/gradle/wrapper/gradle-wrapper.properties b/android/SherpaOnnxTts/gradle/wrapper/gradle-wrapper.properties index d06ea6f3b..7e2824659 100644 --- a/android/SherpaOnnxTts/gradle/wrapper/gradle-wrapper.properties +++ b/android/SherpaOnnxTts/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Mon Oct 23 15:40:58 CST 2023 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/android/SherpaOnnxVad/gradle/wrapper/gradle-wrapper.properties b/android/SherpaOnnxVad/gradle/wrapper/gradle-wrapper.properties index a6a2065ba..30ba83290 100644 --- a/android/SherpaOnnxVad/gradle/wrapper/gradle-wrapper.properties +++ b/android/SherpaOnnxVad/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Sat Sep 23 10:24:21 CST 2023 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/android/SherpaOnnxVadAsr/gradle/wrapper/gradle-wrapper.properties b/android/SherpaOnnxVadAsr/gradle/wrapper/gradle-wrapper.properties index d740f8846..d5ae68735 100644 --- a/android/SherpaOnnxVadAsr/gradle/wrapper/gradle-wrapper.properties +++ b/android/SherpaOnnxVadAsr/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Sat Sep 23 20:50:52 CST 2023 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/android/SherpaOnnxWebSocket/gradle/wrapper/gradle-wrapper.properties b/android/SherpaOnnxWebSocket/gradle/wrapper/gradle-wrapper.properties index 7bc67b5bf..04829f131 100644 --- a/android/SherpaOnnxWebSocket/gradle/wrapper/gradle-wrapper.properties +++ b/android/SherpaOnnxWebSocket/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Thu Feb 23 11:09:06 CST 2023 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/scripts/apk/build-apk-speaker-identification.sh.in b/scripts/apk/build-apk-speaker-identification.sh.in index f75591ce2..510b5e763 100644 --- a/scripts/apk/build-apk-speaker-identification.sh.in +++ b/scripts/apk/build-apk-speaker-identification.sh.in @@ -65,6 +65,8 @@ for arch in arm64-v8a armeabi-v7a x86_64 x86; do cp -v ./build-android-$src_arch/install/lib/*.so ./android/SherpaOnnxSpeakerIdentification/app/src/main/jniLibs/$arch/ pushd ./android/SherpaOnnxSpeakerIdentification + sed -i.bak s/2048/9012/g ./gradle.properties + git diff ./gradle.properties ./gradlew build popd diff --git a/scripts/apk/build-apk-tts-engine.sh.in b/scripts/apk/build-apk-tts-engine.sh.in index 9b0ae1e1a..58c7d8eec 100644 --- a/scripts/apk/build-apk-tts-engine.sh.in +++ b/scripts/apk/build-apk-tts-engine.sh.in @@ -82,6 +82,8 @@ for arch in arm64-v8a armeabi-v7a x86_64 x86; do cp -v ./build-android-$src_arch/install/lib/*.so ./android/SherpaOnnxTtsEngine/app/src/main/jniLibs/$arch/ pushd ./android/SherpaOnnxTtsEngine + sed -i.bak s/2048/9012/g ./gradle.properties + git diff ./gradle.properties ./gradlew build popd diff --git a/scripts/apk/build-apk-tts.sh.in b/scripts/apk/build-apk-tts.sh.in index d1745efd4..0358ea388 100644 --- a/scripts/apk/build-apk-tts.sh.in +++ b/scripts/apk/build-apk-tts.sh.in @@ -80,6 +80,8 @@ for arch in arm64-v8a armeabi-v7a x86_64 x86; do cp -v ./build-android-$src_arch/install/lib/*.so ./android/SherpaOnnxTts/app/src/main/jniLibs/$arch/ pushd ./android/SherpaOnnxTts + sed -i.bak s/2048/9012/g ./gradle.properties + git diff ./gradle.properties ./gradlew build popd diff --git a/scripts/apk/generate-tts-apk-script.py b/scripts/apk/generate-tts-apk-script.py index c4d50ce41..85efc7e4b 100755 --- a/scripts/apk/generate-tts-apk-script.py +++ b/scripts/apk/generate-tts-apk-script.py @@ -39,7 +39,8 @@ class TtsModel: def convert_lang_to_iso_639_3(models: List[TtsModel]): for m in models: - m.lang_iso_639_3 = Lang(m.lang).pt3 + if m.lang_iso_639_3 == "": + m.lang_iso_639_3 = Lang(m.lang).pt3 def get_coqui_models() -> List[TtsModel]: @@ -209,54 +210,91 @@ def get_vits_models() -> List[TtsModel]: lang="zh", rule_fsts="vits-zh-aishell3/rule.fst", ), - # TtsModel( - # model_dir="vits-zh-hf-doom", - # model_name="doom.onnx", - # lang="zh", - # rule_fsts="vits-zh-hf-doom/rule.fst", - # ), - # TtsModel( - # model_dir="vits-zh-hf-echo", - # model_name="echo.onnx", - # lang="zh", - # rule_fsts="vits-zh-hf-echo/rule.fst", - # ), - # TtsModel( - # model_dir="vits-zh-hf-zenyatta", - # model_name="zenyatta.onnx", - # lang="zh", - # rule_fsts="vits-zh-hf-zenyatta/rule.fst", - # ), - # TtsModel( - # model_dir="vits-zh-hf-abyssinvoker", - # model_name="abyssinvoker.onnx", - # lang="zh", - # rule_fsts="vits-zh-hf-abyssinvoker/rule.fst", - # ), - # TtsModel( - # model_dir="vits-zh-hf-keqing", - # model_name="keqing.onnx", - # lang="zh", - # rule_fsts="vits-zh-hf-keqing/rule.fst", - # ), - # TtsModel( - # model_dir="vits-zh-hf-eula", - # model_name="eula.onnx", - # lang="zh", - # rule_fsts="vits-zh-hf-eula/rule.fst", - # ), - # TtsModel( - # model_dir="vits-zh-hf-bronya", - # model_name="bronya.onnx", - # lang="zh", - # rule_fsts="vits-zh-hf-bronya/rule.fst", - # ), - # TtsModel( - # model_dir="vits-zh-hf-theresa", - # model_name="theresa.onnx", - # lang="zh", - # rule_fsts="vits-zh-hf-theresa/rule.fst", - # ), + TtsModel( + model_dir="vits-zh-hf-doom", + model_name="doom.onnx", + lang="zh", + rule_fsts="vits-zh-hf-doom/rule.fst", + ), + TtsModel( + model_dir="vits-zh-hf-echo", + model_name="echo.onnx", + lang="zh", + rule_fsts="vits-zh-hf-echo/rule.fst", + ), + TtsModel( + model_dir="vits-zh-hf-zenyatta", + model_name="zenyatta.onnx", + lang="zh", + rule_fsts="vits-zh-hf-zenyatta/rule.fst", + ), + TtsModel( + model_dir="vits-zh-hf-abyssinvoker", + model_name="abyssinvoker.onnx", + lang="zh", + rule_fsts="vits-zh-hf-abyssinvoker/rule.fst", + ), + TtsModel( + model_dir="vits-zh-hf-keqing", + model_name="keqing.onnx", + lang="zh", + rule_fsts="vits-zh-hf-keqing/rule.fst", + ), + TtsModel( + model_dir="vits-zh-hf-eula", + model_name="eula.onnx", + lang="zh", + rule_fsts="vits-zh-hf-eula/rule.fst", + ), + TtsModel( + model_dir="vits-zh-hf-bronya", + model_name="bronya.onnx", + lang="zh", + rule_fsts="vits-zh-hf-bronya/rule.fst", + ), + TtsModel( + model_dir="vits-zh-hf-theresa", + model_name="theresa.onnx", + lang="zh", + rule_fsts="vits-zh-hf-theresa/rule.fst", + ), + TtsModel( + model_dir="vits-zh-hf-fanchen-wnj", + model_name="vits-zh-hf-fanchen-wnj.onnx", + lang="zh", + rule_fsts="vits-zh-hf-fanchen-wnj/rule.fst", + ), + TtsModel( + model_dir="vits-zh-hf-fanchen-C", + model_name="vits-zh-hf-fanchen-C.onnx", + lang="zh", + rule_fsts="vits-zh-hf-fanchen-C/rule.fst", + ), + TtsModel( + model_dir="vits-zh-hf-fanchen-ZhiHuiLaoZhe", + model_name="vits-zh-hf-fanchen-ZhiHuiLaoZhe.onnx", + lang="zh", + rule_fsts="vits-zh-hf-fanchen-ZhiHuiLaoZhe/rule.fst", + ), + TtsModel( + model_dir="vits-zh-hf-fanchen-ZhiHuiLaoZhe_new", + model_name="vits-zh-hf-fanchen-ZhiHuiLaoZhe_new.onnx", + lang="zh", + rule_fsts="vits-zh-hf-fanchen-ZhiHuiLaoZhe_new/rule.fst", + ), + TtsModel( + model_dir="vits-zh-hf-fanchen-unity", + model_name="vits-zh-hf-fanchen-unity.onnx", + lang="zh", + rule_fsts="vits-zh-hf-fanchen-unity/rule.fst", + ), + TtsModel( + model_dir="vits-cantonese-hf-xiaomaiiwn", + model_name="vits-cantonese-hf-xiaomaiiwn.onnx", + lang="cantonese", + lang_iso_639_3="yue", + rule_fsts="vits-cantonese-hf-xiaomaiiwn/rule.fst", + ), # English (US) TtsModel(model_dir="vits-vctk", model_name="vits-vctk.onnx", lang="en"), # TtsModel(model_dir="vits-ljs", model_name="vits-ljs.onnx", lang="en"),