--- license: apache-2.0 language: [en, ja, de, es, fr, zh] pipeline_tag: audio-to-audio tags: [speech-separation, dialogue, speaker-separation, w2v-bert, triton, tensorrt] --- # FastDialogueSidon Weights for **FastDialogueSidon**, a fast one-step model for full-duplex two-speaker dialogue separation and joint restoration: up to 120 s of 16 kHz mono dialogue in, two separated 24 kHz speaker tracks out. It combines a **one-step DiT head** (a single DiT step per window instead of the 30 diffusion steps of [DialogueSidon](https://arxiv.org/abs/2604.09344)) with a **lightweight decoder** (a frame-rate SAN-WaveNeXt2 (WaveFitNeXt) latent decoder, 30 M parameters, in place of DialogueSidon's DAC decoder). Every module — encoder, DiT head and decoder — is trained for FastDialogueSidon. Inference code with a Triton backend (no engine build) and a TensorRT backend lives in [higurashi-ai/FastDialogueSidon](https://github.com/higurashi-ai/FastDialogueSidon). ![FastDialogueSidon architecture](assets/architecture.png) ## Model | file | params | what | |---|---|---| | `encoder/model.safetensors` | 314.6 M | 13-layer w2v-BERT 2.0-architecture encoder with `relative_key` attention, + 2 speaker latent heads | | `diffusion_head/model.safetensors` | 88.7 M | one-step DiT head (8 layers, hidden 768) | | `vocoder/model.safetensors` | 30.1 M | lightweight SAN-WaveNeXt2 (WaveFitNeXt) latent decoder (2 iterations, frame-rate ConvNeXt blocks) | | `stats.safetensors` | — | per-channel latent normalization mean / std | | `config.json`, `*/config.json` | — | module hyper-parameters and the one-step update constants | All weights are fp32 safetensors (≈ 1.73 GB in total). ## Usage ```bash git clone https://github.com/higurashi-ai/FastDialogueSidon && cd FastDialogueSidon hf download higurashi-ai/FastDialogueSidon --local-dir weights/ cd triton && pip install -e . python scripts/run.py --bundle ../weights --wav dialogue.wav --output-dir out/ # any length <= 120 s ``` ```python from fds_triton.runtime import TritonPipeline, load_waveform pipe = TritonPipeline("weights/") audio = pipe.separate(load_waveform("dialogue.wav")) # [2, samples] @ 24 kHz ``` The TensorRT backend (`trt/` in the code repository) builds its engines from the same weights: `python scripts/build_engines.py --bundle ../weights --engine-dir artifacts/$(hostname)-trt10 --onnx-dir /tmp/fds-onnx`. ## Performance ### Speed Per-window wall clock on H100 (batch 1) against the original [DialogueSidon](https://arxiv.org/abs/2604.09344) — official release run as-is (fp32 PyTorch, DPM-Solver++ 30 steps + DAC) — on the benchmark inputs below: | | DialogueSidon | FastDialogueSidon (Triton fp16) | speed-up | |---|---|---|---| | OpenDialog, 30 s windows | 0.53 s (RTF 0.0178) | 6.2 ms (RTF 2.07e-4) | **86x** | | CallFriend, 120 s windows | 2.67 s (RTF 0.0222) | 24.8 ms (RTF 2.07e-4) | **107x** | ### Benchmark Protocol of the DialogueSidon paper (Sec. 4.1) with these deviations: CallFriend sessions cropped to 120 s (the paper uses 20 s), OpenDialog uses 100 English sessions of exactly 30 s, and intelligibility is scored with Qwen3-ASR-1.7B instead of Whisper large-v3. Both systems run on the same inputs. Neither CallFriend nor OpenDialog is used for training; both serve only as test sets. **OpenDialog** (English, 100 × 30 s) | | WER (%) ↓ | DNSMOS ↑ | NISQA ↑ | |---|---|---|---| | DialogueSidon | 13.21 | **3.327** | **3.757** | | FastDialogueSidon (Triton fp16) | **10.80** | 3.303 | 3.491 | **CallFriend** (5 languages × 20 × 120 s) | p-CER (%) ↓ | de | es | fr | ja | zh | all | |---|---|---|---|---|---|---| | DialogueSidon | 11.56 | **15.39** | **21.02** | 16.36 | 20.93 | 16.54 | | FastDialogueSidon (Triton fp16) | **11.47** | 16.89 | 21.25 | **14.49** | **19.46** | **16.52** | | | DNSMOS ↑ | NISQA ↑ | speaker sim. ↑ | VAD acc. ↑ | |---|---|---|---|---| | DialogueSidon | 3.293 | **3.626** | 0.941 | **0.931** | | FastDialogueSidon (Triton fp16) | **3.294** | 3.395 | **0.943** | 0.929 | See the [code repository](https://github.com/higurashi-ai/FastDialogueSidon) for per-length latencies of both backends (Triton and TensorRT), where the speed-up comes from, and the numerical-accuracy comparison. ## License Apache License 2.0. ## Citation FastDialogueSidon technical report (Rikuto Kotoge): coming soon. ```bibtex @inproceedings{nakata2026dialoguesidon, title={DialogueSidon: Recovering Full-Duplex Dialogue Tracks from In-the-Wild Dialogue Audio}, author={Nakata, Wataru and Saito, Yuki and Yamauchi, Kazuki and Tsunoo, Emiru and Saruwatari, Hiroshi}, booktitle={Proceedings of the 27th Annual Meeting of the Special Interest Group on Discourse and Dialogue}, pages={1--12}, year={2026} } ```