/ Модель

Характеристики

Лицензия
MIT
Архитектура
DriftSE · dense
Библиотека
pytorch
Опубликована
13 авг 2026

DriftSE

Обработка аудиоАудио → аудио3 профессии

DriftSE очищает зашумлённые речевые записи, преобразуя аудио в улучшенную речь за один шаг вывода.

119скачиваний за 30 дней1лайквеса обновлены9 окт 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

DriftSE — модель для улучшения речи, представленная Liang Xu и соавторами; работа описана на Interspeech 2026. Она преобразует зашумлённую речь в очищенную и предназначена для подавления шума в аудиозаписях, в том числе при обработке реальных записей с переносом на данные вне обучающего набора. Модель использует архитектуру NCSN++V2 без временного эмбеддинга и обрабатывает комплексные STFT-спектрограммы аудио с частотой 16 кГц в моно. Один из вариантов выполняет преобразование за один шаг; доступны стохастическая условная генерация и детерминированное отображение.

Для обучения применяется семантическое латентное пространство самонаблюдаемого обучения речи с кодировщиками HuBERT, WavLM и DistilHuBERT; заявлена поддержка обучения на несопоставленных наборах шумной и чистой речи. В README приведены результаты на VoiceBank-DEMAND и тестовом наборе DNS Challenge 2020. Репозиторий содержит предварительно обученные контрольные точки. Лицензия — MIT.

Сценарии применения

  • подавление фонового шума в речевых записях
  • очистка аудио для последующей транскрибации
  • улучшение качества телефонных и голосовых записей
  • предобработка речи для голосовых приложений

Ограничения

В описании указана работа с монофоническим аудио частотой 16 кГц. Для инференса с готовыми контрольными точками SSL-кодировщики не требуются, но они нужны для обучения.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

DriftSE — Speech Enhancement Based on Drifting Models

arXiv github License: MIT Interspeech 2026

Speech Enhancement Based on Drifting Models (Interspeech 2026, Oral Presentation)

Liang Xu, Diego Caviedes-Nozal, W. Bastiaan Kleijn, Longfei Felix Yan, Rasmus Kongsgaard Olsson

🔗 Project Website  |  📄 arXiv Paper  |  💻 GitHub Code|  🤗 Hugging Face Space


✨ Key Highlights

  • Novel Generative Paradigm — Formulates speech enhancement as a distributional equilibrium problem, eliminating the need for iterative denoising or trajectory-based sampling.
  • Native One-Step Inference — Achieves single-step (1 NFE) enhancement by evolving the pushforward distribution of a mapping function to directly match the clean speech distribution via a Drifting Field.
  • Semantic Latent Drifting — Operates in a hierarchical self-supervised speech latent space (HuBERT, WavLM, DistilHuBERT), providing rich and stable training signals that capture both acoustic and phonetic structure.
  • Unpaired Learning — Natively supports training on fully unpaired noisy/clean speech data, enabling cross-dataset and cross-gender generalization without paired supervision.
  • State-of-the-Art Generalization — Achieves state-of-the-art WV-MOS and SCOREQ on the DNS Challenge 2020 blind test set, outperforming multi-step diffusion and consistency-based baselines.

📦 Repository Contents

This Hugging Face repository hosts pre-trained checkpoints and enhanced audio outputs for DriftSE.

LIANGXU123/DriftSE/
├── logs/                                          # Pre-trained model checkpoints
│   ├── distillhubert_three_layers_with_z/
│   │   └── last.ckpt                              # DriftSE (DistilHuBERT) — conditional generator
│   └── distillhubert_three_layers_pesq_sisdr_ccmse_with_z/
│       └── last.ckpt                              # DriftSE† (DistilHuBERT) — with auxiliary losses
└── out/                                           # Enhanced audio outputs
    ├── distillhubert_three_layers_with_z/          # Enhanced VB-DMD test set (DriftSE)
    └── distillhubert_three_layers_pesq_sisdr_ccmse_with_z/  # Enhanced VB-DMD test set (DriftSE†)

📊 Performance Benchmark

VoiceBank-DEMAND (VB-DMD) — In-Domain Evaluation

MethodNFEPESQ (↑)SI-SDR (↑)ESTOI (↑)DNSMOS (↑)SCOREQ (↑)
MetricGAN+13.138.500.833.223.82
UNIVERSE++82.9118.000.853.454.35
SGMSE+302.9016.900.853.483.98
ROSE-CD13.4917.800.873.494.23
SBCTM13.5612.700.873.554.35
MeanFlowSE12.8119.970.883.584.25
DriftSE (WavLM)13.0314.000.853.544.17
DriftSE (HuBERT)12.9412.500.843.494.14
DriftSE (DistilHuBERT)13.0015.600.853.484.15
DriftSE† (DistilHuBERT)13.4520.600.873.494.11

† Jointly trained with auxiliary PESQ, SI-SDR, and CCMSE losses.

DNS Challenge 2020 Blind Test Set — Real-World Generalization

MethodNFEWV-MOS (↑)SCOREQ (↑)SIG (↑)BAK (↑)OVRL (↑)
MetricGAN+11.232.083.283.452.70
UNIVERSE++81.992.273.453.522.93
SGMSE+302.342.954.123.943.62
ROSE-CD12.372.814.013.803.42
SBCTM12.242.783.833.883.33
MeanFlowSE12.202.793.883.513.21
DriftSE (WavLM)12.622.673.853.943.42
DriftSE (HuBERT)12.562.743.923.793.40
DriftSE (DistilHuBERT)†12.652.973.783.843.31

🚀 Quick Start

1. Install Dependencies

git clone https://github.com/liangxu123/driftse.git
cd driftse
pip install -r requirements.txt

2. Download Checkpoint

from huggingface_hub import hf_hub_download

# DriftSE (DistilHuBERT) — conditional generator
ckpt_path = hf_hub_download(
    "LIANGXU123/DriftSE",
    "logs/distillhubert_three_layers_with_z/last.ckpt"
)

# DriftSE† (DistilHuBERT) — with auxiliary PESQ/SI-SDR/CCMSE losses
ckpt_path_aux = hf_hub_download(
    "LIANGXU123/DriftSE",
    "logs/distillhubert_three_layers_pesq_sisdr_ccmse_with_z/last.ckpt"
)

Or via CLI:

# Download the full repository
huggingface-cli download LIANGXU123/DriftSE --local-dir ./DriftSE_hf

3. Run Enhancement

bash ./test.sh <GPU_ID> [CONFIG_PATH]

# Example: default config (DistilHuBERT, conditional generator)
bash ./test.sh 0

# Example: specific config
bash ./test.sh 0 ./config/with_z/v2_drift2_distillhubert_three_layers.json

The evaluation pipeline runs two phases:

  1. Enhancement — generates enhanced audio via enhancement.py
  2. Objective Metrics — computes PESQ, ESTOI, SI-SDR via calc_metrics.py

🏗️ Model Architecture

ComponentDetails
BackboneNCSN++V2 (without time embedding)
InputComplex STFT spectrogram (510-pt Hann window, hop 128)
Audio16 kHz mono
SSL EncoderFrozen DistilHuBERT / HuBERT-Large / WavLM-Large
Drifting KernelMulti-temperature exponential kernel (τ ∈ {0.1, 0.5, 1.0})
InferenceSingle-step (1 NFE) — no iterative denoising
OptimizerSOAP / AdamW, lr = 5×10⁻⁴, weight decay = 0.01
Training100 epochs, batch size 14 × 4 gradient accumulation

Two Formulations

  • Conditional Generator (with_z/) — Stochastic mapping f_θ(ε, y) from Gaussian noise conditioned on noisy speech, optimized for perceptual quality (DNSMOS, SCOREQ).
  • Direct Mapping (no_z/) — Deterministic mapping f_θ(y) from noisy to clean speech, with σ=0 for highest PESQ/SI-SDR fidelity.

🤗 SSL Encoder Checkpoints

DriftSE requires frozen self-supervised speech encoders to compute the latent drifting field during training. These are not needed for inference with the pre-trained checkpoints above.

Download: Google Drive — latent_ckpt/

latent_ckpt/
├── wavlm-large-local/       # WavLM-Large (1024-d, 24 layers)
├── hubert-large-local/      # HuBERT-Large (1024-d, 24 layers)
└── distilhubert-local/      # DistilHuBERT (768-d, 2 layers)

🔧 Training

To train DriftSE from scratch:

bash ./train.sh <GPU_ID> [CONFIG_PATH]

# Example: default DistilHuBERT config
bash ./train.sh 0

# Example: with auxiliary losses (PESQ + SI-SDR + CCMSE)
bash ./train.sh 0 ./config/with_z/v2_drift2_distillhubert_three_layers_pesq_sisdr_ccmse.json

Training uses dynamic mixing: 10,802 clean VoiceBank utterances are mixed on-the-fly with 18 DEMAND noise types at SNRs sampled from {0, 5, 10, 15} dB.


📝 Citation

If you find DriftSE useful in your research, please cite:

@inproceedings{xu26d_interspeech,
  title     = {{Speech Enhancement Based on Drifting Models}},
  author    = {Liang Xu and Diego Caviedes-Nozal and W. Bastiaan Kleijn and Longfei Felix Yan and Rasmus Kongsgaard Olsson},
  year      = {2026},
  booktitle = {{Interspeech 2026}},
  pages     = {1369--1374},
  doi       = {10.21437/Interspeech.2026-833},
  issn      = {2958-1796},
}
@article{xu2026driftse,
  author  = {Xu, Liang and Caviedes-Nozal, Diego and Kleijn, W. Bastiaan and Yan, Longfei Felix and Olsson, Rasmus Kongsgaard},
  title   = {{DriftSE: Speech Enhancement with Generative Drifting}},
  journal = {arXiv preprint arXiv:2609.12252},
  year    = {2026},
  doi     = {10.48550/arXiv.2609.12252}
}

📄 License

This project is licensed under the MIT License.


🙏 Acknowledgments

We thank the authors of SGMSE+ and Drifting Models for the foundational work that inspired this codebase.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · pytorch

Нельзя запустить

Обработка «аудио → аудио» пока не поддерживается.

Ревизия весов
c668151

0 моделей