/tts-server-android

这是一个Android系统TTS应用,内置微软演示接口,可自定义HTTP请求,可导入其他本地TTS引擎,以及根据中文双引号的简单旁白/对话识别朗读 ,还有自动重试,备用配置,文本替换等更多功能。| Microsoft TTS Android APP implementation (Use demo API)

Primary LanguageKotlinMIT LicenseMIT

MIT CI CI

GitHub release GitHub release (latest by date)

停更通知

个人原因,本项目已停更,为了方便后续的维护者快速入手,在此简单介绍下项目结构

本项目完全是我初学Android摸索着玩的,总代码量也才1w+, 大多参考自其他开源项目。

开发环境:Android Studio 2022.2.1 Beta, Android SDK33, Go1.19

cd ./app\src\main\java\com\github\jing332\tts_server_android
./constant 常量以及微软TTS的角色风格汉化
./data 数据库相关
./service Android服务:转发器和系统TTS
./help 一些帮助类,音频播放/解码, 插件引擎和SharedPreferences配置对象
./model 各种TTS的具体实现以及与微软TTS的Golang包装
./ui 整个程序的界面,比较杂,主界面由MainActivity构成,通过抽屉导航切换各个主功能的Fragment。

另外,如果修改了tts-server-go并需要同步到Android,则需要将./tts-server-lib 下的所有.go文件的import改为你的tts-server-go的fork地址,或使用 go.mod的replace 重定向本地目录。

TTS Server

本APP起初为阅读APP的网络朗读所用,在原有基础上,现已支持:

  • 内置微软接口(Edge大声朗读、Azure演示API),可自定义HTTP请求,可导入其他本地TTS引擎,以及根据中文双引号的简单旁白/对话识别朗读 ,还有自动重试,备用配置,文本替换等更多功能。

这是 tts-server-go 的Android版本。使用Kotlin开发,通过 Gomobile 将Go编译为Lib以供Android APP调用. 关于本项目的Go Lib,见 tts-server-lib.

点击展开查看截图

左图为服务转发日志界面,用于阅读APP的网络朗读。
右图为系统TTS配置界面,可被使用系统TTS的APP调用。

Download

FAQ

Azure webscoket: bad handshake ?

说明你的IP被微软服务器限制,使用低流量消耗的音频格式(16khz-32bitrate-mp3)可降低发生几率。

如何添加自己的Azure API?

内置不支持,但可使用自定义的HTTP配置,见jing332#43 (comment)

Grateful

开源项目
Android Application Microsoft TTS
gedoor/legado wxxxcxx/ms-ra-forwarder
ag2s20150909/TTS litcc/tts-server
benjaminwan/ChineseTtsTflite asters1/tts
yellowgreatsun/MXTtsEngine
2dust/v2rayNG
Android Library Description
gedoor/rhino-android Give access to RhinoScriptEngine from the JSR223 interfaces on Android JRE.
liangjingkanji/BRV Android上最好的RecyclerView框架, 比 BRVAH 更简单强大
liangjingkanji/Net Android最好的网络请求工具, 比 Retrofit/OkGo 更简单易用
chibatching/kotpref Android SharedPreferences delegation library for Kotlin
google/ExoPlayer An extensible media player for Android
material-components-android Modular and customizable Material Design UI components for Android
kotlinx.serialization Kotlin multiplatform / multi-format serialization
kotlinx.coroutine Library support for Kotlin coroutines

其他资源: