dots.tts

本地跑文本转语音,几行代码让文字开口说话

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 音频音乐 🍴 复刻 143 🐛 待处理 33 👀 关注 10
GitHub ↗
GitHub 星标 ★ 1397
维护状态 较活跃
是否开源 开源
定价模式 🏷️完全免费 开源项目,无官网,定价信息待确认

项目预览

dots.tts 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类音频音乐
开发团队studio-dots-ai
定价模式🏷️完全免费
价格说明开源项目,无官网,定价信息待确认
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Python
GitHub 星标★ 1397
上线时间2026-06-04 00:00:00
代码更新2026-10-08
仓库体积807 KB
本站数据更新2026-10-25
维护状态较活跃
收录时间2026-10-25
浏览次数0

项目介绍

dots.tts 是一个基于 Python 的开源文本转语音(TTS)项目,聚焦于把文字快速合成为自然语音。它解决的是开发者在本地或自有服务中需要可定制语音合成能力、又不想依赖闭源云 API 的问题。项目以模型推理代码为主体,提供文本到音频的生成流程,可加载预训练权重完成语音合成,适合做语音播报、有声内容生成、智能助手发声等场景。核心能力包括文本前端处理、声学模型推理与音频输出,支持通过脚本或代码调用,便于集成到 Python 应用中。作为成长中的项目,它强调开箱可跑与可二次开发,社区围绕模型效果与推理效率持续迭代。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-10-25 · 当前星标 ★ 1397

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:进阶 约 15 分钟 部署方式:本地安装 7 步

环境要求

  • Python 3.10–3.12(README 推荐使用全新的 conda 环境)
  • 已安装 conda(用于创建隔离环境)
  • 可用的 pip 包管理环境
  • 可选:如需以 OpenAI 兼容接口提供服务,需按官方文档安装 sglang-omni
  • 可访问 Hugging Face 以下载 dots-studio/dots.tts-mf 模型权重

安装与启动步骤

  1. 1创建虚拟环境

    README 建议新建干净的 conda 环境,Python 版本选 3.10,避免与已有依赖冲突。

    conda create -n dots_tts python=3.10 -y
  2. 2激活环境

    后续所有安装与运行命令都要在这个已激活的环境里执行。

    conda activate dots_tts
  3. 3从 PyPI 安装

    最简安装方式,一条命令装好 dots.tts 及其依赖。

    pip install dots.tts
  4. 4或从源码安装

    需要本地开发或可编辑安装时使用,需带上 README 指定的约束文件以保证依赖版本兼容。

    git clone https://github.com/studio-dots-ai/dots.tts
    cd dots.tts
    pip install -e . -c constraints/recommended.txt
  5. 5安装完整依赖

    需要训练或代码检查等额外能力时,安装 full 附加依赖组。

    pip install 'dots.tts[full]'
  6. 6下载模型权重

    拉取 dots-studio/dots.tts-mf 预训练权重,供后续推理或服务加载。

    hf download dots-studio/dots.tts-mf
  7. 7启动兼容服务

    在 sglang-omni 仓库目录下执行,用官方示例配置启动监听 8000 端口的语音合成服务。

    sgl-omni serve --model-path dots-studio/dots.tts-mf --config examples/configs/dots_tts.yaml --port 8000

关键配置

配置项必填说明示例
--model-path是指定要加载的模型权重路径或仓库名dots-studio/dots.tts-mf
--config是模型对应的示例配置文件,两步 sCM 或 STTS 需换专用配置examples/configs/dots_tts.yaml
--port是服务监听端口,接口按 OpenAI 兼容格式暴露8000
--prompt-text否参考音频的实际文本,须与音频内容一致这是一段十秒左右的参考语音
--seed否控制韵律变化的随机种子,换值可得到不同节奏语调42
--num-steps否flow-matching 权重的采样步数,质量不足时可调高32

如何确认成功

服务在 8000 端口正常监听、无报错退出,即可通过其 OpenAI 兼容的 /v1/audio/speech 接口请求合成语音并拿到音频。

常见问题

Q:参考音频应该多长?

A:README 建议保持在 10 秒左右,更长的参考音频并不会带来更好的合成效果,反而可能增加处理负担。

Q:合成结果不稳定或出现字词错误怎么办?

A:优先检查 --prompt-text 是否与参考音频实际内容一致,不一致会明显降低稳定性并可能造成字级错误。

Q:多音字读错了怎么处理?

A:可用带声调的拼音替换输入文本中对应的字来强制读音,例如写成「我生平不hào此道」;不识别 hao4 这类数字声调写法。

Q:合成音质不够好怎么办?

A:对 flow-matching 权重可提高 --num-steps;但固定步数的 MeanFlow 权重不接受不兼容的采样参数覆盖。

Q:想换语调或节奏怎么办?

A:设置不同的 --seed 值重新合成,每个种子会产生不同的节奏与语调,可多试几次。

注意事项

  • README 未给出统一的命令行推理入口,实际调用建议以仓库代码或 SGLang Omni 服务接口为准。
  • 参考音频尽量选高采样率、低底噪、结尾无杂音的素材,克隆效果更好。
  • 使用 SGLang Omni 前需按其官方安装文档装好环境,并在 sglang-omni 代码目录内执行启动命令。
  • 本教程命令均来自 README,若上游接口有变动请以仓库最新说明为准。

核心亮点

  • 纯 Python 实现,推理流程清晰,便于阅读源码和二次开发
  • 支持本地加载模型合成语音,不依赖闭源云服务,数据可控
  • 提供可直接运行的合成脚本,降低上手门槛

不足之处

  • 文档与使用示例相对精简,新用户需读源码理解参数
  • 预训练模型与音色资源有限,效果调优空间依赖社区积累

适用场景

  • 为智能助手或有声阅读应用生成语音播报
  • 批量把文章、脚本转成音频用于内容生产
  • 在本地服务中集成 TTS 能力,避免调用外部云 API

替代项目

Coqui TTS、Piper、MeloTTS

上一篇:OmniVoice

下一篇:capcut-tts-api

同类项目推荐

UnityTTS 开源

在 Unity 里一键让文字开口说话,快速集成 TTS 功能。

Text to Speech in Unity.

★ 144 2026-08-09
f5-tts-mlx 开源

在 Mac 上本地跑 F5-TTS,零样本克隆语音

Implementation of F5-TTS in MLX

★ 649 2026-08-09
detail_tts 开源

一个框架搞定多种TTS生成模型,快速对比实验

All generative model in one for better TTS model

★ 74 2026-08-09
ai-dj 开源

现场演出中实时用 AI 生成音乐,保持人类掌控

AI music generation for live performance - Standalone (Ableton Link) + VST3/AU. 8 tr···

★ 260 2026-08-09
tts-now 开源

一键将文字转为自然语音,支持批量处理,跨平台免费开源

跨平台基于云平台(阿里云、讯飞等)语音合成 API 的文字转语音助手。支持单文本快速合成和批···

★ 371 2026-08-09
ChatTTS-OpenVoice 开源

上传10秒音频,克隆你的专属ChatTTS音色

Fuse ChatTTS with OpenVoice, upload a 10-second audio clip, and clone your personali···

★ 466 2026-08-09
soprano 开源

输入文本,秒出超逼真语音,让应用开口说话。

Soprano: Instant, Ultra-Realistic Text-to-Speech

★ 1625 2026-08-09
ng2-pdfjs-viewer 开源

在 Angular 里快速嵌入 PDF 查看器,支持表单和自定义

#1 Angular PDF viewer

★ 253 2026-08-09