Если вы хотите, чтобы Discord озвучивал текст вслух — будь вы стримером, роутящим чат Twitch в голосовой канал, пользователем, предпочитающим печатать, или разработчиком, создающим кастомный инструмент нарации — text to speech Discord бот — правильное решение. Этот гайд покрывает все практические варианты, доступные в 2026: хостед-боты, которые можно добавить в один клик, нативную TTS-команду Discord, и пошаговый воркфлоу для создания кастомного бота на Discord.js и API ElevenLabs.
TL;DR
- Нативная команда /tts в Discord — клиентская: воспроизводит аудио через колонки слушателя, а не через голосовой канал.
- Streamcord TTS — самый популярный хостед-вариант для стримеров, которым нужно читать чат Twitch в голосовых каналах Discord.
- Voicemod TTS предоставляет необычные голоса и голоса персонажей через управляемого бота.
- Кастомный бот Discord.js + ElevenLabs даёт лучшее качество голоса и полный контроль, со временем разработки менее часа.
- Hotkey для вызова TTS-команд можно назначить через настройки горячих клавиш Discord или через внешние инструменты вроде AutoHotkey.
- VoxBooster в паре с TTS-ботами отлично работает для гибридных воркфлоу, где нужна и синтетическая нарация чата, и лайв-модификация голоса.
Зачем нужны TTS-боты и что они реально делают
Встроенная команда /tts в Discord часто неправильно понимается. Когда вы набираете /tts привет, десктоп-клиент Discord читает этот текст вслух через ваши колонки, используя локальный TTS-движок операционной системы. Другие пользователи в канале не слышат это через голосовой канал — они услышат только если у них тоже включён собственный TTS и их клиент прочитает сообщение локально.
TTS-бот для Discord работает иначе. Бот — это серверный процесс с собственным подключением к голосовому каналу. Когда его вызывают, он синтезирует речь из текста и стримит полученное аудио в голосовой канал. Все, кто находится в этом голосовом канале, слышат это — так же, как слышали бы другого участника. Это различие — локальное для клиента против канального броадкаста — и есть главная причина существования ботов для этого сценария.
Типичные сценарии использования:
- Стриминг-сетап: Вы стримите на Twitch и хотите, чтобы сообщения зрителей читались вслух в голосовом звонке Discord с ко-стримерами.
- Доступность: Участник сервера не может или не хочет использовать микрофон; TTS-бот позволяет ему участвовать в голосовых обсуждениях через текст.
- Объявления: Бот читает алерты модерации, назначения ролей или запланированные сообщения в канале без человека-оператора.
- Кастомная нарация: Разработчики создают ботов, которые наратируют игровые события, счёт или алерты в реальном времени с помощью высококачественных AI-голосов.
Вариант 1: Нативная команда /tts в Discord
Прежде чем искать бота, проверьте, покрывает ли встроенная команда Discord ваши потребности.
Как включить: На вашем сервере перейдите в Настройки сервера → Обзор → Включить Text-To-Speech. В расширенных настройках канала установите Разрешить всем публиковать TTS-сообщения (или ограничьте определёнными ролями).
Как использовать: В любом текстовом канале с включённым TTS наберите /tts [ваше сообщение]. Discord читает сообщение вслух через колонки получателя, используя TTS-движок его ОС.
Ограничения:
- Аудио идёт в локальные колонки, не в броадкаст голосового канала.
- Качество голоса зависит от TTS-движка ОС слушателя (Microsoft David, Zira и т.д. на Windows).
- Каждый слушатель должен индивидуально включить TTS в Настройки → Доступность → Разрешить воспроизведение и использование команды /tts.
Лучше всего подходит для: Быстрого использования в целях доступности, или ситуаций, где каждому пользователю просто нужно слышать текст локально — не для стриминга или групповых объявлений.
Вариант 2: TTS-бот Voicemod
Voicemod, известный прежде всего своим десктопным войс-ченджером, управляет Discord-ботом, который привносит библиотеку голосов в функционал text-to-speech.
Что предлагает:
- Библиотека голосов персонажей и необычных голосов (роботизированный, мультяшный, глубокий и другие).
- Простой интерфейс через slash command:
/tts [голос] [сообщение]. - Без загрузки кастомной голосовой модели — только пресеты Voicemod.
- Доступен бесплатный тариф; премиум-голоса требуют подписки Voicemod.
Настройка:
- Зайдите на страницу Discord-бота Voicemod и нажмите Добавить на сервер.
- Авторизуйте бота с разрешениями Подключиться, Говорить и Читать сообщения.
- Зайдите в голосовой канал на вашем сервере.
- Используйте
/ttsс выбранным именем голоса и текстом сообщения.
Ограничения: Выбор голоса ограничен библиотекой Voicemod. Если нужен натурально звучащий человеческий голос или кастомная персона, это не подойдёт.
Вариант 3: Streamcord TTS для стримеров
Streamcord — главный TTS-бот для Discord среди стримеров, которым нужно читать сообщения чата Twitch вслух в голосовом канале Discord. Он нативно связывает Twitch и Discord.
Что предлагает:
- Подключает ваш канал Twitch к голосовому каналу Discord.
- Читает сообщения чата Twitch вслух с настраиваемым голосом, скоростью и высотой тона.
- Поддерживает TTS только для сабскрайберов, Channel Points как тригеры TTS и фильтрацию сообщений.
- Настройка через slash command и дашборд.
Настройка:
- Зайдите на streamcord.io и нажмите Добавить в Discord.
- Авторизуйте на вашем сервере с нужными разрешениями.
- Используйте
/tts setupи следуйте инструкциям для привязки вашего канала Twitch и выбора целевого голосового канала Discord. - Настройте голос на streamcord.io/dashboard.
Роутинг голосового канала: Streamcord заходит в голосовой канал, который вы указали при настройке. Целевой канал можно изменить через дашборд без повторного приглашения бота. Чтобы он следовал за вами между каналами, используйте команду /tts move.
Настройка hotkey для Streamcord: У Streamcord нет встроенной системы десктопных hotkey. Стримеры обычно привязывают Push-to-Talk в Discord для своего микрофона, а затем используют отдельный шорткат в OBS или StreamDeck для вызова команд чата. Для более тонкого контроля AutoHotkey-скрипты могут отправлять команды /tts через горячие клавиши, симулируя ввод в Discord.
Вариант 4: Кастомный бот на Discord.js + API ElevenLabs
Для максимального качества голоса и полного контроля над поведением, создайте собственного TTS-бота для Discord на Discord.js v14 и API ElevenLabs. Это даёт доступ к студийному качеству голосов ElevenLabs, клонированию голоса, мультиязычному синтезу и тонкой настройке параметров для каждого запроса.
Требования
- Node.js 18+
- Discord-приложение и токен бота (discord.com/developers)
- API-ключ ElevenLabs (elevenlabs.io)
- FFmpeg в PATH (необходим @discordjs/voice для кодирования аудио)
Шаг 1: Инициализация проекта
mkdir discord-tts-bot && cd discord-tts-bot
npm init -y
npm install discord.js @discordjs/voice @discordjs/opus elevenlabs libsodium-wrappers ffmpeg-static
Шаг 2: Регистрация slash command
Создайте deploy-commands.js:
const { REST, Routes, SlashCommandBuilder } = require('discord.js');
const commands = [
new SlashCommandBuilder()
.setName('tts')
.setDescription('Озвучить текст в голосовом канале')
.addStringOption(opt =>
opt.setName('text').setDescription('Текст для озвучки').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('Команды зарегистрированы');
})();
Запустите node deploy-commands.js один раз для регистрации slash command /tts на вашем сервере.
Шаг 3: Создание бота
Создайте 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: 'Сначала зайдите в голосовой канал.', 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: 'Озвучиваю.' });
});
client.login(process.env.DISCORD_TOKEN);
Выбор голосовой модели
ElevenLabs предлагает несколько моделей в 2026:
| Модель | Задержка | Качество | Языки |
|---|---|---|---|
| eleven_turbo_v2_5 | ~250мс | Хорошее | 32 |
| eleven_multilingual_v2 | ~400мс | Отличное | 29 |
| eleven_flash_v2_5 | ~75мс | Хорошее | 32 |
Для использования в Discord в реальном времени eleven_flash_v2_5 минимизирует задержку между командой и речью. Для нарации с приоритетом качества лучше eleven_multilingual_v2.
Роутинг голосового канала: практические паттерны
Независимо от используемого бота, роутинг голосового канала следует одним базовым паттернам.
Паттерн “следовать за пользователем”: Бот заходит в голосовой канал, в котором находится вызывающий пользователь. Это дефолт для большинства ботов и реализация в примере Discord.js выше.
Паттерн фиксированного канала: Вы указываете конкретный ID канала в конфиге бота. Бот всегда говорит в этом канале вне зависимости от местоположения пользователя. Лучше всего для ботов объявлений или выделенных TTS-комнат.
Мульти-канальный паттерн: Более сложная настройка, где разные текстовые каналы маппятся на разные голосовые каналы. В Discord.js реализуется через объект маппинга каналов.
Динамический паттерн: Бот мониторит события voiceStateUpdate и перемещается следом за указанным пользователем между голосовыми каналами. Полезно для стримеров, часто переключающихся между комнатами во время сессии.
Настройка hotkey для TTS-команд
Большинство TTS-ботов запускаются slash command-ами, а не hotkey. Но можно создать эффективные воркфлоу с горячими клавишами несколькими способами.
Встроенные шорткаты Discord: Перейдите в Настройки Discord → Горячие клавиши. Здесь нельзя привязать произвольные текстовые команды — только действия Discord вроде Push-to-Talk, мьют и т.д.
AutoHotkey (Windows): Можно назначить hotkey для ввода команды /tts [готовое сообщение] и нажатия Enter в окне Discord:
^F1:: ; Ctrl+F1
WinActivate, Discord
Send, /tts Ваше готовое сообщение здесь{Enter}
return
StreamDeck: Если вы используете Elgato StreamDeck, действие “Text” может отправлять нажатия клавиш в любое активное окно. Настройте кнопку StreamDeck для фокуса поля ввода текста Discord и набора команды /tts.
Ключевые слова-тригеры бота: Для кастомных ботов можно реализовать префиксный тригер в текстовом канале вместо slash command — любое сообщение в указанном канале, начинающееся с настроенного префикса, автоматически отправляется в TTS.
Гибридные воркфлоу: TTS-боты + лайв-модификатор голоса
TTS-бот занимается синтезом речи из текста. Он не касается вашего микрофона. Это означает, что TTS-боты и лайв-модификаторы голоса вроде VoxBooster сосуществуют без конфликтов в одном голосовом канале.
Практический гибридный сетап для стримеров:
- Streamcord TTS читает сообщения вашего чата Twitch вслух в голосовом канале Discord, где находятся ко-стримеры.
- VoxBooster модифицирует ваш лайв-голос с микрофона в реальном времени — будь то шумоподавление, питч-эффект или клонированная голосовая персона.
- Ваши ко-стримеры слышат обе вещи: TTS-бот озвучивает сообщения зрителей, и ваш модифицированный лайв-голос.
Два аудиопотока независимы. TTS-бот генерирует аудио со своего подключения. Ваш микрофонный аудиосигнал проходит через виртуальное устройство VoxBooster перед отправкой в Discord. Discord микширует их так же, как микширует любых двух участников в канале.
Такой гибридный подход особенно эффективен для контент-мейкеров, которым нужна более богатая аудиосреда без необходимости устанавливать что-либо зрителям или ко-стримерам, помимо самого Discord.
Решение типичных проблем
Бот заходит, но нет звука: Проверьте, что FFmpeg находится в PATH и что @discordjs/opus установился корректно. Запустите ffmpeg -version в терминале для проверки.
Высокая задержка TTS-команды: Задержка API ElevenLabs зависит от выбранной модели и длины входного текста. Переключитесь на eleven_flash_v2_5 для меньшей задержки. Для сообщений длиннее ~200 символов рассмотрите разбивку текста перед отправкой.
Бот отключается во время воспроизведения: Обычно это таймаут голосового подключения. Добавьте обработчик connection.on('error') и переподключайтесь при ошибке.
Streamcord TTS не читает все сообщения: Streamcord по умолчанию фильтрует определённые типы сообщений. Проверьте дашборд Streamcord в разделе Фильтры, чтобы разрешить сообщения от несабскрайберов.
Команда /tts в Discord не работает: Убедитесь, что TTS включён в настройках вашего сервера и что конкретный канал разрешает TTS. Индивидуальным пользователям также нужно включить воспроизведение TTS в своих настройках Доступности Discord.
Итог
В 2026 настройка TTS-бота для Discord занимает от двух минут (Streamcord или Voicemod) до менее часа (кастомный Discord.js + ElevenLabs). Правильный выбор зависит от ваших требований к качеству голоса, нужного уровня кастомизации и того, создаёте ли вы для собственного сервера или для продакшн-стриминг-сетапа. Нативный /tts Discord покрывает базовое клиентское воспроизведение без бота. Хостед-боты вроде Streamcord закрывают сценарий стримера с минимальной настройкой. Кастомный бот на Discord.js с ElevenLabs даёт студийного качества AI-голоса с полным программным контролем над каждым аспектом речи.
Для наиболее универсального стриминг-аудиосетапа скомбинируйте TTS-бот для нарации чата с VoxBooster для лайв-модификации голоса — два инструмента, один голосовой канал, ноль конфликтов.