xlians555's picture
Add streaming config and update model card
9e7be68 verified
|
Raw
History Blame Contribute Delete
2.9 kB
---
license: apache-2.0
pipeline_tag: text-to-speech
library_name: dots_tts
tags:
- text-to-speech
- tts
- audio
- speech-synthesis
- voice-cloning
- streaming-tts
- double-streaming
- autoregressive
- meanflow
- two-step
---
# dots.tts-mf-2steps-stts
<p align="left">
<a href="https://github.com/studio-dots-ai/dots.tts"><img src="https://img.shields.io/badge/GitHub-studio--dots--ai%2Fdots.tts-blue?logo=github" alt="GitHub"></a>
<a href="https://huggingface.co/spaces/dots-studio/dots.tts"><img src="https://img.shields.io/badge/Playground-Live-orange" alt="Playground"></a>
<a href="https://studio-dots-ai.github.io/dots.tts-demo/"><img src="https://img.shields.io/badge/Demo%20Page-Live-red" alt="Demo Page"></a>
</p>
This repository provides a standalone dots.tts artifact for **fixed two-step double-streaming TTS inference**.
The sampling and streaming contracts are stored in `config.json` and selected automatically.
Sampling and streaming cadence options should be omitted.
## Quick start
```python
import torch
import soundfile as sf
from dots_tts.runtime_double_streaming import DotsTtsRuntimeDoubleStreaming
runtime = DotsTtsRuntimeDoubleStreaming.from_pretrained(
"dots-studio/dots.tts-mf-2steps-stts",
precision="bfloat16",
optimize=True,
max_generate_length=500,
)
text = "Hello from two-step double streaming."
text_token_ids = runtime.model.tokenizer.encode(text, add_special_tokens=False)
session = runtime.start_double_streaming(
prompt_audio_path="/path/to/reference.wav",
prompt_text="The exact transcript spoken in the reference audio.",
)
chunks = []
for token_id in text_token_ids:
chunk = session.push_text_token(token_id)
if chunk is not None:
chunks.append(chunk.detach().cpu())
for chunk in session.finish_text():
chunks.append(chunk.detach().cpu())
audio = torch.cat(chunks, dim=-1).float().squeeze().numpy()
sf.write("double_streaming.wav", audio, runtime.sample_rate)
```
For a complete command-line example, see
[`scripts/example_double_streaming.py`](https://github.com/studio-dots-ai/dots.tts/blob/main/scripts/example_double_streaming.py).
Passing incompatible sampling values raises an error. Streaming cadence is selected from the artifact configuration.
## Scope and limitations
This model is intended for fixed two-step double-streaming inference. Other sampling or streaming settings are not claimed.
High-fidelity voice cloning must be used only with authorization and consent; do not use it
for impersonation, fraud, or disinformation.
---
## Citation
```bibtex
@article{dotstts2026,
title = {dots.tts Technical Report},
author = {dots.tts Team},
year = {2026},
eprint = {2606.07080},
archivePrefix = {arXiv},
primaryClass = {cs.SD},
}
```
## License
Released under [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0).