Использование Google для преобразования текста в речь в Hyperstack
Я хотел бы использовать API текстовой речи Google, чтобы позволить моему пользователю вводить текст в текстовый элемент управления, а затем нажать кнопку, которая отправит текст на мой сервер Rails, где он будет использовать API Google TextToSpeach для создания файла mp3. этой речи.
Google API выглядит очень простым в использовании: https://cloud.google.com/text-to-speech/docs/create-audio
В традиционном приложении Rails я написал бы API для передачи текста, который должен быть транскрибирован, и ожидал бы, что вызов API вернет путь к файлу MP3, созданному для загрузки пользователем.
Кажется, что https://hyperstack.org/edge/docs/dsl-isomorphic/operations будет правильным подходом для этого, но как я могу гарантировать, что операция выполняется только на сервере, а не на клиенте, и как я могу получить выходное значение операции (т. Е. Созданный файл)? чтобы я мог отобразить его в браузере для загрузки пользователем?
Я должен подчеркнуть, что мне нужен только API Google для создания аудио файла на сервере (не воспроизводить его). Затем пользователь загрузит созданный файл для собственного использования.
1 ответ
Операция не поможет вам здесь. Зачем?
Потому что, если вы не знаете хитрости, которой я не знаю, единственный способ воспроизвести аудиофайл без большой дополнительной работы - это указать источник аудиотега HTML на URL-адресе на сервере.
Тогда это очень легко сделать с помощью стандартного метода контроллера rails, который декодирует строку из параметров URL и возвращает файл mp3 в теле ответа.
Например, /utils/text2speech.mp3?text=Hello%020, можно просто вернуть файл MP3.
Однако, чтобы полностью ответить на ваш вопрос, Hyperstack::ServerOp
class является подклассом Operation, который выполняется только на сервере, но может вызываться с клиента.
Жаль, что здесь нет никакой помощи:-)