About • Installation • Build • Authentication
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. This project was made with WinUI 3 and TemplateStudio. Under the hood, the app uses FFmpeg and APIs from Deezer, Qobuz, Spotify, and Youtube.
FluentDL is organized into three sections: Search, Local Explorer, and Queue.
Search
|
|
Local Explorer
|
|
Queue
|
TIP: change the number of threads in settings for significantly faster conversions, matching, and downloading.
This project is deployed using MSIX, which installs the application on Windows. To install this application, download the first zip from Releases.
The application may be installed directly using a powershell script located in the zip folder. 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
and press Run with PowerShell
.
If that option is not available, open Powershell or CMD into the root directory and run the command:
powershell.exe -executionpolicy unrestricted .\Install.ps1
The application is now installed, and you should be able to find "FluentDL" with Search or in your Apps list.
Your machine should have the ability to develop WinUI 3 applications. See the official installation and setup guides, Install tools for the Windows App SDK and Create your first WinUI 3 project.
Then, open the Solution file .\FluentDL\FluentDL.sln
using Visual Studio.
An experimental package must be installed seperately, but latest assemblies are not compatible with .NET 7. A migration to .NET 8 is in progress, which fixes the build errors caused by marquee text. Read more about the issue here. TDLR; building is sort of broken right now, temporary fix hopefully coming soon.
The pre-built FFmpeg executable is found at ./Assets/ffmpeg/bin and contains many additional codecs, such as libopus and libvorbis.
You may use your own FFmpeg binaries, but note that libopus is required for Youtube's highest quality source.
Before using the application, head over to the settings page through the sidebar.
Searching songs does not require authentication, however Spotify is the only exception. Spotify will require API tokens (a client ID and client secret) which can be entered in the settings page. For more details on obtaining these tokens, visit the official documentation.
Downloading from Youtube does not require authentication. Downloading from Deezer and Qobuz require authenticated through ARLs and Tokens respectively. You do not have re-enter credentials each time because they are stored locally. Note that tokens expire or may break due to occasional web-player changes.
Deezer and Qobuz FLAC sources are only accessible with premium accounts. Here is a guide on using Spek to verify your file quality.
If you already have them, enter them in settings. Otherwise:
In order to obtain your Deezer ARL, log into https://www.deezer.com/. Then open Developer Tools, and head to the Application
tab. In the sidebar, open the dropdown list for Cookies
and there should be an subitem https://www.deezer.com/
. Click on the subitem and to find the the arl
value, which should be 192 characters long. Note that you should open the dropdown for the Cookies
section, not click on it.
Similarly, to obtain a Qobuz id and token, log into https://play.qobuz.com/ and open Developer Tools. Head over the Application
tab, open the dropdown list for Local Storage
and click on the subitem https://play.qobuz.com
. You should then click on the localuser
JSON object in the viewing window, where you can find the fields id
(7 digits) and token
(86 characters).