HAKORADev/VODER
GitHub: HAKORADev/VODER
VODER 是一款本地化、免费、离线的综合语音处理引擎,集成了语音转写、语音合成与克隆、音乐生成、人声分离、说话人分离、语音增强和跨语言视频配音等八大处理模式于单一工具中。
Stars: 151 | Forks: 14
VODER
本地 • 免费 • 离线
集专业级语音处理于单一工具。
**跳转至:** [功能](#features) · [VODER 能做什么?](#what-can-voder-do) · [快速开始](#quick-start) · [模式一览](#modes-at-a-glance) · [VODER 背后的模型](#models-behind-voder) · [系统要求](#system-requirements) · [文档](#documentation) · [贡献](#contributing)
VODER 将 **8 种处理模式** 融合于一个界面中 —— speech-to-text、text-to-speech、voice conversion、music generation、speech enhancement、sound effects、vocal separation 和 speaker diarization —— 此外还包含语言配音 (`tts dub`)、通过 TranslateGemma 12B 实现的任意语言互译、转写-编辑-再合成(内置于 TTS interactive 中),以及建立在模式之上的三项任务层功能:**`train`**(将可复用的 voice clone 保存为 `.tts` / `.ttse`)、**side-quests**(`quest` —— 轻量级实用工具任务,如 URL 下载和音频处理)和 **chains**(将任意数量的 voder oneline 任务端到端串联起来的用户自定义 pipeline)。它完全在您的本地机器上运行,无需订阅,支持有无 GPU 均可运行。
## 功能
- **多说话人对话系统** —— 编写包含多个角色的脚本,每个角色都有独特的嗓音。通过脚本指令控制每一行的时机、音量和时长。将音效直接嵌入对话行中,并生成与语音时长匹配的自动背景音乐。
- **语音设计与克隆** —— 用简单的英语描述一种嗓音,VODER 即可生成它,或者提供一段参考音频片段来克隆说话人的嗓音。可以在同一段对话中混合使用设计和克隆的嗓音。
- **说话人分离** —— 从多说话人录音中提取各个说话人,生成单独的音频文件,每个文件都附带带有说话人标签的文本记录。
- **支持视频 I/O 的 Voice Conversion** —— 在保留词汇、情感和时机的同时,将一种嗓音转换为另一种。放入一个 MP4 文件,即可获得带有转换后嗓音的视频。
- **音乐生成与处理** —— 根据歌词和风格描述生成完整的歌曲。支持混音、重绘、补全、提取 stem、构建独立乐器轨道,或替换现有音频/视频中的背景音乐。最多可输出 12 条独立的乐器轨道。
- **智能 Speech-to-Text** —— 转写音频、视频、图像或直接提供 URL。通过 TranslateGemma 翻译成 76 种语言中的任意一种。利用 speaker diarization 识别说话人及发言时间。支持多文件批量处理。
- **语言配音** —— 在保留原说话人声音特征的同时,将语音从一种语言翻译为另一种。通过逐段对齐时间和保留背景音乐,为整部视频进行配音。
- **任意语言互译** —— 使用 `translate (source-target)` 语法,通过 TranslateGemma 12B 在 76 种语言中的任意两种之间进行翻译,独立于 ASR 引擎运行。
- **语音再合成** —— 转写语音并使用 `tts svc` 以不同的嗓音重新朗读,可选 `sts:` 前缀,通过 Seed-VC v2 实现高保真 voice conversion。
- **Side-Quests** —— 独立于主引擎之外的轻量级实用工具任务:URL 下载、音频格式转换、剪切/合并/混音/删除特定区间、静音剥离、速度/音调/声级/低音增强/混响/响度标准化效果等。运行 `python voder.py quest` 可查看按类别分组的所有可用任务。
- **Chains** —— 将任意数量的 voder 任务串联起来的用户自定义 pipeline:每个 chain 都有自己的名称,其输出会被捕获到临时目录中,后续的 chain 可以将先前的 chain 名称作为输入路径。构建一首歌曲,分离出人声,用这些人声训练一种嗓音,然后为一部视频配音 —— 所有操作只需一条命令。
- **智能输入 Pipeline** —— 直接粘贴 YouTube、TikTok、Bilibili、Snapchat、Instagram、Facebook 或 X/Twitter 的 URL 作为输入。VODER 在下载前会验证链接是否确实指向一个视频。输入图像,VODER 会通过 OCR 提取文本。自动从多说话人音频中提取语音片段,实现一键克隆用于对话角色的嗓音。
## VODER 能做什么?
### 带有语音设计与克隆的 Text-to-Speech
用简单的英语描述一种嗓音 —— *“深沉的男声,极具权威感”* —— VODER 就能生成与之匹配的语音。或者提供一段参考音频片段,VODER 就能从中**克隆该说话人的嗓音**。这两种方式可以**在同一段对话中混合使用**:部分角色使用设计的声音,其他角色使用克隆的声音。
### 多说话人对话系统
编写包含多个角色的脚本,每个角色都有独特的嗓音。VODER 会通过**脚本指令**(`/time`、`/level`、`/duration`)对每一行的时机、音量和时长进行精细控制,将整段对话合成为一个单一的音频文件。使用特殊的 `sfx:` 字符将**音效**直接嵌入到对话行中 —— 门吱呀声、掌声、雨声 —— 这些音效均可根据文本描述即时生成。
### 自动背景音乐
在生成对话时,VODER 可以制作一条**与语音时长完全匹配**的背景音乐轨道,以可配置的音量进行混音并带有淡入淡出过渡效果。可以提供可选的**参考音频**(音频、视频或 URL)用于风格引导 —— 参考音频会在使用前通过 SVS 进行处理,以提取出纯净的器乐伴奏。无需手动剪辑或借助外部工具。
### Voice Conversion(语音与音乐)
在保留原始词汇、情感和时机的同时,将一种嗓音转换为另一种。支持**视频输入/输出** —— 放入一个 MP4 文件,即可获得带有转换后嗓音的视频。对于音乐,VODER 会切换到高保真的 44.1kHz 模型。**mimic** 模式不仅能转换音色,还能转换口音和说话风格。
### 音乐生成与处理
根据歌词和风格描述生成完整的歌曲。除了基本生成之外,VODER 还支持 **6 种子任务**:remix(带有偏置控制的风格迁移)、repaint(对特定时间范围进行风格重置)、complete(添加缺失的乐器)、lego(构建独立音轨)、extract(分离特定的 stem)和 bgm(以可配置的音量用生成的音乐替换现有音频/视频中的背景音乐)。最多可输出 **12 条独立的乐器音轨**用于后期制作。三层质量系统允许您在速度和输出质量之间进行权衡。
### 人声与音乐分离
从任何歌曲中分离出纯净的人声,或提取器乐伴奏。支持音频文件、视频以及来自任何受支持平台(YouTube、TikTok、Bilibili、Snapchat、Instagram、Facebook、X/Twitter)的直接 URL。该分离引擎也会在后台自动运行于 TTS(用于清理 voice cloning 参考音频)、STS(用于提升转换质量)和 STT(用于在转写前预清理音频)中。
### 具备说话人智能的 Speech-to-Text
将音频、视频、图像或直接的 URL 转写为文本。支持从 99 种语言**翻译成英语**、**speaker diarization**(识别谁在何时发言)以及多文件的**批量处理**。使用 Microsoft VibeVoice ASR 的 **overdose 模式**可提供具有内置说话人识别功能的更高质量转写。
### 语音增强
消除噪音、减少房间回声,并从劣化的录音中恢复清晰度。使用 AudioSR 超分辨率技术将音频提升至 48kHz(通用音频使用基础模型,语音使用语音模型)。同时适用于音频和视频文件。
### 说话人分离
从多说话人录音中提取各个说话人,生成单独的音频文件,每个文件都附带带有说话人标签的文本记录。`blend` 标志会在每个说话人的输出中保留非人声(背景音频),而 `video` 标志则会将分离出的音频与原始视频合成为 MP4 输出 —— 这对于从视频中移除不需要的说话人同时保留画面非常有用。
### 语言转换(TTS 子任务)
在**保留原说话人声音特征**的同时,将任何语言的语音翻译为英语 —— `tts slc "audio.wav"`。支持使用 `translate (source-target)` 语法通过 TranslateGemma 进行任意语言互译。可选的 `music` 标志会保留原始器乐轨道,`overdose` 则会增加一次语音保真度处理。接受音频文件、视频以及受支持平台的 URL。
### 视频/音频配音(TTS 子任务)
通过**逐段时间对齐**将整部视频配音为另一种语言 —— `tts dub "video.mp4"` 默认自动翻译为英语。结合了带有音频事件的 VibeVoice ASR、TranslateGemma 的逐段翻译、Fish S2 Pro 的 voice cloning、语速调整以及时间线组装。添加 `subtitle` 可将翻译后的字幕硬编码到视频中。添加 `translate "(auto-ja)"` 可指定目标语言。保留背景音乐。
### 智能输入 Pipeline
直接粘贴来自 **YouTube、TikTok、Bilibili、Snapchat、Instagram、Facebook 或 X/Twitter** 的 URL 作为输入 —— VODER 会自动检测平台,验证链接指向的是否为真实的视频(而非频道页面、个人主页、图文动态或播放列表),然后进行下载和处理。输入包含文本的**图像**,VODER 会通过 OCR 提取文本以供 TTS 处理。自动从多说话人音频中提取语音片段,实现为对话角色一键克隆嗓音。
### Side-Quests (`quest`)
独立于 voder 引擎之外,但在语音处理工作流中仍然非常实用的轻量级工具任务 —— URL 下载、音频格式转换、剪切、合并、**混音**(在指定的开始时间叠加多个音源)、范围删除、静音剥离、声级/速度/音调/低音增强/混响/响度标准化等。Side-quests 在列表中按类别分组 —— `download` 独立存在,其余均归属于 **Media Manipulation**。运行 `python voder.py quest`(不带参数)可列出所有可用的 side-quest 及其单行描述。完整列表请参阅 [COMMAND_CATALOG.md](docs/COMMAND_CATALOG.md)。
### Chains (`chains`)
将任意数量的 voder oneline 任务串联起来的用户自定义 pipeline。每个 chain 都有自己的名称,运行一个完整的 voder oneline 命令,其输出会被捕获到临时目录中。后续的 chain 可以将先前的 chain 名称作为输入路径 —— VODER 会在内部将其解析为捕获的临时文件。Side-quests 可以像任何其他 oneline 任务一样在 chains 中运行。
```
# TTM → SVS → STS pipeline
python src/voder.py chains "song" ttm lyrics "la la la" styling "pop" 30 / "voice" svs voice "song" / "cover" sts base "voice" target "ref.wav"
```
使用 ` / `(空格-斜杠-空格)分隔多个 chains。中间 chain 的输出会保存在 `temp_chains/` 目录中;只有**最后一个**非空 chain 的输出会进入 `results/` 目录。空 chain 会被跳过(其名称仍可重复使用);重复的名称会导致错误并停止 pipeline。这使您可以构建出 VODER 内置模式从未预料到的 pipeline 流程 —— 生成音乐,分离人声,用这些人声训练一种嗓音,然后为一部视频配音,所有这些只需一条命令。
## 快速开始
```
git clone https://github.com/HAKORADev/VODER.git && cd VODER
# 推荐:使用 setup.py(自动检测 CUDA,安装支持 GPU 的依赖项)
python setup.py
# 或手动安装:
pip install -r requirements.txt && pip install --upgrade protobuf==5.29.6
# 帮助
python src/voder.py
# GUI
python src/voder.py gui
# CLI(交互式)
python src/voder.py cli
# 单行示例
python src/voder.py tts script "Hello world" voice "female, cheerful"
python src/voder.py stt "audio.wav" timestamp dialogue
python src/voder.py sts base "input.wav" target "voice.wav"
python src/voder.py ttm lyrics "Walking down the street" styling "upbeat pop" 30
python src/voder.py svs "song.mp3" voice
python src/voder.py ss "meeting.wav"
python src/voder.py tts slc "foreign_speech.wav"
python src/voder.py tts dub "video.mp4"
python src/voder.py tts dub translate "(auto-ja)" "video.mp4"
python src/voder.py tts svc "speech.wav" target "voice_ref.wav"
python src/voder.py se "noisy_recording.wav"
python src/voder.py sfx sound "thunder rumbling" duration 10
# Side-quests(URL 下载和实用任务 — 参见 `python voder.py quest`)
python src/voder.py quest download "https://youtube.com/watch?v=..."
# 语音训练(保存 Voice clone 以便在 TTS 中重复使用)
python src/voder.py train voice:narrator "ref1.wav" "ref2.wav"
python src/voder.py train extreme voice:narrator "ref1.wav"
# Chains(将多个 voder 单行任务串联起来)
python src/voder.py chains "song" ttm lyrics "la la la" styling "pop" 30 / "voice" svs voice "song" / "cover" sts base "voice" target "ref.wav"
```
## 模式一览
VODER 拥有 **8 种主要处理模式** —— 即引擎的核心音频转换 pipeline。在此基础之上,还有三个额外的**任务与功能**层,提供了实用的工具工作流:voice training、side-quests 和 chains。
### 主要处理模式 (8)
| 模式 | 功能描述 | 输入 | 输出 |
|------|-------------|-------|--------|
| **TTS** | 从文本生成语音,设计或克隆嗓音;包含 SLC(语言转换)、dub(视频/音频配音)以及语音修改功能 | 文本 / 图像 / URL / 音频 | 音频 |
| **STS** | 将一种嗓音转换为另一种 | 音频 / 视频 | 音频 / 视频 |
| **TTM** | 生成、混音、重绘、制作 bgm 以及处理音乐 | 文本 + 音频 | 音频 / Stems |
| **STT** | 转写音频,翻译为 76 种语言,识别说话人 | 音频 / 视频 / 图像 / URL | 文本 |
| **SE** | 降噪、去混响、修复、超分辨率 (48kHz) | 音频 / 视频 | 音频 / 视频 |
| **SFX** | 从文本生成音效 | 文本 | 音频 |
| **SVS | 从音乐中分离人声 | 音频 / 视频 / URL | 音频 |
| **SS** | 提取各个单独的说话人 | 音频 / 视频 | 每个说话人的音频(使用 `video` 标志可输出 MP4) |
### 任务与功能
| 功能 | 功能描述 | 输入 | 输出 |
|---------|-------------|-------|--------|
| **train** | 从参考音频训练 voice clone,保存为 `.tts` / `.ttse` 供 TTS 复用 | 音频 / 视频 / URL | `.tts` / `.ttse` 嗓音文件 |
| **quest** | Side-quests —— voder 引擎之外的轻量级实用任务(`download`、`noframes`、`mix` 等) | URL / 本地视频 | 音频 / 视频文件 |
| **chains** | 组合 voder oneline 任务的用户自定义 pipeline;后续 chains 可引用先前的 chain 名称 | 一系列 voder oneline 命令 | 最终 chain 的输出 |
## VODER 背后的模型
VODER 精心编排了各种最先进的开源模型 —— 每一个都是为了保证最高质量而精选的:
| 能力 | 模型 |
|-----------|-------|
| 语音识别 | [Whisper](https://github.com/openai/whisper) |
| 语音合成与克隆 | [Qwen3-TTS](https://github.com/QwenLM/Qwen3-TTS), [Fish Audio S2-Pro](https://huggingface.co/fishaudio/s2-pro) |
| Voice Conversion | [Seed-VC](https://github.com/Plachtaa/seed-vc) |
| 音乐生成 | [ACE-Step](https://github.com/ace-step/ACE-Step-1.5) |
| 音效 | [TangoFlux](https://github.com/declare-lab/TangoFlux) |
| 音频增强 | [UniSE](https://github.com/alibaba/unified-audio), [AudioSR](https://github.com/haoheliu/versatile_audio_super_resolution) |
| 人声 / 音乐分离 | [BS-RoFormer](https://huggingface.co/pcunwa/BS-Roformer-Resurrection) |
| 高级 ASR 与 Diarization | [VibeVoice](https://github.com/microsoft/VibeVoice) |
| 任意语言互译 | [TranslateGemma 12B](https://huggingface.co/google/translategemma-12b-it) |
| Speaker Diarization | [pyannote](https://github.com/pyannote/pyannote-audio) |
| 图像文本提取 | [EasyOCR](https://github.com/JaidedAI/EasyOCR) |
## 系统要求
| 组件 | 最低配置 |
|-----------|---------|
| CPU | 4-6 核 |
| 内存 | 12 GB |
| GPU | 可选 —— 所有模式均可在 CPU 上运行 |
| VRAM | 4 GB(推荐 6 GB,音乐模式需 16 GB) |
| 存储 | 推荐 SSD |
某些模式(SS、TTM overdose、ACE-Step complete)拥有 24-32 GB VRAM 或 48 GB 及以上系统内存时体验更佳。有关每个模式的详细分解说明,请参阅 [Guide.md](docs/Guide.md)。
## 文档
| 文档 | 内容详情 |
|----------|--------------|
| [READ.md](docs/READ.md) | 模式说明、CLI 示例、安装详情、技术笔记 |
| [Guide.md](docs/Guide.md) | 架构深度剖析、创意技巧、小贴士与窍门 |
| [COMMAND_CATALOG.md](docs/COMMAND_CATALOG.md) | 涵盖所有模式、标志和关键字的完整单行命令参考 |
| [Languages.md](docs/Languages.md) | 所有组件的语言支持情况(99+ 种语言) |
| [Bots.md](docs/Bots.md) | AI agent 与自动化使用指南 |
| [FAQ.md](docs/FAQ.md) | 常见问题解答 |
| [voder-skill.md](docs/voder-skill.md) | 用于 agent 集成的 AI skill 定义 |
| [CHANGELOG.md](docs/CHANGELOG.md) | 开发历史 |
## 贡献
VODER 是基于 [AGPL-3.0](LICENSE) 协议的开源项目。我们不接受 Pull request —— 代码库由唯一一名开发者维护。但是,我们非常欢迎提交 issue、bug 报告和功能建议。如果您想在 VODER 的基础上进行构建,请 fork 它 —— 这正是它的用途所在。
专为开源 AI 语音社区而打造。
标签:本地离线, 语音克隆, 语音处理, 逆向工具, 音频处理