![Преобразование голоса в текст | PYTHON](https://i.ytimg.com/vi/_OrQu1rz37s/hqdefault.jpg)
Содержание
- Создание речевого к тексту пользовательского интерфейса
- Добавление распознавания речи в ваше приложение для Android
- 1. Запустите RecognizerIntent
- 2. Получение речевого ответа
- Тестирование вашего проекта
- Завершение
Многие приложения, сервисы и бытовые гаджеты используют распознавание речи, чтобы улучшить взаимодействие с пользователем и улучшить доступность. Существует бесчисленное множество приложений для Android, в которых используется распознавание речи - наиболее заметным из которых является Google Assistant - так почему бы не последовать их примеру и добавить эту функцию в свои собственные приложения для Android?
В этой статье я расскажу о быстром и простом способе начать работу с речевым текстом в Android, который может быть полезен в самых разных приложениях. Например, вы можете использовать распознавание речи для автоматизации утомительного ручного ввода данных, автоматического создания субтитров или даже в качестве основы для переводческого приложения, которое «прослушивает» голосовой ввод, преобразует его в текст, затем переводит этот текст и отображает результаты в Пользователь.
Независимо от того, какое приложение вы создаете, распознавание речи может улучшить доступность, предоставляя пользователям альтернативный способ взаимодействия с вашим приложением. Например, людям с проблемами мобильности, ловкости или зрения может быть проще ориентироваться в мобильных приложениях с помощью голосовых команд, а не на сенсорном экране или клавиатуре. Кроме того, по данным Всемирной организации здравоохранения (ВОЗ), более миллиарда людей имеют ту или иную форму инвалидности, что составляет около 15% населения мира. Добавление специальных возможностей в ваши приложения может значительно увеличить вашу потенциальную аудиторию.
К концу этой статьи вы создадите простое приложение для преобразования речи в текст, которое записывает ваш голос, преобразует его в текст и затем отображает этот текст на экране.
Создание речевого к тексту пользовательского интерфейса
Для начала создайте новый проект Android с помощью шаблона «Пустое действие».
Мы создадим простое приложение, состоящее из кнопки, которая при нажатии вызывает Android-функцию «Речь к тексту» и отображает диалоговое окно, указывающее, что ваше приложение готово принимать речевой ввод. Как только пользователь закончит говорить, его ввод будет преобразован в текст, а затем отображен как часть TextView.
Давайте начнем с создания нашего макета:
Это дает нам следующий макет:
Добавление распознавания речи в ваше приложение для Android
Мы фиксируем и обрабатываем речевой ввод в два этапа:
1. Запустите RecognizerIntent
Самый простой способ выполнить преобразование речи в текст - использовать RecognizerIntent.ACTION_RECOGNIZE_SPEECH. Это намерение запрашивает у пользователя голосовой ввод, открывая знакомое диалоговое окно микрофона Android.
Как только пользователь перестанет говорить, диалоговое окно закроется автоматически, и ACTION_RECOGNIZE_SPEECH отправит записанное аудио через распознаватель речи.
Мы запускаем RecognizerIntent.ACTION_RECOGNIZE_SPEECH, используя startActivityForResult () со связанными дополнениями. Обратите внимание, что если не указано иное, распознаватель будет использовать локаль устройства по умолчанию.
public void onClick (View v) {// Инициировать намерение RecognizerIntent // Интент намерения = новое намерение (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); try {startActivityForResult (intent, REQUEST_CODE); } catch (ActivityNotFoundException a) {}}
2. Получение речевого ответа
По завершении операции распознавания речи ACTION_RECOGNIZE_SPEECH отправит результаты обратно в вызывающую активность в виде массива строк.
Поскольку мы запустили RecognizerIntent с помощью startActivityForResult (), мы обрабатываем данные результата, переопределяя onActivityResult (int requestCode, int resultCode, Intent data) в Activity, которая инициировала вызов распознавания речи.
Результаты возвращаются в порядке убывания достоверности распознавателя речи. Итак, чтобы убедиться, что мы отображаем наиболее точный текст, нам нужно взять нулевую позицию из возвращенного ArrayList, а затем отобразить его в нашем TextView.
@Override // Определяем метод OnActivityResult в нашем намеренном вызывающем объекте Activity // protected void onActivityResult (int requestCode, int resultCode, Intent data) {super.onActivityResult (requestCode, resultCode, data); switch (requestCode) {case REQUEST_CODE: {// Если возвращается RESULT_OK ... // if (resultCode == RESULT_OK && null! = data) {//...then получить ArrayList // ArrayList Обратите внимание, что для преобразования текста в текст не требуется активное подключение к Интернету, поэтому он будет работать правильно, даже если пользователь находится в автономном режиме. После выполнения всех вышеперечисленных шагов ваша MainActivity должна выглядеть примерно так: import android.content.ActivityNotFoundException; import androidx.appcompat.app.AppCompatActivity; импорт android.os.Bundle; импорт android.content.Intent; import android.speech.RecognizerIntent; import android.widget.TextView; импорт android.view.View; import java.util.ArrayList; открытый класс MainActivity extends AppCompatActivity {приватный статический final int REQUEST_CODE = 100; частный TextView textOutput; @Override protected void onCreate (Bundle saveInstanceState) {super.onCreate (сохраненныйInstanceState); setContentView (R.layout.activity_main); textOutput = (TextView) findViewById (R.id.textOutput); } // Этот метод вызывается при нажатии кнопки // public void onClick (View v) // Создание намерения с действием «RecognizerIntent.ACTION_RECOGNIZE_SPEECH» // {Intent intent = new Intent (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); try {// Запускаем Activity и ждем ответа // startActivityForResult (intent, REQUEST_CODE); } catch (ActivityNotFoundException a) {}} @Override // Обработка результатов // protected void onActivityResult (int requestCode, int resultCode, Intent data) {super.onActivityResult (requestCode, resultCode, data); switch (requestCode) {case REQUEST_CODE: {if (resultCode == RESULT_OK && null! = data) {ArrayList Вы можете скачать готовый проект с GitHub. Чтобы проверить вашу заявку: В этой статье мы увидели, как можно быстро и легко добавить распознавание речи в приложения для Android, используя функцию «Речь в текст». Сталкивались ли вы с Android-приложениями, которые используют распознавание речи удивительным или инновационным способом? Следующий: Создайте приложение для Android с дополненной реальностью с помощью Google ARCoreТестирование вашего проекта
Завершение