Lavende
In-process Discord voice connection and audio playback engine
Features
- Native Performance - Written in Rust for maximum speed and efficiency
- No Separate Server - Runs directly in your Node.js process
- Audio Sources - YouTube, Spotify, SoundCloud, Apple Music, Deezer, and more
- Audio Effects - Equalizer, timescale, rotation, vibrato, tremolo, reverb, and more
- Low Latency - Direct function calls instead of REST/WebSocket overhead
- DAVE E2EE - Discord's end-to-end encryption support
- Zero Dependencies - Prebuilt binaries for all platforms
Installation
Lavende automatically downloads the correct prebuilt binary for your platform (Windows, macOS, Linux).
Quick Start
const = require;
const = require;
const client = ;
const manager = ;
client.;
client.;
client.;
client.;
Documentation
Manager
const manager = ;
manager.;
manager.;
manager.;
Player
const player = manager.;
await player.;
await player.;
await player.;
await player.;
await player.;
await player.;
await player.;
player..;
player..;
player..;
player..;
await player..;
await player..;
await player..;
await player..;
await player..;
await player..;
const result = await player.;
Events
player.;
player.;
player.;
player.;
player.;
Supported Sources
- YouTube / YouTube Music
- Spotify
- SoundCloud
- Apple Music
- Deezer
- Tidal
- JioSaavn
- Bandcamp
- Mixcloud
- Twitch
- And many more!
Audio Filters
- Volume Control
- Equalizer (15 bands)
- Timescale (speed, pitch, rate)
- Rotation (3D audio)
- Tremolo
- Vibrato
- Distortion
- Channel Mix
- Karaoke
- Low Pass / High Pass
- Reverb
- Echo
- Chorus
- Compressor
- And more!
Advanced Configuration
IMPORTANT: You must create a source.json file in your project root directory to run your bot. This file configures which audio sources are enabled and their settings.
Create a source.json file in your project root with the following configuration:
Note:
- The
source.jsonfile is required for the bot to work - Enable/disable sources by setting
"enabled": trueor"enabled": false - For Spotify, you need to provide your own API credentials from Spotify Developer Dashboard
- For full configuration options, see the example file in the package
Building from Source
License
Licensed under the Apache License, Version 2.0 - see LICENSE file for details.
Contributing
Contributions are welcome! Please open an issue or PR.
Acknowledgements
This project is a personal hobby and learning endeavor. It is not intended to compete with, criticize, or harm any existing projects. We have great respect for the work done by the teams behind Lavalink, NodeLink, and lavalink-client, which have been instrumental in the Discord music bot ecosystem. If you find this project useful, feel free to use it. If not, that's perfectly fine too.
Built using:
- Lavalink - For inspiration and protocol design
- NodeLink - For additional inspiration
- lavalink-client - For client implementation inspiration
- napi-rs - Rust bindings for Node.js
- symphonia - Pure Rust audio decoding
- audiopus - Opus encoding
- tokio - Async runtime
Made by Debauchery Party