Курсовая работа: Створення синтезатора мови
-
Ш
-
-
-
-
-
-
-
-
-
-
-
3. СИНТЕЗУВАННЯ МОВИ
3.1 Обробка тексту
Перш ніж приступити до синтезування мови, необхідно визначити які фонеми, де і в якому порядку повинні відтворюється. Для цього спочатку текст розбивається на окремі слова, а слова потім на фонеми. Коли ми маємо список фонем, між фонемами приголосна-голосна вставляється згенерованих послідовність. Метод генерації описаний в пункті 3.2. Потім все слово згладжується, для придушення клацань, які виникають при різких перепадах значення сигналу. Метод згладжування описаний в пункті 3.3. Повна схема алгоритму наведена у додатку А.
3.2 Генерація проміжків між фонемами
Для генерації послідовності береться остання частина лівої фонеми довго рівний періоду повторення схожих ділянок у звуці. А так само початок правою за тим же принципом. Потім генеруються п'ять ділянок, які плавно перетікають з лівої фонеми в праву. Тобто перший ділянка дуже схожий на ліву фонему, третій щось середнє між лівою і правою, а п'ятий дуже схожий на праву. Фактично фонеми частково накладаються один на одного. На малюнках 3.1, 3.2, 3.3 відображує графічне представлення цих звуків. Як видно з малюнка 3.3, згенерованих частина сильно виділяється різкими переходами, що призводить до клацанням під час відтворення звуку.
Рисунок 3.1 – Фонема “Р_”
Рисунок 3.2 – Початок фонеми “А”
Рисунок 3.3 – Згенерований проміжок між фонемами “Р_” і “А”
3.3 Згладжування звуку
Після злиття фонем та згенерованих ділянок, може утворитися місця різкого перепаду сигналу, що веде за собою клацання, на кожному такому перепаді. Що в середньому складає по півтора клацання на кожну букву в слові. Це призводить до постійного клацання, для усунення якого був використаний усереднюються фільтр за трьома точками.
Рисунок 3.4 - Згенерований проміжок між фонемами "Р_" і "А" із застосуванням усереднює фільтра.
3.4 Обробка вихідного звуку