15 releases
0.3.4 | Nov 11, 2024 |
---|---|
0.3.3 | Nov 4, 2024 |
0.3.2 | Oct 1, 2024 |
0.3.1 | Jun 21, 2024 |
0.1.2 | Aug 11, 2023 |
#30 in Audio
869 downloads per month
52KB
1.5K
SLoC
Vibe
About
Vibe is a music player that uses the SLIM TCP protocol to connect to a Lyrion Music Server formally known as a Logitech Media Server.
If you're looking for a well-tested, proven player then this is not it, instead you need squeezelite which has a robust, well-maintained codebase and far more run-time and compile-time options than Vibe.
However, if you'd like to give Vibe a go then please do, it should be considered as beta code and any real-world testing is welcome.
Output
This is the master
branch of Vibe which means that it outputs its sounds
via pulseaudio
. Because pipewire
implements the pulseaudio
API, Vibe can also output sounds via pipewire
.
See the rodio
branch for output via
rodio / cpal.
On Linux Vibe needs the pulseaudio
development files. These are provided as
part of the libpulse-dev
package on Debian and Ubuntu distributions.
Dependencies
Vibe has zero run-time dependencies, all the stream demultiplexing and codec decoding is done natively thanks to Symphonia, a big "thank-you" to the Symphonia devs for their amazing work!
Symphonia has optimisation features that are off by default, you can switch them on
with --features symphonia/<optimisation>
. These features are:
opt-simd-sse
opt-simd-avx
opt-simd-neon
or you can switch them all on with opt-simd
.
What Vibe can do
- Play Flac, AAC, Apple lossless, Ogg/Vorbis, MP3 and PCM streams
- Gapless playback when possible
- Stop, play, pause and resume
- Volume control
- Select output device
- Choose the name of the player
- Play some radio streams
What Vibe can't do
- Synchronise with other players (although it should, this is a WIP).
Background
Vibe is 100% written in Rust and has all the benefits that Rust provides such as memory safety while being as performant as C. I wrote Vibe as an exercise to practice writing a real application in Rust. If you enjoy using it, please let me know. Equally please file any bug reports and lodge any suggestions at the home page.
Dependencies
~6–36MB
~551K SLoC