Суббота, 06 июля 2019 22:29

How to convert text to speech using Google Cloud Text-to-Speech API and Ruby

Оцените материал
(0 голосов)

Нечасто встречаются заказчики, соглашающиеся на свободную лицензию оплаченной своими кровными веб-разработки... тем приятнее исключение из правил.

Благодаря одному из этих счастливых исключений я сегодня имею возможность выложить код этого Rails-app у себя на гитхабе, отлично!

 

 

Про Google Cloud Text to Speech

Думаю, про Google Cloud Text to Speech слышали уже все, так же, как и про возможность аж целых 12 месяцев бесплатного использования его API. Функционал и количество поддерживаемых языков впечатляют, произношение - весьма неплохое, походу, движок (их здесь два на самом деле: базовый - он менее интересен - и WaveNet) даже интонации пытается воспроизвести; рекомендую, если кто не успел, опробовать сервис, на страничке Google Cloud Text-to-Speech имеет место быть полнофункциональная демка.

 

Dev banner 1

 

WaveNet - сверточная нейронная сеть, где слои имеют разные факторы дилатации и позволяют ее рецептивному полю расти экспоненциально с глубиной и покрывать тысячи временных отрезков.

Во время обучения входящие последовательности представляют собой звуковые волны от примеров записи голоса. После тренировки можно с помощью сети генерировать синтетические фразы. На каждом шагу семплинга значение вычисляется из вероятностного распределения посчитанного сетью. Затем это значение возвращается на вход и делается новое предсказание для следующего шага. Создание семплов таким образом является достаточно ресурсоемкой задачей, но это необходимо для генерации сложных, реалистичных звуков.

 

За последний год появилось немало скриптов на самых разных языках программирования, основанных на Cloud TTS, API которого позволяет действительно запросто к нему обращаться. Но у меня была задача создать не скрипт, а полноценный сервис, т.е. веб-страничку, подразумевающую регистрацию и удобное использование, также дизайн в духе минимализма: по привычке сваял на Ruby on Rails. Веб-интерфейс основан на стилях bootstrap 4 и ajax, благо рельсы изначально с ним великолепно дружат; регистрация/авторизация на базе классического devise, эффектные flash-messages посредством заслуженного unobtrusive_flash от Леонида Шевцова, родные rails-валидации Active Model и google-cloud-speech из коллекции Google Cloud Client Library for Ruby дополнили и завершили картину. Получившийся таким образом rails-app  - вовсе не требует, в контексте использования, знаний программирования: достаточно установить ruby для своей любимой операционной системы (либо заюзать free тарифный план на хостинге Heroku), ну и еще получить у Google бесплатный API Key (файл с расширением json, бросить в корневую директорию приложения). Если кто заинтересовался - test, please, ссылка была чуть выше. Можно форкать, дополнять и исправлять, и даже нужно: свободное ПО, как всегда, рулит.

 

15.12.2019. Для меня несколько неожиданность успех этого приложения именно в англоязычной части Сети, см. комментарии к ролику на Yuotube. Проект был "проходным" для меня, сделан быстро и просто (в скобках: именно такой и должна быть работа с клиентской частью API, коль скоро серверная сделана по уму). Мало надежды, что аудитория внемлет просьбе перенести, по возможности, обсуждение технических проблем и саппорт приложения - на форум... но я все-таки попробую. :)  Welcome to the Customer Support Forum!

 

Продолжение

 

Последнее изменениеПятница, 28 октября 2022 20:46

Оставить комментарий

Добавьте ваш комментарий

Разработка web-проектов

Text To Speech