Se você quer que o Discord fale texto em voz alta — seja você um streamer roteando o chat da Twitch para um canal de voz, um usuário que prefere digitar, ou um desenvolvedor construindo uma ferramenta de narração personalizada — um bot text to speech para Discord é a solução certa. Esse guia cobre todas as opções práticas disponíveis em 2026: os bots hospedados que você pode adicionar com um clique, o comando TTS nativo do Discord, e um passo a passo para construir um bot personalizado com Discord.js e a API do ElevenLabs.
TL;DR
- O comando /tts nativo do Discord é do lado do cliente — reproduz áudio pelos alto-falantes do ouvinte, não pelo canal de voz.
- Streamcord TTS é a opção hospedada mais popular para streamers que querem que o chat da Twitch seja lido em canais de voz do Discord.
- Voicemod TTS oferece vozes especiais e de personagens via bot gerenciado.
- Um bot Discord.js + ElevenLabs personalizado te dá a melhor qualidade de voz e controle total, com tempo de build de menos de uma hora.
- Hotkeys para acionar comandos TTS podem ser mapeados pelas configurações de atalhos do Discord ou via ferramentas externas como AutoHotkey.
- VoxBooster combina com bots TTS em workflows híbridos onde você quer tanto narração de chat sintetizada quanto voz ao vivo modificada.
Por que Bots TTS Existem e o que Eles Realmente Fazem
O comando /tts integrado do Discord é frequentemente mal compreendido. Quando você digita /tts olá, o cliente desktop do Discord lê esse texto em voz alta pelos seus alto-falantes usando o motor TTS local do sistema operacional. Outros usuários no canal não ouvem pelo canal de voz — eles só ouvem se também tiverem o TTS do Discord ativado e o cliente deles ler a mensagem localmente.
Um bot TTS para Discord funciona diferente. O bot é um processo no lado do servidor com sua própria conexão ao canal de voz. Quando acionado, sintetiza fala a partir de texto e transmite o áudio resultante para dentro do canal de voz. Todos naquele canal de voz ouvem, da mesma forma que ouviriam outro participante falando. Essa distinção — local do cliente versus broadcast do canal — é a razão inteira pela qual bots existem para esse caso de uso.
Cenários comuns onde isso importa:
- Setup de streaming: Você está ao vivo na Twitch e quer que as mensagens do chat dos espectadores sejam lidas em voz alta na chamada de voz do Discord que você compartilha com co-streamers.
- Acessibilidade: Um membro do servidor não pode ou prefere não usar microfone; o bot TTS permite que ele participe de discussões de voz digitando.
- Anúncios: Um bot lê alertas de moderação, atribuições de cargos ou mensagens agendadas em um canal sem um operador humano.
- Narração personalizada: Desenvolvedores constroem bots que narram eventos de jogos, pontuações ou alertas em tempo real usando vozes de IA de alta qualidade.
Opção 1: O Comando Nativo /tts do Discord
Antes de procurar um bot, verifique se o comando integrado do Discord cobre suas necessidades.
Como habilitar: No seu servidor, vá em Configurações do Servidor → Visão Geral → Habilitar Text-To-Speech. Nas configurações Avançadas do seu canal, defina Permitir que qualquer pessoa publique mensagens TTS (ou restrinja a cargos específicos).
Como usar: Em qualquer canal de texto com TTS habilitado, digite /tts [sua mensagem]. O Discord lê a mensagem em voz alta pelos alto-falantes do receptor usando o motor TTS do SO dele.
Limitações:
- O áudio vai para os alto-falantes locais, não para o broadcast do canal de voz.
- A qualidade da voz depende do motor TTS do SO do ouvinte (Microsoft David, Zira etc. no Windows).
- Cada ouvinte precisa ter TTS ativado em Configurações → Acessibilidade → Permitir reprodução e uso do comando /tts.
Melhor para: Uso rápido de acessibilidade, ou situações onde cada usuário só precisa ouvir texto lido localmente — não para streaming ou anúncios de grupo.
Opção 2: Bot TTS do Voicemod
O Voicemod, mais conhecido pelo seu voice changer desktop, opera um bot de Discord que traz sua biblioteca de vozes para a funcionalidade de text-to-speech.
O que oferece:
- Uma biblioteca de vozes de personagens e especiais (robótica, cartoon, grave e mais).
- Interface simples de slash command:
/tts [voz] [mensagem]. - Sem upload de modelo de voz personalizado — você fica limitado à biblioteca de presets do Voicemod.
- Nível gratuito disponível; vozes premium exigem assinatura Voicemod.
Configuração:
- Visite a página do bot de Discord do Voicemod e clique em Adicionar ao Servidor.
- Autorize o bot com permissões de Conectar, Falar e Ler Mensagens.
- Entre em um canal de voz no seu servidor.
- Use
/ttsseguido do nome da voz escolhida e o texto da mensagem.
Limitações: A seleção de voz é limitada à biblioteca do Voicemod. Se precisar de uma voz humana de som natural ou de uma persona personalizada, isso não vai cobrir.
Opção 3: Streamcord TTS para Streamers
O Streamcord é o bot TTS de Discord preferido para streamers que querem que mensagens do chat da Twitch sejam lidas em voz alta em um canal de voz do Discord. Ele conecta Twitch e Discord nativamente.
O que oferece:
- Conecta seu canal da Twitch a um canal de voz do Discord.
- Lê mensagens do chat da Twitch em voz alta com voz, velocidade e tom configuráveis.
- Suporta TTS só para assinantes, resgates de pontos de canal como acionadores TTS e filtragem de mensagens.
- Configuração via slash command e painel de controle.
Configuração:
- Vá para streamcord.io e clique em Adicionar ao Discord.
- Autorize no seu servidor com as permissões necessárias.
- Use
/tts setupe siga as instruções para vincular seu canal da Twitch e selecionar um canal de voz do Discord alvo. - Configure as opções de voz em streamcord.io/dashboard.
Roteamento do canal de voz: O Streamcord entra no canal de voz que você especifica durante a configuração. Você pode mudar o canal alvo pelo painel sem re-convidar o bot. Para que ele te siga entre canais, use o comando /tts move.
Configuração de hotkeys para o Streamcord: O Streamcord em si não tem um sistema de hotkeys desktop dedicado. Streamers tipicamente vinculam uma tecla Push-to-Talk no Discord para o próprio microfone, e usam um atalho de teclado separado no OBS ou StreamDeck para acionar comandos de chat. Para controle mais granular, scripts AutoHotkey podem enviar comandos /tts via atalhos de teclado simulando entrada no Discord.
Opção 4: Bot Personalizado com Discord.js + API do ElevenLabs
Para a maior qualidade de voz e controle completo sobre o comportamento, construa seu próprio bot TTS de Discord usando Discord.js v14 e a API do ElevenLabs. Isso te dá acesso às vozes de qualidade estúdio do ElevenLabs, clonagem de voz, síntese multilíngue e ajuste de parâmetros por requisição.
Pré-requisitos
- Node.js 18+
- Uma aplicação Discord e token de bot (discord.com/developers)
- Uma chave de API do ElevenLabs (elevenlabs.io)
- FFmpeg instalado e no seu PATH (necessário pelo @discordjs/voice para codificação de áudio)
Passo 1: Inicializar o Projeto
mkdir discord-tts-bot && cd discord-tts-bot
npm init -y
npm install discord.js @discordjs/voice @discordjs/opus elevenlabs libsodium-wrappers ffmpeg-static
Passo 2: Registrar o Slash Command
Crie deploy-commands.js:
const { REST, Routes, SlashCommandBuilder } = require('discord.js');
const commands = [
new SlashCommandBuilder()
.setName('tts')
.setDescription('Fala texto no seu canal de voz')
.addStringOption(opt =>
opt.setName('text').setDescription('Texto para falar').setRequired(true)
)
].map(cmd => cmd.toJSON());
const rest = new REST({ version: '10' }).setToken(process.env.DISCORD_TOKEN);
(async () => {
await rest.put(
Routes.applicationGuildCommands(process.env.CLIENT_ID, process.env.GUILD_ID),
{ body: commands }
);
console.log('Comandos registrados');
})();
Execute node deploy-commands.js uma vez para registrar o slash command /tts no seu servidor.
Passo 3: Construir o Bot
Crie index.js:
const { Client, GatewayIntentBits } = require('discord.js');
const { joinVoiceChannel, createAudioPlayer, createAudioResource, AudioPlayerStatus } = require('@discordjs/voice');
const { ElevenLabsClient } = require('elevenlabs');
const { Readable } = require('stream');
const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildVoiceStates] });
const eleven = new ElevenLabsClient({ apiKey: process.env.ELEVENLABS_API_KEY });
const VOICE_ID = 'your-elevenlabs-voice-id';
client.on('interactionCreate', async interaction => {
if (!interaction.isChatInputCommand() || interaction.commandName !== 'tts') return;
const text = interaction.options.getString('text');
const voiceChannel = interaction.member?.voice?.channel;
if (!voiceChannel) {
return interaction.reply({ content: 'Entre em um canal de voz primeiro.', ephemeral: true });
}
await interaction.deferReply({ ephemeral: true });
const audioStream = await eleven.textToSpeech.convertAsStream(VOICE_ID, {
text,
model_id: 'eleven_multilingual_v2',
voice_settings: { stability: 0.5, similarity_boost: 0.75 }
});
const connection = joinVoiceChannel({
channelId: voiceChannel.id,
guildId: interaction.guildId,
adapterCreator: interaction.guild.voiceAdapterCreator,
});
const player = createAudioPlayer();
const resource = createAudioResource(Readable.from(audioStream));
player.play(resource);
connection.subscribe(player);
player.on(AudioPlayerStatus.Idle, () => connection.destroy());
await interaction.editReply({ content: 'Falando.' });
});
client.login(process.env.DISCORD_TOKEN);
Escolhendo um Modelo de Voz
O ElevenLabs oferece vários modelos em 2026:
| Modelo | Latência | Qualidade | Idiomas |
|---|---|---|---|
| eleven_turbo_v2_5 | ~250ms | Boa | 32 |
| eleven_multilingual_v2 | ~400ms | Excelente | 29 |
| eleven_flash_v2_5 | ~75ms | Boa | 32 |
Para uso em Discord em tempo real, eleven_flash_v2_5 minimiza o delay entre o comando e a fala. Para narração com prioridade de qualidade, eleven_multilingual_v2 é a melhor escolha.
Roteamento de Canal de Voz: Padrões Práticos
Independentemente do bot que você usar, o roteamento de canal de voz segue os mesmos padrões básicos.
Padrão seguir-o-usuário: O bot entra no canal de voz em que o usuário que invocar o comando estiver. Esse é o padrão para a maioria dos bots e a implementação no exemplo Discord.js acima.
Padrão de canal fixo: Você designa um ID de canal específico na configuração do bot. O bot sempre fala naquele canal independentemente de onde o usuário estiver. Melhor para bots de anúncios ou salas TTS dedicadas.
Padrão multi-canal: Uma configuração mais complexa onde diferentes canais de texto mapeiam para diferentes canais de voz. No Discord.js, você implementa isso com um objeto de mapeamento de canais.
Padrão de seguimento dinâmico: O bot monitora eventos voiceStateUpdate e se move para seguir um usuário designado entre canais de voz. Útil para streamers que trocam de sala frequentemente durante uma sessão.
Configuração de Hotkeys para Comandos TTS
A maioria dos bots TTS é acionada por slash commands, não hotkeys. Mas você pode criar workflows eficientes com hotkeys usando algumas abordagens.
Atalhos integrados do Discord: Vá em Configurações do Discord → Atalhos de Teclado. Você não pode vincular comandos de texto arbitrários aqui — apenas ações do Discord como push-to-talk, silenciar etc.
AutoHotkey (Windows): Você pode mapear um hotkey para digitar um comando /tts [mensagem predefinida] e pressionar Enter na janela do Discord:
^F1:: ; Ctrl+F1
WinActivate, Discord
Send, /tts Sua mensagem predefinida aqui{Enter}
return
StreamDeck: Se você usa um Elgato StreamDeck, a ação “Text” pode enviar pressionamentos de tecla para qualquer janela ativa. Configure um botão do StreamDeck para focar o campo de entrada de texto do Discord e digitar seu comando /tts.
Palavras-gatilho do bot: Para bots personalizados, você pode implementar um gatilho de prefixo em um canal de texto em vez de um slash command — qualquer mensagem em um canal designado que comece com um prefixo configurado é enviada automaticamente para TTS.
Workflows Híbridos: Bots TTS + Modificador de Voz ao Vivo
Um bot TTS cuida da síntese de fala a partir de texto. Ele não toca no seu microfone. Isso significa que bots TTS e modificadores de voz ao vivo como VoxBooster coexistem sem conflito no mesmo canal de voz.
Um setup híbrido prático para streamers:
- Streamcord TTS lê as mensagens do seu chat da Twitch em voz alta no canal de voz do Discord que seus co-streamers estão.
- VoxBooster modifica sua voz do microfone ao vivo em tempo real — seja supressão de ruído, um efeito de tom ou uma persona de voz clonada.
- Seus co-streamers ouvem os dois: o bot TTS falando mensagens de espectadores, e sua voz ao vivo modificada.
Os dois streams de áudio são independentes. O bot TTS gera áudio da sua própria conexão. Seu áudio do microfone passa pelo dispositivo virtual do VoxBooster antes de chegar ao Discord. O Discord os mistura da mesma forma que mistura quaisquer dois participantes em um canal.
Essa abordagem híbrida é particularmente eficaz para criadores de conteúdo que querem um ambiente de áudio mais rico sem precisar que espectadores ou co-streamers instalem nada além do Discord.
Resolução de Problemas Comuns
Bot entra mas não produz áudio: Verifique se o FFmpeg está no seu PATH e se @discordjs/opus foi instalado corretamente. Execute ffmpeg -version em um terminal para verificar.
Comando TTS tem latência alta: A latência da API do ElevenLabs depende do modelo escolhido e do tamanho do texto de entrada. Troque para eleven_flash_v2_5 para menor latência. Para mensagens com mais de ~200 caracteres, considere dividir o texto antes de enviar.
Bot desconecta no meio da reprodução: Isso geralmente é um timeout da conexão de voz. Adicione um handler connection.on('error') e reconecte em caso de falha.
Streamcord TTS não lê todas as mensagens: O Streamcord filtra certos tipos de mensagens por padrão. Verifique seu painel do Streamcord em Filtros para permitir mensagens de não-assinantes.
Comando /tts do Discord não funciona: Confirme que TTS está habilitado nas configurações do seu servidor e que o canal específico permite TTS. Usuários individuais também precisam de reprodução TTS habilitada nas suas próprias configurações de Acessibilidade do Discord.
Resumo
Em 2026, configurar um bot TTS para Discord leva de dois minutos (Streamcord ou Voicemod) a menos de uma hora (Discord.js + ElevenLabs personalizado). A escolha certa depende dos seus requisitos de qualidade de voz, do quanto de personalização você precisa, e se está construindo para o seu próprio servidor ou para um setup de streaming em produção. O /tts nativo do Discord cobre reprodução básica do lado do cliente sem nenhum bot. Bots hospedados como o Streamcord cobrem o caso de uso do streamer com configuração mínima. Um bot Discord.js personalizado com ElevenLabs te dá vozes de IA de qualidade estúdio com controle programático completo sobre cada aspecto da fala.
Para o setup de áudio de streaming mais versátil, combine um bot TTS para narração de chat com VoxBooster para modificação de voz ao vivo — duas ferramentas, um canal de voz, zero conflitos.