⏶7
TaDiCodec:文本感知的扩散语音分词器用于语音语言建模
发表
由
Yuancheng Wang 提交
作者:
Yuancheng Wang, Dekun Chen, Xueyao Zhang, Junan Zhang, Jiaqi Li, Zhizheng Wu
摘要
语音分词器是语音语言模型的基础组成部分,但目前的设计存在几个局限性,包括:1)依赖多层残差向量量化结构或高帧率;2)依赖辅助预训练模型进行语义蒸馏;3)需要复杂的两阶段训练过程。在这项工作中,我们介绍了文本感知扩散变换器语音编解码器(TaDiCodec),这是一种旨在克服这些挑战的新颖方法。TaDiCodec 通过扩散自编码器实现量化和重建的端到端优化,同时将文本引导集成到扩散解码器中,以提高重建质量并实现最佳压缩。TaDiCodec 在 24 kHz 语音上实现了极低的 6.25 Hz 帧率和相应的 0.0875 kbps 比特率,同时在关键语音生成评估指标(如词错误率(WER)、说话人相似度(SIM)和语音质量(UTMOS))上保持卓越性能。值得注意的是,TaDiCodec 采用单阶段、端到端的训练范式,无需辅助预训练模型。我们还验证了 TaDiCodec 在基于语言模型的零样本文本到语音方面的兼容性,支持自回归建模和掩码生成建模,证明了其在语音语言模型方面的有效性和效率,以及非常小的重建-生成差距。我们将开源我们的代码和模型检查点。音频样本可在 https:/tadicodec.github.io/ 获取。我们在 https:/github.com/HeCheng0625/Diffusion-Speech-Tokenizer 发布代码和模型检查点。
我们介绍了 Text-aware Diffusion Transformer Speech Codec (TaDiCodec),这是一种新颖的语音令牌化方法,通过扩散自编码器实现量化和重构的端到端优化,同时将文本引导集成到扩散解码器中,以提高重构质量并实现最佳压缩。TaDiCodec 在24 kHz 语音下达到了6.25 Hz 的极低帧率和相应的0.0875 kbps 比特率,同时在关键语音生成评估指标上保持了卓越的性能,如词错误率 (WER)、说话人相似度 (SIM) 和语音质量 (UTMOS)。
```python
from models.tts.tadicodec.inference_tadicodec import TaDiCodecPipline
from models.tts.llmtts.inferencellm_tts import TTSInferencePipeline
from models.tts.llmtts.inferencemgm_tts import MGMInferencePipeline
tokenizer = TaDiCodecPipline.from_pretrained("amphion/TaDiCodec")
ttsmodel = TTSInferencePipeline.frompretrained("amphion/TaDiCodec-TTS-AR-Qwen2.5-3B")
ttsmodel = MGMInferencePipeline.frompretrained("amphion/TaDiCodec-TTS-MGM")
```
```bash
git clone https://github.com/HeCheng0625/Diffusion-Speech-Tokenizer.git
cd Diffusion-Speech-Tokenizer
bash env.sh
```
请参阅 use_examples 文件夹以获取更详细的使用示例。
```python
import torch
import soundfile as sf
from models.tts.tadicodec.inference_tadicodec import TaDiCodecPipline
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
pipe = TaDiCodecPipline.frompretrained(ckptdir="./ckpt/TaDiCodec", device=device)
prompt_text = "In short, we embarked on a mission to make America great again, for all Americans."
target_text = "But to those who knew her well, it was a symbol of her unwavering determination and spirit."
promptspeechpath = "./useexamples/testaudio/trump_0.wav"
speechpath = "./useexamples/testaudio/trump1.wav"
rec_audio = pipe(
)
sf.write("./useexamples/testaudio/trumprec.wav", recaudio, 24000)
```
```python
import torch
import soundfile as sf
from models.tts.llmtts.inferencellm_tts import TTSInferencePipeline
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
pipeline = TTSInferencePipeline.from_pretrained(
)
audio = pipeline(
)
sf.write("./useexamples/testaudio/lmttsoutput.wav", audio, 24000)
```
如果您觉得这个仓库有用,请引用我们的论文:
TaDiCodec:
```bibtex
@article{tadicodec2025,
title={TaDiCodec: Text-aware Diffusion Speech Tokenizer for Speech Language Modeling},
author={Yuancheng Wang, Dekun Chen, Xueyao Zhang, Junan Zhang, Jiaqi Li, Zhizheng Wu},
journal={arXiv preprint},
year={2025},
url={https://arxiv.org/abs/2508.16790}
}
```
Amphion:
```bibtex
@inproceedings{amphion,
}
```
MaskGCT:
```bibtex
@inproceedings{wang2024maskgct,
author={Wang, Yuancheng and Zhan, Haoyue and Liu, Liwei and Zeng, Ruihong and Guo, Haotian and Zheng, Jiachen and Zhang, Qiang and Zhang, Xueyao and Zhang, Shunsi and Wu, Zhizheng},
title={MaskGCT: Zero-Shot Text-to-Speech with Masked Generative Codec Transformer},
booktitle = {{ICLR}},
publisher = {OpenReview.net},
year = {2025}
}
```
MGM-based TTS 基于 MaskGCT 构建。
Vocos vocoder 基于 Vocos 构建。
NAR Llama-style transformers 基于 transformers 构建。
(Binary Spherical Quantization) BSQ 基于 vector-quantize-pytorch 和 bsq-vit 构建。
训练代码库 基于 Amphion 和 accelerate 构建。