#music-player #media-server

app Vibe_Player

A music player for the Logitech Media Server

13 releases

0.3.2 Oct 1, 2024
0.3.1 Jun 21, 2024
0.2.6 Jun 8, 2024
0.2.2 Sep 14, 2023
0.1.2 Aug 11, 2023

#29 in Audio

Download history 53/week @ 2024-07-02 1/week @ 2024-07-30 29/week @ 2024-09-24 144/week @ 2024-10-01 11/week @ 2024-10-08

782 downloads per month

MIT license

58KB
1.5K SLoC

Vibe

About

Vibe is a music player that uses the SLIM TCP protocol to connect to 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.

Other than pulseaudio 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
  • 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) but I need help with pulseaudio
  • Can't play some radio streams, but neither can my Squeezebox.

Compiling

In order to compile, you will need to install the development packages for libpulse (this is libpulse-dev for Ubuntu).

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

~5–17MB
~227K SLoC