Hearth is a LavaLink Alternative written in Rust. That uses 30X less memory, and is almost in a state of feature parity. LavaLink is a audio streaming server for discord bots written in Java, that handles all of the complex audio processing required for music discord bots.
- 💨 Hearth is extremely performant and uses 30X less memory than LavaLink (See Benchmark section for more details)
- 📈 Hearth is designed from the ground up for massive scale and is horizontaly scalable.
- 🔧 Hearth is extremely easy to integrate into your project with a native Rust client library. And bindings for TS, Java, and Python coming soon!
Ready to get started with Hearth? See the getting started guide here to start a new project with Hearth or integrate Hearth into your pre-existing project.
Hearth uses 30X less Memory than LavaLink, unfortunately Hearth has slightly worse CPU usage than LavaLink, due to inefficiencies in the client library Hearth uses to interact with Discord. But this should be fixed in a future update! These issues will also not present if you use Opus Vorbis audio (And will probably be substantially better than LavaLink at utilizing CPU as well). These numbers where derived by running Hearth in a DigitalOcean Droplet with 4 Intel CPU cores and 4GB of Memory. And observing CPU usage with `top` and memory usage with `ps`
Note: Hearth does not support usage on Apple Silicon/ Hearth will fail silently if used on Apple Silicon. We recommend running Hearth in production on Ubuntu Linux on either an x86 platform or a non M series ARM chip.
If you want to create an Issue, PR, Or contribute in any other way I'm happy to review PRs, or Issues.
We are planning tons of new features to make Hearth even better!
CPU Performance Improvements
Effects
Dynamic Worker Joins to support Autoscaling nodes on platforms like AWS
Soundcloud Support
Dashboard Interface for Scheduler
Hearth is free to use under the MIT licnese.
Hearth MSRV: 1.70.0
Hearth is pre-release and not yet ready for production usage