• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

SROVA: Linux-based headless hi-res player beta for NUC/PC and Raspberry Pi

Hi all,

A quick project update: SROVA Version 1 is now officially available.

SROVA is a free, open-source, headless Linux music player for Raspberry Pi and compatible 64-bit Debian PCs. It brings TIDAL, local music and Internet Radio together in one browser-based interface.

The playback path uses direct ALSA output with no DSP, software-volume changes or intentional resampling in the Bit-Perfect path. The interface reports the codec, bit depth, sample rate, selected DAC, exclusive lock and Bit-Perfect status during playback.

Version 1 includes:

• ARM64 packages for Raspberry Pi 4 and Raspberry Pi 5
• AMD64 packages for compatible Intel and AMD Debian PCs
• TIDAL, local music and Internet Radio
• A unified play queue for TIDAL and local tracks
• Browser control from phones, tablets and computers
• An optional Android remote
• Public source and Debian build materials

The new website, downloads and installation guidance are available here:


I would also like to thank everyone who provided encouragement, technical advice, critical feedback and beta-test results. Those contributions helped identify problems, refine the design and bring SROVA to its first public release.

Version 1 is a starting point, and development will continue. Thank you again to everyone who followed or contributed to the project.
 
SROVA 1.2 released for AMD64 and ARM64 Linux systems

SROVA 1.2 has been released for compatible AMD64 Debian PCs and ARM64 Raspberry Pi 4/5 systems.

Brief changelog:

  • Added SROVA Cast display integration
  • Added a non-interrupting update-available indicator
  • Added drag-and-drop ordering for saved Radio presets and Play Queue items
  • Corrected Local Music “Add to Queue” behaviour so selected tracks are appended without replacing the playing album
  • Improved ordering and metadata preservation during Play Next and mixed Local/TIDAL queue transitions
  • Added safer confirmation when removing queue items

SROVA Remote 1.1 for Android is also available through closed testing. Its target-selection screen now actively checks saved players and distinguishes between Connected, Online and Offline states.

SROVA is designed as a headless, fixed-output music player for a Linux device connected directly to a DAC. Playback is controlled through its web interface or Android remote; music is played by the SROVA host rather than streamed from the control device.

Packages, SHA256 checksums, APT repository instructions and the complete changelog are available here:

https://srova.music/downloads/

Reports including the hardware platform, Linux distribution, DAC and connection type are welcome.
 
Hi everyone,

I’m Sasha, and I’ve been working on a Linux-based headless hi-res audio player called SROVA.

SROVA is designed for people who want a simple dedicated music player/server that can run on a small Linux machine such as an Intel NUC, mini PC, or Raspberry Pi, and output to a DAC. At this stage it is very much a beta, and I’m looking for technically comfortable users who enjoy testing, breaking things, and giving useful feedback.

The current beta supports:
  • TIDAL playback
  • Local lossless music library scanning and playback
  • Internet radio
  • USB DAC output
  • Web UI for control from phone/tablet/desktop
  • Android remote APK
  • NUC/PC .deb package
  • Raspberry Pi 4/5 ARM64 .deb package
The local library scanner is currently lossless-first, so formats such as FLAC, ALAC/M4A, WAV, AIFF and APE are supported. MP3/OGG are intentionally skipped for now.

At the moment I am mainly looking for testers on:
  • Debian 13 / Ubuntu-style AMD64 systems
  • Intel NUCs or similar mini PCs
  • Raspberry Pi 4 or Pi 5 running Raspberry Pi OS Lite 64-bit
  • External USB DACs

    I am especially interested in feedback around:
  • Install experience
  • DAC detection/output
  • TIDAL login and playback
  • Local library scanning
  • Raspberry Pi compatibility
  • UI/remote usability
  • Any bugs, rough edges, or confusing steps
This is not being presented as a finished commercial product. It is a beta test build, and I’d rather be upfront about that. The goal right now is to get real-world testing across more DACs, Linux machines, and Pi setups before polishing things further.

Beta test page with downloads and instructions:

More about SROVA is on the main site here: https://srova.music
The beta test downloads and installation instructions are here: https://srova.music/beta/

A few notes before installing:
  • Please use a test machine or a setup you are comfortable experimenting with.
  • Fixed-volume / bit-perfect style playback can mean very high output levels depending on your DAC/amp, so please keep your hardware volume low before testing.
  • The Pi build is intended for 64-bit Raspberry Pi OS.
  • Debian Sid / rolling distros are not officially tested yet.
I’d be grateful for any feedback, install logs, DAC compatibility reports, or suggestions from this community.

Thanks,

Sasha@SROVA
A small SROVA update for anyone following the project: Version 1.3 is now released, and the Player, Android Remote and new Raspberry Pi based Cast display are all now at the same version.

srova.music

For those unfamiliar with it, SROVA is a free headless music player for Raspberry Pi 4/5 and compatible Debian x86_64 systems.

The basic architecture remains intentionally simple:

Raspberry Pi / Debian PC → ALSA → DAC

The player uses a dedicated ALSA audio path with no DSP, no software-volume manipulation and no intentional resampling. The browser or Android application is the controller; it isn't part of the audio path.

SROVA currently brings together:

  • TIDAL
  • Local/USB music
  • read-only NFS/SMB libraries
  • Internet Radio
  • mixed Local + TIDAL queues
  • unified Local/TIDAL search
  • Infinite Play / music discovery
  • codec, bit depth, sample rate, DAC, exclusive-lock and Bit-Perfect status information
Version 1.3 concentrates largely on behaviour and reliability rather than adding another large source.

Among the changes:

  • Play Queue retains its working position after drag reordering.
  • Radio transitions keep queue/playerbar state synchronized.
  • Radio artwork is retained more intelligently across navigation.
  • Manual seeking for Local and TIDAL playback has been hardened.
  • Infinite Play generation and concurrency have been tightened considerably.
  • Infinite Play now keeps recent-history information and does a better job of avoiding repetitive artist/title sequences.
  • Now Playing can take you directly to the matching album when SROVA has a sufficiently confident match.
There are now two companion applications as well.

SROVA Remote is the Android controller and can store and switch between multiple SROVA players.

SROVA Cast is a ready-to-flash Raspberry Pi Zero 2 W image that drives a dedicated Now Playing display. Importantly, Cast is visual only: the audio remains on the original SROVA player and DAC and is neither routed through nor reproduced by the Cast device.

AMD64 and ARM64 Version 1.3 packages are available through the SROVA site, APT and the GitHub release. SROVA Remote is being distributed through Google Play closed testing, and the Cast image is available from the site.

More information, screenshots and installation details:


Testing on different DACs and systems is always useful, so reports — including failures — are welcome.
 
SROVA_Cast_Now_Playing_20260831_124205_IST.png


SROVA Version 1.4 is now available.

This is primarily a refinement release rather than a change in the basic playback design.

On the Linux Player, Network Discovery feedback has been improved, fresh installations now default to ALSA mmap output, artwork is no longer unnecessarily reloaded during seeking, and TIDAL My Songs/My Albums loading has been made more efficient. Existing saved audio-output choices are preserved during upgrade.

There are also some smaller Internet Radio and TIDAL account-state fixes.

SROVA Cast gets the larger visible change in 1.4. Receiver ownership is now activity-aware so an actively used controller is protected while still allowing clean handover between controllers, and the Pi Zero 2 W receiver now has a dedicated 24-hour SROVA Clock standby display.

Cast remains visual-only: the Now Playing information and artwork go to the display, while the audio path remains on the SROVA Player and its connected DAC.

The image above is an actual current SROVA Cast Now Playing screen.

V1.4 Cast details and image:

srova.music/srova-cast/
 
Congratulations on an excellent music solution for Pi. I have a few questions (sorry if already answered)

  1. Will this work with on Pi5 with 1GB RAM (since it's headless)?
  2. Any plans to add Qobuz?
  3. Does it work with I2S DAC / Digital out HATs instead of USB out? These are most common on Pi ecosystem connected via 40pin GPIO and I2S protocol for the data transfer to the HAT.
 
Congratulations on an excellent music solution for Pi. I have a few questions (sorry if already answered)

  1. Will this work with on Pi5 with 1GB RAM (since it's headless)?
  2. Any plans to add Qobuz?
  3. Does it work with I2S DAC / Digital out HATs instead of USB out? These are most common on Pi ecosystem connected via 40pin GPIO and I2S protocol for the data transfer to the HAT.
Thanks, and glad you like it!
  1. Pi 5 with 1 GB RAM: SROVA is headless and does not run a desktop environment, so its requirements are fairly modest. Raspberry Pi 4 and Pi 5 running Raspberry Pi OS Lite 64-bit are supported. I have not personally tested a 1 GB Pi 5, though, so I don’t want to promise something I haven’t verified. If you try it, I’d be very interested in the result.
  2. Qobuz: Yes. Qobuz is definitely something I plan to support in the future. I don’t have a release date for it yet — I would rather integrate it properly than add it simply to tick another service off the list.
  3. I2S DAC / digital-output HATs: Yes, provided the HAT is correctly configured in Raspberry Pi OS/Linux and appears as an ALSA audio device. SROVA does not fundamentally require USB — it plays to the ALSA device selected in the player.
We already have SROVA running successfully with an Allo Boss 2 I2S DAC HAT on a Raspberry Pi, so this is not just theoretical. I don’t maintain an exhaustive HAT compatibility list yet because there are so many different boards and overlays, but if Linux sees the HAT correctly, SROVA should be able to use the resulting ALSA output.

If you let me know which HAT you have in mind, I’ll be happy to look at the specific one.

Sasha
 
Thanks for the response. I was able to install and configure my DAC HAT. It's as simple as changing config.txt if someone else is interested.
I cannot wait for Qobuz to be configured. The App works great too. Any timeline on when the app will be released to the public?

Also if I can be greedy to ask for Spotify Connect ;)
 
Thanks for the response. I was able to install and configure my DAC HAT. It's as simple as changing config.txt if someone else is interested.
I cannot wait for Qobuz to be configured. The App works great too. Any timeline on when the app will be released to the public?

Also if I can be greedy to ask for Spotify Connect ;)
Great — glad you got the DAC HAT working. And thanks for confirming the config.txt change was all it needed; that will be useful for anyone else using a similar HAT.

On the app: you don’t actually need to wait for the public release if you’d like to use it now. SROVA Remote is currently in Google Play closed testing, and I can add you as a tester if you want to join.

We’re nearing the end of Google’s testing process now. My best estimate is that the app could be public in roughly another couple of weeks, but I can’t promise a date because the final production approval and review are in Google’s hands.

Qobuz is definitely coming.

And Spotify Connect — you’re not being greedy at all. :-) It’s a perfectly reasonable request. I’m not promising it yet, but I’ll keep it in mind as SROVA grows.

Sasha
 
One more item I would like to address, and I am sure you have thought of it already, is the ability to easily configure WiFi (even if no network is connected). Volumio does it easily via BlueTooth (LE?) where it can detect nearby devices. Another option would be hotspot but I think BT would be much simpler for novice users. Currently the only way for me to do is via SSH or initial image burn to USB, but if I had to hand over the streamer to someone who doesn't have ethernet or a non-technical person, WiFi won't work.
 
One more item I would like to address, and I am sure you have thought of it already, is the ability to easily configure WiFi (even if no network is connected). Volumio does it easily via BlueTooth (LE?) where it can detect nearby devices. Another option would be hotspot but I think BT would be much simpler for novice users. Currently the only way for me to do is via SSH or initial image burn to USB, but if I had to hand over the streamer to someone who doesn't have ethernet or a non-technical person, WiFi won't work.
Thanks — that is a very good suggestion.

We already use essentially this exact approach with SROVA Cast. On first setup, if the Cast Pi is not on the network, it creates a temporary SROVA setup Wi-Fi network. The phone connects to that, supplies the home Wi-Fi details, and the Pi then joins the normal network.

So the groundwork and the user flow already exist on the Cast side.

I think it makes sense to bring the same kind of provisioning to the main SROVA Player in a future version, especially for people setting up a Pi without Ethernet or handing one to someone who is not comfortable with SSH.

I would probably favour the temporary access-point approach we already use with Cast rather than add Bluetooth provisioning, simply because it is proven, device-independent and only really needed occasionally during setup.

Thanks for raising it — definitely one for the future Player list.

Sasha
 
"controlled from the screen already in your hand."

The only screen(s) in my hand are > 55" TV's that act as monitors to my various Linux based desktops used for software development (and in my listening room)

No windows, no IOS, no android **** anywhere to be found...just Unix and Linux systems scattered around the house.

I assume from looking at your website that there is no web interface? Certainly all images I see feature some small hand held device?

Not a criticism, I am a man lost in/from a prior century!!!!

Thanks,

Peter

**** I do have a $40 5" android phone that has been rooted via adb and acts just as a phone...my only concession to devices that might fit in a hand.
 
Last edited:
"controlled from the screen already in your hand."

The only screen(s) in my hand are > 55" TV's that act as monitors to my various Linux based desktops used for software development (and in my listening room)

No windows, no IOS, no android **** anywhere to be found...just Unix and Linux systems scattered around the house.

I assume from looking at your website that there is no web interface? Certainly all images I see feature some small hand held device?

Not a criticism, I am a man lost in/from a prior century!!!!

Thanks,

Peter

**** I do have a $40 5" android phone that has been rooted via adb and acts just as a phone...my only concession to devices that might fit in a hand.
You can view the website served by the headless service on your phone or if your streamer has a screen you can also install a Kiosk service on the the device and configure to load the same url by default on startup.
 
"controlled from the screen already in your hand."

The only screen(s) in my hand are > 55" TV's that act as monitors to my various Linux based desktops used for software development (and in my listening room)

No windows, no IOS, no android **** anywhere to be found...just Unix and Linux systems scattered around the house.

I assume from looking at your website that there is no web interface? Certainly all images I see feature some small hand held device?

Not a criticism, I am a man lost in/from a prior century!!!!

Thanks,

Peter

**** I do have a $40 5" android phone that has been rooted via adb and acts just as a phone...my only concession to devices that might fit in a hand.
Hi Peter,

Yes — absolutely. SROVA can be controlled entirely from a normal web browser, so you do not need Android, iOS or Windows at all.

Once the SROVA Player is running on your network, just open its web interface from any of your Linux machines and you will have access to the full player there.

So your 55-inch Linux-connected screens are perfectly fine for controlling SROVA. :-)

The Android Remote is simply an additional convenience for people who prefer using a phone or tablet.

Sasha
 
Hi Peter,

Yes — absolutely. SROVA can be controlled entirely from a normal web browser, so you do not need Android, iOS or Windows at all.

Once the SROVA Player is running on your network, just open its web interface from any of your Linux machines and you will have access to the full player there.

So your 55-inch Linux-connected screens are perfectly fine for controlling SROVA. :-)

The Android Remote is simply an additional convenience for people who prefer using a phone or tablet.

Sasha
thanks

And in my use case, it won't be headless... it will have a 55" head!!!.

Fanless/diskless PC with RAM Boot, home brew custom Linux kernel and userland connects via ALSA into DAC and via fibre optic HDMI cable (to block TV noise) into TV

Files are mounted over NFS from remote server onto Fanless/diskless PC. So would run SROVA on this PC.

GUI (if you can call it that) is fluxbox so will need to install a browser. I assume something like waterfox or chromium is ok?

Thanks,

Peter

PS. Might be worth "amplifying" that you can use a web browser on your website... with maybe some web browser screen shots?
 
thanks

And in my use case, it won't be headless... it will have a 55" head!!!.

Fanless/diskless PC with RAM Boot, home brew custom Linux kernel and userland connects via ALSA into DAC and via fibre optic HDMI cable (to block TV noise) into TV

Files are mounted over NFS from remote server onto Fanless/diskless PC. So would run SROVA on this PC.

GUI (if you can call it that) is fluxbox so will need to install a browser. I assume something like waterfox or chromium is ok?

Thanks,

Peter

PS. Might be worth "amplifying" that you can use a web browser on your website... with maybe some web browser screen shots?
Yes — that setup should be perfectly workable.

Running SROVA on the same fanless PC that feeds the DAC is fine, and there is nothing preventing you from opening the SROVA web interface locally on that machine and using the 55" TV as the display.

Chromium would be my first choice for that setup. A Firefox-family browser should also work, but Chromium is the one I would start with for a dedicated full-screen/kiosk-style display.

Your NFS-mounted music should also be fine as long as it is mounted normally in Linux and accessible to the SROVA service.

So in your case SROVA may technically be “headless” at the software architecture level, but with a rather impressive 55-inch head attached to it. :-)

Sasha
 
A small SROVA milestone — SROVA Remote is now live on Google Play.

After the closed-testing process and Google’s production review, Version 1.4 is now publicly available:

https://play.google.com/store/apps/details?id=music.srova.remote

The Remote lets you control your SROVA Player from Android for TIDAL, local music and Internet Radio, with Now Playing support for Google Cast and SROVA Cast displays.

Thanks again to everyone who helped test it along the way.

Sasha
 
Back
Top Bottom