es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Azure API no funciona (lo siento por el título, no tengo idea de qué está mal)

Como dije antes, lo siento por el título. Nunca he trabajado con la API de Azure y no tengo idea de lo que está mal en el código, ya que simplemente lo copié de la documentación y puse mi información.

Aquí está el código:

from azure.cognitiveservices.speech import AudioDataStream, SpeechConfig, SpeechSynthesizer, SpeechSynthesisOutputFormat
from azure.cognitiveservices.speech.audio import AudioOutputConfig

speech_config = SpeechConfig(subscription="ImagineHereAreNumbers", region="westeurope")

speech_config.speech_synthesis_language = "en-US"
speech_config.speech_synthesis_voice_name = "ChristopherNeural"

audio_config = AudioOutputConfig(filename=r'C:\Users\TheD4\OneDrive\Desktop\SpeechFolder\Azure.wav')

synthesizer = SpeechSynthesizer(speech_config=speech_config, audio_config=audio_config)
synthesizer.speak_text_async("Una simple prueba para escribir en un archivo.")

Bueno, al ejecutar esto no obtengo errores y, de hecho, obtengo un archivo .wav en la carpeta deseada, pero este archivo tiene 0 bytes y parece estar dañado.

Ahora no tengo idea de qué está mal porque si elimino esto:

speech_config.speech_synthesis_language = "en-US"
speech_config.speech_synthesis_voice_name = "ChristopherNeural"

Entonces se convierte en esto:

from azure.cognitiveservices.speech import AudioDataStream, SpeechConfig, SpeechSynthesizer, SpeechSynthesisOutputFormat
from azure.cognitiveservices.speech.audio import AudioOutputConfig

speech_config = SpeechConfig(subscription="ImagineHereAreNumbers", region="westeurope")

audio_config = AudioOutputConfig(filename=r'C:\Users\TheD4\OneDrive\Desktop\SpeechFolder\Azure.wav')

synthesizer = SpeechSynthesizer(speech_config=speech_config, audio_config=audio_config)
synthesizer.speak_text_async("Una simple prueba para escribir en un archivo.")

Ahora funciona de repente, pero con lo que supongo que es la voz básica/común.

Así que aquí está mi pregunta: ¿cómo elijo una voz que quiero (por cierto, ¿es esta voz “en-US-JennyNeural” style=”customerservice” o algo similar)?

¡Gracias de antemano!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para elegir una voz específica para la síntesis de voz utilizando la API de Azure y Python, puede configurar el idioma y el nombre de la voz correspondiente en el objeto speech_config.

    Por ejemplo, para usar la voz “en-US-JennyNeural”, debe establecer el idioma en “en-US” y el nombre de la voz en “JennyNeural” de la siguiente manera:

    speech_config.speech_synthesis_language = "en-US"
    speech_config.speech_synthesis_voice_name = "JennyNeural"
    

    Puede encontrar una lista de idiomas y voces disponibles en la documentación de Azure.

    Es posible que el problema con el código inicial estuviera relacionado con el uso de un nombre de voz que no estaba disponible o mal escrito. La eliminación de la configuración del idioma y la voz pudo haber iniciado una voz diferente que funcionaba correctamente.

Comments are closed.