Skip to content

findatalab/ml-asr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-Model Speech Enhancement Service

Описание проекта

Данный проект представляет собой высокотехнологичный сервис для очистки речи от шума. Система объединяет 9 современных архитектур нейронных сетей, позволяя сравнивать их эффективность в реальном времени. Пользователь может записать голос через браузер, наложить синтетический шум и мгновенно получить очищенный результат.

Структура проекта

ml-asr/
├── code/                   # Коды обучения моделей
├── data/ 
│   ├── raw/                # Хранилище необработанных данных
│   └── procesed/           # Хранилище обработанных данных
├── models/                 # Определения архитектур и веса (.pth)
├── static/
│   └── audio/              # Временное хранилище обработанных треков
├── templates/
│   └── index.html          # Веб-интерфейс (Frontend)
├── service/
│   └── app.py              # Flask-сервис и логика инференса
├── requirements.txt        # Список зависимостей
└── README.md               # Документация проекта

Поддерживаемые модели

Сервис включает в себя широкий спектр архитектур — от классических сверточных сетей до диффузионных подходов:

DCCRN — Сверточная рекуррентная сеть в комплексной области (Лучшая).

BSRNN — Band-Split RNN для детальной обработки частотных полос.

FRCRN — Частотно-рекуррентная CRN.

DeepFilterNet 2 — Сверхбыстрая модель на базе ERB-фильтров.

FullSubNet — Модель, сочетающая полнодиапазонную и субполосную информацию.

MetricGAN+ — Генеративно-состязательная сеть, оптимизированная под метрику PESQ.

PHASEN — Сеть с раздельной обработкой амплитуды и фазы.

DCUNET — Deep Complex U-Net для глубокой фильтрации.

SGMSE — Диффузионная модель на основе стохастических дифференциальных уравнений.

Технические характеристики

Частота дискретизации: 16 000 Гц.

Входные данные: Моно-аудио.

Типы шума для тестирования:

Babble: Многоголосый фоновый шум.

RIR: Реверберация и акустика помещения.

White Noise: Статический белый шум.

Метрики оценки: Модели обучались с использованием SI-SDR и Multi-Resolution STFT Loss.

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

  1. Подготовка окружения

Клонируйте репозиторий, создайте вирутальное окружение и установите необходимые библиотеки:

pip install -r requirements.txt
  1. Загрузка данных

curl -L "https://huggingface.co/datasets/fsicoli/common_voice_19_0/resolve/main/audio/ru/train/ru_train_0.tar" -o data/raw/ru_train_0.tar

  1. Обучение любой модели

запустите любой .ipynb файл модели из папки code

Убедитесь, что файлы весов (например, bsrnn_weights.pth, dccrn_weights.pth и т.д.) находятся в папке models/. 4. Запуск веб-сервиса

python service/app.py

Приложение будет доступно по адресу: http://127.0.0.1:5000

Использование

Выбор модели: В выпадающем списке выберите одну из 9 архитектур.

Выбор шума: Укажите тип помехи, которую нужно наложить на ваш голос.

Запись: Нажмите "Начать запись" и скажите фразу в микрофон.

Результат: После нажатия "Остановить", сервис вернет три аудиофайла для сравнения:

Clean: Исходная чистая запись.

Noisy: Запись с наложенным выбранным шумом.

Denoised: Результат работы нейросети.

Результаты и оценка

Эффективность моделей проверяется через Automatic Speech Recognition с использованием Whisper (large-v3). Основные показатели:

WER (Word Error Rate): Снижение частоты ошибок в тексте после денойзинга.

SI-SDR Improvement: Прирост отношения сигнала к искажениям в децибелах (дБ).

Лицензирование и контакты

Проект распространяется под лицензией MIT.

About

Разработка моделей машинного обучения детекции и фильтрации аудиосигналов для улучшения качества распознавания речи

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages