Inrixia / neptune-plugins

Plugins for the Tidal Desktop App. Quality & FLAC Info, LastFM, Downloads & More!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SongDownloader: Enable download of content in 'Low' and 'Lowest' quality

Fulch36 opened this issue · comments

Currently, the available quality settings for the SongDownloader plugin, appears to be restricted to a subset of the AudioQualityEnum values. There is a comment that appears to explain the lack of MQA format support but both the 'Low' and 'Lowest' formats are also excluded from validQualitiesSettings, seemingly without reason.

Would it be possible to enable the download of content in these lower quality settings?

Why would you download low if high is available?

To clarify incase you have misunderstood.

The downloader currently supports downloading low and lower quality files (though tagging/Metadata is not supported atm as the file type is not flac).

But if a file has High quality then the downloader will use that or higher depending on your preference.

I don't really see the use case for having the option to select low explicitly for songs that have High quality.

The main reason the quality selector is there is for analyzing High vs MQA tracks.

If you can provide a decent reason for explicitly selecting low quality then I'd be happy to either add it or have you add it in a PR.

Appreciate the speedy response and happy to elaborate on my use case.

I'm in the midst of migrating from Spotify to Tidal and make regular use of the ability to sync playlists offline, to a Wear OS smartwatch for use in the gym. Unfortunately, Tidal do not offer a Wear OS client application of any kind which has led to me seeking out workarounds. In my opinion, this particular listening scenario benefits very little from the increase in quality that FLAC brings over AAC and given the low amount of storage available on current wearables, the lossy format is my preference.

As it stands, I can use the plugin to download content in FLAC but then have to convert it to a lossy format, my aim was to skip this step.

However, I'd completely overlooked the fact that the plugin was having to generate suitable tags for the content. That adds considerably to the work involved here.

I can work on getting tags supported for the new format. It was something on my todo list, though I do remember running into some problems trying to do so when originally testing low quality support (thus the lack of implementation).

Honestly I'd be curious to see if encoding yourself offers better quality as I feel like it might. But that aside for now re-encoding should work well assuming what you use (ideally ffmpeg) is copying the Metadata it can to the new format.

I'll leave this open as a semi feature request for low quality tagging and the option to explicitly select low as imo it's a worthwhile addition.

Curiously song encoding and manifest handling has recently been completely changed on Tidal's backend. This I would presume is part of them changing their free streaming tier.

Interestingly all low quality files now seem to be mp3 instead of m4a dash and have been re-encoded (see example below)
image

Considering there is no better source for the above example I guess they just re-encoded at a constant bitrate which seems a bit strange all things considered.

Either way downloading low quality is fixed and using the new manifest types etc, will add a option in settings to explicitly select the desired quality too.

That was fast! I've not had chance to go through the latest commits to see what was involved but can confirm from a single test case, that the downloading works.

Interestingly, on a single track I've tried, I do still get AAC - whether I go for Low (AAC CBR 320Kb/s) or Lowest (AAC CBR 96Kb/s):
image

I wasn't aware Tidal had any content in MP3, that's definitely interesting to know. I know they've just announced they're dropping MQA and 360RA but don't think I remember seeing anything about them changing their lower quality encoding. I'd imagine that'll complicate things when it comes to tagging/metadata...

Due to the mess that is trying to deal with metadata for non flac files I'm not going to add metadata embedding for low etc files.

The ability to select Low/Lower in download settings has been added in 64bfbf1 so I will close this for now.

Do feel free to reply or continue the discission if anything else comes up :)

I wasn't aware Tidal had any content in MP3...

Yes! Its weird, it seems to be a strange outlier atm that I only happened upon as my Low test file happened to use it, maybe they are migrating away from dash?

You can see the test file here: https://tidal.com/browse/track/10575447

Weirdly the Low quality is mp3 while Lower is still m4a. Very strange...

There isnt really a nice library for tagging m4a content so for now I have held off implementing it due to the very small number of tidal tracks that are actually only Low quality.

There is a mp3 one which I tested that works, but since so far its only one file I haven't bothered fully implementing it yet.