Open research toward end-to-end spoken dialogue systems. Ships SoviaMate-Codec — a neural audio codec for LLM integration with ASR-constrained encoding, enhancement training, and zero-shot speaker adaptation.
Python
1
142 commits
updated May 18, 2026
An open research effort toward end-to-end spoken dialogue systems — starting with the audio codec foundation.
SoviaMate is a long-term research project aiming to build an end-to-end spoken dialogue system (SDS): a single model that listens, reasons, and speaks naturally, with controllable voice, robust to real-world noise, and integrable with large language models.
The first released component is SoviaMate-Codec, a neural audio codec designed from the ground up for LLM integration. Future releases will add a speech-to-speech LLM, dialogue management, and full-pipeline streaming.
⚠️ Current scope: SoviaMate is in active research. Today we ship the codec architecture, the training pipeline, and pretrained codec checkpoints (alpha). The full dialogue system is the goal, not the current deliverable. We are looking for collaborators and compute — see Collaborate.
Existing neural audio codecs (EnCodec, SoundStream, DAC) optimize for perceptual quality but lack the properties needed to drive a downstream speech LLM: measurable semantic preservation, noise robustness by design, and content–speaker decoupling. SoviaMate-Codec is built around four architectural choices that target exactly those properties.
Audio Input
│
▼
Encoder ──► [Continuous Features] ────┐
│ │ │
│ └──► ASR Decoder └──► LLM Input (continuous)
│ (text output)
▼
Quantizer ──► [Discrete Tokens] ──► Bitstream (transmission)
│
▼
Speaker Adapter ◄── Speaker Prompt (3–5 s)
│
▼
Audio Decoder ──► Clean Speech
A more detailed architecture write-up will accompany the forthcoming technical report.
| Component | Status |
|---|---|
| Codec architecture (encoder / quantizer / decoder / ASR head / speaker adapter) | ✅ Implemented |
| Multi-objective training pipeline (audio + adversarial + text losses) | ✅ Implemented |
| Speech enhancement training (noisy → clean) | ✅ Implemented |
| Streaming inference | ✅ Implemented (not yet benchmarked end-to-end) |
| Pretrained checkpoint release | ✅ Released (alpha) — samson-ailabs/SoviaMate-Codec |
| Benchmarking against EnCodec / SoundStream / DAC | 🔄 In progress |
| Technical report / paper | 🔄 In progress |
| LLM integration adapters | ⏳ Planned |
| End-to-end spoken dialogue system | ⏳ Long-term goal |
Honest disclaimer: this is alpha research code. APIs will change, results are preliminary, and many evaluation numbers are not in yet.
git clone https://github.com/samson-ailabs/SoviaMate.git
cd SoviaMate
uv sync --frozen
Pretrained codec weights are published on Hugging Face at samson-ailabs/SoviaMate-Codec — see the model card for download recipes and the full usage API.
Once weights are in checkpoints/, the bundle is a one-liner:
from soviamate.bundles import AudioCodecBundle
# Reconstruction (encode → decode)
reconstructor = AudioCodecBundle.from_checkpoint(
"checkpoints/neural_audio_codec/audio_codec_base.ckpt",
device="cuda", # or "cpu"
)
reconstructed, _ = reconstructor(source_audio)
# Voice conversion — always with a speaker prompt
voice_converter = AudioCodecBundle.from_checkpoint(
"checkpoints/neural_audio_codec/audio_codec_spk.ckpt",
device="cuda",
)
converted, _ = voice_converter(source_audio, prompt_audios=target_speaker_audio)
The example training config is configs/training/audio_codec.yaml. Required fields are marked ??? and must be supplied:
uv run python train.py --config-name audio_codec \
task.data.trainset.filepaths=/path/to/trainset.jsonl \
task.data.valset.filepaths=/path/to/valset.jsonl \
task.model.speaker_adapter.sv_checkpoint=/path/to/campplus.bin \
loggers.tb.name=my_run \
trainer.devices=1
You can also copy the file and edit it directly, or compose your own config on top of it via Hydra.
uv run python scripts/eval_audio_codec.py --help
The repository will evolve in three releases:
Building a credible end-to-end spoken dialogue system from scratch needs more than code — it needs compute, datasets, and people. We are actively looking for:
If any of that fits you or your organization, please reach out: samson.ailabs@gmail.com with subject line SoviaMate collaboration. For code-level discussion, open a GitHub issue or discussion.
Code contributions are welcome — see CONTRIBUTING.md for setup, coding style, and a list of good first contributions. By participating you agree to the Code of Conduct.
A technical report is in preparation. In the meantime, please cite the repository:
@misc{soviamate2026,
author = {Son Dang Dinh (Samson)},
title = {SoviaMate: Toward End-to-End Spoken Dialogue Systems},
year = {2026},
howpublished = {\url{https://github.com/samson-ailabs/SoviaMate}},
}
A CITATION.cff is provided for GitHub's "Cite this repository" button.
SoviaMate is released under the Apache License 2.0. It is intended for open research and beneficial applications of conversational AI.
The architecture supports zero-shot voice cloning. It must not be used for impersonation, fraud, non-consensual voice synthesis, or any deceptive or harmful purpose. Outputs may contain biases or inaccuracies inherited from training data; the authors accept no liability for downstream use. By using SoviaMate you agree to these terms and to applicable law in your jurisdiction.
SoviaMate builds on a large body of public research in neural codecs, self-supervised speech models, ASR/TTS, and speech LLMs. The forthcoming technical report will include a full bibliography. Thanks to the open-source PyTorch, Lightning, Hydra, SentencePiece, and HuggingFace communities — this project would not be possible without them.
142 commits
Python
100.0%
Open research toward end-to-end spoken dialogue systems. Ships SoviaMate-Codec — a neural audio codec for LLM integration with ASR-constrained encoding, enhancement training, and zero-shot speaker adaptation.
Python
1
142 commits
updated May 18, 2026
An open research effort toward end-to-end spoken dialogue systems — starting with the audio codec foundation.
SoviaMate is a long-term research project aiming to build an end-to-end spoken dialogue system (SDS): a single model that listens, reasons, and speaks naturally, with controllable voice, robust to real-world noise, and integrable with large language models.
The first released component is SoviaMate-Codec, a neural audio codec designed from the ground up for LLM integration. Future releases will add a speech-to-speech LLM, dialogue management, and full-pipeline streaming.
⚠️ Current scope: SoviaMate is in active research. Today we ship the codec architecture, the training pipeline, and pretrained codec checkpoints (alpha). The full dialogue system is the goal, not the current deliverable. We are looking for collaborators and compute — see Collaborate.
Existing neural audio codecs (EnCodec, SoundStream, DAC) optimize for perceptual quality but lack the properties needed to drive a downstream speech LLM: measurable semantic preservation, noise robustness by design, and content–speaker decoupling. SoviaMate-Codec is built around four architectural choices that target exactly those properties.
Audio Input
│
▼
Encoder ──► [Continuous Features] ────┐
│ │ │
│ └──► ASR Decoder └──► LLM Input (continuous)
│ (text output)
▼
Quantizer ──► [Discrete Tokens] ──► Bitstream (transmission)
│
▼
Speaker Adapter ◄── Speaker Prompt (3–5 s)
│
▼
Audio Decoder ──► Clean Speech
A more detailed architecture write-up will accompany the forthcoming technical report.
| Component | Status |
|---|---|
| Codec architecture (encoder / quantizer / decoder / ASR head / speaker adapter) | ✅ Implemented |
| Multi-objective training pipeline (audio + adversarial + text losses) | ✅ Implemented |
| Speech enhancement training (noisy → clean) | ✅ Implemented |
| Streaming inference | ✅ Implemented (not yet benchmarked end-to-end) |
| Pretrained checkpoint release | ✅ Released (alpha) — samson-ailabs/SoviaMate-Codec |
| Benchmarking against EnCodec / SoundStream / DAC | 🔄 In progress |
| Technical report / paper | 🔄 In progress |
| LLM integration adapters | ⏳ Planned |
| End-to-end spoken dialogue system | ⏳ Long-term goal |
Honest disclaimer: this is alpha research code. APIs will change, results are preliminary, and many evaluation numbers are not in yet.
git clone https://github.com/samson-ailabs/SoviaMate.git
cd SoviaMate
uv sync --frozen
Pretrained codec weights are published on Hugging Face at samson-ailabs/SoviaMate-Codec — see the model card for download recipes and the full usage API.
Once weights are in checkpoints/, the bundle is a one-liner:
from soviamate.bundles import AudioCodecBundle
# Reconstruction (encode → decode)
reconstructor = AudioCodecBundle.from_checkpoint(
"checkpoints/neural_audio_codec/audio_codec_base.ckpt",
device="cuda", # or "cpu"
)
reconstructed, _ = reconstructor(source_audio)
# Voice conversion — always with a speaker prompt
voice_converter = AudioCodecBundle.from_checkpoint(
"checkpoints/neural_audio_codec/audio_codec_spk.ckpt",
device="cuda",
)
converted, _ = voice_converter(source_audio, prompt_audios=target_speaker_audio)
The example training config is configs/training/audio_codec.yaml. Required fields are marked ??? and must be supplied:
uv run python train.py --config-name audio_codec \
task.data.trainset.filepaths=/path/to/trainset.jsonl \
task.data.valset.filepaths=/path/to/valset.jsonl \
task.model.speaker_adapter.sv_checkpoint=/path/to/campplus.bin \
loggers.tb.name=my_run \
trainer.devices=1
You can also copy the file and edit it directly, or compose your own config on top of it via Hydra.
uv run python scripts/eval_audio_codec.py --help
The repository will evolve in three releases:
Building a credible end-to-end spoken dialogue system from scratch needs more than code — it needs compute, datasets, and people. We are actively looking for:
If any of that fits you or your organization, please reach out: samson.ailabs@gmail.com with subject line SoviaMate collaboration. For code-level discussion, open a GitHub issue or discussion.
Code contributions are welcome — see CONTRIBUTING.md for setup, coding style, and a list of good first contributions. By participating you agree to the Code of Conduct.
A technical report is in preparation. In the meantime, please cite the repository:
@misc{soviamate2026,
author = {Son Dang Dinh (Samson)},
title = {SoviaMate: Toward End-to-End Spoken Dialogue Systems},
year = {2026},
howpublished = {\url{https://github.com/samson-ailabs/SoviaMate}},
}
A CITATION.cff is provided for GitHub's "Cite this repository" button.
SoviaMate is released under the Apache License 2.0. It is intended for open research and beneficial applications of conversational AI.
The architecture supports zero-shot voice cloning. It must not be used for impersonation, fraud, non-consensual voice synthesis, or any deceptive or harmful purpose. Outputs may contain biases or inaccuracies inherited from training data; the authors accept no liability for downstream use. By using SoviaMate you agree to these terms and to applicable law in your jurisdiction.
SoviaMate builds on a large body of public research in neural codecs, self-supervised speech models, ASR/TTS, and speech LLMs. The forthcoming technical report will include a full bibliography. Thanks to the open-source PyTorch, Lightning, Hydra, SentencePiece, and HuggingFace communities — this project would not be possible without them.
142 commits
Python
100.0%