Chinese TTS TF Lite 项目介绍
项目背景
Chinese TTS TF Lite 是一个通过 Kotlin 与 JetPack Compose 搭配 Tensorflow Lite 开发的中文语音合成引擎。该项目的设计目标是实现一个可以完全离线使用的语音合成系统,支持在移动设备上实时生成语音输出。这一特性使得用户即便在没有网络连接的情况下,也能进行文字到语音的转换。
项目功能
Chinese TTS TF Lite 提供了两种可选模型:FastSpeech 和 Tacotron。两者的具体性能和适用场景各不相同:
-
FastSpeech:该模型速度较快,适合于中等以上配置的手机设备。虽然生成的音频质量相对不如 Tacotron,但在一些对速度要求较高的应用场景中具有明显优势。
-
Tacotron:生成音频的质量较高,但是需要较多的计算资源,所以在移动设备上的实用性不如 FastSpeech 这么高。目前主要用于测试目的。
这两个模型都来自于 TensorFlowTTS,而中文文字转拼音的方法则参考了 TensorflowTTS_chinese。
安装和编译
使用 Chinese TTS TF Lite 需要一定的设置和准备:
- 使用 Android Studio 2021.2.1 进行开发,并下载所需的模型文件和裁剪版的 TensorFlow Lite aar 文件。
- 将下载的模型文件解压并放置到项目的指定目录中。例如
app/src/main/assets
下需包括baker_mapper.json
、fastspeech2_quan.tflite
、mb_melgan.tflite
和tacotron2_quan.tflite
。 - 将 aar 文件放入
app/libs
中。 - 使用指令
./gradlew assembleRelease
进行项目的编译。
模型和开发工具
用户可以通过项目的 下载页面 获取模型文件和裁剪后的 aar 文件。项目建议使用 Netron 查看模型结构,以便更好地理解模型的工作机制。
在减少 TensorFlow Lite 二进制文件大小的过程中,裁剪过的文件体积显著减小,例如 tensorflow-lite-2.8.0.aar 从 5.4MB 减小到 3.7MB。
开发环境与测试
模型的测试和转换主要在 Ubuntu 20.04 LTS 系统上进行,需依赖 Python 3.8 以及相关 Python 包的支持。转换环境可通过以下步骤配置:
- 克隆 TensorFlowTTS 仓库并安装必要的 Python 包。
- 完成模型文件的解压与 TensorFlow 模型的测试。
- 使用 Python 脚本将 TF 模型转换为 TFLite 格式。
参考资料
为了更好地理解和使用本项目,用户可以查阅以下资料:
界面展示
项目也包括 APP 的界面截图,展示了其用户界面的设计和布局。这些截图帮助开发者更好地把握应用使用场景和用户体验设计。