kokoro-tts

GitHub
1.4k 145 简单 1 次阅读 今天MIT音频
AI 解读 由 AI 自动生成,仅供参考

kokoro-tts 是一款基于 Kokoro 模型的高品质命令行语音合成工具,旨在让用户轻松将文本转化为自然流畅的语音。它不仅能处理纯文本,还直接支持读取 EPUB 电子书和 PDF 文档,并能按章节自动分割输出,极大地简化了有声书制作或长文档朗读的流程。

这款工具主要解决了传统语音合成软件操作复杂、格式支持单一以及难以自定义声音风格的痛点。通过内置的声音混合功能,用户可以自由调整不同音色的权重,创造出独一无二的语音效果;同时支持多语言(涵盖中、英、日、法、意等)及多种语速调节,满足多样化场景需求。此外,它还具备 GPU 加速能力,显著提升了生成效率。

kokoro-tts 特别适合开发者、技术爱好者以及需要批量处理文本转语音的研究人员使用。虽然它以命令行形式运行,要求用户具备基础的终端操作知识,但其强大的管道(pipe)支持允许与其他程序无缝协作,非常适合集成到自动化工作流中。对于希望在不依赖图形界面的情况下,快速获得高质量 WAV 或 MP3 音频文件的用户来说,这是一个高效且灵活的选择。

使用场景

一位独立开发者希望将收集到的多语言技术文档(PDF 和 EPUB 格式)转化为有声书,以便在通勤途中通过听读来学习新技术。

没有 kokoro-tts 时

  • 处理不同格式的文档极其繁琐,需要先用其他工具将 PDF 或 EPUB 转换为纯文本,再单独寻找 TTS 服务进行合成。
  • 难以获得自然的多语言语音支持,尤其是中日英混合的技术术语,现有免费工具发音生硬且经常出错。
  • 无法灵活调整声音特质,若想模拟特定讲解风格,只能录制真人音频或购买昂贵的定制语音服务。
  • 生成过程缺乏自动化,无法通过命令行管道与其他脚本串联,每次转换都需手动操作图形界面。
  • 输出文件往往是一个巨大的音频块,未按章节切割,导致在播放器中难以定位具体内容进度。

使用 kokoro-tts 后

  • 直接通过命令行读取 PDF 和 EPUB 文件,kokoro-tts 自动解析文本并流式输出音频,省去了中间转换步骤。
  • 利用其内置的多语言模型和声音混合功能,轻松实现中英日无缝切换,技术名词发音准确且自然流畅。
  • 通过调整声音权重参数,自由“调配”出沉稳或活泼的讲解音色,无需额外录音即可拥有个性化旁白。
  • 支持标准输入管道,可将 kokoro-tts 嵌入现有的自动化工作流中,一键批量处理整个文件夹的文档。
  • 自动按原书章节分割输出文件,并支持合并操作,生成的音频结构清晰,便于在移动端随时跳转收听。

kokoro-tts 让开发者能在终端内一站式完成从多格式文档到高质量、可定制多语言有声书的转化,极大提升了知识获取的效率。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

支持 GPU 加速(非必需),具体显卡型号、显存大小及 CUDA 版本未在文档中说明

内存

未说明

依赖
notes安装后需手动下载两个模型文件(voices-v1.0.bin 和 kokoro-v1.0.onnx)并放置在与运行命令相同的目录下;推荐使用 uv 工具进行环境管理和安装;支持多种输入格式包括 EPUB 和 PDF。
python3.11-3.12 (不支持 3.13+)
未明确列出具体库名,需通过 requirements.txt 或 pyproject.toml 安装
kokoro-tts hero image

快速开始

Kokoro TTS

一款基于Kokoro模型的命令行文本转语音工具,支持多种语言、多种音色(可混合)以及多种输入格式,包括EPUB电子书和PDF文档。

ngpt-s-c

功能特性

  • 多语言与多音色支持
  • 支持自定义权重的音色混合
  • 支持EPUB、PDF和TXT文件输入
  • 支持标准输入(stdin)及与其他程序的管道连接(|
  • 流式音频播放
  • 可将输出按章节分割
  • 语速可调
  • 输出格式支持WAV和MP3
  • 具备章节合并功能
  • 提供详细的调试输出选项
  • GPU加速支持

演示

Kokoro TTS是一款开源的命令行工具,能够直接在终端中实现高质量的文本转语音。它就像你的私人语音工作室,只需简单操作就能将任意文本转换为自然流畅的语音。

https://github.com/user-attachments/assets/8413e640-59e9-490e-861d-49187e967526

演示音频(MP3) | 演示音频(WAV)

待办事项

  • 添加GPU支持
  • 添加PDF支持
  • 添加GUI界面

系统要求

  • Python 3.11–3.12(目前不支持Python 3.13及以上版本)

安装方法

方法1:从PyPI安装(推荐)

安装Kokoro TTS最简单的方式是从PyPI获取:

# 使用uv(推荐)
uv tool install kokoro-tts

# 使用pip
pip install kokoro-tts

安装完成后,您可以运行:

kokoro-tts --help

方法2:从Git仓库安装

直接从代码仓库安装:

# 使用uv(推荐)
uv tool install git+https://github.com/nazdridoy/kokoro-tts

# 使用pip
pip install git+https://github.com/nazdridoy/kokoro-tts

方法3:克隆并本地安装

  1. 克隆仓库:
git clone https://github.com/nazdridoy/kokoro-tts.git
cd kokoro-tts
  1. 安装软件包:

使用uv(推荐):

uv venv
uv pip install -e .

使用pip

python -m venv .venv
source .venv/bin/activate  # Windows系统下:.venv\Scripts\activate
pip install -e .
  1. 运行工具:
# 如果使用uv
uv run kokoro-tts --help

# 如果使用pip并激活了虚拟环境
kokoro-tts --help

方法4:无需安装直接运行

如果您希望不进行安装而直接运行:

  1. 克隆仓库:
git clone https://github.com/nazdridoy/kokoro-tts.git
cd kokoro-tts
  1. 仅安装依赖项:

使用uv

uv venv
uv sync

使用pip

python -m venv .venv
source .venv/bin/activate  # Windows系统下:.venv\Scripts\activate
pip install -r requirements.txt
  1. 直接运行:
# 使用uv
uv run -m kokoro_tts --help

# 使用pip(已激活虚拟环境)
python -m kokoro_tts --help

下载模型文件

安装完成后,请将所需的模型文件下载到工作目录中:

# 下载音色数据(推荐使用bin格式)
wget https://github.com/nazdridoy/kokoro-tts/releases/download/v1.0.0/voices-v1.0.bin

# 下载模型
wget https://github.com/nazdridoy/kokoro-tts/releases/download/v1.0.0/kokoro-v1.0.onnx

脚本需要voices-v1.0.binkokoro-v1.0.onnx文件位于您运行kokoro-tts命令的同一目录下。

支持的音色:

类别 音色 语言代码
🇺🇸 👩 af_alloy, af_aoede, af_bella, af_heart, af_jessica, af_kore, af_nicole, af_nova, af_river, af_sarah, af_sky en-us
🇺🇸 👨 am_adam, am_echo, am_eric, am_fenrir, am_liam, am_michael, am_onyx, am_puck en-us
🇬🇧 bf_alice, bf_emma, bf_isabella, bf_lily, bm_daniel, bm_fable, bm_george, bm_lewis en-gb
🇫🇷 ff_siwis fr-fr
🇮🇹 if_sara, im_nicola it
🇯🇵 jf_alpha, jf_gongitsune, jf_nezumi, jf_tebukuro, jm_kumo ja
🇨🇳 zf_xiaobei, zf_xiaoni, zf_xiaoxiao, zf_xiaoyi, zm_yunjian, zm_yunxi, zm_yunxia, zm_yunyang cmn

使用方法

基本用法

kokoro-tts <输入文本文件> [<输出音频文件>] [选项]

[!注意]

  • 如果您通过方法1(PyPI)或方法2(Git安装)安装,请直接使用kokoro-tts
  • 如果您通过方法3(本地安装)安装,请使用uv run kokoro-tts,或者先激活您的虚拟环境
  • 如果您使用方法4(无需安装),请使用uv run -m kokoro_ttspython -m kokoro_tts,并确保已激活虚拟环境

命令

  • -h, --help: 显示帮助信息
  • --help-languages: 列出支持的语言
  • --help-voices: 列出可用的音色
  • --merge-chunks: 将现有分段合并为章节文件

选项

  • --stream: 流式播放音频,而非保存为文件
  • --speed <浮点数>: 设置语速(默认值:1.0)
  • --lang <字符串>: 设置语言(默认值:en-us)
  • --voice <字符串>: 设置单一音色或混合音色(默认为交互式选择)
    • 单一音色:使用音色名称(如“af_sarah”)
    • 混合音色:使用“音色1:权重,音色2:权重”格式
  • --split-output <目录>: 将每个分段分别保存到指定目录
  • --format <字符串>: 音频格式:wav或mp3(默认为wav)
  • --debug: 在处理过程中显示详细的调试信息

输入格式

  • .txt: 文本文件输入
  • .epub: EPUB电子书输入(会按章节处理)
  • .pdf: PDF文档输入(从目录或内容中提取章节)
  • -/dev/stdin(Linux/macOS)或 CONIN$(Windows): 标准输入(stdin)

示例

# 基本用法,生成输出文件
kokoro-tts input.txt output.wav --speed 1.2 --lang en-us --voice af_sarah

# 从标准输入读取
echo "Hello World" | kokoro-tts - --stream
cat input.txt | kokoro-tts - output.wav

# 跨平台标准输入支持:
# Linux/macOS:echo "text" | kokoro-tts - --stream
# Windows:echo "text" | kokoro-tts - --stream
# 所有平台还支持:kokoro-tts /dev/stdin --stream(Linux/macOS)或 kokoro-tts CONIN$ --stream(Windows)

# 使用音色混合(60-40比例)
kokoro-tts input.txt output.wav --voice "af_sarah:60,am_adam:40"

# 使用等比例音色混合(50-50)
kokoro-tts input.txt --stream --voice "am_adam,af_sarah"

# 处理EPUB并按章节分割
kokoro-tts input.epub --split-output ./chunks/ --format mp3

# 直接流式播放音频
kokoro-tts input.txt --stream --speed 0.8

# 合并现有分段
kokoro-tts --merge-chunks --split-output ./chunks/ --format wav

# 处理EPUB并显示详细调试信息
kokoro-tts input.epub --split-output ./chunks/ --debug

# 处理PDF并按章节分割
kokoro-tts input.pdf --split-output ./chunks/ --format mp3

# 列出所有可用音色
kokoro-tts --help-voices

# 列出支持的语言
kokoro-tts --help-languages

[!提示] 如果您使用的是方法 3,请将上述示例中的 kokoro-tts 替换为 uv run kokoro-tts。 如果您使用的是方法 4,请将上述示例中的 kokoro-tts 替换为 uv run -m kokoro_ttspython -m kokoro_tts

功能详解

EPUB 处理

  • 自动从 EPUB 文件中提取章节
  • 保留章节标题和结构
  • 为每个章节创建有序的输出
  • 提供详细的调试输出以方便故障排除

音频处理

  • 将长文本分割成易于管理的片段
  • 支持流式传输以便即时播放
  • 可自定义混合比例的语音融合
  • 长时间处理过程中的进度指示器
  • 能够优雅地处理中断情况

输出选项

  • 单文件输出
  • 按章节组织的拆分输出
  • 片段合并功能
  • 支持多种音频格式

调试模式

  • 显示文件处理的详细信息
  • 展示 EPUB 文件的 NCX 解析详情
  • 列出所有找到的章节及其元数据
  • 帮助排查处理过程中出现的问题

输入选项

  • 文本文件输入 (.txt)
  • EPUB 书籍输入 (.epub)
  • 标准输入 (stdin)
  • 支持从其他程序进行管道输入

贡献

这是一个个人项目。但如果您想贡献代码,欢迎提交 Pull Request。

许可证

本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。

致谢

版本历史

v2.3.12026/04/08
v2.3.02025/08/17
v2.2.12025/08/14
v2.2.02025/08/14
v2.1.12025/08/14
v2.0.32025/05/30
v2.0.22025/03/30
v2.0.12025/03/30
v2.0.02025/02/18
v1.0.02025/02/05

常见问题

相似工具推荐

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85.1k|★★☆☆☆|6天前
图像数据工具视频

GPT-SoVITS

GPT-SoVITS 是一款强大的开源语音合成与声音克隆工具,旨在让用户仅需极少量的音频数据即可训练出高质量的个性化语音模型。它核心解决了传统语音合成技术依赖海量录音数据、门槛高且成本大的痛点,实现了“零样本”和“少样本”的快速建模:用户只需提供 5 秒参考音频即可即时生成语音,或使用 1 分钟数据进行微调,从而获得高度逼真且相似度极佳的声音效果。 该工具特别适合内容创作者、独立开发者、研究人员以及希望为角色配音的普通用户使用。其内置的友好 WebUI 界面集成了人声伴奏分离、自动数据集切片、中文语音识别及文本标注等辅助功能,极大地降低了数据准备和模型训练的技术门槛,让非专业人士也能轻松上手。 在技术亮点方面,GPT-SoVITS 不仅支持中、英、日、韩、粤语等多语言跨语种合成,还具备卓越的推理速度,在主流显卡上可实现实时甚至超实时的生成效率。无论是需要快速制作视频配音,还是进行多语言语音交互研究,GPT-SoVITS 都能以极低的数据成本提供专业级的语音合成体验。

56.4k|★★★☆☆|1周前
音频

TTS

🐸TTS 是一款功能强大的深度学习文本转语音(Text-to-Speech)开源库,旨在将文字自然流畅地转化为逼真的人声。它解决了传统语音合成技术中声音机械生硬、多语言支持不足以及定制门槛高等痛点,让高质量的语音生成变得触手可及。 无论是希望快速集成语音功能的开发者,还是致力于探索前沿算法的研究人员,亦或是需要定制专属声音的数据科学家,🐸TTS 都能提供得力支持。它不仅预置了覆盖全球 1100 多种语言的训练模型,让用户能够即刻上手,还提供了完善的工具链,支持用户利用自有数据训练新模型或对现有模型进行微调,轻松实现特定风格的声音克隆。 在技术亮点方面,🐸TTS 表现卓越。其最新的 ⓍTTSv2 模型支持 16 种语言,并在整体性能上大幅提升,实现了低于 200 毫秒的超低延迟流式输出,极大提升了实时交互体验。此外,它还无缝集成了 🐶Bark、🐢Tortoise 等社区热门模型,并支持调用上千个 Fairseq 模型,展现了极强的兼容性与扩展性。配合丰富的数据集分析与整理工具,🐸TTS 已成为科研与生产环境中备受信赖的语音合成解决方案。

45k|★★★☆☆|1周前
音频开发框架图像

LocalAI

LocalAI 是一款开源的本地人工智能引擎,旨在让用户在任意硬件上轻松运行各类 AI 模型,包括大语言模型、图像生成、语音识别及视频处理等。它的核心优势在于彻底打破了高性能计算的门槛,无需昂贵的专用 GPU,仅凭普通 CPU 或常见的消费级显卡(如 NVIDIA、AMD、Intel 及 Apple Silicon)即可部署和运行复杂的 AI 任务。 对于担心数据隐私的用户而言,LocalAI 提供了“隐私优先”的解决方案,确保所有数据处理均在本地基础设施内完成,无需上传至云端。同时,它完美兼容 OpenAI、Anthropic 等主流 API 接口,这意味着开发者可以无缝迁移现有应用,直接利用本地资源替代云服务,既降低了成本又提升了可控性。 LocalAI 内置了超过 35 种后端支持(如 llama.cpp、vLLM、Whisper 等),并集成了自主 AI 代理、工具调用及检索增强生成(RAG)等高级功能,且具备多用户管理与权限控制能力。无论是希望保护敏感数据的企业开发者、进行算法实验的研究人员,还是想要在个人电脑上体验最新 AI 技术的极客玩家,都能通过 LocalAI 获

44.8k|★★★☆☆|2周前
图像音频语言模型

bark

Bark 是由 Suno 推出的开源生成式音频模型,能够根据文本提示创造出高度逼真的多语言语音、音乐、背景噪音及简单音效。与传统仅能朗读文字的语音合成工具不同,Bark 基于 Transformer 架构,不仅能模拟说话,还能生成笑声、叹息、哭泣等非语言声音,甚至能处理带有情感色彩和语气停顿的复杂文本,极大地丰富了音频表达的可能性。 它主要解决了传统语音合成声音机械、缺乏情感以及无法生成非语音类音效的痛点,让创作者能通过简单的文字描述获得生动自然的音频素材。无论是需要为视频配音的内容创作者、探索多模态生成的研究人员,还是希望快速原型设计的开发者,都能从中受益。普通用户也可通过集成的演示页面轻松体验其神奇效果。 技术亮点方面,Bark 支持商业使用(MIT 许可),并在近期更新中实现了显著的推理速度提升,同时提供了适配低显存 GPU 的版本,降低了使用门槛。此外,社区还建立了丰富的提示词库,帮助用户更好地驾驭模型生成特定风格的声音。只需几行 Python 代码,即可将创意文本转化为高质量音频,是连接文字与声音世界的强大桥梁。

39.1k|★★★☆☆|1周前
音频

ChatTTS

ChatTTS 是一款专为日常对话场景打造的生成式语音模型,特别适用于大语言模型助手等交互式应用。它主要解决了传统文本转语音(TTS)技术在对话中缺乏自然感、情感表达单一以及难以处理停顿、笑声等细微语气的问题,让机器生成的语音听起来更像真人在聊天。 这款工具非常适合开发者、研究人员以及希望为应用增添自然语音交互功能的设计师使用。普通用户也可以通过社区开发的衍生产品体验其能力。ChatTTS 的核心亮点在于其对对话任务的深度优化:它不仅支持中英文双语,还能精准控制韵律细节,自动生成自然的 laughter(笑声)、pauses(停顿)和 interjections(插入语),从而实现多说话人的互动对话效果。在韵律表现上,ChatTTS 超越了大多数开源 TTS 模型。目前开源版本基于 4 万小时数据预训练而成,虽主要用于学术研究与教育目的,但已展现出强大的潜力,并支持流式音频生成与零样本推理,为后续的多情绪控制等进阶功能奠定了基础。

39k|★★★☆☆|1周前
语言模型Agent开发框架