Генеративний ШІ та штучний інтелект уже пройшли довгий шлях. Технологія «текст у мовлення» — відносно давня концепція, яка існує вже чимало часу. Тут є про що поговорити і що розкласти по поличках, і я розгляну це з усіх ракурсів. Незалежно від того, чи ви початківець, чи професіонал, цей матеріал має допомогти розібратися у Google Text to Speech API.
Перш ніж заглиблюватися в будь-яку тему, потрібно визначити базові правила. Давайте пояснимо кілька термінів і закладемо фундамент, щоб далі було простіше розбиратися.
Розділимо ці дві технології — «текст у мовлення» та API — і подивимося, яку роль тут відіграє Google Cloud.
Примітка редактора: шукаєте найкращий API для перетворення тексту в мовлення? Ознайомтеся з добре задокументованим та простим у використанні API тексту в мовлення від Speechify.
Текст у мовлення
Я багато писав про цю тему, і ви можете прочитати мій блог «Що таке текст у мовлення», а також дізнатися більше про синтез мовлення, щоб глибше зануритися в тему. Там усе дуже детально, але поки можете їх пропустити. Я підсумую в кількох реченнях.
Технологія «текст у мовлення» базується на синтезі мовлення, щоб перетворювати слова на згенеровану ШІ мову. Сфера застосування величезна: від допомоги людям із труднощами читання (дислексія, слабкий зір) — до тих, хто просто хоче працювати ефективніше.
API
API означає Application Programming Interface (інтерфейс програмування додатків). Простими словами, він з’єднує дві програми. Якщо ви розробляєте додаток з аудіоконтентом і потребуєте функції «текст у мовлення», ви можете або реалізувати це самотужки, або скористатися вже готовим API для перетворення тексту на мову.
Ви зосереджуєтеся на створенні свого додатку, а для синтезу мовлення використовуєте сторонній API як місток, підключаючи його функціонал до свого рішення.
Google Cloud API
Ось тут і з’являється Google Cloud. Компанія розробила потужний API «текст у мовлення» і пропонує розробникам різноманітні платні опції. Будь-який розробник, який створює додатки чи вебдодатки з функцією «текст у мовлення», може просто підключити цю можливість через Google TTS. Так, TTS — це скорочено від «text to speech» (текст у мовлення).
Скористайтеся швидким стартом у Google Cloud Console https://cloud.google.com/. Тут можна знайти підручники, керувати обліковими записами, отримати доступ до голосів wavenet тощо.
Google Cloud — це власна хмарна платформа Google, яка пропонує цілу низку модульних сервісів. Ви можете користуватися однією, кількома або всіма послугами. Для цього потрібно створити ключі доступу — для автентифікації при роботі з кожним API (тим самим «місточком»). Більшість сервісів платні, хоча для деяких із них є певний безкоштовний ліміт.
У 2014 році Google придбала DeepMind заради її технологій перетворення тексту в мовлення та розробок у галузі нейронних мереж. Якщо десь зустрінете DeepMind — зараз це Google DeepMind, і йдеться про ту саму компанію.
Тепер, коли ми розібралися з основами, давайте заглибимося в Google Cloud Text to Speech API.
Можливості Google Text to Speech API
Google — світовий лідер у сфері технологій, і тут нема про що сперечатися. Тож і від TTS API можна очікувати найсучасніших функцій, які постійно вдосконалюються.
Висока якість звучання
Голоси Google Text to Speech — одні з найкращих у галузі. Вони звучать максимально природно та по-людськи, з природною інтонацією. TTS усе ще на ранній стадії, і переможцем стане той, хто зможе синтезувати аудіо так, ніби говорить жива людина.
Вибір голосів
Google пропонує надзвичайно широкий вибір голосів, тож ваш проєкт не буде схожий на тисячі інших, а тим паче — на рішення конкурентів.
Створіть власний голос
Це вже межує з технологією клонування голосу. Ви можете створити власний голос, записавши себе чи іншу людину (з її дозволу). Потім цей запис можна використовувати для озвучення всіх ваших текстів.
Нейронні голоси
Нейронні голоси мають найвищу якість серед усіх доступних голосів. Ви також можете «інтернаціоналізувати» ці голоси, щоб працювати з міжнародною аудиторією.
Студійні голоси
Студійні голоси — це преміальний варіант, вони звучать дуже професійно, наче записані звичним способом у студії.
Налаштування голосу
Оберіть голос і підлаштуйте швидкість, висоту тону тощо, щоб кастомізувати тембр або голос під себе.
Скільки коштує Google Text to Speech API?
Усе залежить від якості голосу й довжини вашого тексту. Чим природніше звучить голос, тим дорожче він обходиться, хоча «дороговизна» тут відносна — навіть преміум-голоси мають цілком помірну ціну.
| Тип голосу | Безкоштовно на місяць | Після використання безкоштовного ліміту |
| Голоси Neural2 | 0 до 1 мільйона байтів | 16$ за мільйон байтів |
| Поліглот-голоси | 0 до 1 мільйона байтів | 16$ за мільйон байтів |
| Студійні голоси | 0 до 100 000 байтів | 160$ за мільйон байтів |
| Стандартні голоси | 0 до 4 мільйонів символів | 4$ за мільйон символів |
| Голоси Wavenet | 0 до 1 мільйона символів | 16$ за мільйон символів |
Яка різниця між символами та байтами
Як бачите, ціни сильно відрізняються залежно від якості голосу. Кодування та обробка аудіо, потрібні для перетворення тексту в мовлення, різні для кожного рівня. Для нижчих тарифів, наприклад стандартних голосів, ціна нижча та рахується по символах.
Тобто, якщо у вашому проєкті 4 мільйони символів, конвертація цього обсягу тексту у мовлення стандартними голосами коштуватиме $16.
Студійні голоси, своєю чергою, потребують більшої потужності для обробки, тому тарифи рахуються по байтах. У деяких мовах, наприклад японській, один символ може складатися з кількох байтів.
Щоб максимально точно порахувати вартість, важливо знати, з якою мовою ви працюєте, і мати уявлення про середню кількість байтів на символ — це дасть змогу точніше оцінити витрати.
Як налаштувати проєкт Google Cloud Platform Text to Speech API?
- Створіть обліковий запис Google Cloud або увійдіть за цим посиланням
- Створіть новий проєкт і дайте йому відповідну назву
- Додайте спосіб оплати. Ви заплатите лише за фактичне використання.
- Далі виберіть ваш проєкт і прив’яжіть його до платіжного акаунту.
- Активуйте Text-to-Speech API. Перейдіть у поле пошуку продуктів та ресурсів у верхній частині сторінки та введіть «speech».
- Із результатів оберіть Cloud Text-to-Speech API.
- Налаштуйте автентифікацію для свого середовища розробки. Інструкції — у розділі Set up authentication for Text-to-Speech.
Ви також можете протестувати Text-to-Speech, не прив’язуючи його до свого проєкту:
- Виберіть опцію TRY THIS API.
- Щоб дозволити використовувати Text-to-Speech API у своєму проєкті, натисніть ENABLE.
Детальніше дивіться в документації Google Cloud.
Як відключити Text to Speech API
Щоб відключити Text-to-Speech API, перейдіть у дашборд Google Cloud Platform і натисніть посилання «Go to APIs overview» у блоці APIs. Знайдіть Text-to-Speech API, перейдіть у нього і натисніть кнопку «DISABLE API» у верхній частині сторінки.
Почніть роботу з Google Text to Speech API
Тепер, коли проєкт налаштовано, можна починати роботу з командного рядка.
gcloud initСтворіть локальну автентифікацію
gcloud auth application-default loginТепер можна встановити клієнтську бібліотеку. У цьому прикладі ми розглянемо Node.js.
npm install --save @google-cloud/text-to-speechGoogle Cloud Text to Speech API підтримує такі мови програмування:
- Go
- Java
- Node.js
- C++
- C#
- PHP
- Python
- Ruby
- TypeScript
- Terraform
- YAML
Як працює Google Cloud API?
Усе починається з простого API-запиту. Ви надсилаєте свій текст у параметрі transcript — і отримуєте аудіофайл з озвученим текстом. У запиті можна вказати конкретні вимоги: вибрати голос, мову тощо — і API «текст у мовлення» поверне готовий файл.
Як встановити й використовувати клієнтські бібліотеки для text to speech, можна дізнатися тут. Наші приклади коду — для Node.js. Але ви можете працювати й на Python, PHP тощо — тією мовою, яка вам зручна.
const textToSpeech = require('@google-cloud/text-to-speech');
const fs = require('fs');
const util = require('util');
const client = new textToSpeech.TextToSpeechClient();
/**
* TODO(developer): Uncomment the following lines before running the sample.
*/
// const text = 'Text to synthesize, eg. hello';
// const outputFile = 'Local path to save audio file to, e.g. output.mp3';
const request = {
input: {text: text},
voice: {languageCode: 'en-US', ssmlGender: 'FEMALE'},
audioConfig: {audioEncoding: 'MP3'},
};
const [response] = await client.synthesizeSpeech(request);
const writeFile = util.promisify(fs.writeFile);
await writeFile(outputFile, response.audioContent, 'binary');
console.log(`Audio content written to file: ${outputFile}`);Ось і все! Ви налаштували Google Cloud Text to Speech API і надіслали свій перший запит на перетворення тексту в мовлення. Файл можна отримати в різних форматах: OGG, MP3 тощо.
Декілька способів використовувати Google Text to Speech API
Google Text-to-Speech (TTS) API — це універсальне рішення для різних сфер і задач. Найпоширеніші варіанти використання такі:
- Текст у мовлення для людей із порушенням зору: впровадження TTS у додатки дозволяє перетворювати текстовий контент на голос, роблячи цифрову інформацію доступною для людей із вадами зору.
- Автоматизовані телефонні системи: використання TTS для створення природних голосових підказок та відповідей в інтерактивних телефонних системах для клієнтської підтримки й гарячих ліній.
- Озвучка для медіаконтенту: генерування природного голосу для відео, подкастів чи іншого мультимедійного контенту, щоб покращити користувацький досвід.
- Текст у мовлення для перекладеного контенту: перетворення перекладеного тексту на озвучене мовлення допомагає у вивченні мов, міжнародній комунікації чи споживанні контенту різними мовами.
- Допомога в читанні для людей з дислексією: надання TTS-підтримки людям із дислексією чи труднощами в читанні при роботі з письмовим текстом.
- Голосова навігація в додатках: інтеграція TTS у навігаційні додатки для озвучування поворотів або голосових підказок за місцем розташування.
- Текст у мовлення для освітнього контенту: покращення e-learning завдяки озвучуванню навчальних матеріалів для кращого розуміння й залучення.
- Синтез мовлення для продуктивності: інтеграція TTS у додатки для нотаток чи планування, щоб отримувати голосові нагадування або швидко знаходити потрібну інформацію.
- Природний голос для віртуальних асистентів: робота голосових асистентів із природним TTS для поліпшення взаємодії з користувачем та діалогів.
- Аудіосповіщення й повідомлення: використання TTS для голосових сповіщень чи оновлень про статус IoT-пристроїв задля зручності користувача.
Найкращі альтернативи Google Cloud TTS API
Станом на січень 2022 року існує кілька альтернатив Google Text-to-Speech API. Зауважте, що популярність і можливості цих сервісів могли змінитися. Ось кілька відомих варіантів:
- Speechify Text to Speech API: ми з радістю представляємо API «текст у мовлення», який дозволяє розробникам по всьому світу використовувати найприродніші та найулюбленіші ШІ-голоси від Speechify. Забронюйте місце вже зараз.
- Amazon Polly: послуга від Amazon Web Services (AWS). Polly пропонує синтез природного мовлення різними мовами й голосами та добре інтегрується з іншими сервісами AWS.
- Microsoft Azure Speech Service: Azure Speech Service містить функції «текст у мовлення» і підходить для різних застосувань: від голосових асистентів до навігації тощо.
- IBM Watson Text to Speech: IBM Watson пропонує сервіс перетворення тексту на природне мовлення на основі різних голосів.
- Nuance Communications: Nuance надає рішення для розпізнавання голосу й синтезу мовлення, зокрема для медицини, автомобільної сфери та клієнтських служб.
- CereProc: CereProc спеціалізується на технології синтезу мовлення та пропонує якісні синтетичні голоси для доступності, розваг і комунікації.
- iSpeech: iSpeech надає хмарні сервіси «текст у мовлення» з підтримкою багатьох мов та голосів — підійде для мобільних додатків і сайтів.
- ResponsiveVoice: ResponsiveVoice — простий і недорогий API для «тексту в мовлення» з підтримкою кількох мов, розрахований на веб-додатки.
- Neospeech: Neospeech пропонує рішення для синтезу мовлення з акцентом на природність — їх використовують в освіті, розвагах тощо.
- ReadSpeaker: ReadSpeaker надає онлайн- і офлайн-рішення «текст у мовлення» для сайтів, e-learning та сервісів доступності.
- Acapelabox: Acapela Group пропонує хмарний API Acapelabox для «тексту в мовлення», який підтримує багато мов і голосів для різних галузей.
Часті запитання про Google Text to Speech API
У Google є кілька рівнів голосів, і майже для кожного передбачено безкоштовний ліміт. Наприклад, стандартні голоси безкоштовні до першого мільйона байтів, після цього — $16 за мільйон байтів. Тож так, можна користуватися безкоштовно в межах ліміту символів або байтів.
Просто створіть акаунт на https://cloud.google.com/text-to-speech/ та виконайте інструкції. Процес також детально описано в цьому блозі вище.
Отримати ключ для Google text to speech API можна, увійшовши до свого акаунту Google Cloud і створивши проєкт. Після створення проєкту ви зможете згенерувати ключ API.
URL для Google text to speech API: https://cloud.google.com/text-to-speech/
Фактично у Google Cloud немає фіксованого пробного періоду. Є декілька сервісів, і для кожного діють власні умови та безкоштовні ліміти.
Ні. Google Cloud text to speech API потребує підключення до інтернету.
Автентифікація для сервісів Google Cloud, зокрема Text-to-Speech API, можлива через API-ключі, OAuth 2.0 або сервісні акаунти. Тип автентифікації залежить від конкретного кейсу та вашого додатку.
Я б оцінив на 5 зірок. Дуже зручно, чудовий пошук, яким постійно користуюся. Ціни прийнятні, і загалом це якісний продукт.
Google Text-to-Speech API надає клієнтські бібліотеки для різних мов, зокрема для Python. Також підтримуються REST API-запити, тож його можна використовувати в будь-якій мові, що вміє надсилати HTTP-запити.
Інтеграція Google Text-to-Speech API в Android-додаток здійснюється за допомогою класу TextToSpeech та API-запитів. Докладні інструкції є в офіційній документації для розробників Android.
Щоб впровадити Google Text-to-Speech API в JavaScript-додаток, потрібно надсилати HTTP-запити на відповідний endpoint. Процес включає формування коректного API-запиту та обробку відповіді у вашому коді. Деталі — в офіційній документації.

