Views
No views yet

uv pip install transformers torch torchaudio einops1import torch
2import torchaudio
3from transformers import AutoModel
4
5# Load the model
6model = AutoModel.from_pretrained("mispeech/dashengtokenizer", trust_remote_code=True)
7model.eval()
8
9# Load audio file (only 16kHz supported!)
10audio, sr = torchaudio.load("path/to/audio.wav")
11
12# Optional: Create attention mask for variable-length inputs
13# attention_mask = torch.ones(audio.shape[0], audio.shape[1]) # All ones for full audio
14# attention_mask[0, 8000:] = 0 # Example: mask second half of first sample
15
16# Method 1: End-to-end processing (encode + decode)
17with torch.no_grad(), torch.autocast(device_type='cuda'):
18 outputs = model(audio) # Optionally pass attention_mask=attention_mask
19 reconstructed_audio = outputs["audio"]
20 embeddings = outputs['embeddings']
21
22# Method 2: Separate encoding and decoding
23with torch.no_grad(), torch.autocast(device_type='cuda'):
24 # Encode audio to embeddings
25 embeddings = model.encode(audio) # Optionally pass attention_mask=attention_mask
26
27 # Decode embeddings back to audio
28 reconstructed_audio = model.decode(embeddings)
29
30# Save reconstructed audio
31torchaudio.save("reconstructed_audio.wav", reconstructed_audio, sr)1embeddings = model.encode(audio)
2reconstructed = model.decode(embeddings)1# Extract rich audio features for downstream tasks
2features = model.encode(audio)
3# Use features for classification, clustering, etc.

1@misc{dinkel_dashengtokenizer_2026,
2 title={DashengTokenizer: One layer is enough for unified audio understanding and generation},
3 author={MiLM Plus, Xiaomi},
4 year={2026},
5 url={https://huggingface.co/mispeech/dashengtokenizer}
6}