Panduan Setup Bot Text to Speech Discord (2026)

Panduan lengkap untuk menyiapkan bot text to speech Discord tahun 2026. Mencakup Voicemod TTS, Streamcord, bot Discord.js kustom + ElevenLabs, routing voice channel, dan hotkey.

Jika Anda menginginkan Discord untuk berbicara teks dengan lantang - apakah Anda streamer yang merutekan obrolan Twitch ke voice channel, pengguna yang lebih suka mengetik, atau pengembang yang membangun alat narasi kustom - bot text to speech Discord adalah solusi yang tepat. Panduan ini mencakup setiap opsi praktis yang tersedia di 2026: bot yang di-host yang dapat Anda tambahkan dengan satu klik, perintah TTS Discord asli, dan walkthrough langkah demi langkah untuk membangun bot kustom dengan Discord.js dan API ElevenLabs.


TL;DR

  • Perintah /tts asli Discord adalah sisi klien - memainkan audio melalui speaker pendengar, bukan melalui voice channel.
  • Streamcord TTS adalah opsi yang di-host paling populer untuk streamer yang menginginkan obrolan Twitch dibaca di voice channel Discord.
  • Voicemod TTS menyediakan suara novelty dan karakter melalui bot yang dikelola.
  • Bot Discord.js + ElevenLabs kustom memberikan kualitas suara terbaik dan kontrol penuh, dengan waktu build kurang dari satu jam.
  • Hotkey untuk memicu perintah TTS dapat dipetakan melalui pengaturan keybind Discord atau melalui alat eksternal seperti AutoHotkey.
  • VoxBooster berpasangan dengan bot TTS untuk alur kerja hibrida di mana Anda menginginkan narasi obrolan yang disintesis dan suara yang dimodifikasi secara langsung.

Mengapa Bot TTS Ada dan Apa yang Sebenarnya Mereka Lakukan

Perintah /tts bawaan Discord sering disalahpahami. Ketika Anda mengetik /tts hello, klien desktop Discord membaca teks tersebut dengan lantang melalui speaker Anda menggunakan mesin TTS sistem operasi lokal. Pengguna lain di channel tidak mendengarnya melalui voice channel - mereka hanya mendengarnya jika mereka juga memiliki TTS Discord sendiri diaktifkan dan klien mereka membaca pesan secara lokal.

Bot TTS Discord bekerja berbeda. Bot adalah proses sisi server dengan koneksi voice channel sendiri. Ketika dipicu, itu mensintesis ucapan dari teks dan melakukan streaming audio yang dihasilkan ke dalam voice channel itu sendiri. Semua orang di voice channel itu mendengarnya, cara yang sama mereka mendengar peserta lain berbicara. Perbedaan itu - client-lokal versus channel-broadcast - adalah seluruh alasan bot ada untuk kasus penggunaan ini.

Skenario umum di mana ini penting:

  • Setup streaming: Anda sedang live di Twitch dan menginginkan pesan obrolan penonton dibaca dengan lantang di panggilan suara Discord yang Anda bagikan dengan co-streamer.
  • Aksesibilitas: Anggota server tidak dapat atau lebih suka tidak menggunakan mikrofon; bot TTS memungkinkan mereka berpartisipasi dalam diskusi suara dengan mengetik.
  • Pengumuman: Bot membaca peringatan moderasi, penugasan peran, atau pesan terjadwal ke channel tanpa operator manusia.
  • Narasi kustom: Pengembang membangun bot yang menceritakan peristiwa permainan, skor, atau peringatan secara real-time menggunakan suara AI berkualitas tinggi.

Opsi 1: Perintah /tts Asli Discord

Sebelum mencapai bot, periksa apakah perintah bawaan Discord memenuhi kebutuhan Anda.

Cara mengaktifkannya: Di server Anda, buka Server Settings → Overview → Enable Text-To-Speech. Di pengaturan Advanced channel Anda, atur Allow anyone to post TTS messages (atau batasi ke peran tertentu).

Cara menggunakannya: Di text channel mana pun dengan TTS diaktifkan, ketik /tts [your message]. Discord membaca pesan dengan lantang melalui speaker penerima menggunakan mesin TTS OS mereka.

Batasan:

  • Audio digunakan untuk speaker lokal, bukan untuk broadcast voice channel.
  • Kualitas suara bergantung pada mesin TTS OS penerima (Microsoft David, Zira, dll. di Windows).
  • Setiap pendengar harus mengaktifkan TTS di Settings → Accessibility → Allow playback and usage of /tts command.

Terbaik untuk: Penggunaan aksesibilitas cepat, atau situasi di mana setiap pengguna hanya perlu mendengar teks dibaca secara lokal - bukan untuk streaming atau pengumuman grup.


Opsi 2: Bot Voicemod TTS

Voicemod, yang terkenal dengan voice changer desktop-nya, mengoperasikan bot Discord yang membawa perpustakaannya suara ke fungsionalitas text-to-speech.

Apa yang ditawarkan:

  • Perpustakaan suara karakter dan novelty (robot, kartun, dalam, dan banyak lagi).
  • Antarmuka slash command sederhana: /tts [voice] [message].
  • Tidak ada unggahan model suara kustom - Anda terbatas pada perpustakaan preset Voicemod.
  • Tier gratis tersedia; suara premium memerlukan langganan Voicemod.

Setup:

  1. Kunjungi halaman bot Discord Voicemod dan klik Add to Server.
  2. Otorisasi bot dengan izin Connect, Speak, dan Read Messages.
  3. Bergabung dengan voice channel di server Anda.
  4. Gunakan /tts diikuti dengan nama suara pilihan Anda dan teks pesan.

Batasan: Pemilihan suara terbatas pada perpustakaan Voicemod. Jika Anda memerlukan suara yang terdengar seperti manusia atau persona kustom, ini tidak akan mencakupnya.


Opsi 3: Streamcord TTS untuk Streamer

Streamcord adalah bot text to speech Discord pilihan untuk streamer yang menginginkan pesan obrolan Twitch dibaca dengan lantang di voice channel Discord. Ini menghubungkan Twitch dan Discord secara asli.

Apa yang ditawarkan:

  • Menghubungkan channel Twitch Anda ke voice channel Discord.
  • Membaca pesan obrolan Twitch dengan lantang dengan suara, kecepatan, dan nada yang dapat dikonfigurasi.
  • Mendukung TTS khusus subscriber, penebusan poin channel sebagai pemicu TTS, dan penyaringan pesan.
  • Slash command dan konfigurasi dashboard.

Setup:

  1. Buka streamcord.io dan klik Add to Discord.
  2. Otorisasi di server Anda dengan izin yang diperlukan.
  3. Gunakan /tts setup dan ikuti petunjuk untuk menautkan channel Twitch Anda dan memilih target voice channel Discord.
  4. Konfigurasikan pengaturan suara di streamcord.io/dashboard.

Routing voice channel: Streamcord bergabung dengan voice channel yang Anda tentukan selama setup. Anda dapat mengubah channel target melalui dashboard tanpa mengundang ulang bot. Untuk membuatnya mengikuti Anda antar channel, gunakan perintah /tts move.

Setup hotkey untuk Streamcord: Streamcord sendiri tidak memiliki sistem hotkey desktop khusus. Streamer biasanya mengikat kunci Push-to-Talk di Discord untuk mikrofon mereka, kemudian menggunakan keybind terpisah di OBS atau StreamDeck untuk memicu perintah obrolan. Untuk kontrol lebih terperinci, skrip AutoHotkey dapat mengirim perintah /tts melalui simbol keyboard dengan mensimulasikan input Discord.


Opsi 4: Bot Kustom dengan Discord.js + API ElevenLabs

Untuk kualitas suara tertinggi dan kontrol penuh atas perilaku, bangun bot text to speech Discord Anda sendiri menggunakan Discord.js v14 dan API ElevenLabs. Ini memberi Anda akses ke suara berkualitas studio ElevenLabs, voice cloning, sintesis multibahasa, dan penyetelan parameter per-permintaan.

Prasyarat

  • Node.js 18+
  • Aplikasi Discord dan token bot (discord.com/developers)
  • Kunci API ElevenLabs (elevenlabs.io)
  • FFmpeg dipasang dan di PATH Anda (diperlukan oleh @discordjs/voice untuk pengkodean audio)

Langkah 1: Inisialisasi Proyek

mkdir discord-tts-bot && cd discord-tts-bot
npm init -y
npm install discord.js @discordjs/voice @discordjs/opus elevenlabs libsodium-wrappers ffmpeg-static

Langkah 2: Daftarkan Slash Command

Buat deploy-commands.js:

const { REST, Routes, SlashCommandBuilder } = require('discord.js');

const commands = [
  new SlashCommandBuilder()
    .setName('tts')
    .setDescription('Speak text in your voice channel')
    .addStringOption(opt =>
      opt.setName('text').setDescription('Text to speak').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('Commands registered');
})();

Jalankan node deploy-commands.js sekali untuk mendaftarkan slash command /tts di server Anda.

Langkah 3: Bangun Bot

Buat 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'; // e.g. 'EXAVITQu4vr4xnSDxMaL' for Rachel

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: 'Join a voice channel first.', 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: 'Speaking.' });
});

client.login(process.env.DISCORD_TOKEN);

Langkah 4: Konfigurasi Variabel Lingkungan

Buat .env:

DISCORD_TOKEN=your_bot_token
CLIENT_ID=your_app_client_id
GUILD_ID=your_server_id
ELEVENLABS_API_KEY=your_elevenlabs_key

Jalankan node index.js, bergabung dengan voice channel di server Anda, dan ketik /tts Hello, this is my custom TTS bot.

Memilih Model Suara

ElevenLabs menawarkan beberapa model di 2026:

ModelLatencyKualitasBahasa
eleven_turbo_v2_5~250msBaik32
eleven_multilingual_v2~400msSangat Baik29
eleven_flash_v2_5~75msBaik32

Untuk penggunaan Discord real-time, eleven_flash_v2_5 meminimalkan keterlambatan antara perintah dan ucapan. Untuk narasi yang berorientasi pada kualitas, eleven_multilingual_v2 adalah pilihan yang lebih baik.


Routing Voice Channel: Pola Praktis

Terlepas dari bot mana yang Anda gunakan, routing voice channel mengikuti pola dasar yang sama.

Pola follow-the-user: Bot bergabung dengan voice channel apa pun yang sedang digunakan pengguna yang memanggil saat perintah digunakan. Ini adalah default untuk sebagian besar bot dan implementasi dalam contoh Discord.js di atas. Tidak perlu pre-konfigurasi.

Pola saluran tetap: Anda menunjuk ID saluran tertentu dalam konfigurasi bot. Bot selalu berbicara di saluran itu terlepas dari pengguna yang memanggil. Terbaik untuk bot pengumuman atau ruang TTS khusus.

Pola multi-channel: Setup yang lebih kompleks di mana text channel yang berbeda dipetakan ke voice channel yang berbeda. Di Discord.js, Anda mengimplementasikan ini dengan objek pemetaan channel dan menyelesaikan target voice channel dari source text channel.

Pola follow dinamis: Bot memantau acara voiceStateUpdate dan bergerak untuk mengikuti pengguna yang ditunjuk antar voice channel. Berguna untuk streamer yang sering beralih ruangan selama sesi.


Setup Hotkey untuk Perintah TTS

Sebagian besar bot TTS dipicu oleh slash command, bukan hotkey. Tetapi Anda dapat membuat alur kerja hotkey yang efektif dengan beberapa pendekatan.

Keybind bawaan Discord: Buka Discord Settings → Keybinds. Anda tidak dapat mengikat perintah teks sembarangan di sini - hanya push-to-talk, bisu, senyap, dan tindakan Discord serupa. Untuk TTS, keybind tidak dapat diterapkan secara langsung.

AutoHotkey (Windows): Anda dapat memetakan hotkey untuk mengetik perintah /tts [preset message] dan tekan Enter di jendela Discord:

^F1:: ; Ctrl+F1
  WinActivate, Discord
  Send, /tts Your preset message here{Enter}
return

StreamDeck: Jika Anda menggunakan Elgato StreamDeck, tindakan “Text” dapat mengirim keystroke ke jendela aktif mana pun. Konfigurasi tombol StreamDeck untuk fokus input teks Discord dan ketik perintah /tts Anda. Ini lebih cepat dan lebih andal daripada AutoHotkey untuk skenario live streaming.

Bot-side hotwords: Untuk bot kustom, Anda dapat menerapkan pemicu prefix di text channel sebagai gantinya dari slash command - pesan apa pun di channel yang ditunjuk yang dimulai dengan prefix yang dikonfigurasi secara otomatis dikirim ke TTS. Ini mengubah pesan apa pun menjadi pemicu TTS bebas-hotkey.


Alur Kerja Hibrida: Bot TTS + Modifier Suara Langsung

Bot TTS menangani ucapan yang disintesis dari teks. Itu tidak menyentuh mikrofon Anda. Ini berarti bot TTS dan modifier suara langsung seperti VoxBooster hidup berdampingan tanpa konflik di voice channel yang sama.

Setup hibrida praktis untuk streamer:

  1. Streamcord TTS membaca pesan obrolan Twitch Anda dengan lantang di voice channel Discord di mana co-streamer Anda berada.
  2. VoxBooster memodifikasi suara mikrofon langsung Anda secara real-time - apakah itu penekan kebisingan, efek pitch, atau persona suara yang diklon.
  3. Co-streamer Anda mendengar keduanya: bot TTS berbicara pesan pemirsa, dan suara langsung Anda yang dimodifikasi.

Dua aliran audio independen. Bot TTS menghasilkan audio dari koneksinya sendiri. Audio mikrofon Anda melewati perangkat virtual VoxBooster sebelum mencapai Discord. Discord mencampurnya dengan cara yang sama mencampur dua peserta mana pun di channel.

Pendekatan hibrida ini sangat efektif untuk pembuat konten yang menginginkan lingkungan audio yang lebih kaya tanpa mengharuskan penonton atau co-streamer untuk menginstal apa pun di luar Discord.


Pemecahan Masalah Masalah Umum

Bot bergabung tetapi tidak menghasilkan audio: Periksa bahwa FFmpeg ada di PATH Anda dan bahwa @discordjs/opus berhasil dipasang. Jalankan ffmpeg -version di terminal untuk memverifikasi. Jika opus hilang, coba npm rebuild @discordjs/opus.

Perintah TTS memiliki latensi panjang: Latensi API ElevenLabs bergantung pada model yang Anda pilih dan panjang input teks. Beralih ke eleven_flash_v2_5 untuk latensi lebih rendah. Untuk pesan lebih panjang dari ~200 karakter, pertimbangkan chunking teks sebelum mengirim.

Bot putus di tengah playback: Ini biasanya timeout koneksi suara. Tambahkan handler connection.on('error') dan sambungkan kembali saat gagal. Pastikan server Anda memiliki konektivitas outbound UDP yang stabil di port 443 (protokol suara Discord).

Streamcord TTS tidak membaca semua pesan: Streamcord memfilter tipe pesan tertentu secara default. Periksa dashboard Streamcord Anda di bawah Filters untuk mengizinkan pesan non-subscriber dan menonaktifkan penyaringan konten jika diinginkan.

Perintah Discord /tts tidak berfungsi: Konfirmasi TTS diaktifkan di pengaturan server Anda dan bahwa channel tertentu memungkinkan TTS. Pengguna individual juga memerlukan TTS playback diaktifkan di pengaturan Aksesibilitas mereka sendiri.


Ringkasan

Di 2026, menyiapkan bot text to speech Discord memakan waktu dari dua menit (Streamcord atau Voicemod) hingga kurang dari satu jam (Discord.js + ElevenLabs kustom). Pilihan yang tepat bergantung pada persyaratan kualitas suara Anda, berapa banyak penyesuaian yang Anda butuhkan, dan apakah Anda membangun untuk server Anda sendiri atau untuk setup streaming produksi. TTS /tts asli Discord mencakup pemutaran sisi klien dasar tanpa bot apa pun. Bot yang di-hosting seperti Streamcord mencakup kasus penggunaan streamer dengan setup minimal. Bot Discord.js kustom dengan ElevenLabs memberi Anda suara AI berkualitas studio dengan kontrol programatik penuh atas setiap aspek ucapan.

Untuk setup audio streaming paling serbaguna, gabungkan bot TTS untuk narasi obrolan dengan VoxBooster untuk modifikasi suara langsung - dua alat, satu voice channel, nol konflik.

Coba VoxBooster — uji coba gratis 3 hari.

Kloning suara real-time, soundboard, dan efek — di mana pun kamu sudah biasa bicara.

  • Tanpa kartu kredit
  • ~30ms latensi
  • Discord · Teams · OBS
Coba gratis 3 hari