如何本地部署轻量级TTS新选择Kokoro-82M?
摘要:对于个人开发者和小型团队来说,一个理想的TTS方案应该满足三个条件:轻量到能在CPU上跑、免费可商用、效果足够自然。
一、前言
你是否遇到过这样的场景:想给项目添加语音合成功能,却被各种问题困扰——要么模型太大动辄几GB,要么必须依赖GPU云端API,要么商用授权一团糟。
对于个人开发者和小型团队来说,一个理想的TTS方案应该满足三个条件:轻量到能在CPU上跑、免费可商用、效果足够自然。
今天要介绍的 Kokoro-82M,就是这样一款满足所有条件的神器。它只有82M参数,却能输出相当自然的中文语音;体积小巧到只需几百MB,却支持8种不同音色。更重要的是——它完全开源,Apache 2.0许可,零成本商用。
二、方案介绍
概念
定义
Kokoro-82M
由 hexgrad 开发的轻量级TTS模型,仅82M参数,支持8种中文音色
ONNX优化
模型经过ONNX优化,可在CPU上高效推理,无需GPU
语音管道(Pipeline)
Kokoro 的核心API,负责分词、音素转换、语音合成全流程
音色(Voice)
预训练的音色模型,不同音色适合不同场景
为什么选择 Kokoro?
指标
数值
参数规模
82M
模型大小
~165MB
输出采样率
24kHz
支持语言
中文、英语、日语、韩语等8种
中文音色数
8种(4女4男)
推理设备
CPU / GPU
许可协议
Apache 2.0
对比同级别模型,Kokoro 在中文场景下表现尤为突出——不仅音色自然,而且对中文多音字的处理也相当不错。对于没有GPU的个人开发者来说,这可能是目前最优的中文TTS本地方案。
先实际听一下用kokoro合成的音频
我用kokoro生成了一下奥德元的口号:关注我的公众号:奥德元,一起学习 A I,一起追赶时代。,一个男声,一个女声,大家可以实际听下、感受一下合成的语音的效果。
男声: zm_yunyang: kokoro_zm_yunyang.wav
女声: zf_xiaoxiao:kokoro_zf_xiaoxiao.wav
如果这个声音的效果满意的话,请继续往下看,如果觉得声音不行,就没必要再往下看了。
三、安装与使用
环境要求
Python 3.9 - 3.12
至少 2GB 可用磁盘空间(模型下载)
推荐 4GB+ 内存
安装步骤
第一步:安装 Kokoro 主包
pip install kokoro
第二步:安装中文语音库
pip install misaki[zh]
misaki 是 Kokoro 的中文分词器和音素转换器,必须安装才能处理中文文本。
第三步:下载中文模型权重
首次使用需要从 HuggingFace 下载模型:
# 安装 huggingface-cli(如未安装)
pip install huggingface-hub
# 下载中文模型(约165MB)
huggingface-cli download hexgrad/Kokoro-82M-v1.1-zh --local-dir ./kokoro-zh
或者直接在Python代码中自动下载:
from kokoro import KPipeline
# 首次运行时会自动下载模型
pipeline = KPipeline(lang_code='zh')
完整使用示例
from kokoro import KPipeline
import soundfile as sf
import numpy as np
import torch
def test():
# 初始化中文管线
pipeline = KPipeline(lang_code='z')
# 生成语音
text = "关注我的公众号:奥德元,一起学习 A I,一起追赶时代。
