meloDL is a native macOS app for downloading and converting audio with a clean, settings-first workflow.
- macOS 15.5+ (SwiftUI desktop app)
- Accepts media URLs and downloads audio tracks, including playlists.
- Supports many websites via
yt-dlp, including YouTube (Music), SoundCloud, TikTok, Instagram, and X (Twitter) and many more. - Full supported website list: https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md
- Converts to MP3, M4A, FLAC, WAV, or OGG, with a quality setting.
- Embeds artist, title, album, and related tags. MP3, M4A, and FLAC can also embed artwork.
- Supports playlist downloads with queue and status. Fast mode downloads several playlist tracks at once.
- Runs more than one download session at a time, and keeps session history so a batch can be reopened later.
- Lets you pick the destination for the next download, including folders already in the library index.
- Preview a finished track, or reveal it in Finder.
- Trim a finished track on a waveform: zoom and drag to choose the section, preview it, then save a new file or replace the original. Replacing moves the old file to the Trash, and tags and artwork stay. MP3, M4A, and OGG are cut without re-encoding. FLAC and WAV are sample-accurate.
- Prevents obvious re-downloads by checking an indexed local library before downloading.
- Supports duplicate cleanup workflows backed by full library indexing and byte-level audio hashing.
- Supports Rekordbox XML import to improve duplicate matching for DJ workflows.
- Uses staged duplicate-review sessions so changes can be reviewed, adjusted, and confirmed before final cleanup. Cards can be swiped or dragged aside.
- Includes a short post-action undo window for smart cleanup actions.
- Can run from the menu bar only, launch at login, post session notifications, and open the download folder when a batch finishes.
- Supports automatic update checks for bundled download binaries (
yt-dlp,ffmpeg,ffprobe).
meloDLuses bundled command-line tools:yt-dlpffmpeg/ffprobe
- The app orchestrates these tools through
Processexecution in Swift. - For playlist URLs, the app can prefetch entries and process multiple items.
- Finished tracks can be previewed or trimmed in the app. Trimming runs
ffmpegon the local file.
- Users can define library paths that are indexed for duplicate-aware download decisions.
- The index supports deeper duplicate cleanup by hashing raw audio bytes for high-confidence matching.
- Rekordbox XML exports can be imported to assist duplicate resolution in existing DJ libraries.
- Duplicate actions are staged for manual review before confirmation, with an undo grace period after smart cleanup.
GitHubUpdateServicechecks GitHub releases for:yt-dlp/yt-dlpeugeneware/ffmpeg-static
- Updated binaries are downloaded and replaced in Application Support.
- Version metadata is tracked in
Application Support/meloDL/versions.json.
- The macOS app itself updates through Sparkle.
- Sparkle reads an update feed (
appcast.xml) from the URL configured inInfo.plist(SUFeedURL). - Each app release should publish:
- A signed (and ideally notarized) release artifact (DMG/ZIP)
- A corresponding
appcast.xmlentry generated by Sparkle tooling
See PRIVACY.md for the basic privacy and data-handling disclaimer.
MIT. See LICENSE.
