小米 OmniVoice 开源语音克隆模型 完整技术指南与部署教程
·
小米 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
安装步骤
- 使用 WinRAR/7-Zip 解压整合包
- 解压路径必须全英文、无中文、无空格 示例:
D:\OmniVoice - 双击
一键启动.bat - 首次启动自动从国内镜像下载模型
- 浏览器自动打开 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)
六、使用规范与注意事项
- 参考音频建议 3–10 秒,过长不提升效果且降低速度
- 路径、音频文件名不可包含中文
- 跨语言克隆会保留原录音口音,属于正常现象
- 方言使用对应代码:粤语
zh-yue、四川话zh-sichuan - Apache-2.0 允许商用,但克隆他人声音需获得合法授权
七、项目官方地址
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)