[GH-ISSUE #72] [Feature Request] Support New Lossless Audio Quality #60

Open
opened 2026-02-27 04:57:18 +03:00 by kerem · 13 comments
Owner

Originally created by @treysu on GitHub (Sep 10, 2025).
Original GitHub issue: https://github.com/Googolplexed0/zotify/issues/72

Originally assigned to: @Googolplexed0 on GitHub.

Related Problem/Issue
Is this Feature Request related to an existing GitHub Issue or Bug Report?
No. This could potentially already be an implemented feature, as I do not have access to lossless yet via Spotify.

Ideal Solution
Support downloading 24-bit/44.1 kHz FLAC files from Spotify

Considered Alternatives
None.

Additional context
Spotify Premium: Now Streaming in Lossless Quality

Originally created by @treysu on GitHub (Sep 10, 2025). Original GitHub issue: https://github.com/Googolplexed0/zotify/issues/72 Originally assigned to: @Googolplexed0 on GitHub. **Related Problem/Issue** *Is this Feature Request related to an existing GitHub Issue or Bug Report?* No. This could potentially already be an implemented feature, as I do not have access to lossless yet via Spotify. **Ideal Solution** Support downloading 24-bit/44.1 kHz FLAC files from Spotify **Considered Alternatives** None. **Additional context** [Spotify Premium: Now Streaming in Lossless Quality](https://community.spotify.com/t5/Community-Blog/Spotify-Premium-Now-Streaming-in-Lossless-Quality/ba-p/7124509)
Author
Owner

@Googolplexed0 commented on GitHub (Sep 10, 2025):

I will be looking into this as more details are released. This would be a huge upgrade.

<!-- gh-comment-id:3276855407 --> @Googolplexed0 commented on GitHub (Sep 10, 2025): I will be looking into this as more details are released. This would be a huge upgrade.
Author
Owner

@seathebeauty commented on GitHub (Sep 18, 2025):

New to this space... But would this be the same as being able to download flac files from the original Zotify? Or was Zotify just converting from whatever lossy format Spotify gave into a flac when I chose flac as the output type?

<!-- gh-comment-id:3307333949 --> @seathebeauty commented on GitHub (Sep 18, 2025): New to this space... But would this be the same as being able to download flac files from the original Zotify? Or was Zotify just converting from whatever lossy format Spotify gave into a flac when I chose flac as the output type?
Author
Owner

@Googolplexed0 commented on GitHub (Sep 18, 2025):

when I chose flac as the output type

As far as I am aware, neither the original project nor this fork have ever supported or allowed upconverting from the api-supplied Vorbis codec to .flac (or any lossless codec). See the README for supported codecs/containers.

<!-- gh-comment-id:3309597783 --> @Googolplexed0 commented on GitHub (Sep 18, 2025): > when I chose flac as the output type As far as I am aware, neither the original project nor this fork have ever supported or allowed upconverting from the api-supplied Vorbis codec to `.flac` (or any lossless codec). See the README for supported codecs/containers.
Author
Owner

@NickDegrasse commented on GitHub (Sep 18, 2025):

New to this space... But would this be the same as being able to download flac files from the original Zotify? Or was Zotify just converting from whatever lossy format Spotify gave into a flac when I chose flac as the output type?

It was the latter case - until a few weeks ago, the only codec spotify offered was lossy .ogg/vorbis encoding, which zotify would transcode to whichever format the user selected (as far as I know). Once lossless is supported with zotify, there'll be true lossless audio files available

<!-- gh-comment-id:3309620532 --> @NickDegrasse commented on GitHub (Sep 18, 2025): > New to this space... But would this be the same as being able to download flac files from the original Zotify? Or was Zotify just converting from whatever lossy format Spotify gave into a flac when I chose flac as the output type? It was the latter case - until a few weeks ago, the only codec spotify offered was lossy .ogg/vorbis encoding, which zotify would transcode to whichever format the user selected (as far as I know). Once lossless is supported with zotify, there'll be true lossless audio files available
Author
Owner

@seathebeauty commented on GitHub (Sep 18, 2025):

New to this space... But would this be the same as being able to download flac files from the original Zotify? Or was Zotify just converting from whatever lossy format Spotify gave into a flac when I chose flac as the output type?

It was the latter case - until a few weeks ago, the only codec spotify offered was lossy .ogg/vorbis encoding, which zotify would transcode to whichever format the user selected (as far as I know). Once lossless is supported with zotify, there'll be true lossless audio files available

Ok, phew, so I'm not crazy. In early August I was downloading from the original Zotify with zotify -lt --audio-format flac and actually getting flies ending in .flac but then when I switched over to this fork was wondering why it failed. Thanks for the background info.

I swear the orginal Zotify also used to show flac in the --help info but maybe I imagined it because it no longer shows in the github documentation.

<!-- gh-comment-id:3309648619 --> @seathebeauty commented on GitHub (Sep 18, 2025): > > New to this space... But would this be the same as being able to download flac files from the original Zotify? Or was Zotify just converting from whatever lossy format Spotify gave into a flac when I chose flac as the output type? > > It was the latter case - until a few weeks ago, the only codec spotify offered was lossy .ogg/vorbis encoding, which zotify would transcode to whichever format the user selected (as far as I know). Once lossless is supported with zotify, there'll be true lossless audio files available Ok, phew, so I'm not crazy. In early August I was downloading from the original Zotify with `zotify -lt --audio-format flac` and actually getting flies ending in .flac but then when I switched over to this fork was wondering why it failed. Thanks for the background info. I swear the orginal Zotify also used to show flac in the --help info but maybe I imagined it because it no longer shows in the github documentation.
Author
Owner

@Googolplexed0 commented on GitHub (Sep 19, 2025):

Some more digging into this reveals the need for major modifications to the AudioFile.Format portion of librespot's metadata.proto (and compiling the changes to librespot.proto.Metadata_pb2.py). It would also require changes to the AudioQualty enum, a new LosslessOnlyAudioQuality class, and lots of troubleshooting/testing.

If someone already has protobuf experience then I would appreciate their insight. Otherwise, the lossless audio feature may be unlikely to arrive soon.

<!-- gh-comment-id:3310349833 --> @Googolplexed0 commented on GitHub (Sep 19, 2025): Some more digging into this reveals the need for major modifications to the `AudioFile.Format` portion of [librespot's metadata.proto](https://github.com/kokarare1212/librespot-python/blob/main/proto/metadata.proto) (and compiling the changes to `librespot.proto.Metadata_pb2.py`). It would also require changes to the `AudioQualty` enum, a new `LosslessOnlyAudioQuality` class, and lots of troubleshooting/testing. If someone already has protobuf experience then I would appreciate their insight. Otherwise, the lossless audio feature may be unlikely to arrive soon.
Author
Owner

@acorness commented on GitHub (Oct 13, 2025):

Some more digging into this reveals the need for major modifications to the AudioFile.Format portion of librespot's metadata.proto (and compiling the changes to librespot.proto.Metadata_pb2.py). It would also require changes to the AudioQualty enum, a new LosslessOnlyAudioQuality class, and lots of troubleshooting/testing.

If someone already has protobuf experience then I would appreciate their insight. Otherwise, the lossless audio feature may be unlikely to arrive soon.

He added support 3 days ago so it should be pretty straightforward now.

<!-- gh-comment-id:3399101524 --> @acorness commented on GitHub (Oct 13, 2025): > Some more digging into this reveals the need for major modifications to the `AudioFile.Format` portion of [librespot's metadata.proto](https://github.com/kokarare1212/librespot-python/blob/main/proto/metadata.proto) (and compiling the changes to `librespot.proto.Metadata_pb2.py`). It would also require changes to the `AudioQualty` enum, a new `LosslessOnlyAudioQuality` class, and lots of troubleshooting/testing. > > If someone already has protobuf experience then I would appreciate their insight. Otherwise, the lossless audio feature may be unlikely to arrive soon. He added support 3 days ago so it should be pretty straightforward now.
Author
Owner

@losbe commented on GitHub (Oct 20, 2025):

How to configure to download flac and how to update zotify

<!-- gh-comment-id:3422265460 --> @losbe commented on GitHub (Oct 20, 2025): How to configure to download flac and how to update zotify
Author
Owner

@Googolplexed0 commented on GitHub (Oct 23, 2025):

He added support 3 days ago so it should be pretty straightforward now.

I have already implemented it for testing but it is not working properly. The protobuf API is only fetching non-lossless tracks as far as I can tell. Will do some more digging and testing, but most of the work on my end is complete.

<!-- gh-comment-id:3434891423 --> @Googolplexed0 commented on GitHub (Oct 23, 2025): > He added support 3 days ago so it should be pretty straightforward now. I have already implemented it for testing but it is not working properly. The protobuf API is only fetching non-lossless tracks as far as I can tell. Will do some more digging and testing, but most of the work on my end is complete.
Author
Owner

@NickDegrasse commented on GitHub (Nov 6, 2025):

He added support 3 days ago so it should be pretty straightforward now.

I have already implemented it for testing but it is not working properly. The protobuf API is only fetching non-lossless tracks as far as I can tell. Will do some more digging and testing, but most of the work on my end is complete.

Just out of curiosity - were the updates ever able to yield lossless streaming/downloads?

<!-- gh-comment-id:3498376591 --> @NickDegrasse commented on GitHub (Nov 6, 2025): > > He added support 3 days ago so it should be pretty straightforward now. > > I have already implemented it for testing but it is not working properly. The protobuf API is only fetching non-lossless tracks as far as I can tell. Will do some more digging and testing, but most of the work on my end is complete. Just out of curiosity - were the updates ever able to yield lossless streaming/downloads?
Author
Owner

@g-lok commented on GitHub (Nov 16, 2025):

I want this feature bad, and I need projects to cut my teeth on, so if I can offer my help implementing this feature I would be very appreciative for the opportunity.

<!-- gh-comment-id:3538508164 --> @g-lok commented on GitHub (Nov 16, 2025): I want this feature bad, and I need projects to cut my teeth on, so if I can offer my help implementing this feature I would be very appreciative for the opportunity.
Author
Owner

@Googolplexed0 commented on GitHub (Nov 17, 2025):

I want this feature bad, and I need projects to cut my teeth on, so if I can offer my help implementing this feature I would be very appreciative for the opportunity.

Most of the community is reluctant to touch lossless, as the parent company has made it clear that they do not want external tools accessing it. If you want to try, be my guest, but currently no seems willing to take that risk.

<!-- gh-comment-id:3539633756 --> @Googolplexed0 commented on GitHub (Nov 17, 2025): > I want this feature bad, and I need projects to cut my teeth on, so if I can offer my help implementing this feature I would be very appreciative for the opportunity. Most of the community is reluctant to touch lossless, as the parent company has made it clear that they [do not want external tools accessing it](https://github.com/librespot-org/librespot/issues/1583#issuecomment-3499343020). If you want to try, be my guest, but currently no seems willing to take that risk.
Author
Owner

@treysu commented on GitHub (Nov 18, 2025):

I want this feature bad, and I need projects to cut my teeth on, so if I can offer my help implementing this feature I would be very appreciative for the opportunity.

Most of the community is reluctant to touch lossless, as the parent company has made it clear that they do not want external tools accessing it. If you want to try, be my guest, but currently no seems willing to take that risk.

Understandable, but unfortunate. Perhaps things will loosen up one day and the parent company will be less focused on preventing access. However, if the choice is between a stable project that does not support lossless and a project constantly on the run from corporate interference, I believe you have made the right choice. I think this issue can be closed, but I will leave it up to @Googolplexed0 if they would like to keep this open for visibility.

<!-- gh-comment-id:3549329822 --> @treysu commented on GitHub (Nov 18, 2025): > > I want this feature bad, and I need projects to cut my teeth on, so if I can offer my help implementing this feature I would be very appreciative for the opportunity. > > Most of the community is reluctant to touch lossless, as the parent company has made it clear that they [do not want external tools accessing it](https://github.com/librespot-org/librespot/issues/1583#issuecomment-3499343020). If you want to try, be my guest, but currently no seems willing to take that risk. Understandable, but unfortunate. Perhaps things will loosen up one day and the parent company will be less focused on preventing access. However, if the choice is between a stable project that does not support lossless and a project constantly on the run from corporate interference, I believe you have made the right choice. I think this issue can be closed, but I will leave it up to @Googolplexed0 if they would like to keep this open for visibility.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/zotify#60
No description provided.