应用介绍
< #语音合成 #TTS #端侧AI #嵌入式 #WebAssembly #离线运行 #开源软件
sanoTTS 是一族刻意做小的神经网络语音合成模型,参数量从 294k 到 2.27M,最小的一档把时长、声学、解码三个模型加起来只有 337KB 的 int8 权重。名字取自尼泊尔语的「सानो」,意思就是「小」。它不走云端,也不需要 NPU,一整套推理跑在一颗约 3 美元的 ESP32-S3 上就能实时出声。
另一条路是浏览器:整套流程编译成 WebAssembly,音素化和合成都在访客本机完成,文本不会上传到任何服务器。目前提供 11 个声音、覆盖英语、尼泊尔语、印地语、越南语、印尼语和中文 6 个语种,Python、NPM、Arduino / PlatformIO 三条接入方式都已经打通。适合想给小硬件、小玩具或者纯静态网页加一张嘴的人。
极小的模型体积:整个模型族从 294k 参数一路到 2.27M 参数,单个声音的文件普遍在 4MB 以内,和动辄几百兆的主流 TTS 完全不是一个量级。
微控制器实时合成:在 ESP32-S3 上跑完整的神经网络推理,int8 量化的 iSTFT 解码器直接从 GPIO 推出音频,接一颗 LM386 和喇叭就能让板子开口说话。
浏览器端本地合成:WebAssembly 版本不需要任何后端,官方演示页可以现场输入文字挑选声音试听,合成全过程都发生在本机。
11 个声音 6 种语言:英语有 amy、kristin、hfc、heart 等多个音色,另外还有尼泊尔语、印地语、越南语、印尼语和中文,可按需分别下载。
三条接入方式:Python 侧 pip install sanotts 装完即用,命令行和库调用都支持;网页侧 npm install sanotts-web,也可以纯静态拷贝文件;嵌入式侧提供 Arduino 库和 PlatformIO 依赖地址。
零依赖推理:内置 espeak-ng 音素化器,Python 侧是纯 numpy 推理,不需要 torch 也不需要 onnxruntime,装机体积和启动开销都很轻。
同级别里的自然度表现:作者用同一套无参考评测(SCOREQ / UTMOS / DNSMOS)横向对比,amy 以 1.46M 参数在 15M 参数以下这一档拿到了最好的自然度分数。
可以训练自己的声音:文档里给出了完整的蒸馏配方,从探针数据到时长、声学、解码器三段训练再到 int8 导出,也包含移植新语种的流程。
开源项目:项目源码托管在 GitHub,方便开发者查看实现方式、参与开发,或者根据自己的需求进行二次定制。
sanoTTS 是一族刻意做小的神经网络语音合成模型,参数量从 294k 到 2.27M,最小的一档把时长、声学、解码三个模型加起来只有 337KB 的 int8 权重。名字取自尼泊尔语的「सानो」,意思就是「小」。它不走云端,也不需要 NPU,一整套推理跑在一颗约 3 美元的 ESP32-S3 上就能实时出声。
另一条路是浏览器:整套流程编译成 WebAssembly,音素化和合成都在访客本机完成,文本不会上传到任何服务器。目前提供 11 个声音、覆盖英语、尼泊尔语、印地语、越南语、印尼语和中文 6 个语种,Python、NPM、Arduino / PlatformIO 三条接入方式都已经打通。适合想给小硬件、小玩具或者纯静态网页加一张嘴的人。
软件功能
极小的模型体积:整个模型族从 294k 参数一路到 2.27M 参数,单个声音的文件普遍在 4MB 以内,和动辄几百兆的主流 TTS 完全不是一个量级。
微控制器实时合成:在 ESP32-S3 上跑完整的神经网络推理,int8 量化的 iSTFT 解码器直接从 GPIO 推出音频,接一颗 LM386 和喇叭就能让板子开口说话。
浏览器端本地合成:WebAssembly 版本不需要任何后端,官方演示页可以现场输入文字挑选声音试听,合成全过程都发生在本机。
11 个声音 6 种语言:英语有 amy、kristin、hfc、heart 等多个音色,另外还有尼泊尔语、印地语、越南语、印尼语和中文,可按需分别下载。
三条接入方式:Python 侧 pip install sanotts 装完即用,命令行和库调用都支持;网页侧 npm install sanotts-web,也可以纯静态拷贝文件;嵌入式侧提供 Arduino 库和 PlatformIO 依赖地址。
零依赖推理:内置 espeak-ng 音素化器,Python 侧是纯 numpy 推理,不需要 torch 也不需要 onnxruntime,装机体积和启动开销都很轻。
同级别里的自然度表现:作者用同一套无参考评测(SCOREQ / UTMOS / DNSMOS)横向对比,amy 以 1.46M 参数在 15M 参数以下这一档拿到了最好的自然度分数。
可以训练自己的声音:文档里给出了完整的蒸馏配方,从探针数据到时长、声学、解码器三段训练再到 int8 导出,也包含移植新语种的流程。
开源项目:项目源码托管在 GitHub,方便开发者查看实现方式、参与开发,或者根据自己的需求进行二次定制。



