Local-first · Classical · Desktop
Every movement in its place.Every bit as recorded.
OpusPlayer is a music player for people who own their classical recordings. It understands works, movements and performers instead of tracks and artists. It plays lossless files bit-perfect, keeps every movement gapless, and never modifies a file.
Windows · macOS in development · FLAC, ALAC, WAV, AIFF, AAC, MP3, Ogg Vorbis
- I.Allegro con brio7:21
- II.Andante con moto9:52
- III.Allegro2:41 / 5:14ATTACCA — NEXT MOVEMENT IS ALREADY DECODED
- IV.Allegro11:02
Musikverein, Vienna
- SourceFLAC · 96,000 Hz · 24-bit · stereo
- Decodebit-exact integer passthrough · no dither
- Volumebypassed — fixed volume mode, 0 dB
- OutputWASAPI exclusive · 96 kHz native
- Device — USB DACheld by OpusPlayer · other apps silent
Now Playing as designed. Bit-perfect exclusive playback is implemented; the movement structure arrives with matching (M4).
Composers, works and performances. Not artists and albums.
Mainstream players were built for songs. A symphony becomes four unrelated tracks, and a conductor, an orchestra and a soloist collapse into one artist field. OpusPlayer catalogues music the way musicians do: a work has movements, a performance has people in named roles, and a release is simply the edition you own.
- WorkSymphony No. 5 in C minor, Op. 67
With its movements, key, catalogue number and every alias, in any language.
- PerformanceKleiber · Wiener Philharmoniker · 1974
Conductor, orchestra, soloists and choir, each in their own role.
- ReleaseSymphonien Nrn. 5 & 7 · DG
The disc or box set you bought, kept exactly as you tagged it.
- PersonBeethoven · 贝多芬 · Бетховен
One person, every spelling and every script.
Fifth Symphony · Symphonie Nº 5
Movements are structure, not tracks: playing any movement queues the whole work from that point. The recording you mark as default is what “Play” means everywhere.
Every recording you own, side by side.
Five recordings of the Fifth are five interpretations, not five duplicates. OpusPlayer gathers them under one work, lets you choose which one “Play” means, and sets movement timings next to each other — because timings are interpretation data.
- 01The fastest movement in each row is set in bold. No judgment colours.
- 02Audition any movement in any recording; the queue keeps your place.
- 03Set a new default right where the evidence is.
Type it the way you say it.
“beethoven 5”, “贝多芬 命运” and “Sinfonie Nr. 5” land on the same work. The index holds canonical titles, translations, nicknames, catalogue numbers and transliterations, and folds diacritics, so Dvorak finds Dvořák. The alias that matched is always shown — a result never feels like a lucky guess.
- Any script
- Latin, CJK and Cyrillic queries meet the same index: Tchaikovsky, Чайковский and 柴可夫斯基 are one composer.
- Any catalogue
- BWV 847, K. 466, D. 810, Hob. I:94 and Op. 27 No. 2 go straight to the work.
- Works rank first
- A number after a composer means a numbered work — symphonies first, the way musicians speak.
The engine tells you exactly what it did.
Bit-perfect means nothing touched the samples between your file and your DAC. OpusPlayer’s Rust engine takes the device in exclusive mode, follows each file’s native sample rate, and passes integer samples straight through. The signal path is a receipt, not a badge: green is earned stage by stage, and every touch — ReplayGain, the system mixer — is named, with its reason.
- SourceFLAC · 96,000 Hz · 24-bit · stereo
- Decodebit-exact integer passthrough · no dither · no resampling
- Volumebypassed — fixed volume mode, 0 dB
- Output — WASAPI exclusive96 kHz native · event-driven
- Device — USB DACheld by OpusPlayer · other apps silent
- Gapless, proven
- Two files at the same rate are rendered through the full pipeline and compared sample by sample in CI. The seam is zero.
- Silence is part of the music
- No crossfade, ever, and no trimming between movements. An attacca plays exactly as it was recorded.
- Rate follows the file
- Exclusive output switches your DAC to each file’s native sample rate. Nothing is resampled to a fixed rate.
- Recovers on its own
- Unplug the DAC and playback pauses at the exact position; plug it back in and it resumes. Sleep and wake need no restart.
Exclusive output uses WASAPI on Windows today. CoreAudio exclusive output (hog mode) for macOS is in development.
Your files are never modified.
Collectors spend years on their tags. OpusPlayer reads them and leaves them exactly as they are; every match it makes is stored in its own database. Uncertain matches wait for you with the evidence in plain language, and anything you pin is permanent — not overridden by rescans, updates or better guesses.
01 Allegro maestoso.flac
02 Andante moderato.flac
03 Scherzo.flac · title differs
04 Urlicht.flac · 05 Im Tempo….flac
3-01 悲愴 第一樂章.flac
3-02 悲愴 第二樂章.flac
+ 5 more
Read-only by design
Files, tags and folders are never edited, moved or renamed.
Pins are permanent
A match you confirm survives rescans, updates and re-matching.
Evidence for every decision
Each automatic match shows its source and a one-sentence reason.
Grounded in open data
Works, composers and their aliases come from MusicBrainz. Files already tagged with MusicBrainz IDs match by direct lookup.
Language models propose, you decide
Optional cloud-assisted matching runs one album at a time when you ask, chooses only among real catalogue candidates, and asks before any tag text leaves your computer.
Offline by default
Playback, browsing and rule-based matching work without a network.
Facts you can verify.
- Formats
- FLAC · ALAC · WAV · AIFF · AAC-LC · MP3 · Ogg Vorbis
- Output
- WASAPI exclusive (event-driven) and shared · CoreAudio in development
- Signal
- Integer passthrough at 100% volume · native sample rate per file · TPDF dither whenever the signal is touched
- Gapless
- Dual-slot pre-decode · seam verified sample by sample in CI
- Seek
- Sample-accurate on FLAC
- Processing
- Volume and optional ReplayGain only · no crossfade, no loudness normalization
- Library
- Built for 100,000+ tracks · incremental rescans · folder watching · an offline NAS never empties the library
- Matching
- MusicBrainz works, composers and aliases · reviewable, explained decisions
- Search
- Any language · diacritics folded · BWV, K., D., Hob., Op.
- Platforms
- Windows · macOS in development · mobile remote planned
Engine first. Then the library learns the music.
OpusPlayer is built in the order that removes risk earliest: the audio engine was proven before any library feature was drawn. Every milestone closes on objective acceptance tests.
- M0SkeletonDone
Electron shell, Rust core and native bridge; Windows and macOS builds from CI.
- M1The engine playsDone
Decoding, a state machine with explicit errors, click-free pause and seek.
- M2Your library, as filesDone
Scanning for 100,000-track libraries, folder and album browsing, AAC, MP3 and Vorbis.
- M3The engine, hardenedDone
WASAPI exclusive and bit-perfect output, gapless proven in CI, recovery from unplugging and sleep.
- M4MatchingIn progress
Works, composers and performances from MusicBrainz, with a review queue for uncertain matches.
- M5SearchNext
Any language, any spelling, any catalogue number.
- →ThenLater
macOS exclusive output · tag write-back in Picard conventions · a mobile remote for iOS and Android, with CarPlay and Android Auto.
Questions collectors ask.
Will OpusPlayer change my tags or move my files?
No. Files, tags and folders are read-only, and matches live in OpusPlayer’s own database. Writing matches back to your tags, in MusicBrainz Picard’s conventions, is planned as an action you take explicitly.
Do I need lossless files?
No. AAC, MP3 and Ogg Vorbis are delivered at full fidelity: the decoder’s output reaches the device untouched, and the signal path shows it in green. Lossless files are, in addition, bit-perfect.
Does it need an internet connection?
No. Playback, browsing and rule-based matching work offline. Only the optional cloud-assisted matching needs a network, and it runs only when you ask.
Which systems does it run on?
Windows first, with WASAPI exclusive output. macOS support, including exclusive CoreAudio output, is in development. A mobile remote for iOS and Android is planned after the desktop app.
Will it handle my box sets?
It is designed for libraries of 100,000 tracks and 100-disc box sets. Once matching ships, works split across discs are grouped back into one work.
Does it stream from online services?
No. OpusPlayer is built for the music you own; its intelligence goes into understanding your collection.
Early access
Point OpusPlayer at your music.
Your collection stays exactly where it is, exactly as it is.
- Files and tags are read-only — never edited, never moved
- Bit-perfect, gapless playback from the first minute
- Works and composers appear later, only with your review
OpusPlayer is in active development. Public builds are not available yet.