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

Migrar proyecto Netbeans a Eclipse

En ocasiones por motivos cualesquiera que sea queremos pasar proyectos hechos en netbeans a Eclipse, Netbeans cuenta con[...]

Pruebas funcionales con AssertJ Swing

AssertJ Swing es una biblioteca para Java que proporciona una interfaz fluida para la realización automatizada de prueba[...]

AutoDraw: App Inteligente de Google para adivinar lo que estas dibujando

Google acaba de lanzar AutoDraw, una aplicación que usa la Inteligencia Artificial para adivinar lo que intentas dibujar[...]

Ejecutar scripts de Python en Laravel

Integrar Python en proyectos Laravel puede ser bastante útil para tareas específicas donde Python destaca y PHP se queda[...]

Duplicación de objetos con la Interface Cloneable

En este post aprenderemos lo que es la clonación de objetos en java o lo que es lo mismo, generación de nuevas instancia[...]

Manejo de BLOB: Escritura y lectura de archivos

Un BLOB en SQL es un tipo incorporado que almacena un Objeto Binario Grande como un valor de columna en una fila de una[...]