Научная статья на тему 'МЕТОДЫ И АЛГОРИТМЫ ШУМООЧИСТКИ ЗВУКА В РЕАЛЬНОМ ВРЕМЕНИ'

МЕТОДЫ И АЛГОРИТМЫ ШУМООЧИСТКИ ЗВУКА В РЕАЛЬНОМ ВРЕМЕНИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
628
123
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АЛГОРИТМ ШУМОПОДАВЛЕНИЯ / ВИНЕРОВСКАЯ ФИЛЬТРАЦИЯ / АПРИОРНОЕ ОТНОШЕНИЕ СИГНАЛ/ШУМ / АПОСТЕРИОРНОЕ ОТНОШЕНИЕ СИГНАЛ/ШУМ / РЕЧЕВОЙ СИГНАЛ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Вишняков Игорь Эдуардович, Масягин Михаил Михайлович, Одинцов Олег Александрович, Слюсарь Валентин Викторович

Методы и алгоритмы шумоочистки голоса применяются как для предобработки речи с целью ее дальнейшего анализа и распознавания, так и для непосредственного улучшения качества связи между пользователями информационных сетей. Наиболее важное и сложное направление - потоковая шумоочистка звука в реальном времени. Возможность обработки потоковых данных без задержек налагает на алгоритм ряд существенных ограничений: он не может быть итеративным с заранее неизвестным числом итераций и не может явно использовать данные, находящиеся до или после текущего обрабатываемого блока. В работе предложены адаптивные методы и алгоритмы шумоподавления для речи, работающие с минимальными задержками передачи сигнала. Исследованы существующие подходы к шумоочистке звука в реальном времени, особое внимание уделено алгоритмам детектирования шума и подавления шума. На их базе построены и проанализированы алгоритмы, удовлетворяющие поставленным требованиям. Создан набор аудиоданных русской речи с наложенными на нее различными шумами. Проведены тестирование предложенных решений и их сравнение с существующими актуальными методами шумоочистки. Предложенные методы и алгоритмы шумоочистки звука без использования специализированных аппаратных средств и вспомогательной информации работают в режиме реального времени. Тестирование разработанных алгоритмов с помощью метрик сегментного отношения зашумленного сигнала к шуму и PESQ показало высокую эффективность разработки и ее преимущество перед распространенными реализациями шумоочистки Speex и WebRTC по качеству шумоочистки и скорости работы.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Вишняков Игорь Эдуардович, Масягин Михаил Михайлович, Одинцов Олег Александрович, Слюсарь Валентин Викторович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

METHODS AND ALGORITHMS FOR REAL TIME VOICE NOISE CLEANING

The voice cleaning methods and algorithms play a key role both in preprocessing speech for further analysis and recognition, and in improving the quality of communication between users of information networks. The real-time streaming noise cleaning methods are the most important and complex area. The ability to process streaming data without delays imposes a number of significant restrictions on the algorithm: it cannot be iterative with a previously unknown number of iterations, and cannot explicitly use the data before or after the current block being processed. In the work, a modern adaptive noise reduction method for speech that can work with minimal signal transmission delays has been proposed. A large-scale study of existing approaches has been conducted, with special attention paid to two groups of algorithms: noise detection algorithms and noise suppression algorithms. Based on them the developed algorithm meeting the specified requirements has been built and analyzed. A set of audio data of Russian speech with various noises superimposed on it has been created. The testing of the algorithm has been made and its comparison with existing actual noise cleaning methods has been performed. The proposed adaptive method of noise cleaning without using specialized apparatus means and subsidiary information is able to operate in the real time conditions. The testing of the developed algorithm using the metrics of segment NC and PESQ have shown the high efficiency of the development and its superiority to common noise cleaning implementations Speex and WebRTC with respect to the noise cleaning quality and operation speed.

Текст научной работы на тему «МЕТОДЫ И АЛГОРИТМЫ ШУМООЧИСТКИ ЗВУКА В РЕАЛЬНОМ ВРЕМЕНИ»

УДК 004.021:004.421:004.932

DOI: 10.24151/1561-5405-2021-26-2-184-196

Методы и алгоритмы шумоочистки звука в реальном времени

1 112 И.Э. Вишняков , М.М. Масягин , О.А. Одинцов , В.В. Слюсарь

1 Московский государственный технический университет имени Н.Э. Баумана (национальный исследовательский университет),

г. Москва, Россия

2

Национальный исследовательский университет «МИЭТ», г. Москва, Россия

vslyusar@mail.ru

Методы и алгоритмы шумоочистки голоса применяются как для предобработки речи с целью ее дальнейшего анализа и распознавания, так и для непосредственного улучшения качества связи между пользователями информационных сетей. Наиболее важное и сложное направление - потоковая шумоочистка звука в реальном времени. Возможность обработки потоковых данных без задержек налагает на алгоритм ряд существенных ограничений: он не может быть итеративным с заранее неизвестным числом итераций и не может явно использовать данные, находящиеся до или после текущего обрабатываемого блока. В работе предложены адаптивные методы и алгоритмы шумоподавления для речи, работающие с минимальными задержками передачи сигнала. Исследованы существующие подходы к шумоочистке звука в реальном времени, особое внимание уделено алгоритмам детектирования шума и подавления шума. На их базе построены и проанализированы алгоритмы, удовлетворяющие поставленным требованиям. Создан набор аудиоданных русской речи с наложенными на нее различными шумами. Проведены тестирование предложенных решений и их сравнение с существующими актуальными методами шумоочи-стки. Предложенные методы и алгоритмы шумоочистки звука без использования специализированных аппаратных средств и вспомогательной информации работают в режиме реального времени. Тестирование разработанных алгоритмов с помощью метрик сегментного отношения зашум-ленного сигнала к шуму и PESQ показало высокую эффективность разработки и ее преимущество перед распространенными реализациями шумоочистки Speex и WebRTC по качеству шумоочистки и скорости работы.

Ключевые слова: алгоритм шумоподавления; винеровская фильтрация; априорное отношение сигнал/шум; апостериорное отношение сигнал/шум; речевой сигнал

Для цитирования: Вишняков И.Э., Масягин М.М., Одинцов О.А., Слюсарь В.В. Методы и алгоритмы шумоочистки звука в реальном времени // Изв. вузов. Электроника. 2021. Т. 26. № 2. С. 184-196. DOI: 10.24151/1561-5405-2021-26-2-184-196

© И.Э. Вишняков, М.М. Масягин, О.А. Одинцов, В.В. Слюсарь, 2021

Methods and Algorithms for Real Time Voice Noise Cleaning

1 117

I.E. Vishnyakov , M.M. Masyagin , O.A. Odintsov , V. V. Sliusar

1Bauman Moscow State Technical University (National Research

University), Moscow, Russia

2

National Research University of Electronic Technology, Moscow, Russia

Abstract. The voice cleaning methods and algorithms play a key role both in preprocessing speech for further analysis and recognition, and in improving the quality of communication between users of information networks. The real-time streaming noise cleaning methods are the most important and complex area. The ability to process streaming data without delays imposes a number of significant restrictions on the algorithm. it cannot be iterative with a previously unknown number of iterations, and cannot explicitly use the data before or after the current block being processed. In the work, a modern adaptive noise reduction method for speech that can work with minimal signal transmission delays has been proposed. A large-scale study of existing approaches has been conducted, with special attention paid to two groups of algorithms. noise detection algorithms and noise suppression algorithms. Based on them the developed algorithm meeting the specified requirements has been built and analyzed. A set of audio data of Russian speech with various noises superimposed on it has been created. The testing of the algorithm has been made and its comparison with existing actual noise cleaning methods has been performed. The proposed adaptive method of noise cleaning without using specialized apparatus means and subsidiary information is able to operate in the real time conditions. The testing of the developed algorithm using the metrics of segment NC and PESQ have shown the high efficiency of the development and its superiority to common noise cleaning implementations Speex and WebRTC with respect to the noise cleaning quality and operation speed.

Keywords, noise reduction algorithm; Wiener filtering; a priori signal-to-noise ratio; a posteriori signal-to-noise ratio; speech signal

For citation. Vishnyakov I.E., Masyagin M.M., Odintsov O.A., Sliusar V.V. Methods and algorithms for real time voice noise cleaning. Proc. Univ. Electronics, 2021, vol. 26, no. 2, pp. 184-196. DOI: 10.24151/1561-5405-2021-26-2-184-196

Введение. Широкое использование телекоммуникационных и информационных сетей стимулирует разработку алгоритмов цифровой обработки сигналов, в частности алгоритмов цифровой обработки звука. Это связано с тем, что одним из основных видов данных, передаваемых по мобильным сетям и сетям интернет, является речь.

На сегодняшний день активно развиваются следующие направления цифровой обработки звука голоса: транскрибирование - перевод речи в текст; диаризация - разделение исходного аудиопотока на отдельные аудиопотоки по дикторам и распознавание дикторов; определение языка речи; определение эмоциональной окраски речи.

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

все они имеют недостатки. Производительных и хорошо описанных методов шумоочистки голоса для систем реального времени (СРВ), налагающих на используемые в них алгоритмы ряд существенных ограничений, недостаточно. Так, применение полосовых фильтров и гейтов [1], удовлетворяющих требованиям СРВ касательно времени отклика алгоритма и предсказуемости его работы, оказывается бесполезным при изменяющихся во времени виде и направлении шума, а наиболее эффективные современные нейросетевые подходы [2, 3] либо вносят в работу СРВ большую задержку, либо требуют специфичного дорогостоящего оборудования и (или) вспомогательных данных. Компромиссным решением, обеспечивающим приемлемые скорость и качество шумо-очистки, является разработка алгоритмов фильтрации, предполагающих, что сигналы шума и голоса некоррелированны. Обычно такие алгоритмы состоят из двух частей: детектора шума и его непосредственного подавителя.

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

Формализация понятия шумоочистки. Дадим формальные определения понятий «речь», «шум» и «процесс шумоочистки» в терминах цифровой обработки сигналов (ЦОС):

- речь - полезный сигнал f (t ), поступающий на вход линейной системы Denoise;

- шум - аддитивный сигнал-помеха f (t ), поступающий на вход линейной системы Denoise;

- процесс шумоочистки - линейная система Denoise, выполняющая следующее преобразование:

f() + f2(t) ^ f(t ) . (1)

Как показывает практика, создание систем, в точности удовлетворяющих формуле (1), - невыполнимая задача, поэтому часто задачу шумоочистки упрощают. Окончательное описание процесса шумоподавления представим следующей формулой:

т+т^т-т,

где f (t) - сигнал, являющийся приближением сигнала f (t).

Отметим, что использование алгоритма шумоподавления в СРВ налагает на него следующее существенное ограничение: алгоритм должен обрабатывать звуковые данные блочно-последовательно, внося в них задержку, остающуюся комфортной для слушателей. Исследования показывают, что максимально допустимая задержка составляет менее 400 мс [4].

Анализ существующих методов шумоочистки звука. Пусть имеется линейная система (в терминах ЦОС), на вход которой подаются два сигнала, задаваемые следующими формулами:

f1(t) = a(t), f2(t) = a(t) + b(t),

где f (t) и f (t) - входные сигналы; a(t) - шумовой сигнал; b(t) - речевой сигнал.

Очевидным способом подавления шума в силу линейности системы является непосредственное вычитание сигнала f (t) из сигнала f (t) . На данном принципе с некоторыми ограничениями основаны все мультимикрофонные системы шумоподавления,

используемые в современных мобильных телефонах и студиях профессиональной звукозаписи [5, 6].

В распространенных аудиовизуальных методах шумоочистки и звука для улучшения качества речи используются не только непосредственная аудиозапись, но и видеозапись говорящих [3, 7]. Большинство аудиовизуальных методов состоит из двух взаимодействующих между собой блоков: отслеживания и шумоочистки. Первый занимается поиском лиц людей и отслеживанием движений их губ, второй - непосредственно шумоочисткой. Мультимикрофонные и аудиовизуальные методы обеспечивают хорошее качество шумоочистки, однако имеют один существенный недостаток: для работы им требуется дополнительная информация (опорный канал или видеозапись), что бывает недоступно. В рамках данной работы рассматривается только задача шумоочистки звука для одномикрофонных систем без вспомогательных данных.

Для шумоочистки также используются фильтры нижних и верхних частот. Фильтры нижних частот пропускают частоты ниже пороговой отметки, фильтры высоких частот - частоты выше пороговой отметки. Также существуют их комбинации - полосовые и режекторные фильтры. Первые пропускают частоты в определенном диапазоне, а вторые - вне его. Полосовые фильтры эффективны при шумоочистке в одном канале, однако они не могут удалять шумы, находящиеся в том же частотном диапазоне, что и голос. Также они не подходят для удаления нестационарных шумов. Для борьбы с ними необходимо использовать специально разработанные адаптивные алгоритмы, общий принцип работы которых схематично представлен на рис.1.

Входной сигнал ^ ДПФ

Подавление шумов

ОДПФ

Выходной сигнал

Рис.1. Обобщенная схема работы алгоритмов шумоочистки звука Fig.1. Typical noise cleaning algorithm diagram

Вначале входной поток данных обрабатывается блочно-последовательно с перекрытием и применением оконных функций алгоритмом дискретного преобразования Фурье (ДПФ). Затем в амплитудно-частотной области оценивается активность голоса, а именно каждому блоку данных ставится бинарная оценка. 0 - если голос отсутствует, 1 - если голос присутствует. Алгоритмы оценки голосовой активности применяются в телефонии, так как позволяют снизить расход энергии при передаче голосового трафика. Затем оценивается спектр шума и его непосредственное подавление. Финальный этап работы - обратное дискретное преобразование Фурье (ОДПФ), переводящее сигнал обратно во временную область. Отметим, что не все описанные этапы обязательны. Один из этапов оценки может быть исключен, этапы могут быть объединены. Например, существуют алгоритмы непрерывной оценки шума, не нуждающиеся в предварительной оценке активности голоса.

i

Оценка активности голоса Оценка шума

Таким образом, некоторым стандартом в области шумоочистки в реальном времени являются алгоритмические адаптивные методы шумоочистки. Это, например, алгоритмы, использующиеся в кодеке Speex и его библиотеке предобработки звука SpeexDSP [8], а также в системе потоковой передачи аудио- и видеоданных WebRTC [9].

Разработка методов и алгоритмов шумоочистки звука. На сегодняшний день наиболее активно используются две реализации алгоритмов шумоочистки: Speex (SpeexDSP) и WebRTC. Для оценки спектра шума в Speex применяется вероятностный алгоритм Кохена - Бердуго MCRA (Minima-Controlled Recursive Averaging) [10], а для непосредственного подавления полученного спектра шума - алгоритм Эфраима - Ма-лаха [11]. В WebRTC для детектирования шума осуществляется квантильное оценивание, а для шумоподавления - классическая винеровская фильтрация.

Исследования методов непосредственной шумоочистки [12] и методов детектирования шума [13] показали, что существует ряд алгоритмов, работающих не хуже, а нередко и эффективнее тех, которые используются в Speex и WebRTC. Так, для детектирования шума может применяться дальнейшее развитие MCRA - разработка Ран-гачари - Лойзю MCRA2 [14], а для непосредственного шумоподавления - одна из современных модификаций винеровской фильтрации [15-17].

Объединим детектор MCRA2 и методы шумоподавления, описанные в [15-17], и опишем принципы их работы.

Пусть входной сигнал обрабатывается алгоритмом БПФ с 50 %-ным перекрытием и, например, оконной функцией Ханна, задаваемой следующей формулой:

2——

win(n) = 0,5(1 - cos(———)), n G [0... N -1],

N-1

где N - размер окна.

В начале работы MCRA2 (как и MCRA) выполняется рекурсивное сглаживание входного спектра мощности. Оно необходимо для подавления малых локальных минимумов и максимумов спектра мощности:

P(À, k ) = asmP& -1, k ) + (1,0 - a^m )P (à, k ), (2)

где P(À, k ) и P(À -1, k ) - спектр мощности текущей и предыдущей сглаженной полосы с номером k ; asm g [0,7, 0,9] - коэффициент сглаживания.

Далее осуществляется поиск минимумов энергии в полосах спектра. В отличие от MCRA, производящего поиск в коротких окнах (0,4-1 с), MCRA2 выполняет непрерывный поиск минимумов. Данный процесс может быть описан следующей формулой:

Pmin(À, k ) Ч

P( à, k ), Pmin( à- 1, k ) > p(à, k ),

YPmin (à -1, k) + bl (P(À, k) - ßP(X -1, k)), else,

где k) и P^ — 1, k) - спектры минимумов мощностей текущей и предыдущей по-

лосы с номером k; ye (0,0, 1,0) - весовой параметр новых полос; Р е (0,0, 1,0) - коэффициент, отвечающий за скорость адаптации алгоритма к меняющемуся шуму; else.

На основании текущих значений мощности и минимума мощности может быть проведена приблизительная оценка апостериорного отношения зашумленного сигнала к шуму (ОСШ). На ее основе осуществляется бинарная оценка наличия речи в данной полосе:

Sp (К k) Н

Р(к, k) -1,0 при - — > о,

' Р Ртт(к-1, k) ,

0,0 при else,

где $ (к, к) - вероятность наличия речи в текущей полосе с номером к; 5 - пороговое

значение апостериорного ОСШ для разделения наличия речи и ее отсутствия. MCRA использует фиксированное значение 5, в то время как МСЯА2 предлагает использовать различные значения 5 для разных полос: малые 5 - для полос с высокой вероятностью наличия речи (0-3000 Гц) и большие для остальных.

Бинарная оценка наличия речи в полосе $ (к, к) является слишком грубой, поэтому она сглаживается по формуле, аналогичной (2). При этом вместо текущего и предыдущего спектров мощности используются текущая и предыдущая вероятности наличия речи, вместо коэффициента ат - коэффициент а . На основе сглаженной вероятности наличия речи в полосе вычисляется финальный параметр сглаживания текущего спектра шума и происходит итоговая оценка спектра шума:

ак =а + (1,0 -а)Ярр (к к), Р0,е(к,к) = акР_(к-1,к) + (1,0-ак)Р(к,к),

где ак - финальный параметр сглаживания; а - весовой коэффициент сглаживания; Рюие(к, к) - полученный спектр шума.

Для упрощения описания алгоритмов непосредственной шумоочистки формализуем понятия апостериорного, априорного и мгновенного ОСШ с учетом того, что в процессе шумоочистки доступны только оценки спектров шума и речи:

Р(к к )

SNRpost (к, k) =

E (

SNRvno (к, k) = E Ppeech

E (Pnoise (к k ))'

E( Psveech (к, k))

РП° ' Е(Р_ СК, к))

ящ« (к, к) = ят^ (к, к) -1,

где Е(Рпае (к, к)) - оценка спектра.

При наличии спектра мощности зашумленного сигнала и оценки спектра мощности шума можно рассчитать апостериорное и мгновенное ОСШ, однако нет возможности вычислить априорное ОСШ. При этом именно оно играет ключевую роль в процессе шумоочистки. Несмотря на отсутствие возможности явного вычисления априорного ОСШ, его оценка может быть получена на основе следующего предположения: так как входной поток данных обрабатывается сверхкороткими окнами с высокой степенью перекрытия, то голос в двух окнах с перекрытием можно считать квазистационарным, т.е. не меняющим свои характеристики во времени. В таком случае оценка текущего априорного ОСШ может быть осуществлена с использованием метода, предложенного Эфраимом - Малахом [11]:

8Жрп° (к, к) = р Р7Й (к~ ]\к) + (1 -&) ■ т^Ж,« ((, к), 5),

Рп°«е (к к)

где Р - весовой коэффициент, отвечающий за скорость адаптации к изменению ОСШ; 5 > 0 - нижняя граница SNRjnst (А, к), предотвращающая дальнейшие искажения сигнала при фильтрации при низких (отрицательных) уровнях мгновенного ОСШ.

Имея оценку текущего априорного ОСШ, можно построить на ее базе следующий фильтр, являющийся по сути типичным примером винеровской фильтрации:

8Жрпо (А, к)

О^(А,к) =-ргюУ ' 7 , (3)

" ^„о (А, к) + Г ^

где ОК(А, к), к е[0, N -1] - импульсная характеристика фильтра.

Таким образом, фильтрация сводится к следующей формуле: А сА = ОКА (алгоритм Скалара). Алгоритм Скалара показал высокую эффективность в исследовании [13]. Предпринимались различные попытки его усовершенствования. Одна из наиболее удачных доработок предложена самим Скаларом в соавторстве с Плапусом [16]. Они заметили, что полученное оценочное значение априорного ОСШ отстает от реального примерно на половину окна, поэтому в базовый алгоритм может быть добавлена процедура переоценки априорного ОСШ:

(GWA)2 _ 42 V° 2(,Ц Л} E(Pnme (А, к)) E (Pnoise (А, к))

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

SNRno 2 (А, к) =■

speech

где SNRprio2(A, к) - новая оценка априорного ОСШ.

На основании новой оценки априорного ОСШ может быть получена и новая функция фильтрации. Без ограничения общности она может вычисляться по формуле (3), в которой SNRprio заменен на SNRprio2. В таком случае итоговый спектр речи можно получить в виде A ch2 = Gw2Aspeech. Также улучшением базового алгоритма Скалара может считаться алгоритм Шифенга [17]. Его подход в целом совпадает с подходом Скалара - Плапуса, но при этом уменьшает искажения, вносимые фильтрацией в речевой сигнал. Рассчитаем ошибку между реальным чистым голосом и его оценкой, проводимой оригинальным алгоритмом Скалара:

Err(А к) = Aspeech (А к) - Arealspeech (А к) = Gw (А k)A - Arealspeech = Gw (А к)(Arealspeech ^ Anoise ) Arealspeech (Gw(А к) 1)Arealspeech + Gw (А, к) A

noise ? (4)

где Err(A, к) - ошибка, характеризующая схожесть реального голоса и его приближения.

Левая часть формулы (4) отвечает за искажение речи, поэтому она может быть удалена из оценки путем прямого вычитания:

Aspeech1 Aspeech - (Gw (А к) - 1 Arealspeech ■

Так как спектр чистого голоса неизвестен, его следует заменить оценкой A сА ■

В таком случае оценка спектра речи оригинального алгоритма Скалара и итоговая оценка априорного ОСШ в его модификации примут следующий вид:

Aspeech1 (А, к) = Aspeech - (Gw (А, к) - 1Arealspeech = 1Aspeech - (Gw (А, к) - 1Aspeech =

= (1 - (Gw (А, к)-1))Aspeech =(2 - Gw (А, к))Aspeech =(2 - Gw (А, к)^ (А, к)Л ,

A2

SNRpno 2 (А, к)=- speeM

E(Pnoise (А, к))

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

Полученные алгоритмы шумоочистки звука состоят из следующих четырех этапов:

1. Прямое БПФ с 50 %-ным перекрытием и оконной функцией Ханна.

2. Детектирование шума с использованием алгоритма MCRA2.

3. Подавление шума одним из трех описанных методов.

4. Обратное БПФ с учетом 50 %-ного перекрытия.

Более наглядно процесс работы алгоритмов шумоочистки звука представлен на рис.2.

Рис. 2. Схемы работы алгоритмов шумоочистки звука Fig.2. Schemes of operation of noise cleaning algorithms

Суммарная асимптотическая сложность алгоритмов шумоочистки звука складывается из асимптотических сложностей всех четырех этапов и является квазилинейной:

Oa lg = OFFT + OMCRA2 + ODen + OiFFT = О(п log(«)) + О(п) + О(п) + О(п log(«)) = 0(n log(«)) ,

где Oa lg - вычислительная сложность всего алгоритма шумоочистки, Offt — прямого БПФ, Omcra2 — алгоритма детектирования шума MCRA2, Od en - алгоритма подавления шума, OiFFT — обратного БПФ; О(п log(n)) — асимптотически точная сложность алгоритмов шумоочистки, так как время их работы зависит только от размерности входного массива, но не от конкретных его элементов.

Реализация библиотеки шумоочистки звука. При реализации библиотеки шумо-очистки ставились следующие цели:

- возможность работы в режиме реального времени с минимальной задержкой входных данных;

- потокобезопасность и защищенность от ошибок, связанных с нехваткой выделяемой памяти;

- легкая переносимость на различные платформы и возможность использования из разных языков программирования;

- простота чтения и модификации исходного кода библиотеки программистами, не являющимися ее непосредственными авторами или экспертами в сфере ЦОС;

- отсутствие каких-либо внешних зависимостей, обычно не поставляемых вместе с минимальным образом операционной системы.

Данные цели привели к тому, что библиотека шумоочистки звука реализована на языке C без каких-либо сторонних зависимостей, кроме стандартной glibc [18]. Библиотека предоставляет простой программный интерфейс, состоящий из трех основных функций:

- int push(ctx_t ctx, const char*data, unsigned data_len); - функция записи аудиоданных и их шумоочистки;

- unsigned get(ctx_t ctx, char*data, unsigned data_cap); - функция чтения аудиоданных;

- void flush(ctx_t ctx); - функция сброса внутреннего счетчика для получения необработанных фреймов.

Тестирование алгоритмов шумоочистки звука. Классической метрикой качества шумоочистки является среднесегментное ОСШ всей речи, вычисляемое по следующей формуле:

При этом размер сегмента составляет около 20-30 мс.

Помимо среднесегментного ОСШ использовалась психоакустическая метрика PESQ [19], позволяющая более объективно оценить качество шумоочистки. Для тестирования алгоритмов шумоочистки создан собственный набор тестовых данных, состоящий из чистых записей русской речи и шумов из базы данных ZvukiPro [20]. Использовано множество видов шума, включая белый и розовый шумы, шум дороги, шум в общественных местах и т.д. , и несколько различных вариантов чистой речи.

На рис.3 представлены результаты тестирования предложенных решений и их сравнение с реализациями Speex и WebRTC по метрикам PESQ и сегментного ОСШ соответственно. Тестирование проводилось на мобильной рабочей станции, оборудованной процессором Intel Core i7-7700HQ и 8 Гб оперативной памяти DDR4, под управлением операционной системы Ubuntu 18.04.5 LTS (Bionic Beaver). При этом все тестовые записи имели частоту дискретизации 8 кГц, так как PESQ поддерживает только ее.

Результаты показывают, что предложенные алгоритмы шумоподавления более эффективны, чем SpeexDSP, и сравнимы с WebRTC. При удалении белого шума - основного шума в телефонии - они результативнее WebRTC. Скорость работы предложенных алгоритмов в среднем практически в два раза выше, чем скорость Speex, и в три раза ниже, чем скорость WebRTC.

Рис.3. Значения PESQ (а) и сегментного ОСШ (б) для методов шумоочистки звука Fig.3. PESQ values (a) and segmented signal-to-noise ratio (b) for noise cleaning methods

Отметим, что WebRTC работает напрямую с частотами дискретизации 8 и 16 кГц и с частотами 32 и 48 кГц при использовании вспомогательных банков фильтров (также входящих в состав WebRTC), остальные частоты им не поддерживаются. Для адаптации WebRTC под частоты 11,025; 44,1; 96 кГц и более без использования времязатрат-ной промежуточной передискретизации с потерей данных могут потребоваться значительные усилия. Предложенные алгоритмы могут работать с произвольными частотами

дискретизации, при этом число обрабатываемых за шаг отсчетов n = ~~, где sr - частота дискретизации. Помимо этого из оценки асимптотической сложности алгоритма следует, что значительную долю времени работы шумоочистки занимают прямое и обратное БПФ. Самописные наглядные реализации БПФ могут быть заменены на более производительные, тем самым суммарная скорость работы алгоритмов увеличится в несколько раз и будет сравнима со скоростью WebRTC.

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

Результаты тестирования предложенных и существующих алгоритмов

шумоочистки звука Results of testing of the proposed and existing algorithms for voice noise cleaning

Алгоритм Скорость работы Универсальность

эффективность шумоочистки

Speex Низкая бх Произвольные число каналов и частоты дискретизации

WebRTC Высокая X Произвольное число каналов, 4 фиксированные частоты дискретизации

Предложенные Высокая 3х Произвольные число каналов и частоты дискретизации

Заключение. Предложенные универсальные адаптивные методы шумоочистки звука базируются на наиболее эффективных современных алгоритмах детектирования и подавления шума. Разработанные алгоритмы могут работать без использования специализированных аппаратных средств и вспомогательной информации в режиме реального времени. Все алгоритмы реализованы на языке C без применения внешних зависимостей.

Тестирование с помощью метрик сегментного ОСШ и PESQ показало их высокую эффективность и превосходство над распространенными реализациями шумоочистки Speex и WebRTC по качеству шумоочистки и сравнимую с ними скорость работы.

Литература

1. Lukin A.S. AES San Francisco 2008: Tutorial T3. Broadband noise reduction: theory and application // Aes.org: [Web] / Audio Engineering Society. October 2-5, 2008.

URL: https://www.aes.org/events/125/tutorials/session.cfm?code=T3 (accessed 31.03.2021).

2. Pascual S., Bonafonte S., Serra J. SEGAN: speech enhancement generative adversarial network // Interspeech 2017. Stockholm: ISCA, 2017. P. 3642-3646.

3. Gabbay A., Shamir A., Peleg Sh. Visual speech enhancement // The Hebrew University of Jerusalem. 2018. P. 1170-1174.

4. Schoenenberg K., Raake A., Koeppe J. Why are you so slow? Misattribution of transmission delay to attributes of the conversation partner at the far-end // International Journal of Human-Computer Studies. 2014. Vol. 72. Issue 5: May. P. 477-487.

5. Burnett G.C. Noise suppressing multi-microphone headset // The Journal of the Acoustical Society of America. 2013. No. 133. P. 4352.

6. Doclo S. Multi-microphone noise reduction and dereverberation techniques for speech applications: PhD Diss. Katholieke Universiteit Leuven, 2003. 50 p.

7. Khan F., Milner B.P. Speaker separation using virtually-derived binary masks // Auditory-Visual Speech Processing. Annecy: ISCA, 2013. P. 215-220.

8. Speex [Электронный ресурс]. URL: https://www.speex.org/ (дата обращения 20.05.2020).

9. WebRTC [Электронный ресурс]. URL: https://webrtc.org/ (дата обращения 20.05.2020).

10. Cohen I., Berdugo B. Speech enhancement for non-stationary noise environments // Signal Processing. 2001. Vol. 81. No. 11. P. 2403-2418.

11. Ephraim Y., Malah D. Speech enhancement using minimum mean-square error log-spectral amplitude estimator // IEEE Transactions on acoustics, Speech and Signal Processing. 1985. P. 443-445.

12. Shrawankar U., Thakare V. Performance analysis of noise filters and speech enhancement techniques in adverse mixed noisy environment for HCI // International Journal of Research and Reviews in Computer Science. 2012. No. 3. P. 1817-1825.

13. Loizou P. Speech enhancement. Theory and practice. 2nd ed. CRC Press, 2013. 705 p.

14. Rangachari S. Loizou P.A. Noise estimation algorithm for highly nonstationary environments // Speech Communications. 2006. Vol. 48. No. 2. P. 220-231.

15. ScalartP., Filho J.V. Speech enhancement based on a priori signal to noise estimation // 1996 IEEE International Conference on Acoustics, Speech, and Signal Processing. Atlanta, GA: IEEE, 1996. Vol. 2. P. 629—632.

16. Plapous C., Marro C., Mauuary L., Scalart P. A two-step noise reduction technique // 2004 IEEE International Conference on Acoustics, Speech, and Signal Processing. Montreal: IEEE, 2004. Vol. 1. P. 289—292.

17. Shifeng O., Chao G., Ying G. Improved a priori SNR estimation for speech enhancement incorporating speech distortion component // TELKOMNIKA Indonesian Journal of Electrical Engineering. 2013. Vol. 11 (9). P. 5359—5364.

18. glibc // Операционная система GNU: [Электронный ресурс] / Free Software Foundation. URL: https://www.gnu.org/software/libc/ (дата обращения 26.05.2020).

19. Rix A., Beerends J., Hollier M., Hekstra A.P. Perceptual evaluation of speech quality (PESQ) // 2001 IEEE International Conference on Acoustics, Speech, and Signal Processing. Salt Lake City, UT: IEEE, 2001. P. 1—4.

20. ZvukiPro [Электронный ресурс]. URL: https://zvukipro.com/ (дата обращения 26.05.2020).

Поступила в редакцию 26.11.2020 г.; после доработки 20.01.2021 г.; принята к публикации 08.02.2021 г.

Вишняков Игорь Эдуардович — старший преподаватель кафедры ИУ9 «Теоретическая информатика и компьютерные технологии» Московского государственного технического университета имени Н.Э. Баумана (национального исследовательского университета) (Россия, 105005, г. Москва, 2-я Бауманская ул., 5/1), vishnykov@bmstu. ru

Масягин Михаил Михайлович — магистрант кафедры ФН-12 «Математическое моделирование» Московского государственного технического университета имени Н.Э. Баумана (национального исследовательского университета) (Россия, 105005, г. Москва, 2-я Бауманская ул., 5/1), masyaginmm@bmstu.ru

Одинцов Олег Александрович — кандидат технических наук, доцент кафедры РК5 «Прикладная механика» Московского государственного технического университета имени Н.Э. Баумана (национального исследовательского университета) (Россия, 105005, г. Москва, 2-я Бауманская ул., 5/1), odintsov@bmstu.ru

Слюсарь Валентин Викторович — кандидат технических наук, доцент Института системной и программной инженерии и информационных технологий Национального исследовательского университета «МИЭТ» (Россия, 124498, г. Москва, г. Зеленоград, пл. Шокина, 1), vslyusar@mail.ru

References

1. Lukin A.S. AES San Francisco 2008: Tutorial T3. Broadband noise reduction: theory and application. Aes.org. Available at: https://www.aes.org/events/125/tutorials/session.cfm?code=T3 (accessed 31.03.2021).

2. Pascual S., Bonafonte S., Serra J. SEGAN: speech enhancement generative adversarial network. Interspeech 2017. Stockholm, ISCA, 2017, pp. 3642—3646.

3. Gabbay A., Shamir A., Peleg Sh. Visual speech enhancement. The Hebrew University of Jerusalem, 2018, pp. 1170—1174.

4. Schoenenberg K., Raake A., Koeppe J. Why are you so slow? Misattribution of transmission delay to attributes of the conversation partner at the far-end. International Journal of Human-Computer Studies, 2014, vol. 72 (5): May, pp. 477—487.

5. Burnett G.C. Noise suppressing multi-microphone headset. The Journal of the Acoustical Society of America, 2013, no. 133, p. 4352.

6. Doclo S. Multi-microphone noise reduction and dereverberation techniques for speech applications: PhD Diss. Katholieke Universiteit Leuven, 2003. 50 p.

7. Khan F., Milner B.P. Speaker separation using virtually-derived binary masks. Auditory-Visual Speech Processing. Annecy, ISCA, 2013, pp. 215—220.

8. Speex. Available at: https://www.speex.org/ (accessed 20.05.2020).

9. WebRTC. Available at: https://webrtc.org/ (accessed 20.05.2020).

10. Cohen I., Berdugo B. Speech enhancement for non-stationary noise environments. Signal Processing, 2001, vol. 81, no. 11, pp. 2403-2418.

11. Ephraim Y., Malah D. Speech enhancement using minimum mean-square error log-spectral amplitude estimator. IEEE Transactions on acoustics, Speech and Signal Processing, 1985, pp. 443-445.

12. Shrawankar U., Thakare V. Performance analysis of noise filters and speech enhancement techniques in adverse mixed noisy environment for HCI. International Journal of Research and Reviews in Computer Science, 2012, no. 3, pp. 1817-1825.

13. Loizou P. Speech enhancement. Theory and practice. 2nd ed. CRC Press, 2013. 705 p.

14. Rangachari S. Loizou P.A. Noise estimation algorithm for highly nonstationary environments. Speech Communications, 2006, vol. 48, no. 2, pp. 220-231.

15. Scalart P., Filho J.V. Speech enhancement based on a priori signal to noise estimation. 1996 IEEE International Conference on Acoustics, Speech, and Signal Processing. Atlanta, GA, IEEE, 1996, vol. 2, pp. 629-632.

16. Plapous C., Marro C., Mauuary L., Scalart P. A two-step noise reduction technique. 2004 IEEE International Conference on Acoustics, Speech, and Signal Processing. Montreal, IEEE, 2004, vol. 1, pp. 289-292.

17. Shifeng O., Chao G., Ying G. Improved a priori SNR estimation for speech enhancement incorporating speech distortion component. TELKOMNIKA Indonesian Journal of Electrical Engineering, 2013, vol. 11 (9), pp. 5359-5364.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

18. The GNU C Library. Gnu.org. Available at: https://www.gnu.org/software/libc/ (accessed 26.05.2020).

19. Rix A., Beerends J., Hollier M., Hekstra A.P. Perceptual evaluation of speech quality (PESQ) // 2001 IEEE International Conference on Acoustics, Speech, and Signal Processing. Salt Lake City, UT: IEEE, 2001. P. 1-4.

20. ZvukiPro. Available at: https://zvukipro.com/ (accessed 26.05.2020).

Received 26.11.2020; Revised 20.01.2021; Accepted 08.02.2021. Information about the authors:

Igor E. Vishnyakov - Senior Lecturer of the Computer Science and Control Systems Department, Bauman Moscow State Technical University (National Research University) (Russia, Moscow, 105005, 2nd Baumanskaya st., 5, bld. 1), vishnykov@bmstu.ru

Mikhail M. Masyagin - Masters degree student of the Fundamental Sciences Department, Bauman Moscow State Technical University (National Research University) (Russia, Moscow, 105005, 2nd Baumanskaya st., 5, bld. 1), masyaginmm@bmstu.ru

Oleg A. Odintsov - Cand. Sci. (Eng.), Assoc. Prof. of the Applied Mechanics Department, Bauman Moscow State Technical University (National Research University), (Russia, Moscow, 105005, 2nd Baumanskaya st., 5, bld. 1), odintsov@bmstu.ru

Valentin V. Sliusar - Cand. Sci. (Eng.), Assoc. Prof. of the Institute of Systems and Software Engineering and Information Technology, National Research University of Electronic Technology (Russia, 124498, Moscow, Zelenograd, Shokin sq., 1), vslyusar@mail.ru

Информация для читателей журнала «Известия высших учебных заведений. Электроника»

Полные тексты статей журнала с 2009 по 2020 гг. доступны на сайтах Научной электронной библиотеки: www.elibrary.ru и журнала «Известия высших учебных заведений. Электроника»: http://ivuz-e.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.