Алгоритм выделения основного тона и детектирования тон/не тон по минимумам разностной функции на участке минимального периода

Математические структуры и моделирование 2011, вып. 22, с. 24-27

УДК 519.688:534.4

АЛГОРИТМ ВЫДЕЛЕНИЯ ОСНОВНОГО ТОНА И ДЕТЕКТИРОВАНИЯ ТОН/НЕ ТОН ПО МИНИМУМАМ РАЗНОСТНОЙ ФУНКЦИИ НА УЧАСТКЕ МИНИМАЛЬНОГО ПЕРИОДА

Е. А. Первушин, Д. Н. Лавров

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

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

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

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

Алгоритмы, использующие автокорреляционную или кратковременную функцию среднего значения разности (КФСР) [4], вычисляют некоторую интегральную для заданного интервала характеристику и по ней оценивают значение периода. При этом вычисленное значение при соответствующем нормировании является также мерой вокализованноети. Алгоритмы данного класса обладают приемлемым сочетанием простоты и точности, однако чувствительны к изменениям формы речевого сигнала. Поэтому в данной работе предлагается модификация алгоритма, основанного на вычислении КФСР. Выбор между

Copyright © 2011 Е. А. Первушин, Д. Н. Лавров.

Омский государственный университет им. Ф. М. Достоевского. E-mail: pervushin_evgen@mail. ru

Математические структуры и моделирование. 2011. Выи. 22.

25

автокорреляционной функцией и КФСР основан на более простом вычислении последней. Более детальное сравнение этих функций можно найти в [2].

В общем виде КФСР (иногда эту функцию называют разностной или сдвиговой) определяется как

СО

Sn(h) = \s(n +m)wi(m) — s(n + m — h)w2(m — h)\,

m=—oc

где s{t) — функция сигнала; wi, W2 — оконные функции. Очевидно, что если участок s(t), попадающий в окно, имеет квазипериодический характер с периодом Т, то функция Sn будет иметь ярко выраженные минимумы при // / '. 2 /... Условие наличия такого минимума будет использоваться для опре-

деления тон/не тон, т, е, является ли участок вокализованным или невокализованным, Пример вокализованных и невокализованных участков речи, а также соответствующих им функций разности, приведён на рис, 1,

Рис. 1. Пример участков сигналов и их разностных функций: вокализованный участок

Для работы алгоритма потребуется зафиксировать несколько констант:

Г,г ~ максимальное значение периода, выраженное в отсчётах;

; / I. / ) — интервал, использующийся для проверки на наличие тона;

. 11 — коэффициент для задания порога на наличие тона;

А2 — коэффициент для задания порога, использующийся в проверке, не найден ли период, кратный основному.

26 Е. А. Первушин, Д. Н. Лавров. Алгоритм выделения основного тона.

На каждой итерации алгоритма исследуется часть сигнала, попадающая в прямоугольное окно размера Ттах

1, Пусть в», г = 1,..., Г,,,,,., — отсчёты сигнала, попадающие в окно на данной итерации,

2, Вычисляются значения разностей

3, Вычисляется наиболее вероятное значение периода, выраженное в от-

4, Если Т Г>. ю полагаем, что на данном участке нет основного тона; конец итерации,

5, Если существует / такой, что

также полагаем, что на данном участке нет основного тона, и переходим к следующей итерации,

6, Обозначим S = ST

7, Находим минимум среди значений Sp2,..., Si г • Пусть 7\ — точка, в которой достигается минимум. Если .s'/ < A2S, то положим Т = Т\ и вернёмся к началу шага 7,

8, Считаем полученное значение Т периодом основного тона,

В случае нахождения периода, окно сдвигается на величину / . в противном случае — на величину Ттах/2,

Константы, необходимые для работы алгоритма, определим следующим образом, Положим, что алгоритм должен искать периоды основного тона, соответствующие диапазону частот F0min — F0max Гц, тогда Ттах = 1 /F0minrate, где rate — частота дискретизации сигнала. Определим теперь Tmin = 1 /Fomaxrate — минимальное значение периода основного тона. Положим Pi = 1/3Tmin,

12 = 2/3Tmin, тогда (Pi, P2) — подынтервал интервала (0, Tmin), в котором маловероятно появление минимума значений Sh- При фиксированных значениях Pi и / 2 настраиваются параметры . 11. . Ь для удовлетворения целей приложения, в котором используется данный алгоритм.

Так, например, для системы идентификации дикторов, предложенной в [3], алгоритм выделения основного тона должен быть настроен таким образом, чтобы, с одной стороны, он не выделял периоды, на которых нельзя с уверенностью утверждать наличие тона, и с другой стороны, должно быть выделено достаточное количество периодов для представления шаблона диктора. Эффективность

1 П < t < Т

± j ^ -1- max

О, в противном случае

Ттах

max

i= 1

счетах

T = arg min Sh-

h&

Si < AiSt, і Є

выбранных значений параметров в данном приложении оценивается по итоговому проценту верных идентификаций при данной базе. При заданных значениях Fomin = ТО Гц, F0max = 450 Гц в результате экспериментов над тестовой базой были выбраны значения порогов Ai = 1, 3 и А2 = 1,15,

Помимо определения мгновенных значений периодов основного тона, часто требуется указать начало периода, например, для системы синтеза речи. Распространёнными являются следующие два подхода. Один из них в качестве начала периода определяет точку максимального значения сигнала в пределах найденного периода. Такой подход проще в реализации и, возможно, способен на более точное определение начала периода ввиду определённой выраженности максимума речевого сигнала.

Однако более часто, особенно в системах синтеза (см,, например, [1]), используется другой подход, который определяет в качестве начала периода точку перехода сигнала через ноль слева от точки максимума, В своей работе автор использует и другие подходы, при которых сначала находится точка максимума, а затем определяется начало периода, отстоящее слева от точки максимума на расстояние, фиксированное по времени либо зависящее от длины найденного периода.

Предложенный в данной работе алгоритм выделения основного тона, принятия решения тон/не тон и разметки на периоды использовался в системе распознавания дикторов. Алгоритм не требует сложных вычислений и многочисленных настроек и может быть применён в системах анализа и синтеза речи, распознавании речи, распознавании дикторов и других приложениях.

Литература

1. Бабкин А. В. Автоматический синтез речи — проблемы и методы генерации речевого сигнала // Труды Международного семинара по компьютерной лингвистике и её приложениям «Диалог’98». М., 1998.

2. Баронин С. П. Автокорреляционный метод выделения основного тона речи. Пятьдесят лет спустя // Речевые технологии. 2008. Вып. 2. С. 3-12.

3. Первушин Е. А., Лавров Д. Н. Система идентификации диктора на основе выделения информативных участков речевого сигнала // Материалы II межвузовской научно-практической конференции ОмГТУ «Информационные технологии и автоматизация управления». 2010. С. 188-189.

4. Рабинер Л. Р., Шафер Р. В. Цифровая обработка речевых сигналов: пер. с англ. М., 1981. 496 с.