Download
Latest release: Waveline 7.3.7
Windows says "threat found" about Waveline?
That is a false alarm from Windows' automatic scanner (the warning name usually ends in !ml - a machine-learning guess, not a known virus). Waveline is open source and malware-free; the scanner sometimes misjudges how the app unpacks itself on startup.
If it happens: first update to the newest Waveline (Help > Check for updates). If Windows still blocks the app, open Windows Security > Virus & threat protection > Protection history and choose Restore or Allow for the Waveline entry. Inside Waveline there is also Help > Windows Defender help, which speaks the steps and opens the right page for you. Reporting the false alarm at Microsoft's submission page fixes it for everyone within a few days.
What the server does for you
Waveline pairs with a free account, and an online server works quietly in the background for every user. Turn on what you want in File > Cloud services (Ctrl+Alt+V) - each feature has its own switch, and off means the server does nothing:
- Server downloads - give it a YouTube link and the server fetches the audio or video into your cloud library, so a slow or closed laptop is never the bottleneck.
- Server recordings - schedule an internet radio show once and the server records it at your own clock time, even with your PC switched off; the finished recording waits in your cloud library.
- Music Anywhere - your playlists mirror to your account, so any device signed in to the same account plays the same music.
- Server-side YouTube cookies - paste your cookies once and the server keeps them, so signed-in downloads keep working.
Everything the server keeps belongs to your account alone: finished files land in your private cloud library, and deleting one removes it everywhere.
Licenses and source code
Waveline's own code is MIT-licensed. The installer bundles third-party software (mpv, FFmpeg, wxPython, NumPy and others), each under its own license - see THIRD-PARTY-NOTICES.txt for the complete list and license texts.
Waveline bundles GPL-licensed components (mpv, the FFmpeg inside it, and the vendored pymumble), so the complete corresponding source is offered to everyone: download waveline-source.zip - the app's own code plus the vendored libraries, rebuilt with every release so it always matches the latest installer. The mpv/FFmpeg source is available from the mpv-player-windows SourceForge project under the same version stamp as the bundled binary.
What Waveline can do
Playback
- Plays MP3, FLAC, OGG, WAV, M4A, MKV, MP4, WebM and dozens more formats through the mpv engine with bundled codecs - no codec packs.
- Open single files or whole folders; opening a new file while playing adds it to the playlist.
- Speed control with dedicated down/up keys and a one-key reset to 1×.
- Volume boost up to 400% for quiet recordings, with optional loudness normalization so loud parts stop distorting.
- Shuffle and repeat modes, adjustable seek interval, Go to time, and a hotkey that announces the current position.
- Adjustable volume step so the volume keys move exactly as much as you want.
Accessibility
- Built screen-reader first: every control is keyboard-operable and labelled for NVDA, JAWS and Narrator; state changes are announced as they happen.
- Speech and announcements stay completely silent when no screen reader is running - sighted users get no spoken output.
- Around forty keyboard shortcuts covering playback, playlists, chapters, repeat and more - and nearly all of them are remappable in Settings → Shortcuts.
- Accessible dialogs for time entry, bookmarks, file information and the sleep timer.
Audiobooks
- DAISY support: open a DAISY folder and Waveline reads the NCC to build real chapters.
- Chapter navigation with dedicated next/previous chapter keys.
- Per-file bookmarks: drop a bookmark at any position, list them, jump back to any of them.
- A-B repeat: set point A, set point B, loop the span, clear it - ideal for language learning and study.
Playlists and sessions
- Full playlist management: add, remove selected, clear, jump between tracks.
- Sessions are saved automatically - close Waveline, come back later, and the whole playlist comes back with it.
- Resume behaviour is your choice in Settings: always resume, ask every time, or never.
Video
- Video canvas appears only for actual video - audio files never waste space on an empty rectangle.
- Fullscreen mode, with an aspect-ratio cycle: automatic, fill, 16:9, 4:3.
YouTube downloader
- Built on yt-dlp: download single videos, playlists and channels as audio or video.
- Quality presets, your own default download folder, and an open-folder-when-done option.
- Cookies support for age-restricted and members-only videos.
- Live progress with speed and ETA, straight in the app.
- Update the yt-dlp engine itself from inside Waveline with a progress bar.
Sound and sleep
- Audio output device picker - choose exactly which speakers or headphones Waveline uses.
- Optional device memory: your output device is re-found by name even after a USB replug or reboot.
- Sleep timer with configurable minutes, a volume fade-out, and options to stop or resume at the same position when you return.
Windows integration
- File associations and Explorer context menus during install: play any media file with Waveline from Explorer.
- Single instance: launching a file while Waveline is open hands it to the running window instead of starting a second copy.
- Never needs administrator rights to run.
Updates
- Optional weekly update check plus a manual Check for updates in the Help menu.
- Every update is verified with an Ed25519 signature and SHA-256 before it installs.
Keyboard shortcuts
Nearly all of these can be remapped in Settings → Shortcuts.
| Action | Default key |
|---|---|
| Play or pause | Space |
| Stop playback | Ctrl+S |
| Seek backward / forward | Left / Right |
| Previous track | Ctrl+Left, Ctrl+B or Ctrl+P (all three work) |
| Next track | Ctrl+Right, Ctrl+F or Ctrl+N (all three work) |
| Volume down / up | Ctrl+Down / Ctrl+Up |
| Mute or unmute | Ctrl+M |
| Speed down / up | Ctrl+Shift+Down / Ctrl+Shift+Up |
| Reset speed to 1× | Ctrl+Shift+R |
| Open file | Ctrl+O |
| Open folder | Ctrl+Shift+O |
| Go to time… | Ctrl+G |
| Announce current time | unbound by default (assign it in Settings → Shortcuts) |
| Toggle shuffle | Ctrl+H |
| Cycle repeat mode | Ctrl+R |
| Go to playlist | Ctrl+L |
| Remove selected from playlist | Delete |
| Clear playlist | Ctrl+Shift+Delete |
| Next / previous chapter | Ctrl+Shift+Right / Ctrl+Shift+Left |
| A-B repeat: set point A | Ctrl+Shift+A |
| A-B repeat: set point B / loop | Ctrl+Shift+B |
| A-B repeat: clear loop | Ctrl+Shift+X |
| Add bookmark at current position | Ctrl+Shift+M |
| Show bookmarks | Ctrl+K |
| Show file information | Ctrl+I |
| Always on top | Ctrl+Shift+T |
| Toggle fullscreen | F12 or F11 |
| Exit fullscreen | Escape (F12/F11 also toggle it back) |
| Aspect ratio: automatic / fill / 16:9 / 4:3 | unbound (assign in Settings → Shortcuts) |
| Sleep timer | Ctrl+T |
| Preferences | Ctrl+Shift+P |
| Quit Waveline | Ctrl+Q |
What's new
Waveline 7.3.7
- Fixed: opening a second file from Explorer while Waveline was already running could say 'Waveline is already running' and do nothing. The new file now opens in the window you already have.
Waveline 7.3.6
- Help > Update yt-dlp no longer freezes the window - it runs in the background with a progress bar and names each step
- Stop now really stops: playback ends and the saved position is cleared, so Play starts the track from the beginning again (Pause still keeps your place)
- New Options > Clear resume positions and sessions wipes every saved position and saved session; bookmarks, playlists, the library and settings are kept
Waveline 7.3.5
- Fixed the download dialog error 'The downloaded file is empty': empty yt-dlp output is now detected after download, retried once with a non-HLS audio format, and explained in plain language above the raw error. Adds waveline/downloader.py retry helpers plus regression tests.
Waveline 7.3.4
- Radio stations now show what they are playing right in the playlist: while a station plays, its row follows the song live, and afterwards it keeps the last song the station was heard playing. No button press needed any more - the menu item that asks the station still works exactly as before.
Waveline 7.3.3
- Added: background downloads - press Esc while a download runs to return to the player while it keeps downloading in the background; press Ctrl+D again to bring the running download straight back (it never restarts)
- Added: an OK dialog now announces when all downloads have finished
- Security: the website feedback form blocks bot spam with a honeypot and gibberish rejection
Waveline 7.3.1
- Fixed: Ctrl+P now pauses and resumes playback - it used to be a third Previous-track key (one key can only do one thing); Previous track still answers Ctrl+Left and Ctrl+B
- Fixed: the user guide and website shortcut tables now show the real bindings, and the site version badge stays in sync with the app version
Waveline 7.3.0
- YouTube trouble-telling fix: when YouTube asks this computer to prove it is not a robot, Waveline no longer calls that a cookies problem. Your saved cookies are being sent just fine; the message now asks you to try again in a few minutes or use a different internet connection, instead of pointing you at cookies that cannot help. Also fixed: interrupted update downloads now report 'download incomplete' instead of 'SHA-256 check failed', and update installs no longer race the running download. This is release 7.3.0 under the new single-digit patch numbering.
Waveline 7.2.10
- Live Room silence fix: listeners heard silence while the status said playing and duration stayed at 0:00. mpv silently clamped the requested 24 kbps audio to 32 kbps at 48 kHz, so the listener player consumed audio faster than bytes arrived and never buffered enough to start. The encoder now resamples to 24 kHz where 24 kbps is a true rate, and useless keepalive pings to a nonexistent endpoint were removed. Next release will be 7.3.0-style: patch numbers stay single-digit.
Waveline 7.2.9
- Fixed: Live Room rooms vanished while the encoder was still warming up - the listener page said Connection lost and never connected; the room is now kept alive during warmup
- Fixed and logged: a silent push-failure path
- Verified end to end against a real relay: bytes flow, title updates, listener stream serves audio
Waveline 7.2.8
- Fixed: Live Room showed a Waveline Error dialog about the clipboard at start - the share link was copied from a background thread; the copy now happens on the GUI thread
- Live Room now works end to end: account-based hosting with no key, bundled mpv found, and the link copies cleanly
Waveline 7.2.7
- Fixed: mpv.exe not found on installed copies - the mpv search looked inside the app's extraction cache instead of next to the real installed Waveline.exe; Live Room and scheduled radio recordings now find the bundled mpv
- Manual mpv.exe drop-in in the Waveline app-data folder still works
Waveline 7.2.6
- Fixed: Live Room always failed with 'forbidden' - the app never sent your account credential because of a leftover check; hosting is now fully account-based
- No Live Room key needed anywhere: sign in with your Waveline account and broadcast; each account runs one room, re-hosting refreshes it
Waveline 7.2.5
- New: plain-spoken errors - cloud library, remote access, Listen Together, Live Room and mixtape failures now say what happened in plain words instead of technical jargon
- New: Windows Defender false-alarm help in the User Guide and on the download page - what the warning means, the Allow fix, and the in-app Help - Windows Defender help dialog
- Reminder: Waveline never modifies antivirus settings
Waveline 7.2.4
- Fixed: Windows Defender false alarms - Waveline no longer drops a fresh copy of itself into a new random Temp folder on every launch, the pattern Defender's scanner flagged; it now unpacks once into a stable cached folder and starts faster
- New in Help menu: Windows Defender help, with one-press access to the Allow page and Microsoft's false-positive report
- If Windows Security blocks Waveline, choose Restore or Allow in Protection history
Waveline 7.2.3
- Fixed: the Live Room keyboard shortcut could be swallowed by screen-reader keyboard hooks and feel dead - it now uses the system accelerator table. Every Live Room action now acknowledges immediately with spoken feedback, and every menu action is verified to reach a real handler.
Waveline 7.2.2
- Fixed: downloaded videos kept getting renamed by the online song lookup. A water-gun video showed Secondary by Water Gun Water Gun Sky Attack instead of its real title. Videos now always keep their real name; music lookup unchanged.
Waveline 7.2.1
- Cloud library speaks its state on open
- Server downloads show live progress: percent in Download jobs and spoken quarter milestones
Waveline 7.2.0
- \Cloud library can download: pull any file stored on the server - YouTube downloads, recordings, uploads - back to your PC, with progress
- Cloud library shows file sizes and a storage total, announces your position while you arrow the list, and opens from the File menu
- Radio alarm clock is now the Media alarm clock, and local alarms accept videos too"
Waveline 7.1.0
- Radio alarm clock rebuilt: pick stations by name like the DVR, or wake to local music or YouTube
- Snooze or dismiss the alarm from your phone while it rings, plus Ctrl+Alt+Z and a Test now button
- Fixed: six menu and shortcut actions were silently dead, including the alarm clock itself
Waveline 7.0.4
- Audit hardening: safer dashboard pages, honest YouTube expand errors
- Fixed: a failed channel expansion now says why instead of going silent
- Last.fm offline scrobbles can no longer be dropped by their own retry
- AudioVault downloads clean up after a mid-stream drop
Waveline 7.0.3
- Clearer update offers: Waveline now says exactly what an update downloads and installs
- Fixed: update offers no longer promise a small download when the full installer is required
- The updater now keeps a full log when a download fails, making problems easier to trace
Waveline 7.0.2
- Fix: the Cloud services cookie box was single-line and silently kept only the first line of your cookies.txt - the server refused your perfectly good cookies
- The new Paste cookies dialog takes the whole file, shows how many cookie lines it found, and can import a cookies.txt straight from disk
- The server also now accepts space-separated cookie exports
Waveline 7.0.1
- Fix: Cloud services (File menu, Ctrl+Alt+V) did nothing when clicked - an internal error stopped the panel before it could appear; it now opens and works
- The Cloud services labels now say 'the server' instead of 'the VPS'
- Download page gained a 'What the server does for you' explainer and a download button that always serves the newest release
Waveline 7.0.0
- Server downloads: hand Waveline a YouTube link and the Waveline server fetches it into the cloud library
- Server show recordings: schedule any stream and the Waveline server records it at your local time
- Music Anywhere: playlists mirror to your account so any paired device plays them
- YouTube cookies live on the server so signed-in downloads keep working
- New Cloud services panel: File menu or Ctrl+Alt+V, every feature has its own on/off switch
Waveline 6.1.1
- Fixed: YouTube cookies now work everywhere - downloads, playback, search and prefetch all use the saved cookies (before, only downloads did, so age-restricted videos demanded sign-in even with cookies saved)
- New: paste cookies straight from the browser - the Cookies dialog and Setup wizard accept the raw a=b; c=d 'Copy as cookie' line or a whole cookies.txt and convert them to the right format automatically
- Honest wording: cookies are SAVED, not installed - the UI no longer claims 'installed'
- Cookies that stop working are detected: Waveline tells you at the next start and download errors explain the fix instead of failing silently
Waveline 6.1
- Six former Help-menu tools are now real menu actions with default shortcuts: Name that tune (Ctrl+Alt+N), Radio alarm clock (Ctrl+Alt+A), Identify this file (Ctrl+Alt+I), Auto-fix folder (Ctrl+Alt+Shift+F), Find duplicates (Ctrl+Alt+U) and Timestamp notes (Ctrl+Shift+N) - all rebindable in Settings > Shortcuts
- Silence auto-skip can finally be switched on: new checkbox in Settings > Volume (the feature shipped in 6.0 without any UI)
- Ctrl+Y opens Search and play YouTube, and every menu accelerator now comes from the rebindable shortcuts table
- Menus reorganized: radio tools live in File, Timestamp notes in Playback, and Identify, Auto-fix and Find duplicates sit in Options next to Playback statistics and Sonic Mixtape
- Whats playing on the radio is now in the Playback menu next to Announce current time
- User guide: new sections for silence auto-skip, continue anywhere, radio alarm clock and portable backups, plus an updated shortcut table
Waveline 6.0
- 6.0: Identify any file by sound (AcoustID)
- Auto-fix folder names and tags
- Find duplicate files by sound
- Name that tune on live radio (station metadata)
- Continue where you left off across your PCs
- Silence auto-skip for podcasts and recordings
- Timestamp notes with jump-back
- Consistent loudness mode
- Radio alarm clock
- Portable backup export and import
- Fix: podcast episode and whole-show download buttons
Waveline 5.1
- Send feedback from the app or website, straight to the developer
- Optional redacted application log with your feedback
- Reply by email and in-app with ticket numbers
- Account roles and owner feedback notifications
- Radio DVR: schedule shows by station name, choose folder and format
- Podcasts: download whole shows, own folder and format
Waveline 1.2.8
- Updates now download only the files that changed - typically well under 60 MB instead of the 236 MB installer. The full installer stays as an automatic fallback.
Waveline 1.2.7
- "End of playlist" is no longer announced when the playlist has only one file, and it only announces while the Waveline window is focused.
- Audio files with embedded cover art (album-art tags) no longer reserve the video canvas.
- Updater robustness fixes.
Waveline 1.2.6
- Fixed the updater: the installer now shows the Windows permission prompt properly, waits until the update is fully installed, and Waveline reopens by itself afterwards.
- Version checks no longer loop on already-installed updates.
Waveline 1.2.5
- Built-in auto-updates: optional weekly check plus Check for updates in the Help menu; every update is verified with an Ed25519 signature and SHA-256 before it installs.
- Video volume boost above 100% now works as loudly as audio boost.
- Shutting down no longer freezes the PC while the session is saved.
- New home: this page, waveline.maxi-gaming.com.
Waveline 1.2.4
- DAISY audiobooks: chapters detected from the NCC file, with chapter navigation.
- Resume overhaul: a Settings choice between always resume, ask, and never; offering to resume also when files are opened with Enter, and new files now join the playlist instead of replacing it.
- Audio-only files no longer show an empty video canvas.
- Speech output stays silent when no screen reader is running - sighted users hear nothing extra.
- Removed external service references; Waveline phones home to nobody.
Waveline 1.2.3
- Downloader settings: cookies support and default download folder.
- Optional output-device memory - remembers your speakers by name.
- yt-dlp self-update with a progress bar (atomic replacement, safe to cancel).
- Core player: mpv engine, DAISY folder playback, resume, bookmarks, A-B repeat, sleep timer.
Updates and security
Waveline checks for updates once a week by default (you can turn that off in Settings), and you can always check manually with Check for updates in the Help menu. Updates are downloaded over HTTPS and verified with an Ed25519 signature and a SHA-256 checksum before anything runs. If a signature does not match, the update is refused - Waveline never installs anything it cannot verify.
Waveline collects no telemetry and sends no analytics anywhere.
Your account
Waveline has optional accounts for remote access. Create one free account and control any computer running Waveline from any browser - phone, tablet or another PC. Accounts need email verification, and you can manage (rename or unpair) every paired device from the dashboard.
Create an account Log in to the dashboard
Using your account, step by step
- Create the account. Press Create an account above (or in Waveline: Preferences, Remote tab, Create account or log in). Fill in your email, a nickname and a password of at least 10 characters, then submit.
- Confirm your email. A confirmation link arrives within a minute or two. Click it once - the account becomes active. No link? Press Create account again (a new mail is sent) or check the spam folder.
- Log in and link this computer. Log in to the dashboard, press Generate link code, and type the 8-character code into Waveline: Preferences, Remote tab, Link this device. The computer now appears in your dashboard under the name you gave it.
- Control everything from the dashboard. The dashboard refreshes itself every few seconds: what is playing, whether each computer is online, and which phones are paired. Buttons cover the full command set (play/pause, volume, seek, shuffle, repeat, bookmarks, sleep timer and more), and every computer of yours is one page - target any PC's buttons directly.
- More computers? Same account. On another PC: install Waveline, enable remote access, then repeat step 3 with a fresh link code. Rename each computer from the dashboard (Rename PC) so you always know which is which.
- Your settings travel with you. With a linked computer, playback preferences (volume, speed, seek interval, sleep timer and similar) are stored on your account. Link a new computer and they are restored automatically; Preferences, Remote, Sync settings with account syncs them any time. Passwords, API keys and file paths never leave the computer.
Self-hosting the relay (advanced)
Remote access (and Alexa control) run through small relay servers. The
hosted relay at waveline.maxi-gaming.com is one instance - and
the same code it runs, with the hosted server's own
addresses replaced by placeholders, is downloadable here for anyone who
prefers to run their own on a private server:
- relay.py - remote-access relay server (accounts, phone remote, command queue, cloud library, Live Room)
- accounts.py - accounts, sessions and e-mail (imported by relay.py, must sit next to it)
- liveroom.py - Live Room support (imported by relay.py, must sit next to it)
- vpsagent.py - server-side Cloud services worker (imported by relay.py, must sit next to it)
- relay_server.py - the Alexa relay (voice-command queue + wake flag)
- Self-hosting guide - requirements, environment, systemd units, HTTPS proxy, e-mail (Stalwart), pointing Waveline at your own relays, updating and troubleshooting
- waveline-selfhost-kit.zip
- everything in one download; extract with
python -m zipfile -e waveline-selfhost-kit.zip . - One-line installer (Linux): run
curl -fsSL https://waveline.maxi-gaming.com/selfhost/install.sh | sudo bashor download install.sh and runsudo bash install.sh- installs Docker when it is missing plus python3, then fetches the kit above into/opt/wrelay-kitand can set everything up for you: it asks first, creates the service users, starts both relay services, configures the HTTPS proxy and certificate for your domain, and sets up account e-mail (installs the Stalwart mail server and creates the sending account and its password itself; new secrets are shown once and saved to/root/wrelay-credentials.txt)
Help
The user guide is built in: press F1 inside Waveline or choose
User guide from the Help menu.
Send feedback
Something you love? Something broken? Tell us - every message goes straight to the Waveline developer's inbox. Leave an email address if you would like a reply. You can also send feedback from inside Waveline: Help → Send feedback, where you can optionally attach your application log (paths, urls and email addresses are redacted before anything leaves your PC).