М.Х. Карабалаева
М.Х. Карабалаева
Распознавание звука [қ] на основе предварительной сегментации речевого
сигнала с применением двухпорогового скалярного распознавателя
( Евразийский национальный университет им. Л.Н. Гумилева )
Статья посвящена обнаружению и распознаванию в устной речи специфического казахского звука [қ]. В основе
алгоритма распознавания лежит предварительная сегментация оцифрованного речевого сигнала, позволяющая разбить
звуки на классы гласных, звонких согласных и глухих согласных. Для последующего выделения звука [қ] в классе глухих
согласных используется комбинированный подход, сочетающий частотный анализ с анализом профильтрованного сигнала
во временн´
ой области.
Звук [қ] — глухой, твердый, заднеязычный звук, один из специфических звуков
казахского языка. В казахской речи он очень распространен, встречается в корнях слов в
разных позициях, а также в суффиксах и окончаниях.
Если взглянуть на фрагмент речевого сигнала, соответствующий звуку [қ], то на нем
явно выделяются два различных участка: паузообразный и следующий за ним шумный (рис.
1). Паузообразный участок имеет вид, характерный для глухих взрывных согласных (таких
как [п], [к], [т]), длится он от 100 до 200 мс, в среднем около 150 мс. Шумный участок имеет
вид, характерный для глухих фрикативных согласных (таких как [с], [х], [ш]), однако его
длительность гораздо меньше — от 20 до 120 мс, в среднем около 60 мс.
Рис.1. Визуализация звука [қ]
Рис.2. Визуализация звука [к’]
Рис.3. Визуализация звукосочетания [тш]
Есть еще два звука, графики которых имеют аналогичный вид, — это мягкий звук [т’]
перед гласным [е], и мягкий звук [к’] перед тем же [е]. Они так же состоят из паузообразного
участка и более короткого фрикативного участка (рис. 2).
Подобным образом выглядит и сочетание двух отдельных звуков — глухого взрывного
и глухого фрикативного, например, [тш] в слове «патша». Но фрикативные звуки [с], [х], [ш]
имеют б´
ольшую длительность — от 120 мс при быстром темпе речи, а при умеренном темпе —
170–240 мс (рис. 3), так что их легко отличить от фрикативных участков звуков [қ], [т’] и [к’]
по длительности.
Воспользуемся этим для распознавания звука [қ] в речевом сигнале.
107
Л.Н. Гумилев атындағы ЕҰҮ Хабаршы - Вестник ЕНУ им.Л.Н. Гумилева, 2010, №6
Обнаружение глухих согласных
В связи с содержанием этого и следующего разделов см. [1].
Как обнаружить в речевом сигнале участки, которые произносятся без участия голоса?
Звуковой
(в
частности,
речевой)
сигнал,
оцифрованный
звукозаписывающим
устройством, представляет собой массив отсчетов (сэмплов) x
i
. Назовем точками постоянства
такие отсчеты, для которых в следующий момент величина сигнала остается неизменной:
если x
i
= x
i
+ 1 , то i — точка постоянства.
Остальные отсчеты назовем точками непостоянства.
Для глухих взрывных согласных ([п], [к], [т]) характерны малая амплитуда сигнала и
большое количество точек постоянства, что делает их похожими на паузы. Для остальных
звуков, напротив, количество точек постоянства сравнительно мало.
Обработаем сигнал цифровым полосовым фильтром с полосой пропускания 100–200
Гц. При этом глухие фрикативные согласные ([с], [х], [ш]), а с ними и аффрикаты ([ч], [ц])
превратятся в паузообразные, аналогично глухим взрывным (рис. 4, 5).
Рис.4. Визуализация слова «кесе» до фильтрации
Рис.5. Визуализация слова «кесе» после фильтрации
Рис.6. Обнаружение участков с глухими согласными в слове «кесе»
Разобьем речевой фрагмент на одинаковые окна по n отсчетов (значение n выбирается
экспериментально, в зависимости от частоты дискретизации сигнала). Теперь участки с
глухими согласными можно выделить, оценив количество точек постоянства в каждом окне.
Например, можно вычислить разность между количеством точек постоянства и количеством
точек непостоянства для каждого окна. Если в нескольких идущих подряд окнах эта разность
превышает некий заданный порог, то такой участок соответствует одному или нескольким
глухим согласным (рис. 6).
108
М.Х. Карабалаева
Классификация взрывных и фрикативных согласных
На выделенном участке с глухими согласными, как отделить взрывные звуки от
фрикативных?
Определим для данного участка сигнала функцию V — вариацию с переменным верхним
пределом:
V (1) = 0, V (n) =
n−1
i=1
|x
i+1
− x
i
|
(1)
Эта функция будет возрастать для фрикативных быстрее, для взрывных медленнее,
так как для глухих взрывных согласных характерны малая амплитуда сигнала и большое
количество точек постоянства. Чтобы использовать этот факт для классификации взрывных
и фрикативных, определим также вспомогательную функцию W , возрастающую вместе с V ,
однако «сбрасываемую» на 0 по достижении некоторого фиксированного значения A .
Положим
W (n) = V (n) при 1 ≤ n ≤ N
1
,
(2)
где N
1
— максимальное число такое, что W (N
1
) ≤ A .
Положим
W (N
1
+ 1) = 0,
(3)
W (n) =
n−1
i=N
1
+1
|x
i+1
− x
i
| при N
1
+ 1 ≤ n ≤ N
2
,
(4)
где N
2
— максимальное число такое, что W (N
2
) ≤ A .
Продолжим ряд чисел N
1
, N
2
, ... , пока не закончится выделенный участок с глухими
согласными. При этом график функции W примет характерный вид (рис. 7).
Рис.7. График функции W для слова «кесе»
Теперь мы можем отделить фрикативные согласные от взрывных, оценив расстояния
между точками N
k
: для фрикативных они будут короче, для взрывных заметно длиннее.
Построим массив расстояний
N
1
, N
2
− N
1
, N
3
− N
2
, ...
(5)
Если на участке с глухими согласными элементы этого массива превышают некий
заданный порог, то этот отрезок сигнала соответствует взрывному звуку, иначе —
фрикативному (рис. 8).
Рис.8. Классификация взрывных и фрикативных в слове «кесе»
109
Л.Н. Гумилев атындағы ЕҰҮ Хабаршы - Вестник ЕНУ им.Л.Н. Гумилева, 2010, №6
Пусть в результате описанных выше действий мы обнаружили в речевом сигнале
фрагмент, произнесенный без участия голоса, и выделили на нем паузообразные и
фрикативные участки.
Если в сигнале есть паузообразный участок длительностью 100–200 мс и следующий
сразу за ним фрикативный участок длительностью 20–120 мс, то можно сделать вывод, что
в этом месте звучит казахский [қ], или [т’], или [к’]. Все другие кандидаты «отсекаются» по
длительности фрикативного участка, потому что, как упоминалось выше, самостоятельный
фрикативный звук ([с], [х] или [ш]) звучал бы значительно дольше.
Итак, у нас осталось три возможных кандидата — [қ], [т’], [к’]. Чтобы различить эти
звуки между собой, используем двухпороговый скалярный распознаватель, описанный далее.
Понятие о двухпороговом скалярном распознавателе
В связи с содержанием этого и следующего разделов см. [2].
Как различать звуки (или классы звуков) между собой?
Мы исходим из представления о том, что звук и слово — это акустически принципиально
разные фонетические объекты. Звук (и даже класс близких звуков) — объект спектрально
сравнительно однородный; слово же, напротив, состоит из спектрально разнородных частей.
Поэтому, распознавая слова целиком, мы должны использовать тот или иной вектор
признаков. Для распознавания же звуков (и их классов) более целесообразно использовать
подходящий скалярный признак или набор независимых скалярных признаков, каждый
из которых должен обеспечивать свой результат распознавания. Как правило, на основе
нескольких примеров можно указать интервалы, куда чаще всего попадают значения признака
для каждого класса из рассматриваемой пары классов. Значения за пределами этих интервалов
разумно интерпретировать как отказ от распознавания.
Построим обучаемый распознаватель, который для различения пары классов использует
один скалярный признак X . Зададим два числовых порога a, b . При
X < a
(6)
будем считать, что объект распознавания принадлежит первому классу; при
X > b
(7)
— второму. При
a < X < b
не выполняется ни (6), ни (7), и мы фиксируем отказ от распознавания.
Вначале задаются достаточно малое инициальное значение a и достаточно большое
инициальное значение b . Если, пользуясь ими при распознавании, система не определит объект
первого класса, то число a слишком мало. После того, как пользователь укажет истинный
результат, система должна заменить a вычисленным значением признака, увеличив последнее,
скажем, на 0,1. Таким образом, в процессе обучения число a может только расти. Аналогично
число b может только убывать. При этом обеспечивается все большая надежность в случае
принятия решения. Если, начиная с некоторого момента, окажется
a > b,
(8)
то при попадании X в ( b, a ) для распознаваемого объекта выполняются оба неравенства
(6) и (7), то есть он должен быть отнесен к обоим классам сразу, что невозможно, так как
предполагается, что класс должен определяться однозначно. Таким образом, в случае (8)
попадание X в ( b, a ) должно означать отказ от распознавания.
Обучение распознавателя состоит в модификации порогов a, b и продолжается до
тех пор, пока система не проработает без ошибок на протяжении, скажем, десяти циклов
110
М.Х. Карабалаева
распознавания. Тогда распознаватель будет либо с высокой надежностью принимать
правильное решение, либо отказываться от распознавания.
Распознавание пар звуков при помощи двухпороговых распознавателей
Для выделенного глухого фрикативного участка, как определить, какому именно звуку
он принадлежит?
Для решения этой задачи используем комбинированный подход, сочетающий частотный
анализ (обработку сигнала набором полосовых фильтров) с анализом профильтрованного
сигнала во временной области.
Пусть у нас имеется некий выделенный участок речевого сигнала. Разобьем его на окна
по n отсчетов. Пусть у нас получилось всего m окон. В каждом окне вычислим величину
V =
n−1
i=1
|x
i+1
− x
i
|
(9)
— численный аналог полной вариации функции для дискретного случая. Посчитаем среднее
арифметическое для m величин вида (9), вычисленных для последовательных окон по n
отсчетов. Назовем эту величину вариацией V выделенного участка.
Используем также численный аналог полной вариации функции с переменным верхним
пределом (1) для определения новой величины — вариационной меры сигнала.
Возьмем вспомогательную функцию W (2, 3, 4), возрастающую вместе с V , однако
«сбрасываемую» на 0 по достижении некоторого фиксированного значения A . Построим
массив (5) — массив расстояний между соседними точками N
k
, в которых происходит «сброс»
функции W .
Возьмем среднее арифметическое элементов массива (5) для выделенного участка
сигнала. Назовем эту величину вариационной мерой или просто мерой M выделенного участка.
Теперь вернемся к нашему короткому фрикативному участку, относительно которого мы
должны решить, относится он к звуку [қ] или нет.
Обработаем выделенный фрикативный участок цифровым полосовым фильтром с
полосой пропускания от 0 до 200 Гц (получим на выходе значения с плавающей точкой).
В результате фильтрации амплитуда сигнала значительно уменьшится, поэтому домножим
профильтрованный сигнал на коэффициент 10. На выделенном участке с профильтрованным
сигналом вычислим вариацию V
1
и меру M
1
. Эти значения соответствуют компоненте номер
1 (полосе пропускания 0–200 Гц).
Затем обработаем исходный участок фильтром с полосой пропускания от 200 до 400 Гц,
умножим результат на коэффициент 10 и вычислим для него вариацию V
2
и меру M
2
. Эти
значения соответствуют компоненте номер 2 (полосе пропускания 200–400 Гц).
Применяя таким же образом последовательно полосовые фильтры с полосой пропускания
200 Гц и заканчивая фильтром от 4800 Гц до 5000 Гц, получим наборы чисел для всех 25-ти
компонент:
V
1
, V
2
, . . . , V
25
и M
1
, M
2
, . . . , M
25
.
Наконец, вычислим величины
Z
i
= V
i
/M
i
, i = 1, 2, . . . , 25.
(10)
Используем эти величины в качестве признаков для двухпороговых скалярных
распознавателей, позволяющих различать пары звуков между собой.
111
Л.Н. Гумилев атындағы ЕҰҮ Хабаршы - Вестник ЕНУ им.Л.Н. Гумилева, 2010, №6
Запишем речевой сигнал, содержащий пару звуков [қ], [т’]. Выделив фрикативные
участки сигнала, принадлежащие этим звукам, вычислим для них величины (10), которые
обозначим через
Z
i
(қ) и Z
i
(т’), i = 1, 2, . . . , 25,
(11)
соответственно.
Для выделения компонент, лучше других различающих рассматриваемые звуки,
используем отношения величин (11). Пусть числа k , l таковы, что
Z
k
(қ)/Z
k
(т’) = max
1≤i≤25
[Z
i
(қ)/Z
i
(т’)],
Z
l
(т’)/Z
l
(қ) = max
1≤i≤25
[Z
i
(т’)/Z
i
(қ)].
Тогда в качестве основного признака для различения [қ] и [т’] между собой возьмем
величину
X(қ, т’) = Z
k
/Z
l
,
так как отношение
[Z
k
(қ)/Z
l
(қ)]/[Z
k
(т’)/Z
l
(т’)] = [Z
k
(қ)/Z
k
(т’)] × [Z
l
(т’)/Z
l
(қ)]
при указанном выборе k, l достигает, как легко видеть, максимального возможного значения.
Настройка
порогов
для
двухпорогового
скалярного
распознавателя
описана
в
предыдущем разделе. Для нашего микрофона и звуковой карты при распознавании пары
звуков [қ], [т’] между собой оказался эффективным распознаватель с параметрами k = 25, l =
7, a = 7, b = 10 . Такие же параметры используются и при распознавании пары [қ], [к’].
Теперь, используя последовательно алгоритм обнаружения глухих согласных, алгоритм
разделения глухих согласных на взрывные и фрикативные, двухпороговые скалярные
распознаватели для пар [қ], [т’] и [қ], [к’], мы можем с высокой надежностью распознавать
в речевом сигнале специфический казахский звук [қ] (рис. 9).
Рис.9. Сегментация слова «ақпан». Метки: W — гласный звук, K — звук [қ], P — паузообразный звук
(глухой взрывной), C — голосовой согласный звук.
СПИСОК ЛИТЕРАТУРЫ
1. Шелепов В.Ю., Ниценко А.В. Структурная классификация слов русского языка. Новые
алгоритмы сегментации речевого сигнала и распознавания некоторых классов фонем //
Искусственный интеллект. – 2007. – №1. – С. 213–224.
2. Шелепов В.Ю., Ниценко А.В., Жук А.В., Азаренко Д.С. О распознавании фонем с помощью
анализа речевого сигнала в частотной и временной областях. Приложение к распознаванию
синтаксически связных фраз // Речевые технологии. – 2008. – №2. – С. 43–52.
Қарабалаева М.Х.
Екi табалдырықты скалярлық танығыштың қолдануымен сөйлеу сигналын алдын ала сегменттеу
негiзiнде [қ] дыбысын айырып тану
Мақала ауызекi қазақ тiлiндегi спецификалық [қ] дыбысын анықтау және айырып тануға арналған. Айырып тану
алгоритмiнiң негiзiнде дыбыстарды дауысты дыбыстар, ұяң және қатаң дауыссыз дыбыстар топтарына бөлуге мүмкiндiк
беретiн цифрланған сөйлеу сигналын алдын ала сегменттеу жатыр. Қатаң дауыссыз дыбыстар тобындағы [қ] дыбысының
содан соңғы ерекшеленуi үшiн уақыт аумағындағы фильтрленген сигнал талдауы мен жиiлiк талдауын үйлестiретiн
құрама жол қолданылады.
112
М.Х. Карабалаева
Karabalayeva M.Kh.
Recognition of the [қ] sound based upon preliminary segmentation of the digitized speech signal with
the use of a dual-threshold scalar recognizer
The article considers detection and recognition of the specific Kazakh sound [қ] in speech. The described algorithm of
recognition is based upon preliminary segmentation of the digitized speech signal, which makes it possible to divide sounds into
classes of vowels, voiced consonants and voiceless consonants. The [қ] sound is subsequently singled out of the class of voiceless
consonants by the use of a complex approach, which combines frequency analysis with analysis of the filtered signal in the time
domain.
Поступила в редакцию 15.09.10
Рекомендована к печати 30.10.10
113
Достарыңызбен бөлісу: |