Repository navigation
Releases
RateMatch v0.3.4 — Mini mode (Pre-release)
RateMatch v0.3.4 introduces a refreshed native UI, new branding and compact mini mode.
Changes:
- Compact 480 x 88 always-on-top bar: artwork, title, artist, album and output format.
- Drag to move; expand or Escape to restore the main window.
- Switching, AAC, idle and device-limited status. Clamped is not reported as an exact match.
- New icon and README, architecture, privacy and usage documentation.
Downloads: standalone EXE or portable ZIP. Extract the ZIP and run RateMatch.exe.
Validation: release build and 6 local tests passed. Mini/main navigation and Escape checked manually. Clamped status tested synthetically; physical clamping and all DPI combinations are not fully validated. External catalog/artwork integration checks previously failed in this environment.
Format matching does not guarantee bit-perfect playback or Exclusive Mode. Apple Music for Windows is the supported player.
v0.3.2 Pre-Release
What's New in v0.3.2
Offline & Downloaded Media Support (Instant Local Resolver)
Version 0.3.2 introduces a local format resolver that reads Apple Music's downloaded media containers, allowing the application to identify track formats without relying solely on online catalog metadata.
- Inspects Apple Music local download containers under
%USERPROFILE%\Music\Apple Music\Media\Apple Music\...\*.movpkg. - Parses unencrypted HLS manifests (
master.m3u8) to extractSAMPLE-RATEandBIT-DEPTHinformation. - Cross-references manifest information with completed stream IDs recorded in
boot.xmlto identify the corresponding downloaded media format. - Detects downloaded Hi-Res Lossless tracks, including 96 kHz / 24-bit and 192 kHz / 24-bit formats, without requiring an active internet connection for local format resolution.
- For online tracks with ambiguous or capped public API metadata, an available local download can take priority and provide a more specific format reference.
Dynamic ETW Telemetry & 30-Log Learning Window
This release expands the application's ability to learn and resolve track formats from Apple Music's local playback telemetry.
Expanded Startup History Window
- Increased the initial
SavedLogsscan from 5 to 30 historical ETL logs. - Allows the application to process a larger playback history during startup.
- Extracted and correlated format information is persisted in the local Adam ID format cache, helping improve resolution for previously played tracks.
Live SavedLogs Rotation Ingestion
- Added dynamic monitoring for newly archived playback session logs in
SavedLogs. - When Apple Music completes a session and archives its ETW log buffer, the application automatically processes the new telemetry.
- Extracts reported format information, including
asbdSampleRateandsdBitDepth, and updates corresponding cached track mappings. - Helps refine earlier format estimates, such as upgrading an interim 96 kHz resolution to a telemetry-reported 192 kHz format, without requiring manual cache intervention.
Startup DAC Format Preservation
Idle State Gating
- Fixed an issue where launching LosslessSwitcher while Apple Music was paused or idle could unnecessarily force the audio endpoint to 24-bit / 44.1 kHz.
- Added playback-state gating to prevent unnecessary endpoint format changes when no active music playback is detected.
- Preserves the DAC's existing default endpoint format, including configurations such as 32-bit / 384 kHz or 24-bit / 48 kHz, until active playback requires a format adjustment.
Smart Hi-Res Ambiguity Handling
Rational Interim Fallback
- Improved format estimation for streaming Hi-Res tracks when Apple's public web API provides limited sample-rate information.
- When the actual Hi-Res sample rate cannot be determined from available metadata, the application now uses 96 kHz / 24-bit as an interim fallback instead of defaulting to CD-quality 44.1 kHz.
- This fallback is based on the observation that approximately 85% of Apple's Hi-Res catalog uses 96 kHz, providing a more practical initial estimate while waiting for more specific format information.
Hardware Safety Clamping
- Retains WASAPI hardware candidate probing to identify formats supported by the active audio endpoint.
- When a requested sample rate is unsupported by the connected DAC, such as 88.2 kHz or 176.4 kHz, the application selects a supported alternative through its hardware format validation process.
- Helps avoid requesting unsupported endpoint formats during automatic switching.
Downloads
| File | Type | Description |
|---|---|---|
AMWin-LosslessSwitcher-Setup-v0.3.2.exe |
Windows Installer | Full Inno Setup installer for standard installation. |
AMWin-LosslessSwitcher-Portable-v0.3.2.exe |
Portable Executable | Single-file portable binary that runs without installation. |
Platform: Windows 10 / 11 (64-bit)
License: GPL-3.0
For installation instructions and additional details, see the [README].
v0.3.1 Pre-Release
What's New in v0.3.1
Audio Engine & Driver Synchronization
This release focuses on improving playback reliability during audio format transitions, particularly when switching between standard Lossless and Hi-Res Lossless tracks.
Fix Intermittent Silent Playback on Hi-Res Transitions
- Fixed an issue where transitioning from standard audio formats (16-bit / 44.1 kHz) to Hi-Res formats (24-bit / 96 kHz and above) could cause Apple Music's progress bar to continue advancing while no audio was audible.
- Improved synchronization between endpoint format switching and Apple Music playback resumption to reduce the likelihood of silent playback during transitions.
Adaptive Hardware Settling Delay
- Introduced an adaptive settling delay ranging from 280 ms to 320 ms when switching between different sample-rate clock families (44.1 kHz family ↔ 48 kHz family).
- This additional delay gives the DAC and audio driver pipeline more time to settle after a clock-family transition.
- Same-family transitions, such as 48 kHz ↔ 96 kHz, retain a shorter delay of approximately 80 ms for faster switching.
Deep WASAPI Render Verification
- Enhanced
probe_device_readywith additional WASAPI render-pipeline readiness checks. - Verifies that the low-level
IAudioRenderClientpipeline is bound and ready to accept PCM audio frames before sending the SMTC Resume command. - Helps prevent playback from resuming before the audio rendering pipeline is ready.
Safer Baseline Default
- Increased the default baseline settling delay from 200 ms to 300 ms.
- Provides additional transition headroom for a wider range of USB DACs and onboard audio drivers.
User Interface & Cleanup
Streamlined About Tab
- Removed the redundant duplicate Clear Cache button from the About tab.
- The primary Clear Cache button remains available in the General Settings tab, next to the Settling Delay slider.
Downloads
| File | Type | Description |
|---|---|---|
AMWin-LosslessSwitcher-Setup-v0.3.1.exe |
Windows Installer | Installs the application with Start Menu and Desktop shortcuts. |
AMWin-LosslessSwitcher-Portable-v0.3.1.exe |
Portable Executable | Runs without installation. |
Source Code (.zip) |
Source Archive | Compressed source code for this release. |
Source Code (.tar.gz) |
Source Archive | Compressed source code in TAR.GZ format. |
Platform: Windows 10 / 11 (64-bit)
License: GPL-3.0
For installation instructions and additional details, see the [README](../../#readme).
v0.3.0 Pre-Release
What's New in v0.3.0
Hybrid Detection Engine (Native ETW Telemetry)
Previous versions relied primarily on Apple Music's public Web API (amp-api) to resolve track formats. However, its browser playback manifests are limited to 48 kHz, making it difficult to distinguish between 96 kHz and 192 kHz Hi-Res Lossless tracks.
Version 0.3.0 introduces a native diagnostic log reader (EtwLogReader) that combines catalog metadata with local playback telemetry:
- Reads Event Tracing for Windows (
.etl) logs generated by Apple Music Windows' playback agent (AMPLibraryAgent.exe, including itscmplayercomponent). - Extracts audio format information from
mediaFormatinfoevents, includingasbdFormatID,sdFormatID,asbdSampleRate, andsdBitDepth. - Identifies ALAC playback formats, including sample rates such as 96 kHz and 192 kHz, with their reported bit depth.
- Filters transitional buffering events (
qaac→qlac) to avoid applying preliminary format information. - Correlates track identifiers (
adamID) with playback events across track transitions, using related playback log events such assong changed,/syllable-lyrics, and FairPlay lease events. - Uses dynamic telemetry parsing without track-specific or artist-specific hardcoding.
Live Format Refinement
For uncached tracks, Apple Music may take a few hundred milliseconds to flush playback telemetry to its local log.
During this period, the Coordinator can apply an initial format estimate from catalog metadata. Once the corresponding ETW telemetry becomes available, the endpoint format is automatically refined to match the reported playback format.
This allows playback format detection to proceed without waiting for the local log buffer before making an initial adjustment.
Cache Architecture v4
- Upgraded the local catalog cache schema to v4 (
catalog_cache.json). - Stores track ID (
adamID) to resolved format mappings locally. - Repeated playback of cached tracks can use previously resolved format information for faster switching.
Audio Transparency
Version 0.3.0 also improves the project's documentation around Windows audio behavior:
- Clarifies that the application synchronizes sample rate and bit depth at the Windows audio endpoint level.
- Documents Apple Music for Windows' use of WASAPI Shared Mode.
- Explicitly states that the application does not provide WASAPI Exclusive Mode, ASIO bypass, or a bit-perfect guarantee.
Verified Resolution Tests
The following tracks were used to test format detection and endpoint switching:
| Track & Artist | Catalog Trait | Resolved Endpoint Format | Lossless Status |
|---|---|---|---|
| Coldplay — Yellow (Parachutes) | Hi-Res Lossless | 192 kHz / 24-bit | Lossless (ALAC) |
| Eagles — Hotel California (2013 Remaster) | Hi-Res Lossless | 192 kHz / 24-bit | Lossless (ALAC) |
| RIIZE — Behind The Shine (The Perfect Crown OST) | Hi-Res Lossless | 96 kHz / 24-bit | Lossless (ALAC) |
| The Rose — Back To Me (DUAL) | Lossless | 48 kHz / 24-bit | Lossless (ALAC) |
| DxS — Blue (Serenade - EP) | Lossless | 44.1 kHz / 16-bit | Lossless (ALAC) |
| JOY — Hello (Special Album) | Lossy AAC | 44.1 kHz / 16-bit | Lossy (AAC) |
These results represent the tested endpoint formats and reported playback information. They do not establish bit-perfect output.
Downloads
| File | Type | Description |
|---|---|---|
AMWin-LosslessSwitcher-Setup-v0.3.0.exe |
Windows Installer | Installs the application, creates Start Menu and Desktop shortcuts, and provides an optional startup launch setting. |
AMWin-LosslessSwitcher-Portable-v0.3.0.exe |
Portable Executable | Runs without installation and supports adjacent configuration and cache storage using portable.dat or the --portable argument. |
Platform: Windows 10 / 11 (64-bit)
License: GPL-3.0
For installation instructions and additional details, see the [README](../../#readme).
v0.2.0 Pre-Release
LosslessSwitcher for Apple Music v0.2.0 — Pre-release
A lightweight, native 64-bit Windows utility that automatically synchronizes your audio output sample rate and bit depth with Apple Music track metadata.
Version 0.2.0 introduces improved track matching through Apple Music Catalog Search integration, dedicated handling for lossy AAC tracks, persistent hardware clamping indicators, and refined window and system tray behavior. Hi-Res Lossless targeting has also been improved and is currently undergoing further testing.
Highlights & What's New
-
Apple Music Catalog Search Integration
- Integrated Apple Music Catalog Search (
amp-api) as the primary search source, with iTunes Search as a fallback. - Improves track identification accuracy, particularly for regional releases and specific album editions (e.g., The Rose — Back To Me from DUAL).
- Fixed an issue where unsuccessful catalog lookups could be cached as permanent 44.1 kHz / 16-bit fallback results.
- Integrated Apple Music Catalog Search (
-
Explicit Lossy AAC Detection
- Added dedicated detection and handling for standard lossy AAC tracks (e.g., JOY — Hello).
- The interface now explicitly displays
Source: AAC (Lossy)instead of presenting an assumed 44.1 kHz / 16-bit lossless format. - Automatically targets a native 44.1 kHz Windows audio endpoint format for lossy AAC playback.
-
Improved Hi-Res Lossless Format Detection
- Improved sample rate detection and targeting for Hi-Res Lossless tracks, with a target of up to 192 kHz / 24-bit.
- Addresses cases where web manifest information was limited to 48 kHz, resulting in incorrect sample rate targeting (e.g., Coldplay — Yellow).
- Automatically clamps the target format to 96 kHz or the highest supported rate when the connected audio device cannot handle the requested format.
- 192 kHz targeting is still under testing and may not work consistently across all tracks and audio devices.
-
Persistent Hardware Clamping Indicator
- The
(Clamped)status tag now remains visible during steady-state playback whenever the requested track format exceeds the connected audio device's supported capabilities.
- The
-
Refined Window & System Tray Behavior
- Minimize (
_): Minimizes the application normally to the Windows Taskbar. - Close (
[X]): Hides the application window to the System Tray for background operation. - Exit: Right-click the System Tray icon and select Exit to completely close the application and restore the original audio settings.
- Updated the main window button label to Hide to Tray.
- Minimize (
-
About Tab & Project Branding
- Added a direct GitHub link in the About tab.
- Standardized the application name to LosslessSwitcher for Apple Music and the repository name to
AMWin-LosslessSwitcher.
Downloads
AMWin-LosslessSwitcher-Setup-v0.2.0.exe— Recommended Windows installer with optional Startup integration.- Portable executable — No installation required.
Important Notes
- Apple Music for Windows operates in Windows Shared Audio Mode. This utility does not enable Exclusive Mode.
- Matching the Windows audio endpoint format does not guarantee bit-perfect playback due to Windows audio engine mixing.
- Actual format switching depends on the selected audio device, its driver, and supported formats.
- Track format information is resolved from Apple Music metadata, not directly measured from the decoded audio stream.
- This is a pre-release version. Feedback, bug reports, and hardware compatibility reports are welcome.
v0.1.0 Initial Pre-Release
LosslessSwitcher-AM v0.1.0 — Pre-release
A lightweight, native 64-bit Windows utility that automatically synchronizes your audio output sample rate and bit depth with Apple Music track metadata.
Designed for external DACs and audio interfaces, LosslessSwitcher-AM helps keep your Windows audio endpoint format aligned with the detected track format, supporting up to 192 kHz / 24-bit.
Highlights
- Automatic Audio Format Switching — Dynamically adjusts the selected Windows audio endpoint sample rate and bit depth based on Apple Music track metadata.
- Dual Switching Modes
- Seamless Mode: Keeps the endpoint at 24-bit while dynamically switching sample rates.
- Purist Mode: Dynamically matches both sample rate and bit depth to the detected track format.
- Apple Music Metadata Matching — Uses Windows SMTC playback information and metadata from Apple Music Web and iTunes to identify matching tracks and their audio formats.
- Native Windows Experience — Built with Rust and Win32 APIs. Includes a lightweight GUI, system tray support, and background operation.
- Configurable DAC Settling Delay — Adjust the delay between format changes to accommodate different audio devices.
Downloads
LosslessSwitcher-AM-Setup-v0.1.0.exe— Recommended installer, with optional Windows Startup integration.lossless-switcher-am.exe— Portable executable. No installation required.
Important Notes
- Apple Music for Windows uses Windows Shared Audio Mode; this utility does not enable Exclusive Mode.
- Matching the Windows endpoint format does not guarantee bit-perfect playback.
- Actual format switching depends on the selected audio device and its driver.
- Track format information is resolved from Apple Music metadata, not directly measured from the decoded audio stream.
This is an early pre-release. Feedback, bug reports, and hardware compatibility reports are welcome.