I like MediaHuman YouTube Downloader. It is flexible and feature rich.
But yes, as Zerow wrote in the first post, it does not download in the best possible quality, too. (Comment 2021.07.27.: unfortunately, YouTube Video and Audio Downloader (Dev Edt.) in Firefox seems to be broken already for a month. So, now the only way to download the best original sound quality, is Audacity recording -- but it is very time consumable, and requires excellent equipment.)
But, as AudaCity manual say,
Recording from an analog audio interface is relatively inexact and lossy, because the digital source is converted to analog to play it, then back to digital to record it. The resulting quality will depend (amongst other things) on the quality of your audio interface's digital to analog and analog to digital converters.
You must to have an excellent equipment. I did a try (on this). Sound, recorded with a mid-class laptop, is noticeably worse, than downloded with MHYTD. Despite the fact, that the frequency transmission is weaker (only 16 kHz instead of 20, with a sharp cut).
So, MHYTD:
For downloading only music i use settings:
General: Add links from the clipboard automatically. Start download automatically. Expand playlist automatically.
Audio output: place in subfolder named as playlist title.
Filename template:
{Artist}___{Title}___{VideoAuthor}___{UploadDate}___{ItemID}
Add number to filename.
Output: Original M4a.
In browser i copy the link of a playlist. MHYTD downloads all into a new folder. I drop the folder into Mp3tag and process an action group:
[#0]
T=5
1=%_filename_ext%
F=TEMPSTORE
[#1]
T=4
F=TEMPSTORE
1=^(\d*)(?: - )*(.*)___(.+)___(.+)___(.+)___(.+)\..{2,4}$
2=$1___$2___$3___$4___$5___$6
3=0
[#2]
T=7
F=%tempstore%
1=%track%___%artist%___%title%___%youtube_uploader%___%encodingtime%___%youtube_item_id%
[#3]
T=5
1=$replace(%encodingtime%,-,.).
F=ENCODINGTIME
[#4]
T=5
1=cs\u00f6ved (oder deiner\u00f6hre) (%youtube_uploader%)
F=WWWAUDIOSOURCE
[#5]
T=9
F=TEMPSTORE;YEAR
[#6]
T=13
1=front$if($or($grtr(%_cover_height%,1600),$grtr(%_cover_size%,524288)),' big',$if($or($grtr(%_cover_height%,850),$grtr(%_cover_size%,98304)),, 850))
3=0|3
2=0
[#7]
T=9
F=PICTURE
[#8]
T=1
F=_FIELDNAME
1=2
2=
After, i check the frequencies with Spek 0.8.2.3, as its image is very informative*. If cutoff 16 kHz, dense frequencies (as often), i convert in foobar into mp3 VBR v2 kbps (or into other quality, corresponding to the frequencies), preserving tags.
Then i select in Total Commander all images "front 850.jpg", send them into IrfanView Thumbnails, and with a batch process crop all images to a square from the centre (usually 720×720 pixel). Add them into mp3 files with an action group in Mp3tag.
In rare cases MHYTD may not work for some songs -- then i use JDownloader
Some times could be useful: YouTube Favorites Back Up To Excel
'*' Spek i use in foobar with a custom created button. I select a whole disk, and see all frequencies. Spek 0.8.2.3 can resize and remember image dimensions.
Practically, once you get into it, the whole thing works at amazing speed. I recently downloaded Evans, Gómer Edwin's 180 hours of music (from his topic) in just a few hours. Glamorous music, that takes you to another world.