Интеграция Azure Speech Services для синтеза речи (Neural TTS)
Azure Neural TTS — обширная библиотека голосов (400+) с поддержкой SSML, кастомных голосов через Custom Neural Voice и мультистилевых голосов. Для русского языка доступны голоса ru-RU: Svetlana, Dariya, Dmitry и другие.
Синтез через Python SDK
import azure.cognitiveservices.speech as speechsdk
speech_config = speechsdk.SpeechConfig(
subscription=os.environ["AZURE_SPEECH_KEY"],
region="westeurope"
)
speech_config.speech_synthesis_voice_name = "ru-RU-SvetlanaNeural"
# Вывод в файл
audio_config = speechsdk.audio.AudioOutputConfig(filename="output.wav")
synthesizer = speechsdk.SpeechSynthesizer(
speech_config=speech_config,
audio_config=audio_config
)
# Синтез с SSML
ssml = """
<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis'
xmlns:mstts='https://www.w3.org/2001/mstts' xml:lang='ru-RU'>
<voice name='ru-RU-DmitryNeural'>
<mstts:express-as style='customerservice'>
Добрый день! Рады помочь вам сегодня.
</mstts:express-as>
</voice>
</speak>
"""
result = synthesizer.speak_ssml_async(ssml).get()
Стили речи (для поддерживаемых голосов)
Некоторые Azure-голоса поддерживают стили: cheerful, sad, angry, fearful, disgruntled, serious, depressed, embarrassed, gentle, customerservice.
Потоковый синтез
# Streaming для Real-Time приложений
pull_stream = speechsdk.audio.PullAudioOutputStream()
audio_config = speechsdk.audio.AudioOutputConfig(stream=pull_stream)
synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config,
audio_config=audio_config)
Стоимость: Neural TTS $16/1M символов. Custom Neural Voice: $24/1M символов. Бесплатно: 500 000 символов/месяц.
Сроки: 1–2 дня.







