# LosslessSwitcher for automated Apple Music sample rates on Mac

> LosslessSwitcher is a Swift menu bar app that detects Apple Music sample rates from system logs and applies them to the active audio device. It targets Mac users who want automatic lossless switching, but requires administrator access, cannot be sandboxed, and may interrupt playback briefly.

**vincentneo/LosslessSwitcher** — Automated Apple Music Lossless Sample Rate Switching for Audio Devices on Macs.

- Repository: https://github.com/vincentneo/LosslessSwitcher
- Stars: 1,997 · Forks: 145
- Language: Swift
- License: GPL-3.0
- Published: 2026-10-16 · Updated: 2026-10-16 · Language: en
- Canonical page: https://hysenlabs.com/projects/vincentneo-losslessswitcher

## Why LosslessSwitcher exists for macOS Apple Music listeners

LosslessSwitcher addresses a specific gap in Apple Music on macOS. The project README says Apple Music Lossless tracks can use different sample rates, but the Mac application does not automatically change the active output device to match each track. Without outside automation, a listener may have to open Audio MIDI Setup and change the sample rate manually. That is inconvenient when listening to an album that moves between standard lossless and Hi-Res Lossless tracks, including material recorded at 192 kHz.

The intended users are Mac owners who play Lossless audio through Apple Music, particularly those using external DACs, amplifiers, or other audio devices that need the configured rate to follow the source. LosslessSwitcher stays in the menu bar and can show the sample rate it has parsed from Apple Music logs. Its function is narrow but clear: it automates the transition that the README says otherwise requires manual work in Apple Music on macOS.

It does not improve the audio file, add a codec, or create lossless audio. It changes the configured sample rate of the current output device according to what it detects from Apple Music. The project is therefore most relevant when the playback chain includes hardware that benefits from receiving the correct rate and the listener does not want to open Audio MIDI Setup between tracks. It is not aimed at users who want automatic equalization, transcoding, format conversion, or playback-quality enhancement.

## The OSLog detection and device switching path

The README describes a two-part mechanism. LosslessSwitcher first reads Apple Music logs to determine the sample rate of the currently playing lossless song. It then sets that rate on the audio device currently used for playback. A track at 192 kHz prompts a switch toward 192 kHz, while a later track with a lower rate prompts the corresponding reduction.

The design depends on suitable Apple Music log information exposed through Apple's OSLog API. LosslessSwitcher is not described as inspecting the audio stream, decoding the file, or measuring samples. It reacts to log data and controls output-device settings. That distinction matters when diagnosing failures. The app is not a general-purpose audio converter, and the README does not document fallback behavior when a track produces no usable rate, when a log message changes, or when the selected device rejects a requested value.

Bit Depth switching is also supported. The README warns that enabling it reduces detection accuracy and does not recommend that option. Users who care about sample-rate switching should treat it as the documented primary behavior rather than assuming that bit-depth changes work with the same reliability. The repository is written in Swift and presented as a menu bar app, but the README does not document internal class names, persistence formats, log filters, retry limits, or recovery logic.

The process is reactive based on the README's description. LosslessSwitcher learns the rate associated with playback after Apple Music reports it, then asks the active device to change. The README says this happens "as soon as possible," without defining a timing guarantee. This architecture offers direct automation, but its correctness depends on both Apple Music's logging behavior and the output device's support for sample-rate changes.

## Installing the correct macOS release and starting it

Release selection matters because LosslessSwitcher maintains separate compatibility guidance for different macOS versions. The README directs users of macOS Big Sur 11.4 through Sonoma 14.x to the 1.x releases, naming versions 1.0, 1.1, and 1.1.1 betas. It also states that 1.x works through macOS Sequoia 15.3.1. For macOS Sequoia 15.4 and later, it directs users to a version 2.x release and describes support as beta.

The repository lists release 2.0 and 3.0-beta1, while the installation instructions specifically refer users to the v2.0 Beta 1 release page. The README does not explain what changed in 3.0-beta1 or which macOS versions it supports. A prospective user should follow the compatibility branch named by the README rather than assume that the newest listed release is suitable for every system.

Install the preferred release by downloading its `.zip` file, opening the archive, and dragging the app into the Applications folder. Then launch LosslessSwitcher and enable Apple Music Lossless mode. Add it to login items if automatic startup is wanted. The README gives this navigation path:

```text
User & Groups > Login Items > Add LosslessSwitcher app
```

No CLI installation script or package-manager command is documented. After launch, the menu bar can display a music-note control or the detected sample rate. The README does not describe a permission prompt sequence, so the administrator requirement may need to be handled as part of launching or approving system access. Verify that the menu bar value changes after playback begins and that the intended audio device receives the requested rate.

## Administrator access, unsandboxed execution, and operational costs

LosslessSwitcher cannot be sandboxed because of how it reads logs and changes audio-device settings. The README also says the user running it must be an admin because of its use of the `OSLog` API. This is a major deployment constraint rather than a minor setup detail. The project cannot run under an ordinary restricted user account based on the documented prerequisites, and organizations that prohibit administrator installation must exclude it or provide a separately approved operational procedure.

The app's resource cost is also acknowledged. Frequent querying of the latest sample rate may increase battery consumption during prolonged use on a MacBook. The README does not provide a polling interval, CPU profile, memory measurement, or configurable power policy. It would therefore be misleading to promise a negligible background cost. A MacBook listener who already limits background activity may find this tradeoff unacceptable, particularly when LosslessSwitcher remains active over long listening sessions.

Some short playback interruptions can occur while a sample-rate change is attempted. The warning should be considered before enabling the app during live listening, recording, video editing, or other work where an interruption would matter. The README does not state that every device will produce the same interruption, nor does it document recovery if switching fails.

The repository is not archived, and its last push was on 2026-06-07. That date supports treating the project as recently changed, but it does not establish how frequently issues are handled or whether every macOS release is supported. The README contains a device compatibility table for version 1.x, including Intel Macs, Apple Silicon Macs, a Hackintosh, and external audio equipment. Those entries document combinations reported as working by users; they are not a promise for every Mac or output device.

## Failure cases and the manual alternative

LosslessSwitcher is the wrong tool when automatic switching is unnecessary. A listener using a built-in output device, a fixed-rate setup, or a playback chain that does not benefit from matching Apple Music's sample rate may gain little from the added process. It is also unsuitable for a Mac where administrator access is unavailable, where sandboxed execution is mandatory, or where even a brief playback interruption is unacceptable.

The clearest alternative is manual rate control through the system audio configuration. macOS includes Audio MIDI Setup, and the README specifically describes it as the route users had to take before LosslessSwitcher. The practical difference is control. Manual configuration requires the listener to recognize the change and adjust the active device at the right time. LosslessSwitcher performs that action after parsing Apple Music logs, which removes repeated UI work but adds a background application, administrator requirements, log dependence, and possible battery use.

Another option is to leave Apple Music's behavior unchanged and use one sample rate for the whole listening session. That avoids switching interruptions, but it does not provide per-track matching when the source and device differ. The README does not compare other third-party utilities, so claims about competing apps cannot be supported from this repository information.

The principal risk is automation becoming invisible until it fails. If log parsing misses a rate, the menu bar value is the only stated visibility into what the app detected. If the hardware cannot accept the requested rate, the README provides no compatibility error report. Users should test known low-rate and high-rate tracks, inspect the displayed rate, and confirm the output device behavior before assuming that every transition occurred correctly.

## Licensing and upgrade considerations for LosslessSwitcher

LosslessSwitcher is distributed under `GPL-3.0`. That identifier matters to developers who modify or redistribute the application because the GPL contains licensing obligations, but this review does not provide legal advice and the README does not explain packaging or compliance procedures. Users who install the unmodified app still need to read the repository's `LICENSE` file and release terms for the exact applicable obligations.

Upgrade cost is driven mainly by macOS compatibility rather than a documented migration procedure. The README separates 1.x and 2.x guidance and marks support for macOS Sequoia 15.4 onward as beta. The repository also lists `3.0-beta1`, but the README does not document its compatibility or upgrade notes. There is no documented in-app migration guide, settings export, or rollback procedure for switching from one major release to another. The README mentions version-specific compatibility, so the documented upgrade path is to select the branch associated with the installed macOS release and test it with the actual playback device.

The project is not archived and its last push was on 2026-06-07, so it is not a repository marked for closure. That fact alone does not remove beta status or guarantee support for future macOS versions. An adopter is accepting an app whose central dependency is Apple Music's logging behavior, which can change independently of this repository. The device table gives useful starting points, but checking the current README and release notes remains necessary before changing the installed version.

## Conclusion

LosslessSwitcher suits Apple Music users running Lossless mode on a Mac with a compatible release and an output device that supports rate changes. It is a poor choice for managed Macs, users who cannot grant administrator access, or listeners who cannot tolerate brief interruptions. Verify the release for the installed macOS version, confirm the Apple Music and administrator requirements, then test switching with the actual output device before relying on it for normal listening.

## FAQ

### What does LosslessSwitcher do on a Mac?

It reads Apple Music logs to determine the current lossless track's sample rate, then sets that rate on the active audio device. The menu bar can display the parsed sample rate.

### Does LosslessSwitcher require administrator access?

Yes. The README says the app must run as an administrator because it uses Apple's OSLog API, and it also states that the app cannot be sandboxed.

### Which LosslessSwitcher release should I install?

The README directs macOS Big Sur 11.4 through Sonoma 14.x users to the 1.x releases, and macOS Sequoia 15.4 or later users to a 2.x release with beta support. It does not explain the compatibility of the listed 3.0-beta1 release.

### Will LosslessSwitcher interrupt playback or use more battery?

The README warns that sample-rate attempts can cause short playback interruptions. It also says frequent querying of the latest sample rate may increase battery usage on MacBooks.

## Sources

- [Issues](https://github.com/vincentneo/LosslessSwitcher/issues)
- [License: GPL-3.0](https://github.com/vincentneo/LosslessSwitcher/blob/main/LICENSE)
- [README](https://github.com/vincentneo/LosslessSwitcher/blob/main/README.md)
- [Releases](https://github.com/vincentneo/LosslessSwitcher/releases)
- [vincentneo/LosslessSwitcher on GitHub](https://github.com/vincentneo/LosslessSwitcher)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/vincentneo-losslessswitcher
