Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Android / Convertir voz a texto con Android

Convertir voz a texto con Android

Por jc mouse martes, julio 28, 2020

En este post realizaremos una aplicación que pueda capturar nuestra voz y convertir en texto

Pasar voz a texto con Android

Comencemos

¿Qué necesitamos?

  • Android Studio
  • Conocimientos del lenguaje Java
  • Si lo deseas puedes utilizar Kotlin (Opcional)

Nivel: Intermedio

Tiempo: 15 minutos

Paso 1. El proyecto

Crea un nuevo proyecto llamado «Voz a Texto». Este debe tener las siguientes características:

  • API 19: Android 4.4 (Mínimo)
  • Activity: Empty Activity
  • Activity Name: MainActivity
    Layout Name: activity_main

Paso 2: Interfaz de Usuario

Utilizando el diseñador, agrega un TextView y un ImageButton, deja sus nombres por defecto. Da a lo controles la siguiente distribución como se muestra en la imagen de abajo.

desarrollo de app android bolivia

Para el icono, puedes utilizar los iconos de Google, los puedes descargar en Material Icons

Paso 3: Código

Utilizaremos la clase RecognizerIntent, esta clase contiene soporte para el reconocimiento de voz a través de Intent.

Tanto el código como la aplicación en si, son bastante sencillos, básicamente el usuario presiona un botón, habla y este es capturado en un textview.  El código integro a continuación:

package org.example.vozatexto;

import android.content.Intent;
import android.speech.RecognizerIntent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.Locale;

public class MainActivity extends AppCompatActivity {

    private TextView textView;
    private ImageButton imageButton;
    private final int RCODE = 28;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = findViewById(R.id.textView);
        imageButton = findViewById(R.id.imageButton);
        imageButton.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v){
                capturarVoz();
            }
        });
    }

    private void capturarVoz()
    {
        Intent intent = new Intent(RecognizerIntent
                .ACTION_RECOGNIZE_SPEECH);

        intent.putExtra(
                RecognizerIntent.EXTRA_LANGUAGE_MODEL,
                RecognizerIntent.LANGUAGE_MODEL_FREE_FORM
        );
        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE,
                Locale.getDefault());

        if (intent.resolveActivity(getPackageManager()) != null)
        {
            startActivityForResult(intent, RCODE);
        } else
        {
            Log.e("ERROR","Su dispositivo no admite entrada de voz");
        }
    }

    @Override
    protected  void onActivityResult(int requestCode,
                                  int resultCode, Intent data)
    {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == RCODE && resultCode == RESULT_OK && data != null)
        {
            ArrayList<String> result = data.getStringArrayListExtra(
                    RecognizerIntent.EXTRA_RESULTS);
            textView.setText(result.get(0));
        }

    }


}

Ya solo resta ejecutar y probar el proyecto.

speach to text kotlin

enjoy!

Tags

Artículos similares

Determinante de una matriz NxN en javascript

Notación matemática formada por una tabla cuadrada de números, u otros elementos, entre dos líneas verticales; el valor[...]

Gallery: Google presenta su app colaborativa para desarrolladores

Gallery.io es una herramienta de colaboración gratuita desarrollada por Google para cargar trabajos de diseño, obtener c[...]

Crear web multi-lenguaje con php

En este tutorial realizaremos un proyecto web de un «sitio multi lenguaje» o «web multi idiomas» como prefieran llamarlo[...]

FossFLOW – Herramienta de diagramación isométrica de código abierto

FossFLOW es una potente aplicación web progresiva (PWA) de código abierto para crear atractivos diagramas isométricos, s[...]

Leer y Escribir registros en archivo de texto

A veces se necesita utilizar archivos de texto plano como contenedor de registros como si de una base de datos se tratar[...]

Botones circulares de Google Plus en java

Continuación del tutorial «Google Circles en java» o.O 🙂 La Interfaz El proyecto consta de una sola interfaz la cual es[...]