Skip to content

About

Local character voice studio: profile-to-voice planning, Qwen VoiceDesign, character library and reference reuse.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TimbreForge · 角色声线工作室

用自然语言设计原创角色的声音:导入人物设定,查看模型推演的声线提示词,生成试听,并保存喜欢的声音用于后续台词。

Chinese-first local voice studio: turn character profiles into editable voice prompts, generate previews, and reuse saved reference voices with new dialogue.

CI License Python

TimbreForge social preview

把“这个角色听起来应该是什么样”变成可试听、可保存、可复用的角色声音。

TimbreForge 不是单独的 TTS 调用示例,而是一套围绕角色声线资产组织的本地工作流:角色设定会生成可编辑的声音描述,试听结果进入角色库,参考音频可以波形裁剪、串联和复用,后续台词始终从同一张角色卡继续生成。

60 秒判断是否适合你

  1. 想做原创角色、游戏 NPC、有声小说或短视频角色声音。
  2. 希望参考音频、逐字稿和声音设定留在本机。
  3. 正在使用或准备使用 Qwen3-TTS,也希望保留 CosyVoice / IndexTTS 等后端入口。
  4. 不想每次生成都重新填写一套零散参数,而是希望先建立角色卡再持续复用。

当前版本:0.6.0a1 · Alpha。语言模型与语音模型需另行配置;本仓库仅包含源码、文档、测试和版本清单。

功能

功能 使用方式
角色设定 → 声线推演 粘贴设定,或导入 Word .docx、TXT、Markdown、JSON;本地语言模型给出声音特征、依据、待确认项、完整提示词和试听台词。
一句话生成 只输入声音描述,自动选择设备、模型采样配置和随机种子;试听后可直接保存到角色库。
角色库与角色卡 统一保存原始音频、标准音频、逐字稿、结构化 VoiceRecipe、模型版本、随机种子、来源、处理历史与 Clone Prompt 状态;支持复制、导出和重新导入。
参考音频修整 去首尾静音、基础降噪、去点击声、EQ、压缩与响度标准化;四个预设,原始音频永不覆盖,每次处理都有参数与输入/输出哈希。
Clone Prompt 缓存 复用 Qwen 条件张量;音频、逐字稿、模型版本、克隆模式或处理链变化时自动失效并回退到普通克隆。
声线微调与 A/B 每次只改变一个表达维度生成 4–8 个候选,A/B 试听,选中后保存为角色新版本并重建 Clone Prompt。
文字生成与长文本 从角色库选择角色生成台词;长文本按段落/句子切分、逐段生成、检查漏句与异常后淡化拼接。
自动评估 固定八类测试文本,记录 CER/WER、说话人相似度、时长、语速、静音、峰值/LUFS、削波、音色漂移与人工评分,同时给出平均值与最差候选。
模型管理 登记本机已有模型目录与版本,切换、检查与回滚;新模型通过统一适配器接入,不自动下载。
进阶设计与多角色创作 手动采样参数、候选 A/B、直接保存任一候选、脚本逐句生成、人工选择后导出分轨与混合轨。
资源管理 重型任务统一排队、串行执行;失败或取消时释放子进程、临时文件与空闲模型;按页面缓存、历史预览、空闲模型顺序释放内存。
高级训练(离线) 数据集切分与质量筛选、外部 LoRA/Adapter 训练任务、检查点原子发布、评估、模型登记与回滚;不作为普通生成流程的一部分。
flowchart LR
    A[导入角色设定] --> B[本地模型推演]
    B --> C[查看并编辑声线配方]
    C --> D[生成试听与挑选]
    D --> E[保存角色声线]
    E --> F[音频修整]
    F --> G[声线微调候选]
    G --> H[长文本与角色复用]
Loading

快速开始

1. 安装工作室

Windows 用户可以直接双击 安装并启动声线工作室.cmd。它会自动创建 .venv、安装界面依赖、生成本机配置并打开工作室;模型权重仍需按本机显卡和许可证单独准备。开发者可使用 tools/build_windows_bundle.ps1 生成可分发 ZIP。

需要 Python 3.11 或 3.12。以下以 Windows PowerShell 为例:

git clone https://github.com/zdd3143/timbreforge.git
cd timbreforge
python -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install ".[ui]"
Copy-Item timbreforge.example.toml timbreforge.local.toml

Linux 可用 source .venv/bin/activate 激活环境,再复制示例配置。Windows 是当前真实模型验收环境;其他平台仍需验证对应 CUDA 与模型运行环境。

2. 配置独立模型环境

编辑 timbreforge.local.toml,填写模型 Python 和完整模型快照路径。工作室环境与模型环境分开,不要把模型权重放进 Git 仓库。

用途 模型 对应配置
角色设定推演 Qwen/Qwen3-1.7B [planner] python / model
描述生成声音 Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign [qwen] python / design_model
克隆、保存角色后换台词 Qwen/Qwen3-TTS-12Hz-0.6B-Base [qwen] python / base_model

角色推演是可选功能;只用一句话生成时不需要语言模型。IndexTTS/ComfyUI、CosyVoice3 和评分器也是可选后端。

模型版本和已验收运行环境见 VoiceDesign 配置、角色推演配置及 后端说明。语音模型基线为 qwen-tts==0.1.1;实际 PyTorch/CUDA 需按机器单独安装并验证。软件启动不会自动下载模型。

3. 启动

python -m timbreforge.launcher --check
python -m timbreforge.launcher

也可以在已安装依赖的环境中双击 启动声线工作室.cmd。默认打开 本地工作室。端口被占用时可使用 --port 7862;--no-browser 只启动服务。

首次使用可从「简化版 · 一句话生成」开始;已有角色资料时,使用「角色设定 → 声线推演」。满意的试听保存后会进入统一「角色库」,之后在「创建角色 / 声线微调 / 文字生成 / 长文本生成」中始终从角色库选择角色卡。参考音频的波形裁剪、确认另存和多片段串联集中在「参考音频助手」;参考克隆和角色复用也合并在同一入口。角色卡可试听、复制、导出和重新导入;高级训练与模型切换在「模型管理 / 高级训练」页,不参与普通生成流程。完整上手指南

克隆与内存

在「参考克隆 / 表演指令」上传 30 秒以内的参考音频,填写准确完整转录和新台词,使用默认 Qwen Base 后端生成。Qwen Base 的表演指令应留空;IndexTTS 与 CosyVoice 的指令能力和参数语义不同。

工作室按需启动独立模型进程,结束后退出。同一输出目录下的工作室与命令行共用资源锁;调用前释放本机闲置 ComfyUI/IndexTTS 模型缓存。不会强制关闭其它应用或中断已有任务。长台词分段可能影响语气衔接,需要试听确认。内存策略与故障排查

已在 RTX 4060 Laptop 8 GB 上验证本地角色推演、VoiceDesign、Qwen Base 克隆及浏览器生成。一次两段克隆输出 25.36 秒音频,PyTorch 峰值显存约 2.60 GiB,结束后整卡显存回到运行前水平。这是单次实测,不是最低配置或音质保证。本机验收记录

数据与使用边界

  • 按示例配置,输出保存在 .local-data/outputs/,角色与声线库保存在 .local-data/characters/。备份时应同时保留音频和元数据。
  • 角色目录结构:character.json、原始 reference.wav、audio/(当前标准音频与压缩预览)、prompts/(可重建的 Clone Prompt)。删除角色会清理整个目录。
  • 生成记录在 outputs/generation/,调音会话在 outputs/tuning/,任务记录在 outputs/jobs/,模型注册表在 models/registry.json。
  • .gitignore 排除本机配置、录音、模型、缓存和生成结果;仓库和安装包不分发这些资产。
  • 声线推演是创作建议。声音贴合度、文字准确性和身份一致性需要试听确认;保存角色不是训练或微调模型。
  • 使用参考声音前应确认使用权和说话者授权,不用于冒充、欺诈或侵权。界面面向本机可信用户,不提供公网多用户鉴权。声音权利与安全

命令行与开发

仅安装 CPU 核心可使用 python -m pip install .;核心依赖为 NumPy 和 SoundFile,界面为可选 Gradio extra。

python -m timbreforge capabilities
python -m timbreforge --config timbreforge.local.toml generate --backend qwen3 --task clone --reference authorized-reference.wav --ref-text "参考音频实际说出的完整内容。" --text "新的台词。" --confirm-rights
python -m unittest discover -s tests -p "test_*.py" -v
python tools/release_check.py
python tools/backend_audit.py

authorized-reference.wav 是占位路径。测试使用临时合成采样和模拟后端;真实模型推理不纳入核心 CI。仓库提供 Windows/Linux、Python 3.11/3.12 的 CI 矩阵,结果以实际工作流为准。

另保留独立实验合成器 timbreforge-synth 和旧数据集检索 timbreforge-voicegen。实验合成器生成程序化音色,并非自然语音 TTS;它们不属于角色声线主流程。

文档与反馈

缺陷报告请附复现步骤、版本、系统和脱敏错误信息;不要上传私人录音、密钥或本机配置。

许可

原创项目代码采用 Apache-2.0。模型、第三方库、数据、录音及声音权利分别适用各自条款,见 第三方说明。

About

Local character voice studio: profile-to-voice planning, Qwen VoiceDesign, character library and reference reuse.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages