(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

Como converter texto em voz com o Azure AI Speech

João Barros 10 de July de 2026 4 min de leitura

A síntese de voz (text-to-speech) transforma texto escrito em áudio com som natural e é útil para criar narrações de vídeos, tornar aplicações mais acessíveis ou dar uma resposta falada num assistente virtual. Com o Azure AI Speech e poucas linhas de Python consegues converter texto em voz de alta qualidade em português e em dezenas de outros idiomas, sem precisares de treinar nenhum modelo.

Pré-requisitos

  • Uma subscrição do Azure com um recurso Speech criado — guarda a chave e a região (por exemplo, westeurope).
  • Python 3.8 ou superior instalado no teu computador.
  • Noções básicas de terminal e de Python.
  • Colunas de som ou auscultadores para ouvir o resultado.

Passo 1: Instalar o SDK do Azure AI Speech

Para converter texto em voz vais usar a biblioteca oficial da Microsoft. Abre o terminal e instala o pacote com o pip:

pip install azure-cognitiveservices-speech

Este pacote inclui tudo o que é preciso para comunicar com o serviço. Se usares um ambiente virtual (recomendado), ativa-o antes de correr o comando para manteres as dependências organizadas.

Passo 2: Configurar a chave e a região

O serviço identifica-te através da chave e da região do teu recurso Speech. Encontra ambos no portal do Azure, na página do recurso, no separador Keys and Endpoint. Para não deixares segredos escritos no código, guarda-os em variáveis de ambiente e lê-os assim:

import os
import azure.cognitiveservices.speech as speechsdk

speech_key = os.environ["SPEECH_KEY"]
service_region = os.environ["SPEECH_REGION"]

speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region)

O objeto speech_config guarda a configuração que vais reutilizar nos passos seguintes.

Passo 3: Escolher a voz e o idioma

O Azure oferece vozes neurais muito realistas em vários idiomas. Para português de Portugal podes usar pt-PT-RaquelNeural; para português do Brasil, pt-BR-FranciscaNeural. Basta indicar o nome da voz na configuração:

speech_config.speech_synthesis_voice_name = "pt-PT-RaquelNeural"

Se não definires nenhuma voz, o serviço usa uma predefinida. Trocar de voz é tão simples como mudar este nome, por isso vale a pena experimentar até encontrares a que soa melhor para o teu caso.

Passo 4: Gerar o áudio e gravar num ficheiro

Agora vais ligar a saída de áudio a um ficheiro WAV e pedir a síntese do texto. O método speak_text_async devolve um objeto de resultado quando termina:

audio_config = speechsdk.audio.AudioOutputConfig(filename="saida.wav")

synthesizer = speechsdk.SpeechSynthesizer(
    speech_config=speech_config,
    audio_config=audio_config)

texto = "Olá! Este áudio foi criado com o Azure AI Speech."
result = synthesizer.speak_text_async(texto).get()

Se preferires ouvir o som diretamente nas colunas em vez de gravar um ficheiro, substitui a linha do audio_config por speechsdk.audio.AudioOutputConfig(use_default_speaker=True).

Passo 5: Confirmar o estado e tratar erros

É boa prática verificar se a síntese terminou com sucesso e, em caso de falha, mostrar o motivo. Isto poupa muito tempo a diagnosticar problemas de chave ou de região:

if result.reason == speechsdk.ResultReason.SynthesizingAudioCompleted:
    print("Áudio gravado com sucesso em saida.wav")
elif result.reason == speechsdk.ResultReason.Canceled:
    details = result.cancellation_details
    print("Síntese cancelada:", details.reason)
    if details.reason == speechsdk.CancellationReason.Error:
        print("Detalhes do erro:", details.error_details)

Os erros mais comuns são uma chave inválida ou uma região errada; a mensagem em error_details costuma indicar exatamente o que corrigir.

Verificar o resultado

Corre o script e procura o ficheiro saida.wav na mesma pasta. Abre-o num leitor de áudio e deverás ouvir a frase lida com voz natural. Se ouves a frase completa e sem cortes, a integração está a funcionar. Caso o ficheiro esteja vazio ou não apareça, volta ao Passo 5 e lê a mensagem de erro — quase sempre é a chave ou a região.

Conclusão

Em cinco passos ligaste o Python ao Azure AI Speech e transformaste texto em áudio natural. A partir daqui, o próximo salto é usar SSML para controlar pausas, entoação e velocidade da fala, experimentar vozes de outros idiomas ou integrar esta função numa API ou aplicação web. Qual vai ser a primeira frase a que vais dar voz no teu projeto?