Руководство по интеграции DeepFilterNet в Miscord
🎯 Обзор
DeepFilterNet успешно интегрирован в ваше Electron приложение Miscord как продвинутый движок шумоподавления. Теперь у вас есть три варианта шумоподавления на выбор:- Браузерные фильтры - базовое качество, минимальная нагрузка
- RNNoise - хорошее качество, средняя нагрузка
- DeepFilterNet - отличное качество, высокая нагрузка (НОВОЕ!)
📦 Что было сделано
1. Установлены зависимости
2. Созданы файлы
Сервисы:
frontend/src/services/deepFilterNetProcessor.ts- основной процессор DeepFilterNet- Обновлен
frontend/src/services/audioProcessingService.ts- интеграция с существующей системой
UI компоненты:
frontend/src/components/NoiseSuppressionSettings.tsx- настройки выбора движкаfrontend/src/components/ui/card.tsx- UI компонент карточкиfrontend/src/components/ui/alert.tsx- UI компонент уведомлений
Документация:
frontend/DEEPFILTERNET_INTEGRATION.md- техническая документацияDEEPFILTERNET_GUIDE_RU.md- это руководство
⚠️ ВАЖНО: Требуется модель ONNX
DeepFilterNet требует модель в формате ONNX для работы!Вариант 1: Использовать готовую модель (Рекомендуется)
-
Скачайте предобученную модель DeepFilterNet3 в формате ONNX:
- Официальный репозиторий: https://github.com/Rikorose/DeepFilterNet/releases
- Или конвертируйте из PyTorch (см. ниже)
-
Создайте директорию для моделей:
-
Поместите файл модели:
Вариант 2: Конвертировать модель из PyTorch
Если у вас есть Python окружение:Вариант 3: Упрощенная модель (для тестирования)
Для быстрого тестирования можно использовать упрощенную модель или заглушку, но качество будет ниже.🚀 Использование
В коде приложения
Проверка поддержки
📊 Сравнение движков
🔧 Настройка производительности
Оптимизация для слабых устройств
Оптимизация для мощных устройств
🐛 Решение проблем
Модель не загружается
Ошибка:Failed to load model
Решение:
- Проверьте, что файл модели существует:
frontend/public/models/deepfilternet3.onnx - Проверьте путь в
deepFilterNetProcessor.ts(по умолчанию/models/deepfilternet3.onnx) - Убедитесь, что файл доступен через HTTP (проверьте в DevTools → Network)
WebAssembly SIMD не поддерживается
Предупреждение:WebAssembly SIMD не поддерживается
Решение:
- Используйте современный браузер (Chrome 91+, Edge 91+, Firefox 89+)
- Или отключите SIMD:
ort.env.wasm.simd = false
Высокая нагрузка на CPU
Проблема: Приложение тормозит при использовании DeepFilterNet Решение:- Уменьшите количество потоков:
ort.env.wasm.numThreads = 2 - Переключитесь на RNNoise или браузерные фильтры
- Закройте другие приложения
Большая задержка звука
Проблема: Заметная задержка при разговоре Решение:- DeepFilterNet имеет алгоритмическую задержку ~20-30ms
- Для минимальной задержки используйте браузерные фильтры
- Проверьте общую задержку сети (ping)
📝 Дальнейшие шаги
1. Получение модели
Срочно: Для работы DeepFilterNet нужна модель ONNX! Варианты:- Скачать готовую модель с GitHub releases
- Конвертировать из PyTorch
- Использовать упрощенную модель для тестирования
2. Интеграция в UI
Добавьте компонентNoiseSuppressionSettings в настройки голоса:
3. Сохранение настроек
Сохраняйте выбранный движок в localStorage или в профиле пользователя:4. Тестирование
- Протестировать на разных устройствах
- Измерить нагрузку на CPU
- Проверить качество шумоподавления
- Протестировать переключение между движками
🎓 Дополнительные ресурсы
💡 Советы
- Начните с браузерных фильтров - они работают везде и сразу
- Переходите на RNNoise - если нужно лучшее качество
- Используйте DeepFilterNet - только если критически важно максимальное качество
- Предупреждайте пользователей - о необходимости переподключения при смене движка
- Мониторьте производительность - добавьте индикатор нагрузки CPU
✅ Checklist готовности к продакшену
- Модель ONNX размещена в
public/models/ - Компонент настроек добавлен в UI
- Сохранение выбора пользователя реализовано
- Обработка ошибок добавлена
- Уведомления о переподключении работают
- Fallback на браузерные фильтры настроен
- Документация для пользователей создана
- Тестирование на разных устройствах проведено
Статус: ✅ Интеграция кода завершена | ⚠️ Требуется модель ONNX Следующий шаг: Получить и разместить модель DeepFilterNet3 в формате ONNX