Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este inicio rápido, pruebe el modelo de texto a voz de Azure Speech en Foundry Tools, utilizando Microsoft Foundry.
Requisitos previos
- Una suscripción Azure. Crear uno gratis.
- Un proyecto de fundición. Si necesita crear un proyecto, consulte Creación de un proyecto de Microsoft Foundry.
Probar texto a voz
Pruebe texto a voz en el portal de Foundry siguiendo estos pasos:
- Inicie sesión en Microsoft Foundry. Asegúrese de que el interruptor New Foundry está activado. Estos pasos hacen referencia a Foundry (nuevo).
- Seleccione Compilar en el menú superior derecho.
- Seleccione Modelos en el panel izquierdo.
- En la pestaña AI Services se muestran los modelos de IA de Azure que se pueden usar de forma predeterminada en el portal de Foundry. Seleccione Azure Speech - Text to Speech para abrir el área de juegos de Text to Speech.
- Elija una voz precompilada en el menú desplegable y, opcionalmente, afinala con los controles deslizantes de parámetros del proveedor.
- Escriba el texto de ejemplo en el cuadro de texto.
- Seleccione Reproducir para escuchar la voz sintética que lee el texto.
Otras características de Foundry (nuevas)
Las siguientes características de voz están disponibles en el portal foundry (nuevo):
Documentación de referencia | Package (NuGet) | Ejemplos adicionales en GitHub
Con Azure Voz en Foundry Tools, 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.
Sugerencia
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.
Sugerencia
Pruebe el Azure Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
Requisitos previos
- Una suscripción Azure. Puede crear una de forma gratuita.
- Crear un recurso de AI Services para Speech en el portal de Azure.
- Obtenga la clave y el punto de conexión del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
Configuración del entorno
El SDK de Voz está disponible como un 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.
Establecimiento de variables de entorno
Debe autenticar su aplicación para acceder a Herramientas de Foundry. Este artículo le muestra cómo utilizar variables de entorno para almacenar sus credenciales. Ahora puede acceder a las variables de entorno desde su código para autenticar su aplicación. Para la producción, utilice una forma más segura de almacenar y acceder a sus credenciales.
Importante
Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para recursos de Azure para evitar almacenar credenciales junto con las aplicaciones que se ejecutan en la nube.
Use las claves de API con precaución. No incluya la clave de API directamente en el código ni la exponga nunca públicamente. Si usa claves de API, almacénelas de forma segura en Azure Key Vault, gire las claves periódicamente y restrinja el acceso a Azure Key Vault mediante el control de acceso basado en rol y las restricciones de acceso de red. Para obtener más información sobre el uso de claves de API de forma segura en las aplicaciones, consulte CLAVESAPI con Azure Key Vault.
Para obtener más información sobre la seguridad de los servicios de inteligencia artificial, consulte
Para establecer las variables de entorno para la clave de recurso de Voz y el punto de conexión, abra una ventana de consola y siga las instrucciones del sistema operativo y el 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
ENDPOINTvariable de entorno, reemplace tu-punto-de-conexión por uno de los puntos de conexión para su recurso.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Nota:
Si solo necesita acceder a las variables de entorno en la consola actual, puede establecer la variable de entorno con set en vez de setx.
Después de agregar las variables de entorno, puede que tenga que reiniciar cualquier programa que necesite leer las variables de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinicie Visual Studio antes de ejecutar el ejemplo.
Creación de la aplicación
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 consoleEl 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.SpeechReemplace 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 "ENDPOINT" static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY"); static string endpoint = Environment.GetEnvironmentVariable("ENDPOINT"); 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 endpoint values?"); } break; default: break; } } async static Task Main(string[] args) { var speechConfig = SpeechConfig.FromEndpoint(new Uri(endpoint), speechKey); // The neural multilingual voice can speak different languages based on the input text. speechConfig.SpeechSynthesisVoiceName = "en-US-Ava:DragonHDLatestNeural"; 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-Ava:DragonHDLatestNeuralpor 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-Ximena:DragonHDLatestNeuralcomo 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 Voz no genera audio sintetizado.Ejecute la nueva aplicación de consola para iniciar la síntesis de voz en el hablante predeterminado.
dotnet runEscriba 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
Observaciones
Más opciones de síntesis de voz
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.
Voces de texto a voz de OpenAI en Voz de Azure Speech en Foundry Tools
También se admiten voces de texto a voz de OpenAI. Consulte voces de texto a voz de OpenAI en Azure Speech y voces multilingües. Puede reemplazar en-US-Ava:DragonHDLatestNeural por un nombre de voz de OpenAI compatible, como en-US-FableMultilingualNeural.
Limpieza de recursos
Puede usar el portal Azure o Azure interfaz de línea de comandos (CLI) para quitar el recurso de voz que creó.
Documentación de referencia | Package (NuGet) | Ejemplos adicionales en GitHub
Con Azure Voz en Foundry Tools, 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.
Sugerencia
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.
Sugerencia
Pruebe el Azure Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
Requisitos previos
- Una suscripción Azure. Puede crear una de forma gratuita.
- Crear un recurso de AI Services para Speech en el portal de Azure.
- Obtenga la clave y el punto de conexión del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
Configuración del entorno
El SDK de Voz está disponible como un 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.
Establecimiento de variables de entorno
Debe autenticar su aplicación para acceder a Herramientas de Foundry. Este artículo le muestra cómo utilizar variables de entorno para almacenar sus credenciales. Ahora puede acceder a las variables de entorno desde su código para autenticar su aplicación. Para la producción, utilice una forma más segura de almacenar y acceder a sus credenciales.
Importante
Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para recursos de Azure para evitar almacenar credenciales junto con las aplicaciones que se ejecutan en la nube.
Use las claves de API con precaución. No incluya la clave de API directamente en el código ni la exponga nunca públicamente. Si usa claves de API, almacénelas de forma segura en Azure Key Vault, gire las claves periódicamente y restrinja el acceso a Azure Key Vault mediante el control de acceso basado en rol y las restricciones de acceso de red. Para obtener más información sobre el uso de claves de API de forma segura en las aplicaciones, consulte CLAVESAPI con Azure Key Vault.
Para obtener más información sobre la seguridad de los servicios de inteligencia artificial, consulte
Para establecer las variables de entorno para la clave de recurso de Voz y el punto de conexión, abra una ventana de consola y siga las instrucciones del sistema operativo y el 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
ENDPOINTvariable de entorno, reemplace tu-punto-de-conexión por uno de los puntos de conexión para su recurso.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Nota:
Si solo necesita acceder a las variables de entorno en la consola actual, puede establecer la variable de entorno con set en vez de setx.
Después de agregar las variables de entorno, puede que tenga que reiniciar cualquier programa que necesite leer las variables de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinicie Visual Studio antes de ejecutar el ejemplo.
Creación de la aplicación
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 "ENDPOINT" auto speechKey = GetEnvironmentVariable("SPEECH_KEY"); auto endpoint = GetEnvironmentVariable("ENDPOINT"); if (std::string(speechKey).empty() || std::string(endpoint).empty()) { std::cout << "Please set both SPEECH_KEY and ENDPOINT environment variables." << std::endl; return -1; } auto speechConfig = SpeechConfig::FromEndpoint(endpoint, speechKey); // The neural multilingual voice can speak different languages based on the input text. speechConfig->SetSpeechSynthesisVoiceName("en-US-AriaNeural"); 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 endpoint 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 Tools>Nuget Package Manager>Package Manager Console. En el Package Manager Console, ejecute este comando:
Install-Package Microsoft.CognitiveServices.SpeechPara cambiar el idioma de la síntesis de voz, sustituya
en-US-Ava:DragonHDLatestNeuralpor 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-Ximena:DragonHDLatestNeural, el texto se hablará en inglés con acento español. Si la voz no habla el idioma del texto de entrada, el servicio Voz no genera audio sintetizado.Para iniciar la síntesis de voz en el altavoz predeterminado, compile y ejecute la nueva aplicación de consola.
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
Observaciones
Más opciones de síntesis de voz
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.
Voces de texto a voz de OpenAI en Voz de Azure Speech en Foundry Tools
También se admiten voces de texto a voz de OpenAI. Consulte voces de texto a voz de OpenAI en Azure Speech y voces multilingües. Puede reemplazar en-US-Ava:DragonHDLatestNeural por un nombre de voz de OpenAI compatible, como en-US-FableMultilingualNeural.
Limpieza de recursos
Puede usar el portal Azure o Azure interfaz de línea de comandos (CLI) para quitar el recurso de voz que creó.
Documentación de referencia | Paquete (Go) | Ejemplos adicionales en GitHub
Con Azure Voz en Foundry Tools, 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.
Sugerencia
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.
Sugerencia
Pruebe el Azure Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
Requisitos previos
- Una suscripción Azure. Puede crear una de forma gratuita.
- Crear un recurso de AI Services para Speech en el portal de Azure.
- Obtenga la clave y el punto de conexión del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
Configuración del entorno
El SDK de Voz está disponible como un paquete de Go. Instale el SDK de Voz más adelante en esta guía mediante el terminal. Para obtener instrucciones de instalación detalladas, consulte Instalación del SDK de Voz.
Establecimiento de variables de entorno
Debe autenticar su aplicación para acceder a Herramientas de Foundry. Este artículo le muestra cómo utilizar variables de entorno para almacenar sus credenciales. Ahora puede acceder a las variables de entorno desde su código para autenticar su aplicación. Para la producción, utilice una forma más segura de almacenar y acceder a sus credenciales.
Importante
Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para recursos de Azure para evitar almacenar credenciales junto con las aplicaciones que se ejecutan en la nube.
Use las claves de API con precaución. No incluya la clave de API directamente en el código ni la exponga nunca públicamente. Si usa claves de API, almacénelas de forma segura en Azure Key Vault, gire las claves periódicamente y restrinja el acceso a Azure Key Vault mediante el control de acceso basado en rol y las restricciones de acceso de red. Para obtener más información sobre el uso de claves de API de forma segura en las aplicaciones, consulte CLAVESAPI con Azure Key Vault.
Para obtener más información sobre la seguridad de los servicios de inteligencia artificial, consulte
Para establecer las variables de entorno para la clave de recurso de Voz y el punto de conexión, abra una ventana de consola y siga las instrucciones del sistema operativo y el 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
ENDPOINTvariable de entorno, reemplace tu-punto-de-conexión por uno de los puntos de conexión para su recurso.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Nota:
Si solo necesita acceder a las variables de entorno en la consola actual, puede establecer la variable de entorno con set en vez de setx.
Después de agregar las variables de entorno, puede que tenga que reiniciar cualquier programa que necesite leer las variables de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinicie Visual Studio antes de ejecutar el ejemplo.
Creación de la aplicación
Siga estos pasos para crear una aplicación go e instalar el SDK de Voz.
Abra una ventana de terminal en la carpeta donde desea el nuevo proyecto. Cree un nuevo archivo denominado main.go.
Instale el SDK de Voz en el nuevo proyecto con la CLI de Go.
go get github.com/Microsoft/cognitive-services-speech-sdk-goReemplace el contenido de main.go por el código siguiente.
package main import ( "bufio" "fmt" "os" "strings" "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 outputSpeechSynthesisResult(result *speech.SpeechSynthesisResult, text string) { switch result.Reason { case common.SynthesizingAudioCompleted: fmt.Printf("Speech synthesized for text: [%s]\n", text) case common.Canceled: cancellation, err := speech.NewCancellationDetailsFromSpeechSynthesisResult(result) if err != nil { fmt.Println("Got an error: ", err) return } fmt.Printf("CANCELED: Reason=%d\n", cancellation.Reason) if cancellation.Reason == common.Error { fmt.Printf("CANCELED: ErrorCode=%d\n", cancellation.ErrorCode) fmt.Printf("CANCELED: ErrorDetails=[%s]\n", cancellation.ErrorDetails) fmt.Println("CANCELED: Did you set the speech resource key and endpoint values?") } default: } } func main() { // This example requires environment variables named "SPEECH_KEY" and "ENDPOINT" speechKey := os.Getenv("SPEECH_KEY") endpoint := os.Getenv("ENDPOINT") if speechKey == "" || endpoint == "" { fmt.Println("Missing required environment variables. Set SPEECH_KEY and ENDPOINT.") return } speechConfig, err := speech.NewSpeechConfigFromEndpointWithSubscription(endpoint, speechKey) if err != nil { fmt.Println("Got an error: ", err) return } defer speechConfig.Close() // The neural multilingual voice can speak different languages based on the input text. speechConfig.SetSpeechSynthesisVoiceName("en-US-Ava:DragonHDLatestNeural") audioConfig, err := audio.NewAudioConfigFromDefaultSpeakerOutput() if err != nil { fmt.Println("Got an error: ", err) return } defer audioConfig.Close() speechSynthesizer, err := speech.NewSpeechSynthesizerFromConfig(speechConfig, audioConfig) if err != nil { fmt.Println("Got an error: ", err) return } defer speechSynthesizer.Close() fmt.Println("Enter some text that you want to speak >") reader := bufio.NewReader(os.Stdin) text, _ := reader.ReadString('\n') text = strings.TrimSpace(text) if text == "" { fmt.Println("Input text cannot be empty.") return } outcome := <-speechSynthesizer.SpeakTextAsync(text) defer outcome.Close() if outcome.Error != nil { fmt.Println("Got an error: ", outcome.Error) return } result := outcome.Result defer result.Close() outputSpeechSynthesisResult(result, text) fmt.Println("Press any key to exit...") reader.ReadString('\n') }Para cambiar el idioma de la síntesis de voz, sustituya
en-US-Ava:DragonHDLatestNeuralpor 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-Ximena:DragonHDLatestNeuralcomo 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 Voz no genera audio sintetizado.Ejecute los siguientes comandos para crear un archivo />
go mod init captioning go get github.com/Microsoft/cognitive-services-speech-sdk-goCompile el módulo GO.
go buildEjecute la nueva aplicación de consola para iniciar la síntesis de voz en el hablante predeterminado.
go run main.goEscriba algún texto que quiera expresar. Por ejemplo, escriba Estoy encantado de 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
Observaciones
Más opciones de síntesis de voz
En esta guía de inicio rápido, se utiliza la función SpeakText para sintetizar un bloque corto de texto que vas a escribir. 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.
Voces de texto a voz de OpenAI en Voz de Azure Speech en Foundry Tools
También se admiten voces de texto a voz de OpenAI. Consulte voces de texto a voz de OpenAI en Azure Speech y voces multilingües. Puede reemplazar en-US-Ava:DragonHDLatestNeural por un nombre de voz de OpenAI compatible, como en-US-FableMultilingualNeural.
Limpieza de recursos
Puede usar el portal Azure o Azure interfaz de línea de comandos (CLI) para quitar el recurso de voz que creó.
Documentación de referencia | Ejemplos adicionales en GitHub
Con Azure Voz en Foundry Tools, 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.
Sugerencia
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.
Sugerencia
Pruebe el Azure Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
Requisitos previos
- Una suscripción Azure. Puede crear una de forma gratuita.
- Crear un recurso de AI Services para Speech en el portal de Azure.
- Obtenga la clave y el punto de conexión del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
Configuración del entorno
Para configurar el entorno, instale el SDK de Voz. El ejemplo de este inicio rápido funciona con el entorno de ejecución de Java.
Instalación de Apache Maven. A continuación, ejecute
mvn -vpara 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.43.0</version> </dependency> </dependencies> </project>Instale el SDK de Voz y las dependencias.
mvn clean dependency:copy-dependencies
Establecimiento de variables de entorno
Debe autenticar su aplicación para acceder a Herramientas de Foundry. Este artículo le muestra cómo utilizar variables de entorno para almacenar sus credenciales. Ahora puede acceder a las variables de entorno desde su código para autenticar su aplicación. Para la producción, utilice una forma más segura de almacenar y acceder a sus credenciales.
Importante
Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para recursos de Azure para evitar almacenar credenciales junto con las aplicaciones que se ejecutan en la nube.
Use las claves de API con precaución. No incluya la clave de API directamente en el código ni la exponga nunca públicamente. Si usa claves de API, almacénelas de forma segura en Azure Key Vault, gire las claves periódicamente y restrinja el acceso a Azure Key Vault mediante el control de acceso basado en rol y las restricciones de acceso de red. Para obtener más información sobre el uso de claves de API de forma segura en las aplicaciones, consulte CLAVESAPI con Azure Key Vault.
Para obtener más información sobre la seguridad de los servicios de inteligencia artificial, consulte
Para establecer las variables de entorno para la clave de recurso de Voz y el punto de conexión, abra una ventana de consola y siga las instrucciones del sistema operativo y el 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
ENDPOINTvariable de entorno, reemplace tu-punto-de-conexión por uno de los puntos de conexión para su recurso.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Nota:
Si solo necesita acceder a las variables de entorno en la consola actual, puede establecer la variable de entorno con set en vez de setx.
Después de agregar las variables de entorno, puede que tenga que reiniciar cualquier programa que necesite leer las variables de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinicie Visual Studio antes de ejecutar el ejemplo.
Creación de la aplicación
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.net.URI; import java.net.URISyntaxException; import java.util.Scanner; import java.util.concurrent.ExecutionException; public class SpeechSynthesis { // This example requires environment variables named "SPEECH_KEY" and "ENDPOINT" private static String speechKey = System.getenv("SPEECH_KEY"); private static String endpoint = System.getenv("ENDPOINT"); public static void main(String[] args) throws InterruptedException, ExecutionException, URISyntaxException { SpeechConfig speechConfig = SpeechConfig.fromEndpoint(new URI(endpoint), speechKey); speechConfig.setSpeechSynthesisVoiceName("en-US-Ava:DragonHDLatestNeural"); 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 endpoint values?"); } } System.exit(0); } }Para cambiar el idioma de la síntesis de voz, sustituya
en-US-Ava:DragonHDLatestNeuralpor 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-Ximena:DragonHDLatestNeural, el texto se hablará en inglés con acento español. Si la voz no habla el idioma del texto de entrada, el servicio 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\*" SpeechSynthesisEscriba 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
Observaciones
Más opciones de síntesis de voz
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.
Voces de texto a voz de OpenAI en Voz de Azure Speech en Foundry Tools
También se admiten voces de texto a voz de OpenAI. Consulte voces de texto a voz de OpenAI en Azure Speech y voces multilingües. Puede reemplazar en-US-Ava:DragonHDLatestNeural por un nombre de voz de OpenAI compatible, como en-US-FableMultilingualNeural.
Limpieza de recursos
Puede usar el portal Azure o Azure interfaz de línea de comandos (CLI) para quitar el recurso de voz que creó.
Documentación de referencia | Paquete (npm) | Muestras adicionales en GitHub | Código fuente de la biblioteca
Con Azure Voz en Foundry Tools, 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.
Sugerencia
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.
Sugerencia
Pruebe el Azure Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
Requisitos previos
- Una suscripción Azure. Puede crear una de forma gratuita.
- Crear un recurso Foundry para Speech en el portal de Azure.
- 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.
Configuración
Cree una nueva carpeta
synthesis-quickstarty vaya a la carpeta quickstart mediante el siguiente comando:mkdir synthesis-quickstart && cd synthesis-quickstartCree el
package.jsoncon el comando siguiente:npm init -yInstale el SDK de Voz para JavaScript con:
npm install microsoft-cognitiveservices-speech-sdk
Recuperación de información de recursos
Debe autenticar su aplicación para acceder a Herramientas de Foundry. Este artículo le muestra cómo utilizar variables de entorno para almacenar sus credenciales. Ahora puede acceder a las variables de entorno desde su código para autenticar su aplicación. Para la producción, utilice una forma más segura de almacenar y acceder a sus credenciales.
Importante
Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para recursos de Azure para evitar almacenar credenciales junto con las aplicaciones que se ejecutan en la nube.
Use las claves de API con precaución. No incluya la clave de API directamente en el código ni la exponga nunca públicamente. Si usa claves de API, almacénelas de forma segura en Azure Key Vault, gire las claves periódicamente y restrinja el acceso a Azure Key Vault mediante el control de acceso basado en rol y las restricciones de acceso de red. Para obtener más información sobre el uso de claves de API de forma segura en las aplicaciones, consulte CLAVESAPI con Azure Key Vault.
Para obtener más información sobre la seguridad de los servicios de inteligencia artificial, consulte
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. - Para establecer la
ENDPOINTvariable de entorno, reemplácela poryour-endpointel punto de conexión real del recurso de Voz.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Nota:
Si solo necesita acceder a las variables de entorno en la consola actual, puede establecer la variable de entorno con set en vez de setx.
Después de agregar las variables de entorno, puede que tenga que reiniciar cualquier programa que necesite leer las variables de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinicie Visual Studio antes de ejecutar el ejemplo.
Síntesis de voz en un archivo
Para traducir la voz desde un archivo:
Cree un nuevo archivo denominado synthesis.js con el siguiente contenido:
import { createInterface } from "readline"; import { SpeechConfig, AudioConfig, SpeechSynthesizer, ResultReason } from "microsoft-cognitiveservices-speech-sdk"; function synthesizeSpeech() { const audioFile = "YourAudioFile.wav"; // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY" const speechConfig = SpeechConfig.fromEndpoint(new URL(ENDPOINT), process.env.SPEECH_KEY); const audioConfig = AudioConfig.fromAudioFileOutput(audioFile); // The language of the voice that speaks. speechConfig.speechSynthesisVoiceName = "en-US-Ava:DragonHDLatestNeural"; // Create the speech synthesizer. const synthesizer = new SpeechSynthesizer(speechConfig, audioConfig); const rl = 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 === 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(); }, function (err) { console.trace("err - " + err); synthesizer.close(); }); console.log("Now synthesizing to: " + audioFile); }); } synthesizeSpeech();En synthesis.js, opcionalmente puede cambiar el nombre de YourAudioFile.wav a otro nombre de archivo de salida.
Para cambiar el idioma de la síntesis de voz, sustituya
en-US-Ava:DragonHDLatestNeuralpor 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-Ximena:DragonHDLatestNeural, el texto se hablará en inglés con acento español. Si la voz no habla el idioma del texto de entrada, el servicio Voz no genera audio sintetizado.Ejecute la aplicación de consola para iniciar la síntesis de voz en un archivo:
node synthesis.js
Salida
Debería ver el resultado siguiente en la ventana de la consola: Siga el mensaje para escribir el texto que desea sintetizar:
Enter some text that you want to speak >
> I'm excited to try text to speech
Now synthesizing to: YourAudioFile.wav
synthesis finished.
Observaciones
Más opciones de síntesis de voz
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.
Voces de texto a voz de OpenAI en Voz de Azure Speech en Foundry Tools
También se admiten voces de texto a voz de OpenAI. Consulte voces de texto a voz de OpenAI en Azure Speech y voces multilingües. Puede reemplazar en-US-Ava:DragonHDLatestNeural por un nombre de voz de OpenAI compatible, como en-US-FableMultilingualNeural.
Limpieza de recursos
Puede usar el portal Azure o Azure interfaz de línea de comandos (CLI) para quitar el recurso de voz que creó.
Documentación de referencia | Paquete (descargar) | Muestras adicionales en GitHub
Con Azure Voz en Foundry Tools, 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.
Sugerencia
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.
Sugerencia
Pruebe el Azure Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
Requisitos previos
- Una suscripción Azure. Puede crear una de forma gratuita.
- Crear un recurso Foundry para Speech en el portal de Azure.
- 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.
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 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
Debe autenticar su aplicación para acceder a Herramientas de Foundry. Este artículo le muestra cómo utilizar variables de entorno para almacenar sus credenciales. Ahora puede acceder a las variables de entorno desde su código para autenticar su aplicación. Para la producción, utilice una forma más segura de almacenar y acceder a sus credenciales.
Importante
Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para recursos de Azure para evitar almacenar credenciales junto con las aplicaciones que se ejecutan en la nube.
Use las claves de API con precaución. No incluya la clave de API directamente en el código ni la exponga nunca públicamente. Si usa claves de API, almacénelas de forma segura en Azure Key Vault, gire las claves periódicamente y restrinja el acceso a Azure Key Vault mediante el control de acceso basado en rol y las restricciones de acceso de red. Para obtener más información sobre el uso de claves de API de forma segura en las aplicaciones, consulte CLAVESAPI con Azure Key Vault.
Para obtener más información sobre la seguridad de los servicios de inteligencia artificial, consulte
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. - Para establecer la
ENDPOINTvariable de entorno, reemplácela poryour-endpointel punto de conexión real del recurso de Voz.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Nota:
Si solo necesita acceder a las variables de entorno en la consola actual, puede establecer la variable de entorno con set en vez de setx.
Después de agregar las variables de entorno, puede que tenga que reiniciar cualquier programa que necesite leer las variables de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinicie Visual Studio antes de ejecutar el ejemplo.
Creación de la aplicación
Siga estos pasos para sintetizar la voz en una aplicación de macOS.
Clona el repositorio Azure-Samples/cognitive-services-speech-sdk para obtener el proyecto de ejemplo Sintetizar audio en Swift en macOS usando el Speech SDK. 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.xcworkspaceque contiene la aplicación de ejemplo y el SDK de Voz como dependencia.Abra el área de trabajo
helloworld.xcworkspaceen Xcode.Abra el archivo llamado AppDelegate.swift y busque los métodos
applicationDidFinishLaunchingysynthesizetal 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-Ava:DragonHDLatestNeural"; 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 para su clave de recurso de Voz y 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-Ava:DragonHDLatestNeural";Para cambiar el idioma de la síntesis de voz, sustituya
en-US-Ava:DragonHDLatestNeuralpor 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-Ximena:DragonHDLatestNeural, el texto se hablará en inglés con acento español. Si la voz no habla el idioma del texto de entrada, el servicio 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.
Importante
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.
Observaciones
Más opciones de síntesis de voz
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.
Voces de texto a voz de OpenAI en Voz de Azure Speech en Foundry Tools
También se admiten voces de texto a voz de OpenAI. Consulte voces de texto a voz de OpenAI en Azure Speech y voces multilingües. Puede reemplazar en-US-Ava:DragonHDLatestNeural por un nombre de voz de OpenAI compatible, como en-US-FableMultilingualNeural.
Limpieza de recursos
Puede usar el portal Azure o Azure interfaz de línea de comandos (CLI) para quitar el recurso de voz que creó.
Documentación de Referencia | Paquete (PyPi) | Ejemplos adicionales en GitHub
Con Azure Voz en Foundry Tools, 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.
Sugerencia
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.
Sugerencia
Pruebe el Azure Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
Requisitos previos
- Una suscripción Azure. Puede crear una de forma gratuita.
- Crear un recurso de AI Services para Speech en el portal de Azure.
- Obtenga la clave y el punto de conexión del recurso de Voz. Una vez implementado el recurso de Voz, seleccione Ir al recurso para ver y administrar claves.
Configuración del entorno
El SDK de Voz para Python está disponible como un módulo Python Package Index (PyPI). El SDK de Voz para Python es compatible con Windows, Linux y macOS.
- En Windows, instale el 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 versión 3.7 o posterior. Para conocer los requisitos, consulte Instalación del SDK de Voz.
Establecimiento de variables de entorno
Debe autenticar su aplicación para acceder a Herramientas de Foundry. Este artículo le muestra cómo utilizar variables de entorno para almacenar sus credenciales. Ahora puede acceder a las variables de entorno desde su código para autenticar su aplicación. Para la producción, utilice una forma más segura de almacenar y acceder a sus credenciales.
Importante
Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para recursos de Azure para evitar almacenar credenciales junto con las aplicaciones que se ejecutan en la nube.
Use las claves de API con precaución. No incluya la clave de API directamente en el código ni la exponga nunca públicamente. Si usa claves de API, almacénelas de forma segura en Azure Key Vault, gire las claves periódicamente y restrinja el acceso a Azure Key Vault mediante el control de acceso basado en rol y las restricciones de acceso de red. Para obtener más información sobre el uso de claves de API de forma segura en las aplicaciones, consulte CLAVESAPI con Azure Key Vault.
Para obtener más información sobre la seguridad de los servicios de inteligencia artificial, consulte
Para establecer las variables de entorno para la clave de recurso de Voz y el punto de conexión, abra una ventana de consola y siga las instrucciones del sistema operativo y el 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
ENDPOINTvariable de entorno, reemplace tu-punto-de-conexión por uno de los puntos de conexión para su recurso.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Nota:
Si solo necesita acceder a las variables de entorno en la consola actual, puede establecer la variable de entorno con set en vez de setx.
Después de agregar las variables de entorno, puede que tenga que reiniciar cualquier programa que necesite leer las variables de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinicie Visual Studio antes de ejecutar el ejemplo.
Creación de la aplicación
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-speechCopie 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 "ENDPOINT" # Replace with your own subscription key and endpoint, the endpoint is like : "https://YourServiceRegion.api.cognitive.microsoft.com" speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), endpoint=os.environ.get('ENDPOINT')) 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-Ava:DragonHDLatestNeural' 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 endpoint values?")Para cambiar el idioma de la síntesis de voz, sustituya
en-US-Ava:DragonHDLatestNeuralpor 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-Ximena:DragonHDLatestNeural, el texto se hablará en inglés con acento español. Si la voz no habla el idioma del texto de entrada, el servicio 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.pyEscriba 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
Observaciones
Más opciones de síntesis de voz
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.
Voces de texto a voz de OpenAI en Voz de Azure Speech en Foundry Tools
También se admiten voces de texto a voz de OpenAI. Consulte voces de texto a voz de OpenAI en Azure Speech y voces multilingües. Puede reemplazar en-US-Ava:DragonHDLatestNeural por un nombre de voz de OpenAI compatible, como en-US-FableMultilingualNeural.
Limpieza de recursos
Puede usar el portal Azure o Azure interfaz de línea de comandos (CLI) para quitar el recurso de voz que creó.
Referencia de la API REST de voz a texto | Referencia de la API REST de voz a texto para audio corto | Muestras adicionales en GitHub
Con Azure Voz en Foundry Tools, 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.
Sugerencia
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.
Sugerencia
Pruebe el Azure Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
Requisitos previos
- Una suscripción Azure. Puede crear una de forma gratuita.
- Crear un recurso Foundry para Speech en el portal de Azure.
- 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.
Establecimiento de variables de entorno
Debe autenticar su aplicación para acceder a Herramientas de Foundry. Este artículo le muestra cómo utilizar variables de entorno para almacenar sus credenciales. Ahora puede acceder a las variables de entorno desde su código para autenticar su aplicación. Para la producción, utilice una forma más segura de almacenar y acceder a sus credenciales.
Importante
Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para recursos de Azure para evitar almacenar credenciales junto con las aplicaciones que se ejecutan en la nube.
Use las claves de API con precaución. No incluya la clave de API directamente en el código ni la exponga nunca públicamente. Si usa claves de API, almacénelas de forma segura en Azure Key Vault, gire las claves periódicamente y restrinja el acceso a Azure Key Vault mediante el control de acceso basado en rol y las restricciones de acceso de red. Para obtener más información sobre el uso de claves de API de forma segura en las aplicaciones, consulte CLAVESAPI con Azure Key Vault.
Para obtener más información sobre la seguridad de los servicios de inteligencia artificial, consulte
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. - Para establecer la
ENDPOINTvariable de entorno, reemplácela poryour-endpointel punto de conexión real del recurso de Voz.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Nota:
Si solo necesita acceder a las variables de entorno en la consola actual, puede establecer la variable de entorno con set en vez de setx.
Después de agregar las variables de entorno, puede que tenga que reiniciar cualquier programa que necesite leer las variables de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinicie Visual Studio antes de ejecutar el ejemplo.
Síntesis de voz en un archivo
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-Ava:DragonHDLatestNeural'>my voice is my passport verify me</voice></speak>" --output output.mp3
Importante
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-Ava:DragonHDLatestNeural 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-Ximena:DragonHDLatestNeural, el texto se hablará en inglés con acento español. Si la voz no habla el idioma del texto de entrada, el servicio Voz no genera audio sintetizado.
Para más información, consulte API REST de texto a voz.
Observaciones
Voces de texto a voz de OpenAI en Voz de Azure Speech en Foundry Tools
También se admiten voces de texto a voz de OpenAI. Consulte voces de texto a voz de OpenAI en Azure Speech y voces multilingües. Puede reemplazar en-US-Ava:DragonHDLatestNeural por un nombre de voz de OpenAI compatible, como en-US-FableMultilingualNeural.
Limpieza de recursos
Puede usar el portal Azure o Azure interfaz de línea de comandos (CLI) para quitar el recurso de voz que creó.
Documentación de referencia | Paquete (npm) | Muestras adicionales en GitHub | Código fuente de la biblioteca
Con Azure Voz en Foundry Tools, 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.
Sugerencia
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.
Sugerencia
Pruebe el Azure Speech Toolkit para compilar y ejecutar fácilmente ejemplos en Visual Studio Code.
Requisitos previos
- Una suscripción Azure. Puede crear una de forma gratuita.
- Crear un recurso Foundry para Speech en el portal de Azure.
- 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.
Configuración
Cree una nueva carpeta
synthesis-quickstarty vaya a la carpeta quickstart mediante el siguiente comando:mkdir synthesis-quickstart && cd synthesis-quickstartCree el
package.jsoncon el comando siguiente:npm init -yActualice el
package.jsona ECMAScript con el siguiente comando:npm pkg set type=moduleInstale el SDK de Voz para JavaScript con:
npm install microsoft-cognitiveservices-speech-sdkDebe instalar las definiciones de tipo Node.js para evitar errores de TypeScript. Ejecute el siguiente comando:
npm install --save-dev @types/node
Recuperación de información de recursos
Debe autenticar su aplicación para acceder a Herramientas de Foundry. Este artículo le muestra cómo utilizar variables de entorno para almacenar sus credenciales. Ahora puede acceder a las variables de entorno desde su código para autenticar su aplicación. Para la producción, utilice una forma más segura de almacenar y acceder a sus credenciales.
Importante
Se recomienda la autenticación de Microsoft Entra ID con identidades administradas para recursos de Azure para evitar almacenar credenciales junto con las aplicaciones que se ejecutan en la nube.
Use las claves de API con precaución. No incluya la clave de API directamente en el código ni la exponga nunca públicamente. Si usa claves de API, almacénelas de forma segura en Azure Key Vault, gire las claves periódicamente y restrinja el acceso a Azure Key Vault mediante el control de acceso basado en rol y las restricciones de acceso de red. Para obtener más información sobre el uso de claves de API de forma segura en las aplicaciones, consulte CLAVESAPI con Azure Key Vault.
Para obtener más información sobre la seguridad de los servicios de inteligencia artificial, consulte
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. - Para establecer la
ENDPOINTvariable de entorno, reemplácela poryour-endpointel punto de conexión real del recurso de Voz.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Nota:
Si solo necesita acceder a las variables de entorno en la consola actual, puede establecer la variable de entorno con set en vez de setx.
Después de agregar las variables de entorno, puede que tenga que reiniciar cualquier programa que necesite leer las variables de entorno, incluida la ventana de consola. Por ejemplo, si usa Visual Studio como editor, reinicie Visual Studio antes de ejecutar el ejemplo.
Síntesis de voz en un archivo
Para traducir la voz desde un archivo:
Cree un nuevo archivo denominado synthesis.ts con el siguiente contenido:
import { createInterface } from "readline"; import { SpeechConfig, AudioConfig, SpeechSynthesizer, ResultReason, SpeechSynthesisResult } from "microsoft-cognitiveservices-speech-sdk"; function synthesizeSpeech(): void { const audioFile = "YourAudioFile.wav"; // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY" const speechConfig: SpeechConfig = SpeechConfig.fromEndpoint(new URL(process.env.ENDPOINT!), process.env.SPEECH_KEY!); const audioConfig: AudioConfig = AudioConfig.fromAudioFileOutput(audioFile); // The language of the voice that speaks. speechConfig.speechSynthesisVoiceName = "en-US-Ava:DragonHDLatestNeural"; // Create the speech synthesizer. const synthesizer: SpeechSynthesizer = new SpeechSynthesizer(speechConfig, audioConfig); const rl = createInterface({ input: process.stdin, output: process.stdout }); rl.question("Enter some text that you want to speak >\n> ", function (text: string) { rl.close(); // Start the synthesizer and wait for a result. synthesizer.speakTextAsync(text, function (result: SpeechSynthesisResult) { if (result.reason === 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(); }, function (err: string) { console.trace("err - " + err); synthesizer.close(); }); console.log("Now synthesizing to: " + audioFile); }); } synthesizeSpeech();En synthesis.ts, opcionalmente puede cambiar el nombre de YourAudioFile.wav a otro nombre de archivo de salida.
Para cambiar el idioma de la síntesis de voz, sustituya
en-US-Ava:DragonHDLatestNeuralpor 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-Ximena:DragonHDLatestNeural, el texto se hablará en inglés con acento español. Si la voz no habla el idioma del texto de entrada, el servicio Voz no genera audio sintetizado.Cree el archivo
tsconfig.jsonpara transpilar el código TypeScript y copie el código siguiente para ECMAScript.{ "compilerOptions": { "module": "NodeNext", "target": "ES2022", // Supports top-level await "moduleResolution": "NodeNext", "skipLibCheck": true, // Avoid type errors from node_modules "strict": true // Enable strict type-checking options }, "include": ["*.ts"] }Transpile de TypeScript a JavaScript.
tscEste comando no debe generar ninguna salida si se ejecuta correctamente.
Ejecute la aplicación de consola para iniciar la síntesis de voz en un archivo:
node synthesis.js
Salida
Debería ver el resultado siguiente en la ventana de la consola: Siga el mensaje para escribir el texto que desea sintetizar:
Enter some text that you want to speak >
> I'm excited to try text to speech
Now synthesizing to: YourAudioFile.wav
synthesis finished.
Observaciones
Más opciones de síntesis de voz
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.
Voces de texto a voz de OpenAI en Voz de Azure Speech en Foundry Tools
También se admiten voces de texto a voz de OpenAI. Consulte voces de texto a voz de OpenAI en Azure Speech y voces multilingües. Puede reemplazar en-US-Ava:DragonHDLatestNeural por un nombre de voz de OpenAI compatible, como en-US-FableMultilingualNeural.
Limpieza de recursos
Puede usar el portal Azure o Azure interfaz de línea de comandos (CLI) para quitar el recurso de voz que creó.