РУКОВОДСТВО

Синтез речи в MIT App Inventor со своим голосом

В MIT App Inventor легко сделать говорящее Android-приложение: перетащите компонент TextToSpeech и вызовите Speak. Подвох в голосе: это голос, который есть в телефоне, и на каждом устройстве он звучит по-разному.

В этом руководстве — как работает встроенный компонент и как дать приложению собственный голос: персонажа, диктора или ваш, с помощью аудиофайлов, сделанных бесплатным движком SuperClonica.

Встроенный компонент TextToSpeech

По справочнику App Inventor, TextToSpeech произносит сообщение через Speak и останавливается через Stop, а также вызывает события BeforeSpeaking и AfterSpeaking. Pitch и SpeechRate принимают значения от 0 до 2, где 1.0 — обычное значение. Language меняет произношение слов, а не язык речи: английский текст с французским языком звучит как английский с французским акцентом. Доступные языки и страны зависят от устройства.

Почему голос меняется от телефона к телефону

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

Свой голос через аудиофайлы

Озвучьте постоянные фразы приложения бесплатным движком SuperClonica: поставьте его командой python -m pip install superclonica-cpu и запустите, например, superclonica --text "Well done! Next level." --voice voice.json --lang ru --normalize --output well_done.wav. Загрузите файлы как Media в дизайнере. Справочник рекомендует компонент Sound для коротких файлов — эффектов и фраз — и Player для длинных; задайте Source и вызовите Play. Сначала послушайте голоса бесплатно на их страницах с текстом на 30–100 символов.

Текст, который меняется во время работы

Для текста, который известен только во время работы приложения, например имени пользователя, компонент Web может отправить текст в Speech API SuperClonica с вашим ключом, сохранить ответ в файл через SaveResponse и передать его в Player. Бесплатный ключ даёт 3 минуты аудио в день; формат запроса описан в разделе Speech API вашего кабинета. Встроенный TextToSpeech оставьте запасным вариантом на случай, когда телефон без интернета.

Идеи для школьных проектов

Говорящие карточки, ведущий викторины, помощник для чтения или рассказчик игры хорошо работают с несколькими десятками заранее озвученных фраз. Используйте один голос и seed для всех файлов, чтобы приложение всегда звучало одинаково. Большинство голосов каталога записаны на русском, так что русские фразы звучат естественно. Движок говорит на 31 языке; китайский пока не поддерживается. Голоса персонажей в каталоге — фанатские, так что проекты с ними держите некоммерческими.