tencent_hunyuan/Universal_Audio_Tokenizer
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

Universal Audio Tokenizer:借助通用音频感知能力增强语义语音分词器

Universal Audio Tokenizer 是一款紧凑的单码本音频分词器,它将通用音频感知与语言对齐功能相统一,可用于下游 Audio-LLM 任务。

📄 论文 | 💻 GitHub

有关代码和更多详细信息,请参阅相应的 GitHub 仓库。

💡 亮点

现有的语义语音分词器往往存在“声学盲区”问题,而声学分词器则通常缺乏“语言对齐”能力。

Universal Audio Tokenizer 通过以下方式弥合这一差距:

  • 🧩 语义-声学基元(SAP)监督:将原始音频分解为基本语言内容、声音属性和听觉场景基元
  • ⚖️ 语义-声学平衡(SAE)机制:自适应地将浅层编码器层的细粒度声学细节注入深层语义流

这使得这款紧凑的单码本音频分词器能够同时实现:

  • 🧠 与 LLM 无缝集成:在 Audio-LLM 中提供统一的音频输入/输出接口
  • 🗣️ 语言对齐:在语音重建和 TTS 合成任务上表现更优
  • 🎯 通用音频感知:对多样音频事件的判别性表示,以及在下游音频理解基准测试中的强劲性能

📌 模型详情

属性值
帧率25 Hz
码本大小8,192
每秒比特数(BPS)325

🚀 快速开始

要使用 Universal Audio Tokenizer,请克隆官方仓库并安装依赖项。

安装

# 1. Clone the repository with all submodules
git clone --recursive https://github.com/Tencent/Universal_Audio_Tokenizer.git
cd Universal_Audio_Tokenizer

# If you have already cloned the repository without --recursive,
# initialize submodules with:
git submodule update --init --recursive

# 2. Create a conda environment
conda create -n universal-audio-tokenizer python=3.10.13 -y
conda activate universal-audio-tokenizer

# 3. Install dependencies
conda install -c conda-forge libsndfile -y
pip install -r requirements.txt

下载预训练检查点

使用 huggingface-cli:

huggingface-cli download tencent/Universal_Audio_Tokenizer \
  --local-dir checkpoints/Universal_Audio_Tokenizer

或者使用 Python:

from huggingface_hub import snapshot_download

snapshot_download(
    repo_id="tencent/Universal_Audio_Tokenizer", 
    local_dir="checkpoints/Universal_Audio_Tokenizer"
)

运行推理

我们在 example_usage.py 中提供了一个简单的推理演示。

python example_usage.py \
  --device auto \
  --model_path checkpoints/Universal_Audio_Tokenizer \
  --audio_path /path/to/audio.wav

该脚本将:

  • 加载分词器和特征提取器;
  • 从输入音频片段中提取离散音频令牌;
  • 从令牌重建波形并将重建的音频保存到 reconstruction/ 目录下。

此外,您可以直接运行下面的推理代码片段:

import os
import torch
from transformers import WhisperFeatureExtractor
from src.model.modeling_whisper import WhisperVQEncoder
from src.model.flow_inference import AudioDecoder
from src.model.utils import extract_audio_token, speech_token_to_wav

# 1. Download & Load Models
model_dir = snapshot_download("tencent/Universal_Audio_Tokenizer")

# Load tokenizer and feature extractor
tokenizer_path = os.path.join(model_dir, "tokenizer")
tokenizer = WhisperVQEncoder.from_pretrained(tokenizer_path).eval().cuda()
feature_extractor = WhisperFeatureExtractor.from_pretrained(tokenizer_path)

# Load decoder
decoder_path = os.path.join(model_dir, "decoder")
decoder = AudioDecoder(
	config_path=os.path.join(decoder_path, "config.yaml"),
	flow_ckpt_path=os.path.join(decoder_path, "flow.pt"),
	hift_ckpt_path=os.path.join(decoder_path, "hift.pt"),
	device="cuda"
)

# 2. Tokenize
tokens = extract_audio_token(tokenizer, feature_extractor, ["/path/to/audio.wav"], device="cuda")[0]

# 3. Reconstruct
tts_speech, sampling_rate = speech_token_to_wav(decoder, tokens)

📊 性能表现

Universal Audio Tokenizer 能够学习多样化音频事件的判别性表示,并在语音重建、下游音频理解及 TTS 合成任务中展现出优异性能。

latent 空间解耦

我们采用高维 token 直方图向量进行聚类分析。结果(轮廓系数和聚类纯度)表明,我们的模型能有效编码通用音频,且在 latent 空间中实现更清晰的聚类分离。

模型ESC-10 轮廓系数 (↑)ESC-10 纯度 (↑)ESC-50 轮廓系数 (↑)ESC-50 纯度 (↑)
WavTokenizer-0.0300.450-0.1080.215
GLM-4-Voice-Tokenizer-0.1820.373-0.3040.133
CosyVoice2-0.0160.413-0.1000.216
StableToken-0.0350.468-0.0960.174
Ours0.0910.7300.0230.390

高质量语音重建

Universal Audio Tokenizer 采用紧凑的单码本设计实现高质量语音重建,与现有监督语义 tokenizer 相比,显著降低了词错误率(WER)并提高了平均意见得分(MOS)。

模型帧率
Rate
BPSWER (↓)
LS-clean
WER (↓)
LS-other
WER (↓)
SEED-en
WER (↓)
SEED-zh
MOS (↑)
LS-clean
MOS (↑)
LS-other
MOS (↑)
SEED-en
MOS (↑)
SEED-zh
WavTokenizer75Hz9005.0713.095.604.023.373.093.013.13
GLM-4-Voice-Tokenizer12.5Hz1754.049.333.543.234.073.994.164.10
CosyVoice225Hz3254.259.684.342.753.363.253.313.58
StableToken25Hz3253.847.993.442.624.093.834.014.18
Ours25Hz3253.476.792.551.904.194.184.134.25

卓越的下游音频大语言模型性能

当与Qwen2.5 LLM主干集成时,我们的Universal Audio Tokenizer在各种下游音频理解基准测试和可控文本转语音(TTS)合成任务上均展现出卓越性能,证明了其作为音频大语言模型(Audio-LLMs)统一音频输入/输出接口的有效性。

音频理解

音频理解基准测试的准确率:

TokenizerMMAU
(语音)
MMAU
(声音)
MMAU
(音乐)
MMAU
(总体)
MMAR
(语音)
MMAR
(声音)
MMAR
(音乐)
MMAR
(总体)
MMSU
(感知)
MMSU
(推理)
MMSU
(总体)
WavTokenizer36.9460.3657.7851.7039.8031.5229.6136.3032.8345.3738.90
CosyVoice239.9461.5662.5754.7041.5035.7630.5838.1027.4445.8336.34
GLM-4-Voice-Tokenizer43.2460.0662.2855.2039.4640.0036.8940.1032.4047.6439.78
StableToken45.0558.5655.9953.2042.1839.3931.0739.1031.9849.7140.56
Ours45.0570.2767.9661.10 (+5.90)45.2443.6440.2945.80 (+5.70)35.5452.0743.54 (+2.98)

可控文本转语音合成

在SEED-TTS上的结果,通过说话人相似度(SIM)、词错误率(WER)和平均意见得分(MOS)进行衡量。

TokenizerSIM (↑)WER (↓)MOS (↑)
CosyVoice2.758 | .762 | .7602.71 | 1.39 | 2.053.75 | 3.37 | 3.56
Ours.792 | .742 | .7671.78 | 1.29 | 1.544.07 | 3.68 | 3.88

引用

如果您发现我们的代码或模型对您的研究有帮助,请引用:

@misc{song2026uniaudiotokenempoweringsemanticspeech,
      title={UniAudio-Token: Empowering Semantic Speech Tokenizers with General Audio Perception}, 
      author={Yuhan Song and Linhao Zhang and Aiwei Liu and Chuhan Wu and Sijun Zhang and Wei Jia and Yuan Liu and Houfeng Wang and Xiao Zhou},
      year={2026},
      eprint={2605.31521},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2605.31521}, 
}

许可协议

本项目根据 Universal_Audio_Tokenizer 的许可条款 进行许可。