De voz a texto

Iniciado por Juancfernandez, 9 Enero 2020, 19:12 PM

0 Miembros y 1 Visitante están viendo este tema.

Juancfernandez

Buen día, estoy buscando alguna solución a un sistema que quiero armar. Tengo una FM y quiero lograr que todo lo que se hable se pase a texto. El traductor de google o el google documentos funciona muy bien, pero no queda encendido continuamente. Hay alguna manera de hacer un comando que deje el dictado siempre encendido? De ser así que lenguaje debería usar? Desde ya muchas gracias.

Diesan Romero

#1
Usa el lenguaje que desees, casi todos puden consumir APIs que es lo que necesitarás. Existe una API precisamente  de Google Cloud llamada Cloud Speech-to-Text. No recuerdo si es de pago o no, o si la empezaron a cobrar, pero siempre puedes optar por otras alternativas, como por ejemplo la API de Speech to Text de Azure o la de IBM.

Saludos.

Juancfernandez

si, Google Cloud Cloud Speech-to-Text ya es de pago. Estoy tratando de armar algo con python con las api gratuitas que andan dando vuelta con python ya que hay poco y nada en la web

Diesan Romero

Si puedes hacerlo con Python pero necesitarás una API. Analiza las otras opciones que te comenté, alguna nube te debe de dar algún período de prueba gratis.

Juancfernandez

ya lo pude lograr. dejo el comando acá abajo

 
r = sr.Recognizer()                
with sr.Microphone() as source:    
print("A LA ESCUCHA")
audio = r.listen(source)        
try:
text = r.recognize_google(audio, language = "es-AR")    
print("TRANSCRIPCION: {}".format(text))
except:
print("Sorry could not recognize your voice")    


Meta

Prueba con esto en Consola C#:

Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Speech.Recognition; // No olvidar.

namespace Reconocimiento_voz_consola_02
{
    class Program
    {
        public SpeechRecognitionEngine escucha = new SpeechRecognitionEngine();

        static void Main(string[] args)
        {
            Console.WindowWidth = 80; // Redimensionando ventana consola.
            Console.WindowHeight = 43;
            Console.Title = "Reconicimiento voz 02"; // Título de la ventana.
            Console.BackgroundColor = ConsoleColor.White; // Fondo pantalla blanco.
            Console.Clear(); // Limpiar pantalla.
            Console.ForegroundColor = ConsoleColor.Blue; // Color texto azul.
            string entradaComandos = string.Empty;
            Console.WriteLine(@"Elija una opción:

1) Activar reconocimiento de voz.
2) Salir del programa.");
            Console.CursorVisible = true;
            entradaComandos = Console.ReadLine().ToString();


                switch (entradaComandos)
                {
                    case "1":
                        Program escuchaProgram = new Program();
                        escuchaProgram.MicroActivo();
                        Console.WriteLine("Reconocimiento de voz activado. Escuchando...");
                    Console.ReadKey();
                        break;

                    case "2":
                        // Salir del programa.
                        // Aquí instrucciones para salir de esta aplicación.
                        break;
                }
           
        }

        public void MicroActivo()
        {
            escucha.SetInputToDefaultAudioDevice(); // Abrir el dispositivo de audio. Micro.
            escucha.LoadGrammar(new DictationGrammar()); // Escuchar tu voz desde el micro.
            escucha.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(lector); // Escribe las palabras.
            escucha.RecognizeAsync(RecognizeMode.Multiple); // Reconociendo varias palabas.
        }

        public void lector(object sender, SpeechRecognizedEventArgs e)
        {
            foreach (RecognizedWordUnit palabra in e.Result.Words)
            {
                Console.SetCursorPosition(10, 10);
                Console.Write(palabra.ToString());

                if (palabra.ToString() == "izquierda")
                {
                   
                    Console.Write("Palabra: ");
                }
            }
        }
    }
}


Ya dirás si algo funciona..
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/