No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Azure Cognitive Services

Curso de Azure Cognitive Services

Luis Antonio Ruvalcaba Sanchez

Luis Antonio Ruvalcaba Sanchez

Traducción de voz

13/27
Recursos

¿Cómo configurar y utilizar el servicio de traducción de voz?

La tecnología de traducción de voz se ha convertido en una herramienta imprescindible para facilitar la comunicación en tiempo real entre diferentes idiomas. Para emplear este servicio efectivamente, primero debes contar con una suscripción al servicio de speech. En esta lección, aprenderás cómo configurar y utilizar el servicio de traducción de voz de Microsoft a través de una guía paso a paso sencilla.

¿Cómo comenzar el proyecto en Visual Studio?

Para crear una aplicación que utilice el servicio de traducción de voz, comenzaremos creando un nuevo proyecto de consola en Visual Studio. Sigue estos pasos para configurarlo correctamente:

  1. Crear el proyecto:

    • Abre Visual Studio y selecciona "Crear nuevo proyecto".
    • Escoge "Aplicación de consola".
    • Asigna un nombre al proyecto y confirma el framework.
  2. Agregar el paquete de NuGet:

    • Haz clic derecho en el proyecto y selecciona "Manejar paquetes de NuGet".
    • Busca e instala Microsoft.CognitiveServices.Speech.

¿Cómo obtener y configurar la clave de suscripción?

En tu aplicación, la clave de suscripción y la región donde está desplegado el servicio son esenciales para acceder al servicio de traducción de voz. Sigue las instrucciones siguientes para configurarlas:

  1. Accede al portal de Azure y localiza el servicio cognitivo de speech.
  2. Verifica en qué región está desplegado (por ejemplo, WestUS).
  3. Navega a "Keys and Endpoints" y utiliza 'Show Keys' para copiar la clave de suscripción.
  4. De vuelta en Visual Studio, configura la clave de suscripción y la región en tu aplicación.

¿Cómo desarrollar el método de traducción?

Para realizar la traducción de voz, implementaremos un método asíncrono llamado TranslateSpeechAsync. Este método se encargará de configurar la traducción, obtener el audio del micrófono y gestionar el servicio de traducción. A continuación se muestra cómo configurarlo:

static async Task TranslateSpeechAsync()
{
    var subscriptionKey = "TU_CLAVE_DE_SUSCRIPCIÓN";
    var region = "WestUS";

    var translationConfig = SpeechTranslationConfig.FromSubscription(subscriptionKey, region);
    
    var fromLanguage = "es-MX"; // Lenguaje de origen del audio
    var toLanguages = new List<string> { "en", "fr", "de" }; // Idiomas a traducir
    
    translationConfig.SpeechRecognitionLanguage = fromLanguage;
    toLanguages.ForEach(language => translationConfig.AddTargetLanguage(language));

    using var recognizer = new TranslationRecognizer(translationConfig);
    Console.WriteLine($"Di algo en el idioma: {fromLanguage}");
    
    var result = await recognizer.RecognizeOnceAsync();
    
    if (result.Reason == ResultReason.TranslatedSpeech)
    {
        foreach (var translation in result.Translations)
        {
            Console.WriteLine($"Traducido a {translation.Key}: {translation.Value}");
        }
    }
}

¿Cómo conectar y ejecutar en Main?

Finalmente, es esencial conectar los métodos a tu función Main para ejecutar el proceso de traducción:

static async Task Main(string[] args)
{
    await TranslateSpeechAsync();
}

¿Cómo probar el servicio?

Para verificar que tu aplicación funciona correctamente, compila y ejecuta el proyecto. Cuando se te solicite, habla en el idioma de origen (es-MX para español mexicano en este caso). Observa cómo tu discurso se traduce a los idiomas seleccionados y se despliega en la consola.

Consejos adicionales

  1. Explora la documentación oficial: Microsoft ofrece documentación detallada del servicio para casos de uso avanzado.
  2. Consulta el repositorio del curso: Accede a la rama número cinco para ver el código completo y referencias adicionales.
  3. Prueba y práctica: Experimenta con diferentes idiomas y personalizaciones para mejorar tu comprensión y habilidades en el uso del servicio de traducción de voz.

Anímate a explorar y a seguir aprendiendo sobre las capacidades avanzadas de reconocimiento y traducción de voz para potenciar tus proyectos de desarrollo. ¡El futuro de la tecnología lingüística es emocionante y está al alcance de tus manos!

Aportes 2

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Código del ejemplo

using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using Microsoft.CognitiveServices.Speech;
using Microsoft.CognitiveServices.Speech.Audio;
using Microsoft.CognitiveServices.Speech.Translation;

public class Program
{
    static readonly string SPEECH__SUBSCRIPTION__KEY = "0d0fcb275cf949ce8cdc32c215da56ed";

    static readonly string SPEECH__SERVICE__REGION = "westus";

    static Task Main() {
        Console.WriteLine("Hello World!");
        await TranslateSpeechAsync();
    }

    static async Task TranslateSpeechAsync()
    {
        var translationConfig =
            SpeechTranslationConfig.FromSubscription(SPEECH__SUBSCRIPTION__KEY, SPEECH__SERVICE__REGION);

        var fromLanguage = "es-MX";
        var toLanguages = new List<string> { "en", "fr", "de" };
        translationConfig.SpeechRecognitionLanguage = fromLanguage;
        toLanguages.ForEach(translationConfig.AddTargetLanguage);

        using var recognizer = new TranslationRecognizer(translationConfig);

        Console.Write("Di algo en el idioma : " + fromLanguage);
        Console.WriteLine($"we'll translate into '{string.Join("', '", toLanguages)}'.\n");

        var result = await recognizer.RecognizeOnceAsync();
        if (result.Reason == ResultReason.TranslatedSpeech)
        {
            Console.WriteLine($"Recognized: \"{result.Text}\":");
            foreach (var (language, translation) in result.Translations)
            {
                Console.WriteLine($"Translated into '{language}': {translation}");
            }
        }
    }
}

esta muy genial esto ![](https://static.platzi.com/media/user_upload/upload-2f4efe5e-0e03-4a46-af5f-d3cfdfacb862.png)![](https://static.platzi.com/media/user_upload/upload-cd2b9238-8f5b-4891-8680-c49f784d4d21.png)