A field guide for people who have opinions about sample rates
Svarga is a Mac music player for listeners who want their own music, their own DAC, and fewer tiny lies in the signal path. This manual walks through the app as it exists in v1: what each screen does, what each feature is for, and when to leave things alone because the bits are already behaving.
This is not a studio textbook. It is a practical map.
The basic idea
Svarga is built around four promises:
- Keep your library local-first.
- Route audio cleanly to the output you chose.
- Tell the truth about the signal path.
- Do useful things — radio, Mixtapes, metadata, DSP, CD ripping — without turning your music collection into a subscription hostage.
The app can be gentle and pretty, but under the hood it is a CoreAudio HAL creature. It talks directly to your Mac’s audio system, asks the DAC what it can do, switches rates, acquires exclusive access when appropriate, and reports whether the result is actually pure.
First launch
When you open Svarga, you will see the main window with:
- A compact top navigation bar
- A main content area
- A bottom player bar
- A library action menu
- A settings button
- An output picker in the player area
On first launch, Svarga also shows a short welcome sheet covering DAC selection, Local Network permission for DLNA / Chromecast, and where to verify the signal path.
If your library is empty, start by adding music.
Add music quickly
You can add music in three common ways:
- Drag a folder into Svarga.
- Use the toolbar menu: Library Actions → Add Music Folder.
- Go to Settings → Sources → Add Source.
Svarga scans supported audio files, reads metadata, builds albums/artists/genres, extracts artwork where available, and stores library data locally.
Supported local library formats in v1:
- FLAC
- ALAC / M4A
- WAV
- AIFF / AIF / AIFC
- AAC
- MP3
- DSF
- DFF
Internet radio supports additional stream types, including Ogg Opus radio.
Local OGG/Opus, WavPack, and APE are not v1 local-library formats.
The main navigation
The top navigation menu gives you the real map of Svarga:
- Home
- Albums
- Artists
- Songs
- Genres
- Recently Added
- Folders
- Queue
- Radio
- Mixtapes
- DSP / EQ
- Playlists
Qobuz and Tidal may appear only in builds where those feature flags are enabled.
Search
The search field filters library views. If you search while sitting in a screen that does not naturally filter, Svarga redirects to Songs so your search actually has somewhere useful to land.
Home
Home is the “where am I in my collection?” screen.
It shows library-level stats and album shelves such as recently played and recently added. It is designed for starting a session without doing filing-cabinet archaeology.
Use Home when:
- You want to resume listening.
- You want to see what was recently added.
- You want a soft landing instead of a spreadsheet.
Albums
Albums is the classic library view. You can browse your collection as album artwork, switch view density, and sort.
Use Albums when:
- You know the record you want.
- You care about albums as albums.
- You want the cover wall experience.
Open an album to get the Album Detail view.
Album Detail
Album Detail shows:
- Artwork
- Album title
- Artist
- Genre/year metadata
- Play controls
- Track list
- Audio technical details
- Album information where available
- Related navigation such as more by the artist or more in the genre
Album and artist info is cached. Svarga should not keep searching the web every time you open the same album. If nothing useful is found, the app should leave the field blank or show a known “not found” state rather than spinning forever like a tiny librarian having an existential crisis.
Artists
Artists groups the library by performer. Open an artist to see their albums and artist-level information where available.
Use Artists when:
- You are following a discography.
- You want to explore what else you own by someone.
- You remember the musician but not the album title.
Songs
Songs is the direct track list.
Use it when:
- You want to search precisely.
- You want to sort or queue individual tracks.
- You are dealing with singles, compilations, loose files, or chaos imported from 2009.
The Songs view is also where global search tends to land, because it is the broadest and most literal view.
Genres
Genres gives you a higher-level browse mode. Svarga uses embedded tags and metadata enrichment to organize albums and tracks by genre.
Genre metadata can be imperfect because music is made by humans and tagged by everyone’s least careful cousin. Svarga lets you edit metadata when needed.
Recently Added
Recently Added shows new arrivals first.
Use it after:
- Importing a folder
- Ripping a CD
- Adding a NAS source
- Downloading new purchases
- Remembering that you bought music at 1:14 AM
Folders
Folders shows your music by file-system folder. This is not a second-class view. It is for real-world libraries.
Folders are useful for:
- Live recordings
- DJ folders
- Downloads
- Bootlegs
- Label collections
- Box sets
- “Sort this later” piles that will never, in fact, be sorted later
Svarga can treat a folder like an implicit playlist. If a folder contains multiple artists or does not behave like one clean album, the Folders view is often the sanest place to use it.
Queue
Queue shows what is coming next.
You can:
- Add tracks or albums to the queue
- Clear the queue
- Start local-library radio continuation from a seed
- See auto-queued or radio-generated items
Svarga’s queue is designed to keep local playback and the visible upcoming list aligned. If the queue says something is coming, the engine should agree.
Playlists
Svarga supports normal playlists without pretending they are a lifestyle.
You can:
- Create playlists
- Rename playlists
- Add tracks and albums
- Assign custom artwork
- Sort playlists
- Import M3U / M3U8 playlists
- Export playlists as M3U8
- Play in order, shuffle, or repeat
- Queue playlist content
M3U import works best when the referenced files are already in your Svarga library. It is a playlist importer, not a psychic file detective.
Smart Mix
Smart Mix generates playlists from your local library using rules and seed context.
Use it when:
- You want something coherent without hand-building it.
- You want deep cuts.
- You want a local-library alternative to algorithmic streaming.
Smart Mix does not stream mystery tracks from the internet. It works with what you own.
What the controls mean
The Smart Mix sheet has six practical controls:
- Name: what the generated mix will be saved as if you click Save.
- Seed: an optional anchor track. If you choose one, Svarga treats it as the reference point for artist overlap, genre overlap, era, and energy.
- Genre: a hard filter. If you choose Jazz, the generator stays inside the jazz-tagged part of your library instead of wandering.
- Energy: the intensity lane.
- Length: the target running time.
- Discovery: how conservative or adventurous the selection logic should be.
The preview list is not random decoration. Each track row shows a short reason string such as seed genre, same artist, similar energy, or unplayed, so you can see why a track made the cut.
Energy is measured loudness, not BPM
Smart Mix used to lean on tempo assumptions. It no longer does. The energy control is driven by ReplayGain track loudness, because that exists for far more real libraries and behaves more reliably than guessed BPM.
In plain English:
- Calm prefers quieter-mastered material and tends to settle downward.
- Groove lives in the middle, where rhythm and body matter more than brute force.
- Peak prefers louder, more aggressive masterings and pushes toward the high-output end of your library.
- Any removes that filter and lets genre, seed, and discovery do more of the shaping.
If a track has no ReplayGain value, it can still qualify through genre and seed logic. Smart Mix does not throw it away just because one metadata field is missing.
Discovery modes
Discovery is where Smart Mix stops feeling generic.
| Mode | What it does |
|---|---|
| Close | Stays near the seed. It strongly prefers same-artist and same-genre relationships and allows more repetition from one artist. |
| Balanced | The default middle ground. It still respects the seed, but it also gives a small boost to tracks you have not played recently. |
| Deep Cuts | Pushes outward. It rewards unplayed material, limits artist repetition more aggressively, and is happiest digging past the obvious tracks. |
Internally, artist repetition is capped more tightly as you move from Close to Deep Cuts, so the generator cannot lazily hand you twelve songs by the same person and call it curation.
Seed, sequence, and save behavior
If you choose a seed track and that track is in your local library, Svarga places it at the front of the mix. The rest of the session is then arranged around it:
- Calm tends to wind down from louder masters into quieter ones.
- Groove and Peak tend to build upward from quieter material into louder material.
- Any uses a more neutral arrangement.
When the mix looks right:
- Play starts the generated local queue immediately.
- Save writes it to your library as a normal playlist.
That matters because Smart Mix is not a temporary black box. If it creates something good, you can keep it.
Mixtapes
Mixtapes is Svarga’s mood-radio mode for your own library.
It uses library metadata, tags, measured loudness / energy, artist information, and scoring logic to build a session. It can open into a fullscreen listening mode with a more immersive visual treatment.
Use Mixtapes when:
- You want a mood, not an album.
- You want your library to surprise you.
- You want something radio-like without leaving your files.
If the library does not contain enough confident matches for a mood, Svarga may fall back to a broader mix and tell you. That is good behavior. Fake confidence is how bad playlists happen.
How Mixtapes actually scores
Mixtapes starts from three things:
- your library’s genre metadata;
- Last.fm artist tags when Svarga has them;
- measured loudness / ReplayGain energy.
Energy alone does not qualify a track for a tape. That is intentional. A quiet death-metal track is not automatically good for Fade Out, and a loud ambient track is not automatically good for All Out. Genre and tag confidence have to point in the same direction.
The selection header in the app says it plainly: your library becomes the station. Mixtapes is radio behavior built from owned music, not a cloud recommendation feed.
The six built-in tapes
Each tape has a different scoring profile, a different visual treatment, and a different motion speed in the fullscreen player. The colors are not random; they are part of the mood cue.
| Mixtape | Subtitle in app | What it is trying to feel like | Typical musical center | Visual language |
|---|---|---|---|---|
| Locked In | Instrumental · Deep Work | Deep-focus listening without constant lyrical interruption. | Jazz, classical, ambient, instrumental, piano, post-rock, acoustic, lo-fi. | Indigo / royal blue / cyan. Calm, analytical, low-distraction. |
| Sunday Slow | Chill · Acoustic · Unhurried | Lazy, unforced listening with no need to impress anyone. | Folk, acoustic, soul, bossa nova, mellow singer-songwriter material. | Forest / emerald / teal. Relaxed and restorative. |
| The Ache | Soul · Emotion · Depth | Bittersweet, reflective, emotionally loaded listening. | Soul, blues, indie, neo-soul, jazz, art rock, intimate songwriting. | Plum / amethyst / rose. Emotional and inward. |
| Sweat | Groove · Electronic · Funk | Physical rhythm, movement, club logic, body-first momentum. | Dance, electronic, disco, funk, house, electro, afrobeat, groove-heavy pop. | Violet / magenta / gold. Bright, kinetic, playful. |
| All Out | Workout · Drive · Intensity | Maximum output, forward motion, high push. | Rock, metal, punk, hip-hop, rap, drum and bass, hardcore, industrial. | Crimson / orange / gold. Adrenaline, heat, speed. |
| Fade Out | Ambient · Drift · Restore | Decompression, low-friction drift, end-of-day descent. | Ambient, drone, meditation, soundscape, new age, sleep-adjacent material. | Midnight blue / indigo / soft violet. Slow, dim, sedating. |
What mood, rhythm, and style mean here
Mixtapes is not using a literal “mood / rhythm / style” form field. It derives those ideas from your library data:
- Mood comes from genre plus Last.fm tag vocabulary such as
peaceful,driving,melancholic,party, orinstrumental. - Rhythm / intensity comes mostly from measured loudness windows, not guessed BPM.
- Style comes from repeated genre and artist-tag patterns in your library.
So if Sweat keeps finding disco, house, funk, and afrobeat records, that is not because the app likes the word “dance.” It is because those tags, genres, and energy bands all line up.
Fullscreen behavior and fallback
When a tape starts, Mixtapes can open into a fullscreen listening mode with its own animated background. The animation speed changes by tape:
Fade Outis the slowest.Sunday SlowandLocked Instay restrained.The Acheis moderate.Sweatis brisk.All Outis the fastest.
That motion is decorative, but the playlist underneath is not. If Svarga cannot build a confident tape from your library, it falls back to a broader session and tells you. That honesty is part of the product.
Radio
Radio is Svarga’s live-streaming side.
It includes:
- Favourites
- A curated Lossless Radio catalogue
- Station search/filtering
- FLAC/Icecast support
- Ogg Opus stream support
- MP3/AAC stream support
- Now-playing metadata where available
- Station logo and artwork display
- Station suggestion flow
The Lossless Radio catalogue is curated so you can browse serious stations without spelunking through a million dead links and 64 kbps relics.
Radio and network output
Radio can route through local output, DLNA, or Chromecast depending on what you select. Svarga avoids opening duplicate metadata connections when DLNA is active, because some radio servers hate that and respond with the network equivalent of a slammed door.
The bottom player bar
The player bar is always there unless a special fullscreen mode takes over.
It shows:
- Artwork or station logo
- Track title / artist / album
- Radio now-playing info when in radio mode
- Play / pause
- Previous / next
- Shuffle
- Repeat
- Volume
- Output picker
- Waveform seek bar for local files
- Live waveform animation for radio
Click the track info area to open the Now Playing overlay.
Seeking
For normal PCM formats, seek uses the audio file timeline.
For active DSD playback, Svarga currently performs a practical rebuild-at-position seek. That means seeking DSD may briefly stop/restart the DSD engine and can cause a DAC re-lock click. This is expected for the current v1 implementation.
Now Playing overlay
Now Playing gives the current track more room.
Use it when:
- You want artwork larger.
- You want a focused playback view.
- You want to see the current track without browsing away from the library.
Output picker
The output picker is the small speaker/network icon in the player controls.
It has three sections:
- Local
- DLNA / UPnP
- Chromecast
Local outputs
Local outputs are CoreAudio devices such as:
- Mac mini Speakers
- External headphones
- USB DACs
- HDMI displays
- Other macOS audio devices
Svarga’s strongest signal-path claims apply to local wired, non-virtual outputs — especially USB DACs.
DLNA / UPnP
DLNA lets compatible network renderers pull audio from Svarga over the local network. Sonos-style renderers are supported through the DLNA/UPnP path.
If a renderer does not appear:
- Make sure it is on the same network.
- Open the output picker.
- Use Search for Renderers or Refresh.
- In Settings → Audio or Settings → network output sections, check discovery status.
- Use Connect by IP if the device is reachable but not discovered.
Chromecast
Chromecast support lets Svarga discover and connect to Google Cast devices on the same local network.
Network output is useful. It is also different from verified local USB bit-perfect output. Svarga treats those claims separately.
Signal Path
Signal Path is the truth window.
It tells you:
- Source format
- Decoder path
- DSP status
- Sample rate
- Hardware output
- Hog mode status
- Integer/path status
- Whether the current path qualifies as Pure Signal Path
- For DSD, what transport is actually active
If Signal Path says the path is compromised, do not panic. It may simply mean DSP is enabled, a wireless output is selected, a device is resampling, or the output cannot be verified.
The three verification tiers
The Verification status in Settings → Audio uses three explicit tiers, so the same physical state always means the same thing:
| Verification status | What it means |
|---|---|
| Local pure path (green) | Direct integer stream active — delivery proven at the byte level. Hog Mode, rate matching, and Integer Mode are all engaged, and Svarga has verified the exact samples handed to the DAC. |
| Bit-perfect — exclusive (float path) (blue) | Hog Mode and rate matching are active at unity gain. Playback is bit-exact for 16/24-bit sources — the samples survive the float stage untouched — it just lacks the byte-level delivery proof that Integer Mode provides. |
| Not pure path (orange) | A real blocker is present, and the status text names it: Hog Mode off, Integer Mode off, or playback gain below unity. |
Green is proof. Blue is mathematics. Orange is a to-do list.
Svarga is not judging you. It is judging the path. The path can take it.
Playback path labels
The Playback path label above the verification text is the fast readout:
| Playback path | What it means |
|---|---|
| Pure Path | Local CoreAudio route, no DSP in the way, and the current route qualifies for pure-path verification. |
| DSP Path | You are still on a local output, but EQ, crossfeed, ReplayGain, preamp, room correction, or headphone correction is touching the signal. |
| Local Path | Local playback route, but not yet qualified as Pure Path. |
| Remote Path | DLNA / UPnP or Chromecast transport. Useful, but not locally verifiable at the same standard as a USB DAC path. |
That label is not trying to flatter you. It is trying to tell you what class of route you are currently on before you start making purity claims.
Other status colors you will see
The detailed verification text can also report intermediate or blocking states:
| Status | Color | Meaning |
|---|---|---|
| Bit-perfect off | secondary / dim | Svarga is not trying to rate-match or verify the path yet. |
| Remote renderer path | orange | You are sending to DLNA or Chromecast, so the route is real but not locally provable as bit-perfect. |
| Wireless or virtual output | orange | AirPlay, Bluetooth, HDMI-like virtual paths, and other non-local routes are outside Svarga’s strict pure-path claim. |
| DSP active | orange | The path may still sound excellent, but it is no longer untouched. |
| Requested format not achieved | orange | The hardware ended up on a different format than the one Svarga asked for. |
| Resampling detected | orange | The confirmed device rate differs from the source rate. |
If you want the shortest version: green means verified, blue means bit-exact but not integer-proven, orange means something real is in the way, and dim gray means Svarga is not making a claim.
Audio settings
Settings → Audio is where output behavior gets serious.
You can manage:
- Output device behavior
- Bit-perfect / hardware path controls
- DSD Delivery Mode
- Playback repeat behavior
- DLNA / UPnP output
- Chromecast output
Output Device
The Output Device section is where you choose the physical or network path.
Each row shows:
- the device name;
- its transport type;
- the last known or maximum sample rate;
- selection state;
- small route badges when relevant.
The badges matter:
- BP means bit-perfect mode is enabled on the selected non-wireless device.
- INT means Integer Mode is enabled on the selected device.
If the selected output is wireless or virtual, Svarga tells you directly that bit-perfect and integer verification are not available for that route.
Auto-switch to new USB DAC does exactly what it says: when you plug in a newly detected USB DAC, Svarga can move playback to it automatically instead of staying on the current output.
Bit-Perfect Playback
This section is the heart of the hardware-path story.
Enable bit-perfect mode
Enable bit-perfect mode tells Svarga to match the audio device sample rate to the track’s native rate before playback. Without it, the app should not talk like it has verified anything.
What it changes in the path:
- Svarga actively requests the source rate instead of leaving rate decisions to the existing device state.
- the verification readouts become meaningful;
- requested-versus-confirmed comparisons appear.
Exclusive (Hog) Mode
Exclusive (Hog) Mode takes control of the selected device so macOS does not mix other system sounds into the same path.
What it changes in the path:
- software mixing is effectively removed from the route;
- other apps and system sounds are pushed to a different output while Svarga owns the DAC;
- rate control becomes more trustworthy;
- the path becomes eligible for the blue or green verification tiers.
If Hog Mode is off, Svarga names that directly as the first blocker for a strict pure-path claim.
Integer Mode
Integer Mode is the final step when the DAC and transport support it.
What it changes in the path:
- Svarga tries to hand the DAC a non-mixable signed-integer PCM stream;
- the route moves from “bit-exact through float” toward byte-level delivery proof;
- the path becomes eligible for the green Local pure path state.
If the device does not expose the old mixer-switch behavior, Svarga still reports that honestly and falls back to its direct HAL verification model instead of pretending the option exists.
The verification readouts
When bit-perfect mode is on, Svarga exposes the parts of the path people usually have to guess at:
| Readout | Why it matters |
|---|---|
| Requested format | What Svarga asked the hardware to do. |
| Confirmed format | What the device actually accepted. |
| Confirmed buffer | The current hardware buffer size. Useful for diagnostics, not religion. |
| Requested vs achieved | Immediate proof of whether the request actually landed. |
| Pure signal path | Whether the route qualifies right now. |
| DSP in path | Whether local processing may be touching the stream. |
| Resampling | Whether source rate and confirmed output rate disagree. |
| Hog owner | Whether Svarga owns the device or some other process does. |
| Software mixing | Whether system mixing is still in play. |
If Svarga says your 24-bit stream is traveling in a wider 32-bit hardware container, that is not automatically a problem. Zero-padded wider-container transport can still be lossless and bit-exact.
DSD Delivery Mode
Svarga v1 exposes:
- Auto
- DoP
- PCM Conversion
Use Auto unless you have a reason not to.
The in-app descriptions are concise and correct:
- Auto: Svarga chooses the best DSD path your DAC supports.
- DoP: Svarga wraps DSD in PCM frames so the DAC can detect DSD markers.
- PCM Conversion: Svarga converts DSD to PCM before sending it to the output.
Use DoP when:
- You have a DAC that supports DSD over PCM.
- You want the DAC to receive DSD markers.
- You want explicit failure instead of silent PCM conversion.
Use PCM Conversion when:
- Your output does not support DoP.
- You are playing through speakers, HDMI, network output, or a non-DSD path.
- You want compatibility more than native DSD transport.
Native DSD is not a v1 user-facing choice. On macOS, true native raw DSD is not a universal CoreAudio app path for class-compliant DACs.
HAL DoP test
The Audio settings page also includes a small HAL backend test area. This is there so Svarga can verify whether its local HAL DSD route is actually behaving, rather than assuming.
Use Run HAL DoP Test when:
- playback is stopped;
- a wired local output is selected;
- you want to confirm the app’s DSD HAL route, not just hope for it.
This is not a consumer-audio toy button. It is a diagnostic sanity check.
DSP / EQ
DSP / EQ is Svarga’s sound-shaping section. Internally this is the Krada engine: a set of deliberate, visible processing stages for users who want correction, comfort, or tone shaping.
The important rule is simple: DSP is not bad, but it is not bit-perfect. If EQ, headphone correction, room correction, crossfeed, ReplayGain, or preamp gain is active, Signal Path should stop calling the route “Pure Signal Path.” That is not a failure. That is Svarga telling the truth.
DSD is the exception: Svarga bypasses DSP for DSD DoP / direct DSD delivery paths. DSD marker streams must not pass through EQ, mixers, ReplayGain, preamp, volume normalization, or crossfeed. If you want DSP on a DSD album, use PCM Conversion rather than DoP.
The DSP signal chain
For normal PCM-family playback, Svarga’s local signal path is:
Player
→ Parametric EQ
→ Room Correction filters
→ Headphone Correction
→ Crossfeed blend
→ ReplayGain / preamp gain
→ Output device
In the actual audio engine, user EQ and room correction share the main EQ stage, headphone correction has its own EQ stage, and crossfeed is a separate blend path. In practical terms:
- EQ is for taste and broad correction.
- Room Correction is for speakers in a real room.
- Headphone Correction is for a specific headphone model.
- Crossfeed is for headphone spatial comfort.
- ReplayGain is for loudness consistency.
- Preamp is for headroom and gain staging.
If something sounds wrong after turning on several features, simplify the chain. Turn everything off, then enable one stage at a time.
DSP panels
The DSP / EQ screen has six panels:
- EQ
- Crossfeed
- Preamp
- Room Correction
- Headphones
- ReplayGain
Each panel controls a different part of the chain. These are intentionally separate so a headphone profile does not hide inside a “mystery sound enhancer,” and room correction does not get confused with a fun rock preset.
EQ panel
The EQ panel is Svarga’s user-facing parametric EQ. It includes:
- a master Parametric EQ on/off switch;
- built-in presets;
- a live frequency-response curve;
- ten editable bands;
- per-band bypass;
- gain sliders;
- a reset button.
The standard EQ bands are centered at:
| Band | Frequency | Type | Main audible region |
|---|---|---|---|
| 1 | 32 Hz | Low shelf | sub-bass, room rumble, physical weight |
| 2 | 64 Hz | Bell | bass punch, kick drum body |
| 3 | 125 Hz | Bell | warmth, bass guitar body, boom |
| 4 | 250 Hz | Bell | low mids, boxiness, chest resonance |
| 5 | 500 Hz | Bell | body, thickness, “cardboard” coloration |
| 6 | 1 kHz | Bell | midrange presence, vocal/instrument center |
| 7 | 2 kHz | Bell | vocal clarity, guitar bite, forwardness |
| 8 | 4 kHz | Bell | attack, edge, glare, detail |
| 9 | 8 kHz | Bell | sibilance, cymbal sheen, brightness |
| 10 | 16 kHz | High shelf | air, sparkle, hiss region |
The first band is a low shelf, the last band is a high shelf, and the middle bands are bell / parametric filters.
Low shelf, bell, and high shelf
These terms matter:
- Low shelf raises or lowers everything below the selected frequency. It is useful for broad bass shaping.
- Bell / parametric boosts or cuts around one center frequency. It is useful for specific regions like 250 Hz boxiness or 8 kHz sharpness.
- High shelf raises or lowers everything above the selected frequency. It is useful for broad brightness or air.
Svarga’s preset bands use a Q value around 1.41, which is moderate: not razor narrow, not absurdly broad. Imported room/headphone filters may use much higher or lower Q values depending on the measurement.
Using the EQ curve
The curve shows the approximate combined EQ response from 20 Hz to 20 kHz.
- The horizontal center line is 0 dB.
- Above the line means boost.
- Below the line means cut.
- Dots show active band positions.
- Bypassed bands are ignored.
The curve is there to stop “slider blindness.” If you push three bass bands up and one treble shelf up, you should see that you are not making a small change. You are reshaping the whole system.
Per-band bypass and reset
Each band row shows the filter type, frequency, gain slider, gain value, and dB label.
- Click the band type label to bypass that band.
- Click the gain value to reset that band to 0 dB.
- Use Reset to return the user EQ to Flat.
Bypass is useful for diagnosis. If you are not sure whether a cut at 4 kHz is helping, bypass only that band instead of turning off the entire EQ.
EQ presets
Presets are starting points, not holy scripture. They set the gain values of the ten EQ bands. After selecting a preset, you can still adjust individual bands.
| Preset | What it does | Good for | Be careful with |
|---|---|---|---|
| Flat | Leaves all bands at 0 dB. | Reference listening, troubleshooting, bit-perfect-style setup before enabling other DSP. | Nothing. It should sound like your source and system. |
| Bass Boost | Lifts 32/64/125 Hz and slightly relaxes upper treble. | Lean speakers, quiet listening, thin recordings. | Too much bass can clip, overload small speakers, or excite room modes. |
| Treble Boost | Adds presence and high-frequency lift from 4–16 kHz. | Dark headphones, dull speakers, older warm recordings. | Can exaggerate hiss, sibilance, cymbal splash, and harsh masters. |
| Classical | Adds low foundation, slightly relaxes 2–4 kHz, adds some top air. | Orchestral recordings, piano, acoustic space, long listening. | May soften close-mic’d modern recordings. |
| Jazz | Adds bass body and upper presence/air. | Small ensembles, double bass, cymbals, saxophone texture. | Can make bright trumpet/cymbal recordings too lively. |
| Rock | Boosts bass and upper treble with a mild low-mid scoop. | Rock, metal, energetic listening, small speakers. | Can make already-mastered-loud albums more fatiguing. |
| Electronic | Strongest low-bass lift with bright top. | Electronic, synth, dance, ambient with low-end content. | Needs headroom. Use negative preamp if it sounds congested. |
| Vocal | Cuts low bass slightly and lifts 250 Hz–2 kHz. | Podcasts, vocal jazz, singer-songwriter, dialogue-like material. | Can make vocals too forward or nasal if the recording already has midrange emphasis. |
| Acoustic | Gentle low-mid/mid lift with a little air. | Folk, acoustic guitar, strings, intimate recordings. | Can thicken warm recordings. |
| Loudness (Low Vol) | Boosts bass and treble to compensate for low-volume listening. | Late-night low-volume listening. | At normal/high volume it may sound exaggerated. |
If you use a preset with positive boosts, check preamp. Digital clipping does not always sound like obvious distortion; it can show up as flattened transients, glare, or “why did the snare get crunchy?”
Practical EQ recipes
Use small moves first. Half a dB is not cowardice; it is civilized.
| Problem | Try |
|---|---|
| Too boomy | Cut 64 Hz or 125 Hz by 1–3 dB. |
| Bass is present but muddy | Cut 250 Hz by 1–3 dB. |
| Vocals too recessed | Boost 1 kHz or 2 kHz slightly. |
| Vocals too shouty | Cut 2 kHz or 4 kHz slightly. |
| Cymbals/sibilance too sharp | Cut 8 kHz. |
| Too dark | Add a small 8 kHz or 16 kHz lift. |
| Too thin | Add 125 Hz or 250 Hz carefully. |
| Small speakers need body | Try Bass Boost, then reduce if the room gets boomy. |
Avoid giant boosts unless you are correcting a known measurement. If you want more than +6 dB, ask why. Often the better answer is a headphone profile, room correction, speaker placement, or volume change.
Crossfeed panel
Crossfeed is for headphone listening. It blends a controlled amount of left and right channel information so hard-panned stereo does not feel trapped inside your skull.
The app labels intensity roughly like this:
- Subtle: below 15%
- Light: 15–35%
- Medium: 35–55%
- Strong: 55–75%
- Heavy: above 75%
The current control range is 5–70%. The default amount is 25%.
Use crossfeed when:
- old stereo mixes have extreme left/right separation;
- headphones feel spatially unnatural;
- long listening sessions feel tiring;
- center images feel disconnected from side images.
Do not use crossfeed because you think it is automatically “better.” It is a comfort/spatial tool. Some binaural recordings, modern mixes, and spatially careful albums may sound better without it.
Svarga applies a compensation trim so correlated content does not simply get louder when crossfeed is active. Still, crossfeed is DSP, so Pure Signal Path turns off.
Preamp panel
Preamp is global gain. It is the safety valve for DSP.
Use negative preamp when:
- EQ boosts are active;
- headphone correction has positive filters;
- room correction includes boosts;
- ReplayGain is active;
- you hear clipping, crunch, or glare after enabling DSP;
- you want conservative gain staging.
Svarga allows preamp adjustment from -12 dB to +12 dB in 0.5 dB steps.
Suggested starting points:
| Situation | Starting preamp |
|---|---|
| No DSP, no ReplayGain | 0 dB |
| Mild EQ cuts only | 0 dB |
| EQ boosts up to +3 dB | -3 dB |
| Bass Boost / Electronic / Loudness preset | -4 to -6 dB |
| ReplayGain-heavy library | around -6 dB |
| Headphone profile with recommended preamp | use the profile’s preamp; add more negative preamp if needed |
| Room correction with boosts | at least the largest positive boost as negative headroom |
Example: if your room correction has a +5 dB low shelf and your EQ preset also boosts bass, a 0 dB preamp is probably asking for trouble. Try -6 dB and listen again.
Preamp is applied as gain processing. It is not bit-perfect.
Room Correction panel
Room Correction is for speaker playback. It imports filter text files from REW — Room EQ Wizard — and applies those filters as part of Svarga’s EQ stage.
Use room correction when:
- speakers are placed in a real room;
- bass is uneven because of room modes;
- one region is consistently boomy, hollow, or sharp;
- you have measured the room and generated correction filters.
Do not use room correction as a random tone control. If you have not measured the room, use the EQ panel instead.
What Svarga imports
Svarga imports REW text filter exports containing enabled filters like:
Filter 1: ON PK Fc 63.0 Hz Gain -3.6 dB Q 6.30
Filter 2: ON LS Fc 80.0 Hz Gain +4.5 dB Q 0.71
Filter 3: ON HS Fc 12000.0 Hz Gain +2.0 dB Q 0.71
Supported filter types:
PK/ bell / parametricLS/ low shelfHS/ high shelf
Filters marked OFF are ignored. If no enabled filters are found, Svarga shows an import error.
REW workflow
Typical workflow:
- Connect your measurement microphone.
- Open the REW app.
- Measure the left speaker, right speaker, or listening position according to your REW workflow.
- Generate EQ filters in REW.
- Keep the correction sane. Prefer cutting peaks over boosting deep nulls.
- In REW, export filters as text.
- In Svarga, open DSP / EQ → Room Correction.
- Click Import REW file….
- Select the exported
.txtfile. - Confirm the curve and filter list.
- Enable Room Correction.
- Open Signal Path and confirm DSP is shown honestly.
The exact REW menu wording can vary by version, but the file Svarga expects is the plain text filter export — commonly “Export Filters as Text.”
Room correction best practices
- Correct broad room problems; do not chase every tiny wiggle.
- Be careful with boosts below 100 Hz. Rooms can eat amplifier power for breakfast.
- Cutting a 10 dB peak is usually safer than boosting a 10 dB null.
- If the corrected bass sounds weak, compare level-matched before/after. Boomy bass often feels “impressive” until it disappears.
- Use negative preamp when filters include positive gain.
- Save your REW export files with clear names, such as
Living Room Sofa 2026-07.txt. - If you move speakers, furniture, subwoofer, or listening position, measure again.
How room correction combines with EQ
Room correction is added on top of your user EQ. That is powerful, but it can become messy.
Recommended order:
- Start with EQ set to Flat.
- Import and enable room correction.
- Listen.
- Only then add taste EQ if needed.
If you use a bass-heavy EQ preset on top of room correction, you may undo the correction or clip the signal. Tiny beast, sharp teeth.
Headphones panel
Headphone Correction loads measured correction filters for a specific headphone model. It is separate from Room Correction because headphones and rooms are completely different problems.
Use headphone correction when:
- your model has a built-in profile;
- you have an AutoEQ / oratory1990
ParametricEQ.txtfile; - you want a Harman-style target;
- your headphones are too sharp, too boomy, too recessed, or uneven;
- you want correction without manually copying filter values.
Do not use a profile for a similar-looking model unless you are experimenting. “HD 600” and “HD 650 / 6XX” are not the same correction. “DT 770 80 Ω” is not the same as every DT 770 variant. Pads, seal, revision, impedance, and measurement rig all matter.
Built-in headphone profiles
Svarga includes a starter catalog derived from AutoEQ / oratory1990-style measurements. Built-in profiles show model name, type, source, and recommended preamp.
| Profile | Character / what the correction is trying to handle |
|---|---|
| Sennheiser HD 600 | Neutral open-back reference; correction adds low-end support and tames the upper-treble peak. |
| Sennheiser HD 650 / 6XX | Warmer than HD 600; correction keeps the Sennheiser midrange while balancing presence/treble. |
| Sennheiser HD 660S | Modern Sennheiser tuning; correction supports bass and upper-mid balance. |
| Sennheiser HD 800S | Wide, analytical flagship; correction mainly manages bass foundation and the famous treble/presence behavior. |
| Beyerdynamic DT 770 Pro 80 Ω | Closed-back with strong bass and sharp treble tendencies; correction controls both. |
| Beyerdynamic DT 990 Pro | Open-back with pronounced upper treble; correction tames the “Beyer spike.” |
| AKG K702 | Spacious and bass-light; correction adds low shelf and manages the AKG upper bite. |
| Audio-Technica ATH-M50x | Popular V-shaped studio headphone; correction balances bass, mids, and treble edge. |
| Sony MDR-7506 | Studio workhorse with mid/treble edge; correction smooths the working-monitor character. |
| Sony WH-1000XM4 | Consumer ANC headphone; correction balances bass and presence artifacts. |
| HiFiMAN HE400i 2020 | Planar headphone with upper-mid emphasis; correction manages bass and presence. |
| Focal Elear | Warm dynamic headphone with bass roll-off behavior; correction adds foundation and balances mids. |
| Bose QuietComfort 35 II | ANC headphone with consumer bass shape; correction reins in low-end and adjusts presence. |
| Apple AirPods Pro | IEM-style wireless profile; correction balances bass and the 4 kHz region. |
The built-in catalog is intentionally not the whole universe. For many users, the import path is more important.
Selecting a headphone profile
- Open DSP / EQ → Headphones.
- Search for your headphone model.
- Click the profile row.
- Confirm Headphone Correction is enabled.
- Check the curve.
- Note the recommended preamp shown beside the profile.
- Listen at matched volume.
When a profile is loaded, Svarga stores:
- the correction bands;
- the profile label;
- the recommended headphone preamp;
- the enabled/disabled state.
You can disable the correction without clearing the profile. Use Clear when you want to remove the loaded profile entirely.
Importing from AutoEQ.app
Svarga can import ParametricEQ.txt files from AutoEQ-style exports.
Typical workflow:
- Go to AutoEQ.app or another source that provides AutoEQ / oratory1990 parametric EQ text.
- Search for the exact headphone model and variant.
- Choose the parametric EQ export, not a graphic EQ image.
- Download or save
ParametricEQ.txt. - In Svarga, open DSP / EQ → Headphones.
- Click Import ParametricEQ.txt….
- Select the file.
- Svarga loads the filters, reads the
Preamp:value, labels the profile from the file name, and enables Headphone Correction.
Expected file shape:
Preamp: -6.1 dB
Filter 1: ON PK Fc 20 Hz Gain 5.5 dB Q 0.70
Filter 2: ON LS Fc 105 Hz Gain -4.2 dB Q 0.71
Filter 3: ON HS Fc 16000 Hz Gain 1.0 dB Q 0.71
Svarga imports enabled filters and ignores disabled filters. Supported filter types are bell/PK, low shelf/LS, and high shelf/HS. Imported frequencies are clamped to the normal audio range, and extreme gain/Q values are constrained for safety.
Headphone preamp
Most headphone correction profiles include negative preamp. This is not punishment. It is headroom.
If a profile boosts part of the response by +5 dB, the output needs room for that boost. Otherwise the corrected signal can clip. Svarga stores the profile’s recommended headphone preamp and applies it with the rest of the gain staging.
If you also use global Preamp or ReplayGain, remember they stack. Example:
- headphone profile preamp: -4 dB;
- global preamp: -3 dB;
- ReplayGain track offset: -2 dB;
- total before other compensation: roughly -9 dB.
That may be exactly right. It may also be quieter than expected. Use the volume control after the signal is safe.
Headphone correction versus normal EQ
Use Headphone Correction for measured model correction. Use EQ for taste.
Good pattern:
- Load the headphone profile.
- Listen for a few tracks.
- If you still want more warmth or less treble, make small changes in the EQ panel.
Bad pattern:
- Load a profile.
- Add Bass Boost.
- Add Loudness.
- Add +6 dB at 64 Hz.
- Wonder why everything sounds like a sofa falling down stairs.
ReplayGain panel
ReplayGain normalizes perceived loudness. Svarga scans tracks using EBU R128 / BS.1770-style integrated loudness analysis and stores the values in the library.
Modes:
| Mode | Behavior |
|---|---|
| Off | No ReplayGain offset is applied. |
| Track | Each track is adjusted independently. Good for shuffled playback. |
| Album | Uses album gain when available. Good for preserving album-to-album dynamics. |
| Auto | Uses album gain when present; otherwise falls back to track gain. |
ReplayGain can also Prevent clipping. When enabled, Svarga reduces gain if the stored peak plus gain would exceed 0 dBFS.
You can scan:
- current track;
- current album;
- whole library.
Use Track mode for playlists and shuffled libraries where every song comes from a different mastering context. Use Album or Auto when listening to albums, because track-by-track gain can flatten intentional album dynamics.
ReplayGain is gain processing, so it disqualifies strict Pure Signal Path. That is expected.
DSP and Signal Path
Open Signal Path when you are not sure what is happening. Signal Path should show active DSP stages such as:
- Krada EQ;
- Room Correction;
- Headphone EQ;
- Crossfeed;
- ReplayGain;
- Preamp.
If any of these are active, the app should not claim strict Pure Signal Path. That does not mean the sound is worse. It means you are choosing correction or convenience over untouched transport.
Safe DSP workflow
If you are new to this, use this order:
- Start with EQ Flat.
- Turn ReplayGain off.
- Turn room correction off.
- Turn headphone correction off.
- Play a familiar track.
- If using speakers, import room correction first.
- If using headphones, load headphone correction first.
- Add crossfeed only if headphone imaging feels unnatural.
- Add taste EQ last.
- Set preamp for headroom.
- Open Signal Path and verify the app describes the route honestly.
The point is not to worship flat lines. The point is to know what is touching the music.
Library Sources
Settings → Sources manages where Svarga reads music from.
Supported source types include:
- Local folder
- External USB drive
- iCloud Drive
- SMB share
- AFP share
- Google Drive scaffold
- Dropbox scaffold
- OneDrive scaffold
- pCloud scaffold
For v1 practical use, local folders, USB drives, iCloud Drive, SMB, and AFP are the main paths.
The section subtitle in the app is worth remembering:
> Test checks access. Scan finds new or changed music and updates the library.
That is the whole philosophy.
What the source rows mean
Each source row shows:
- source name;
- source type;
- current status;
- track count when known;
- a location summary;
- buttons for Test, Scan, and remove.
The status color is informative:
- Green: connected.
- Yellow: connecting or scanning.
- Red: error.
- Secondary / gray: disconnected or not yet active.
Test checks whether the folder, drive, or share is reachable. It does not scan files.
Scan looks for new or changed music in that source and updates the library. If files cannot be read, or if iCloud items are still waiting to download, Svarga reports that instead of quietly pretending everything was fine.
Add a local folder
- Open Settings → Sources.
- Click Add Source.
- Choose Local Folder.
- Select the folder.
- Click Scan.
Use this for the simplest, most predictable path: music already stored on your Mac or an attached volume.
Add an external drive
Use the External Drive source type. Svarga stores a security-scoped reference so it can find the folder again later, within macOS permission rules.
This is the right choice when the library lives on a USB SSD, portable drive, or other removable storage. If the drive is disconnected, the source can still exist in the list, but it will not magically become readable until the device returns.
Add iCloud Drive
Use iCloud Drive if your library lives inside iCloud. Svarga handles files that may not already be downloaded locally.
The tradeoff is convenience versus immediacy:
- the library can live inside Apple’s synced storage;
- some tracks may still need to download on demand;
- scans can report pending cloud downloads instead of completed reads.
Add SMB or AFP NAS
Use SMB Share or AFP Share.
You will enter:
- Server address
- Share/path details
- Display name
- Credentials if required
Credentials are stored in macOS Keychain. After adding the source, use Test, then Scan.
Network sources are best when your library already lives on a NAS and you want Svarga to read it in place rather than duplicating it locally.
Cloud-drive scaffolds
You may also see Google Drive, Dropbox, OneDrive, and pCloud as source types. Treat these as scaffolds rather than the core v1 workflow. The practical day-one paths remain local folders, external drives, iCloud Drive, and SMB / AFP.
Removing a source
Removing a network source also clears its stored credentials from Keychain. That is deliberate. If a source leaves the library, its saved secret should leave too.
Metadata editing
Svarga lets you edit track metadata such as:
- Title
- Artist
- Album
- Album artist
- Year
- Track number
- Disc number
- Genre
- Composer
- Comment
- Lyrics
- ISRC
- Artwork
Intentional clears are respected. If you remove a field, Svarga should not immediately “helpfully” repopulate it behind your back.
Metadata auto-fill
Svarga can fetch missing metadata and enrich albums/artists from online sources.
Useful actions:
- Auto-fill Missing Metadata
- Re-fetch genres from Last.fm
- MusicBrainz search/edit flows
- Album and artist info enrichment
Metadata enrichment is cached in the library. The app should not repeatedly query every time you open the same album.
Last.fm
Settings → Last.fm lets you sign in for:
- Now Playing updates
- Scrobbling
- Loved tracks
- Artist and album enrichment
Browser sign-in opens Last.fm in your browser. Svarga stores the returned session key in macOS Keychain.
Scrobbling happens after a meaningful listen threshold, not after a two-second accidental click.
CD ripping
Open CD ripping from:
- Library Actions → Rip CD / Import Disc
- The Library menu
The ripper workflow includes:
- Disc detection
- Output folder choice
- Format choice
- Secure vs. Burst ripping mode (the shield button next to Add to Library, before you start ripping)
- Rip progress
- A completion report with Svarga's own read-consistency verdict
- Show in Finder
- Add to Library
CD ripping is one of the places where Svarga tries to be transparent. The completion screen leads with Svarga's own multi-pass read-consistency check — "Verified clean" or "Some sectors had read errors" — because it is self-contained: no network round-trip, no dependence on a stranger having already submitted the same disc. Svarga still looks up AccurateRip and MusicBrainz in the background for metadata and logging, but it does not headline AccurateRip match/no-match on the completion screen, because "not found" usually just means an uncatalogued pressing, not a bad rip. See Troubleshooting for what to do if a rip stalls or reports errors.
Internet radio workflow
To use Radio:
- Open Radio.
- Choose Favourites or Lossless Catalogue.
- Filter by genre, era, quality, or search text.
- Play a station.
- Add stations to favourites with the heart/menu.
Radio shows:
- Station name
- Genre
- Quality badge
- Now-playing title and artist where available
- Artwork when available
- Station website
- Live waveform
You can suggest new stations for review. Suggestions open in Mail and are not automatically added.
DSD workflow
If you have a DSD-capable USB DAC:
- Connect the DAC.
- Select it in the output picker.
- Open Settings → Audio.
- Set DSD Delivery Mode to Auto or DoP.
- Play a DSF or DFF file.
- Open Signal Path.
- Check the DAC display.
Expected behavior:
- DSD64 uses a 176.4 kHz DoP carrier.
- DSD128 uses a 352.8 kHz DoP carrier.
- DSD256 uses a 705.6 kHz DoP carrier if the DAC supports it.
- The DAC display should show DSD when DoP is recognized.
If your DAC does not recognize DoP, use PCM Conversion.
If you hear a small click when starting, pausing, or seeking DSD, that can be normal. The DAC is changing clock/format state. Relays and output stages are not always graceful little angels.
Network output and DSD
DSD over local USB DAC is one thing.
DSD over network renderers is another.
For v1, Svarga does not send raw DSF/DFF or DoP blindly to unverified DLNA renderers. Sonos is not a DSD renderer. If you are playing DSD and switch to a non-DSD network output, the correct behavior is warning, blocking, or conversion depending on the supported path — not spraying marker frames at a speaker that has no idea what they are.
Qobuz and Tidal
Svarga contains Qobuz and Tidal integration code, but public v1 availability depends on feature flags and official API readiness.
If you do not see Qobuz or Tidal in the interface, that is intentional for the current build. Svarga v1 is centered on local files, iCloud/NAS, radio, and DAC playback.
Privacy and storage
Svarga stores:
- Library index in Application Support
- Artwork cache in Caches
- Library source configuration in Application Support
- Credentials in macOS Keychain
- DSP settings in UserDefaults
Svarga does not need a subscription account to play your files.
Last.fm is opt-in.
Cloud provider credentials, where used, belong in Keychain.
Troubleshooting
I do not hear sound
Check:
- macOS output volume/mute.
- Svarga volume.
- Output picker selection.
- Whether a network output is active.
- Whether the DAC is connected and selected.
- Signal Path for the active output.
Yes, check macOS mute. It is boring. It is also undefeated.
My DAC does not show the expected sample rate
Check:
- Is the correct output selected?
- Is a network, HDMI, Bluetooth, or virtual output active?
- Is DSP or ReplayGain active?
- Does the hardware support the source rate?
- Does Signal Path report matched or converted output?
DSD plays as PCM
Check:
- Settings → Audio → DSD Delivery Mode.
- Use Auto or DoP for a DoP-capable USB DAC.
- Use PCM Conversion for non-DoP outputs.
- Check whether the DAC itself shows DSD.
- Remember: macOS seeing a PCM carrier is normal for DoP; the DAC must recognize the marker stream.
DLNA devices do not appear
Check:
- Same Wi-Fi / LAN.
- Renderer powered on and awake.
- Output picker → Search for Renderers.
- Settings network output section.
- Connect by IP if discovery is flaky.
SSDP discovery is UDP multicast. UDP multicast is useful and occasionally acts like it left its keys in another jacket.
NAS source does not scan
Check:
- Server address.
- Share path.
- Username/password.
- macOS network access.
- Settings → Sources → Test.
- Settings → Sources → Scan.
Credentials are stored in Keychain. Removing a source removes its stored credentials.
Metadata is wrong
Use metadata edit. Then, if needed, use MusicBrainz or auto-fill tools.
The internet is full of metadata. This is both a blessing and a public-health concern.
A CD rip crawls or gets stuck partway through track 1
Check:
- Is Secure mode selected? (the shield button next to Add to Library, before ripping starts)
- Secure mode re-reads and compares every sector. A scratch or a marginal spot near the start of the disc can turn into dozens of retries in a row, which looks like the progress bar has frozen.
- Switch to Burst mode as a diagnostic. Burst reads each sector once with no comparison, so it will power straight through a spot Secure gets stuck on.
- If Burst finishes and Secure consistently hangs at the same point every time you try, that is a real, physical read-reliability issue at that spot on the disc — not a Svarga bug. Switch back to Secure once you're done diagnosing.
The start of the disc (innermost tracks) is disproportionately prone to this: it is both the hardest part of the disc for a drive to track precisely and the area most exposed to handling damage and fingerprints.
A CD rip finishes but reports "Some sectors had read errors"
This means Svarga read the same sectors more than once during the rip and the drive returned different bytes on at least one of them. Try, in order:
- Clean the disc (wipe straight from the center to the edge, never in a circle) and rip again.
- Try a different optical drive if you have one — drives vary a lot in how well they handle marginal media.
- Rip it again on the same drive. If the exact same sectors fail every time, that region of the disc likely has a permanent defect (scratch, pressing fault). If a different range fails each time, that points more toward drive or environmental noise than a fixed defect.
Should I use Secure or Burst mode?
- Secure (default): every sector is read and compared across multiple passes before being accepted, and mismatches trigger rereads. Slower, but it can catch and correct inconsistent reads.
- Burst: a single pass, with no comparison at all. Much faster, but a clean-looking Burst rip is not proof the audio is bit-perfect — it only proves the drive didn't outright fail to return data for those sectors. Treat Burst as a speed option for discs you already trust, or as a diagnostic tool (see above), not as a verification mode.
Svarga doesn't find my album automatically when ripping
Svarga tries an exact disc-ID match against MusicBrainz first, then falls back to a fuzzy match based on track layout. Both can miss even on common, popular albums — the exact-match database only knows about pressings other people have already submitted. Use manual search / metadata edit after ripping if the automatic match doesn't show up; it isn't evidence anything went wrong with the rip itself.
My rip isn't in the AccurateRip database
Expected for less common pressings, and not evidence of a bad rip. Svarga's own multi-pass read-consistency result ("Verified clean" on the completion screen) is the primary quality signal precisely because it doesn't depend on anyone else having submitted the same disc.
Svarga doesn't ask for disc access until I open the CD Ripper
Intentional. The macOS "Removable Volumes" permission prompt only appears the first time you open the CD Ripper screen, not at app launch.
Website screenshot shot list
For the website build, use real app screenshots before drawing abstract UI schemes. Suggested capture set:
- Home with a populated library.
- Album Detail with artwork, track list, and cached album info.
- Signal Path showing Pure Signal Path on a USB DAC.
- Signal Path showing DSP active, for honesty.
- Output picker showing Local, DLNA / UPnP, and Chromecast sections.
- Radio showing the Lossless Catalogue and now-playing panel.
- Mixtapes fullscreen mode.
- DSP / EQ with the six tabs visible.
- Sources view with Local, iCloud, SMB/AFP examples.
- CD Ripper completion screen.
- Now Playing overlay.
- Settings → Audio → DSD Delivery Mode.
If screenshots are not available yet, use these as layout placeholders — but replace them with the real app before public launch. Svarga’s UI has enough character that fake rectangles would be a downgrade.
The short version
Use Svarga like this:
- Add your library.
- Select your DAC.
- Play a known-good album.
- Open Signal Path.
- Turn on DSP only when you mean it.
- Use Radio and Mixtapes when you want discovery.
- Use Sources when your music lives on iCloud, USB, or NAS.
- Use DoP for DSD-capable USB DACs.
- Use PCM Conversion when compatibility matters.
- Enjoy your music without renting it back from someone.
That is Svarga: local-first, signal-path honest, and allergic to subscription fog.