Георгий Маслов › georgiymaslov
Рейтинг
38 095
№ 23 в каталоге
Отзывы
Профессионализм
10/10
Коммуникация
10 /10
Город
Москва
Опыт работы
9 лет
На сайте с
2017 года
Юридический статус
Самозанятый
Эксперт
Национальной Гильдии Фрилансеров
Freelance.Boutique
Премиум-сервис для лучших исполнителей
Безопасная сделка
Деньги списываются после приёмки

Речь из записи диктофона, забитой шумом: вытащен разговор мужчины и женщины

Используемые навыки Automatic Speech Recognition FFmpeg Python Искусственный интеллект

Описание

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

Решение

Сначала измерение, а не обработка. Спектрограмма всей записи показала, что энергия шума лежит в тех же полосах, что и речь, а сама речь держится на уровне около минус 51 дБ. Отсюда первая поправка: громкость выравнивается не по пикам, пики здесь удары и шорох, а по уровню голоса, speechnorm плюс loudnorm, это дало плюс 36 дБ именно речи.

Разделение источников вместо шумоподавления. Обычные шумодавы обучены на разговорной громкости и тихую речь принимают за шум: спектральный шумодав ffmpeg и DeepFilterNet выдавали бульканье и съедали голос целиком. Сработало разделение источников Demucs, htdemucs с двумя стемами, прогнанное по всей записи: голосовая дорожка отделяется от шороха, и на ней слышно, что говорят мужчина и женщина.

Вычитание шума по внешнему эталону. Обычный шумодав берёт образец шума из тишины самой записи, а там как раз тихая речь, поэтому её и стирает. Вместо этого взята чистая запись с того же диктофона того же дня, из неё построен портрет шума и вычтен из рабочей дорожки. Жёсткое вычитание оказалось лучше винеровского, а характерный писк лечится сглаживанием маски только по частоте, по времени сглаживать нельзя.

Замедленные петли для прослушивания. Кусок в четыре секунды повторяется десять раз подряд с паузами и темпом 0.7: разборчивость растёт от повторов, ухо достраивает недостающее с каждым разом. Темп 0.5 уже даёт треск. Именно петли дали разобранные слова там, где не помогла ни одна модель.

Отдельно проверена гипотеза автопоиска мест с речью по громкости, ритму и контрасту огибающей. Ни один признак не выделяет тот фрагмент, где слова реально слышны, поэтому автопоиск отброшен, а вместо него собрана голосовая дорожка всей записи на скорости 0.7 и инструмент, делающий петлю на любое отмеченное слушателем время.

Результат

Из записи, где на слух был только шум, вытащен разговор мужчины и женщины: голосовая дорожка всей записи, 43 минуты, отдельно от шороха, плюс замедленный вариант для прослушивания и петли на отдельные места.

Заказчику отдана не только дорожка, но и инструмент: скрипты петли и вычитания шума по внешнему эталону с настройками силы и сглаживания, чтобы он сам мог пройти запись дальше и обработать любую следующую.

Попутно собрано 18 сочетаний параметров по методу самого заказчика и сопоставлено с нашей цепочкой, финальную выбирали на слух по одному и тому же фрагменту, а не по красоте спектрограммы.

Метод переносится на похожие задачи целиком: сначала измерение уровня речи, потом разделение источников, потом вычитание по внешнему эталону, шумодавы в конце очереди, а не в начале.

Оценили проект:

Другие проекты

Все проекты →
Инженерия и Проектирование Водопровод санитарного узла: план, коллекторы и расчёт ветви
Водопровод санитарного узла: план, коллекторы и расчёт ветви
43
Веб-разработка и IT VPN-сервис под ключ: Xray, панель, Telegram-бот с оплатой
VPN-сервис под ключ: Xray, панель, Telegram-бот с оплатой
173
Маркетинг и Продвижение Семантическое ядро для блога компании по вентиляции и кондиционированию
Семантическое ядро для блога компании по вентиляции и кондиционированию
58
Инженерия и Проектирование Отопление, водопровод и электрика частного дома 120 м²: расчёты по нормам и чертежи
Отопление, водопровод и электрика частного дома 120 м²: расчёты по нормам и чертежи
55