CloneTTS
离线 Android TTS 引擎,1~3秒声音样本即可克隆音色,本地运行无需联网
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
离线 Android TTS 引擎,1~3秒声音样本即可克隆音色,本地运行无需联网
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这样的场景:深夜加班回家,想听小说放松,却忍受不了冰冷的机器音;给父母录制一本有声书,录音嗓子都哑了;追更的外语小说,想听到熟悉的母语音色——CloneTTS 能让你用自己、家人、偶像的声音来朗读一切文本。只需 1~3 秒的声音样本,零门槛,无网络,彻底跑在本地。
图1:sherpa-onnx 框架维护组织 k2-fsa 的 GitHub 头像
文字转语音(TTS)早已不是新鲜技术。手机厂商、系统应用都内置了 TTS,但体验往往一言难尽:机械感十足的朗读、冷冰冰的合成音、无法自定义音色。更关键的是——这些方案全都需要联网,手机没信号、长途飞行、地铁穿隧道,统统哑火。
更深层的痛点是「个性化音色」。有声书用户、阅读障碍者、小语种用户乃至二次元爱好者,每个人都渴望听到「对味」的声音。传统的语音克隆需要专业设备、几十小时录音、云端算力,普通用户根本无法企及。
CloneTTS 的作者 sipeter 敏锐地捕捉到了这个需求空白,依托近年来端侧 AI 的突破——特别是 ONNX 格式模型在移动设备上的高效推理能力——将零样本音色克隆技术压缩进了 Android APK,让普通用户用一部手机就能完成过去需要云端算力的事情。
CloneTTS 的底层推理依托 sherpa-onnx 框架,这是一套由 k2-fsa 团队维护的高效端侧语音处理工具链。sherpa-onnx 将语音识别(ASR)、语音合成(TTS)等模型封装为统一的 ONNX Runtime 调用接口。ONNX Runtime 是微软开源的跨平台推理引擎,支持 CPU/GPU/NPU 硬件加速,在 Android 上通过 JNI 调用 native 库,实现高效推理。
技术选型的优势在于:ONNX 模型格式具有平台无关性,同一套模型文件可以在 Android、iOS、PC 乃至服务器端无缝迁移,降低了模型分发和版本管理的复杂度。同时,ONNX Runtime 针对 ARM 架构有专门的优化路径,配合设备 NPU(神经处理单元)可显著降低推理延迟。
音色克隆的声学模型来自 ZipVoice(AnyVoiceAI 团队的开源项目),采用零样本(Zero-Shot)方案:只需 1~3 秒的参考音频,即可提取说话人的音色特征(Speaker Embedding),再结合文本到音素的编码,用声学模型生成对应的语音波形。整个过程完全本地执行,不上传任何数据。
num_steps 参数控制推理精度:默认值 2 侧重速度,适合日常听书;设为 4 可提升音质,但合成速度会明显变慢;最大 8 在手机上实际意义有限,属于边际效益递减。
CloneTTS 内置了一个轻量 HTTP 服务器,基于 NanoHTTPD(一个仅有几十 KB 的 Java HTTP 服务实现)。在 Android 上常驻 8080 端口,提供 RESTful 接口供外部阅读器调用:
GET http://127.0.0.1:8080/api/tts?text=文本&voice=音色名
POST http://127.0.0.1:8080/api/tts
这个设计非常巧妙:CloneTTS 本质上是一个「语音合成后端」,通过 HTTP 接口将能力暴露给任何支持 Web TTS 的阅读器。Legado(开源阅读)、Moon+ Reader 等主流阅读 APP 都内置了对 Web TTS 的支持,只需填入 CloneTTS 的本地地址,即可让自己的「声音库」接管朗读功能。
v0.6.0 起引入 /api/legado/multirole 接口,支持分角色朗读:在 CloneTTS 中为小说中的不同人物预设音色标签(如「旁白=男声」「黛玉=女声」),然后通过 API 把角色标签传递给阅读器,实现真正的角色对话朗读。这是高端有声书的标配功能,CloneTTS 用极简的方式在 Android 上实现了。
用户可以在 App 内创建多个音色卡片,每张卡片包含:参考音频、对应文本、Alias(代号,用于 API 精确匹配)。系统支持实时 Alias 重名检测,防止多音色冲突。音色以 .zip 格式打包备份,导出后可迁移到其他设备,导入时支持追加或覆盖模式。
针对多音字、人名、地名等 TTS 常见顽疾,CloneTTS 提供两套武器:纯文本替换规则(遇到「行」字自动替换为「hang」或「xing」)和 正则表达式替换规则(针对复杂模式的自定义处理)。Sentence Split Regex 则控制断句逻辑,避免长句一气读完。
高级设置中开启详细日志后,App 内置的 RTF(Real-Time Factor,实时因子)监控台会实时显示每一句合成的耗时。RTF < 1 意味着合成速度比实时播放更快,用户可以无感切换语速;RTF > 1 时提升语速会遇到瓶颈。这个透明的性能面板让用户对自己的设备能力有量化认知,也方便开发者在 Issue 中收集设备适配数据。
CloneTTS 是纯 APK 安装包,不涉及服务器、容器或命令行。安装流程极其简洁:
.apk(当前最新版 v0.6.5,约 253MB,包含 ONNX 模型权重)硬件门槛极低:官方标注只需 2GB RAM、API 26+(Android 8.0 以上)。实际上语音合成对 CPU 性能有一定要求,高端手机体验明显更好,低端机合成速度可能偏慢。无 GPU 需求——ONNX Runtime 在联发科/高通芯片的 NPU 上有硬件加速支持,但即使纯 CPU 推理,日常语速下也能流畅工作。
受限于手机算力,CloneTTS 的合成质量与云端商业 TTS(Azure、Google Cloud)相比仍有明显差距。特别是在长文本的韵律自然度(Prosody)上,机械感偶有显现。对于追求「以假乱真」的用户,克隆声音的相似度也受参考音频质量影响较大——录音环境嘈杂、时长过短都会劣化效果。
README 和免责声明中明确写道:未经授权克隆他人声音属于违法行为。音色克隆技术在帮助有需求用户的同时,也给语音诈骗、虚假信息传播带来了新的工具。CloneTTS 作为工具本身不违法,但使用者必须自行承担合规责任。
当前仅有 Android 版本,iOS 用户暂时无法使用。考虑到 iOS 的沙盒机制和 App Store 的审核政策,移植难度不小。GitHub 上有用户请求 WebAssembly 或 Flutter 跨平台版本,但作者尚未明确回应。
CloneTTS 折射出一个更大的趋势:大模型与 AI 能力正在加速从云端下沉到终端。过去两年,我们见证了 Whisper 的端侧部署、SD WebUI 的量化加速,现在 CloneTTS 将零样本 TTS 也装进了手机。
这一趋势的底层推力是三重奏:
CloneTTS 用 692 颗 GitHub Stars 证明:用户愿意为「真正属于自己的 AI」付费——不是数据上云的那种。
核心技术栈:sherpa-onnx(端侧推理框架)+ ZipVoice(零样本声学模型)+ ONNX Runtime(跨平台推理引擎)+ NanoHTTPD(嵌入式 HTTP 服务)
适合人群:有声书爱好者、阅读障碍者、小语种学习者、小说追更党、需要个性化 TTS 的无障碍应用场景
不适合:追求极致合成音质者、iOS 用户、需要云端管理的商业场景