Inicio rápido: Síntesis la voz con el SDK de Voz para .NET Framework (Windows)Quickstart: Synthesize speech with the Speech SDK for .NET Framework (Windows)

También hay inicios rápidos disponibles para el reconocimiento de voz y la traducción de voz.Quickstarts are also available for speech-recognition and speech-translation.

Use esta guía para crear una aplicación de consola de conversión de texto a voz mediante .NET Framework para Windows y el SDK de Voz.Use this guide to create a text-to-speech console application using the .NET framework for Windows and the Speech SDK. Cuando termine, puede sintetizar la voz a partir de texto y escuchar la voz en su altavoz en tiempo real.When finished, you can synthesize speech from text, and hear the speech on your speaker in real time.

Para ver una demostración rápida (sin compilar el proyecto de Visual Studio personalmente como se muestra a continuación):For a quick demonstration (without building the Visual Studio project yourself as shown below):

Obtenga los ejemplos más recientes del SDK de Voz de Cognitive Services de GitHub.Get the latest Cognitive Services Speech SDK Samples from GitHub.

Requisitos previosPrerequisites

Para completar este proyecto necesitará lo siguiente:To complete this project, you'll need:

Creación de un proyecto de Visual StudioCreate a Visual Studio project

  1. Abra Visual Studio 2019.Open Visual Studio 2019.

  2. En la ventana Inicio, seleccione Crear un proyecto.In the Start window, select Create a new project.

  3. Seleccione Aplicación de consola (.NET Framework) y Siguiente.Select Console App (.NET Framework), and then select Next.

  4. En el nombre del proyecto, escriba helloworld y, a continuación, seleccione Crear.In Project name, enter helloworld, and then select Create.

  5. En la barra de menús de Visual Studio, seleccione Herramientas > Get Tools and Features (Obtener herramientas y características) y asegúrese de que la carga de trabajo Desarrollo de escritorio de .NET está disponible.From the menu bar in Visual Studio, select Tools > Get Tools and Features, and check whether the .NET desktop development workload is available. Si aún no se ha instalado la carga de trabajo, active la casilla y seleccione Modificar para iniciar la instalación.If the workload hasn't been installed, mark the checkbox, then select Modify to start the installation. La descarga e instalación pueden tardar unos minutos.It may take a few minutes to download and install.

    Si la casilla que está junto a Desarrollo de escritorio de .NET está seleccionada, puede cerrar el cuadro de diálogo ahora.If the checkbox next to .NET desktop development is selected, you can close the dialog box now.

    Habilitación del desarrollo de escritorio .NET

El siguiente paso consiste en instalar el paquete NuGet del SDK de Voz para que pueda hacer referencia a él en el código.The next step is to install the Speech SDK NuGet package, so you can reference it in the code.

  1. En el explorador de soluciones, haga clic con el botón derecho en helloworld y seleccione Manage NuGet Packages (Administrar paquetes NuGet) para mostrar el administrador de paquetes NuGet.In the Solution Explorer, right-click helloworld, and then select Manage NuGet Packages to show the NuGet Package Manager.

    Administrador de paquetes NuGet

  2. En la esquina superior derecha, busque el cuadro desplegable Origen del paquete y asegúrese de que nuget.org está seleccionado.In the upper-right corner, find the Package Source drop-down box, and make sure that nuget.org is selected.

  3. En la esquina superior izquierda, seleccione Examinar.In the upper-left corner, select Browse.

  4. En el cuadro de búsqueda, escriba Microsoft.CognitiveServices.Speech y presione Entrar.In the search box, type Microsoft.CognitiveServices.Speech package and press Enter.

  5. Seleccione Microsoft.CognitiveServices.Speech e Instalar para instalar la versión estable más reciente.Select Microsoft.CognitiveServices.Speech, and then select Install to install the latest stable version.

    Instalación del paquete NuGet Microsoft.CognitiveServices.Speech

  6. Acepte todos los contratos y licencias para iniciar la instalación.Accept all agreements and licenses to start the installation.

    Después de instalar el paquete aparecerá una confirmación en la ventana Consola del administrador de paquetes.After the package is installed, a confirmation appears in the Package Manager Console window.

Ahora, para compilar y ejecutar la aplicación de consola, cree una configuración de plataforma que coincida con la arquitectura del equipo.Now, to build and run the console application, create a platform configuration matching your computer's architecture.

  1. En la barra de menús, seleccione Compilar > Administrador de configuración.From the menu bar, select Build > Configuration Manager. Aparecerá el cuadro de diálogo Administrador de configuración.The Configuration Manager dialog box appears.

    Cuadro de diálogo Administrador de configuración

  2. En el cuadro desplegable Active solution platform (Plataforma de soluciones activas), seleccione Nuevo.In the Active solution platform drop-down box, select New. Aparecerá el cuadro de diálogo Nueva plataforma de solución.The New Solution Platform dialog box appears.

  3. En el cuadro desplegable escriba o seleccione la nueva plataforma:In the Type or select the new platform drop-down box:

    • Si está ejecutando Windows de 64 bits, seleccione x64.If you're running 64-bit Windows, select x64.
    • Si está ejecutando Windows de 32 bits, seleccione x86.If you're running 32-bit Windows, select x86.
  4. Seleccione Aceptar y, después, Cerrar.Select OK and then Close.

Incorporación de código de ejemploAdd sample code

  1. Abra Program.cs y reemplace el código generado automáticamente por el de este ejemplo:Open Program.cs and replace the automatically generated code with this sample:

    using System;
    using System.Threading.Tasks;
    using Microsoft.CognitiveServices.Speech;
    
    namespace helloworld
    {
        class Program
        {
            public static async Task SynthesisToSpeakerAsync()
            {
                // Creates an instance of a speech config with specified subscription key and service region.
                // Replace with your own subscription key and service region (e.g., "westus").
                // The default language is "en-us".
                var config = SpeechConfig.FromSubscription("YourSubscriptionKey", "YourServiceRegion");
    
                // Creates a speech synthesizer using the default speaker as audio output.
                using (var synthesizer = new SpeechSynthesizer(config))
                {
                    // Receive a text from console input and synthesize it to speaker.
                    Console.WriteLine("Type some text that you want to speak...");
                    Console.Write("> ");
                    string text = Console.ReadLine();
    
                    using (var result = await synthesizer.SpeakTextAsync(text))
                    {
                        if (result.Reason == ResultReason.SynthesizingAudioCompleted)
                        {
                            Console.WriteLine($"Speech synthesized to speaker for text [{text}]");
                        }
                        else if (result.Reason == ResultReason.Canceled)
                        {
                            var cancellation = SpeechSynthesisCancellationDetails.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: Did you update the subscription info?");
                            }
                        }
                    }
    
                    // This is to give some time for the speaker to finish playing back the audio
                    Console.WriteLine("Press any key to exit...");
                    Console.ReadKey();
                }
            }
    
            static void Main()
            {
                SynthesisToSpeakerAsync().Wait();
            }
        }
    }
    
  2. Localice la cadena YourSubscriptionKey y reemplácela por su clave de suscripción a los servicios de voz.Locate and replace the string YourSubscriptionKey with your Speech Services subscription key.

  3. Localice la cadena YourServiceRegion y reemplácela por la región asociada a sus suscripción.Locate and replace the string YourServiceRegion with the region associated with your subscription. Por ejemplo, si usa la evaluación gratuita, la región es westus.For example, if you're using the free trial, the region is westus.

  4. Guarde los cambios realizados en el proyecto.Save the changes to the project.

Compilación y ejecución de la aplicaciónBuild and run the app

  1. En la barra de menús, seleccione Compilar > Compilar solución.From the menu bar, select Build > Build Solution. El código se debería compilar sin errores ahora.The code should compile without errors now.

    Captura de pantalla de la aplicación de Visual Studio, con la opción Generar solución resaltadaScreenshot of Visual Studio application, with Build Solution option highlighted

  2. En la barra de menús, seleccione Depurar > Iniciar depuración o presione F5 para iniciar la depuración.From the menu bar, select Debug > Start Debugging, or press F5 to start the application.

    Captura de pantalla de la aplicación de Visual Studio, con la opción Iniciar depuración resaltadaScreenshot of Visual Studio application, with Start Debugging option highlighted

  3. Aparece una ventana de consola que le pide que escriba texto.A console window will appear, prompting you to type some text. Escriba algunas palabras o una frase.Type a few words or a sentence. El texto que escriba se transmite a los servicios de Voz y se sintetiza en voz, la cual se reproduce en el altavoz.The text that you typed is transmitted to the Speech Services and synthesized to speech, which plays on your speaker.

    Captura de pantalla de la salida de la consola después de un reconocimiento correctoScreenshot of console output after successful recognition

Pasos siguientesNext steps

Otras referenciasSee also