Conversión de Voz a Texto con Servicios Cognitivos en Visual Studio

Clase 12 de 27Curso de Azure Cognitive Services

Resumen

¿Cómo implementar el servicio de voz a texto?

El servicio de voz a texto transforma el audio en texto utilizando tecnología cognitiva avanzada. Para comenzar a usarlo, es esencial disponer de una suscripción al servicio cognitivo de Azure. Aquí aprenderás cómo configurarlo desde cero en un entorno de Visual Studio, utilizando C# y algunas herramientas adicionales para trabajar con el sistema de archivos y métodos asíncronos.

¿Qué necesitas para comenzar?

  1. Suscripción al servicio cognitivo de speech: Este servicio es clave para realizar la conversión de voz a texto.
  2. Llave de suscripción y ubicación: Configura estos elementos cruciales para acceder al servicio y ejecutarlo correctamente.

¿Cómo configurar Visual Studio?

  1. Crear una aplicación de consola: Selecciona la opción de consola para crear una nueva aplicación. Esto simplifica el proceso de configuración inicial.
  2. Seleccionar framework: Elige el framework .NET adecuado para trabajar.
  3. Agregar el paquete NuGet:
    • Haz clic derecho en el proyecto y selecciona "Administrar paquetes de Nuget".
    • Busca Microsoft.CognitiveServices.Speech y añade el paquete.

¿Cómo configurar el servicio de voz a texto?

Obtener la suscripción y configurar la región

Dirígete al portal de Azure:

  1. Selecciona el servicio cognitivo de tipo speech.
  2. Confirma la región en la que está configurado, por ejemplo, WestUS.
  3. Copia la primera llave desde la sección de keys and endpoint.

Configurar la clave de suscripción

En Visual Studio, configura la suscripción y región en tu aplicación con speech config:

using var speechConfig = SpeechConfig.FromSubscription("YourSubscriptionKey", "WestUS");

¿Cómo capturar el audio desde el micrófono?

  1. Crear un método asíncrono: Define un método para capturar audio, por ejemplo async static Task FromMic.
  2. Configurar orígenes de audio: Utiliza el micrófono por defecto para captar el audio:
using var audioConfig = AudioConfig.FromDefaultMicrophoneInput();
using var recognizer = new SpeechRecognizer(speechConfig, audioConfig);
  1. Generar reconocimiento de voz:
    • Solicita al usuario que hable al micrófono.
    • Usa el reconocedor para transcribir en texto la voz captada.
var result = await recognizer.RecognizeOnceAsync();
Console.WriteLine("Tú dijiste: " + result.Text);

¿Cómo procesar un archivo de audio?

  1. Crear otro método asíncrono: Define async static Task FromFile.
  2. Configuración del archivo: Cambia el origen de micrófono a un archivo de audio:
using var audioConfig = AudioConfig.FromWavFileInput("test.wav");
  1. Ejecutar reconocimiento: Usa el mismo proceso de reconocimiento, pero manteniendo la configuracion para procesar un archivo:
var result = await recognizer.RecognizeOnceAsync();
Console.WriteLine("El resultado es: " + result.Text);

Ejecución completa

Para ejecutar correctamente, ajusta la firma del método Main en el programa de consola para trabajar con tareas asíncronas, e invoca los métodos según necesites trabajar desde un micrófono o un archivo de audio:

static async Task Main()
{
    var speechConfig = SpeechConfig.FromSubscription("YourSubscriptionKey", "WestUS");
    await FromMic(speechConfig);
    // or
    await FromFile(speechConfig);
    Console.ReadLine();
}

¡Y ahí lo tienes! Con estas instrucciones, podrás implementar y probar el servicio de voz a texto empleando tanto entradas de micrófono como archivos de audio. Explorando el repositorio del curso, también encontrarás ejemplos más avanzados. Conviértete en un experto en procesamiento de voz aprovechando estas herramientas.