Mizuoto

引擎详解

逐个介绍 Mizuoto 内置的七个语音合成引擎和语音识别引擎:模型目录、能力、音色方式、语言、许可、训练方法和各自需要安装什么。

本页的数据来自各引擎的清单(mizuoto/core/engines/manifests/<id>.toml)。本机上实际的情况用命令行查看:

mizuoto engine list                     # 引擎、可用状态、许可
mizuoto doctor                          # 本机上各引擎还缺什么
mizuoto engine info qwen3tts            # 变体、参数、选项和模型
mizuoto model spec qwen3tts/1.7b-base   # 这个模型接受的音色方式、语言和参数
mizuoto model speakers cosyvoice/cosyvoice-300m-sft   # 预置说话人

Web UI 中,模型 › 引擎 列出每个引擎的可用状态、设备、精度、许可和 选项,模型 › 模型 列出模型目录。

每个引擎是怎样实现的、与上游项目的结果一致到什么程度,见 引擎参考。

一览

引擎(id)模型采样率语言擅长训练许可
Qwen3-TTS(qwen3tts)1.7B / 0.6B 的 Base、CustomVoice,1.7B VoiceDesign24 kHz10 种克隆、带指令的预置说话人、按描述设计音色、逐帧流式输出说话人微调Apache-2.0
CosyVoice(cosyvoice)Fun-CosyVoice 3 0.5B、CosyVoice 2 0.5B、300M / SFT / Instruct22.05 / 24 kHz中英日韩粤(v3 更多)逐 token 流式输出、流式文本输入、音色转换、指令LLM、LLM + flowApache-2.0
F5-TTS(f5tts)F5-TTS v1 Base、F5-TTS Base、E2-TTS Base24 kHz中、英精确时长、语音编辑全量微调代码 MIT,权重 CC-BY-NC-4.0
GPT-SoVITS(gptsovits)v2、v2Pro、v2ProPlus、v4、v5 Turbo32 / 48 kHz中英日韩粤3–10 秒少样本克隆,音色专属权重音色权重MIT
OmniVoice(omnivoice)OmniVoice24 kHz600 多种多语言、按属性设计音色、自带音色全量、LoRAApache-2.0
VoxCPM(voxcpm)VoxCPM2、1.5、0.5B48 / 44.1 / 16 kHz30 种(1.5 和 0.5B:zh、en)有无文本均可克隆、按描述设计音色、指令全量、LoRAApache-2.0
Fish Speech(fishspeech)S2 Pro44.1 kHz约 50 种表现力强的克隆、多段参考、对话LoRAFish Audio Research License(需接受)
IndexTTS(indextts)IndexTTS-1.5、2、2.524 / 22.05 kHz中、英(2.5 加日、西)无文本克隆、情感控制无bilibili Model Use License(需接受)
语音识别(asr)Whisper large-v3-turbo16 kHz约 100 种为参考音频和数据集生成文本无MIT

能力名称与界面一致,例如 克隆音色、无文本克隆、预置说话人、按描述设计、按属性设计、自带音色、指令、流式输出、流式文本输入、批量、长文本。下文"参考音频"一栏给出每段参考音频允许的时长范围;超出时按 tts.reference_policy 拒绝或裁剪(见 配置)。

各引擎需要什么

每个引擎都由 Mizuoto 自己实现,运行在服务器自己的进程里,使用 Mizuoto 所在的那一个 Python 环境。torch 能在其中导入、引擎的实现已安装时,引擎就是可用的;mizuoto doctor(以及 模型 › 引擎)会说明哪些引擎可用,其余的缺什么、用什么命令安装。

引擎需要可选依赖设备
Qwen3-TTS、CosyVoice、F5-TTS、OmniVoice、VoxCPM、语音识别torch(2.8 或更新)—GPU(NVIDIA、AMD、Intel、Apple)、CPU
GPT-SoVITStorchmizuoto[gptsovits-ja](日语:pyopenjtalk 0.4.1,需用 CMake 和 C++ 编译器从源码构建)、mizuoto[gptsovits-ko](韩语:python-mecab-ko、jamo)GPU(NVIDIA、AMD、Intel、Apple)、CPU
Fish Speechtorch、mizuoto-fishspeech 包—GPU(NVIDIA、AMD、Intel、Apple)、CPU
IndexTTStorch、mizuoto-indextts 包mizuoto-indextts[ja](IndexTTS-2.5 的日语:fugashi、unidic-lite)GPU(NVIDIA、AMD、Intel、Apple)、CPU
  • 两个需接受许可的引擎因为许可的缘故单独发布;装在同一个环境里时会自动向 Mizuoto 注册。它们的模型仍需先接受许可(见下文)。
  • 缺少某种语言的可选依赖时,这种语言的文本会以 capability_not_supported 失败,提示中给出安装命令,例如 pip install 'mizuoto[gptsovits-ja]'。
  • 所有引擎都能在 CPU 上运行,但慢得多。加速选项是 compute.compile,见 性能与加速。

许可

许可引擎说明
需接受(gated)Fish Speech(fish-audio-research@2026-03-07)、IndexTTS(bilibili-model-use@2025-09-09)引擎是单独的包(mizuoto-fishspeech、mizuoto-indextts);下载模型和共享文件、合成都要求先接受许可:模型 › 引擎 的 接受许可,或 mizuoto engine accept-licence <id>。mizuoto engine licence <id> 打印全文
非商用权重F5-TTS预训练权重为 CC-BY-NC-4.0,不需要接受,但结果带有非商用标记和提示
不能用于训练其他引擎Fish Speech、IndexTTS(trains_others = false)它们合成的结果不能加入其他引擎的训练数据集

结果会带上引擎的许可标记和提示(例如 Fish Speech 的 "Built with Fish Audio"),显示在结果下方。

Qwen3-TTS

阿里通义千问的 12 Hz 语音大模型。适合:中英等 10 种语言的高质量克隆、带情绪/语速指令的预置说话人,以及用一句话描述生成新音色。

模型变体大小显存推荐
qwen3tts/1.7b-baseBase(克隆)4.3 GB6.5 GB是
qwen3tts/0.6b-baseBase(克隆)2.4 GB4 GB
qwen3tts/1.7b-custom-voiceCustomVoice(预置说话人、指令)4.3 GB6.5 GB是
qwen3tts/0.6b-custom-voiceCustomVoice 0.6B(预置说话人)2.4 GB4 GB
qwen3tts/1.7b-voice-designVoiceDesign(按描述设计)4.3 GB6.5 GB是
  • 能力:Base 有 克隆音色、无文本克隆;CustomVoice 有 预置说话人、指令(0.6B 没有指令:上游会静默忽略,所以 Mizuoto 不声明);VoiceDesign 有 按描述设计。所有变体都支持 流式输出(逐帧,在 GPU 上约 0.3 秒后输出第一段音频)、批量(每批最多 8 条)和 种子。
  • 预置说话人:aiden、dylan、eric、ono_anna、ryan、serena、sohee、uncle_fu、vivian。
  • 语言:zh、en、de、it、pt、es、ja、ko、fr、ru。
  • 参考音频:1–30 秒,采样率至少 16 kHz(推荐 3–20 秒)。带上文本时更贴近原音色。
  • 长文本:上游不切分长文本,由 Mizuoto 分段。
  • 训练:Teach it a speaker(speaker,仅 1.7B Base):上游的单说话人微调(sft_12hz.py,在 Mizuoto 中重新实现),Base 学会数据集的音色,导出为以它为预置说话人的 CustomVoice 新模型。几分钟的单人语音即可;1.7B 需要 24 GB 以上显存。
  • 加载选项:注意力按注意力设置选择。fused_projections(默认关闭)是快速模式:每层的 q/k/v 与 gate/up 投影各合并为一次矩阵乘法,在 GPU 上再快几个百分点,但音频不再与原实现逐位一致(输出参数中会标注 fused_projections)。

CosyVoice

阿里通义的 LLM + 流匹配语音合成。适合:低延迟的逐 token 流式播放、边写边说(流式文本输入)、把一段录音转换成另一个音色,以及方言、情绪和语速指令。

模型变体大小显存推荐
cosyvoice/cosyvoice3-0.5bFun-CosyVoice 34.2 GB6 GB是
cosyvoice/cosyvoice2-0.5bCosyVoice 22.9 GB5 GB是
cosyvoice/cosyvoice-300mCosyVoice 1(300M)2.2 GB3.5 GB
cosyvoice/cosyvoice-300m-sftCosyVoice 1 SFT(预置说话人)2.2 GB3.5 GB
cosyvoice/cosyvoice-300m-instructCosyVoice 1 Instruct2.2 GB3.5 GB
变体采样率主要能力
v1_base22.05 kHz克隆音色、无文本克隆、音色转换、流式输出、语速、行内标签、长文本
v1_sft22.05 kHz以上加 预置说话人(无行内标签)
v1_instruct22.05 kHz预置说话人、指令、流式输出、语速、行内标签、长文本(不能克隆)
v224 kHz克隆音色、无文本克隆、指令、音色转换、流式输出、流式文本输入、语速、行内标签、长文本
v324 kHz同 v2,另有 发音控制,没有 长文本
  • 语言:zh、en、ja、ko、yue;v3 为 zh、en、ja、ko、de、es、fr、it、ru、yue。
  • 预置说话人(v1 SFT / Instruct):中文女、中文男、日语男、粤语女、英文女、英文男、韩语女。
  • 行内标签:v1 为 [laughter]、[breath]、<strong></strong>;v2 另有 <laughter></laughter>;v3 为 [breath]、[laughter]、[cough]、[sigh] 等 11 个。
  • 参考音频:1–30 秒,至少 16 kHz。
  • 流式:v2/v3 逐 token 流式输出;流式文本输入需要参考音频的文本(零样本克隆或 instruct2)。
  • 训练(GPU 或 CPU):Fine-tune the language model(llm)和 Fine-tune the LLM and the flow(llm_flow),起点为 v1_base、v2、v3,按上游 LibriTTS 流程,至少 60 秒数据,导出为新模型。只训 LLM 时韵律与发音跟随数据集;连 flow 一起训时音色也跟随数据集。
  • 共享文件:cosyvoice/wetext(13 MB,把数字、日期和单位写成文字的文本规范化语法),随第一个模型一起下载。
  • 加载选项:fp16(GPU 上用半精度:更快,结果略有不同)。

F5-TTS

流匹配语音合成,从一段短音频和它的文本克隆音色。适合:精确控制生成时长,以及只替换录音中的几处词句(语音编辑)。

模型变体大小显存推荐
f5tts/v1-baseF5-TTS v1 Base1.3 GB2.5 GB是
f5tts/baseF5-TTS Base1.3 GB2.5 GB
f5tts/e2-baseE2-TTS Base1.3 GB2.5 GB
  • 能力(三个变体相同):克隆音色、语速、时长、长文本、种子、流式输出(按块)、语音编辑。克隆必须有参考音频的文本:没有文本时,开启 tts.auto_transcribe 且已下载语音识别模型就会自动转写。
  • 语言:zh、en。采样率 24 kHz。
  • 参考音频:1–12 秒,至少 16 kHz。
  • 许可:代码 MIT,预训练权重 CC-BY-NC-4.0(在 Emilia 上训练),不能商用;不需要接受许可,结果带有提示。
  • 训练:Fine-tune the model(full):上游 finetune_cli 的流程,整个模型继续训练,导出为同类新模型。最好有一小时以上语音,几乎必须用 GPU;结果继承 CC-BY-NC-4.0。
  • 加载选项:ode_method(euler 或 midpoint)。

GPT-SoVITS

从 3–10 秒音频少样本克隆,也是经典的微调路线:每个音色可以有自己的 GPT 和 SoVITS 权重,按请求切换。适合:用几分钟录音训练一个专属音色。

模型变体大小显存推荐
gptsovits/v2-basev2249 MB2.5 GB
gptsovits/v2pro-basev2Pro303 MB2.5 GB是
gptsovits/v2proplus-basev2ProPlus339 MB2.8 GB
gptsovits/v4-basev4937 MB4 GB
gptsovits/v5turbo-basev5 Turbo934 MB4 GB
  • 能力:克隆音色、多段参考(最多 4 段)、训练音色、语速、批量(最多 20 条)、长文本、流式输出、种子;v2、v2Pro、v2ProPlus 另有 无文本克隆。
  • 采样率:v2 / v2Pro / v2ProPlus 为 32 kHz,v4 / v5 Turbo 为 48 kHz。
  • 语言:zh、en、ja、ko、yue。日语需要可选依赖 mizuoto[gptsovits-ja],韩语需要 mizuoto[gptsovits-ko]。
  • 参考音频:3–10 秒。
  • 音色权重:音色可以带一对 GPT(.ckpt)和 SoVITS(.pth)权重,版本与模型变体一致时使用,否则给出提示并改用克隆。用 mizuoto voice add-weights <音色> -e gptsovits -f gpt=x.ckpt -f sovits=y.pth 添加。
  • 共享文件:每个模型都需要 gptsovits/encoders(1.0 GB)、gptsovits/g2pw(562 MB)、gptsovits/nltk-data、gptsovits/open-jtalk,随第一个模型一起下载;训练 v2、v2Pro、v2ProPlus 还需要对应的判别器 gptsovits/s2d-*。
  • 训练:Fine-tune a voice(speaker):上游的完整流程(文本特征、语音特征、语义 token、训练 SoVITS、训练 GPT),导出为音色专属的一对权重。一到十分钟的单人语音;GPU 上几分钟,CPU 上几小时。v4 和 v5 Turbo 以 LoRA 训练 SoVITS。

OmniVoice

小米的扩散语言模型语音合成。适合:小语种(600 多种语言)、不提供参考音频时用模型自带的音色,以及按性别、年龄、音高、口音、方言等属性设计音色。

模型变体大小显存推荐
omnivoice/omnivoiceOmniVoice3.1 GB5 GB是
  • 能力:克隆音色、按属性设计、自带音色、行内标签、发音控制、语速、时长、批量(最多 8 条)、长文本、种子。克隆时 Mizuoto 总会提供文本(缺少时由语音识别补全),所以 OmniVoice 不会自己加载 Whisper。
  • 设计属性:gender(male、female)、age(child … elderly)、pitch(very low pitch … very high pitch)、style(whisper)、accent(american accent 等 10 种)、dialect(河南话、四川话、东北话等 12 种)。不接受自由描述。
  • 行内标签:[laughter]、[sigh]、[question-en]、[surprise-wa] 等 13 个。
  • 参考音频:1–20 秒,至少 16 kHz。采样率 24 kHz。
  • 选项:packed_guidance(默认关闭)是快速模式:在 GPU 上克隆约快四分之一,此时每个结果是该请求的另一次生成,而不是原始实现给出的结果。
  • 训练:Fine-tune the model(full)和 Fine-tune with LoRA(lora,导出时合并),都导出为新模型。全量微调适合用数小时语音学习新语言或风格,需要 24 GB 以上显存;LoRA 更轻。

VoxCPM

OpenBMB 的无离散分词语音合成:逐个“块”(patch)生成连续的语音潜变量(由 MiniCPM-4 语言模型和每块一个小扩散模型完成),中间没有语音编码。适合:自然的音色克隆(有无参考文本均可)、用一句描述生成音色、对克隆的音色加风格指令,以及 30 种语言的 48 kHz 合成(VoxCPM2)。

模型变体大小显存推荐
voxcpm/2VoxCPM25.0 GB6.5 GB是
voxcpm/1.5VoxCPM 1.52.0 GB3 GB
voxcpm/0.5bVoxCPM 0.5B1.6 GB2.5 GB
  • 能力:VoxCPM2:克隆音色、无文本克隆、按描述设计、指令、自带音色、流式输出(每 40 毫秒一块)、种子。VoxCPM 1.5 和 0.5B:克隆音色(需要参考文本,缺少时由语音识别补全)、自带音色、流式输出、种子。
  • 克隆:有参考文本时,VoxCPM2 同时把参考音频作为独立的参考和待续写的开头(与上游演示相同;选项 reference_prefix 关闭后只续写);没有文本时只作为参考。VoxCPM 1.5 和 0.5B 以续写方式克隆。
  • 描述与指令(VoxCPM2):按上游的做法写在文本前的括号里:(年轻女性,温柔甜美)你好。中英文均可;汉语方言也这样指定(粤语、四川话……)。
  • 参数:步数(每块扩散的欧拉步数,10)、引导强度(2.0)、文本规范化(默认关闭;由 wetext 读出数字、日期和符号)、最大生成 token 数(块数,4096)。选项:min_len、retry_badcase(默认开启:结果比文本长得多时用下一个种子重新生成,最多 retry_badcase_max_times 次;流式时不重试)、retry_badcase_ratio_threshold、reference_prefix。
  • 语言:VoxCPM2 支持 30 种(ar、my、zh、da、nl、en、fi、fr、de、el、he、hi、id、it、ja、km、ko、lo、ms、no、pl、pt、ru、es、sw、sv、tl、th、tr、vi),不需要语言标签,按原文朗读。VoxCPM 1.5 和 0.5B:zh、en。
  • 参考音频:1–30 秒,至少 16 kHz。输出:48 kHz(VoxCPM2)、44.1 kHz(1.5)、16 kHz(0.5B)。
  • 精度:与上游相同,除 Apple 设备(fp32)外都用模型自带的 bf16;需要全精度时设 engines.voxcpm.dtype fp32。
  • 未包含:上游可选的参考音频降噪(ZipEnhancer,ModelScope 流水线)与时间戳;两者在上游默认都关闭。
  • 训练:Fine-tune the model(full)和 Fine-tune with LoRA(lora),即上游自己的方案(train_voxcpm_finetune.py 及其按模型的配置),结果都导出为新模型;LoRA 模型把基础权重与适配器放在一起,加载时按上游的方式应用。超参数留为 0 时取该模型的方案值。在 GPU 上与上游相同(fp32 权重,bf16 自动混合精度);在 CPU 上用 fp32(上游本身无法在 CUDA 以外训练)。VoxCPM2 的全量微调约需 40 GB 内存;LoRA 少得多。

Fish Speech

Fish Audio S2 Pro:双自回归模型,约一千万小时、五十种左右语言的训练数据。适合:富有表现力的克隆、自由形式的行内标签(如 [laughing])和多说话人对话。

模型变体大小显存推荐
fishspeech/s2-proS2 Pro10.5 GB22 GB是
  • 能力:克隆音色、多段参考(最多 4 段)、行内标签、对话、流式输出(按段)、种子。采样率 44.1 kHz。
  • 参考音频:2–30 秒。
  • 许可:Fish Audio Research License,需要接受(fish-audio-research@2026-03-07),不可商用,结果不能用于训练其他引擎,结果下方显示 "Built with Fish Audio"。
  • 设备:GPU 上用 bf16;CPU 上用 fp32(bf16 在 CPU 上是模拟的,慢得多)。显存需求约 22 GB。
  • 训练:Fine-tune with LoRA(lora,GPU 或 CPU):上游的 LoRA 流程(提取语义 token、打包、训练、合并),导出为新模型。上游提醒它学到的更多是说话风格而不是音色;需要 24 GB 显存,结果仍受 Fish Audio 研究许可约束。
  • Mizuoto 目录中没有 int8 版本(官方没有公开该仓库)。

IndexTTS

哔哩哔哩的零样本语音合成:不需要文本就能从一段音频克隆。适合:情感控制——IndexTTS-2 可以用一段音频、八个情感权重或一句描述指定情感;2.5 增加日语、西班牙语和语速。

模型变体大小显存推荐
indextts/v1.5IndexTTS-1.51.6 GB4 GB
indextts/v2IndexTTS-25.6 GB9 GB是
indextts/v2.5IndexTTS-2.55.2 GB9 GB
变体采样率主要能力
v1_524 kHz克隆音色、无文本克隆、发音控制、长文本
v222.05 kHz以上加 参考音频情感、情感滑块、文本情感、流式输出
v2_522.05 kHz同 v2,另有 语速;语言 zh、en、ja、es
  • 情感权重(八个,上游顺序):happy、angry、sad、afraid、disgusted、melancholic、surprised、calm。参考音频情感可以设强度;文本情感需要加载选项 use_qwen_emo(默认开,约 1.2 GB)。
  • 参考音频:1–30 秒。
  • 许可:bilibili Model Use License,需要接受(bilibili-model-use@2025-09-09);允许商用,但结果不能用于训练其他引擎;结果下方的提示会提醒:IndexTTS 的免责声明禁止未经声音主人许可克隆其声音。
  • 语言:IndexTTS-2.5 的日语文本需要可选依赖 mizuoto-indextts[ja]。
  • 共享文件:IndexTTS-2 和 2.5 需要 indextts/w2v-bert(2.2 GB)、indextts/campplus、indextts/bigvgan,IndexTTS-2 还需要 indextts/semantic-codec,随模型一起下载。
  • 训练:无。
  • 加载选项:use_qwen_emo(默认开)、use_torch_compile(v2/v2.5:与 compute.compile 一样编译 s2mel DiT 和 BigVGAN,见 性能与加速)。

语音识别(asr)

Mizuoto 自己使用的内部引擎:Whisper large-v3-turbo,由 Mizuoto 自己实现,约 100 种语言,为没有文本的参考音频、音色和数据集生成文本。它不出现在合成的模型列表里,也不出现在 GET /v1/models 中。

模型大小显存推荐
asr/whisper-large-v3-turbo1.5 GB2 GB是
mizuoto model download asr/whisper-large-v3-turbo
mizuoto asr clip.wav --lang zh

转写结果按音频的 SHA-256 和模型缓存,同一段音频不会重复识别。设置 tts.auto_transcribe(默认开)和 tts.asr_model 控制自动转写,见 配置。

本页目录