- TypeScript 98.9%
- CSS 0.8%
- JavaScript 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| build | ||
| frontend | ||
| src | ||
| tests | ||
| .gitattributes | ||
| .gitignore | ||
| .oxfmtrc.json | ||
| .oxlintrc.json | ||
| AGENTS.md | ||
| bun.lock | ||
| electron-builder.yml | ||
| electron.vite.config.ts | ||
| knip.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vitest.config.ts | ||
SpotiFLAC
A desktop application for downloading high-quality audio (FLAC/MP3) from Tidal, Qobuz, and Amazon Music using Spotify metadata.
Credits
This project is based on:
- Original: afkarxyz/SpotiFLAC by afkarxyz
- Fork base: keypaa/SpotiFLAC by keypaa
Features
- Multi-Source Downloads: Tidal, Qobuz, or Amazon Music with automatic source selection
- Spotify Integration: Use Spotify URLs (tracks, albums, playlists, artists) for metadata
- High-Quality Audio: Lossless FLAC or high-bitrate MP3
- Automatic Metadata: Embeds track info, album art, ISRC
- Cover Art Sources: iTunes, Deezer, MusicBrainz, Spotify (prioritized by quality)
- Batch Downloads: Queue multiple tracks, albums, or playlists
- Parallel Downloads: Configurable concurrent downloads
- Library Tools: Verify and clean up your music library
- Audio Analysis: Detect upscaled files
Installation
Pre-built Binaries
Download from the Releases page:
SpotiFLAC-windows-amd64.exe- Windows 64-bitSpotiFLAC-linux-amd64- Linux 64-bit
Building from Source
SpotiFLAC is a TypeScript-only Electron app (Electron 42, electron-vite +
electron-builder). The former Go/Wails backend has been ported to the Electron
main process under src/main/ (providers, audio, persistence via node:sqlite,
download manager). ffmpeg/ffprobe are bundled via ffmpeg-static.
Prerequisites:
- Bun 1.3+ (package manager + script runner; matches the
bun.lockand the release workflow)
bun install # installs root (main process) + frontend (renderer) deps
bun run dev # run the app with HMR
bun run build # type-check + build main/preload/renderer into out/
bun run compile # build without type-checking
bun run dist # build installers (NSIS / dmg / AppImage) via electron-builder
bun run dist:dir # unpacked build (no installer) for quick local testing
bun run check # typecheck + lint + format check + tests
bun run icons # regenerate electron-builder icons under build/
Dev tooling: bun run typecheck (TypeScript 7), bun run lint (oxlint), bun run format
(oxfmt), bun run knip (advisory unused-export report), bun run knip:strict
(same report with a non-zero exit code).
Build resources are generated locally by bun run icons. Code signing is
configured in electron-builder.yml; set publish.owner/publish.repo and
win.publisherName to your signing certificate's CN before publishing.
Usage
- Enter a Spotify URL (track, album, playlist, or artist)
- Review the metadata
- Click download
Disclaimer
For personal use only. Respect copyright laws and streaming platform terms of service.