Text to speech android studio russian
В этом уроке мы научим свою программу слушать хозяина. Мы научимся использовать в Android приложении функцию speech to text, то есть преобразование голоса в текст, что будет происходить с использованием стандартных возможностей Android и Google через RecognizerIntent. Для успешной работы приложения нужно подключение к Интернет. Распознаватель речи будет запускаться при нажатии пользователя на кнопку, а произнесенные слова будут отображаться в отведенном для этого элементе TextView.
Создадим новый проект и начнем. Для начала оформим интерфейс приложения. Как уже только что упоминалось, оно будет иметь всего 2 элемента: кнопку Button и элемент TextView. Открываем файл activity_main.xml и добавляем туда эти элементы:
При нажатии на кнопку будет вызываться RecognizerIntent activity, которая будет производить распознавание голоса, входящего в устройство из микрофона, и преобразовывать его в текст. Для обработки полученных данных будет использоваться функция onActivityResult (), она используется всегда, если мы запускаем какое то другое activity и желаем получить из него назад (как ответ) некоторые данные.
По сути, вся работа в этом случае (и в подобных ему) выполняется в 2 основных шага:
— первый шаг — это выполнение activity на результат startActivityForResult, где мы задаем, какую activity хотим запустить и определяем подробности своего запроса;
— второй шаг — обработка функции onActivityResult (), которая проверяет оценку успешности результата запроса и обрабатывает полученные данные.
В результате своего запроса мы будем получать массив из слов и фраз, которые программе покажутся похожими на то, что пользователь промямлит при вызове действия ACTION_RECOGNIZE_SPEECH (говорить для распознавания и преобразования в текст), а далее эти слова мы отображаем в элементе TextView. Чтобы реализовать это все, открываем файл MainActivity.java и добавляем следующее:
Теперь запускаем приложение, нажимаем кнопку «Сказать слово» и рассказываем приложению обо всех своих бедах (простите за эти роскошные скриншоты):
Как видите, оно нас понимает.
Напомню также о уроке по функции чтения текста вслух Text To Speech.
Источник
Android — текст в речь
Android позволяет конвертировать ваш текст в голос. Вы можете не только конвертировать его, но и говорить на разных языках.
Android предоставляет класс TextToSpeech для этой цели. Чтобы использовать этот класс, вам нужно создать экземпляр объекта этого класса, а также указать initListener . Его синтаксис приведен ниже —
В этом слушателе вы должны указать свойства объекта TextToSpeech, такие как его язык, высота тона и т. Д. Язык можно установить, вызвав метод setLanguage () . Его синтаксис приведен ниже —
Метод setLanguage принимает объект Locale в качестве параметра. Список некоторых доступных локалей приведен ниже —
Sr.No | место действия |
---|---|
1 | НАС |
2 | CANADA_FRENCH |
3 | ГЕРМАНИЯ |
4 | ИТАЛИЯ |
5 | ЯПОНИЯ |
6 | КИТАЙ |
После того, как вы установили язык, вы можете вызвать метод класса говорить, чтобы произнести текст. Его синтаксис приведен ниже —
Помимо метода speak, в классе TextToSpeech доступны и другие методы. Они перечислены ниже —
addSpeech (текст строки, имя файла строки)
Этот метод добавляет отображение между строкой текста и звуковым файлом.
Этот метод возвращает экземпляр Locale, описывающий язык.
Этот метод проверяет, занят ли механизм TextToSpeech разговором.
setPitch (плавная подача)
Этот метод устанавливает речевую высоту для механизма TextToSpeech.
setSpeechRate (float speechRate)
Этот метод устанавливает скорость речи.
Этот метод освобождает ресурсы, используемые движком TextToSpeech.
Этот метод остановить разговор.
addSpeech (текст строки, имя файла строки)
Этот метод добавляет отображение между строкой текста и звуковым файлом.
Этот метод возвращает экземпляр Locale, описывающий язык.
Этот метод проверяет, занят ли механизм TextToSpeech разговором.
setPitch (плавная подача)
Этот метод устанавливает речевую высоту для механизма TextToSpeech.
setSpeechRate (float speechRate)
Этот метод устанавливает скорость речи.
Этот метод освобождает ресурсы, используемые движком TextToSpeech.
Этот метод остановить разговор.
пример
Приведенный ниже пример демонстрирует использование класса TextToSpeech. Это базовое приложение, которое позволяет вам задавать текст и произносить его.
Чтобы поэкспериментировать с этим примером, вам нужно запустить его на реальном устройстве.
меры | Описание |
---|---|
1 | Вы будете использовать Android studio для создания приложения Android в пакете com.example.sairamkrishna.myapplication. |
2 | Измените файл src / MainActivity.java, чтобы добавить код TextToSpeech. |
3 | Измените XML-файл макета. Res / layout / activity_main.xml добавьте любой компонент GUI, если это необходимо. |
4 | Запустите приложение и выберите работающее устройство Android, установите на него приложение и проверьте результаты. |
Вот содержание src / MainActivity.java .
Вот содержание activity_main.xml
В следующем коде abc указывает логотип tutorialspoint.com
Вот содержимое Strings.xml .
Вот содержание AndroidManifest.xml
Давайте попробуем запустить ваше приложение. Я предполагаю, что вы подключили свое фактическое мобильное устройство Android к компьютеру. Чтобы запустить приложение из студии Android, откройте один из файлов деятельности вашего проекта и нажмите «Выполнить». значок с панели инструментов. Перед запуском вашего приложения, Android Studio покажет следующее окно, чтобы выбрать вариант, где вы хотите запустить свое приложение Android.
Выберите мобильное устройство в качестве опции, а затем проверьте свое мобильное устройство, которое отобразит следующий экран.
Теперь просто введите текст в поле и нажмите кнопку преобразования текста в речь ниже. Появится уведомление и произнесется текст. Это показано на рисунке ниже —
Теперь напечатайте что-нибудь еще и повторите шаг снова с другим языком. Вы снова услышите звук. Это показано ниже —
Источник
Android SDK: создайте приложение «Говори и повторяй»
Платформа Android обеспечивает поддержку как распознавания речи, так и синтеза речи. В этом уроке мы создадим простое приложение для Android, которое позволяет пользователю говорить, пытается распознать то, что он говорит, а затем повторяет то, что было ему распознано, с помощью механизма преобразования текста в речь.
Мы будем использовать ту же технику для движка TTS, что и в Android SDK: с использованием движка Text to Speech Engine , поэтому основное внимание в этом уроке будет уделено элементу распознавания речи. Как распознавание, так и синтез речи относительно легко реализовать на платформе Android, поэтому вы сможете выполнить шаги, описанные в этом руководстве, даже если вы новичок в Android.
Шаг 1: Запустите проект Android
Создайте новый проект Android в Eclipse. В качестве альтернативы, если вы хотите реализовать функцию распознавания речи в существующем приложении, откройте его. Для этого урока у нас есть минимальная версия SDK 8, и вам не нужно вносить какие-либо конкретные дополнения в ваш файл манифеста, достаточно содержимого по умолчанию.
Шаг 2. Определите пользовательский интерфейс
Давайте начнем с определения пользовательского интерфейса. Когда приложение запустится, пользователю будет представлена кнопка. При нажатии на кнопку приложение предложит им говорить, прослушивая их голосовой ввод. Когда утилита распознавания речи обрабатывает ввод речи, приложение представляет пользователю список предлагаемых слов. Как вы знаете, если вы пробовали распознавать речь как пользователь, распознаватель не всегда точен, поэтому этот список необходим. Когда пользователь выбирает элемент из списка, приложение сообщит его ему с помощью механизма TTS. Часть приложения TTS является необязательной, поэтому вы можете опустить ее, если хотите.
Источник
Как добавить Text-to-Speech в свое приложение
Android предоставляет действительно огромные возможности для работы с устройствами. Например, он позволяет конвертировать текст в речь, о чём и будет говориться в этой статье. Это достигается благодаря использованию Синтеза речи (Text-to-Speech), который не только умеет конвертировать текст в речь, но также может говорить на разных языках.
Синтез речи может использоваться в самых разных областях, например, одно из наиболее частых применений это озвучивание текста для пользователей с нарушением зрения. Синтез речи также применяется для того, чтобы читать вслух книги или изучать языки.
В нашем приложении «Карточки для детей» с помощью Text-to-Speech, если активировать эту опцию в настройках, озвучивается содержимое выбранной карточки при нажатии на неё. В этой статье мы рассмотрим, как добавляется синтез речи в приложение.
Для того, чтобы использовать в своём приложении синтез речи, Android SDK предоставляет класс TextToSpeech, который и синтезирует речь из текста. Его реализация достаточно проста, для начала нужно инициализировать экземпляр TextToSpeech и слушатель onInitListener.
В этом слушателе мы должны определить свойства экземпляра TextToSpeech после его инициализации, такие как язык, тембр и так далее. Для этого добавим в onItit() следующий код.
Если инициализация завершена успешно, то с помощью метода isLanguageAvailable() проверяем доступность русского языка. В зависимости от того, доступен ли русский язык, методом setLanguage() устанавливаем экземпляру TextToSpeech или русский язык, или английский.
setLanguage() в качестве параметра принимает объект Locale, однако здесь есть один момент: TextToSpeech не знает локаль ru_RU, которая возвращается при вызове метода Locale.getDefault(). Поэтому при установке русского языка лучше явно задать локаль ru для корректной работы. Получить её можно, вызвав метод Locale.getDefault().getLanguage().
Метод setPitch() выставляет тембр голоса, который будет озвучивать текст.
Метод setSpeechRate() устанавливает скорость речи.
Теперь, когда объект инициализирован, нужно заставить его читать текст. Для этого при нажатии на карточку вызывается callback, передающий слушателю на активности с экземпляром TextToSpeech данные, которые нужно озвучить. Ключевым в процессе синтеза речи будет являться метод speak() класса TextToSpeech.
В метод speak() необходимо передать следующие параметры:
- text — текст, который нужно воспроизвести;
- TextToSpeech.QUEUE_FLUSH — флаг, обозначающий, что при добавлении новой фразы текущую необходимо прервать и начать воспроизведение добавленной. Если вы хотите составить очередь из фраз, следует использовать вместо этого флаг TextToSpeech.QUEUE_ADD;
- Дополнительные параметры.
Главным отличием здесь является то, как формируются дополнительные параметры, в частности идентификатор фразы.
Для версий ниже Lolipop 5.0 (API 21) нужно создать объект HashMap , в который необходимо добавить пару ключ-значение, где ключ TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID обозначает, что мы хотим добавить в параметры идентификатор фразы, а значение — собственно идентификатор, например «MessageId».
В новых же версиях Android это можно сделать проще, без использования HashMap.
В результате мы добавили TextToSpeech в наше приложение и получили возможность воспроизводить название каждой карточки средствами устройства.
Источник
Android — Text To Speech
Android allows you convert your text into voice. Not only you can convert it but it also allows you to speak text in variety of different languages.
Android provides TextToSpeech class for this purpose. In order to use this class, you need to instantiate an object of this class and also specify the initListener. Its syntax is given below −
In this listener, you have to specify the properties for TextToSpeech object , such as its language ,pitch e.t.c. Language can be set by calling setLanguage() method. Its syntax is given below −
The method setLanguage takes an Locale object as parameter. The list of some of the locales available are given below −
Sr.No | Locale |
---|---|
1 | US |
2 | CANADA_FRENCH |
3 | GERMANY |
4 | ITALY |
5 | JAPAN |
6 | CHINA |
Once you have set the language, you can call speak method of the class to speak the text. Its syntax is given below −
Apart from the speak method, there are some other methods available in the TextToSpeech class. They are listed below −
Sr.No | Method & description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
1 |
Steps | Description |
---|---|
1 | You will use Android studio to create an Android application under a package com.example.sairamkrishna.myapplication. |
2 | Modify src/MainActivity.java file to add TextToSpeech code. |
3 | Modify layout XML file res/layout/activity_main.xml add any GUI component if required. |
4 | Run the application and choose a running android device and install the application on it and verify the results. |
Here is the content of src/MainActivity.java.
Here is the content of activity_main.xml
In the following code abcindicates the logo of tutorialspoint.com
Here is the content of Strings.xml.
Here is the content of AndroidManifest.xml
Let’s try to run your application. I assume you have connected your actual Android Mobile device with your computer. To run the app from Android studio, open one of your project’s activity files and click Run icon from the toolbar. Before starting your application, android studio will display following window to select an option where you want to run your Android application.
Select your mobile device as an option and then check your mobile device which will display following screen.
Now just type some text in the field and click on the text to speech button below. A notification would appear and text will be spoken. It is shown in the image below −
Now type something else and repeat the step again with different locale. You will again hear sound. This is shown below −
Источник