Inicio rápido: Conversión de texto a voz
Documentación de referencia | Paquete (NuGet) | Ejemplos adicionales en GitHub
Con Voz de Azure AI, puede ejecutar una aplicación que sintetiza una voz similar a la humana para leer texto. Puede cambiar la voz, escribir texto para que se hable y escuchar la salida en el altavoz del equipo.
Argibidea
Puede probar la conversión de texto a voz en la galería de Voice de Speech Studio sin registrarse ni escribir ningún código.
Argibidea
Pruebe el Azure AI Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
- Suscripción a Azure. Puede crear una de forma gratuita.
- Creación de un recurso de Voz en Azure Portal.
- Obtenga la clave y la región del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
El SDK de Voz está disponible como paquete NuGet que implementa .NET Standard 2.0. Instale el SDK de Voz más adelante en esta guía mediante la consola. Para obtener instrucciones de instalación detalladas, consulte Instalación del SDK de Voz.
Debe autenticar la aplicación para acceder a los servicios de Azure AI. En este artículo se muestra cómo usar variables de entorno para almacenar las credenciales. A continuación, puede acceder a las variables de entorno desde el código para autenticar la aplicación. Para producción, use una manera más segura de almacenar y acceder a sus credenciales.
Garrantzitsua
Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para los recursos de Azure para evitar almacenar credenciales con sus aplicaciones que se ejecutan en la nube.
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información sobre la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
Para establecer las variables de entorno de su clave de recursos de voz y de su región, abra una ventana de la consola y siga las instrucciones correspondientes a su sistema operativo y a su entorno de desarrollo.
- Para establecer la variable de entorno de
SPEECH_KEY
, reemplace su clave por una de las claves del recurso. - Para establecer la variable de entorno de
SPEECH_REGION
, reemplace su región por una de las regiones del recurso.
Edite el archivo .bashrc y agregue las variables de entorno:
export SPEECH_KEY=your-key
export SPEECH_REGION=your-region
Después de agregar las variables de entorno ejecute source ~/.bashrc
en la ventana de consola para que los cambios surtan efecto.
Siga estos pasos para crear una aplicación de consola e instalar el SDK de Voz.
Abra una ventana del símbolo del sistema en la carpeta donde desee el nuevo proyecto. Ejecute este comando para crear una aplicación de consola con la CLI de .NET.
dotnet new console
El comando crea un archivo Program.cs en el directorio del proyecto.
Instale el SDK de Voz en el nuevo proyecto con la CLI de .NET.
dotnet add package Microsoft.CognitiveServices.Speech
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 neural multilingual voice can speak different languages based on the input text. speechConfig.SpeechSynthesisVoiceName = "en-US-AvaMultilingualNeural"; 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(); } }
Para cambiar el idioma de la síntesis de voz, sustituya
en-US-AvaMultilingualNeural
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
como el idioma, 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.
dotnet run
Escriba algún texto que quiera expresar. Por ejemplo, escriba Estoy encantado de probar texto a voz. Seleccione la tecla Entrar para escuchar la voz sintetizada.
Enter some text that you want to speak > I'm excited to try text to speech
En este inicio rápido se usa la operación SpeakTextAsync
para sintetizar un bloque corto de texto escrito. También puede usar texto de forma larga desde un archivo y obtener un control más preciso sobre estilos de voz, prosodia y otras configuraciones.
- Para información sobre la síntesis de voz a partir de un archivo y un control más preciso de los estilos de voz, la prosodia y otros ajustes, consulte Síntesis de voz a partir de texto e Información general sobre el lenguaje de marcado de síntesis de voz (SSML).
- Para obtener información sobre la síntesis de texto a voz en formato largo, API de síntesis por lotes de texto a voz.
También se admiten voces de texto a voz de OpenAI. Consulte Voces de texto a voz de OpenAI en Voz de Azure AI y voces multilingües. Puede reemplazar en-US-AvaMultilingualNeural
por un nombre de voz de OpenAI compatible, como en-US-FableMultilingualNeural
.
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 | Paquete (NuGet) | Ejemplos adicionales en GitHub
Con Voz de Azure AI, puede ejecutar una aplicación que sintetiza una voz similar a la humana para leer texto. Puede cambiar la voz, escribir texto para que se hable y escuchar la salida en el altavoz del equipo.
Argibidea
Puede probar la conversión de texto a voz en la galería de Voice de Speech Studio sin registrarse ni escribir ningún código.
Argibidea
Pruebe el Azure AI Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
- Suscripción a Azure. Puede crear una de forma gratuita.
- Creación de un recurso de Voz en Azure Portal.
- Obtenga la clave y la región del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
El SDK de Voz está disponible como paquete NuGet que implementa .NET Standard 2.0. Instale el SDK de Voz más adelante en esta guía. Para obtener instrucciones de instalación detalladas, consulte Instalación del SDK de Voz.
Debe autenticar la aplicación para acceder a los servicios de Azure AI. En este artículo se muestra cómo usar variables de entorno para almacenar las credenciales. A continuación, puede acceder a las variables de entorno desde el código para autenticar la aplicación. Para producción, use una manera más segura de almacenar y acceder a sus credenciales.
Garrantzitsua
Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para los recursos de Azure para evitar almacenar credenciales con sus aplicaciones que se ejecutan en la nube.
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información sobre la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
Para establecer las variables de entorno de su clave de recursos de voz y de su región, abra una ventana de la consola y siga las instrucciones correspondientes a su sistema operativo y a su entorno de desarrollo.
- Para establecer la variable de entorno de
SPEECH_KEY
, reemplace su clave por una de las claves del recurso. - Para establecer la variable de entorno de
SPEECH_REGION
, reemplace su región por una de las regiones del recurso.
Edite el archivo .bashrc y agregue las variables de entorno:
export SPEECH_KEY=your-key
export SPEECH_REGION=your-region
Después de agregar las variables de entorno ejecute source ~/.bashrc
en la ventana de consola para que los cambios surtan efecto.
Siga estos pasos para crear una aplicación de consola e instalar el SDK de Voz.
Cree un proyecto de consola de C++ en Visual Studio Community denominado
SpeechSynthesis
.Reemplace el contenido de SpeechSynthesis.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 neural multilingual voice can speak different languages based on the input text. speechConfig->SetSpeechSynthesisVoiceName("en-US-AvaMultilingualNeural"); 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 }
Seleccione Herramientas>Administrador de paquetes Nuget>Consola del Administrador de paquetes. En la consola del administrador de paquetes, ejecute este comando:
Install-Package Microsoft.CognitiveServices.Speech
Para cambiar el idioma de la síntesis de voz, sustituya
en-US-AvaMultilingualNeural
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.
Escriba algún texto que quiera expresar. Por ejemplo, escriba Estoy encantado de probar texto a voz. Seleccione la tecla Entrar para escuchar la voz sintetizada.
Enter some text that you want to speak > I'm excited to try text to speech
En este inicio rápido se usa la operación SpeakTextAsync
para sintetizar un bloque corto de texto escrito. También puede usar texto de forma larga desde un archivo y obtener un control más preciso sobre estilos de voz, prosodia y otras configuraciones.
- Para información sobre la síntesis de voz a partir de un archivo y un control más preciso de los estilos de voz, la prosodia y otros ajustes, consulte Síntesis de voz a partir de texto e Información general sobre el lenguaje de marcado de síntesis de voz (SSML).
- Para obtener información sobre la síntesis de texto a voz en formato largo, API de síntesis por lotes de texto a voz.
También se admiten voces de texto a voz de OpenAI. Consulte Voces de texto a voz de OpenAI en Voz de Azure AI y voces multilingües. Puede reemplazar en-US-AvaMultilingualNeural
por un nombre de voz de OpenAI compatible, como en-US-FableMultilingualNeural
.
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 | Paquete (Go) | Ejemplos adicionales en GitHub
Con Voz de Azure AI, puede ejecutar una aplicación que sintetiza una voz similar a la humana para leer texto. Puede cambiar la voz, escribir texto para que se hable y escuchar la salida en el altavoz del equipo.
Argibidea
Puede probar la conversión de texto a voz en la galería de Voice de Speech Studio sin registrarse ni escribir ningún código.
Argibidea
Pruebe el Azure AI Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
- Suscripción a Azure. Puede crear una de forma gratuita.
- Creación de un recurso de Voz en Azure Portal.
- Obtenga la clave y la región del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
Instale el SDK de Voz para el lenguaje Go. Para obtener instrucciones de instalación detalladas, consulte Instalación del SDK de Voz.
Debe autenticar la aplicación para acceder a los servicios de Azure AI. En este artículo se muestra cómo usar variables de entorno para almacenar las credenciales. A continuación, puede acceder a las variables de entorno desde el código para autenticar la aplicación. Para producción, use una manera más segura de almacenar y acceder a sus credenciales.
Garrantzitsua
Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para los recursos de Azure para evitar almacenar credenciales con sus aplicaciones que se ejecutan en la nube.
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información sobre la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
Para establecer las variables de entorno de su clave de recursos de voz y de su región, abra una ventana de la consola y siga las instrucciones correspondientes a su sistema operativo y a su entorno de desarrollo.
- Para establecer la variable de entorno de
SPEECH_KEY
, reemplace su clave por una de las claves del recurso. - Para establecer la variable de entorno de
SPEECH_REGION
, reemplace su región por una de las regiones del recurso.
Edite el archivo .bashrc y agregue las variables de entorno:
export SPEECH_KEY=your-key
export SPEECH_REGION=your-region
Después de agregar las variables de entorno ejecute source ~/.bashrc
en la ventana de consola para que los cambios surtan efecto.
Siga estos pasos para crear un módulo de Go.
Abra una ventana del símbolo del sistema en la carpeta donde desee el nuevo proyecto. Cree un nuevo archivo denominado speech-synthesis.go.
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-AvaMultilingualNeural") 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) } } } }
Para cambiar el idioma de la síntesis de voz, sustituya
en-US-AvaMultilingualNeural
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 comandos siguientes 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
Compile y ejecute ahora el código:
go build go run speech-synthesis
También se admiten voces de texto a voz de OpenAI. Consulte Voces de texto a voz de OpenAI en Voz de Azure AI y voces multilingües. Puede reemplazar en-US-AvaMultilingualNeural
por un nombre de voz de OpenAI compatible, como en-US-FableMultilingualNeural
.
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
Con Voz de Azure AI, puede ejecutar una aplicación que sintetiza una voz similar a la humana para leer texto. Puede cambiar la voz, escribir texto para que se hable y escuchar la salida en el altavoz del equipo.
Argibidea
Puede probar la conversión de texto a voz en la galería de Voice de Speech Studio sin registrarse ni escribir ningún código.
Argibidea
Pruebe el Azure AI Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
- Suscripción a Azure. Puede crear una de forma gratuita.
- Creación de un recurso de Voz en Azure Portal.
- Obtenga la clave y la región del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
Para configurar el entorno, instale el SDK de Voz. El ejemplo de esta guía de inicio rápido funciona con el entorno de ejecución de Java.
Instalación de Apache Maven. A continuación, ejecute
mvn -v
para confirmar que la instalación se ha realizado correctamente.Cree un 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> <dependencies> <dependency> <groupId>com.microsoft.cognitiveservices.speech</groupId> <artifactId>client-sdk</artifactId> <version>1.40.0</version> </dependency> </dependencies> </project>
Instale el SDK de Voz y las dependencias.
mvn clean dependency:copy-dependencies
Debe autenticar la aplicación para acceder a los servicios de Azure AI. En este artículo se muestra cómo usar variables de entorno para almacenar las credenciales. A continuación, puede acceder a las variables de entorno desde el código para autenticar la aplicación. Para producción, use una manera más segura de almacenar y acceder a sus credenciales.
Garrantzitsua
Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para los recursos de Azure para evitar almacenar credenciales con sus aplicaciones que se ejecutan en la nube.
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información sobre la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
Para establecer las variables de entorno de su clave de recursos de voz y de su región, abra una ventana de la consola y siga las instrucciones correspondientes a su sistema operativo y a su entorno de desarrollo.
- Para establecer la variable de entorno de
SPEECH_KEY
, reemplace su clave por una de las claves del recurso. - Para establecer la variable de entorno de
SPEECH_REGION
, reemplace su región por una de las regiones del recurso.
Edite el archivo .bashrc y agregue las variables de entorno:
export SPEECH_KEY=your-key
export SPEECH_REGION=your-region
Después de agregar las variables de entorno ejecute source ~/.bashrc
en la ventana de consola para que los cambios surtan efecto.
Siga estos pasos para crear una aplicación de consola para el reconocimiento de voz.
Cree un archivo denominado SpeechSynthesis.java en el mismo directorio raíz del proyecto.
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-AvaMultilingualNeural"); 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); } }
Para cambiar el idioma de la síntesis de voz, sustituya
en-US-AvaMultilingualNeural
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 aplicación de consola para que dé como resultado la síntesis de voz en el hablante predeterminado.
javac SpeechSynthesis.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" SpeechSynthesis
Escriba algún texto que quiera expresar. Por ejemplo, escriba Estoy encantado de probar texto a voz. Seleccione la tecla Entrar para escuchar la voz sintetizada.
Enter some text that you want to speak > I'm excited to try text to speech
En este inicio rápido se usa la operación SpeakTextAsync
para sintetizar un bloque corto de texto escrito. También puede usar texto de forma larga desde un archivo y obtener un control más preciso sobre estilos de voz, prosodia y otras configuraciones.
- Para información sobre la síntesis de voz a partir de un archivo y un control más preciso de los estilos de voz, la prosodia y otros ajustes, consulte Síntesis de voz a partir de texto e Información general sobre el lenguaje de marcado de síntesis de voz (SSML).
- Para obtener información sobre la síntesis de texto a voz en formato largo, API de síntesis por lotes de texto a voz.
También se admiten voces de texto a voz de OpenAI. Consulte Voces de texto a voz de OpenAI en Voz de Azure AI y voces multilingües. Puede reemplazar en-US-AvaMultilingualNeural
por un nombre de voz de OpenAI compatible, como en-US-FableMultilingualNeural
.
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 | Paquete (npm) | Ejemplos adicionales en GitHub | Código fuente de la biblioteca
Con Voz de Azure AI, puede ejecutar una aplicación que sintetiza una voz similar a la humana para leer texto. Puede cambiar la voz, escribir texto para que se hable y escuchar la salida en el altavoz del equipo.
Argibidea
Puede probar la conversión de texto a voz en la galería de Voice de Speech Studio sin registrarse ni escribir ningún código.
Argibidea
Pruebe el Azure AI Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
- Suscripción a Azure. Puede crear una de forma gratuita.
- Creación de un recurso de Voz en Azure Portal.
- Obtenga la clave y la región del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
Para configurar el entorno, instale 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 detalladas, consulte Instalación del SDK de Voz.
Debe autenticar la aplicación para acceder a los servicios de Azure AI. En este artículo se muestra cómo usar variables de entorno para almacenar las credenciales. A continuación, puede acceder a las variables de entorno desde el código para autenticar la aplicación. Para producción, use una manera más segura de almacenar y acceder a sus credenciales.
Garrantzitsua
Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para los recursos de Azure para evitar almacenar credenciales con sus aplicaciones que se ejecutan en la nube.
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información sobre la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
Para establecer las variables de entorno de su clave de recursos de voz y de su región, abra una ventana de la consola y siga las instrucciones correspondientes a su sistema operativo y a su entorno de desarrollo.
- Para establecer la variable de entorno de
SPEECH_KEY
, reemplace su clave por una de las claves del recurso. - Para establecer la variable de entorno de
SPEECH_REGION
, reemplace su región por una de las regiones del recurso.
Edite el archivo .bashrc y agregue las variables de entorno:
export SPEECH_KEY=your-key
export SPEECH_REGION=your-region
Después de agregar las variables de entorno ejecute source ~/.bashrc
en la ventana de consola para que los cambios surtan efecto.
Siga estos pasos para crear una aplicación de consola de Node.js para la síntesis de voz.
Abra una ventana de consola donde quiera el nuevo proyecto y cree un archivo llamado SpeechSynthesis.js.
Instale el SDK de voz para JavaScript:
npm install microsoft-cognitiveservices-speech-sdk
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-AvaMultilingualNeural"; // 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); }); }());
En SpeechSynthesis.js, puede optar por cambiar el nombre de YourAudioFile.wav por otro nombre de archivo de salida.
Para cambiar el idioma de la síntesis de voz, sustituya
en-US-AvaMultilingualNeural
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 aplicación de consola para iniciar la síntesis de voz a un archivo:
node SpeechSynthesis.js
El texto proporcionado debe encontrarse 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.
En este inicio rápido se usa la operación SpeakTextAsync
para sintetizar un bloque corto de texto escrito. También puede usar texto de forma larga desde un archivo y obtener un control más preciso sobre estilos de voz, prosodia y otras configuraciones.
- Para información sobre la síntesis de voz a partir de un archivo y un control más preciso de los estilos de voz, la prosodia y otros ajustes, consulte Síntesis de voz a partir de texto e Información general sobre el lenguaje de marcado de síntesis de voz (SSML).
- Para obtener información sobre la síntesis de texto a voz en formato largo, API de síntesis por lotes de texto a voz.
También se admiten voces de texto a voz de OpenAI. Consulte Voces de texto a voz de OpenAI en Voz de Azure AI y voces multilingües. Puede reemplazar en-US-AvaMultilingualNeural
por un nombre de voz de OpenAI compatible, como en-US-FableMultilingualNeural
.
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 | Paquete (descarga) | Ejemplos adicionales en GitHub
Con Voz de Azure AI, puede ejecutar una aplicación que sintetiza una voz similar a la humana para leer texto. Puede cambiar la voz, escribir texto para que se hable y escuchar la salida en el altavoz del equipo.
Argibidea
Puede probar la conversión de texto a voz en la galería de Voice de Speech Studio sin registrarse ni escribir ningún código.
Argibidea
Pruebe el Azure AI Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
- Suscripción a Azure. Puede crear una de forma gratuita.
- Creación de un recurso de Voz en Azure Portal.
- Obtenga la clave y la región del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
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 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.
Debe autenticar la aplicación para acceder a los servicios de Azure AI. En este artículo se muestra cómo usar variables de entorno para almacenar las credenciales. A continuación, puede acceder a las variables de entorno desde el código para autenticar la aplicación. Para producción, use una manera más segura de almacenar y acceder a sus credenciales.
Garrantzitsua
Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para los recursos de Azure para evitar almacenar credenciales con sus aplicaciones que se ejecutan en la nube.
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información sobre la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
Para establecer las variables de entorno de su clave de recursos de voz y de su región, abra una ventana de la consola y siga las instrucciones correspondientes a su sistema operativo y a su entorno de desarrollo.
- Para establecer la variable de entorno de
SPEECH_KEY
, reemplace su clave por una de las claves del recurso. - Para establecer la variable de entorno de
SPEECH_REGION
, reemplace su región por una de las regiones del recurso.
Edite el archivo .bashrc y agregue las variables de entorno:
export SPEECH_KEY=your-key
export SPEECH_REGION=your-region
Después de agregar las variables de entorno ejecute source ~/.bashrc
en la ventana de consola para que los cambios surtan efecto.
Siga estos pasos para sintetizar la voz en una aplicación de macOS.
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.
Abra el directorio de la aplicación de ejemplo descargada (
helloworld
) en un terminal.Ejecute el comando
pod install
. Este comando genera un área de trabajo de Xcodehelloworld.xcworkspace
que contiene la aplicación de ejemplo y el SDK de Voz como dependencia.Abra el área de trabajo
helloworld.xcworkspace
en Xcode.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-AvaMultilingualNeural"; 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."); } }
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"];
Opcionalmente, en AppDelegate.m, incluya un nombre de voz de síntesis de voz como se muestra aquí:
speechConfig.speechSynthesisVoiceName = @"en-US-AvaMultilingualNeural";
Para cambiar el idioma de la síntesis de voz, sustituya
en-US-AvaMultilingualNeural
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 hacer visible la salida de depuración, seleccione Ver>Área de depuración>Activar consola.
Para compilar y ejecutar el código de ejemplo, seleccione Producto>Ejecutar en el menú o seleccione el botón Reproducir.
Después de escribir texto y seleccionar el botón de la aplicación, debería oír el audio sintetizado que se reproduce.
En este inicio rápido se usa la operación SpeakText
para sintetizar un bloque corto de texto escrito. También puede usar texto de forma larga desde un archivo y obtener un control más preciso sobre estilos de voz, prosodia y otras configuraciones.
- Para información sobre la síntesis de voz a partir de un archivo y un control más preciso de los estilos de voz, la prosodia y otros ajustes, consulte Síntesis de voz a partir de texto e Información general sobre el lenguaje de marcado de síntesis de voz (SSML).
- Para obtener información sobre la síntesis de texto a voz en formato largo, API de síntesis por lotes de texto a voz.
También se admiten voces de texto a voz de OpenAI. Consulte Voces de texto a voz de OpenAI en Voz de Azure AI y voces multilingües. Puede reemplazar en-US-AvaMultilingualNeural
por un nombre de voz de OpenAI compatible, como en-US-FableMultilingualNeural
.
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 | Paquete (descarga) | Ejemplos adicionales en GitHub
Con Voz de Azure AI, puede ejecutar una aplicación que sintetiza una voz similar a la humana para leer texto. Puede cambiar la voz, escribir texto para que se hable y escuchar la salida en el altavoz del equipo.
Argibidea
Puede probar la conversión de texto a voz en la galería de Voice de Speech Studio sin registrarse ni escribir ningún código.
Argibidea
Pruebe el Azure AI Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
- Suscripción a Azure. Puede crear una de forma gratuita.
- Creación de un recurso de Voz en Azure Portal.
- Obtenga la clave y la región del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
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 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.
Debe autenticar la aplicación para acceder a los servicios de Azure AI. En este artículo se muestra cómo usar variables de entorno para almacenar las credenciales. A continuación, puede acceder a las variables de entorno desde el código para autenticar la aplicación. Para producción, use una manera más segura de almacenar y acceder a sus credenciales.
Garrantzitsua
Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para los recursos de Azure para evitar almacenar credenciales con sus aplicaciones que se ejecutan en la nube.
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información sobre la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
Para establecer las variables de entorno de su clave de recursos de voz y de su región, abra una ventana de la consola y siga las instrucciones correspondientes a su sistema operativo y a su entorno de desarrollo.
- Para establecer la variable de entorno de
SPEECH_KEY
, reemplace su clave por una de las claves del recurso. - Para establecer la variable de entorno de
SPEECH_REGION
, reemplace su región por una de las regiones del recurso.
Edite el archivo .bashrc y agregue las variables de entorno:
export SPEECH_KEY=your-key
export SPEECH_REGION=your-region
Después de agregar las variables de entorno ejecute source ~/.bashrc
en la ventana de consola para que los cambios surtan efecto.
Siga estos pasos para sintetizar la voz en una aplicación de macOS.
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.
Vaya al directorio de la aplicación de ejemplo descargada (
helloworld
) en un terminal.Ejecute el comando
pod install
. Este comando genera un área de trabajo de Xcodehelloworld.xcworkspace
que contiene la aplicación de ejemplo y el SDK de Voz como dependencia.Abra el área de trabajo
helloworld.xcworkspace
en Xcode.Abra el archivo llamado AppDelegate.swift y busque los métodos
applicationDidFinishLaunching
ysynthesize
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-AvaMultilingualNeural"; 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 } }
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"]
Opcionalmente, en AppDelegate.m, incluya un nombre de voz de síntesis de voz como se muestra aquí:
speechConfig?.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural";
Para cambiar el idioma de la síntesis de voz, sustituya
en-US-AvaMultilingualNeural
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 hacer visible la salida de depuración, seleccione Ver>Área de depuración>Activar consola.
Para compilar y ejecutar el código de ejemplo, seleccione Producto>Ejecutar en el menú o seleccione el botón Reproducir.
Garrantzitsua
Asegúrese de establecer las variables de entorno SPEECH_KEY
y SPEECH_REGION
. Si no establece estas variables, se produce 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.
En este inicio rápido se usa la operación SpeakText
para sintetizar un bloque corto de texto escrito. También puede usar texto de forma larga desde un archivo y obtener un control más preciso sobre estilos de voz, prosodia y otras configuraciones.
- Para información sobre la síntesis de voz a partir de un archivo y un control más preciso de los estilos de voz, la prosodia y otros ajustes, consulte Síntesis de voz a partir de texto e Información general sobre el lenguaje de marcado de síntesis de voz (SSML).
- Para obtener información sobre la síntesis de texto a voz en formato largo, API de síntesis por lotes de texto a voz.
También se admiten voces de texto a voz de OpenAI. Consulte Voces de texto a voz de OpenAI en Voz de Azure AI y voces multilingües. Puede reemplazar en-US-AvaMultilingualNeural
por un nombre de voz de OpenAI compatible, como en-US-FableMultilingualNeural
.
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 | Paquete (PyPi) | Ejemplos adicionales en GitHub
Con Voz de Azure AI, puede ejecutar una aplicación que sintetiza una voz similar a la humana para leer texto. Puede cambiar la voz, escribir texto para que se hable y escuchar la salida en el altavoz del equipo.
Argibidea
Puede probar la conversión de texto a voz en la galería de Voice de Speech Studio sin registrarse ni escribir ningún código.
Argibidea
Pruebe el Azure AI Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
- Suscripción a Azure. Puede crear una de forma gratuita.
- Creación de un recurso de Voz en Azure Portal.
- Obtenga la clave y la región del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
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.
- En Windows, instale Microsoft Visual C++ Redistributable para Visual Studio 2015, 2017, 2019 y 2022 para su plataforma. Durante la instalación del paquete, es posible que sea necesario reiniciar.
- En Linux, debe usar la arquitectura de destino x64.
Instale una versión de Python desde la 3.7 en adelante. Para conocer los requisitos, consulte Instalación del SDK de Voz.
Debe autenticar la aplicación para acceder a los servicios de Azure AI. En este artículo se muestra cómo usar variables de entorno para almacenar las credenciales. A continuación, puede acceder a las variables de entorno desde el código para autenticar la aplicación. Para producción, use una manera más segura de almacenar y acceder a sus credenciales.
Garrantzitsua
Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para los recursos de Azure para evitar almacenar credenciales con sus aplicaciones que se ejecutan en la nube.
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información sobre la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
Para establecer las variables de entorno de su clave de recursos de voz y de su región, abra una ventana de la consola y siga las instrucciones correspondientes a su sistema operativo y a su entorno de desarrollo.
- Para establecer la variable de entorno de
SPEECH_KEY
, reemplace su clave por una de las claves del recurso. - Para establecer la variable de entorno de
SPEECH_REGION
, reemplace su región por una de las regiones del recurso.
Edite el archivo .bashrc y agregue las variables de entorno:
export SPEECH_KEY=your-key
export SPEECH_REGION=your-region
Después de agregar las variables de entorno ejecute source ~/.bashrc
en la ventana de consola para que los cambios surtan efecto.
Siga estos pasos para crear una aplicación de consola.
Abra una ventana del símbolo del sistema en la carpeta donde desee el nuevo proyecto. Cree un archivo denominado speech_synthesis.py.
Ejecute este comando para instalar el SDK de voz:
pip install azure-cognitiveservices-speech
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 neural multilingual voice can speak different languages based on the input text. speech_config.speech_synthesis_voice_name='en-US-AvaMultilingualNeural' 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?")
Para cambiar el idioma de la síntesis de voz, sustituya
en-US-AvaMultilingualNeural
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
Escriba algún texto que quiera expresar. Por ejemplo, escriba Estoy encantado de probar texto a voz. Seleccione la tecla Entrar para escuchar la voz sintetizada.
Enter some text that you want to speak > I'm excited to try text to speech
En este inicio rápido se usa la operación speak_text_async
para sintetizar un bloque corto de texto escrito. También puede usar texto de forma larga desde un archivo y obtener un control más preciso sobre estilos de voz, prosodia y otras configuraciones.
- Para información sobre la síntesis de voz a partir de un archivo y un control más preciso de los estilos de voz, la prosodia y otros ajustes, consulte Síntesis de voz a partir de texto e Información general sobre el lenguaje de marcado de síntesis de voz (SSML).
- Para obtener información sobre la síntesis de texto a voz en formato largo, API de síntesis por lotes de texto a voz.
También se admiten voces de texto a voz de OpenAI. Consulte Voces de texto a voz de OpenAI en Voz de Azure AI y voces multilingües. Puede reemplazar en-US-AvaMultilingualNeural
por un nombre de voz de OpenAI compatible, como en-US-FableMultilingualNeural
.
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 de conversión de voz en texto | Referencia de la API de REST de conversión de voz en texto para audios de corta duración | Ejemplos adicionales sobre GitHub
Con Voz de Azure AI, puede ejecutar una aplicación que sintetiza una voz similar a la humana para leer texto. Puede cambiar la voz, escribir texto para que se hable y escuchar la salida en el altavoz del equipo.
Argibidea
Puede probar la conversión de texto a voz en la galería de Voice de Speech Studio sin registrarse ni escribir ningún código.
Argibidea
Pruebe el Azure AI Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
- Suscripción a Azure. Puede crear una de forma gratuita.
- Creación de un recurso de Voz en Azure Portal.
- Obtenga la clave y la región del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
Debe autenticar la aplicación para acceder a los servicios de Azure AI. En este artículo se muestra cómo usar variables de entorno para almacenar las credenciales. A continuación, puede acceder a las variables de entorno desde el código para autenticar la aplicación. Para producción, use una manera más segura de almacenar y acceder a sus credenciales.
Garrantzitsua
Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para los recursos de Azure para evitar almacenar credenciales con sus aplicaciones que se ejecutan en la nube.
Si usa una clave de API, almacénela de forma segura en otro lugar, como en Azure Key Vault. No incluya la clave de API directamente en el código ni la exponga nunca públicamente.
Para más información sobre la seguridad de los servicios de AI, consulte Autenticación de solicitudes a los servicios de Azure AI.
Para establecer las variables de entorno de su clave de recursos de voz y de su región, abra una ventana de la consola y siga las instrucciones correspondientes a su sistema operativo y a su entorno de desarrollo.
- Para establecer la variable de entorno de
SPEECH_KEY
, reemplace su clave por una de las claves del recurso. - Para establecer la variable de entorno de
SPEECH_REGION
, reemplace su región por una de las regiones del recurso.
Edite el archivo .bashrc y agregue las variables de entorno:
export SPEECH_KEY=your-key
export SPEECH_REGION=your-region
Después de agregar las variables de entorno ejecute source ~/.bashrc
en la ventana de consola para que los cambios surtan efecto.
En un símbolo del sistema, ejecute el siguiente comando cURL. Si lo desea, 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-AvaMultilingualNeural'\''>
my voice is my passport verify me
</voice>
</speak>' > output.mp3
Garrantzitsua
Asegúrese de establecer las variables de entorno SPEECH_KEY
y SPEECH_REGION
. Si no establece estas variables, se produce un fallo en el ejemplo, con un mensaje de error.
El texto proporcionado debe enviarse a un archivo de audio denominado output.mp3.
Para cambiar el idioma de la síntesis de voz, sustituya en-US-AvaMultilingualNeural
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 API REST de texto a voz.
También se admiten voces de texto a voz de OpenAI. Consulte Voces de texto a voz de OpenAI en Voz de Azure AI y voces multilingües. Puede reemplazar en-US-AvaMultilingualNeural
por un nombre de voz de OpenAI compatible, como en-US-FableMultilingualNeural
.
Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.
Con Voz de Azure AI, puede ejecutar una aplicación que sintetiza una voz similar a la humana para leer texto. Puede cambiar la voz, escribir texto para que se hable y escuchar la salida en el altavoz del equipo.
Argibidea
Puede probar la conversión de texto a voz en la galería de Voice de Speech Studio sin registrarse ni escribir ningún código.
Argibidea
Pruebe el Azure AI Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
- Suscripción a Azure. Puede crear una de forma gratuita.
- Creación de un recurso de Voz en Azure Portal.
- Obtenga la clave y la región del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
Siga estos pasos y consulte el inicio rápido de la CLI de Voz para conocer los otros requisitos de la plataforma.
Ejecute el siguiente comando de la CLI de .NET para instalar la CLI de Voz:
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
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 del recurso de Voz yREGION
por la región del recurso de Voz.spx config @key --set SUBSCRIPTION-KEY spx config @region --set REGION
Ejecute el siguiente comando para la síntesis de voz en la salida predeterminada del hablante. Puede modificar la voz y el texto que se va a sintetizar.
spx synthesize --text "I'm excited to try text to speech" --voice "en-US-AvaMultilingualNeural"
Si no establece un nombre de voz, hablará la voz predeterminada de 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.
Ejecute este comando para obtener información sobre más opciones de síntesis de voz, como la entrada y la salida de archivos:
spx help synthesize
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).
También se admiten voces de texto a voz de OpenAI. Consulte Voces de texto a voz de OpenAI en Voz de Azure AI y voces multilingües. Puede reemplazar en-US-AvaMultilingualNeural
por un nombre de voz de OpenAI compatible, como en-US-FableMultilingualNeural
.
Puede usar Azure Portal o la Interfaz de la línea de comandos (CLI) de Azure para quitar el recurso de Voz que creó.