小米 AI 实验室 k2-fsa 团队开源的 OmniVoice 零样本多语言语音克隆系统,以技术说明、环境要求、模型对比、安装部署、使用方法为核心。


一、模型概述

OmniVoice 是小米 k2-fsa 团队于 2026 年 4 月开源的零样本多语言文本转语音(TTS)模型,采用单阶段扩散架构,支持极短音频实现语音克隆,覆盖全球大量语言与方言。

  • 开源协议:Apache-2.0(可免费商用)
  • 模型参数:0.8B
  • 训练数据:58.1 万小时开源语音
  • 核心架构:单阶段扩散语言模型,直接从文本映射到声学 token

二、核心功能说明

2.1 零样本语音克隆

  • 输入 3–10 秒参考音频,即可克隆该音色
  • 支持手机录制音频,模型内置降噪处理
  • 支持跨语言朗读(带源语言口音特征)

2.2 文本指令生成声音

通过文本描述生成指定音色,支持组合属性:

  • 性别、年龄、音调
  • 语种、方言、口音
  • 情绪风格、耳语等

2.3 非语言情感控制

支持插入符号生成情感音效:

  • [laughter] 笑声
  • [sigh] 叹气
  • [breath] 呼吸声

2.4 拼音 / 音素矫正

支持对多音字、专有名词指定拼音,提升发音准确率。

2.5 多语言支持

支持 646 种语言与方言,包含粤语、四川话等中文方言。


三、运行环境要求

推荐配置

  • 显卡:NVIDIA GPU,显存 ≥ 10GB
  • 系统:Linux /macOS (Apple Silicon) / Windows(WSL2 或整合包)
  • 内存:≥ 16GB
  • 硬盘:整合包解压约 14GB

最低可运行配置

  • 显存 ≥ 4GB(可运行,速度较慢)
  • CPU 可推理,但速度显著降低,不适合日常使用

四、同类工具技术对比

表格

对比项 OmniVoice CosyVoice3 ElevenLabs v2 GPT-SoVITS
语言数量 646 种 ~50 种 ~30 种 少数语种
推理速度(RTF) 0.025(40 倍速) ~0.1 云端 0.3~0.5
参考音频时长 3–10 秒 ≥3 秒 需上传 ≥5 秒
授权模式 免费可商用 免费可商用 付费订阅 免费
本地部署 支持 支持 不支持 支持
中文词错率 WER 0.84% ~1.5% ~2% 随模型变化
说话人相似度 高于 ElevenLabs 较好 行业基准 依赖训练质量

五、安装部署教程

方式一:整合包一键启动(推荐新手)

下载地址

百度网盘:https://pan.baidu.com/s/1BDhQWDyaqC4OMJSZXEur4g?pwd=5555 提取码: 5555

安装步骤
  1. 使用 WinRAR/7-Zip 解压整合包
  2. 解压路径必须全英文、无中文、无空格 示例:D:\OmniVoice
  3. 双击 一键启动.bat
  4. 首次启动自动从国内镜像下载模型
  5. 浏览器自动打开 WebUI:http://127.0.0.1:8081
使用方式
  • 语音克隆:输入文本 → 上传参考音频 → 生成
  • 声音设计:切换模式 → 输入音色描述 → 生成

方式二:源码部署(适合开发者)

环境依赖
  • Python ≥ 3.10
  • NVIDIA GPU + CUDA
  • uv 依赖管理工具
部署命令

bash

运行

# 克隆项目
git clone https://github.com/k2-fsa/OmniVoice.git
cd OmniVoice

# 安装依赖(国内镜像)
uv sync --default-index https://mirrors.aliyun.com/pypi/simple

# 启动 WebUI
uv run omnivoice-demo --ip 0.0.0.0 --port 8081
模型下载加速(国内)

bash

运行

export HF_ENDPOINT="https://hf-mirror.com"
命令行生成示例

bash

运行

# 语音克隆
omnivoice-infer \
  --model k2-fsa/OmniVoice \
  --text "需要合成的文本" \
  --ref_audio ref.wav \
  --ref_text "参考音频文本" \
  --output output.wav

# 指令生成音色
omnivoice-infer \
  --model k2-fsa/OmniVoice \
  --text "需要合成的文本" \
  --instruct "male, elderly, low pitch" \
  --output output.wav
Python 代码调用示例

python

运行

from omnivoice import OmniVoice
import soundfile as sf
import torch

model = OmniVoice.from_pretrained(
    "k2-fsa/OmniVoice",
    device_map="cuda:0",
    dtype=torch.float16
)

audio = model.generate(
    text="你好,这是测试语句。",
    ref_audio="ref.wav",
    ref_text="参考音频对应的文本"
)

sf.write("output.wav", audio[0], 24000)

六、使用规范与注意事项

  1. 参考音频建议 3–10 秒,过长不提升效果且降低速度
  2. 路径、音频文件名不可包含中文
  3. 跨语言克隆会保留原录音口音,属于正常现象
  4. 方言使用对应代码:粤语 zh-yue、四川话 zh-sichuan
  5. Apache-2.0 允许商用,但克隆他人声音需获得合法授权

七、项目官方地址

GitHub:https://github.com/k2-fsa/OmniVoice

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐