Conversión de Texto a Voz con Azure Cognitive Services
Clase 11 de 27 • Curso de Azure Cognitive Services
Resumen
¿Cómo convertir texto en voz usando Azure Cognitive Services?
El mundo del desarrollo tecnológico está lleno de sorpresas y hoy nos sumergimos en el increíble ámbito de la conversión de texto a voz mediante Azure Cognitive Services. Este proceso te permite generar audios de salida en tus bocinas o crear archivos de audio con una voz sintetizada, ofreciendo la posibilidad de enriquecer aplicaciones con características accesibles y avanzadas.
¿Qué necesitas para empezar?
Para empezar con la implementación, primero necesitas crear un servicio cognitivo de tipo speech en Azure. A continuación, detallamos los pasos iniciales:
-
Crea un servicio de tipo speech:
- Inicia sesión en el portal de Azure.
- Selecciona
Create a Resource
y busca el servicioSpeech
. - Llena las opciones requeridas como nombre, ubicación (se recomienda
WestUS
para mejor latencia), tipo de tarifa y grupo de recursos.
-
Configura el proyecto en Visual Studio:
- Crea un nuevo proyecto de aplicación de consola en Visual Studio.
- Instala el paquete NuGet
Microsoft.CognitiveServices.Speech
para poder utilizar el servicio de texto a voz.
¿Cómo configurar y utilizar el servicio en tu proyecto?
El proceso de configuración y uso del servicio requiere de ciertos pasos técnicos en tu proyecto de Visual Studio:
-
Adicional los usings necesarios:
Agrega los siguientes
using
en tu claseProgram.cs
para poder utilizar el servicio de speech y trabajar con el sistema de archivos de Windows.using Microsoft.CognitiveServices.Speech;
-
Configuración de la llave de suscripción y región:
Copia la llave de suscripción y la región desde el portal de Azure para configurarlos en tu proyecto.
string subscriptionKey = "tu_llave_de_suscripción"; string region = "WestUS";
-
Crear métodos para sintetizar voz:
Los métodos deben ser creados tanto para sintetizar directamente al speaker como para generar un archivo de audio:
private async Task SynthesizeToSpeakerAsync() { var config = SpeechConfig.FromSubscription(subscriptionKey, region); using var synthesizer = new SpeechSynthesizer(config); await synthesizer.SpeakTextAsync("Hello World"); }
private async Task SynthesizeToFileAsync() { var config = SpeechConfig.FromSubscription(subscriptionKey, region); using var synthesizer = new SpeechSynthesizer(config, null); var result = await synthesizer.SpeakTextAsync("Your text here"); if (result.Reason == ResultReason.SynthesizingAudioCompleted) { File.WriteAllBytes("outputfile.wav", result.AudioData); } }
¿Cómo funciona el uso de archivos XML para especificar el sintetizador?
Los archivos XML son esenciales para definir las características del sintetizador:
-
Crea un archivo XML (SSML): Define el contenido y la voz en el que debería sintetizarse.
<speak version="1.0" xml:lang="en-US"> <voice name="en-US-JennyNeural">Your text here</voice> </speak>
-
Configura el archivo en el proyecto: Asegúrate de que el archivo se copie correctamente al directorio de salida.
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
Recomendaciones para implementar el servicio
Este tipo de tecnologías puede enriquecer cualquier proyecto, ofreciendo funcionalidades para mejorar la accesibilidad y la experiencia del usuario. Considera implementar estos servicios en:
- Aplicaciones móviles.
- Asistentes virtuales.
- Herramientas educativas inclusive para personas con discapacidades visuales.
Te invitamos a investigar y probar diferentes configuraciones. El conocimiento aplicado es la clave para avanzar en el fascinante mundo de la inteligencia artificial. ¡Mucho éxito en tu aprendizaje continuo!