Your music, your way.
Bring your library, discover something new and play it through your own hi-fi. Kalinka brings local music, streaming services and the apps you already use together on a small Linux box.
Audio formats
Play AAC, FLAC, WAV, MP3, Ogg Vorbis and DSD from your library or supported network sources.
- Lossless PCM
- FLAC and mono or stereo WAV at the recording’s sample rate, including 44.1, 48, 88.2, 96, 176.4 and 192 kHz, and higher rates such as 352.8 and 384 kHz when supported by your DAC and output configuration. WAV supports 16-, 24- and 32-bit integer PCM, plus 32- and 64-bit float. FLAC files play in stereo at 16 or 24 bits; mono and 32-bit FLAC files are not supported.
- AAC, MP3 and Ogg Vorbis
- AAC-LC, HE-AAC and HE-AAC v2, including M4A files and raw AAC internet-radio streams. MP3 and Ogg Vorbis work from files and HTTP streams too. M4A and MP4 playback supports AAC or FLAC audio; the codec inside the container matters. ALAC and Opus are not supported, and My Library skips those files.
- Native DSD and DoP
- Mono or stereo DSF and uncompressed DFF, delivered at their original DSD rate through a
compatible DAC. In the renderer’s settings, enable DSD output, select a direct
hw:device and set Volume control to Fixed output. Select DoP explicitly for a DAC that supports DSD over PCM at the file’s rate. Set the listening level on your amplifier; changing the output device resets the DSD setting. DST-compressed DFF, SACD ISO images and multichannel DSD are not supported. - Network streams
- HTTP and HTTPS audio, plus supported on-demand MPEG-DASH streams carrying unencrypted FLAC or AAC in fragmented MP4. This includes the segmented streams used by the TIDAL plugin.
Playback that fits your hi-fi
A dedicated Linux renderer handles the audio. Choose the output and volume control that suit your system.
- Bit-perfect output
- Send samples unchanged to a compatible direct ALSA device, with software volume disabled. The app’s 1:1 badge reports the renderer’s audio path. For the full path to stay bit-perfect, your ALSA configuration must also preserve the original samples.
- Gapless albums
- Consecutive tracks with the same sample rate, bit depth and channel count play without a break. AAC in MP4 or DASH uses the track’s trimming metadata for gapless playback when that metadata is present; raw .aac files carry none, so they are not fully gapless.
- ReplayGain
- Choose Album level to keep an album’s dynamics, or Track level for a more even playlist. Kalinka uses existing ReplayGain tags to adjust an available volume control. Use Automatic, Card mixer or Software volume; a card mixer needs a reported dB scale. Renderer 0.11.1 adds accurate level adjustment through PipeWire and PulseAudio.
- Outputs around your home
- Put a renderer beside each amplifier and switch the active output from the app, carrying on mid-track. One output plays at a time. Renderers discover the server on your local network.
- Listen in a browser
- Use a browser as a remote or select it as an output for listening on that device. Browser playback uses its own audio stack; choose the Linux renderer for gapless, bit-perfect listening.
Music inputs and plugins
Start with the bundled sources and add the services you use. The status labels below follow the plugin catalogue. Unofficial integrations are independent of the service or hardware vendor, without vendor endorsement or certification. Experimental plugins are still being developed and tested.
Included music inputs
- My Library Official · Stable
- Your music from local folders, USB drives and SMB network shares. Browse by folder, album, artist or genre, with metadata, artwork and optional Smart Search. Included with the server.
- Jamendo Official · Stable
- Browse and play Jamendo’s Creative Commons catalogue, with optional search by mood or a description of the music. Needs a free Client ID from the Jamendo developer portal. Included with the server; Jamendo does not endorse the plugin.
- UPnP Official · Stable
- Send music and supported internet-radio streams from controllers such as BubbleUPnP to Kalinka’s selected output. DSD is advertised when the renderer’s DSD output is enabled. This is a renderer input for UPnP controllers. Included with the server.
Optional music inputs
Add these plugins when you want them. On a server installed with the script or from an image, install, update or remove them from Configuration in the Kalinka app. Each plugin’s guide lists its supported systems and manual setup steps.
- Qobuz Unofficial · Stable
- Browse, search and play Qobuz inside Kalinka, or choose Kalinka in the Qobuz app with Qobuz Connect. Link your account through the Qobuz app. Requires a paid Qobuz subscription.
- Spotify Connect Unofficial · Stable
- Choose the music in Spotify and select Kalinka as the speaker. Plays through Kalinka’s selected renderer at up to 320 kbps Ogg Vorbis. Requires Spotify Premium.
- TIDAL Unofficial · Stable
- Browse Home, Explore, genres, moods, mixes and your collection, search, and play inside Kalinka. Supports direct and segmented FLAC, AAC and MP3 streams, with quality settings up to 24-bit / 192 kHz when TIDAL supplies it. Requires a streaming subscription; availability and codec depend on the account, region and track. Uses the unofficial tidalapi client.
- AirPlay Unofficial · Experimental
- Send audio from an iPhone, iPad or Mac with AirPlay 2 or classic AirPlay, through the renderer selected in Kalinka. Control AirPlay 2 playback from the sending device. Available for Debian 13, and Raspberry Pi OS or DietPi based on Debian 13, on arm64 and amd64.
- Roon Bridge Unofficial · Experimental
- Let Roon play directly through the DAC attached to the Kalinka server, using Roon’s audio engine. Kalinka displays artwork, track information and progress, and from server 5.9.0 its volume slider sets the Roon output’s volume where Roon allows it. Requires a Roon Server and subscription. This integration is not Roon Ready certified.
Device control and development
- MusicCast Unofficial · Stable
- Control a Yamaha MusicCast amplifier or receiver’s volume, power and input selection. Included with the server. Compatibility is described for the MusicCast / Yamaha Extended Control family; check your model’s capabilities.
- Dummy Device Unofficial · Experimental
- A simulated device for developing and testing integrations without an amplifier attached. Included with the server as a development tool.
At home on Linux
Use a Raspberry Pi, a spare PC or a virtual machine for the server, and control it from the device at hand.
- Server and renderer
- 64-bit arm64 and amd64 systems. Ready-made Kalinka images, Debian 13, Ubuntu 24.04, and Raspberry Pi OS 64-bit or DietPi based on Debian 13. Fedora 44 packages are available for the server and renderer; upgrade the Fedora server by installing its newer package. The Debian-based installation also includes the browser player.
- Small-board playback
- Basic playback and library browsing start at a Raspberry Pi 3 or Zero 2 W with 512 MB RAM; 1 GB gives more room. Use a headless system at 512 MB, with swap for installation and large library scans. Smart Search needs more memory; see Library and search.
- Apps and browsers
- Native remote-control apps for Android, Windows and Linux. Browser access also brings control and listening to macOS, iPhone and iPad on your home network.
- Now-playing displays
- Kiosk mode shows artwork, track details and playback controls on a tablet or in a browser. For a Raspberry Pi with an attached screen, choose a display image with the now-playing display ready from the first start. Choose a headless image for a player without an attached screen.
A library you can explore
- Metadata and artwork
- Kalinka reads tags, watches folders for new music and can fill in missing details through MusicBrainz, Wikidata, Deezer and the Cover Art Archive. Add your own AcoustID key for audio fingerprinting. Enrichment stays in Kalinka’s database; your original files stay unchanged.
- Smart Search
- Describe a mood or sound to find matching music. My Library analyses FLAC, WAV, MP3 and Ogg Vorbis locally; Jamendo uses a prepared index of track descriptions. AAC, M4A and DSD remain searchable by metadata. Enable Smart Search per source when you want it.
- Local-library Smart Search memory requirements
- Smart Search for your own music requires at least 3 GB RAM; a 4 GB Raspberry Pi 4 is the tested setup. Allow about 1 GB extra disk space for models and the index. The first pass can take hours for a large library, and you can keep listening while it runs.
- Jamendo-only Smart Search memory requirements
- Jamendo’s Smart Search uses a prepared index of track descriptions, so it runs without analysing audio on your box. A system with 1–2 GB RAM is expected to be sufficient for Jamendo-only Smart Search; this is an estimate.
- Playlists and collections
- Keep favourites and collections, and build queues mixing your own tracks with music from sources that support Kalinka’s library and queue. Connect inputs let their sending app manage the listening session.
Wi-Fi and setup
Install the Kalinka app or connect to the box’s Wi-Fi hotspot. Kalinka’s setup screens provide the instructions for connecting your network, adding music and choosing an output.
- Guided setup in the app
- Install the app, choose Set up a box and follow the on-screen instructions. On a box with Bluetooth Low Energy and Wi-Fi, the app can send your network settings over Bluetooth while your phone stays on its own network. Wi-Fi setup supports WPA2-Personal, including WPA2/WPA3 mixed networks; open, WPA3-only and enterprise networks are not supported.
- Guided setup over Wi-Fi
- On supported hardware, an offline box offers a temporary Kalinka-Setup-XXXX
Wi-Fi hotspot. Join it with kalinka-setup, then open
http://192.168.4.1in your browser. The setup screens guide you through connecting to your home network. The box’s Wi-Fi adapter needs hotspot support. - Sound-card setup
- Select a Raspberry Pi DAC HAT from the output’s settings or the box’s control page. Kalinka lists detected hardware and supported boards by maker. USB DACs appear in the renderer’s output-device selector.
- Box controls
- The supervisor’s control page provides status, restart, shutdown and recovery controls even when the music server is unavailable. It is included in Kalinka images and can be enabled with Manage this box on supported script installations.
Built for your home network
- Local control
- Open
http://<server>:8000or let the app discover your server automatically. Your household shares the library and controls on a trusted network, without a Kalinka account. The server and supervisor have no login, so keep access within that trusted network. - Your files stay yours
- Library audio and Smart Search processing stay on your own hardware. Optional metadata lookups, streaming services, model downloads, release checks and catalogue browsing use the internet. See the privacy policy for the details.
- Access away from home
- Use a VPN to reach your home network remotely. The app and browser player can also connect over HTTPS when you configure a reverse proxy. Keep the server and control page off the public internet.
