You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/uk/6-consumer/lessons/3-spoken-feedback/README.md

142 lines
16 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "b73fe10ec6b580fba2affb6f6e0a5c4d",
"translation_date": "2025-08-28T16:17:25+00:00",
"source_file": "6-consumer/lessons/3-spoken-feedback/README.md",
"language_code": "uk"
}
-->
# Встановіть таймер і надайте голосовий відгук
![Скетчноут з оглядом цього уроку](../../../../../translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.uk.jpg)
> Скетчноут від [Nitya Narasimhan](https://github.com/nitya). Натисніть на зображення, щоб побачити його у більшому розмірі.
## Тест перед лекцією
[Тест перед лекцією](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/45)
## Вступ
Розумні асистенти — це не пристрої для одностороннього спілкування. Ви говорите до них, і вони відповідають:
"Alexa, встанови таймер на 3 хвилини"
"Гаразд, ваш таймер встановлено на 3 хвилини"
У попередніх двох уроках ви дізналися, як перетворювати мову на текст, а потім витягувати запит на встановлення таймера з цього тексту. У цьому уроці ви навчитеся встановлювати таймер на IoT-пристрої, відповідаючи користувачеві голосовими словами, які підтверджують встановлення таймера, і сповіщаючи його, коли таймер завершиться.
У цьому уроці ми розглянемо:
* [Перетворення тексту на мову](../../../../../6-consumer/lessons/3-spoken-feedback)
* [Встановлення таймера](../../../../../6-consumer/lessons/3-spoken-feedback)
* [Перетворення тексту на мову](../../../../../6-consumer/lessons/3-spoken-feedback)
## Перетворення тексту на мову
Перетворення тексту на мову, як випливає з назви, — це процес перетворення тексту на аудіо, яке містить текст у вигляді вимовлених слів. Основний принцип полягає в розбитті слів тексту на їхні складові звуки (відомі як фонеми) і зшиванні аудіо для цих звуків, використовуючи або попередньо записане аудіо, або аудіо, згенероване моделями штучного інтелекту.
![Три етапи типових систем перетворення тексту на мову](../../../../../translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.uk.png)
Системи перетворення тексту на мову зазвичай мають 3 етапи:
* Аналіз тексту
* Лінгвістичний аналіз
* Генерація звукової хвилі
### Аналіз тексту
Аналіз тексту включає обробку наданого тексту та перетворення його на слова, які можна використовувати для генерації мови. Наприклад, якщо ви перетворюєте "Hello world", аналіз тексту не потрібен, оскільки ці два слова можна безпосередньо перетворити на мову. Якщо ж у вас є "1234", це може потребувати перетворення або на "Одна тисяча двісті тридцять чотири", або на "Один, два, три, чотири" залежно від контексту. Для "У мене є 1234 яблука" це буде "Одна тисяча двісті тридцять чотири", а для "Дитина порахувала 1234" — "Один, два, три, чотири".
Слова, які створюються, залежать не лише від мови, але й від її локалізації. Наприклад, в американській англійській 120 буде "One hundred twenty", а в британській англійській — "One hundred and twenty", з використанням "and" після сотень.
✅ Інші приклади, які потребують аналізу тексту, включають "in" як скорочення від дюймів, і "st" як скорочення від святого або вулиці. Чи можете ви придумати інші приклади у вашій мові, де слова є неоднозначними без контексту?
Після визначення слів вони передаються на лінгвістичний аналіз.
### Лінгвістичний аналіз
Лінгвістичний аналіз розбиває слова на фонеми. Фонеми базуються не лише на використаних літерах, але й на інших літерах у слові. Наприклад, в англійській мові звук 'a' у словах 'car' і 'care' різний. Англійська мова має 44 різні фонеми для 26 літер алфавіту, деякі з яких спільні для різних літер, наприклад, однакова фонема використовується на початку слів 'circle' і 'serpent'.
✅ Проведіть дослідження: Які фонеми існують у вашій мові?
Після перетворення слів на фонеми ці фонеми потребують додаткових даних для підтримки інтонації, регулювання тону або тривалості залежно від контексту. Наприклад, в англійській мові підвищення тону може перетворити речення на запитання, підвищуючи тон останнього слова.
Наприклад, речення "You have an apple" є твердженням, що у вас є яблуко. Якщо тон підвищується наприкінці, зростаючи для слова apple, це стає запитанням "You have an apple?", запитуючи, чи є у вас яблуко. Лінгвістичний аналіз має використовувати знак питання наприкінці, щоб вирішити підвищити тон.
Після генерації фонем вони передаються на етап генерації звукової хвилі для створення аудіовиходу.
### Генерація звукової хвилі
Перші електронні системи перетворення тексту на мову використовували окремі аудіозаписи для кожної фонеми, що призводило до дуже монотонних, роботоподібних голосів. Лінгвістичний аналіз створював фонеми, які завантажувалися з бази даних звуків і зшивалися для створення аудіо.
✅ Проведіть дослідження: Знайдіть аудіозаписи ранніх систем синтезу мови. Порівняйте їх із сучасним синтезом мови, наприклад, тим, що використовується в розумних асистентах.
Сучасніші системи генерації звукової хвилі використовують моделі машинного навчання, побудовані за допомогою глибокого навчання (дуже великі нейронні мережі, які працюють подібно до нейронів у мозку), щоб створювати більш природні голоси, які можуть бути невідрізнюваними від людських.
> 💁 Деякі з цих моделей машинного навчання можуть бути перенавчені за допомогою трансферного навчання, щоб звучати як реальні люди. Це означає, що використання голосу як системи безпеки, що дедалі частіше застосовують банки, більше не є гарною ідеєю, оскільки будь-хто, маючи кілька хвилин запису вашого голосу, може вас імітувати.
Ці великі моделі машинного навчання тренуються для об'єднання всіх трьох етапів у єдиний синтезатор мови.
## Встановлення таймера
Щоб встановити таймер, ваш IoT-пристрій має викликати REST-ендпоінт, створений за допомогою серверлес-коду, а потім використати отриману кількість секунд для встановлення таймера.
### Завдання — виклик серверлес-функції для отримання часу таймера
Скористайтеся відповідним посібником, щоб викликати REST-ендпоінт з вашого IoT-пристрою та встановити таймер на потрібний час:
* [Arduino - Wio Terminal](wio-terminal-set-timer.md)
* [Одноплатний комп'ютер - Raspberry Pi/Віртуальний IoT-пристрій](single-board-computer-set-timer.md)
## Перетворення тексту на мову
Той самий сервіс мови, який ви використовували для перетворення мови на текст, можна використовувати для перетворення тексту назад у мову, і це можна відтворити через динамік на вашому IoT-пристрої. Текст для перетворення надсилається до сервісу мови разом із типом потрібного аудіо (наприклад, частотою дискретизації), і повертаються бінарні дані, що містять аудіо.
Коли ви надсилаєте цей запит, ви використовуєте *Мову розмітки синтезу мови* (SSML), засновану на XML мову розмітки для застосунків синтезу мови. Вона визначає не лише текст для перетворення, але й мову тексту, голос для використання, а також може використовуватися для визначення швидкості, гучності та тону для деяких або всіх слів у тексті.
Наприклад, цей SSML визначає запит на перетворення тексту "Ваш таймер на 3 хвилини 5 секунд встановлено" на мову з використанням британського англійського голосу `en-GB-MiaNeural`
```xml
<speak version='1.0' xml:lang='en-GB'>
<voice xml:lang='en-GB' name='en-GB-MiaNeural'>
Your 3 minute 5 second time has been set
</voice>
</speak>
```
> 💁 Більшість систем перетворення тексту на мову мають кілька голосів для різних мов із відповідними акцентами, наприклад, британський англійський голос із англійським акцентом і новозеландський англійський голос із новозеландським акцентом.
### Завдання — перетворення тексту на мову
Пройдіть відповідний посібник, щоб перетворити текст на мову за допомогою вашого IoT-пристрою:
* [Arduino - Wio Terminal](wio-terminal-text-to-speech.md)
* [Одноплатний комп'ютер - Raspberry Pi](pi-text-to-speech.md)
* [Одноплатний комп'ютер - Віртуальний пристрій](virtual-device-text-to-speech.md)
---
## 🚀 Виклик
SSML має способи змінювати, як вимовляються слова, наприклад, додавати наголос на певні слова, додавати паузи або змінювати тон. Спробуйте деякі з цих функцій, надсилаючи різні SSML із вашого IoT-пристрою та порівнюючи результати. Ви можете дізнатися більше про SSML, включаючи способи змінювати вимову слів, у [специфікації SSML версії 1.1 від World Wide Web Consortium](https://www.w3.org/TR/speech-synthesis11/).
## Тест після лекції
[Тест після лекції](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/46)
## Огляд і самостійне навчання
* Дізнайтеся більше про синтез мови на [сторінці синтезу мови у Вікіпедії](https://wikipedia.org/wiki/Speech_synthesis)
* Дізнайтеся більше про способи, якими злочинці використовують синтез мови для крадіжок, у [статті BBC про фейкові голоси](https://www.bbc.com/news/technology-48908736)
* Дізнайтеся більше про ризики для акторів озвучення через синтезовані версії їхніх голосів у [статті Vice про позов TikTok](https://www.vice.com/en/article/z3xqwj/this-tiktok-lawsuit-is-highlighting-how-ai-is-screwing-over-voice-actors)
## Завдання
[Скасувати таймер](assignment.md)
---
**Відмова від відповідальності**:
Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.