Texto em fala no Godot: falas de diálogo e voz durante o jogo
Jogos em Godot costumam ser feitos por uma pessoa ou uma equipe pequena, e a dublagem é a parte que raramente cabe no orçamento. O texto em fala dá voz a cada fala no dia em que ela é escrita: para protótipos, diálogos provisórios, tutoriais e jogos que mantêm uma voz sintética de propósito.
O motor gratuito SuperClonica gera voz offline num processador comum. Este guia mostra as duas formas de usá-lo com o Godot, arquivos WAV gerados antes e voz durante o jogo a partir de GDScript, e quais vozes você pode lançar.
Duas formas de dar voz a um jogo no Godot
O computador de um jogador não vai rodar um servidor de voz, então um jogo single-player lançado deve incluir os arquivos.
- Arquivos gerados antes: dê voz a cada fala durante o desenvolvimento e guarde os WAV no projeto. Eles são exportados com o jogo como qualquer outro som.
- Voz durante o jogo: o jogo envia texto a um servidor da SuperClonica e toca a resposta. Serve para ferramentas do editor, protótipos e jogos online com servidor próprio.
- Nos dois casos, a voz é gerada num processador comum, sem cobrança por caractere.
- O modelo fala 31 idiomas; o chinês ainda não é suportado.
Escolha vozes grátis
Na página de qualquer voz, escreva uma fala do seu personagem, de 30 a 100 caracteres, escolha o idioma e clique no botão para gerar. Em poucos segundos você ouve se a voz combina, sem conta.
Gere os diálogos antes
O mesmo texto, voz e seed sempre geram o mesmo áudio, então regenere só as falas que mudaram e guarde no repositório o script, não o áudio.
- Instale o motor: python -m pip install superclonica-cpu.
- Guarde as falas numa tabela com id, idioma e texto.
- Um script curto percorre a tabela: superclonica --text "Bem-vindo à vila!" --voice npc.json --lang pt --output voice/npc_greeting_01.wav.
- O Godot importa sozinho os WAV novos do projeto; toque-os com um AudioStreamPlayer.
Voz durante o jogo a partir de GDScript
Inicie o servidor em qualquer processador: docker run -d -p 8000:8000 -v superclonica-models:/models superclonica/superclonica:cpu. No Godot 4.4 ou mais recente, o nó HTTPRequest embutido e AudioStreamWAV.load_from_buffer tocam a resposta sem salvar arquivo: var http := HTTPRequest.new(); add_child(http); http.request_completed.connect(_on_voice); http.request("http://localhost:8000/synthesize", ["Content-Type: application/json"], HTTPClient.METHOD_POST, JSON.stringify({"text": "Bem-vindo de volta!", "voice": "F1", "lang": "pt"})) — e no mesmo script: func _on_voice(result, code, headers, body): $Voice.stream = AudioStreamWAV.load_from_buffer(body); $Voice.play(). Uma frase curta leva cerca de meio segundo num processador; guarde em cache os streams de falas que se repetem. Nunca coloque uma chave de API num jogo exportado, de onde jogadores podem extraí-la: deixe o seu próprio servidor de jogo chamar o servidor de voz.
Vozes que você pode lançar
Para protótipos, qualquer voz do catálogo serve. Para um jogo lançado, use uma voz sobre a qual tem direitos: as dez vozes padrão do modelo, de M1 a M5 e de F1 a F5, a sua própria voz treinada no estúdio da SuperClonica a partir de uma gravação limpa de 5 a 10 segundos de um ator que concordou, num computador com placa de vídeo NVIDIA, ou uma voz encomendada na bolsa. Vozes de personagens feitas por fãs são para paródias e jogos de fã, não para jogos comerciais.