技术档案 / 模型选型

五套 TTS 引擎,不用一张“最好”标签掩盖真实取舍。

模型选型要同时看音色相似度、情绪方式、长文本稳定性、运行内存、输出采样率、调用复杂度与权重许可。本页把已经接入工作台的五条路径拆开说明,便于客户、搜索引擎和 AI Agent 按事实查询。

5条引擎路径
3类音色模式
22.05-44.1 kHz输出采样率
10万+单批任务能力

快速决策

先按交付目标选模型,再调参数。

目标优先候选为什么需要接受的代价
中文长篇稳定配音IndexTTS 2.5工作台默认路径,MLX 8-bit,本地缓存音色条件复杂情绪需要用文本表达或改走其他引擎
指定八类情绪IndexTTS 2.0情绪类型与强度分开控制旧一代引擎,速度与资源要按设备实测
用文字描述新音色OmniVoice MLX克隆、音色设计、自动音色三种模式克隆依赖准确参考转写,许可需单独核对
多角色与表达标签Fish Audio S2 Pro多说话人、内联表达、44.1 kHz 输出内存压力与长段截断风险更高,商用需相应许可
验证原生 OmniVoiceVoiceStudio保留 PyTorch/MPS 原生能力与兼容路径运行时更重,子进程和 CPU 音频 tokenizer 增加复杂度

模型 01

IndexTTS 2.5 / MLX 8-bit

工作台默认主引擎,输入目标文本、参考音频和可选参数,输出 22,050 Hz 音频。参考音频先转成模型可用的音色条件并按模型命名空间缓存,重复使用同一音色时跳过重复编码。

调用合同text + reference_audio → voice_condition → waveform输出:WAV / MP3 / FLAC

优点

  • MLX 8-bit 更适合 Apple Silicon 的统一内存环境。
  • 默认路径短,适合稳定、连续的中文口播与长篇项目。
  • 音色条件缓存能降低批量生成时的重复计算。
  • 已经接入分段、进度、预计时间、停止和部分结果保留。

缺点与边界

  • 当前适配层不提供 IndexTTS 2.0 那套原生八类情绪向量。
  • 超长文本仍须切段,不能把“项目不限字数”理解为一次推理无限长度。
  • 音色缓存与模型版本绑定,切换引擎后不能盲目复用。
  • 极端输入可能需要降低段长并进行保护性重试。

最适合:长篇中文解说、批量口播、同一音色多稿件。不优先:需要精确情绪向量或多人对话标签的任务。

模型 02

IndexTTS 2.0 / MLX

保留上一代引擎作为明确情绪控制路径。调用时把参考音色与八类情绪之一、情绪强度和目标文本共同送入生成器;每个模型拥有独立参数档案与缓存。

调用合同text + reference_audio + emotion + strength → waveform情绪:happy / sad / angry / afraid / disgusted / melancholic / surprised / calm

优点

  • 情绪类型与强度有明确字段,容易复现和批量化。
  • 八类情绪适合广告口播、剧情片段和强调语气。
  • 与工作台的音色库、任务控制和导出功能共用。

缺点与边界

  • 作为旧版本路径,质量与速度不应只凭版本号推断,需以样稿验收。
  • 情绪强度过高可能损伤自然度或音色相似度。
  • 输出仍需分段合成;段间响度和停顿要在后处理中统一。

最适合:需要可记录、可复现情绪参数的内容。不优先:仅追求最短调用链的普通旁白。

模型 03

OmniVoice / MLX

一个入口支持参考音频克隆、文字描述音色和自动音色。克隆时参考音频与逐字转写需要对齐;没有转写时先调用本地 ASR 补全,再把音频与文本共同编码。

调用合同clone: text + audio + transcriptdesign: text + voice_description输出:24,000 Hz

优点

  • 同一引擎覆盖克隆、设计和自动三种使用方式。
  • 不必总有参考音频,可用自然语言描述想要的音色。
  • 表达预设可以覆盖耳语等特定风格。
  • 本地 ASR 缓解用户没有参考文本的问题。

缺点与边界

  • 克隆质量依赖参考文本与音频逐字一致,错字和漏字会传导到结果。
  • 自然语言情绪描述不是固定标签,复现度低于数值向量。
  • 本地 ASR 增加预处理时间,并可能产生识别误差。
  • 上游权重许可需按实际使用场景核对,不能默认可商用。

最适合:文字设计音色、快速探索、耳语等表达预设。不优先:无法提供清晰参考音频且又要求高度还原的克隆。

模型 04

Fish Audio S2 Pro / MLX 8-bit

面向更丰富表达和多说话人内容的路径。工作台会缓存参考编码,把长文本优先按安全标点切成约 60 字片段,再逐段生成 44,100 Hz 音频并合并。

调用合同text/tags + optional_reference + speaker_map → chunks → waveform输出:44,100 Hz

优点

  • 较高输出采样率,适合后续音频制作链。
  • 支持自动音色、参考克隆、多说话人和表达标签。
  • 角色映射能把对话稿直接路由到不同说话人。
  • 参考编码缓存适合系列化、多集内容。

缺点与边界

  • 运行内存压力更大,生成速度更依赖设备与参数。
  • 过长单段有 token 截断风险,因此必须主动缩短分段。
  • 多说话人文本需要严格的角色标记和一致命名。
  • Fish Research License 下的商业使用需要取得相应许可。

最适合:多角色播客、剧情内容、表达标签驱动的语音。不优先:资源紧张设备上的超长单音色批处理。

模型 05

VoiceStudio 原生 OmniVoice / PyTorch MPS

这条路径保留原生实现,由独立子进程加载 PyTorch/MPS 模型。主工作台负责输入、状态与结果,子进程负责模型生命周期,切换模型时显式释放资源。

调用合同job.json → subprocess → progress/result.json → audio模式:clone / design / auto

优点

  • 便于验证原生引擎能力与 MLX 适配结果的差异。
  • 进程隔离降低不同依赖栈互相污染的概率。
  • 保留三种 OmniVoice 工作模式。
  • 子进程异常不会直接破坏主 WebUI 状态。

缺点与边界

  • PyTorch/MPS 运行时更重,冷启动和内存成本更高。
  • 音频 tokenizer 可能落在 CPU,整体链路并非完全 GPU 加速。
  • 进度、取消、错误和临时文件需要跨进程同步。
  • 仍要单独审查上游模型和权重许可。

最适合:原生兼容测试、结果对照、需要隔离依赖的部署。不优先:只追求轻量、快速启动的日常批量任务。

规模说明

十万字、二十万字是项目编排问题,不是一条无限长度推理。

  1. 按书、章、节建立内容清单,为每批分配稳定 ID。
  2. 在批次内按模型安全长度和自然标点切段,避免截断半句。
  3. 每段记录文本哈希、模型、音色、参数、输出路径与状态。
  4. 失败仅重跑对应片段;重启后从检查点继续,不重复已完成工作。
  5. 统一响度、采样率、段间静音和文件命名,再按章或整书合并。
  6. 交付前做缺段、重段、顺序、时长、峰值和试听抽检。

真实边界:当前 WebUI 单次任务有 100,000 字符保护上限。项目总量不设固定业务上限,20 万字及更大内容使用章节批次和任务队列交付。

继续查询

人和 Agent 都能沿着同一套证据继续查。

资料状态

内容依据现有工作台适配层、调用脚本、运行记录与产品约束整理。最后核对:。商务咨询:wangdexin2008@126.com