❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
大家好,我是蚝油菜花,今天跟大家分享一下 Hibiki 这个开源的实时语音翻译模型,能够将一种语言的语音实时翻译成另一种语言的语音或文本。
🚀 快速阅读
Hibiki 是一个用于实时语音翻译的解码器模型,支持语音到语音(S2ST)和语音到文本(S2TT)的翻译功能。
- 核心功能:实时语音到语音和文本翻译,支持批量和设备端部署。
- 技术原理:基于多流语言模型架构,使用弱监督学习生成合成数据,确保低延迟和高保真度。
Hibiki 是什么
Hibiki 是由 Kyutai Labs 开源的实时语音翻译模型,能够将一种语言的语音实时翻译成另一种语言的语音或文本。它基于多流语言模型架构,同步处理源语音和目标语音,联合生成文本和音频标记,实现语音到语音(S2ST)和语音到文本(S2TT)的翻译功能。Hibiki 使用弱监督学习方法,基于文本翻译系统的困惑度识别单词级的最佳延迟,创建对齐的合成数据进行训练。
Hibiki 在法语到英语的翻译任务中表现出色,具有高翻译质量、说话者保真度和自然度,支持批量翻译和实时设备端部署,展现了强大的实用潜力。
Hibiki 的主要功能
- 实时语音到语音翻译(S2ST):将一种语言的语音实时翻译成另一种语言的语音,保留说话者的音色和语调。
- 实时语音到文本翻译(S2TT):将语音实时翻译成目标语言的文本,提供更灵活的使用场景。
- 低延迟翻译:基于实时积累上下文信息,逐块生成翻译内容,延迟极低,接近人类口译水平。
- 高保真度:生成的语音自然流畅,与源语音的音色和语调高度相似,用户体验接近专业人类口译。
- 支持批量和实时部署:推理过程简单,支持批量处理和实时设备端部署,适合大规模应用。
Hibiki 的技术原理
多流语言模型架构:
- 同步处理:同时接收源语音和生成目标语音,基于多流架构联合建模两个音频流。
avigator。 - 文本和音频标记:模型预测文本和音频标记的层次结构,实现语音到文本和语音到语音的翻译。
- 因果音频编解码器:用预训练的因果音频编解码器(如Mimi)将语音编码为低帧率的离散标记,支持实时流式处理。
- 同步处理:同时接收源语音和生成目标语音,基于多流架构联合建模两个音频流。
弱监督学习与上下文对齐:
- 合成数据生成:基于翻译单语音频的转录文本并重新合成目标语音,生成对齐的合成数据。
- 上下文对齐:用现成文本翻译系统的困惑度,计算单词级对齐,确保目标语音的生成与源语音的上下文同步。
- 静音插入与对齐感知TTS:基于插入静音或用对齐感知的TTS模型重新合成目标语音,确保目标语音的延迟符合实时翻译的要求。
说话者相似性与分类器自由引导:
- 说话者相似性标记:对训练数据进行说话者相似性分类标记,避免过滤数据的同时,在推理时优先选择高相似性样本。
- 分类器自由引导:调整条件标签的权重,增强模型对说话者相似性的控制,进一步提升语音保真度。
高效的推理过程:
- 温度采样:用温度采样技术,结合因果音频编解码器,实现流式输入和输出。
- 批量处理与实时部署:推理过程简单高效,支持批量处理和实时设备端部署,适合大规模应用场景。
如何运行 Hibiki
1. PyTorch
为了使用 PyTorch 运行 Hibiki,首先需要安装 moshi
包:
pip install -U moshi
然后可以从 kyutai-labs/moshi
获取示例文件,并通过以下命令进行翻译:
- kyutai-labs/moshi:https://github.com/kyutai-labs/moshi/tree/main/data
wget https://github.com/kyutai-labs/moshi/raw/refs/heads/main/data/sample_fr_hibiki_crepes.mp3
python -m moshi.run_inference sample_fr_hibiki_crepes.mp3 out_en.wav --hf-repo kyutai/hibiki-1b-pytorch-bf16
你可以通过 --cfg-coef
参数指定分类器自由引导系数,默认值为 1,较高的值会使生成的语音更接近原始语音。常用的值为 3。
2. MLX
为了使用 MLX 运行 Hibiki,首先需要安装 moshi_mlx
包:
pip install -U moshi_mlx
然后可以从 kyutai-labs/moshi
获取示例文件,并通过以下命令进行翻译:
- kyutai-labs/moshi:https://github.com/kyutai-labs/moshi/tree/main/data
wget https://github.com/kyutai-labs/moshi/raw/refs/heads/main/data/sample_fr_hibiki_crepes.mp3
python -m moshi_mlx.run_inference sample_fr_hibiki_crepes.mp3 out_en.wav --hf-repo kyutai/hibiki-1b-mlx-bf16
同样可以通过 --cfg-coef
参数指定分类器自由引导系数。
3. MLX-Swift
kyutai-labs/moshi-swift
仓库包含了一个可以在 iPhone 上运行的 MLX-Swift 实现。此代码为实验性质,已在 iPhone 16 Pro 上测试通过。
- kyutai-labs/moshi-swift:https://github.com/kyutai-labs/moshi-swift
4. Rust
hibiki-rs
目录包含了一个简单的 Rust 应用程序,可以根据原始音频文件生成翻译。你可以使用 --features cuda
来在 NVIDIA GPU 上运行,或者使用 --features metal
来在 Mac 上运行。
cd hibiki-rs
wget https://github.com/kyutai-labs/moshi/raw/refs/heads/main/data/sample_fr_hibiki_crepes.mp3
cargo run --features metal -r -- gen sample_fr_hibiki_crepes.mp3 out_en.wav
资源
- GitHub 仓库:https://github.com/kyutai-labs/hibiki
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 微信公众号|搜一搜:蚝油菜花 🥦