Inicio rápido: Conversión de texto a voz

Documentación de referenciaPaquete (NuGet)Ejemplos adicionales en GitHub

En este inicio rápido, ejecutará una aplicación que realiza la síntesis de texto a voz.

Sugerencia

Puede probar la conversión de texto en voz en Speech Studio sin registrarse ni escribir ningún código.

Prerrequisitos

Configuración del entorno

El SDK de Voz está disponible como paquete NuGet e implementa .NET Standard 2.0. La instalación del SDK de Voz se describe en una sección más adelante de esta guía; primero consulte la SDK installation guide, (guía de instalación del SDK), para conocer otros requisitos.

Establecimiento de variables de entorno

La aplicación debe autenticarse para acceder a los recursos de Cognitive Services. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para Recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte el artículo de seguridad de Cognitive Services para ver más opciones de autenticación, como Azure Key Vault.

Para establecer la variable de entorno para la clave de recurso de Voz, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo. Para establecer la variable de entorno SPEECH_KEY, reemplace your-key por una de las claves del recurso.

setx SPEECH_KEY your-key

Nota:

Si solo necesita acceder a la variable de entorno en la consola que se está ejecutando en este momento, puede establecer la variable de entorno con set en vez de con setx.

Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas en ejecución que necesiten leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Para establecer la variable de entorno en la región de recursos de Voz, siga los mismos pasos. Establezca SPEECH_REGION en la región del recurso. Por ejemplo, westus.

Síntesis a la salida de altavoz

Siga estos pasos para crear una nueva aplicación de consola e instalar el SDK de Voz.

  1. Abra un símbolo del sistema donde quiera el nuevo proyecto y cree una aplicación de consola con la CLI de .NET. El archivo Program.cs debe crearse en el directorio del proyecto.

    dotnet new console
    
  2. Instale el SDK de Voz en el nuevo proyecto con la CLI de .NET.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. Reemplace el contenido de Program.cs por el código siguiente.

    using System;
    using System.IO;
    using System.Threading.Tasks;
    using Microsoft.CognitiveServices.Speech;
    using Microsoft.CognitiveServices.Speech.Audio;
    
    class Program 
    {
        // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY");
        static string speechRegion = Environment.GetEnvironmentVariable("SPEECH_REGION");
    
        static void OutputSpeechSynthesisResult(SpeechSynthesisResult speechSynthesisResult, string text)
        {
            switch (speechSynthesisResult.Reason)
            {
                case ResultReason.SynthesizingAudioCompleted:
                    Console.WriteLine($"Speech synthesized for text: [{text}]");
                    break;
                case ResultReason.Canceled:
                    var cancellation = SpeechSynthesisCancellationDetails.FromResult(speechSynthesisResult);
                    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 set the speech resource key and region values?");
                    }
                    break;
                default:
                    break;
            }
        }
    
        async static Task Main(string[] args)
        {
            var speechConfig = SpeechConfig.FromSubscription(speechKey, speechRegion);      
    
            // The language of the voice that speaks.
            speechConfig.SpeechSynthesisVoiceName = "en-US-JennyNeural"; 
    
            using (var speechSynthesizer = new SpeechSynthesizer(speechConfig))
            {
                // Get text from the console and synthesize to the default speaker.
                Console.WriteLine("Enter some text that you want to speak >");
                string text = Console.ReadLine();
    
                var speechSynthesisResult = await speechSynthesizer.SpeakTextAsync(text);
                OutputSpeechSynthesisResult(speechSynthesisResult, text);
            }
    
            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
        }
    }
    
  4. Para cambiar el idioma de la síntesis de voz, sustituya en-US-JennyNeural por otra voz compatible. Todas las voces neuronales son multilingües y fluidas en su propio idioma y en inglés. Por ejemplo, si el texto de entrada en inglés es "I'm excited to try text to speech" (Estoy encantado de probar texto a voz) y establece es-ES-ElviraNeural, el texto se hablará en inglés con acento español. Si la voz no habla el idioma del texto de entrada, el servicio de Voz no genera audio sintetizado.

Compile y ejecute la nueva aplicación de consola para iniciar la síntesis de voz en el hablante predeterminado.

dotnet run

Importante

Asegúrese de establecer las variables de entorno SPEECH__KEY y SPEECH__REGION como se ha descrito anteriormente. Si no establece estas variables, se producirá un fallo en el ejemplo, con un mensaje de error.

Escriba algún texto que quiera expresar. Por ejemplo, escriba "Me complace probar texto a voz". Presione la tecla Entrar para escuchar la voz sintetizada.

Enter some text that you want to speak >
I'm excited to try text to speech

Advertencia

Hay un problema conocido en Windows 11 que podría afectar a algunos tipos de conexiones de Capa de sockets seguros (SSL) y Seguridad de la capa de transporte (TLS). Para más información, consulte la guía para la solución de problemas.

Observaciones

Ahora que ha completado el inicio rápido, estas son algunas consideraciones adicionales:

En este inicio rápido se usa la operación SpeakTextAsync para sintetizar un bloque corto de texto escrito. También puede obtener texto de archivos, como se describe en estas guías:

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

Documentación de referenciaPaquete (NuGet)Ejemplos adicionales en GitHub

En este inicio rápido, ejecutará una aplicación que realiza la síntesis de texto a voz.

Sugerencia

Puede probar la conversión de texto en voz en Speech Studio sin registrarse ni escribir ningún código.

Prerrequisitos

Configuración del entorno

El SDK de Voz está disponible como paquete NuGet e implementa .NET Standard 2.0. La instalación del SDK de Voz se describe en una sección más adelante de esta guía; primero consulte la SDK installation guide, (guía de instalación del SDK), para conocer otros requisitos.

Establecimiento de variables de entorno

La aplicación debe autenticarse para acceder a los recursos de Cognitive Services. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para Recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte el artículo de seguridad de Cognitive Services para ver más opciones de autenticación, como Azure Key Vault.

Para establecer la variable de entorno para la clave de recurso de Voz, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo. Para establecer la variable de entorno SPEECH_KEY, reemplace your-key por una de las claves del recurso.

setx SPEECH_KEY your-key

Nota:

Si solo necesita acceder a la variable de entorno en la consola que se está ejecutando en este momento, puede establecer la variable de entorno con set en vez de con setx.

Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas en ejecución que necesiten leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Para establecer la variable de entorno en la región de recursos de Voz, siga los mismos pasos. Establezca SPEECH_REGION en la región del recurso. Por ejemplo, westus.

Síntesis a la salida de altavoz

Siga estos pasos para crear una nueva aplicación de consola e instalar el SDK de Voz.

  1. Cree un proyecto de consola de C++ en Visual Studio.

  2. Instale el SDK de Voz en el nuevo proyecto con el administrador de paquetes NuGet.

    Install-Package Microsoft.CognitiveServices.Speech
    
  3. Reemplace el contenido de main.cpp por el código siguiente:

    #include <iostream> 
    #include <stdlib.h>
    #include <speechapi_cxx.h>
    
    using namespace Microsoft::CognitiveServices::Speech;
    using namespace Microsoft::CognitiveServices::Speech::Audio;
    
    std::string GetEnvironmentVariable(const char* name);
    
    int main()
    {
        // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        auto speechKey = GetEnvironmentVariable("SPEECH_KEY");
        auto speechRegion = GetEnvironmentVariable("SPEECH_REGION");
    
        if ((size(speechKey) == 0) || (size(speechRegion) == 0)) {
            std::cout << "Please set both SPEECH_KEY and SPEECH_REGION environment variables." << std::endl;
            return -1;
        }
    
        auto speechConfig = SpeechConfig::FromSubscription(speechKey, speechRegion);
    
        // The language of the voice that speaks.
        speechConfig->SetSpeechSynthesisVoiceName("en-US-JennyNeural");
    
        auto speechSynthesizer = SpeechSynthesizer::FromConfig(speechConfig);
    
        // Get text from the console and synthesize to the default speaker.
        std::cout << "Enter some text that you want to speak >" << std::endl;
        std::string text;
        getline(std::cin, text);
    
        auto result = speechSynthesizer->SpeakTextAsync(text).get();
    
        // Checks result.
        if (result->Reason == ResultReason::SynthesizingAudioCompleted)
        {
            std::cout << "Speech synthesized to speaker for text [" << text << "]" << std::endl;
        }
        else if (result->Reason == ResultReason::Canceled)
        {
            auto cancellation = SpeechSynthesisCancellationDetails::FromResult(result);
            std::cout << "CANCELED: Reason=" << (int)cancellation->Reason << std::endl;
    
            if (cancellation->Reason == CancellationReason::Error)
            {
                std::cout << "CANCELED: ErrorCode=" << (int)cancellation->ErrorCode << std::endl;
                std::cout << "CANCELED: ErrorDetails=[" << cancellation->ErrorDetails << "]" << std::endl;
                std::cout << "CANCELED: Did you set the speech resource key and region values?" << std::endl;
            }
        }
    
        std::cout << "Press enter to exit..." << std::endl;
        std::cin.get();
    }
    
    std::string GetEnvironmentVariable(const char* name)
    {
    #if defined(_MSC_VER)
        size_t requiredSize = 0;
        (void)getenv_s(&requiredSize, nullptr, 0, name);
        if (requiredSize == 0)
        {
            return "";
        }
        auto buffer = std::make_unique<char[]>(requiredSize);
        (void)getenv_s(&requiredSize, buffer.get(), requiredSize, name);
        return buffer.get();
    #else
        auto value = getenv(name);
        return value ? value : "";
    #endif
    }  
    
  4. Para cambiar el idioma de la síntesis de voz, sustituya en-US-JennyNeural por otra voz compatible. Todas las voces neuronales son multilingües y fluidas en su propio idioma y en inglés. Por ejemplo, si el texto de entrada en inglés es "I'm excited to try text to speech" (Estoy encantado de probar texto a voz) y establece es-ES-ElviraNeural, el texto se hablará en inglés con acento español. Si la voz no habla el idioma del texto de entrada, el servicio de Voz no genera audio sintetizado.

Compile y ejecute la nueva aplicación de consola para iniciar la síntesis de voz en el hablante predeterminado.

Importante

Asegúrese de establecer las variables de entorno SPEECH__KEY y SPEECH__REGION como se ha descrito anteriormente. Si no establece estas variables, se producirá un fallo en el ejemplo, con un mensaje de error.

Escriba algún texto que quiera expresar. Por ejemplo, escriba "Me complace probar texto a voz". Presione la tecla Entrar para escuchar la voz sintetizada.

Enter some text that you want to speak >
I'm excited to try text to speech

Advertencia

Hay un problema conocido en Windows 11 que podría afectar a algunos tipos de conexiones de Capa de sockets seguros (SSL) y Seguridad de la capa de transporte (TLS). Para más información, consulte la guía para la solución de problemas.

Observaciones

Ahora que ha completado el inicio rápido, estas son algunas consideraciones adicionales:

En este inicio rápido se usa la operación SpeakTextAsync para sintetizar un bloque corto de texto escrito. También puede obtener texto de archivos, como se describe en estas guías:

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

Documentación de referenciaPaquete (Go)Ejemplos adicionales en GitHub

En este inicio rápido, ejecutará una aplicación que realiza la síntesis de texto a voz.

Sugerencia

Puede probar la conversión de texto en voz en Speech Studio sin registrarse ni escribir ningún código.

Prerrequisitos

Configuración del entorno

Instale el SDK de Voz para Go. Consulte la guía de instalación del SDK para conocer más requisitos.

Establecimiento de variables de entorno

La aplicación debe autenticarse para acceder a los recursos de Cognitive Services. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para Recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte el artículo de seguridad de Cognitive Services para ver más opciones de autenticación, como Azure Key Vault.

Para establecer la variable de entorno para la clave de recurso de Voz, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo. Para establecer la variable de entorno SPEECH_KEY, reemplace your-key por una de las claves del recurso.

setx SPEECH_KEY your-key

Nota:

Si solo necesita acceder a la variable de entorno en la consola que se está ejecutando en este momento, puede establecer la variable de entorno con set en vez de con setx.

Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas en ejecución que necesiten leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Para establecer la variable de entorno en la región de recursos de Voz, siga los mismos pasos. Establezca SPEECH_REGION en la región del recurso. Por ejemplo, westus.

Síntesis a la salida de altavoz

Siga estos pasos para crear un nuevo módulo de GO.

  1. Abra un símbolo del sistema donde quiera el nuevo módulo y cree un archivo llamado speech-synthesis.go.

  2. Copie el siguiente código en speech_synthesis.go:

    package main
    
    import (
    	"bufio"
    	"fmt"
    	"os"
    	"strings"
    	"time"
    
    	"github.com/Microsoft/cognitive-services-speech-sdk-go/audio"
    	"github.com/Microsoft/cognitive-services-speech-sdk-go/common"
    	"github.com/Microsoft/cognitive-services-speech-sdk-go/speech"
    )
    
    func synthesizeStartedHandler(event speech.SpeechSynthesisEventArgs) {
    	defer event.Close()
    	fmt.Println("Synthesis started.")
    }
    
    func synthesizingHandler(event speech.SpeechSynthesisEventArgs) {
    	defer event.Close()
    	fmt.Printf("Synthesizing, audio chunk size %d.\n", len(event.Result.AudioData))
    }
    
    func synthesizedHandler(event speech.SpeechSynthesisEventArgs) {
    	defer event.Close()
    	fmt.Printf("Synthesized, audio length %d.\n", len(event.Result.AudioData))
    }
    
    func cancelledHandler(event speech.SpeechSynthesisEventArgs) {
    	defer event.Close()
    	fmt.Println("Received a cancellation.")
    }
    
    func main() {
        // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        speechKey :=  os.Getenv("SPEECH_KEY")
        speechRegion := os.Getenv("SPEECH_REGION")
    
    	audioConfig, err := audio.NewAudioConfigFromDefaultSpeakerOutput()
    	if err != nil {
    		fmt.Println("Got an error: ", err)
    		return
    	}
    	defer audioConfig.Close()
    	speechConfig, err := speech.NewSpeechConfigFromSubscription(speechKey, speechRegion)
    	if err != nil {
    		fmt.Println("Got an error: ", err)
    		return
    	}
    	defer speechConfig.Close()
    
    	speechConfig.SetSpeechSynthesisVoiceName("en-US-JennyNeural")
    
    	speechSynthesizer, err := speech.NewSpeechSynthesizerFromConfig(speechConfig, audioConfig)
    	if err != nil {
    		fmt.Println("Got an error: ", err)
    		return
    	}
    	defer speechSynthesizer.Close()
    
    	speechSynthesizer.SynthesisStarted(synthesizeStartedHandler)
    	speechSynthesizer.Synthesizing(synthesizingHandler)
    	speechSynthesizer.SynthesisCompleted(synthesizedHandler)
    	speechSynthesizer.SynthesisCanceled(cancelledHandler)
    
    	for {
    		fmt.Printf("Enter some text that you want to speak, or enter empty text to exit.\n> ")
    		text, _ := bufio.NewReader(os.Stdin).ReadString('\n')
    		text = strings.TrimSuffix(text, "\n")
    		if len(text) == 0 {
    			break
    		}
    
    		task := speechSynthesizer.SpeakTextAsync(text)
    		var outcome speech.SpeechSynthesisOutcome
    		select {
    		case outcome = <-task:
    		case <-time.After(60 * time.Second):
    			fmt.Println("Timed out")
    			return
    		}
    		defer outcome.Close()
    		if outcome.Error != nil {
    			fmt.Println("Got an error: ", outcome.Error)
    			return
    		}
    
    		if outcome.Result.Reason == common.SynthesizingAudioCompleted {
    			fmt.Printf("Speech synthesized to speaker for text [%s].\n", text)
    		} else {
    			cancellation, _ := speech.NewCancellationDetailsFromSpeechSynthesisResult(outcome.Result)
    			fmt.Printf("CANCELED: Reason=%d.\n", cancellation.Reason)
    
    			if cancellation.Reason == common.Error {
    				fmt.Printf("CANCELED: ErrorCode=%d\nCANCELED: ErrorDetails=[%s]\nCANCELED: Did you set the speech resource key and region values?\n",
    					cancellation.ErrorCode,
    					cancellation.ErrorDetails)
    			}
    		}
    	}
    }                                                
    
  3. Para cambiar el idioma de la síntesis de voz, sustituya en-US-JennyNeural por otra voz compatible. Todas las voces neuronales son multilingües y fluidas en su propio idioma y en inglés. Por ejemplo, si el texto de entrada en inglés es "I'm excited to try text to speech" (Estoy encantado de probar texto a voz) y establece es-ES-ElviraNeural, el texto se hablará en inglés con acento español. Si la voz no habla el idioma del texto de entrada, el servicio de Voz no genera audio sintetizado.

Ejecute los siguientes comandos para crear un archivo go.mod que vincule a los componentes hospedados en GitHub:

go mod init speech-synthesis
go get github.com/Microsoft/cognitive-services-speech-sdk-go

Importante

Asegúrese de establecer las variables de entorno SPEECH__KEY y SPEECH__REGION como se ha descrito anteriormente. Si no establece estas variables, se producirá un fallo en el ejemplo, con un mensaje de error.

Compile y ejecute ahora el código:

go build
go run speech-synthesis

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

Documentación de referencia | Ejemplos adicionales en GitHub

En este inicio rápido, ejecutará una aplicación que realiza la síntesis de texto a voz.

Sugerencia

Puede probar la conversión de texto en voz en Speech Studio sin registrarse ni escribir ningún código.

Prerrequisitos

Configuración del entorno

En primer lugar, deberá instalar el SDK de Voz. El ejemplo de esta guía de inicio rápido funciona con el entorno de ejecución de Java.

  1. Instalación de Apache Maven. A continuación, ejecute mvn -v para confirmar que la instalación se ha realizado correctamente.
  2. Cree un nuevo archivo pom.xml en la raíz del proyecto y copie lo siguiente en él:
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.microsoft.cognitiveservices.speech.samples</groupId>
        <artifactId>quickstart-eclipse</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <build>
            <sourceDirectory>src</sourceDirectory>
            <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                <source>1.8</source>
                <target>1.8</target>
                </configuration>
            </plugin>
            </plugins>
        </build>
        <repositories>
            <repository>
            <id>maven-cognitiveservices-speech</id>
            <name>Microsoft Cognitive Services Speech Maven Repository</name>
            <url>https://azureai.azureedge.net/maven/</url>
            </repository>
        </repositories>
        <dependencies>
            <dependency>
            <groupId>com.microsoft.cognitiveservices.speech</groupId>
            <artifactId>client-sdk</artifactId>
            <version>1.24.2</version>
            </dependency>
        </dependencies>
    </project>
    
  3. Instale el SDK de Voz y las dependencias.
    mvn clean dependency:copy-dependencies
    

Establecimiento de variables de entorno

La aplicación debe autenticarse para acceder a los recursos de Cognitive Services. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para Recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte el artículo de seguridad de Cognitive Services para ver más opciones de autenticación, como Azure Key Vault.

Para establecer la variable de entorno para la clave de recurso de Voz, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo. Para establecer la variable de entorno SPEECH_KEY, reemplace your-key por una de las claves del recurso.

setx SPEECH_KEY your-key

Nota:

Si solo necesita acceder a la variable de entorno en la consola que se está ejecutando en este momento, puede establecer la variable de entorno con set en vez de con setx.

Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas en ejecución que necesiten leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Para establecer la variable de entorno en la región de recursos de Voz, siga los mismos pasos. Establezca SPEECH_REGION en la región del recurso. Por ejemplo, westus.

Síntesis a la salida de altavoz

Siga estos pasos para crear una nueva aplicación de consola para el reconocimiento de voz.

  1. Cree un nuevo archivo denominado SpeechSynthesis.java en el mismo directorio raíz del proyecto.

  2. Copie el siguiente código en SpeechSynthesis.java:

    import com.microsoft.cognitiveservices.speech.*;
    import com.microsoft.cognitiveservices.speech.audio.*;
    
    import java.util.Scanner;
    import java.util.concurrent.ExecutionException;
    
    public class SpeechSynthesis {
        // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        private static String speechKey = System.getenv("SPEECH_KEY");
        private static String speechRegion = System.getenv("SPEECH_REGION");
    
        public static void main(String[] args) throws InterruptedException, ExecutionException {
            SpeechConfig speechConfig = SpeechConfig.fromSubscription(speechKey, speechRegion);
    
            speechConfig.setSpeechSynthesisVoiceName("en-US-JennyNeural"); 
    
            SpeechSynthesizer speechSynthesizer = new SpeechSynthesizer(speechConfig);
    
            // Get text from the console and synthesize to the default speaker.
            System.out.println("Enter some text that you want to speak >");
            String text = new Scanner(System.in).nextLine();
            if (text.isEmpty())
            {
                return;
            }
    
            SpeechSynthesisResult speechSynthesisResult = speechSynthesizer.SpeakTextAsync(text).get();
    
            if (speechSynthesisResult.getReason() == ResultReason.SynthesizingAudioCompleted) {
                System.out.println("Speech synthesized to speaker for text [" + text + "]");
            }
            else if (speechSynthesisResult.getReason() == ResultReason.Canceled) {
                SpeechSynthesisCancellationDetails cancellation = SpeechSynthesisCancellationDetails.fromResult(speechSynthesisResult);
                System.out.println("CANCELED: Reason=" + cancellation.getReason());
    
                if (cancellation.getReason() == CancellationReason.Error) {
                    System.out.println("CANCELED: ErrorCode=" + cancellation.getErrorCode());
                    System.out.println("CANCELED: ErrorDetails=" + cancellation.getErrorDetails());
                    System.out.println("CANCELED: Did you set the speech resource key and region values?");
                }
            }
    
            System.exit(0);
        }
    }
    
  3. Para cambiar el idioma de la síntesis de voz, sustituya en-US-JennyNeural por otra voz compatible. Todas las voces neuronales son multilingües y fluidas en su propio idioma y en inglés. Por ejemplo, si el texto de entrada en inglés es "I'm excited to try text to speech" (Estoy encantado de probar texto a voz) y establece es-ES-ElviraNeural, el texto se hablará en inglés con acento español. Si la voz no habla el idioma del texto de entrada, el servicio de Voz no genera audio sintetizado.

Ejecute la nueva aplicación de consola para iniciar la síntesis de voz en el hablante predeterminado.

javac SpeechSynthesis.java -cp ".;target\dependency\*"
java -cp ".;target\dependency\*" SpeechSynthesis

Importante

Asegúrese de establecer las variables de entorno SPEECH__KEY y SPEECH__REGION como se ha descrito anteriormente. Si no establece estas variables, se producirá un fallo en el ejemplo, con un mensaje de error.

Escriba algún texto que quiera expresar. Por ejemplo, escriba "Me complace probar texto a voz". Presione la tecla Entrar para escuchar la voz sintetizada.

Enter some text that you want to speak >
I'm excited to try text to speech

Advertencia

Hay un problema conocido en Windows 11 que podría afectar a algunos tipos de conexiones de Capa de sockets seguros (SSL) y Seguridad de la capa de transporte (TLS). Para más información, consulte la guía para la solución de problemas.

Observaciones

Ahora que ha completado el inicio rápido, estas son algunas consideraciones adicionales:

En este inicio rápido se usa la operación SpeakTextAsync para sintetizar un bloque corto de texto escrito. También puede obtener texto de archivos, como se describe en estas guías:

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

Documentación de referenciaPaquete (npm)Ejemplos adicionales en GitHubCódigo fuente de la biblioteca

En este inicio rápido, ejecutará una aplicación que realiza la síntesis de texto a voz.

Sugerencia

Puede probar la conversión de texto en voz en Speech Studio sin registrarse ni escribir ningún código.

Prerrequisitos

Configuración del entorno

En primer lugar, deberá instalar el SDK de Voz para JavaScript. Si solo desea el nombre del paquete que se va a instalar, ejecute npm install microsoft-cognitiveservices-speech-sdk. Para obtener instrucciones de instalación guiadas, consulte la guía de instalación del SDK.

Establecimiento de variables de entorno

La aplicación debe autenticarse para acceder a los recursos de Cognitive Services. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para Recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte el artículo de seguridad de Cognitive Services para ver más opciones de autenticación, como Azure Key Vault.

Para establecer la variable de entorno para la clave de recurso de Voz, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo. Para establecer la variable de entorno SPEECH_KEY, reemplace your-key por una de las claves del recurso.

setx SPEECH_KEY your-key

Nota:

Si solo necesita acceder a la variable de entorno en la consola que se está ejecutando en este momento, puede establecer la variable de entorno con set en vez de con setx.

Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas en ejecución que necesiten leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Para establecer la variable de entorno en la región de recursos de Voz, siga los mismos pasos. Establezca SPEECH_REGION en la región del recurso. Por ejemplo, westus.

Síntesis a una salida de archivo

Siga estos pasos para crear una aplicación de consola de Node.js para la síntesis de voz.

  1. Abra un símbolo del sistema donde quiera el nuevo proyecto y cree un archivo llamado SpeechSynthesis.js.

  2. Instale el SDK de voz para JavaScript:

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. Copie el siguiente código en SpeechSynthesis.js:

    (function() {
    
        "use strict";
    
        var sdk = require("microsoft-cognitiveservices-speech-sdk");
        var readline = require("readline");
    
        var audioFile = "YourAudioFile.wav";
        // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        const speechConfig = sdk.SpeechConfig.fromSubscription(process.env.SPEECH_KEY, process.env.SPEECH_REGION);
        const audioConfig = sdk.AudioConfig.fromAudioFileOutput(audioFile);
    
        // The language of the voice that speaks.
        speechConfig.speechSynthesisVoiceName = "en-US-JennyNeural"; 
    
        // Create the speech synthesizer.
        var synthesizer = new sdk.SpeechSynthesizer(speechConfig, audioConfig);
    
        var rl = readline.createInterface({
          input: process.stdin,
          output: process.stdout
        });
    
        rl.question("Enter some text that you want to speak >\n> ", function (text) {
          rl.close();
          // Start the synthesizer and wait for a result.
          synthesizer.speakTextAsync(text,
              function (result) {
            if (result.reason === sdk.ResultReason.SynthesizingAudioCompleted) {
              console.log("synthesis finished.");
            } else {
              console.error("Speech synthesis canceled, " + result.errorDetails +
                  "\nDid you set the speech resource key and region values?");
            }
            synthesizer.close();
            synthesizer = null;
          },
              function (err) {
            console.trace("err - " + err);
            synthesizer.close();
            synthesizer = null;
          });
          console.log("Now synthesizing to: " + audioFile);
        });
    }());
    
  4. En SpeechSynthesis.js, puede optar por cambiar el nombre de YourAudioFile.wav por otro nombre de archivo de salida.

  5. Para cambiar el idioma de la síntesis de voz, sustituya en-US-JennyNeural por otra voz compatible. Todas las voces neuronales son multilingües y fluidas en su propio idioma y en inglés. Por ejemplo, si el texto de entrada en inglés es "I'm excited to try text to speech" (Estoy encantado de probar texto a voz) y establece es-ES-ElviraNeural, el texto se hablará en inglés con acento español. Si la voz no habla el idioma del texto de entrada, el servicio de Voz no genera audio sintetizado.

Ejecute la nueva aplicación de consola para iniciar la síntesis de voz a un archivo:

node.exe SpeechSynthesis.js

Importante

Asegúrese de establecer las variables de entorno SPEECH__KEY y SPEECH__REGION como se ha descrito anteriormente. Si no establece estas variables, se producirá un fallo en el ejemplo, con un mensaje de error.

El texto proporcionado debe enviarse a un archivo de audio:

Enter some text that you want to speak >
> I'm excited to try text to speech
Now synthesizing to: YourAudioFile.wav
synthesis finished.

Advertencia

Hay un problema conocido en Windows 11 que podría afectar a algunos tipos de conexiones de Capa de sockets seguros (SSL) y Seguridad de la capa de transporte (TLS). Para más información, consulte la guía para la solución de problemas.

Observaciones

Ahora que ha completado el inicio rápido, estas son algunas consideraciones adicionales:

En este inicio rápido se usa la operación SpeakTextAsync para sintetizar un bloque corto de texto escrito. También puede obtener texto de archivos, como se describe en estas guías:

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

Documentación de referenciaPaquete (Download)Ejemplos adicionales en GitHub

En este inicio rápido, ejecutará una aplicación que realiza la síntesis de texto a voz.

Sugerencia

Puede probar la conversión de texto en voz en Speech Studio sin registrarse ni escribir ningún código.

Prerrequisitos

Configuración del entorno

El SDK de Voz para Objective-C se distribuye como un paquete de marcos. El marco admite Objective-C y Swift en iOS y macOS.

El SDK de Voz se puede usar en proyectos de Xcode como CocoaPod o se puede descargar directamente aquí y vincular manualmente. En esta guía se usa CocoaPod. Instale el administrador de dependencias de CocoaPod como se describe en sus instrucciones de instalación.

Establecimiento de variables de entorno

La aplicación debe autenticarse para acceder a los recursos de Cognitive Services. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para Recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte el artículo de seguridad de Cognitive Services para ver más opciones de autenticación, como Azure Key Vault.

Para establecer la variable de entorno para la clave de recurso de Voz, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo. Para establecer la variable de entorno SPEECH_KEY, reemplace your-key por una de las claves del recurso.

setx SPEECH_KEY your-key

Nota:

Si solo necesita acceder a la variable de entorno en la consola que se está ejecutando en este momento, puede establecer la variable de entorno con set en vez de con setx.

Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas en ejecución que necesiten leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Para establecer la variable de entorno en la región de recursos de Voz, siga los mismos pasos. Establezca SPEECH_REGION en la región del recurso. Por ejemplo, westus.

Síntesis a la salida de altavoz

Siga estos pasos para sintetizar la voz en una aplicación de macOS.

  1. Clone el repositorio Azure-Samples/cognitive-services-speech-sdk para obtener el proyecto de ejemplo Synthesize audio in Objective-C on macOS using the Speech SDK (Síntesis de audio en Objective-C en macOS con el SDK de Voz). El repositorio también tiene ejemplos de iOS.

  2. Vaya al directorio de la aplicación de ejemplo descargada (helloworld) en un terminal.

  3. Ejecute el comando pod install. Se genera un área de trabajo de Xcode helloworld.xcworkspace que contiene la aplicación de ejemplo y el SDK de Voz como dependencia.

  4. Abra el área de trabajo helloworld.xcworkspace en Xcode.

  5. Abra el archivo llamado AppDelegate.m y busque el método buttonPressed, tal como se muestra aquí.

    - (void)buttonPressed:(NSButton *)button {
        // Creates an instance of a speech config with specified subscription key and service region.
        NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"];
        NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
    
        SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:speechKey region:serviceRegion];
        speechConfig.speechSynthesisVoiceName = @"en-US-JennyNeural";
        SPXSpeechSynthesizer *speechSynthesizer = [[SPXSpeechSynthesizer alloc] init:speechConfig];
    
        NSLog(@"Start synthesizing...");
    
        SPXSpeechSynthesisResult *speechResult = [speechSynthesizer speakText:[self.textField stringValue]];
    
        // Checks result.
        if (SPXResultReason_Canceled == speechResult.reason) {
            SPXSpeechSynthesisCancellationDetails *details = [[SPXSpeechSynthesisCancellationDetails alloc] initFromCanceledSynthesisResult:speechResult];
            NSLog(@"Speech synthesis was canceled: %@. Did you set the speech resource key and region values?", details.errorDetails);
        } else if (SPXResultReason_SynthesizingAudioCompleted == speechResult.reason) {
            NSLog(@"Speech synthesis was completed");
        } else {
            NSLog(@"There was an error.");
        }
    }
    
  6. En AppDelegate.m, use las variables de entorno que estableció anteriormente en la clave de recurso de Voz y en la región.

    NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"];
    NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
    
  7. Opcionalmente, en AppDelegate.m, incluya un nombre de voz de síntesis de voz como se muestra aquí:

    speechConfig.speechSynthesisVoiceName = @"en-US-JennyNeural";
    
  8. Para cambiar el idioma de la síntesis de voz, sustituya en-US-JennyNeural por otra voz compatible. Todas las voces neuronales son multilingües y fluidas en su propio idioma y en inglés. Por ejemplo, si el texto de entrada en inglés es "I'm excited to try text to speech" (Estoy encantado de probar texto a voz) y establece es-ES-ElviraNeural, el texto se hablará en inglés con acento español. Si la voz no habla el idioma del texto de entrada, el servicio de Voz no genera audio sintetizado.

  9. Haga visible la salida de depuración (VerÁrea de depuraciónActivar consola).

  10. Para compilar y ejecutar el código de ejemplo, seleccione Producto>Ejecutar en el menú o seleccione el botón Reproducir.

Importante

Asegúrese de establecer las variables de entorno SPEECH__KEY y SPEECH__REGION como se ha descrito anteriormente. Si no establece estas variables, se producirá un fallo en el ejemplo, con un mensaje de error.

Después de escribir texto y seleccionar el botón de la aplicación, debería oír el audio sintetizado que se reproduce.

Comentarios

Ahora que ha completado el inicio rápido, estas son algunas consideraciones adicionales:

En este inicio rápido se usa la operación SpeakText para sintetizar un bloque corto de texto escrito. También puede obtener texto de archivos, como se describe en estas guías:

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

Documentación de referenciaPaquete (Download)Ejemplos adicionales en GitHub

En este inicio rápido, ejecutará una aplicación que realiza la síntesis de texto a voz.

Sugerencia

Puede probar la conversión de texto en voz en Speech Studio sin registrarse ni escribir ningún código.

Prerrequisitos

Configuración del entorno

El SDK de Voz para Swift se distribuye como un paquete de marcos. El marco admite Objective-C y Swift en iOS y macOS.

El SDK de Voz se puede usar en proyectos de Xcode como CocoaPod o se puede descargar directamente aquí y vincular manualmente. En esta guía se usa CocoaPod. Instale el administrador de dependencias de CocoaPod como se describe en sus instrucciones de instalación.

Establecimiento de variables de entorno

La aplicación debe autenticarse para acceder a los recursos de Cognitive Services. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para Recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte el artículo de seguridad de Cognitive Services para ver más opciones de autenticación, como Azure Key Vault.

Para establecer la variable de entorno para la clave de recurso de Voz, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo. Para establecer la variable de entorno SPEECH_KEY, reemplace your-key por una de las claves del recurso.

setx SPEECH_KEY your-key

Nota:

Si solo necesita acceder a la variable de entorno en la consola que se está ejecutando en este momento, puede establecer la variable de entorno con set en vez de con setx.

Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas en ejecución que necesiten leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Para establecer la variable de entorno en la región de recursos de Voz, siga los mismos pasos. Establezca SPEECH_REGION en la región del recurso. Por ejemplo, westus.

Síntesis a la salida de altavoz

Siga estos pasos para sintetizar la voz en una aplicación de macOS.

  1. Clone el repositorio Azure-Samples/cognitive-services-speech-sdk para obtener el proyecto de ejemplo Synthesize audio in Swift on macOS using the Speech SDK (Síntesis de audio en Swift en macOS con el SDK de Voz). El repositorio también tiene ejemplos de iOS.

  2. Vaya al directorio de la aplicación de ejemplo descargada (helloworld) en un terminal.

  3. Ejecute el comando pod install. Se genera un área de trabajo de Xcode helloworld.xcworkspace que contiene la aplicación de ejemplo y el SDK de Voz como dependencia.

  4. Abra el área de trabajo helloworld.xcworkspace en Xcode.

  5. Abra el archivo llamado AppDelegate.swift y busque los métodos applicationDidFinishLaunching y synthesize, tal como se muestra aquí.

    import Cocoa
    
    @NSApplicationMain
    class AppDelegate: NSObject, NSApplicationDelegate, NSTextFieldDelegate {
        var textField: NSTextField!
        var synthesisButton: NSButton!
    
        var inputText: String!
    
        var sub: String!
        var region: String!
    
        @IBOutlet weak var window: NSWindow!
    
        func applicationDidFinishLaunching(_ aNotification: Notification) {
            print("loading")
            // load subscription information
            sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
            region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
            inputText = ""
    
            textField = NSTextField(frame: NSRect(x: 100, y: 200, width: 200, height: 50))
            textField.textColor = NSColor.black
            textField.lineBreakMode = .byWordWrapping
    
            textField.placeholderString = "Type something to synthesize."
            textField.delegate = self
    
            self.window.contentView?.addSubview(textField)
    
            synthesisButton = NSButton(frame: NSRect(x: 100, y: 100, width: 200, height: 30))
            synthesisButton.title = "Synthesize"
            synthesisButton.target = self
            synthesisButton.action = #selector(synthesisButtonClicked)
            self.window.contentView?.addSubview(synthesisButton)
        }
    
        @objc func synthesisButtonClicked() {
            DispatchQueue.global(qos: .userInitiated).async {
                self.synthesize()
            }
        }
    
        func synthesize() {
            var speechConfig: SPXSpeechConfiguration?
            do {
                try speechConfig = SPXSpeechConfiguration(subscription: sub, region: region)
            } catch {
                print("error \(error) happened")
                speechConfig = nil
            }
    
            speechConfig?.speechSynthesisVoiceName = "en-US-JennyNeural";
    
            let synthesizer = try! SPXSpeechSynthesizer(speechConfig!)
            let result = try! synthesizer.speakText(inputText)
            if result.reason == SPXResultReason.canceled
            {
                let cancellationDetails = try! SPXSpeechSynthesisCancellationDetails(fromCanceledSynthesisResult: result)
                print("cancelled, error code: \(cancellationDetails.errorCode) detail: \(cancellationDetails.errorDetails!) ")
                print("Did you set the speech resource key and region values?");
                return
            }
        }
    
        func controlTextDidChange(_ obj: Notification) {
            let textFiled = obj.object as! NSTextField
            inputText = textFiled.stringValue
        }
    }
    
  6. En AppDelegate.m, use las variables de entorno que estableció anteriormente en la clave de recurso de Voz y en la región.

    sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
    region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
  7. Opcionalmente, en AppDelegate.m, incluya un nombre de voz de síntesis de voz como se muestra aquí:

    speechConfig?.speechSynthesisVoiceName = "en-US-JennyNeural";
    
  8. Para cambiar el idioma de la síntesis de voz, sustituya en-US-JennyNeural por otra voz compatible. Todas las voces neuronales son multilingües y fluidas en su propio idioma y en inglés. Por ejemplo, si el texto de entrada en inglés es "I'm excited to try text to speech" (Estoy encantado de probar texto a voz) y establece es-ES-ElviraNeural, el texto se hablará en inglés con acento español. Si la voz no habla el idioma del texto de entrada, el servicio de Voz no genera audio sintetizado.

  9. Haga visible la salida de depuración; para ello, seleccione ViewDebug AreaActivate Console (Ver > Área de depuración > Activar consola).

  10. Para compilar y ejecutar el código de ejemplo, seleccione Producto>Ejecutar en el menú o seleccione el botón Reproducir.

Importante

Asegúrese de establecer las variables de entorno SPEECH__KEY y SPEECH__REGION como se ha descrito anteriormente. Si no establece estas variables, se producirá un fallo en el ejemplo, con un mensaje de error.

Después de escribir texto y seleccionar el botón de la aplicación, debería oír el audio sintetizado que se reproduce.

Comentarios

Ahora que ha completado el inicio rápido, estas son algunas consideraciones adicionales:

En este inicio rápido se usa la operación SpeakText para sintetizar un bloque corto de texto escrito. También puede obtener texto de archivos, como se describe en estas guías:

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

Documentación de referenciaPaquete (PyPi)Ejemplos adicionales en GitHub

En este inicio rápido, ejecutará una aplicación que realiza la síntesis de texto a voz.

Sugerencia

Puede probar la conversión de texto en voz en Speech Studio sin registrarse ni escribir ningún código.

Prerrequisitos

Configuración del entorno

El SDK de Voz para Python está disponible como módulo de índice de paquetes de Python (PyPI). El SDK de Voz para Python es compatible con Windows, Linux y macOS.

Instale una versión de Python entre la 3.7 y la 3.10. Primero consulte la guía de instalación del SDK para conocer más requisitos.

Establecimiento de variables de entorno

La aplicación debe autenticarse para acceder a los recursos de Cognitive Services. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para Recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte el artículo de seguridad de Cognitive Services para ver más opciones de autenticación, como Azure Key Vault.

Para establecer la variable de entorno para la clave de recurso de Voz, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo. Para establecer la variable de entorno SPEECH_KEY, reemplace your-key por una de las claves del recurso.

setx SPEECH_KEY your-key

Nota:

Si solo necesita acceder a la variable de entorno en la consola que se está ejecutando en este momento, puede establecer la variable de entorno con set en vez de con setx.

Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas en ejecución que necesiten leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Para establecer la variable de entorno en la región de recursos de Voz, siga los mismos pasos. Establezca SPEECH_REGION en la región del recurso. Por ejemplo, westus.

Síntesis a la salida de altavoz

Siga estos pasos para crear una nueva aplicación de consola.

  1. Abra un símbolo del sistema donde quiera el nuevo proyecto y cree un archivo llamado speech_synthesis.py.

  2. Ejecute este comando para instalar el SDK de voz:

    pip install azure-cognitiveservices-speech
    
  3. Copie el siguiente código en speech_synthesis.py:

    import os
    import azure.cognitiveservices.speech as speechsdk
    
    # This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
    speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), region=os.environ.get('SPEECH_REGION'))
    audio_config = speechsdk.audio.AudioOutputConfig(use_default_speaker=True)
    
    # The language of the voice that speaks.
    speech_config.speech_synthesis_voice_name='en-US-JennyNeural'
    
    speech_synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config, audio_config=audio_config)
    
    # Get text from the console and synthesize to the default speaker.
    print("Enter some text that you want to speak >")
    text = input()
    
    speech_synthesis_result = speech_synthesizer.speak_text_async(text).get()
    
    if speech_synthesis_result.reason == speechsdk.ResultReason.SynthesizingAudioCompleted:
        print("Speech synthesized for text [{}]".format(text))
    elif speech_synthesis_result.reason == speechsdk.ResultReason.Canceled:
        cancellation_details = speech_synthesis_result.cancellation_details
        print("Speech synthesis canceled: {}".format(cancellation_details.reason))
        if cancellation_details.reason == speechsdk.CancellationReason.Error:
            if cancellation_details.error_details:
                print("Error details: {}".format(cancellation_details.error_details))
                print("Did you set the speech resource key and region values?")
    
  4. Para cambiar el idioma de la síntesis de voz, sustituya en-US-JennyNeural por otra voz compatible. Todas las voces neuronales son multilingües y fluidas en su propio idioma y en inglés. Por ejemplo, si el texto de entrada en inglés es "I'm excited to try text to speech" (Estoy encantado de probar texto a voz) y establece es-ES-ElviraNeural, el texto se hablará en inglés con acento español. Si la voz no habla el idioma del texto de entrada, el servicio de Voz no genera audio sintetizado.

Ejecute la nueva aplicación de consola para iniciar la síntesis de voz en el hablante predeterminado.

python speech_synthesis.py

Importante

Asegúrese de establecer las variables de entorno SPEECH__KEY y SPEECH__REGION como se ha descrito anteriormente. Si no establece estas variables, se producirá un fallo en el ejemplo, con un mensaje de error.

Escriba algún texto que quiera expresar. Por ejemplo, escriba "Me complace probar texto a voz". Presione la tecla Entrar para escuchar la voz sintetizada.

Enter some text that you want to speak > 
I'm excited to try text to speech

Advertencia

Hay un problema conocido en Windows 11 que podría afectar a algunos tipos de conexiones de Capa de sockets seguros (SSL) y Seguridad de la capa de transporte (TLS). Para más información, consulte la guía para la solución de problemas.

Observaciones

Ahora que ha completado el inicio rápido, estas son algunas consideraciones adicionales:

En este inicio rápido se usa la operación speak_text_async para sintetizar un bloque corto de texto escrito. También puede obtener texto de archivos, como se describe en estas guías:

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

Referencia de la API de REST en la conversión de voz en texto | Referencia de la API de REST en la conversión de voz en texto para audios breves | Ejemplos adicionales sobre GitHub

En este inicio rápido, ejecutará una aplicación que realiza la síntesis de texto a voz.

Sugerencia

Puede probar la conversión de texto en voz en Speech Studio sin registrarse ni escribir ningún código.

Prerrequisitos

Establecimiento de variables de entorno

La aplicación debe autenticarse para acceder a los recursos de Cognitive Services. En el caso de producción, use una forma segura de almacenar sus credenciales y acceder a ellas. Por ejemplo, después de obtener una clave para Recurso de Voz, escríbala en una nueva variable de entorno en el equipo local que ejecuta la aplicación.

Sugerencia

No incluya la clave directamente en el código ni la exponga nunca públicamente. Consulte el artículo de seguridad de Cognitive Services para ver más opciones de autenticación, como Azure Key Vault.

Para establecer la variable de entorno para la clave de recurso de Voz, abra una ventana de consola y siga las instrucciones correspondientes a su sistema operativo y su entorno de desarrollo. Para establecer la variable de entorno SPEECH_KEY, reemplace your-key por una de las claves del recurso.

setx SPEECH_KEY your-key

Nota:

Si solo necesita acceder a la variable de entorno en la consola que se está ejecutando en este momento, puede establecer la variable de entorno con set en vez de con setx.

Después de agregar la variable de entorno, puede que tenga que reiniciar todos los programas en ejecución que necesiten leer la variable de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.

Para establecer la variable de entorno en la región de recursos de Voz, siga los mismos pasos. Establezca SPEECH_REGION en la región del recurso. Por ejemplo, westus.

Síntesis a un archivo

En un símbolo del sistema, ejecute el siguiente comando cURL. Opcionalmente, puede cambiar el nombre de output.mp3 a otro nombre de archivo de salida.

curl --location --request POST "https://${SPEECH_REGION}.tts.speech.microsoft.com/cognitiveservices/v1" \
--header "Ocp-Apim-Subscription-Key: ${SPEECH_KEY}" \
--header 'Content-Type: application/ssml+xml' \
--header 'X-Microsoft-OutputFormat: audio-16khz-128kbitrate-mono-mp3' \
--header 'User-Agent: curl' \
--data-raw '<speak version='\''1.0'\'' xml:lang='\''en-US'\''>
    <voice xml:lang='\''en-US'\'' xml:gender='\''Female'\'' name='\''en-US-JennyNeural'\''>
        my voice is my passport verify me
    </voice>
</speak>' > output.mp3

Importante

Asegúrese de establecer las variables de entorno SPEECH__KEY y SPEECH__REGION como se ha descrito anteriormente. Si no establece estas variables, se producirá un fallo en el ejemplo, con un mensaje de error.

El texto proporcionado debe enviarse a un archivo de audio denominado output.mp3.

Advertencia

Hay un problema conocido en Windows 11 que podría afectar a algunos tipos de conexiones de Capa de sockets seguros (SSL) y Seguridad de la capa de transporte (TLS). Para más información, consulte la guía para la solución de problemas.

Para cambiar el idioma de la síntesis de voz, sustituya en-US-JennyNeural por otra voz compatible. Todas las voces neuronales son multilingües y fluidas en su propio idioma y en inglés. Por ejemplo, si el texto de entrada en inglés es "I'm excited to try text to speech" (Estoy encantado de probar texto a voz) y establece es-ES-ElviraNeural, el texto se hablará en inglés con acento español. Si la voz no habla el idioma del texto de entrada, el servicio de Voz no genera audio sintetizado.

Para más información, consulte Text-to-speech REST API.

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

En este inicio rápido, ejecutará una aplicación que realiza la síntesis de texto a voz.

Sugerencia

Puede probar la conversión de texto en voz en Speech Studio sin registrarse ni escribir ningún código.

Prerrequisitos

Configuración del entorno

Siga estos pasos y consulte el inicio rápido de la CLI de Voz para conocer los requisitos adicionales de la plataforma.

  1. Para instalar la CLI de Voz mediante la CLI de .NET, escriba este comando:

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    
  2. Configure la clave de recurso de Voz y la región mediante la ejecución de los siguientes comandos. Reemplace SUBSCRIPTION-KEY por la clave de recurso de Voz y REGION por la región del recurso de Voz:

    spx config @key --set SUBSCRIPTION-KEY
    spx config @region --set REGION
    

Síntesis a la salida de altavoz

Ejecute el siguiente comando para la síntesis de voz en la salida predeterminada del hablante. Puede modificar el texto que se va a sintetizar y la voz.

spx synthesize --text "I'm excited to try text to speech" --voice "en-US-JennyNeural"

Advertencia

Hay un problema conocido en Windows 11 que podría afectar a algunos tipos de conexiones de Capa de sockets seguros (SSL) y Seguridad de la capa de transporte (TLS). Para más información, consulte la guía para la solución de problemas.

Si no establece un nombre de voz, hablará la voz predeterminada para en-US. Todas las voces neuronales son multilingües y fluidas en su propio idioma y en inglés. Por ejemplo, si el texto de entrada en inglés es "I'm excited to try text to speech" (Estoy encantado de probar texto a voz) y establece --voice "es-ES-ElviraNeural", el texto se hablará en inglés con acento español. Si la voz no habla el idioma del texto de entrada, el servicio de Voz no genera audio sintetizado.

Observaciones

Ahora que ha completado el artículo de inicio rápido, estas son algunas consideraciones adicionales:

Puede tener un control más preciso sobre los estilos de voz, la prosodia y otras configuraciones mediante el Lenguaje de marcado de síntesis de voz (SSML).

En el ejemplo siguiente, la voz y el estilo ("excitado") se proporcionan en el bloque de SSML.

spx synthesize --ssml "<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xmlns:mstts='https://www.w3.org/2001/mstts' xml:lang='en-US'><voice name='en-US-JennyNeural'><mstts:express-as style='excited'>I'm excited to try text to speech</mstts:express-as></voice></speak>"

Ejecute este comando para obtener información sobre opciones de síntesis de voz adicionales, como la entrada y la salida de archivos:

spx help synthesize

Limpieza de recursos

Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.

Pasos siguientes