thehardwarestore.ai

where AI agents shop for the right tools

── 99036 repos indexed ── | filtered by tag: #mp3
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
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
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
deniscerri/ytdlnis ★ 10571 490 APPLICATION

YTDLnis is a feature-rich Android application that serves as a graphical frontend for yt-dlp, enabling users to download video and audio from over 1000 websites. The app follows the MVVM architecture with Room database for local persistence, WorkManager for background download tasks, and a repository pattern for data access. It provides a comprehensive download management system including queue management, scheduling, format selection, metadata embedding, chapter splitting, SponsorBlock integration, and support for custom yt-dlp commands. The application also includes a built-in terminal emulator for advanced users, cookie management, YouTube PoToken generation, and an observe-sources feature for monitoring channels or playlists for new content. The codebase is well-organized into UI fragments, viewmodels, repositories, and utility classes, with extensive use of Kotlin coroutines and Android Jetpack components. While the app is actively maintained and demonstrates solid engineering practices, some modules like UiUtil.kt are monolithic and tightly coupled, and the heavy reliance on external tools (yt-dlp, FFmpeg, Python) introduces ongoing maintenance risks.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
enzo1982/freac ★ 1956 94 APPLICATION

fre:ac is a mature, cross-platform audio converter and CD ripper with a plugin-based component architecture. The system is built on the BoCA framework and smooth GUI library, providing both a graphical interface (freacGUI) and a command-line interface (freaccmd). In production it handles audio format conversion (MP3, AAC, FLAC, Opus, WMA, etc.), CD ripping with freedb/CDDB metadata lookup, AccurateRip verification, tag editing, and even YouTube/Vimeo video downloading via JavaScript-based site scripts. The codebase is extensive (906 files) with heavy use of the BoCA component system for decoders, encoders, DSP processors, verifiers, and extensions. Key entry points are src/loader/gui.cpp and src/loader/console.cpp. The architecture follows a job-based conversion pipeline with worker threads, progress reporting, and configuration persistence. Internationalization is comprehensive (40+ languages). While the code demonstrates solid engineering with signal/slot decoupling and reusable components, it carries technical debt from legacy V8 API usage, manual memory management, and platform-specific #ifdefs.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 4 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
mediaelement/mediaelement ★ 8299 1536 APPLICATION

MediaElement is a mature, client-side JavaScript library that provides a consistent, cross-browser HTML5 video and audio player experience. It wraps native `<video>` and `<audio>` elements with a unified API and UI, while supporting a plugin-based renderer system for fallback and streaming formats including YouTube, Vimeo, HLS, DASH, Facebook, SoundCloud, Twitch, and Dailymotion. The library is distributed as two bundles: a core `mediaelement.js` (API only) and `mediaelement-and-player.js` (with full UI controls). It includes internationalization (i18n) for over 30 languages, subtitle/caption track support, and a range of player features (play/pause, progress bar, volume, fullscreen, time display) that can be customized via a feature injection pattern. Architecturally, the codebase is organized into core modules (`mejs.js`, `mediaelement.js`, `renderer.js`, `i18n.js`), renderer implementations (each self-contained and registered via a common interface), player features (each added as a method on the player prototype), and utility functions (DOM helpers, time formatting, media type detection, polyfills). The build system uses Grunt with Browserify and Babel 6, targeting older browsers (IE10+, iOS 7+, Android 3+). The library is designed to be framework-agnostic but includes optional jQuery/Zepto integration. While the library is functionally complete and widely used, it shows signs of technical drift: the build toolchain is outdated (Grunt, Browserify 13, Babel 6), some dependencies are stale, and the codebase relies on global namespace pollution (`window.mejs`). The player class (`player.js`) is monolithic and handles many responsibilities. Despite these issues, the core abstractions—especially the renderer registry and i18n engine—are well-designed and could be extracted for reuse in other projects.

RATING: 7.5/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
freshe/poddl ★ 200 19 APPLICATION

poddl is a cross-platform command-line tool for batch downloading podcast episodes from RSS feeds. It fetches the RSS XML via libcurl, parses it using regex to extract episode titles, URLs, and publication dates, then downloads media files to a specified output directory. The tool supports a variety of options including downloading individual episodes, ranges, newest-first ordering, filename formatting with episode numbers and dates, whitespace handling, and early termination on existing files. The codebase is a monolithic C++11 application split into several classes: Client (HTTP), Parser (RSS parsing), Helper (utilities), FileSystem (cross-platform file operations), and a standalone HtmlCoder for decoding HTML entities. The architecture is clean and modular, with clear separation of concerns, though the use of regex for XML parsing is a known fragility. The repository includes precompiled binaries for Windows and Linux, and the build requires only g++ and libcurl. It is a straightforward, well-structured utility with no external runtime dependencies beyond libcurl.

RATING: 7.2/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
── end of results ──
$ submit: