Skip to content

Instantly share code, notes, and snippets.

@FernandaOchoa
Last active May 29, 2020 20:49
Show Gist options
  • Save FernandaOchoa/d95f7140b9c25e5fe84e0a8470f9ba97 to your computer and use it in GitHub Desktop.
Save FernandaOchoa/d95f7140b9c25e5fe84e0a8470f9ba97 to your computer and use it in GitHub Desktop.
Conversión de Audio a Texto con Azure Cognitive Services Speech
using System;
using System.Threading.Tasks;
using Microsoft.CognitiveServices.Speech;
using Microsoft.CognitiveServices.Speech.Audio;
namespace HelloWorld {
class Program {
// Accesamos a los servicios con una función Async
static async Task Main() {
await RecognizeSpeechAsync();
}
static async Task RecognizeSpeechAsync() {
// Configuramos la información para accesar a los servicios.
// Podemos usar la Clave 1 o Clave 2 que hemos creado con Servicio de Speech en Azure
var config = SpeechConfig.FromSubscription("Clave 1 ", "region");
// Agregamos el archivo de audio, en este caso es un archivo en local.
using (var audioInput = AudioConfig.FromWavFileInput("archivo.wav"))
//Pasamos los parámetros requeridos para el Servicio de Speech el cuál incluye la información de configuración
// y el archivo de audio que quieres transcribir
using (var recognizer = new SpeechRecognizer(config, audioInput)) {
Console.WriteLine("Recognizing first result...");
var result = await recognizer.RecognizeOnceAsync();
switch (result.Reason) {
case ResultReason.RecognizedSpeech:
// El archivo de audio es reconocido y la transcripción se mostrará en la salida.
// en la ventana output de la terminal
Console.WriteLine($"He reconocido: {result.Text}");
break;
case ResultReason.NoMatch:
// Cuando no se puede reconocer el audio del archivo que se ha especificado.
// Salida del mensaje con el error
Console.WriteLine($"NOMATCH: No he podido reconocer el archivo especificado.");
break;
case ResultReason.Canceled:
// Se cancela todo
// Mostramos el por qué
var cancellation = CancellationDetails.FromResult(result);
Console.WriteLine($"CANCELED: Reason={cancellation.Reason}");
if (cancellation.Reason == CancellationReason.Error) {
Console.WriteLine($"CANCELED: ErrorCode={cancellation.ErrorCode}");
Console.WriteLine($"CANCELED: ErrorDetails={cancellation.ErrorDetails}");
Console.WriteLine($"CANCELED: ¿Quieres actualizar la información de la Suscripción?");
}
break;
}
}
}
}
}
@FernandaOchoa
Copy link
Author

FernandaOchoa commented May 29, 2020

Traducción de voz en tiempo real con Azure Cognitive Services

Creamos el servicio de Voz

  • Nos dirigimos al portal de Azure
  • Iniciamos sesión con la cuenta que tiene la suscripción.
  • Damos clic en +, Crear un Recurso
    • Escribimos "Voz" en la barra de búsqueda
    • Seleccionamos Voz
    • Clic en Crear
    • Llenamos los datos solicitados:
      • Nombre: Training01
      • Suscripción: Cuenta que tiene la suscripción
      • Ubicación: Por default
      • Plan de Tarifa: F0
      • Grupo de recursos: mslearn-speechapi (Crear nuevo) o elegir uno ya creado.
        Esperamos en lo que se configura nuestro grupo de recursos (3min)

Obteniendo las credenciales del API Cognitive Services Speech

  • Vamos a grupo de recursos y damos clic
  • Seleccionamos Training01
  • Del lado izquierdo en la sección ADMINISTRACIÓN DE RECURSOS seleccionamos Claves y punto de conexión
  • Copiamos la Key 1, Key 2 (Posteriormente usaremos 1 de las 2) y copiamos la región.

Configuración de VS Code Online

1.- Abrir una pestaña o ventana del explorador y entrar a Visual Studio Code en línea.
2.- Creamos un entorno:

  • Seleccionas tu plan de facturación
  • Escribimos la ubicación del servicio
  • Más detalles y agregamos el grupo de recursos.
  • Damos clic en crear y llenamos lo siguiente:
  • Crear y esperamos a que finalice la creación del entorno (Demora unos 5min)
    3.- Una vez que está creado damos clic en Conectar y esperamos un poco más.

Código

Nos vamos al menú-> Ver->Seleccionamos Terminal (La cual deberá ser Bash)
Escribimos en la terminal:

  • dotnet new terminal
    Con esto hemos configurado la estructura de un proyecto en C#
  • Ahora abrimos Program.cs y pegamos el código proporcionado en este gist.
  • En la terminal agregamos lo siguiente dotnet add package Microsoft.CognitiveServices.Speech para instalar el paquete de los servicios cognitivos de Speech.
  • Ahora agregamos la clave de la suscripción dónde están las siguientes palabras (Línea 15) Clave 1 y la región en la palabra region de nuestro recurso en Azure.
  • Agregamos la localización de nuestro archivo de audio (Línea 18), en este caso es hello.wav

Probamos el Código

  • Por último escribimos en la terminal dotnet run para ejecutar nuestro código.

Listo, de esta manera logramos transcribir a texto un audio con los servicios cognitivos de Azure.

Speech2text

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment