Моно, 48 кГц
Модель получает блоки по 480 отсчётов каждые 10 мс. В работающем пакете AudioWorklet собирает кадры, а отдельный Worker выполняет модель.
smartnet-v54-psa · аудиодемо
Это демо — смесь студийной речи и отдельно записанных щелчков клавиатуры. Запись обработана моделью smartnet-v54-psa из открытого пакета tarnveil-denoise. Переключайте дорожки во время воспроизведения, чтобы сравнить один и тот же слог.
Речь: M-AILABS ru_RU, hajdurova / strashnaya_minuta. Клавиатура записана отдельно на настольный микрофон и смешана на уровне −14,2 дБ относительно пика речи. Обработка: DSP пакета и ONNX Runtime Node 1.29.0, без отдельного подавителя ударов и событий нажатия клавиш. Это заранее обработанная запись, а не работа браузера в реальном времени и не запись звонка. Усиление дорожек одинаковое; для сравнения убрана задержка модели в 544 отсчёта.
Цифры относятся только к этой смеси. Другой микрофон, голос, комната или клавиатура могут дать иной результат.
| Условие | Медиана | 10-й процентиль |
|---|---|---|
| Клавиатура в паузах | 48,3 | 19,2 |
| Клавиатура поверх речи | 10,4 | 0,0 |
Остаток: model(speech + clicks) − model(speech), относительно пика исходного щелчка. Десятый процентиль показывает, что часть щелчков поверх речи почти не подавляется. Нелинейные изменения речи тоже могут попасть в остаток. В отдельном прогоне чистой речи общий уровень изменился на −0,03 дБ, ошибка формы сигнала — −19,9 дБ относительно оригинала. Похожая громкость не означает неизменный голос.
Модель получает блоки по 480 отсчётов каждые 10 мс. В работающем пакете AudioWorklet собирает кадры, а отдельный Worker выполняет модель.
У v54 есть FFT 1024 с шагом 10 мс и более мелкая сетка FFT 512 с шагом 5 мс. В тракт включён короткий просмотр следующей маски.
Задержка модели/DSP — 544 отсчёта, то есть 11,33 мс. AudioWorklet также начинает с буфера 20 мс; устройство, очереди браузера и звонок добавляют свою задержку.
Веса занимают 32,6 МиБ. Загрузка требует времени, а вычисления должны успевать за шагом 10 мс. Актуальная нагрузка в браузерах на разных устройствах пока не установлена.
Щелчки поверх речи остаются сложным случаем. Речь может меняться; эта смесь не гарантирует результат на вашем микрофоне. Пакет работает на 48 кГц, не разделяет говорящих и не убирает эхо. Производительность на телефонах не подтверждена. Браузерное эхоподавление — отдельная настройка захвата.
Нет. Страница воспроизводит три готовых WAV-файла. Пример в открытом репозитории умеет локально обрабатывать выбранную запись или микрофон.
Модель работает локально в Worker браузера. Сам пакет не загружает звук на сервер; передачей обработанного потока в звонок управляет приложение.
Код обработки и веса модели опубликованы под Apache-2.0. ONNX Runtime — MIT. Код обучения не опубликован. Исходники самого мессенджера TarnVeil остаются закрытыми.
В GitHub есть локальный пример записи микрофона и обработки файла. Готовый пакет опубликован в npm: npm install tarnveil-denoise. Для примера аккаунт TarnVeil не нужен.