CoolFace
Modelpublic

tencent/StableToken

sourceHugging Faceotherupdated 7mo agoView on Hugging Face
10likes
Model Card

StableToken: A Noise-Robust Semantic Speech Tokenizer for Resilient SpeechLLMs (ICLR 2026)

StableToken is a noise-robust semantic speech tokenizer that performs discrete speech representation learning, achieving state-of-the-art stability in noisy environments.

๐Ÿ“„ Paper | ๐Ÿ’ป GitHub

For code and more detailed information, please refer to the corresponding GitHub repository.

Model Details

AttributeValue
Frame Rate25 Hz
Codebook Size8,192
BPS (Bits Per Second)325

Quick Start

To use StableToken, please clone the official repository and install dependencies.

Installation

bash
git clone --recursive https://github.com/Tencent/StableToken.git
cd StableToken && pip install -r requirements.txt

Inference

python
import os
from huggingface_hub import snapshot_download
from transformers import WhisperFeatureExtractor
from src.model.modeling_whisper import WhisperLFQEncoder
from src.utils.flow_inference import AudioDecoder
from src.utils.utils import extract_speech_token, speech_token_to_wav

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

# Load Tokenizer
tokenizer = WhisperLFQEncoder.from_pretrained(os.path.join(model_dir, "tokenizer")).eval().cuda()
feature_extractor = WhisperFeatureExtractor.from_pretrained(os.path.join(model_dir, "tokenizer"))

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

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

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

Performance

StableToken achieves 60% lower UED (Unit Edit Distance) than best existing supervised semantic tokenizers.

Noise Robustness (UED โ†“)

ModelFrame RateCodebook SizeUED (%, โ†“)
GLM-4-Voice-Tokenizer12.5Hz16,38431.10
S3 Tokenizer25Hz4,09626.17
CosyVoice225Hz6,56138.66
StableToken25Hz8,19210.17 ๐Ÿ†

Reconstruction Quality

Measurements on LibriSpeech (LS) and SEED benchmarks.

ModelFrame<br>RateBPSWER (โ†“)<br>LS-cleanWER (โ†“)<br>LS-otherWER (โ†“)<br>SEED-enWER (โ†“)<br>SEED-zhMOS (โ†‘)<br>LS-cleanMOS (โ†‘)<br>LS-otherMOS (โ†‘)<br>SEED-enMOS (โ†‘)<br>SEED-zh
GLM-4-Voice-Tokenizer12.5Hz1754.049.333.543.234.073.994.164.10
S3 Tokenizer25Hz3005.7813.385.914.263.403.313.403.31
CosyVoice225Hz3254.259.684.342.753.363.253.313.58
StableToken25Hz3253.847.993.442.624.093.834.014.18

Citation

bibtex
@article{song2025stabletoken,
  title={StableToken: A Noise-Robust Semantic Speech Tokenizer for Resilient SpeechLLMs},
  author={Song, Yuhan and Zhang, Linhao and Wu, Chuhan and Liu, Aiwei and Jia, Wei and Wang, Houfeng and Zhou, Xiao},
  journal={arXiv preprint arXiv:2509.22220},
  year={2025}
}

License

This project is licensed under the License Term of StableToken.