tts-pipelineMDX → SPEECH

MDX → 清洗 → 语音

把讲义,
变成能听的课。

清掉注音、音标与谐音拐杖,规范术语和公式,再把干净的文本交给本地 Fish Speech 批量合成。规则可配置,产物可复现。

npx tts-pipeline build -i content -o public/audio \ …

本地服务 · 讲义不上传 · 17 个候选音色随仓库附带

Now Playing

中英混读 + 公式

gis-voice · 清洗后直接合成

0:00 / 0:21

点击试听清洗后的效果

22

段试听音频

17

候选音色

6

条清洗规则

跳过代码块 / 表格 / 交互组件6 条可组合的清洗规则按 hash 增量复用manifest 可复现

三步,把 MDX 变成音频

每一步都是纯函数或普通 HTTP 调用,方便替换与调试。

src/extract.ts · src/clean · src/synth
01

抽取

extractSpeechSegments()

解析 MDX 结构,跳过代码块、表格与交互组件,只留下该读的标题、段落和列表。

02

清洗

buildCleaner('lecture-zh')

删注音谐音与 IPA,保留英文术语;行内代码的斜杠转顿号,合并被加粗拆开的单词。

03

合成

generate()

按段调用本地 Fish Speech,锁 reference-id 保证整章同音色;hash 增量复用,输出 manifest。

清洗,只删该删的

删除 IPA 与中文谐音拐杖,保留英文术语;sin/cos/tan 的斜杠转成顿号,· 读作「乘」。 下方高亮即为差异。

原始 MDXbefore

在 GIS(Geographic Information System,/ˌdʒiː aɪ ɛs/)里,坡度分析常用三角函数,比如 `sin/cos/tan`。Web 墨卡托(Web Mercator)投影的公式是 x = R·λ,y = R·ln(tan(π/4 + φ/2))。单位通常是米。

清洗后(送进 TTS)after

在 GIS(Geographic Information System)里,坡度分析常用三角函数,比如 sin、cos、tan 。Web 墨卡托(Web Mercator)投影的公式是 x = R乘λ,y = R乘ln(tan(π/4 + φ/2))。单位通常是米。

同一套规则也用于「候选音色」与四个预设音色的全部示例。

音色,先听后选

四个预设音色 + 17 个零样本候选,全部由 Fish Speech 1.5 生成。

全部 22 段

讲师

参考样本 10 · 课程

在 GIS 里,坡度分析常用三角函数,比如 sin、cos、tan。Web 墨卡托投影是网页地图最常用的坐标系。

0:00 / 0:08

温暖讲述

有声书 / 故事

在 GIS 里,坡度分析常用三角函数,比如 sin、cos、tan。Web 墨卡托投影是网页地图最常用的坐标系。

0:00 / 0:13

沉稳旁白

纪录片 / 解说

在 GIS 里,坡度分析常用三角函数,比如 sin、cos、tan。Web 墨卡托投影是网页地图最常用的坐标系。

0:00 / 0:10

活泼主播

短视频 / 科普

在 GIS 里,坡度分析常用三角函数,比如 sin、cos、tan。Web 墨卡托投影是网页地图最常用的坐标系。

0:00 / 0:11

快速开始

CLI 只负责文本与请求,合成引擎是外部的 Fish Speech。先生成一段参考音频, 再用 --reference-id 锁定音色。

  1. 1

    准备参考音频

    在 Fish Speech 的 references/<id>/ 放 ref.mp3 与同名 .lab;仓库 examples/references 已附带四个可直接复制的音色。

  2. 2

    跑一遍 build

    按段合成 mp3,写入 manifest;文本未变的段落会按 hash 跳过,适合反复迭代讲稿。

  3. 3

    接入你的站点

    读取 manifest 的 audio 字段即可播放;本页的试听器就是这么做的。

bash · quick start
# 1. 启动本地 Fish Speech(另开一个终端)
python tools/api_server.py \
  --llama-checkpoint-path checkpoints/fish-speech-1.5 \
  --decoder-config-name firefly_gan_vq \
  --device cuda --listen 127.0.0.1:18080

# 2. 安装并构建
npm install
npm run build

# 3. 把 MDX 讲稿合成音频
npx tts-pipeline build -i content -o public/audio \
  --tts-url http://127.0.0.1:18080/v1/tts \
  --reference-id gis-voice