
Next Level
Discord Audio
Modular Discord voice player with powerful plugin system, voice commands, TTS integration, Lavalink support and many other advanced features.
1import { PlayerManager } from "ziplayer";
2import { SoundCloudPlugin, YouTubePlugin, SpotifyPlugin, TTSPlugin } from "@ziplayer/plugin";
3import { voiceExt, lavalinkExt } from "@ziplayer/extension";
4
5const manager = new PlayerManager({
6 plugins: [
7 new TTSPlugin({ defaultLang: "en" }),
8 new YouTubePlugin(),
9 new SoundCloudPlugin(),
10 new SpotifyPlugin()
11 ],
12 extensions: [
13 new voiceExt(null, { lang: "en-US" }),
14 new lavalinkExt(null, { nodes: [...] })
15 ]
16});
17
18const player = await manager.create(guildId, {
19 tts: { interrupt: true, volume: 1 },
20 leaveOnEnd: true,
21 leaveTimeout: 30000,
22});
23
24await player.connect(voiceChannel);
25await player.play("Never Gonna Give You Up", userId);
26await player.play("tts: Hello everyone!", userId);Why choose ZiPlayer?
ZiPlayer is designed to deliver the best Discord music experience with cutting-edge technology and user-friendly interface.
Plugin System
Powerful plugin system with YouTube, SoundCloud, Spotify, TTS and easy custom plugin creation.
High Performance
Optimized for high performance with TypeScript, multi-guild support and handling thousands of concurrent requests.
Rich Controls
Rich queue controls with auto-play, shuffle, repeat, volume control and many other advanced features.
Production Ready
Production ready with error handling, logging, monitoring and top-tier security features.
Developer Friendly
Simple API, detailed documentation, TypeScript support and active community support.
Multi-Guild Support
Multi-guild support with separate player management for each server, no data conflicts.
Audio Quality
High audio quality with multiple format support, optimized bitrate and professional audio processing.
Analytics & Monitoring
Performance tracking, usage statistics and real-time monitoring to optimize user experience.
Voice Commands
Control bot with voice using Speech-to-Text, multi-language support and accurate recognition.
Lavalink Support
Lavalink server support with automatic node management, load balancing and high scalability.
TTS Integration
Text-to-Speech integration with interrupt mode, play notifications without interrupting music.
Lyrics Display
Automatic lyrics search and display, multiple provider support and LRC format.
Advanced Audio
Advanced audio processing with multiple source support, automatic fallback and quality optimization.
Modular Architecture
Modular architecture with extension system, easy to extend and customize according to needs.
Ready to get started?
Explore detailed documentation and start building your Discord bot today.
Advanced Features
Discover powerful features that make ZiPlayer the most complete Discord audio solution.
Voice Commands
Control bot with voice using Speech-to-Text, multi-language support and accurate recognition.
// Voice extension with Google Speech API
const voiceExt = new voiceExt(null, {
lang: "en-US",
minimalVoiceMessageDuration: 1,
postSilenceDelayMs: 2000,
});
// Listen to voice commands
manager.on("voiceCreate", (player, evt) => {
console.log(`User ${evt.userId} said: ${evt.content}`);
});Lavalink Support
Lavalink server support with automatic node management, load balancing and high scalability.
// Lavalink extension with node management
const lavalink = new lavalinkExt(null, {
nodes: [{
identifier: "main",
password: "youshallnotpass",
host: "localhost",
port: 2333,
secure: false,
}],
client: client,
searchPrefix: "scsearch",
});TTS Integration
Text-to-Speech integration with interrupt mode, play notifications without interrupting music.
// TTS with interrupt mode
const player = await manager.create(guildId, {
tts: {
createPlayer: true,
interrupt: true,
volume: 1,
},
});
// Play TTS without interrupting music
await player.play("tts: Hello everyone!", userId);Lyrics Display
Automatic lyrics search and display, multiple provider support and LRC format.
// Lyrics extension
const lyricsExt = new lyricsExt(null, {
provider: "lrclib",
includeSynced: true,
autoFetchOnTrackStart: true,
});
// Get lyrics
const lyrics = await lyricsExt.getLyrics(track);
console.log(lyrics.text);Modular Architecture
Modular architecture with extension system, easy to extend and customize according to needs.
// Create custom extension
class MyExtension extends BaseExtension {
name = "myExtension";
version = "1.0.0";
async onRegister(context) {
// Initialization logic
}
async beforePlay(request) {
// Pre-play processing
}
}High Performance
Performance optimized with TypeScript, multi-guild support and handling thousands of concurrent requests.
// Manage multiple guilds
const players = new Map();
guilds.forEach(guild => {
const player = manager.create(guild.id, {
leaveOnEnd: true,
leaveTimeout: 30000,
});
players.set(guild.id, player);
});Ready to explore?
Start building your Discord bot with advanced features today.
Plugins & Extensions
Discover our powerful collection of plugins and extensions, ready to use or customize according to your needs.
Plugins
YouTube Plugin
Support for YouTube videos and playlists with high quality streaming.
new YouTubePlugin()SoundCloud Plugin
Play music from SoundCloud with support for tracks and sets.
new SoundCloudPlugin()Spotify Plugin
Resolve metadata from Spotify and fallback to other sources.
new SpotifyPlugin()TTS Plugin
Text-to-Speech with Google TTS and multi-language support.
new TTSPlugin({ defaultLang: "en" })Extensions
Voice Extension
Speech-to-Text with Google Speech API, voice commands support.
new voiceExt(null, { lang: "en-US" })Lavalink Extension
Lavalink server management with load balancing and auto-reconnect.
new lavalinkExt(null, { nodes: [...] })Lyrics Extension
Search and display lyrics from multiple providers.
new lyricsExt(null, { provider: "lrclib" })Create Custom Plugin
Can't find the right plugin? Create your own custom plugin with our simple API.
Voice & Audio
Advanced voice and audio experience with AI features and real-time processing.
Speech-to-Text
Convert speech to text with high accuracy
- Multi-language support (en-US, vi-VN, ja-JP, ...)
- Google Speech API v2 integration
- Automatic detection when user stops speaking
- Filter bot users and focus on specific users
- Configurable silence delay and duration
// Voice extension setup
const voiceExt = new voiceExt(null, {
lang: "en-US",
minimalVoiceMessageDuration: 1,
postSilenceDelayMs: 2000,
ignoreBots: true,
profanityFilter: false,
});
// Listen to voice events
manager.on("voiceCreate", (player, evt) => {
console.log(`User ${evt.userId} said: ${evt.content}`);
// Process voice command here
});Text-to-Speech
Convert text to speech with high quality
- Google TTS integration with multiple voices
- Interrupt mode - doesn't interrupt music
- Multi-language and speech rate support
- Custom TTS provider support
- Separate volume control for TTS
// TTS setup with interrupt mode
const player = await manager.create(guildId, {
tts: {
createPlayer: true,
interrupt: true,
volume: 1,
},
});
// Play TTS
await player.play("tts: Hello everyone!", userId);
await player.play("tts:en:1:Have a great day everyone!", userId);
// TTS events
manager.on("ttsStart", (plr, { track }) => {
console.log("TTS started:", track?.title);
});
manager.on("ttsEnd", (plr) => {
console.log("TTS ended, resuming music");
});Voice Commands
Control bot with natural voice commands
- Automatic voice command processing
- Integration with player controls
- Custom command recognition
- Multi-language command support
- Context-aware responses
// Voice command handler
manager.on("voiceCreate", (player, evt) => {
const command = evt.content.toLowerCase();
switch (command) {
case "play":
// Resume music
player.resume();
break;
case "pause":
// Pause music
player.pause();
break;
case "skip":
// Skip current track
player.skip();
break;
case "volume up":
// Increase volume
player.setVolume(Math.min(player.volume + 0.1, 2));
break;
case "volume down":
// Decrease volume
player.setVolume(Math.max(player.volume - 0.1, 0));
break;
}
});Audio Processing
Advanced Audio Processing
Advanced audio processing with multiple options
- Volume control 0-200%
- Audio quality optimization
- Multiple format support
- Stream processing
- Error handling & recovery
Lavalink Integration
Lavalink integration for high performance
- Automatic node management
- Load balancing
- Auto-reconnect
- Performance monitoring
- Scalable architecture
Real-time Processing
Real-time processing with low latency
- Low-latency audio
- Real-time voice processing
- Instant command response
- Optimized performance
- Memory efficient
Get Started with Voice Features
Explore detailed documentation about voice commands, TTS and audio processing.