Skip to content

Fluent UI app for downloading lossless FLACs, metadata editing, audio format conversions, music source matching, and more!

Notifications You must be signed in to change notification settings

DerekYang2/FluentDL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AboutInstallationAuthenticationBuild

Sample Webp

About

A Fluent UI desktop application that helps you download lossless songs as FLACs, convert between audio formats, match songs between different online sources, edit song metadata, and more. Under the hood, the app uses FFmpeg and APIs for Deezer, Qobuz, Spotify, and YouTube.

FluentDL is organized into three sections: Search, Local Explorer, and Queue.

Search
  • Lookup songs from any of the four online sources
  • Search using natural language or strict search by title/artist/album
  • Parse all tracks from an online link, with track/album/playlist links supported
  • Open songs in preview sidebar to listen, download, or view metadata.
  • Add songs to Queue (see below)

Search Webp

Local Explorer
  • Upload files from your computer or scan all audio files in a folder
  • View file metadata and technical audio specs in-depth
  • Edit file metadata live, including option to change cover art
  • View file spectrogram using Spek
  • Convert between flac, mp3, aac, alac, vorbis, opus with control over bitrate
  • Add songs to Queue (see below)

Local Webp

Queue
  • Matching between all possible combinations of online sources (e.g., convert Spotify and YouTube to Deezer equivalents)
  • Download tracks from Deezer, Qobuz, or Youtube with maximum quality
  • Inspect downloaded tracks using Spek, a spectrogram tool
  • Run custom terminal tools on tracks using wildcards

Queue Webp

Installation

To install the app, download the first zip from Releases.

If you are updating FluentDL, directly run FluentDL_{VERSION}_x64_MSIX.msix or follow one of the options below.

If this is your first installation, you must follow one of the options below.

Before starting, open the Windows Settings app and enable developer mode: Settings > For developers > Developer Mode.

Option 1

This method works if running scripts is enabled: Settings > For developers > PowerShell.

In the root folder inside of the zip, you should see an Install.ps1 file and other files such as FluentDL_{VERSION}_x64_MSIX.msix.

Right click on Install.ps1 (in File Explorer) and press Run with PowerShell.

Option 2

This method works regardless if scripts is enabled.

If you open PowerShell into the root directory, run the command:

powershell.exe -executionpolicy unrestricted .\Install.ps1

Otherwise, run the command replacing PATH with the full path to the install script:

powershell.exe -executionpolicy unrestricted PATH

The application is now installed, and you should be able to find "FluentDL" with Search or in your Apps list.

What does the PowerShell script do?

Ideally, you would only need to run FluentDL_{VERSION}_x64_MSIX.msix, which opens the official Microsoft Store installer interface. However, the certificate is self-signed because ones from certificate authorities can cost hundreds of dollars per year. The PowerShell script trusts the self-signed certificate on your machine and then runs the MSIX. The manual way of trusting a certificate is more work. This is also why if you have already run the script (trusted the certificate), you can directly run the MSIX in the future.

Authentication

Note

Streaming services occasionally make changes to APIs, which may result in authentication issues. Double check the Issues page for ongoing problems.

The authentication required depends on the sources and features you use.

Searching and Converting

Searches and conversions do not require authentication.

If logged into the Spotify Web Player in your default browser, FluentDL will automatically authenticate from cookies.

Otherwise, the bundled API keys will be used.

If the bundled keys are rate limited, generate your own as described in the authentication wiki.

Downloading

Authentication requirements for downloading varies for the sources. The type of account (free vs subscription) may also affect the audio quality available. You do not have re-enter credentials each time because they are stored locally. They can be left alone for months or even longer, but may eventually expire or invalidate due to occasional web-player changes.

Service Downloads
Youtube No Authentication Required (128 kbps OPUS, similar to 192kbps MP3)
Deezer Free Account (128 kbps MP3), Premium Account (320 kbps MP3 and 16bit/44.1kHZ FLAC)
Qobuz Free Account (30 second preview), Premium Account (up to 24bit/192khz FLAC)
Spotify Not Available

Retrieving Tokens

Qobuz email and password is self explanatory. Some authentication methods, such as Deezer ARL, Qobuz id/tokens alternative, or Spotify developer app tokens, are not obvious.

However, tokens are not difficult to obtain: see the authentication wiki for a detailed guide.

Build

Only relevant for developers who wish to customize source code.

To build and run the project on Visual Studio, see development wiki.

About

Fluent UI app for downloading lossless FLACs, metadata editing, audio format conversions, music source matching, and more!

Topics

Resources

Stars

Watchers

Forks

Languages