Информационные технологии Вестник Нижегородского университета им. Н.И. Лобачевского, 2012, № 6 (1), с. 175-179
УДК 534.87
АЛГОРИТМ ВЫДЕЛЕНИЯ ВОКАЛИЗОВАННЫХ УЧАСТКОВ РЕЧЕВОГО СИГНАЛА
© 2012 г. В.А. Утробин, В.Е. Гай
Нижегородский государственный технический университет им. Р.Е. Алексеева
Поступвла в редакцвю 21.05.2012
Разработан алгоритм выделения вокализованных компонент речевого сигнала. Предлагаемый алгоритм основан на ^/-преобразовании. Эффективность предложенного метода подтверждается результатами вычислительного эксперимента.
Ключевик слова: цифровая обработка речевых сигналов, преобразование Уолша, сегментация речевого сигнала.
Введение
В речевом сигнале можно выделить два основных типа структур: периодическая (вокализованные звуки) и шум (невокализованные). Периодическая структура возникает при использовании в артикуляции источника колебаний - голосовых связок. Шумовые источники подразделяются на турбулентные и импульсные. Кроме периодического и шумового типа звуков, существуют звуки, в образовании которых принимают участие шумовой источник и голосовые связки [1]. Одним из наиболее значимых параметров периодического сигнала является частота основного тона. Оценка частоты основного тона выполняется по вокализованной компоненте. Рассмотрим алгоритм, предлагаемый для решения задачи поиска в речевом сигнале вокализованных компонент.
Обзор алгоритмов сегментации
Рассмотрим алгоритмы, используемые для сегментации сигналов. В [2] описывается метод, основанный на подсчёте числа переходов сигнала через ноль, а также вычислении энергии сигнала на коротком временном промежутке. Один из недостатков данного метода - необходимость вычисления свёртки для оценки энергии. Средняя точность оценки сегментов сигнала составляет 67%.
При сегментации сигнала часто используются мел-кепстральные коэффициенты и кепст-ральные коэффициенты линейного предсказания [3]. Алгоритмы, основанные на их использовании, отличаются вычислительной сложностью.
В [4] рассматривается алгоритм сегментации речевого сигнала, основанный на вычислении
энергии Тигра [4]. Средняя точность алгоритма составляет 87%.
Описание предлагаемого алгоритма
Для решения поставленной задачи предлагается алгоритм, основанный на и-
преобразовании [5, 6]. и-преобразование заключается в формировании многоуровневого (грубо-точного) представления сигнала с помощью фильтров Уолша системы Хармута [7, 8], причём:
1) для построения каждого уровня разложения используются фильтры одинаковой длины, которые масштабируются до размера анализируемого участка сигнала;
2) сначала фильтры применяются ко всему сигналу, затем - к его частям.
Решение задачи поиска вокализованных компонент не требует формирования всего дерева разложения: достаточно построения только одного уровня. В этом случае результат применения и-преобразования к исходному сигналу g(t) представляет собой набор спектров, D = = ^}, где Dj - ]-й спектр разложения (р = = Ц[,?(0]). Каждый спектр включает Ь коэффициентов Dj = {йо, ..., йь-1}, вычисленных по сегменту сигнала длиной М отсчётов, Ь - число фильтров Уолша системы Хармута, используемых при формировании спектра.
Исследования показали, что спектральные представления участков сигнала, относящихся к паузам и невокализованным звукам, подобны: значения спектральных коэффициентов таких участков значительно меньше значений спектральных коэффициентов вокализованных участков сигнала. Также необходимо отметить, что спектральные коэффициенты вокализован-
ных участков сигнала значительно отличаются друг от друга по величине (см. табл. 1).
Указанные особенности спектров вокализованных и невокализованных участков сигнала объясняются следующим образом:
1) при вычислении спектрального представления сегмент сигнала разбивается на участки, число которых равно количеству используемых фильтров;
2) фильтры Уолша системы Хармута вычисляют разницу между частями анализируемого сегмента сигнала;
3) для невокализованного участка количество переходов через ноль приблизительно одинаково в каждой части сегмента. Для вокализованного участка количество переходов через ноль в разных частях сегмента различно (в некоторых случаях их может не быть ни одного). В результате:
3.1) спектральные коэффициенты вокализованного сегмента по абсолютному значению больше спектральных коэффициентов невокализованного сегмента сигнала, а также значи-
тельно отличаются друг друга. Указанная особенность является следствием большой разницы по амплитуде между частями сегмента;
3.2) спектральные коэффициенты невокализованного сегмента вследствие того, что в каждой из частей сигнала диапазон амплитуд приблизительно одинаков, близки друг к другу по абсолютному значению.
Следовательно, разность между спектрами, относящимися к вокализованным участкам, будет больше, чем между спектрами, относящимися к невокализованным участкам.
На рис. 1 показаны вокализованные и невокализованные участки речевого сигнала.
В табл. 1 приведены спектральные коэффициенты (М= 100, указаны отклики только 1-3 фильтров), полученные в результате анализа сигналов, показанных на рис. 1.
С учётом вышесказанного предлагается следующий алгоритм выделения вокализованных компонент речевого сигнала:
1) построить спектральное представление D сигнала £(/) с использованием и-преобразования
Спектры сигналов
Таблвца 1
Спектр № 1 Спектр № 2 Спектр № 3 Спектр № 4 Спектр № 5
-0.44, -0.02, -0.68 0.04, 0.04, 0.39 -0.19, 0.09, -0.63 -0.06, 0, 0.25 -0.13, 0.13, 0.10
зашумлённая пауза:
Спектр № 1 Спектр № 2 Спектр № 3 Спектр № 4 Спектр № 5
0.13, 0.16, -0.07 -0.05, -0.14, 0.15 -0.02, 0.02, -0.12 0.03, -0.01, 0.04 0, -0.02, -0.09
вокализованный звук:
Спектр № 1 Спектр № 2 Спектр № 3 Спектр № 4 Спектр № 5
-9.42, 9.07, 4.26 -12.91, 4.73, 3.98 -14.81, -0.20, 2.15 -14.13, -4.53, -0.13 -12.01, -7.91, -2.42
в)
Рис. 1. а) невокализованный звук; б) зашумлённая пауза; в) вокализованный звук
для одномерных сигналов, формируется только один уровень разложения;
2) выполнить сравнение спектров разложения D друг с другом, записать результат сравнения в массив N: если суммарная величина разницы элементов /-го и j-го спектров, взятая по абсолютной величине, меньше порога T1, то значение /-го элемента массива N увеличивается на единицу (при сравнении спектров не учитывается отклик нулевого фильтра);
3) выделить в сигнале вокализованные участки. Сформировать массив R (длина массива R равна длине массива N):
1, N< T • max (N),
0, иначе;
4) выполнить поиск в массиве R последовательностей единиц. Каждая такая последовательность соответствует вокализованному участку исходного сигнала. Таким образом, после обработки массива R будет получено разбиение исходного сигнала на вокализованные/невокализованные участки.
После определения участков сигнала, соответствующих вокализованным компонентам, необходимо выполнить разделение оставшихся сегментов сигнала на паузы и шумовые звуки. Для решения этой задачи вычисляется абсолютная сумма элементов спектра. Для спектров, относящихся к шумовым сегментам сигнала, данная сумма будет больше, чем для спектров, относящихся к паузам. Также необходимо учитывать, что после вокализованного сегмента не
Уточнение границ вокализованного участка
Выделенная вокализованная компонента может включать периоды, диапазоны амплитуд которых могут значительно отличаться (выделены пунктиром, см. рис. 2). Указанная особенность способна снизить точность работы алгоритмов, использующих данный участок сигнала. Исследования показали, что неоднородность амплитуд периодов больше по краям сигнала, чем в его центре.
Проанализируем модельный сигнал (см. рис. 3), по структуре похожий на сигнал, приведённый на рис. 2. Модельный сигнал состоит из четырёх периодов, каждый из которых включает четыре отсчёта (количество отсчётов в периоде для эксперимента значения не имеет). Сформируем ^-представление сигнала.
Пусть длина анализируемого сегмента и смещение по сигналу равно четырём отсчётам. После выполнения разложения получим четыре спектра: 1) 4, 4, 0, 0; 2) 28, 28, 0, 0; 3) 28, 28, 0, 0; 4) 8, 8, 0, 0.
Вычислим среднеквадратическое отклонение (СКО) коэффициентов всех спектров сигнала: STD [4, 0, 0, 28, 0, 0, 28, 0, 0, 8, 0, 0] = 10.71 (STD [•] - оператор вычисления СКО), СКО коэффициентов второго и третьего спектров: STD [28, 0, 0, 28, 0, 0] = 14.45 (отклик нулевого фильтра не рассматривается).
Можно отметить, что СКО коэффициентов второго и третьего спектров больше СКО коэффициентов первого и четвёртого спектров. Полученный результат указывает на то, что включение в сигнал периодов с меньшим диапазоном амплитуд по сравнению с уже присутствующими периодами, приводит к уменьшению значения СКО коэффициентов спектров.
Следовательно, искомым является тот участок сигнала, на котором СКО коэффициентов максимально.
Рассмотрим алгоритм, предназначенный для поиска участка вокализованной компоненты, состоящей из периодов с приблизительно одинаковыми диапазонами амплитуд. В результате работы алгоритма будет сформирован массив B.
Пусть запись «g(Ai:A2)» обозначает взятие части сигнала g с отсчёта с номером A1 по отсчёт с номером А2 включительно. Описание алгоритма:
1) k = 1, t1 = 1, t2 = K, где k - индекс элемента в массиве В, K - количество отсчётов в сигнале g;
2) сформировать сигнал g из g: g = g(t1 : t2);
3) вычислить ^-разложение сигнала gf: D=Ug];
4) вычислить СКО элементов каждого спектра разложения, взятых по абсолютной величи-
может сразу идти пауза.
Время
Рис. 3. Тестовый сигнал
не, за исключением элемента, полученного в результате применения нулевого фильтра Уолша:
V k е [1; Е]:
B(k) = STD [ | D(1:L-1) | ], где Е — количество спектров в разложении D;
5) t1 = t1 + T, выполнить шаги 2-4, после чего перейти на шаг 6;
6) t2 = t2 - T, выполнить шаги 2-4, после чего перейти на шаг 7;
7) Если t2 < p ■ K, то сформировать сигнал g': g' = g(ti : t2) и перейти на шаг 2, в противном случае - окончание работы алгоритма.
Сформировав массив B, определим его максимальный элемент. Индекс максимального элемента указывает на участок исходного сигнала, на котором диапазоны амплитуд периодов отличаются в наименьшей степени.
Параметр p определяет минимально возможную длину сигнала g (K • (100 - p • 100 • 2) отсчётов). Значение Т2 (данный параметр определяет величину, на которую увеличивается сигнал g' на каждом шаге алгоритма) предлагается вычислять следующим образом:
T2 = [K / 5],
где [•] - операция округления дробного числа. При использовании указанного выражения для вычисления значения параметра T2 время обработки сигнала g будет одинаковым для сигналов разной длины.
Вычислительный эксперимент
При тестировании алгоритма использовалась запись речи 9 дикторов. Амплитуда каждой записи нормализована на отрезке [0; 1] (частота дискретизации - 16 кГц, глубина кодирования - 16 бит).
В табл. 2 приведены результаты исследования разработанного алгоритма на девяти сигналах. Приводится ошибка выделения сегментов.
Полученные результаты сравнимы с результатами, приведёнными в работах [2-4].
Эксперименты показали, что обработку по уточнению границ вокализованных сегментов стоит проводить только для вокализованных
компонент длительностью более 80 мс. Это объясняется тем, что при проведении указанной обработки компоненты меньшей длительности сложно выбрать сегмент с указанными характеристиками.
Рекомендации по выбору значений параметров алгоритма:
1) пусть известны значения параметров Т и L, при которых алгоритм для заданного сигнала выделяет вокализованные компоненты, тогда при дальнейшем изменении значений этих параметров необходимо учитывать следующие замечания:
1.1) при уменьшении длины сегмента L значение порога Т также необходимо уменьшать, в противном случае это приведёт к тому, что алгоритм не сможет выделить вокализованные участки;
1.2) при увеличении длины сегмента L значение порога Т также нужно увеличивать, иначе алгоритм вместе с вокализованными сегментами будет выделять участки сигнала, находящиеся рядом с компонентой и отличающиеся от неё по структуре (например, такие участки не будут содержать периодов, входящих в компоненту);
1.3) рекомендуемый диапазон значений параметра L: [30; 200], выбор L >> 200 может значительно снизить точность выделения вокализованных участков;
2) значение параметра Т2 влияет на точность выделения вокализованных участков: по сравнению с некоторым заданным значением параметра Т2 уменьшение/увеличение его значения приведёт к выделению вокализованных участков меньшей/большей длины, причём во втором случае неравномерность амплитуд периодов, составляющих вокализованный участок, будет больше, чем в первом.
Заключение
В работе описывается алгоритм выделения вокализованных компонент речевого сигнала. Предлагается метод поиска части вокализован-
Таблица 2
Точность работы алгоритма___________________________________________
Номер сигнала Шумовая компонента Вокализованная компонента Пауза Всего
1 5 4.6 3.2 12.8
2 3.7 1.0 3.5 8.2
3 7.7 5.3 1.6 14.6
4 6.3 5.4 5.9 17.6
5 7.8 8.7 2.7 19.2
6 9.4 4.9 0.5 14.8
7 9.8 4.0 7.6 21.4
8 2.0 6.8 2.5 11.3
9 1.4 7.5 4.5 13.4
ной компоненты, которая включает периоды с близкими диапазонами амплитуд.
Достоинствами предложенного алгоритма являются низкая вычислительная сложность и простота реализации. Предложенный алгоритм может применяться, например, при определении частоты основного тона речевого сигнала, выборке данных для алгоритма идентификации диктора и т.д.
Список литературы
1. Конев А.А. Модель и алгоритмы анализа и сегментации речевого сигнала: Автореф. дис. ... канд. техн. наук. Томск, 2007. 20 с.
2. Rabiner L.R., Schafer R.W. Digital Processing of Speech Signals. Prentice-Hall, Englewood Cliffs, 1978. 512 p.
3. Gu L., Zahorian S.A. A New Robust Algorithm for Isolated Word Endpoint Detection // International Conference on Acoustics, Speech, and Signal Processing. Orlando, Florida, May 13-17, 2002. P. 233-235.
4. Caruntu A., Toderean G., Nica A. Automatic Silence/Unvoiced/V oiced Classification of Speech Using a Modified Teager Energy Feature // WSEAS Int. Conf. on Dynamical systems and control. Venice, Italy, November 2-4, 2005. P. 62-65.
5. Утробин В.А. Физические интерпретации элементов алгебры изображения // Успехи физических наук. 2004. Т. 174. № 10. С. 1089-1104.
6. Утробин В.А. Компьютерная обработка изображений. Принятие решений в пространстве эталонов. Н. Новгород: НгТу, 2004. 221 с.
7. Хармут Х.Ф. Применение методов теории информации в физике: Пер. с англ. М.: Мир, 1989. 344 с.
8. Хармут Х.Ф. Передача информации ортогональными функциями: Пер. с англ. М.: Связь, 1975. 272 с.
SEGMENTATION ALGORITHM FOR VOCALIZED PARTS OF SPEECH SIGNAL
V.A. Utrobin, V.E. Gai
A segmentation algorithm for vocalized parts of speech signal based on the u-transform is described. The algorithm efficiency is confirmed by computer simulation results.
Keywords: digital processing of speech signals, Walsh transform, speech signal segmentation.