Skip to main content
WaveFlow
en
v1.6.0 out now · Linux · macOS · Windows

Your music.Local and free.

WaveFlow plays your audio files the way Apple Music plays the cloud — no subscription, no ads, no telemetry. Auto-generated Daily Mix from your plays, DLNA casting to your speakers, synced lyrics and Hi-Res, all running on your machine.

Available on Linux, macOS and Windows

  • Open source GPL-3.0
  • No account required
  • Zero telemetry
  • 3.4K downloads

Features

Everything a modern player should do.

No feature thrown in for hype. Every detail serves your daily listening.

  • Auto-generated Daily Mix

    Three mixes regenerated from your last 90 days of listening, bucketed by tempo: Calm, Groove, Energy.

    Plus a rule-based smart-playlist editor: genre, BPM, year, rating, format, Hi-Res, likes.

  • Audiophile audio engine

    Symphonia decoder, native DSD (DSF/DFF), Hi-Res up to 24-bit 192 kHz, CPAL output on three lock-free threads.

    ReplayGain, gapless, sub-5 ms latency. Real-time FFT spectrum visualizer in the fullscreen view.

  • 5 interface styles, 70 looks

    Studio, Editorial, Lounge, Pulse and Liquid — combine each with the 14 colour themes for 70 combinations, saved per profile.

    Bundled fonts, per-style motion, a 'Pick a vibe' onboarding step. Zero Google Fonts request at runtime.

  • Sandboxed plugin SDK

    WASM components on wasmtime with permission-gated host imports — network, storage, audio, UI. Web Radio ships as the first plugin.

    50 MB cap, 5 s timeouts, SSRF guard, offline short-circuit. Enable, disable or uninstall in one click.

  • WaveFlow Wrapped

    Your annual recap, told in a few slides: top artists, minutes listened, peak hours, dominant genres.

    Computed locally from your history. No data sent, no metric shared by default.

  • Mood Radio

    Five dynamic stations — Focus, Chill, Workout, Party, Sleep — filtered by tempo and energy from your own library.

    Plus per-artist radio: one click on any artist starts an infinite flow of similar tracks.

  • Rich artist pages

    Biography, clickable similar artists, full discography and fan count for every artist in your library.

    Bios from Deezer or TheAudioDB (opt-in), or write your own — manual overrides work fully offline.

  • Built-in DLNA / UPnP server

    Cast your library to Sonos, Yamaha MusicCast, Kodi, VLC or any UPnP renderer on the LAN. No pairing, zero cloud.

    SSDP discovery, ContentDirectory, HTTP Range streaming. Toggle from Settings → Integrations.

  • Smart crossfade

    Classic crossfade, or Smart (skips the fade between two tracks of the same album) or Dynamic (scales to the BPM gap).

    Plus a Musicolet-style A-B intra-track loop, and 0.5×–2× playback speed.

  • Synced lyrics, five providers

    A waterfall across Musixmatch, LRCLIB, NetEase, Megalobiz and Genius — sidecar .lrc / .txt files checked first, so local lyrics never hit the network.

    Built-in editor with word-mode auto-advance. Save back to tag, sidecar or DB, or export a standalone .lrc / .txt.

  • Listening stats

    GitHub-style 12-month heatmap, top tracks / artists / albums per period, per-genre breakdown, hourly peaks, completion rate.

    Hide the KPI cards you don't care about. Annual Wrapped recap and JSON export — computed locally, never sent anywhere.

  • Immersive now playing

    A redesigned fullscreen view with a tabbed control panel — lyrics, queue and controls in one place — and native OS fullscreen.

    Skin-neutral and readable everywhere; long titles scroll as a marquee in the player bar and immersive view.

  • Discord & Last.fm

    Spotify-style Rich Presence on your Discord profile. Last.fm scrobbling with persistent queue and exponential backoff.

    Plus OS media controls (MPRIS, SMTC, MediaRemote) for your multimedia keyboard keys.

  • A library that respects you

    Folder watchers, drag-and-drop, hash-based duplicate detection, clickable multi-artist support.

    Isolated profiles, custom album artwork, .waveflow archive import/export, scheduled auto-backup. First scan is now ~4× faster.

  • 100% open source

    Rust + React code on GitHub, GPL-3.0. Audit it, fork it, contribute. No tracker, no ads.

    Tauri 2 + Rust for native, React 19 + TypeScript for the UI. 17 languages supported.

Smart Playlists

Daily Mix, made for you.

Three mixes regenerated from your last 90 days of plays. Artists are bucketed by their average tempo so each mix stays coherent from morning to night.

  • Lo-fi, ambient, ballads. For working, reading, drifting off.

  • Pop, rock, hip-hop, indie. The mid-tempo that owns your afternoons.

  • Dance, drum & bass, metal. For workouts, cleaning, long drives.

One click from the home view. Deterministic algorithm — the same listening week yields the same order.

Custom smart playlists

Build your own rules.

Beyond the auto Daily Mix, build living playlists from predicates: genre, BPM, year, audio format, POPM rating, likes. The playlist re-materializes whenever new tracks land in your library.

SmartPlaylistRules · Custom
  • Genre
  • BPM
  • Year
  • Rating ≥ 3★
  • Liked only
  • Hi-Res only
  • FLAC format
  • Duration

// example: { genre: "Jazz", year_min: 1955, year_max: 1965, hi_res_only: true, sort: "random", limit: 100 }

Mood Radio

Five moods. Always your library.

WaveFlow groups your tracks into five dynamic stations based on tempo, energy and spectral signature — then jumps between them as your mood shifts.

Each session draws from your local catalog. No streaming, no sponsored suggestions.

The home you won't leave.

Personalized greeting, at-a-glance stats, Wrapped banner, Mood Radio and Daily Mix — all in one view. Dark mode by default, light mode for those who like it.

Interface styles

Five looks. Seventy combinations.

An interface style reshapes the whole app — layout, typography, glass and motion. Pair any of the five styles with the 14 colour themes for 70 looks, each saved per profile. Switch from Settings → Appearance, or pick a vibe during onboarding.

5 styles × 14 themes = 70 combinations
  • Studio

    Default

    The Apple-Music-inspired baseline. Clean, dark-first — the look WaveFlow ships with.

  • Editorial

    Broadsheet

    A magazine layout with Playfair Display serifs, halftone artwork and the ornate WaveFlow Gazette masthead.

  • Lounge

    Warm glass

    Warm burgundy glass over a blurred cover backdrop — the Apple-Vibrancy backdrop-filter recipe.

  • Pulse

    Neon club

    An OLED neon-club aesthetic with a dual magenta/cyan aurora and a vinyl-spin cover that mirrors playback.

  • Liquid

    Vibrancy

    Full Apple Vibrancy with the 8-layer inset glass recipe — theme-aware, beautiful in light and dark.

All fonts are bundled — Playfair Display, Lora, Space Grotesk, Space Mono, DM Sans. Zero Google Fonts request at runtime.

Artist pages

Much more than a track list.

For every artist in your library: biography, clickable similar artists, full discography, fan count — plus a per-artist radio to keep exploring.

Biographies and similar artists come from Deezer if enabled; otherwise your library is enough.

Network casting

Your amp, no Sonos S2 required.

WaveFlow announces itself on the LAN as a UPnP MediaServer. Any DLNA renderer — Sonos, Yamaha MusicCast, Kodi, VLC — discovers it and plays your library, with no proprietary pairing and no cloud.

WaveFlow

MediaServer:1

  • Sonos S2
  • Yamaha MusicCast
  • Kodi
  • VLC
  • BubbleUPnP
  1. 01

    SSDP announce

    Periodic broadcast on 239.255.255.250:1900 — renderers find WaveFlow with zero configuration.

  2. 02

    DIDL-Lite browse

    Your artists and albums show up in the renderer's UI just like a native media library.

  3. 03

    HTTP Range streaming

    Progressive playback with HTTP Range — accurate scrub, resume, efficient transfers.

Integrations

Plays nice with your stack.

WaveFlow plugs into what you already use — but never depends on any of these services to run.

  • DiscordRich Presence
  • Last.fmScrobbling + bios
  • LRCLIBSynced lyrics
  • DeezerMetadata
  • MPRISLinux media keys
  • SMTCWindows Now Playing

Plugin SDK

Extend WaveFlow, safely.

Plugins ship as sandboxed WASM components built against the waveflow-plugin-sdk interface. Every capability — network, storage, audio, UI — is gated behind a permission you approve on install. No silent network, no silent filesystem reach.

  • Sandboxed by design

    WIT + wasmtime runtime. Host imports for HTTP, storage, audio and UI — nothing the manifest didn't declare.

  • Permission gates

    Every host import is approved on install. Per-plugin chips for network, storage and assets in Settings.

  • Guardrails by default

    50 MB max size, 5 s timeouts, an SSRF guard with no redirect following, and an offline-mode short-circuit.

  • One-click management

    Installed plugins list with enable, disable and uninstall — version and size at a glance.

First plugin

Web Radio, bundled in.

Over 30,000 online radio stations

Internet stations via radio-browser.info, streamed through the same cpal engine as the rest of the app — now with live now-playing metadata, per-profile favorites, browse-by-country and an offline catalogue. EQ, ReplayGain and the spectrum visualizer still work over every live stream.

  • Browse by country, or jump to local stations in one tap.
  • Star your favorite stations per profile — from the player, mini-player or immersive view.
  • Live ICY song titles, with artwork from Deezer and synced lyrics for the current track.
  • Download the catalogue to browse and search stations fully offline.

WASI runtime on wasmtime. 50 MB plugin cap, 5 s HTTP timeouts, no redirect following, offline-mode short-circuit on every request.

Local-first

You own your music. Let's take it back.

  • No subscription

    Your files, your player, for life. Download the app, that's it.

  • No DRM

    FLAC, ALAC, MP3, AAC, OGG, WAV, DSD — your files open everywhere, forever.

  • No tracking

    No outbound connections beyond optional metadata enrichment. Offline mode is one click away.

  • No cloud

    It all lives on your disk. One SQLite per profile. Zero-effort migration.

  • Hi-Res & DSD

    24-bit decode up to 192 kHz, native DSF/DFF. The Hi-Res badge lights up automatically.

  • Multiple profiles

    One library per person, fully isolated. Exportable .waveflow archive and scheduled auto-backup.

Download

WaveFlow v1.6.0 for your system.

Signed binaries, verifiable with .sig. No third-party installers, no embedded telemetry.

v1.6.0 · June 29, 2026

Or install with your package manager

Updates keep flowing through the tool you already use.

  • Windows · winget

    winget install InstaZDLL.WaveFlow
  • Arch · AUR

    yay -S waveflow-bin
  • Fedora · Copr

    sudo dnf copr enable instazdll/waveflow && sudo dnf install waveflow
  • Debian / Ubuntu · APT

    sudo install -d -m 0755 /etc/apt/keyrings curl -fsSL https://packages.buildkite.com/instazdll/waveflow/gpgkey | sudo gpg --dearmor -o /etc/apt/keyrings/waveflow.gpg echo "deb [signed-by=/etc/apt/keyrings/waveflow.gpg] https://packages.buildkite.com/instazdll/waveflow/any/ any main" | sudo tee /etc/apt/sources.list.d/waveflow.list sudo apt update && sudo apt install wave-flow

No Homebrew cask yet on macOS — grab the .dmg above. The Debian package is wave-flow (kebab-case, per the Debian naming spec).

Frequently asked

If yours isn't here, open an issue on GitHub.

  • Is WaveFlow really free?

    Yes, and it always will be. WaveFlow is released under GPL-3.0. No subscription, no premium tier, no ads.

  • How do I install WaveFlow v1.6.0?

    Use the package manager that fits your platform: `winget install InstaZDLL.WaveFlow` on **Windows**, `yay -S waveflow-bin` on **Arch**, the Copr repo on **Fedora** (`dnf copr enable instazdll/waveflow`), or the APT repo on **Debian/Ubuntu** (the package is `wave-flow`). Or grab the binary on the GitHub releases page: the **Linux** AppImage is portable (`chmod +x`), or install the .deb / .rpm. On **macOS**, open the .dmg and drag WaveFlow into Applications — the bundle isn't Apple-Developer-signed, so right-click → Open the first time (or run `xattr -cr /Applications/WaveFlow.app`). On **Windows**, the .msi is silent, the .exe a classic installer.

  • Which audio formats are supported?

    MP3, FLAC, ALAC, AAC, OGG Vorbis, WAV via the Symphonia decoder, plus DSD (DSF / DFF) through a dedicated pipeline. Hi-Res badges light up automatically at 24-bit or ≥ 44.1 kHz.

  • How do Daily Mixes work?

    WaveFlow scans your last 90 days of plays, buckets your artists by average tempo (< 95 BPM, 95-130, ≥ 130) and materializes three deterministic playlists — plus five Mood Radio stations (Focus, Chill, Workout, Party, Sleep) filtered by tempo and energy. A 'Regenerate' button on the home view is all you need to refresh them. And you can build your own smart playlists from rules.

  • Can I cast to my hi-fi?

    Yes. WaveFlow exposes your library as a DLNA / UPnP server. Sonos S2, Yamaha MusicCast, Kodi, VLC or any compatible renderer sees it appear on the network — no cloud, no proprietary pairing. Toggle it from Settings → Integrations.

  • Does my data leave my machine?

    No. Library, plays, playlists and stats are stored locally in SQLite. Only optional metadata enrichment (Deezer, Last.fm, LRCLIB) makes outbound requests — a global offline mode cuts them all in one click.

  • Does WaveFlow replace Spotify or Apple Music?

    For streaming, no. For your local library, yes — with comparable interface quality, auto Daily Mix, Hi-Res, DLNA, and zero cloud dependency.

  • Does it work with Discord and Last.fm?

    Yes. Spotify-style Discord Rich Presence with album artwork. Authenticated Last.fm scrobbling with a persistent queue and automatic reconnect. Both are opt-in and can be disabled at any time.

  • Can I contribute?

    Gladly. The project is on GitHub, written in Rust (Tauri 2) and React 19 + TypeScript. Issues, PRs and translations welcome.

  • Can I get beta releases?

    Yes. WaveFlow has an opt-in beta update channel — switch to it in Settings → Updates to get pre-release builds early, or stay on stable. You can switch back at any time.

  • What's the memory footprint?

    Around 80 MB at idle, 150 MB during playback with a 10,000-track library. The scanner uses a bit more during the initial index pass, then settles back to a steady footprint.

  • Can I sync my library across machines?

    No official cloud, but the SQLite database is a single file you can drop into Syncthing, Dropbox or any self-hosted service. The .waveflow export bundles profile + DB + artwork into a single archive.

  • Is there an offline mode?

    WaveFlow is offline by default — that's the whole point. The global offline mode cuts Deezer, Last.fm, LRCLIB and similar-artist discovery in one click.

Take your music back.

WaveFlow v1.6.0 is out for Linux, macOS and Windows. Install it with winget, the AUR, Copr or APT — or download the binaries on GitHub: AppImage, .deb, .rpm, .dmg, .msi.