УДК 004.934
ОПТИМАЛЬНЫЙ АЛГОРИТМ ОБРАБОТКИ РЕЧЕВЫХ КОМАНД ДЛЯ СИСТЕМЫ ГОЛОСОВОГО УПРАВЛЕНИЯ
А. К. Алимурадов
OPTIMAL ALGORITHMS OF PROCESSING VOICE COMMANDS
FOR VOICE CONTROL
A. K. Alimuradov
Аннотация. Актуальность и цели. Объектом исследования является алгоритм обработки речевых команд в системах голосового управления (СГУ). Предмет исследования - оптимальные методы обработки речевых сигналов. Целью работы является повышение эффективности обработки речевых команд в СГУ. Материалы и методы. Для повышения эффективности в алгоритме использованы оптимальные методы обработки речевых команд: предварительная обработка, определение и логарифмирование энергии, оконное преобразование, определение, нормализация и приращение мел-частотных кепстральных коэффициентов (МЧКК), определение евклидова расстояния и корреляции. Результаты. На основании проведенного обзора и собственных исследований разработан оптимальный алгоритм обработки речевых команд для СГУ с использованием оптимальных блоков обработки, позволяющих увеличить количество сравниваемых информативных параметров, содержащих информацию об уникальных свойствах речи, и повысить точность распознавания. Выводы. Представлены блок-схема алгоритма и подробное математическое описание оптимальных блоков обработки. Следующим этапом данной научной работы является экспериментальное исследование алгоритма с целью подтверждения повышения эффективности обработки речевых команд.
Ключевые слова: обработка речевых сигналов, голосовое управление, распознавание речи.
Abstract. Background. The object of research is the speech commands processing algorithm in voice control systems (VCS). The subject of research are the optimum methods for speech signals processing. The purpose of this work is to increase the efficiency of speech commands processing in VCS. Materials and methods. To improve the efficiency, the optimum methods for voice commands processing are used in the algorithm: preliminary processing; determination and energy conversion; window transform; definition, normalization and increment of mel-frequency cepstral coefficients (MFCC), determination of euclidean distance and correlation. Results. The optimum speech commands processing algorithm for VCS is developed on the basis of the carried-out review and our own research with the use of the optimal processing units allowing to increase the number of comparable informative parameters that contain information on unique properties of speech and to increase recognition accuracy. Conclusions. The block diagram of the algorithm and the detailed mathematical description of optimal processing units are presented. The next stage of this scientific work is the experimental study of the algorithm to confirm the increase of voice commands processing efficiency.
Key words: speech signal processing, voice control, speech recognition.
Введение
Речевой сигнал - это сигнал, образуемый артикуляционным отделом речевого аппарата человека с целью приема и передачи информации (язы-
кового общения) посредством языковых конструкций, создаваемых на основе определенных правил. Обработка речевых сигналов - область исследования, в которой осуществляются фильтрация и подавление шумов, усиление, разделение информационных потоков, извлечение информации, кодирование, сжатие и восстановление речевых сигналов. Применительно к СГУ обработка сводится к анализу изолированных речевых команд (слов, словосочетаний) с четко выраженными границами начала и конца и включает в себя следующие этапы обработки: предварительную коррекцию, сегментацию на фрагменты, определение информативных параметров и распознавание.
Корректная обработка речевых команд - одна из самых интересных и сложных задач голосового управления. Работа в направлении повышения эффективности обработки ведется достаточно активно. На сегодняшний день представлено большое количество алгоритмов обработки, применяемых в СГУ [1, 2]. Разнообразие алгоритмов обусловлено как важностью проблемы, так и отсутствием достаточно эффективных методов ее решения.
Широкую практическую популярность получили следующие алгоритмы: «CMU Sphinx» [3], «RWTH ASR» (RAPT) [4] и «Julius» [5]. Популярность данных алгоритмов обусловлена хорошей функциональностью, сравнительно низким процентом ошибок распознавания и наличием свободно распространяемых версий их реализаций. Тем не менее возможности применения этих алгоритмов в СГУ ограничены. Ограничения обусловлены использованием неоптимальных методов обработки, в основе которых применены сложные вычислительные математические операции. Применение последних возможно только при наличии мощных серверных ресурсов с удаленным доступом через сеть Интернет, что приводит к затруднению использования данных алгоритмов в реальном времени.
По этой причине актуальным является создание алгоритма обработки речевых команд для СГУ с использованием оптимальных методов обработки, который:
- обеспечивает необходимую точность распознавания;
- имеет достаточно низкую вычислительную сложность для работы в реальном времени;
- имеет свободную программную реализацию.
Описание оптимального алгоритма обработки речевых команд для СГУ
На основании проведенного обзора и собственных исследований [6-9] представлен оптимальный алгоритм обработки речевых команд для СГУ (рис. 1). Штриховой линией отмечен режим обучения алгоритма, сплошной линией - режим распознавания. Отличительными особенностями представленного алгоритма являются:
- увеличение количества информативных параметров, содержащих информацию об уникальных свойствах речи;
- повышение точности распознавания за счет уменьшения естественных и спектральных искажений.
Рассмотрим подробнее блоки обработки оптимального алгоритма.
Рис. 1. Блок-схема оптимального алгоритма обработки речевых команд
Блок 1. Предварительная обработка
Предварительная обработка применяется для устранения естественных искажений (минус 6 дБ на октаву), возникающих в речевом аппарате человека при произнесении речевых команд [10]. Исходный сигнал речевой команды в дискретном виде x(n) пропускают через корректирующий фильтр с передаточной функцией следующего вида:
1 -1 I — 7
H ( 7 ) = --—1, (1)
1 — аг
где коэффициент а выбирается близким к единице, так как такой фильтр
127
проще всего реализуется (чаще всего а =-); г - оператор Лапласа
128
(г = ую, ю = 2к/ - угловая частота, / - частота речевого сигнала).
Блок 2. Сегментация на фрагменты
Речевой сигнал представляет собой квазистационарный процесс, спектр которого остается относительно неизменным в течение короткого периода времени (5-100 мс). Это позволяет разделить сигнал на фрагменты, в пределах которых можно считать сигнал стационарным [10].
Разбиение сигнала речевой команды на фрагменты осуществляется по следующим формулам:
5 = Х(П), (2)
Ь
где 5 - количество фрагментов в исходном сигнале речевой команды; х(п) -исходный сигнал речевой команды в дискретном виде; 0 < п < N - дискретные отсчеты времени; N - количество отсчетов во фрагменте; Ь - количество отсчетов в одном фрагменте;
х,+1(п) = х(( 8Ь) +1;( 5 + 1)Ь), (3)
где х5+1(п) - фрагмент речевой команды; 5 = (0,1, 2,..., 5 — 1) - номер фрагмента.
Блок 3. Определение энергии
Характер изменения амплитуды сигнала во времени называется амплитудным распределением, которое является важным информативным параметром речи. Изменение амплитуды хорошо описывается с помощью функции кратковременной энергии сигнала [11]. Вычисление энергии фрагментов осуществляется по формуле
К+! = ]Г [х(5Ь + I)]2, (4)
1=1
где I = (1,2,..., Ь) - номер отсчета во фрагменте.
Блок 4. Логарифмирование энергии
Человеческий слуховой аппарат не фиксирует речь линейно, различие между энергиями информативных и неинформативных участков сигналов
должно быть значительным, чтобы человек фиксировал изменение амплитуды. Для увеличения амплитуды в 2 раза необходимо, чтобы энергия увеличилась в 8 раз. Применение логарифмирования энергии фрагментов максимально приблизит работу алгоритма к функционалу слухового аппарата человека [12]:
¡8 Е3+1 = £ [х(^ + /)]2. (5)
I=1
Блок 5. Оконное преобразование
Для уменьшения искажений сигнала при цифровой обработке речевых сигналов используют окна с плавно спадающими до нуля краями и сдвиг фрагментов сигнала с перекрытием. Традиционно в обработке речи используется окно Хэмминга - это вектор коэффициентов в дискретном виде, определяемый по формуле [13]
м>(е + 1) = 0,54 - 0,46ОО8 ^ 2п С-у ^, (6)
где с = 0,1, 2,..., С -1 - номер коэффициента окна Хэмминга.
Оконное преобразование фрагмента речевой команды сигнала осуществляется по формуле
(П) • м>(с +1), (7)
где х^+1(п) - фрагмент речевой команды; у3+1(п) - фрагмент речевой команды после оконного преобразования.
Блок 6. Определение мел-частотных кепстральных коэффициентов
МЧКК включает в себя два основных понятия: кепстр и мел-шкала. Кепстр - это дискретно-косинусное преобразование амплитудного спектра сигнала в логарифмическом масштабе. Формально кепстр сигнала определяется по формуле [14]
с( п) = ЮСТ [108( X (| х(п)|2)], (8)
где БСТ - дискретно-косинусное преобразование; X - спектральное представление сигнала х(п).
Мел-шкала - это шкала частотной восприимчивости изменений высоты звука. Мел - психофизическая единица высоты звука. Результаты исследований показывают, что высота звука связана главным образом с частотой колебаний [14].
Перевод из шкалы герц в шкалу мелов и обратно происходит по следующим формулам:
т( /) = 11251п(1 + / /700); (9)
/ (т) = 700(ехр(т /1125) -1), (10)
где т - частота в мелах; / - частота в герцах.
Дискретное преобразование Фурье
Для преобразования исходного сигнала речевой команды в дискретном виде из временной области в частотную применяется дискретное преобразование Фурье:
N—1 2га
--кп
X(к) = X х(п)е N , (11)
п=0
где X(к) - спектр исходного сигнала речевой команды в дискретном виде; 0 < к < N — 1 - количество комплексных амплитуд синусоидальных сигналов, слагающих исходный сигнал; 7 - мнимая единица. Значение к определяет частоты:
Л = Nк, (12)
где - частота дискретизации сигнала.
Получение спектра фрагментов речевой команды осуществляется по формуле [15]
Ь 2га,
^5+1 (к) = X Л+1( +1 )е~ьЫ, (13)
1=1
где Т5+1 (к) - спектр фрагмента речевого сигнала.
Основная значимая информация о речевом сигнале содержится в действительном частотном спектре, поэтому после выполнения комплексного дискретного преобразования Фурье для дальнейшего спектрального анализа выделяется действительный спектр сигнала - определяется спектральная плотность (периодограмма). Информация о фазе в дальнейшем не используется. Периодограмма каждого из фрагмента определяется по формуле
ря+1(к)=Ь-Ык)!2. (14)
Применение набора мел-фильтров
Полученные периодограммы фрагментов содержат избыточное количество информации о частотах для задачи распознавания. По этой причине для более компактного представления информации периодограммы делятся на частотные диапазоны. К каждому диапазону применяется треугольная оконная функция - мел-фильтр, позволяющая просуммировать количество энергии каждого частотного диапазона периодограммы и определить мел-коэффициент.
Формирование набора мел-фильтров осуществляется по следующей методике [14]:
- задаются количество мел-фильтров О и нижняя /1, верхняя границы диапазона частот, в котором будет применяться фильтрация;
- в соответствии с формулой (9) выполняется преобразование границ диапазона из герц в мел (т1, тк );
- на мел-шкале отрезок [ т1, тк ] разбивается на О +1 непересекаю-
щихся подотрезков длинои len = — з
G +1
- определяются центральные частоты подотрезков по следующей формуле:
m (&) = m + glen, (15)
где g = 1, 2,..., G - номер фильтра;
- центральные частоты переводятся в герцы fc (g) по формуле (10) и соответствуют центральным частотам треугольных мел-фильтров;
- центральные частоты треугольных фильтров переводятся из герц в номера отсчетов периодограммы Ps+1 (k):
fsmp (&) = yfc (&); (16)
s
- для каждого мел-фильтра отсчеты периодограммы Ps+1 (k) умножаются на соответствующий фильтр:
MFCCs+1 (g) = ]TPs+1( k) Н& (k); (17)
k=1
0 , k < fsmp (g -1)
Hg (k) =
k - fsmp (g - 1)
fsmp (g ) fsmp ( g 1) (fsmp (g + 1)- k)
fsmp (g 1) — k — fsmp ( g)
fsmp (g) — k — fsmp (g + 1)
(18)
fsmp (g ^ 1) fsmp (^)
0 , к > fsmp ^ + 1)
к = (1, 2,..., К) - количество отсчетов в одном фрагменте.
Логарифмирование
После применения набора треугольных фильтров к фрагментам проводится логарифмирование энергии по следующей формуле:
MFCCs+l( g) = 1п(МТСС^( g)). (19)
Операция логарифмирования делает процесс распознавания более схожим с процессом восприятия человеком.
Дискретно-косинусное преобразование
Последним этапом является вычисление дискретно-косинусного преобразования логарифма энергии набора фильтров. Так как все полосы пропускания фильтров перекрываются, энергии в наборе фильтров достаточно кор-
релируют друг с другом, поэтому необходимо провести декорреляцию по следующей формуле [14]:
где j = 1, 2,..., J - номер МЧКК; J - желаемое число коэффициентов.
Обычно для распознавания используют 12-15 МЧКК, так как чем выше индекс коэффициента, тем быстрее изменяется энергия в наборе фильтров. Практические исследования показали, что использование этих коэффициентов снижает качество распознавания.
Блок 7. Удаление 1-го МЧКК
В результате экспериментальных исследований выяснилось, что первый МЧКК в основном несет информацию об уровне звука речевых сигналов. Так как в процессе работы программы управления средствами технического назначения регистрация речевых сигналов может происходить с разными уровнями, то информация первого МЧКК становится избыточной. В представленном оптимальном алгоритме в дальнейшем анализе первый МЧКК не используется.
Блок 8. Нормализация МЧКК
Операция нормализации используется для придания равнозначности каждому МЧКК во фрагменте. Как известно, высокие частоты менее восприимчивы и МЧКК на этих частотах менее важны по сравнению с МЧКК на низких частотах. МЧКК на высоких частотах практически не влияют на результат. Нормализация МЧКК - это умножение каждого коэффициента на число (которое увеличивается с номером коэффициента). Таким образом, первые коэффициенты по уровню уменьшаются, а последние коэффициенты увеличиваются по уровню. Для этой операции используется формула
где Ь/ - величина, подбираемая эмпирически, равна 22.
Блоки 9, 10. Первое и второе приращения МЧКК
Нахождение первого и второго приращений значений МЧКК позволяет получить некоторую динамическую информацию о статических коэффициентах. Вектор коэффициентов описывает фиксированную спектральную огибающую одного фрагмента, но совершенно очевидно, что речевые сигналы также будут нести информацию и в динамике - незначительное изменение коэффициентов с течением времени. Использование приращений позволяет повысить качество распознавания и снизить влияние мультипликативных искажений сигнала, так как эти искажения обычно медленно меняются во времени и аддитивны в кепстральной области [14]. Для расчета приращений МЧКК используются следующие формулы:
МЕССэ+1( j) = МЕСС+1( j)(1 + Ь- 8Ш( /)),
(21)
и
X йСМЕСС5+1( j + й) — МЕСС5+1( j — й))
МЕСС _ j)
_ й=1
(22)
и
й=1
и
X й (МЕСС _ Б,+1( у + й) - МЕСС _ и+1 (у - й))
МЕСС _ иД+1( у) = ^-и-, (23)
2! й 2
а=1
где МЕСС_и^+1(у), МЕСС_ии^+1(у) - первое и второе дифференцирование МЧКК; МЕССз+1( у) - статические МЧКК; и - типовое значение дельта, равное 2.
Блоки 11, 12. Формирование базы шаблонов и векторов параметров Формирование базы шаблонов и векторов представляет собой объединение всех видов информативных параметров (энергия фрагментов в логарифмическом масштабе, МЧКК 2...и, МЧКК (норм.) 2...и, МЧКК 2'...«', МЧКК 2".и") в один вектор.
Блок 13. Динамическое трансформирование времени Произношение одного и того же слова обычно имеет разную длительность, так как различные части слова произносятся с разной скоростью. Чтобы получить глобальную оценку расхождения между двумя речевыми образцами, представленными как вектора информативных параметров, должно быть выполнено выравнивание по времени. Для этого применяется метод динамического трансформирования времени [15], который является методикой эластичного сравнения вектора наблюдений с хранящимся шаблоном. Метод динамического трансформирования времени работает с фрагментами, т.е. анализ состоит из обработки вектора информативных параметров в регулярных интервалах.
Процесс сравнения векторов наблюдения с шаблоном начинается с расчета локальных отклонений между значениями двух векторов. В оптимальном алгоритме применяются самые распространенные способы вычисления отклонений:
- определение коэффициента корреляции по формуле
г(**+1, Л+1) = *'+*/'+1 ч Х7" ^ , (24)
где г(х^+1, +1) - элементы матрицы отклонения; х^+1 = МЕССсо (у) -
сравниваемый фрагмент речевой команды, представляющий собой вектор МЧКК; у3+1 = МЕССтоЛ (у) - шаблон фрагмента речевой команды, представляющий собой вектор МЧКК;
- вычисление абсолютного отклонения (евклидово расстояние) по формуле
й ( Х Уз +1) =
X (МЕСССотР.( у)-МЕССтой. (у ))2, (25)
где й (хз+1, уз+1) - элементы матрицы отклонений.
Использование двух способов вычисления отклонения для определения оценки расхождения между двумя сигналами повысит качество распознавания программы управления.
Заключение
На основе проведенного обзора и собственных исследований разработан оптимальный алгоритм обработки речевых команд СГУ. Представлена блок-схема алгоритма и подробно рассмотрено математическое описание работы блоков обработки.
Следующим этапом данной работы является экспериментальное исследование представленного оптимального алгоритма с целью подтверждения повышения эффективности обработки и распознавания речевых команд.
Список литературы
1. Development of a wireless voice control system for rehabilitative devices / P. Dubey, K. Pal, B. Champaty, D. N. Tibarewala // Circuit, Power and Computing Technologies (ICCPCT), 2014 International Conference on, 20-21 March 2014. - Р. 1185-1189.
2. Md. Sipon Miah. To Design Voice Control Keyboard System using Speech Application Programming Interface / Md. Sipon Miah, Tapan Kumar Godder // IJCSI International Journal of Computer Science Issues. - 2010. - Vol. 7 (6), Nov. - Р. 269-277.
3. Sphinx-4: A flexible open source framework for speech recognition / W. Walker, P. Lamere, P. Kwok, R. S. Bhiksha Raj, E. Gouvea, P. Wolf, J. Woelfel // Sun Microsystems, Inc. Tech. Rep. SMLI TR-2004-139. - Nov. 2004. - Р. 15.
4. The RWTH Aachen University Open Source Speech Recognition System / R. David, G. Christian, H. Georg, N. Hermann // Human Language Technology and Pattern Recognition Computer Science Department, RWTH Aachen University, Germany. -Р. 4.
5. Lee, A. Julius - an open source real-time large vocabulary recognition engine / A. Lee, T. Kawahara, K. Shikano // Proc. European Conf. on Speech Communication and Technology, Aalborg, Denmark. - Sep. 2001. - Р. 1691-1694.
6. Устройство голосового управления системой домашней автоматизации Z-Wave / А. К. Алимурадов, А. Ю. Тычков, П. П. Чураков, Ю. С. Квитка // Измерение. Мониторинг. Управление. Контроль. - 2014. - № 2 (8). - С. 48-58.
7. Алимурадов, А. К. Обработка речевых команд в системах голосового управления / А.К. Алимурадов // Измерение. Мониторинг. Управление. Контроль. - 2014. -№ 1 (7). - С. 50-57.
8. Алимурадов, А. К. Интеллектуальная обработка речевых сигналов в системах автоматического управления / А. К. Алимурадов, А. Ю. Тычков // Известия Кабардино-балкарского государственного университета. - 2012. - Т. 2, № 5. - С. 66-67.
9. Алимурадов, А. К. Разработка и исследование системы голосового управления высокоинтеллектуальным комплексом «УМНЫЙ ДОМ» / А. К. Алимурадов, А. Ю. Тычков, Ф. Ш. Муртазов // Проблемы автоматизации и управления в технических системах : сб. ст. Междунар. науч.-техн. конф. / под ред. М. А. Щербакова. - Пенза : Изд-во ПГУ, 2013. - С. 315-318.
10. Рабинер, Л. Р. Цифровая обработка речевых сигналов : пер. с англ. / Л. Р. Рабинер, Р. В. Шафер. - М. : Радио и связь, 1981. - 496 с.
11. Huang, X. Spoken Language Processing. Guide to Algorithms and System Develop-men / X. Huang, A. Acero, H.-W. Hon. - Prentice Hall, 2001. - 980 p.
12. Методы автоматического распознавания речи : в 2 кн. : пер. с англ. / У. А. Ли, Э. П. Нейбург, Т. Б. Мартин и др. ; под ред. У. Ли. - М. : Мир, 1983. - Кн. 1. -328 с.
13. Методы автоматического распознавания речи : в 2 кн. : пер. с англ. / Д. Х. Клетт, Дж. А. Барнет, М. И. Бернстейн и др. ; под ред. У. Ли. - М. : Мир, 1983. - Кн. 2. -392 с.
14. Изучение методов анализа и обработки сигналов : учеб. пособие : в 2 ч. / П. П. Чураков, А. Ю. Тычков, А. К. Алимурадов. - Пенза : Изд-во ПГУ, 2014. -Ч. 1. Современные методы обработки речевых сигналов. - 72 с.
15. Goldenstein, S. Time warping of audio signals / S. Goldenstein, J. Gomes // Computer Graphics International / Proceedings, 1999. - Р. 52-57.
Алимурадов Алан Казанферович
научный сотрудник, НИИ фундаментальных и прикладных исследований, Пензенский государственный университет E-mail: alansapfir@yandex.ru
Alimuradov Alan Kazanferovich researcher,
Institute of fundamental and applied research, Penza State University
УДК 004.934 Алимурадов, А. К.
Оптимальный алгоритм обработки речевых команд для системы голосового управления / А. К. Алимурадов // Модели, системы, сети в экономике, технике, природе и обществе. - 2015. - № 2 (14). - C. 139-149.