benjaminwan / ChineseTtsTflite

Android Chinese TTS Engine Base On Tensorflow TTS , use for TfLite Models Test。安卓离线中文TTS引擎,在TensorflowTTS基础上开发,用于TfLite模型测试。
Apache License 2.0
314 stars 46 forks source link

发布到 F-Droid #1

Closed linsui closed 2 years ago

linsui commented 2 years ago

请问是否可以将应用发布到 F-Droid?

benjaminwan commented 2 years ago

这只是个简单的dmeo,用于测试。个人认为没有发布的价值。但如果你想这么做,也没有什么不可以。

linsui commented 2 years ago

我在构建 tflite 的时候遇到了一个错误。https://gitlab.com/linsui/fdroiddata/-/jobs/2894686005 只有在加上 --input_models 时出错,可能是构建 ops 的时候才会出错。请问需要什么特别的配置吗?

benjaminwan commented 2 years ago

ndk版本:19.2.5345600

BUILD_FLAGS="--input_models=/home/benjaminwan/assets/fastspeech2_quan.tflite,/home/benjaminwan/assets/mb_melgan.tflite,/home/benjaminwan/assets/tacotron2_quan.tflite --target_archs=x86,x86_64,arm64-v8a,armeabi-v7a"
benjaminwan commented 2 years ago

编译环境是虚拟机deep20.4,使用docker编译太费资源会死掉,最后用真机编译脚本完成编译。

benjaminwan commented 2 years ago

你的构建log,有好多warning下载文件失败,这些下载失败的工具可能造成编译失败

WARNING: Download from https://storage.googleapis.com/mirror.tensorflow.org/github.com/tensorflow/runtime/archive/c3e082762b7664bbc7ffd2c39e86464928e27c0c.tar.gz failed: class com.google.devtools.build.lib.bazel.repository.downloader.UnrecoverableHttpException GET returned 404 Not Found
linsui commented 2 years ago

看起来似乎没什么区别。请问在 configure 的时候需要什么特别的选项吗?除了 Android 的选项其他我都是用的默认值。我在 Debian Stretch 的 docker 和 Debian Bulleye 真机上都测试了,都是这个错误。不知道是不是缺少什么工具链。

benjaminwan commented 2 years ago

都是用默认选项。我自己做了个sh脚本用来启动编译,如下。

set -e

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
BAZEL_CACHE_DIR="${SCRIPT_DIR}/bazel_cache"

# Check command line flags.
BUILD_FLAGS="--input_models=/home/benjaminwan/assets/fastspeech2_quan.tflite,/home/benjaminwan/assets/mb_melgan.tflite,/home/benjaminwan/assets/tacotron2_quan.tflite --target_archs=x86,x86_64,arm64-v8a,armeabi-v7a"

  # Configure Bazel.
  source tensorflow_src/tensorflow/tools/ci_build/release/common.sh
  install_bazelisk

  # Building with bazel.
  #export JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
  export BAZEL_CACHE_DIR=${BAZEL_CACHE_DIR}
  export OMIT_PRINTING_OUTPUT_PATHS=YES
  bash ${SCRIPT_DIR}/tensorflow_src/tensorflow/lite/tools/build_aar.sh ${BUILD_FLAGS}

  # Copy the output files from docker container.
  OUT_FILES="/tensorflow_src/bazel-bin/tmp/tensorflow-lite.aar"
  OUT_FILES="${OUT_FILES} /tensorflow_src/bazel-bin/tmp/tensorflow-lite-select-tf-ops.aar"
  echo "Output can be found here:"
  for i in ${OUT_FILES}
  do
    if [ -f $i ]; then
      cp $i /host_dir
      basename $i
    fi
  done
linsui commented 2 years ago

谢谢。看起来没什么区别,可能是编译环境有问题。

linsui commented 1 year ago

我又重新试了试,似乎主要问题还是内存。构建 TFLite 的时候非常容易 OOM。除此之外构建出来的应用没有问题。

请问我可以在这个仓库里添加 fastlane 元数据吗?就是应用描述和截图。如果可以我开个 PR。

benjaminwan commented 1 year ago

我已很久不维护这个项目了;如果你想折腾,我设置让你可以直接管理项目;

linsui commented 1 year ago

谢谢 。这个项目目前还是最好的中文 TTS 所以我至少要给 F-Droid 打个包再说。

ivysrono commented 9 months ago

这个项目目前还是最好的中文 TTS

确实,希望能支持中英文混合,最好能达到 https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/README_cn.md 的效果。 https://github.com/PaddlePaddle/PaddleSpeech/discussions/2492