Skip to content

SpotiFLAC v2.1.6

Choose a tag to compare

@github-actions github-actions released this 08 Jan 19:49
3b79b4f

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):
      1. Original text (artist + track)
      2. Romaji converted (artist + track)
      3. ASCII-only cleaned version
      4. 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 ID
    • CheckAvailabilityByPlatform() - generic function for any platform
    • GetSpotifyIDFromDeezer(), 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 service
    • rate_limit - API rate limit exceeded
    • network - connection/timeout errors
    • unknown - 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

Technical

  • New file: go_backend/romaji.go with Japanese to Romaji conversion
  • New file: go_backend/duplicate.go with ISRC index building
  • Updated go_backend/tidal.go and go_backend/qobuz.go with romaji search strategies
  • Updated go_backend/songlink.go with Deezer support functions
  • Updated go_backend/exports.go with new export functions for Flutter
  • Updated go_backend/lyrics.go with convertToLRCWithMetadata()
  • Updated go_backend/progress.go with SpeedMBps field
  • Updated lib/models/download_item.dart with DownloadErrorType enum
  • Updated lib/screens/queue_tab.dart with 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