Генеративний ШІ та штучний інтелект значно розвинулися. Озвучування тексту — підхід далеко не новий, його використовують багато років. Є що прояснити й розкласти по поличках, тож я розгляну це з усіх боків. Якщо ви новачок чи профі, матеріал допоможе краще зрозуміти, як працює Google Text to Speech API.
Перш ніж заглиблюватися, варто узгодити базові поняття. Визначимо терміни й закладемо основу, щоб ґрунтовно розібратися.
Виділимо тут дві технології: озвучування тексту та API, і подивимося, до чого тут Google Cloud.
Примітка редактора: шукаєте найкращий API для озвучування тексту? Спробуйте простий і зручний Speechify API.
Озвучування тексту
Я багато писав на цю тему — читайте мій блог про озвучування тексту, а також про синтез мовлення для кращого розуміння. Там більше деталей, але зараз коротко підсумую.
Озвучування тексту базується на синтезі мовлення, який перетворює слова на згенеровану ШІ мову. Є безліч застосувань: від допомоги людям із порушеннями читання (дислексія, слабкий зір) до підвищення продуктивності.
API
API — це Application Programming Interface, тобто місток між двома застосунками. Якщо ви створюєте програму з аудіо й вам треба озвучувати текст, то можете або робити цю функцію самі, або скористатись готовим API для озвучування тексту.
Ви зосереджуєтеся на своїй програмі, а сторонній API бере озвучування тексту на себе.
Google Cloud API
Ось де стає в пригоді Google Cloud. Google створив потужний API для озвучування тексту, який пропонує розробникам за різними тарифами. Для тих, хто робить власні застосунки, це простий міст до TTS-можливостей Google. 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 voices | 0–1 млн байт | $16 за 1 млн байт |
| Polyglot voices | 0–1 млн байт | $16 за 1 млн байт |
| Studio voices | 0–100 000 байт | $160 за 1 млн байт |
| Standard voices | 0–4 млн символів | $4 за 1 млн символів |
| Wavenet voices | 0–1 млн символів | $16 за 1 млн символів |
Різниця між символами та байтами
Як бачимо, вартість сильно залежить від якості голосу. Кодування аудіо та його обробка різні для кожного рівня. Для нижчого тарифу — Standard Voices — рахують символи, тому ціна менша.
Якщо у вас 4 мільйони символів, Standard обійдеться у $16 за їх озвучення.
А на студійні голоси треба більше потужностей, тому там рахують байти. У деяких мовах, як-от японська, один символ — це кілька байт.
Для точної оцінки варто знати, з якою мовою ви працюєте, середню кількість байтів на символ і вже від цього рахувати ціну.
Як підключити Google Cloud Platform Text to Speech API?
- Створіть акаунт Google Cloud або увійдіть тут
- Cтворіть новий проєкт та задайте йому назву
- Додайте метод оплати. Платите тільки за фактичне використання.
- Обирайте проєкт і прив’яжіть його до платіжного акаунта.
- Увімкніть 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» в блоці API. Знайдіть 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-запиту. Ви надсилаєте текст і отримуєте аудіофайл зі своїм текстом. У запиті можна обрати голос, мову тощо. Потім API озвучить текст і надішле аудіофайл.
Як встановити й користуватися бібліотеками для озвучування, читайте тут. У прикладах — 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 — багатофункціональне рішення для різних сфер. Найпоширеніші сценарії використання:
- Озвучування для людей з порушенням зору: у застосунках для конвертації тексту в мову, щоб цифрова інформація була доступна для користувачів із вадами зору.
- Автоматизовані телефонні системи: для створення природних підказок і відповідей у телефонних меню служби підтримки.
- Озвучення контенту: генерація голосу для відео, подкастів, іншого мультимедійного контенту — для кращого досвіду користувачів.
- Озвучка перекладів: конвертація перекладеного тексту для мовного навчання, міжнародної комунікації та контенту різними мовами.
- Допомога для дислексиків: озвучування допомагає людям із дислексією або труднощами читання працювати з текстом.
- Голосова навігація: голосовий супровід для навігаційних застосунків із підказками чи відомостями про місце.
- Озвучування навчальних матеріалів: покращує e-learning, озвучуючи навчальний текст — для кращого засвоєння матеріалу.
- TTS у продуктивних додатках: голосові мітки/повідомлення в нотатках, задачах та інших утилітах.
- Голос для віртуальних асистентів: озвучування для асистентів для кращої взаємодії з користувачем, природного спілкування.
- Голосові сповіщення й повідомлення: озвучка для сповіщень та статусів IoT-пристроїв для зручності користувача.
Кращі альтернативи Google Cloud TTS API
Станом на січень 2022 існують альтернативи Google Text to Speech API. З часом їхня популярність і можливості змінюються. Ось основні альтернативи:
- Speechify Text to Speech API: Speechify Text to Speech API пропонує 1000+ реалістичних і емоційних AI-голосів на 60+ мовах і діалектах. Забронюйте місце вже сьогодні.
- Amazon Polly: хмарний сервіс від AWS, Polly має реалістичний синтез мовлення та інтегрується із сервісами Amazon.
- Microsoft Azure Speech Service: Azure надає озвучування тексту для віртуальних помічників, навігації тощо.
- IBM Watson Text to Speech: IBM Watson дозволяє створювати природне мовлення на основі тексту з різними голосами.
- Nuance Communications: Nuance пропонує розпізнавання і озвучування тексту для медицини, автоіндустрії, сервісу.
- CereProc: CereProc — компанія з озвучування тексту, що пропонує якісні синтетичні голоси для доступності, розваг та комунікації.
- iSpeech: iSpeech — хмарний озвучувач тексту з підтримкою різних мов і голосів. Підходить для сайтів і мобільних застосунків.
- ResponsiveVoice: ResponsiveVoice — простий і доступний TTS API із підтримкою багатьох мов і для вебу.
- Neospeech: Neospeech надає рішення з озвучування тексту з натуральними голосами для e-learning та розваг.
- ReadSpeaker: ReadSpeaker — онлайн та офлайн TTS для сайтів, онлайн-навчання й доступності.
- Acapelabox: Acapela Group пропонує хмарний API TTS — Acapelabox — із багатьма мовами та голосами для різних сфер.
FAQ
У Google є різні рівні голосів, і майже кожен рівень має безкоштовний ліміт. Наприклад, стандартні голоси безкоштовні до 1 млн байт. Далі — $16 за 1 млн байт. Тобто так, є безкоштовний варіант для малих обсягів.
Просто створіть акаунт на https://cloud.google.com/text-to-speech/ і дотримуйтесь інструкцій. Або скористайтеся детальною інструкцією в цьому блозі вище.
Увійдіть у Google Cloud, створіть проєкт і згенеруйте ключ API для озвучування тексту.
URL-адреса Google Text to Speech API — https://cloud.google.com/text-to-speech/
У Google Cloud немає єдиного пробного періоду. Кожен сервіс має окремі умови й безкоштовні ліміти.
Ні. API озвучування тексту в Google Cloud працює тільки онлайн.
Для автентифікації в Google Cloud, включно з Text to Speech API, використовують ключ API, OAuth 2.0 або сервісні акаунти. Вибір типу залежить від сценарію й застосунку.
Я б поставив 5 зірок. Користуватись зручно, пошук один із найкращих і часто виручає. Ціна адекватна, продукт справді класний.
Google Text to Speech API має бібліотеки для різних мов, включно з Python. Є REST-запити, тож він сумісний із будь-якою мовою, що підтримує HTTP-запити.
Інтеграція в Android — це використання класу TextToSpeech і API-запиту. Подробиці — в офіційній документації для розробників Android.
Для JS-додатку надсилайте HTTP-запит до API, правильно сформуйте запит і обробіть відповідь у JavaScript. Докладно — в офіційній документації.

