Мовний сигнал параметризується – розбивається на відрізки по 25 мс. Потім отримуємо вектор з 24 спектральних значень.
Кількість таких векторів може бути різною. Вона залежить від мовного сигналу, який опрацьовувався.
Після цього будуємо матрицю відстаней між векторами сигналу, що хочемо розпізнати, і векторами еталону.
рис.35
Базуючись на отриманій таблиці, будуємо таблицю шляхів.
, i=1,2,….,I j=1,2,…,J
рис.36
Мета – встановити найкращу відповідність між векторами. Наприклад, вектору a1 може відповідати b1 або b2, ..., bj, і т.д. Кожен вектор еталону можемо повторити, а можемо перейти до наступного вектора. Але повторювати два рази забороняється.
рис.37
Користуючись цією моделлю, будуємо шляхи (або діагональні, або вертикальні відрізки, дивитися рис. вище). Це буде виглядати :
Вибираємо мінімальний шлях. Це і буде відстанню між сигналом і еталоном. По якому еталону відстань буде мінімальною, тому еталону і відповідає наш сигнал.
Формально рух по матриці буде виглядати наступним чином :
Будь-який під шлях оптимального шляху має бути оптимальним.
Модель може бути ускладненою :
рис.38
Тоді дозволені шляхи виглядатимуть :
рис.39
І матриця шляхів S буде мати ще третій запис.
Така система добре працює для обмеженого словника і одного диктора. Але виникає неприємний момент : в мовному сигналі можуть бути паузи спочатку і в кінці , а в еталоні пауз немає. В такому випадку в еталоні можна додати вектори пауз, які можна повторювати.
рис.40
Наприклад, число векторів сказаного слова “п’ять” та еталонів “0..9” :
“5”
Приклад :
рис.41
Переглядів: 266
Не знайшли потрібну інформацію? Скористайтесь пошуком google: