Моделювання роботи препроцесора для попередньої обробки мовних сигналів.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Електронні обчислювальні машини

Інформація про роботу

Рік:
2003
Тип роботи:
Методичні вказівки до лабораторної роботи
Предмет:
Проектування комп’ютерних засобів цифрової обробки сигналів та зображень

Частина тексту файла (без зображень, графіків і формул):

Міністерство Освіти і Науки України Національний Університет “Львівська Політехніка”  Кафедра ЕОМ Моделювання роботи препроцесора для попередньої обробки мовних сигналів Методичні вказівки до лабораторної роботи № 2 з курсу “Проектування комп’ютерних засобів цифрової обробки сигналів та зображень” для студентів спеціальностей 7.091501 і 8.091501 "Комп'ютерні системи та мережі" 7.091503 і 8.091503 “Спеціалізовані комп'ютерні системи“ Затверджено на засіданні кафедри ”Електронні обчислювальні машини” Протокол №  від 2003 р. Львів – 2003 Моделювання роботи препроцесора для попередньої обробки мовних сигналів : Методичні вказівки до лабораторної роботи № 2 з курсу “Проектування комп’ютерних засобів цифрової обробки сигналів та зображень” для студентів спеціальностей 7.091501 і 8.091501 "Комп'ютерні системи та мережі" 7.091503 і 8.091503 “Спеціалізовані комп'ютерні системи“ / Укладачі: Є. Ваврук, Р. Попович – Львів: Національний університет “Львівська політехніка”, 2003, 10 с. Укладачі: Є. Ваврук, к.т.н., ст.викл. Р. Попович, к.т.н., доцент Відповідальний за випуск: Мельник А. О., професор, завідувач кафедри Рецензенти: Пуйда В.Я., к. т. н, доцент Троценко В.В., к. т. н, доцент Мета роботи Опрацювати та випробувати в середовищі MATLAB 6.0 програму, яка реалізує етапи попередньої обробки мовних зразків. Вступні пояснення Сучасні системи для розпізнавання суцільної мови з великим словником ґрунтуються на принципах статистичного розпізнавання образів [3,4]. На рис.1 показана структура типової системи статистичного розпізнавання, що включає чотири складових.  Складові виконують такі функції: - звуковий препроцесор здійснює початковий етап обробки, на якому з мовного сигналу вибирається вся необхідна звукова інформація в компактному вигляді; - звукова модель забезпечує обчислення правдоподібності будь-якої послідовності звукових векторів при заданій послідовності слів; - модель мови забезпечує обчислення апріорної ймовірності послідовності слів незалежно від спостереження мовного сигналу. Для цього треба забезпечити механізм оцінки ймовірності певного слова у фразі, якщо знаємо попередні слова; - класифікатор зводить воєдино дані від трьох раніше описаних компонент і знаходить найбільш імовірний текст (транскрипцію). Принципи статистичного розпізнавання образів полягають у наступному [4]. На першому етапі мовний зразок перетворюється звуковим процесором на послідовність звукових векторів EMBED Equation.3EMBED Equation.3. Кожен вектор є стислим поданням короткочасного мовного спектру на інтервалі, як правило, близько 25 мс зі зсувом інтервалів на 10 мс. Типова фраза з десяти слів по 6-7 звуків у кожному може мати тривалість біля 3 с і представлятися послідовністю з Т=300 звукових векторів. У загальному, фраза складається з послідовності слів EMBED Equation.3. Робота системи розпізнавання полягає у визначенні найбільш імовірної послідовності слів EMBED Equation.3, маючи звуковий сигнал Y. Для цього використовується правило Байєса [4]: EMBED Equation.3. Ця рівність показує, що для знаходження найбільш правдоподібної послідовності слів W, повинна бути знайдена послідовність, що робить максимальним добуток P(W) та P(Y/W).Так як значення знаменника P(Y) не залежить від W, то його при розпізнаванні ігнорують. Перший із співмножників є апріорною ймовірністю спостереження W незалежно від спостереження мовного сигналу. Ця ймовірність визначається моделлю мови. Другий співмножник є ймовірністю спостереження послідовності векторів Y при заданій послідовності слівW. Ця ймовірність визначається звуковою моделлю. В звуковій моделі послідовності слів розбиваються на базові звуки – фонеми. Кожна індивідуальна фонема представляється прихованою моделлю за Марковим (англійська назва – hidden Markov model (HMM)). HMM-модель фонеми, як правило, має три породжуючі стани та вхідний і вихідний стан. Вхідний і вихідний стани дозволяють моделям фонем об’єднуватися, щоб утворювати слова та об’єднувати слова для утворення речень (послідовності слів). Розглянемо більш детально функції препроцесора для попередньої обробки мовних сигналів. Звуковий препроцесор Потрібен початковий етап обробки, на якому з мовного сигналу вибирається вся необхідна звукова інформація в компактному вигляді. Принципове припущення, яке робиться в сучасних розпізнавачах [3,4] є те, що мовний сигнал розглядається як стаціонарний (тобто спектральні характеристики відносно постійні) на інтервалі в кілька десятків мілісекунд. Тому основною функцією попередньої обробки є розбиття вхідного мовного сигналу на інтервали [1 - 4] і отримання для кожного інтервалу згладженої спектральної оцінки. Зсув між інтервалами звичайно рівний 10 мс. Інтервали, як правило , перекриваються і мають тривалість 25 мс. Як звичайно для обробки такого типу до кожного інтервалу на початку застосовується функція вікна (наприклад, вікно Гемінга). Часто застосовують високочастотне підсилення, щоб компенсувати послаблення, спричинене розсіюванням звуку від губ. Щоб отримати спектральні оцінки використовується швидке перетворення Фур’є. Фур’є спектр згладжується додаванням спектральних коефіцієнтів у межах “трикутних” частотних смуг розташованих на нелінійній (подібній до логарифмічної) Mel-шкалі [4]. Для граничної частоти мови (16 КГц) беруть 24 таких частотних смуги. Mel-шкала введена для наближення частотного розділення людського вуха, яке є лінійним до 1000 Гц та логарифмічним понад 1000 Гц. З метою зробити статистику оціненого спектру потужності мови близькою до Гауссової до виходів набору фільтрів застосовується логарифмічний стиск. До прологарифмованих коефіцієнтів застосовують дискретне косинусне перетворення. Це зосереджує спектральну інформацію в кепстральних коефіцієнтах з малими номерами, а також декорелює їх, дозволяючи при наступному статистичному моделюванні використовувати діагональні коваріаційні матриці. Перші 12 кепстральних коефіцієнтів та логарифм енергії інтервалу сигналу утворюють базовий 13-елементний звуковий вектор. Є ряд додаткових перетворень, які можна застосувати для отримання остаточного звукового вектора. Для зменшення мультиплікативного шуму на звукових векторах роблять нормалізацію кепстральних коефіцієнтів. Для кожної з дванадцяти компонент обчислюються середні значення по всіх звукових векторах даного мовного зразка. Ці середні значення віднімаються від відповідних компонент всіх звукових векторів даного мовного зразка. Компоненти логарифму енергії даного мовного зразка, які менші від максимального значення на 50 дБ, заміняються на значення цього порогу. Потім всі значення логарифму енергії масштабуються так, щоб максимальне значення стає рівним 1,0. Припускається, що кожен звуковий вектор не зв’язаний зі своїми сусідами. Це досить грубе припущеня, бо фізичні обмеження голосового тракту людини передбачають плавні переходи між сусідніми спектральними оцінками. Проте додавання різниць та різниць різниць базових елементів значно пом’якшує припущення. Переважно для цього беруться два попередні та два наступні вектори. У результаті отримуємо 39-елементний вектор [4]. Кілька інших можливих варіантів отримання звукових векторів описано в [3]. Попередня обробка мовних зразків (реалізація звукового препроцесора) ISOLET База даних ISOLET складається з 7800 мовних зразків окремо вимовлених звуків англійської мови. Два зразки кожного звуку були записані від 150 осіб. Зразки дискретизовані з частотою 16 КГц та мають розрядність 16. Середня тривалість зразків - 0,5 с. Етапи попередньої обробки мовних зразків у базі даних ISOLET детально описані нижче. 1. Оцифрований (дискретизований за часом та квантований за рівнем) мовний сигнал розбиваємо на блоки по 25.6 мс із зсувом кожні 10 мс , тобто, блоки по 409 відліків кожен блок, із зсувом на 160 відліків. 2. Пропускаємо блоки через фільтр першого порядку  EMBED Equation.3  , де Sn – n-й відлік у блоці. 3. Застосовуємо до блоку вікно Гемінга згідно з виразом  EMBED Equation.3  для n =1,...,409 4. Збільшуємо довжину блоку до 512 елементів за рахунок доповнення його вкінці потрібною кількістю нулів. Після цього застосовуємо дискретне перетворення Фур’є й отримуємо 256 спектральних комплексних значень. 5. Нульовий член ігноруємо, а величини решта 255 спектральних значень усереднюємо. Усереднення реалізуємо як 24 трикутні смугопропускні фільтри. Нижня, середня та верхня частоти подані в таблиці. Вони апроксимують Mel-шкалу згідно з формулою g=2595 log10(1+ f / 700), де g – частота в Mel, f – частота в Герцах. 6. Логарифмуємо отримані 24 середні значення. 7. Обчислюємо перші 12 значень дискретного косинусного перетворення.  EMBED Equation.3  для i=1…12 де mj - значення логарифму j-го середнього значення. 8. У кінець додаємо тринадцятий елемент, енергію поточного блока  EMBED Equation.3  . Далі можна обчислювати ще 26 елементів. Це ”різниця” та “різниця-різниць” коефіцієнти. 13 “дельт” [O(u)t]14,….,[O(u)t]26 апроксимують степінь зміни базових коефіцієнтів косинусного перетворення та енергетичних коефіцієнтів. Їх обчислюємо так:  EMBED Equation.3  13 “дельта-дельт”  EMBED Equation.3 , які апроксимують прискорення базових коефіцієнтів косинусного перетворення Фур’є та енергетичних коефіцієнтів, отримуємо за наведеною вище формулою. Кожний логарифмічний енергетичний профіль запису скануємо і низькочастотні значення заміняємо значенням на 50дБ нижче пікового значення. Потім енергетичний профіль масштабуємо так, щоб пікове значення було 1.0. Зразок програми на мові сценаріїв MATLAB 6.0 Далі наведено зразок програми на мові сценаріїв MATLAB 6.0, яка реалізує описані вище етапи 1-5 попередньої обробки мовних зразків у базі даних ISOLET. clear all; vybirka = 1 ; signal = wavread('example.wav') ; subplot(3,3,1); plot(signal);title('example.wav'); d = length(signal) ; i = 1 ; while i < d - 408 vybirka = vybirka + 1 ; y = signal(i : i + 408) ; S(1) = 0.0 ; for n = 2 : 409 S(n) = y(n) - y(n - 1) ; end; for n = 1 : 409 D(n) = (0.54 - 0.46 * cos(2 * pi * (n - 1) / 408)) * S(n) ; end; B = abs(fft(D ,512)) ; C = B(1:256); Hz = [0; 74.24; 156.4; 247.2; 347.6; 458.7; 531.6; 717.5; 867.9 ; 1034; 1213; 1422;1647; 1895; 2171; 2475; 2812; 3184; 3596; 4052; 4556; 5113; 5730;6412; 7166; 8000]; for n = 1 : 26 V(n) = round (Hz(n) * 256 / 8000) ; V(1) = 1; end; Sum = 0 ; R(1 : 24) = 0; for j = 1 : 24 N = V(j + 2) - V(j); N1 = V(j + 1) - V(j); D1 = 1 / N1; for k = 1 : N1 Sum = Sum - S(k + V(j)) * D1 * k; end; N2 = V(j + 2) - V(j + 1); D2 = 1 / N2; for k = 1 : N2 Sum = Sum - S(k + V(j + 1)) * (1 - D2 * k) ; end; R(j) = Sum / N ; Result (vybirka,j) = R(j); end; i = i + 160; end; subplot(3,3,2); plot(y);title(' 409 values '); subplot(3,3,3); plot(S);title(' applying filters'); subplot(3,3,4); plot(D);title(' Hemming'); subplot(3,3,5); plot(B);title(' 512 fft '); subplot(3,3,6); plot(C);title(' 256 elements '); subplot(3,3,7); plot(Result(vybirka,1:24)); title(' 24-element vector'); Типовий мовний зразок, який обробляємо – звуковий файл example з розширенням wav (затягнутий звук ‘о’). Файли цього типу можна створювати, редактувати та прослуховувати за допомогою звукової плати, мікрофона й навушників у середовищі професійного звукового редактора Cool Edit. Вигляд вікна цього звукового редактора показано нижче.  Графічне вікно середовища MATLAB 6.0, у якому ілюструються етапи попередньої обробки мовного зразка example.wav згідно з наведеною програмою, показано далі.  Зміст звіту до лабораторної роботи 1.Мета роботи. 2. Основні теоретичні відомості. 3. Блок-схема алгоритму попередньої обробки мовного сигналу. 4. Результат виконання індивідуального завдання а) скоректована програма на мові на мові сценаріїв MATLAB 6.0, яка реалізує етапи попередньої обробки мовного сигналу; б) спектральні вектори, які є результатом опрацювання заданого викладачем мовного сигналу. 5. Висновок. ЛІТЕРАТУРА Бабак В.П., Хандецький А.І., Шрюфер Е. Обробка сигналів: підручник для вузів., К., Либідь, 1996.- 390с. Бондарев В.Н., Трестер Г., Чернега В.С. Цифровая обработка сигналов: методы и средства. - Харьков: Конус, 2001 (підручник для вузів). Винцюк Т.К. Анализ, распознавание и интерпретация речевых сигналов.-К., Наукова думка,1987.-264с. Young S. Large vocabulary continuous speech recognition. IEEE Signal Processing Magazine, 13(5), 1996, pp.45-57.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!