来源丨githubStore
MGM-Omni 是一个能够处理文本、图像、视频和语音输入,并能生成文本和语音响应的全能聊天机器人。基于 MiniGemini 和 MiniGemini v2 (Lyra),MiniGemini-Omni (MGM-Omni) 实现了中英文的长语音理解与生成,以及语音克隆功能。
项目地址:https://github.com/dvlab-research/MGM-Omni/blob/main/README.md
主要特性
全模态支持:MGM-Omni 支持音频、视频、图像和文本输入,理解长上下文,并能生成文本和语音输出,使其成为一个真正通用的多模态 AI 助手。 长语音理解:与大多数现有的开源多模态模型(通常无法处理超过 15 分钟的输入)不同,MGM-Omni 可以处理长达一小时的语音输入,同时提供卓越的整体和细节理解及性能! 长语音生成:凭借海量的训练数据和智能的基于分块的解码 (Chunk-Based Decoding) 策略,MGM-Omni 可以生成超过 10 分钟流畅、自然的语音,用于连续讲故事。 流式生成:得益于语音令牌的并行解码方法,MGM-Omni 能够实现高效流畅的流式音频,使其适用于实时对话。 零样本语音克隆:借助 MGM-Omni 广泛多样的音频训练,您只需录制一个简短的片段(约 10 秒)并查看结果,即可创建定制化的语音克隆。 完全开源:所有代码、模型和训练数据都将发布。
安 装
请按照以下说明安装所需的软件包。
ounter(line
git clone https://github.com/dvlab-research/MGM-Omni.git ounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
conda create -n mgm-omni python=3.10 -y
conda activate mgm-omni
cd MGM-Omni
git submodule update --init --recursive
pip install --upgrade pip
pip install -e . 使用方法
零样本语音克隆
生成与提供的参考音频听起来相似的音频。
ounter(lineounter(lineounter(line
python -m mgm.serve.cli_tts \
--model wcy1122/MGM-Omni-TTS-2B \
--ref-audio assets/ref_audio/Man_EN.wav 添加--ref-audio-text以获取更准确的参考音频转录文本。否则,将使用 Whisper-large-v3 进行自动转录。
作为全能聊天机器人进行聊天
与文本输入聊天
ounter(lineounter(lineounter(line
python -m mgm.serve.cli \
--model wcy1122/MGM-Omni-7B \
--speechlm wcy1122/MGM-Omni-TTS-2B 如果您希望 MGM-Omni 使用特定语音响应,请添加--ref-audio和(可选的)--ref-audio-text。
与视觉输入聊天
ounter(lineounter(lineounter(lineounter(line
python -m mgm.serve.cli \
--model wcy1122/MGM-Omni-7B \
--speechlm wcy1122/MGM-Omni-TTS-2B \
--image-file assets/examples/ronaldo.jpg 要探索更多模态,可使用--video-file输入视频,使用--audio-file输入音频。
与多模态输入聊天
ounter(lineounter(lineounter(lineounter(lineounter(line
python -m mgm.serve.cli \
--model wcy1122/MGM-Omni-7B \
--speechlm wcy1122/MGM-Omni-TTS-2B \
--image-file assets/examples/ronaldo.jpg \
--audio-file assets/examples/instruct.wav 对于多模态输入,请为每种模态使用--image-file、--video-file和--audio-file。
启动本地 Gradio 演示
ounter(lineounter(lineounter(line
python -m mgm.serve.web_demo \
--model wcy1122/MGM-Omni-7B \
--speechlm wcy1122/MGM-Omni-TTS-2B 使用此命令在本地启动一个 gradio 演示。
架 构
MGM-Omni 是一个先进的全能模型,旨在处理文本、图像、视频和语音输入,并能够生成文本和语音。对于来自不同模态的输入,我们采用特定模态的编码器来提取特征,随后将其输入到 MLLM(多模态大语言模型)中。MLLM 生成的文本然后传递给 SpeechLM,后者使用基于分块的并行解码 (Chunk-Based Parallel Decoding) 策略生成语音令牌。这些语音令牌通过流匹配 (Flow Matching) 模型进一步转换为梅尔频谱图 (Mel-Spectrograms),最终使用声码器 (vocoder) 合成音频。
评 估
语音和音频理解
| 7.6 | ||||||
| MGM-Omni-7B | ||||||
| MGM-Omni-32B | 1.5 | 3.2 | 4.0 | 1.8 |
此表展示了语音理解方面的词错误率 (WER) 和字错误率 (CER) 结果。 此处 LS 指 LibriSpeech,CM 指 Common Voice。
| 7.3 | ||||||
| MGM-Omni-7B | 7.3 | 6.5 | 6.3 | 6.5 | ||
| MGM-Omni-32B | 6.5 | 6.2 | 6.5 |
此表展示了在 AIR-Bench Chat(语音、声音、音乐等)上的评估结果。
语音生成
| MGM-Omni | ||||||
| MGM-Omni | ||||||
| MGM-Omni | 1.34 | 0.756 | 2.22 | 0.684 |
此表展示了在 seed-tts-eval 上语音生成的评估结果。 对于 Qwen2.5-Omni,模型大小指的是 talker 部分的大小。
