SpotiFLAC is a cross-platform desktop application (built with Wails v2) that enables users to download high-quality FLAC audio from streaming services (Tidal, Qobuz, Amazon Music, Deezer) by leveraging Spotify metadata. The user inputs a Spotify track, album, playlist, or artist URL; the backend fetches metadata via Spotify's internal GraphQL API using reverse-engineered TOTP authentication, resolves streaming URLs through Songlink/Songstats, then downloads from the chosen service. The app includes a comprehensive suite of audio processing tools: audio analysis (spectrogram, FFT), BPM/key detection (Essentia.js), format conversion, resampling, ReplayGain tagging, lyrics management (LRCLIB), metadata enrichment, and file management. The frontend is built with React 19, TypeScript, Tailwind CSS, and shadcn/ui components, communicating with the Go backend via Wails bindings. The backend handles persistent storage (BoltDB for queue, history, caches), FFmpeg integration, and community API sessions for Tidal/Qobuz/Amazon. The architecture is a monolith desktop app with a clear separation between frontend UI and backend services, but the backend modules are tightly coupled to the app's specific workflow. The app is open-source (MIT) with a Patreon funding model and has a large internationalization footprint (11 languages). Key entry points include the SearchBar for URL input, the download queue for batch processing, and various tool pages (Audio Analysis, Converter, Resampler, ReplayGain, File Manager, Lyrics Manager). External dependencies include Spotify's undocumented API, Tidal/Qobuz/Amazon community APIs, Songlink, LRCLIB, MusicBrainz, FFmpeg, and Essentia.js. The codebase demonstrates significant reverse-engineering effort but carries maintenance risks due to reliance on fragile third-party APIs and hardcoded secrets.
streamrip is a CLI application that downloads music tracks, albums, playlists, and artist discographies from Qobuz, Tidal, Deezer, and SoundCloud. It operates as an async pipeline: user input (URLs, IDs, or search queries) is parsed into pending items, resolved into metadata-rich media objects, and then concurrently downloaded with rate limiting. The system handles audio conversion (via ffmpeg), metadata tagging (via mutagen), artwork embedding, and maintains a SQLite database to avoid re-downloading known tracks. The codebase is modular with separate client classes for each streaming service, media abstraction layers, and a config system based on TOML. It uses rich for console output and progress bars.
LosslessSwitcher is a macOS menu bar application that automatically adjusts the audio output device's sample rate and bit depth to match the lossless track currently playing in Apple Music. It works by reading system logs (OSLog) from Music.app and CoreAudio subsystems to detect the current track's sample rate, then uses CoreAudio APIs via the SimplyCoreAudio library to switch the output device's format. The app is not sandboxed because it requires access to system logs and the ability to modify audio device properties. It is built with SwiftUI and uses Combine for event-driven updates. The architecture includes a SwiftUI app entry point (QualityApp.swift), a legacy NSApplicationDelegate for menu bar management and permissions checking, an Observable class (MenuBarController) that owns the OutputDevices and MediaRemoteController, and parser utilities for extracting sample rate and bit depth from console entries. A user can also configure a custom script to run when the sample rate changes. The code demonstrates modern Swift patterns but is tightly coupled to macOS-specific frameworks and the Apple Music ecosystem.