☰
Kokoro 82M 多语言 TTS:轻量语音合成的快速上手
2026/11/6 1:42:20 网站建设 项目流程

Kokoro 82M 多语言 TTS:轻量语音合成的快速上手

【免费下载链接】kokorohttps://hf.co/hexgrad/Kokoro-82M项目地址: https://gitcode.com/gh_mirrors/ko/kokoro

Kokoro 是一个 8200 万参数的开源多语言 TTS(文本转语音)推理库,支持美式/英式英语、中文、日语、西班牙语等 9 种语言,适合需要在本地服务器上批量生产语音、或把合成能力嵌进自己应用的开发者。

能力与规格一览

先给你一张规格表,判断它是否匹配你的项目:

项目说明
参数量82M,单张消费级显卡甚至纯 CPU 均可推理
支持语言9 种:a美式英语、b英式英语、e西班牙语、f法语、h印地语、i意大利语、j日语、p巴西葡萄牙语、z普通话
内置音色50+ 个.bin音色文件,覆盖男女声,如af_heart、zf_xiaobei、jf_nezumi
输出规格24 kHz 采样率 WAV
许可证Apache-2.0,可商用、可闭源集成
运行环境Python ≥ 3.10(< 3.14),CPU/CUDA 自动选择;另有纯浏览器端 JS 库 kokoro.js/

环境准备 📦

两条命令装好依赖,espeak-ng是非英语语言(西语、法语等)做 G2P 的必备组件:

pip install kokoro>=0.9.4 soundfile apt-get install espeak-ng # Windows 需装 espeak-ng 的 msi 安装包

中文、日语还需要各自的 G2P 扩展:pip install misaki[zh]或pip install misaki[ja],这一步在换语言时再装即可。

三步跑通第一次合成 ⚡

最小目标:5 行代码生成第一段音频并落盘,先跑通再说。

  1. 用语言码初始化KPipeline(美式英语传'a');
  2. 传入文本和音色名,它会返回一个逐段产音频的生成器;
  3. 每段以 24000 Hz 采样率写入 wav。

下面这段脚本就是完整流程,直接执行即可在当前目录得到0.wav:

from kokoro import KPipeline import soundfile as sf pipeline = KPipeline(lang_code='a') # 'a' = 美式英语 for i, (gs, ps, audio) in enumerate( pipeline('Hello, this is Kokoro TTS.', voice='af_heart')): sf.write(f'{i}.wav', audio, 24000) # 24kHz 采样率 print('done, see 0.wav')

语音风格怎么选 🎧

音色名有固定规律:前缀两位是语言 + 性别,后缀是名字。af_/am_是美式英语女/男声,bf_/bm_是英式,zf_/zm_是中文女/男声,jf_/jm_是日语。常见可选值:

语言音色示例备注
美式英语af_heart、af_bella、am_eric20 个,af_heart综合评级最高
英式英语bf_alice、bm_george8 个
中文zf_xiaobei、zm_yunjian4 女 4 男,需misaki[zh]
日语jf_nezumi、jm_kumo4 女 1 男,需misaki[ja]

一个硬规则:音色前缀必须和lang_code匹配——lang_code='z'就配zf_/zm_音色,混搭会导致 G2P 阶段报错或发音怪异。场景匹配建议:新闻播报类选评级靠前的af_heart,长篇有声书可试am_eric这类偏沉稳的男声,先用examples/device_examples.py的思路快速试听对比。

进阶:混合语言与批量合成

  • 长文本批处理:直接把整章文本传给pipeline(),它默认按split_pattern=r'\n+'切段、逐段产出,你不需要自己分句;要按句子切就把参数改成r'(?<=[.!?。!?])\s*'。
  • 多语言共享模型:每个语言建一个KPipeline,但让它们复用同一个模型实例,避免重复加载 82M 权重:en = KPipeline(lang_code='a')后写zh = KPipeline(lang_code='z', model=en.model),写法可参考 examples/device_examples.py。
  • 中英混排文本:Kokoro 不做单句内的自动语言切换。如果你的文本混合了中英文,建议先按语言切句,英文段走lang_code='a'、中文段走lang_code='z',各用各的音色生成后再按原顺序拼接;同时用speed=1参数统一两段语速,减少听感割裂。

典型落地场景

  • 在线教育平台多语言课件配音:一套课件脚本,用a/z/j三条流水线各跑一遍,产出英、中、日三版音频轨,替换掉人工录音流程。
  • 播客节目制作:主持人口播稿用am_系列男声,插入的国外引用素材用af_系列女声,按段落批量导出 24kHz wav 后在剪映里对轨。
  • 智能硬件离线合成:Apache-2.0 许可允许你把模型打包进智能音箱、电子词典等设备的固件,前端页面则可用 kokoro.js/ 在浏览器里本地预览效果。
  • 无障碍字幕项目:把长篇视频的字幕文件按行喂给生成器,自动生成带时间戳参考的朗读版音轨。

常见问题 ❓

显存要求高吗?不高。82M 参数在 CPU 上即可合成,只是慢一些;有 NVIDIA 显卡时用KPipeline(lang_code='a', device='cuda')加速,device=None会自动探测。

中文、日语怎么启用?装对应扩展(pip install misaki[zh]/misaki[ja]),然后lang_code传'z'或'j',音色换成zf_/zm_或jf_/jm_前缀即可。

能在浏览器里跑吗?可以。JS 库kokoro-js基于 Transformers.js,在 wasm/webgpu 上 100% 本地运行,模型 ID 为onnx-community/Kokoro-82M-v1.0-ONNX,源码在 kokoro.js/src/;注意目前浏览器端音色以英语为主,多语言音色仍在补充中。

更多可调参数(如speed、split_pattern)见 README.md,交互 Demo 在 demo/ 目录。装好环境后,把第一行lang_code='a'换成你的目标语言,跑一段af_heart听个响——剩下的调优交给循环试听。

【免费下载链接】kokorohttps://hf.co/hexgrad/Kokoro-82M项目地址: https://gitcode.com/gh_mirrors/ko/kokoro

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询