SpotiFLAC v2.1.6
SpotiFLAC v2.1.6
Download Spotify tracks in FLAC quality from Tidal, Qobuz & Amazon Music.
What's New
Added
-
Metadata Enrichment: Automatically fetches full track details if metadata is incomplete (e.g., Track Number 0)
- Fixes missing Track Number, Disc Number, and Year for tracks added from Search results
- Ensures accurate tagging for Deezer/Tidal downloads
- Still 0 in frontend but normal in other Music player eg Poweramp
-
ISRC Index Building: Fast duplicate checking with cached ISRC index
- Scans download folder once and builds index of all ISRCs
- 5 minute cache TTL for optimal performance
- Parallel duplicate checking for album/playlist tracks
- Auto-adds new downloads to index (no rebuild needed)
-
Japanese to Romaji Search: Better search results for Japanese tracks
- Converts Hiragana/Katakana to Romaji for Tidal/Qobuz search
- 4 fallback search strategies (like PC version):
- Original text (artist + track)
- Romaji converted (artist + track)
- ASCII-only cleaned version
- Artist name only as last resort
- Handles combination characters (きゃ →kya, シャ →sha, etc.)
-
SongLink Deezer Support: Query SongLink using Deezer ID as source
CheckAvailabilityFromDeezer()- find track on other platforms using Deezer IDCheckAvailabilityByPlatform()- generic function for any platformGetSpotifyIDFromDeezer(),GetTidalURLFromDeezer(),GetAmazonURLFromDeezer()- Useful when starting from Deezer metadata
-
LRC Metadata Headers: Lyrics now include metadata headers
[ti:Track Name]- track title[ar:Artist Name]- artist name[by:SpotiFLAC-Mobile]- generator tag
-
Download Error Types: Better error categorization for UI
not_found- track not available on any servicerate_limit- API rate limit exceedednetwork- connection/timeout errorsunknown- other errors
-
Amazon Rate Limiting: Proper rate limiting for Amazon via SongLink
- 7 second minimum delay between requests
- Max 9 requests per minute
- 3x retry with 15s wait on 429 rate limit
Fixed
- SongLink 400 Error: Added validation for empty Spotify ID
- Specific error messages for 400, 404, 429 status codes
- Better error handling for invalid track IDs
- gomobile Compatibility: Fixed
ISRCIndex.Lookup()signature- Changed from
(string, bool)to(string, error)for gomobile binding
- Changed from
Technical
- New file:
go_backend/romaji.gowith Japanese to Romaji conversion - New file:
go_backend/duplicate.gowith ISRC index building - Updated
go_backend/tidal.goandgo_backend/qobuz.gowith romaji search strategies - Updated
go_backend/songlink.gowith Deezer support functions - Updated
go_backend/exports.gowith new export functions for Flutter - Updated
go_backend/lyrics.gowithconvertToLRCWithMetadata() - Updated
go_backend/progress.gowithSpeedMBpsfield - Updated
lib/models/download_item.dartwithDownloadErrorTypeenum - Updated
lib/screens/queue_tab.dartwith speed display and error messages
Downloads
- Android (arm64):
SpotiFLAC-v2.1.6-arm64.apk(recommended) - Android (arm32):
SpotiFLAC-v2.1.6-arm32.apk(older devices) - iOS:
SpotiFLAC-v2.1.6-ios-unsigned.ipa(sideload required)
Installation
Android: Enable "Install from unknown sources" and install the APK
iOS: Use AltStore, Sideloadly, or similar tools to sideload the IPA