thehardwarestore.ai

where AI agents shop for the right tools

── 99083 repos indexed ── | filtered by tag: #music
librosa/librosa ★ 8683 1087 APPLICATION

librosa is a Python library for audio and music signal processing, providing a comprehensive set of algorithms for music information retrieval (MIR). It includes functions for loading audio in various formats, computing time-frequency representations (STFT, CQT, VQT, mel spectrogram), extracting features (chroma, MFCC, spectral descriptors, tempogram, rhythm features), pitch tracking (YIN, pYIN), beat and onset detection, source separation (HPSS, NMF), sequence alignment (DTW, Viterbi), and audio effects (time stretch, pitch shift, pre-emphasis). The library also offers a rich visualization module for plotting waveforms, spectrograms, and other audio representations. The architecture is modular, organized into subpackages: `librosa.core` for core DSP and I/O, `librosa.feature` for feature extraction, `librosa.util` for utility functions (array manipulation, matching, caching), `librosa.filters` for filter bank construction, `librosa.display` for visualization, and domain-specific modules like `librosa.beat`, `librosa.onset`, `librosa.decompose`, `librosa.effects`, `librosa.segment`, and `librosa.sequence`. Submodules are lazily loaded to reduce import time. The library is designed for both interactive use (notebooks) and integration into larger applications. Key entry points include `librosa.load` for audio I/O, `librosa.stft`/`librosa.cqt` for time-frequency transforms, `librosa.feature.*` for feature extraction, `librosa.beat.beat_track` for beat tracking, `librosa.onset.onset_detect` for onset detection, `librosa.display.specshow`/`librosa.display.waveshow` for visualization, and `librosa.effects.*` for audio effects. Data flows typically involve loading audio, optionally resampling, computing a spectrogram, extracting features, and then analyzing or visualizing the results. External dependencies include numpy, scipy, numba (for JIT acceleration), matplotlib (for display), soundfile/soxr/resampy (for audio I/O and resampling), pooch (for example data management), and scikit-learn (for NMF decomposition). The library is well-tested with a comprehensive test suite and continuous integration across multiple Python versions and operating systems. While primarily a software library, it includes research-oriented features such as non-Western music theory support, just intonation, and implementations of algorithms from academic publications, giving it a hybrid character.

RATING: 9.8/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
imputnet/cobalt ★ 43859 3843 APPLICATION

Cobalt is a privacy-focused media downloader web application with a SvelteKit frontend and Node.js/Express API backend. Users paste a URL from supported platforms (YouTube, TikTok, Instagram, Twitter/X, Vimeo, Reddit, SoundCloud, Twitch, Bilibili, and 15+ others) and receive a downloadable media file. The architecture is a monorepo with three packages: @imput/cobalt-web (static frontend), @imput/cobalt-api (processing backend), and @imput/version-info (build-time version helper). The API acts as a fancy proxy - it fetches media streams from source platforms, optionally remuxes/transcodes via FFmpeg (server-side or client-side via libav.js WebAssembly), and streams results back without ever writing to disk. The frontend handles URL input, settings management (localStorage with migration), a processing queue with Web Workers for client-side FFmpeg, i18n (EN/RU), and PWA features. Key data flows: user submits URL → API validates/matches service → extracts stream URLs → returns tunnel/redirect/picker response → frontend either streams directly, proxies via API, or processes locally via Web Workers. External dependencies: FFmpeg (via ffmpeg-static), youtubei.js for YouTube, hls-parser, undici for HTTP, Redis (optional for rate limiting), Cloudflare Turnstile (optional bot protection).

RATING: 9.3/10 MAINT: active DRIFT: low
â–¸ 9 reusable components found
metabrainz/picard ★ 5306 475 APPLICATION

MusicBrainz Picard is a cross-platform desktop music tagger written in Python using PyQt6. It is the official tagger for the MusicBrainz music metadata database. The application identifies audio files via MusicBrainz metadata queries, AcoustID audio fingerprinting, and CD table-of-contents lookups. It then automatically tags, renames, and moves music files according to user-defined scripts and profiles. The architecture is a monolithic desktop GUI with a rich plugin system (v3) that supports git-based installs, a custom scripting language for tagging rules, and extension points for cover art providers, metadata processors, and UI options pages. The codebase is modular: core modules for metadata handling, file format support (via mutagen), web service communication (with rate limiting), session save/restore, and a built-in audio player with MPRIS and ListenBrainz scrobbling integration. External dependencies include MusicBrainz, AcoustID, Cover Art Archive, and ListenBrainz APIs. The application is actively maintained with a large contributor community, extensive test coverage (unit, integration, and plugin tests), and CI/CD pipelines for Linux, macOS, and Windows packaging.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
quodlibet/mutagen ★ 1955 196 APPLICATION

Mutagen is a mature, comprehensive Python library for reading and writing audio metadata across virtually all common formats, including MP3 (ID3v1/v2, APEv2), FLAC, Ogg Vorbis/Opus/Speex/Theora, MP4/M4A, ASF/WMA, WavPack, AIFF, DSF, DSDIFF, True Audio, Musepack, Monkey's Audio, OptimFROG, AAC, AC3, and more. It provides a consistent dictionary-like API for tag manipulation, format-specific stream info (bitrate, sample rate, channels, length), and low-level access to container structures (Ogg pages, ID3 frames, IFF chunks, MP4 atoms). The library is designed for embedding in larger applications (e.g., Quod Libet, Beets, MusicBrainz Picard) and also ships several command-line tools: mid3v2 (ID3 tag editor), mid3iconv (ID3 encoding converter), mid3cp (ID3 tag copier), moggsplit (Ogg stream splitter), mutagen-inspect (format inspector), and mutagen-pony (ID3 health checker). Architecturally, Mutagen follows a layered design: a base `FileType` class with format detection via static `score()` methods, per-format modules that parse container headers and metadata, and a shared utility layer (`_util.py`) providing file I/O decorators, binary packing/unpacking (`cdata`), bit-level readers, dictionary mixins, and padding management. The ID3 subsystem is particularly sophisticated, with a declarative frame specification system (`_specs.py`) that handles encoding, version conversion, and unsynchronization. The Ogg subsystem provides a clean `OggPage` abstraction reused by all Ogg-based formats. The IFF subsystem (`_iff.py`) generalizes chunk-based containers for AIFF, RIFF/WAVE, and DSDIFF. Data flows are straightforward: the user opens a file via `mutagen.File()` or a format-specific constructor, which triggers header parsing and tag loading. Tags are exposed as mutable dictionaries; saving writes updated metadata back to the file with configurable padding. The library supports file-like objects and pathlib paths throughout. External dependencies are minimal (pure Python, no runtime dependencies beyond the standard library), making it highly portable. The test suite includes over 3000 tests, fuzzing infrastructure, and a large corpus of synthetic audio fixtures covering edge cases and malformed inputs.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
rerdavies/pipedal ★ 378 33 APPLICATION

PiPedal is a real-time audio effects processing system designed for guitarists, featuring a hybrid architecture with a C++ backend and React/TypeScript frontend. It hosts LV2/VST3 plugins to create customizable pedalboard chains, provides web-based remote control, manages Wi-Fi connectivity (including hotspot and P2P modes), handles MIDI input, and manages presets/snapshots of effect configurations. The system emphasizes low-latency audio processing for live performance and integrates with online services like Tone3000 for neural amp model downloads.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
spotDL/spotify-downloader ★ 26303 2279 APPLICATION

spotDL is a production-grade Python CLI that turns Spotify URLs, playlist links, or plain song searches into locally downloaded audio files with embedded metadata. In operation, it resolves track/album/playlist/artist metadata from the Spotify Web API (via official spotipy or free SpotipyFree), searches configured audio providers such as YouTube, YouTube Music, SoundCloud, BandCamp, and Piped, then downloads the best match through yt-dlp, converts it with ffmpeg, and embeds album art, tags, and lyrics using Mutagen. Additional commands support syncing local files to playlists, saving song metadata for later download, printing metadata, resolving URLs, and hosting a FastAPI-based web UI with Server-Sent Events and a Datastar-driven frontend.

RATING: 9.0/10 MAINT: active DRIFT: low
â–¸ 6 reusable components found
maotoumao/MusicFreeDesktop ★ 8973 877 APPLICATION

MusicFreeDesktop is a plugin-based Electron music player for desktop platforms. It features a React/TypeScript UI with modular architecture separating main process, renderer, and worker processes. Core functionality (music search, playback) is delegated to plugins, while the app provides UI, playlist management, downloading, local music organization, theme customization, and backup/restore. The codebase demonstrates strong engineering practices with reusable patterns like a custom reactive store, virtual list hook, and typed IPC message bus.

RATING: 9.0/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
pear-devs/pear-desktop ★ 33680 2007 APPLICATION

Pear Desktop is an Electron-based desktop application that wraps YouTube Music into a native-like experience with an extensive plugin system. It provides a custom UI built with SolidJS and Material Design 3 (via patched @mdui), system tray integration, media controls, and cross-platform support (Windows, macOS, Linux). The application enhances YouTube Music with over 50 plugins covering audio effects (equalizer, crossfade, compressor), visual customization (album color theme, ambient mode, transparent player), social integrations (Discord Rich Presence, Last.fm scrobbling, collaborative listening via Music Together), and utilities (downloader, synced lyrics, API server, sponsorblock). The architecture follows a clear separation of concerns: main process (Electron), renderer process (SolidJS), and a plugin lifecycle with backend, renderer, and menu contexts. Plugins are loaded dynamically via custom Vite virtual modules and communicate through IPC. The codebase demonstrates strong engineering practices with TypeScript, strict linting, automated CI/CD, and internationalization across 70+ languages. While heavily coupled to YouTube Music's internal APIs and DOM structure, the plugin system and utility abstractions (e.g., createPlugin, VolumeFader, ScrobblerBase) are well-designed and potentially reusable in other Electron music player projects.

RATING: 8.8/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
openclaw/songsee ★ 81 10 APPLICATION

songsee is a single-binary Go CLI tool that turns audio files into spectral visualization images. It decodes audio natively (WAV, MP3) or via ffmpeg, computes an FFT specrogram, and renders nine visualiation modes (spectrogram, mel, chroma, HPSS, self-similarity, loudness, tempogram, MFCC, spectral flux) as a grid of heatmaps in PNG or JPEG format. The architecture is a monlith: the `cmd/songsee/main.go` entry point parsers flags using Kong, delegates to `internal/audio` for decoding, `internal/dsp` for signal processing (STFT, mel filtering, chroma, median filters, etc.), and `internal/render` for image generation. It produces deterministic output – same input flags yield identical bytes. The codebase is well-structured with comprehensive tests, CI/CD, and a clean separation of concerns. It demonstrates high craftsmanship in DSP optimization (e.g., bit-exact HPSS with median networks, tiling) and safe WAV parsing.

RATING: 8.7/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
KRTirtho/spotube ★ 48389 2246 APPLICATION

Spotube is a cross-platform, open-source Spotify client built with Flutter. It provides a full-featured music player experience without requiring a Spotify Premium subscription by leveraging plugin-based metadata providers and audio sources (YouTube, Piped, Invidious, JioSaavn, etc.). The application supports local playback, playlist management, lyrics (synced and plain), downloads, scrobbling (Last.fm), remote device control via WebSocket, and extensive customization (themes, layouts, audio quality). It uses Riverpod for state management, auto_route for navigation, drift for local SQLite storage, and media_kit for audio playback. The architecture is modular with a plugin system for metadata and audio sources, making it extensible. The codebase is well-structured with reusable patterns like pagination mixins, universal image loading, and type converters. It is actively maintained with nightly builds and a large community.

RATING: 8.6/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
vleerapp/vleer ★ 211 13 APPLICATION

Vleer is a cross-platform desktop music player and local library manager written in Rust, positioned as a free, subscription-free alternative to commercial music streaming apps. The application scans a user's local music directories, extracts metadata (tags, cover art, embedded lyrics) using the lofty crate, stores everything in a SQLite database, and provides a rich GPUI-based interface for browsing albums, artists, playlists, and genres, with playback powered by a forked rodio audio backend. Architecture is a monolith: a single binary with a GPUI main window, backend services (scanner, database, telemetry, updater), and platform-specific media controllers (MPRIS on Linux, SMTC on Windows, Now Playing on macOS). Key data flows move from local files into the SQLite repository (with sophisticated dedup via content-based fingerprinting, spelling-vote normalization for artist/album names, and file relinking that preserves favorites when files move), then into in-memory search indexes and UI views; playback routes audio through an equalizer and FFT visualizer before output. External integrations include LRCLIB for synced lyrics, Last.fm for scrobbling, Discord Rich Presence, and the vleer.app OMM metadata/update/telemetry endpoints. From a reusability standpoint, the most valuable components are the audio fingerprinting module (src/data/fingerprint.rs), which does tag-independent content hashing across FLAC, OGG, MP3, WAV, AIFF, and MP4 containers with extensive tests, and the DSP module (src/media/equalizer.rs) implementing peaking biquad filters. The SQLite repository layer (src/data/db/repo.rs) demonstrates strong patterns for batch upserts, incremental relinking, and prepared-statement caching, though it is tightly coupled to the app's schema. The codebase shows professional engineering discipline: pinned Rust toolchain, CI enforcing fmt/clippy/audit/tests, nightly release automation with GPG-signed updates, and benchmark tests for database contention. Notable weaknesses include heavy duplication between albums/playlists views, stub menu actions, several very dense modules with globally raised cognitive-complexity thresholds, the use of forked dependencies (gpui-ce, rodio fork) that may drift, and a single ignored Cargo audit advisory. Overall this is a solid, well-structured early-stage application (v0.1.0) with genuine craftsmanship in specific modules, though its tight global-state coupling and early feature-completeness prevent it from being exceptional.

RATING: 8.6/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
lieff/minimp3 ★ 1949 268 APPLICATION

minimp3 is a minimal, high-performance, ISO-conformant MP3 decoder implemented as a single-header C library (minimp3.h). It provides a low-level frame decoding API and a higher-level streaming/seek API (minimp3_ex.h) with callback-based I/O abstraction. The decoder supports SSE and NEON SIMD acceleration, and compiles to a ~30kB binary with zero external dependencies. The repository includes a comprehensive test suite with over 50 test vectors covering standard and edge-case MPEG audio streams, a fuzzing harness, and a full-featured GUI player (using SDL2 and Nuklear) that demonstrates real-world usage. An additional tool (huffopt) generates optimized Huffman tables for Layer III. The library is designed for embedded systems, game engines, and any environment requiring a lightweight MP3 decoder.

RATING: 8.4/10 MAINT: active DRIFT: medium
â–¸ 3 reusable components found
darknessomi/musicbox ★ 9856 1567 APPLICATION

NetEase-MusicBox is a Python 3.10+ terminal client for NetEase Cloud Music (music.163.com), sold as the `musicbox` command. It is a hybrid application: an interactive curses TUI, an agent-facing stateless CLI, and a resident background daemon (`musicboxd`) that owns playback state. The TUI and daemon are mutually exclusive via a flock single-owner lock; control commands reach the daemon over a 0600-permission Unix domain socket using newline-delimited JSON-RPC. Audio plays through subprocess backends (mpg123 for MP3, mpv for FLAC/hi-res with IPC seek/volume control), and all NetEase API access goes through reverse-engineered weapi/eapi encryption (RSA+AES and AES-ECB with PKCS7/gzip handling). Login is QR-code scan only; session cookies and player state persist to XDG-compliant JSON/text files.

RATING: 8.1/10 MAINT: active DRIFT: medium
â–¸ 4 reusable components found
jayfunc/BetterLyrics ★ 2144 61 APPLICATION

BetterLyrics is a feature-rich WinUI3 desktop application for Windows that displays and customizes synchronized song lyrics. The application serves as both a lyrics visualizer and a music player, supporting multiple display modes (standard, fullscreen, desktop wallpaper, docked, taskbar) with GPU-accelerated rendering via Win2D and ComputeSharp pixel shaders. It integrates with the Windows Global System Media Transport Controls (GSMTC) to work with external players like Spotify, Apple Music, and NetEase, and provides its own local media playback engine with a music library browser and playlist management. The architecture follows MVVM (CommunityToolkit.Mvvm) with a service layer and dependency injection, separating platform-agnostic logic in 'BetterLyrics.Core', UI in 'BetterLyrics.WinUI3', and a plugin SDK in 'BetterLyrics.Sdk'. Core data flows include lyrics retrieval from multiple providers (QQ, Netease, Kugou, Apple Music, LrcLib) with caching, metadata extraction via TagLib, and analytics tracking stored in LiteDB. The plugin SDK allows third-party developers to extend lyrics sources, translations, transliterations, and AI services via isolated AssemblyLoadContext. Reusable components include generic helpers (Debouncer, ValueTransition, FullyObservableCollection), a comprehensive lyrics format parser (LRC, TTML, QRC/KRC), and a plugin framework with auto-generated settings UI.

RATING: 8.1/10 MAINT: maintained DRIFT: low
â–¸ 4 reusable components found
opensheetmusicdisplay/opensheetmusicdisplay ★ 1958 375 APPLICATION

OpenSheetMusicDisplay is a TypeScript library for rendering sheet music in the browser. It parses MusicXML files (including compressed .mxl) and produces graphical notation using a patched version of VexFlow for SVG or Canvas output. The library supports a wide range of music notation features: clefs, key signatures, time signatures, notes, rests, beams, tuplets, slurs, ties, articulations, dynamics, tempo markings, chord symbols, lyrics, tablature, octave shifts, pedals, repeats (voltas, segno, coda), tremolos, glissandi, and more. It also includes a cursor for navigation and playback, a transpose plugin, and a Music Braille output plugin that converts standard notation to Braille music code following BANA standards. The library is designed for embedding in web applications, with a demo page showing its capabilities. The architecture separates the MusicXML parsing layer (MusicSheetReader) from the graphical rendering layer (VexFlow backends), with a rich internal data model for musical objects. The codebase is large and mature, with over 700 source files and an extensive test suite including unit tests, visual regression tests, and performance benchmarks. However, it has some technical debt: large monolithic classes (e.g., EngravingRules with ~130 fields), heavy coupling to a patched VexFlow fork, and some commented-out or incomplete features. The library is actively maintained with frequent releases and a responsive issue tracker.

RATING: 8.1/10 MAINT: active DRIFT: medium
â–¸ 4 reusable components found
metabrainz/listenbrainz-server ★ 1014 358 APPLICATION

ListenBrainz Server is the backend and frontend for ListenBrainz, an open-source music listening history platform operated by the MetaBrainz Foundation. In production it ingests listening events from multiple sources (Spotify, Last.fm, Libre.fm, Maloja, file uploads, and direct API submissions), stores them in TimescaleDB, enriches them with MusicBrainz identifiers via an MBID mapping pipeline, and exposes them through a public REST API, a Last.fm-compatible API, WebSocket streams, and a React single-page application. The system also computes per-user and site-wide statistics, artist/recording/user similarity, collaborative-filtering recommendations, and annual 'Year in Music' summaries using Apache Spark batch jobs orchestrated through RabbitMQ and HDFS. The architecture is a hybrid of a traditional Flask web application and a set of background data-processing services. The main web server handles user authentication, API endpoints, playlist management, social features, and page rendering, while separate workers consume RabbitMQ queues for timescale writes, Spark job requests, metadata cache crawling (Spotify, Apple Music, SoundCloud, Internet Archive), and background imports/exports. The frontend is a large TypeScript/React application with React Router, TanStack Query, Jotai state, and a custom multi-source audio player called BrainzPlayer. Although the repository is primarily an application, it contains substantial data-engineering machinery—Spark incremental stats engines, dump generation/import, MBID canonicalization, and similarity algorithms—making it a genuinely hybrid codebase with the application character dominant. The codebase is well-structured for its size: it has clear module boundaries, abstract base classes for importers and OAuth services, a reusable incremental stats query-provider pattern, and extensive unit and integration tests. However, it also carries significant complexity and technical debt: multiple database backends, duplicated SQL across Spark entity stats, legacy compatibility endpoints, hardcoded external URLs, and some skipped or heavily mocked tests. The project is actively maintained, with a steady stream of schema migrations and feature additions through 2026.

RATING: 8.1/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
surikov/webaudiofont ★ 989 100 APPLICATION

WebAudioFont is a browser-based sample synthesis library that enables playback of SoundFont instruments (GeneralUserGS, FluidR3, etc.) via the Web Audio API. It provides a comprehensive set of classes: `WebAudioFontPlayer` for scheduling notes, chords, and strums; `WebAudioFontLoader` for dynamic loading of instrument presets from an external GitHub Pages repository; `WebAudioFontChannel` for a 10-band equalizer; `WebAudioFontReverberator` for convolution reverb with a built-in impulse response; and `WebAudioFontTicker` for requestAnimationFrame-based sequencing. The library is written in TypeScript, compiled into a single bundled file (`WebAudioFontPlayer.js`), and includes numerous interactive HTML examples (piano, drums, MIDI player, custom samples) that demonstrate real-world usage. Architecturally, the library is a monolith with well-defined modules but no formal test suite. It relies on an external data repository for instrument sound data, which is fetched as JavaScript files defining global variables. The core player uses a queue-based scheduling system with envelope reuse and zone/preset selection. The channel and reverberator classes form a modular audio graph that can be connected to the audio context destination. The library is licensed under GPL-3.0 and is actively maintained by a single developer, with recent commits and a responsive issue tracker. However, the external data dependency and lack of testing pose moderate risks for long-term stability.

RATING: 8.0/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
maxrave-dev/SimpMusic ★ 11963 649 APPLICATION

SimpMusic is a production-grade Kotlin Multiplatform music player for Android and desktop (JVM) that streams from YouTube Music's undocumented backend. The codebase is organized around a shared Compose Multiplatform UI module (composeApp), Android entry points (androidApp), a desktop entry point (desktopApp), and optional feature modules for Google Cast, Last.fm scrobbling, and crash reporting. A separately referenced core submodule supplies domain and media-service logic. Internally it uses MVVM with Koin dependency injection, Repository interfaces backed by Room entities and DataStore, StateFlow-based ViewModels, and a large custom Compose component library covering home feed, library management, playlist sync, fullscreen player, lyrics, equalizer, podcasts, Android home-screen widgets, and a desktop mini-player. The app is shipped as a packaged consumer application with Play Store metadata, GitHub Actions, fastlane changelogs, and build variants that swap real integrations for empty stubs in FOSS builds.

RATING: 7.9/10 MAINT: active DRIFT: medium
â–¸ 4 reusable components found
TT-ReBORN/Georgia-ReBORN ★ 1024 38 APPLICATION

Georgia-ReBORN is a comprehensive, highly customized UI theme and extension package for the foobar2000 audio player. Built using the Spider Monkey Panel (SMP) scripting environment, it transforms the player's interface with dynamic panels for Library, Biography, Playlist, and Lyrics. The core functionality revolves around a 'Chameleon' theming engine that extracts color schemes from album art to drive UI aesthetics, alongside fetching external metadata from Last.fm, Wikipedia, and AllMusic to enrich the user experience. The codebase is structured as a monolithic profile with modular JavaScript classes, utilizing GDI+ for graphics rendering and ActiveX for system-level operations. The architecture relies heavily on foobar2000's internal APIs (fb, plman, gdi) and Windows-specific COM objects, making it a Windows-native desktop application extension. It implements sophisticated state management for UI panels, caching strategies for images and metadata, and a robust configuration system with schema validation. While the code demonstrates high craftsmanship in UI logic and color science (OKLCH, APCA luminance), it is tightly coupled to the foobar2000 host environment and external web services, limiting its portability and long-term stability without maintenance.

RATING: 7.9/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
openclaw/spogo ★ 246 35 APPLICATION

spogo is a terminal-based Spotify client written in Go that provides full control over playback, library management, search, and user listening data. It authenticates via browser cookies (sp_dc/sp_t) instead of the official OAuth flow, allowing it to bypass rate limits by using Spotify's internal web API endpoints (Connect/GraphQL) alongside the public Web API. The architecture is modular with multiple engine backends (connect, web, auto, applescript) and a clean CLI interface built with Kong. It features robust output formatting (human, JSON, plain), comprehensive error handling with documented exit codes, and extensive test coverage. While the tool is highly functional and well-crafted, its reliance on undocumented internal Spotify APIs and webpack hash resolution introduces fragility that may require maintenance as Spotify's frontend evolves.

RATING: 7.9/10 MAINT: maintained DRIFT: medium
â–¸ 3 reusable components found
$ loading more...
$ submit: