sentriz / gonic

music streaming server / free-software subsonic server API implementation
ircs://irc.libera.chat/#gonic
GNU General Public License v3.0
1.62k stars 114 forks source link

Is there support for album art embedded in the mp3 files? #11

Open dabeeeenster opened 4 years ago

dabeeeenster commented 4 years ago

Cant seem to find any?

sentriz commented 4 years ago

sorry, not currently supported. I think I would need to find out if the tagging library I'm using supports that https://github.com/nicksellen/audiotags

otherwise a second library will need to be used. I'll have a think about it

uGeek commented 4 years ago

The server works perfect, but it is true that not previewing the covers, it gives the feeling that something is wrong

sentriz commented 4 years ago

this is still something I'm considering. in the meantime, if it's something you're interested in musicbrainz picard has a setting to extract embedded art to a separate file beside your files, which gonic will pickup (personally I prefer this, it saves disk space)

uGeek commented 4 years ago

but ... would clients preview the covers? As you say, it would be a good solution to not make the server heavier

sentriz commented 4 years ago

yeah clients will prefix the covers. if in each of your music folders (albums) you have a "folder.jpg" (or png) gonic will pick it up and show it to the clients

uGeek commented 4 years ago

is very good!!

Totally in agreement with you, I prefer as it is now and that it is much lighter.

In the documentation it should be more visible, it is a very important detail.

Many thanks

sentriz commented 4 years ago

good to hear it's working for you :) you're right about the documentation - thanks!

uGeek commented 4 years ago

I have been trying to export the covers in each directory for two days and I have a lot of problems.

I thought that since the lastfm api is used, when folders are scanned it might gonic to export the cover as folder.jpg in each directory, something like https://github.com/desbma/sacad

That would solve the power to view all the covers.

sentriz commented 4 years ago

It won't download covers for you, only pickup what is already there. But that tool looks perfect. sacad_r your_music 600 folder.jpg and then start a gonic scan. Have you tried this?

uGeek commented 4 years ago

Yes. I have done it and 95% of the covers have downloaded them.

It was a suggestion to perfect the server.

For my gonic it is perfect. Until now I was using Supysonic, but Gonic is much faster. I like much more gonic.

If it had the download of covers integrated, for simplicity and being able to mark the favorite songs, it is without a doubt the best server with api from subsonic.

I have assembled the docker and I am going to do an article and podcast on my blog. Very happy with its operation.

Thank you so much for your work.

sentriz commented 4 years ago

wow thank you very much :) very excited about an article/podcast! ability to favorite songs will be coming soon

uGeek commented 4 years ago

I already published the article and podcast, a complete success. My community has been very interested in this server.

Create the docker to arm and to use it in Raspberry, etc ... And it has more than 10k. https://hub.docker.com/r/ugeek/gonic

Thank you very much for your time and work.

sentriz commented 4 years ago

wow that's amazing! thank you for the support. i'll have to get a friend who speaks Spanish to listen to it for me :)

danielalvsaaker commented 4 years ago

I'd love to write a pull request for this, but I'm not sure if I have the time. I can at least alert you about tag, which can extract both tags and embedded pictures from relevent audio formats.

sentriz commented 4 years ago

I'd love to write a pull request for this, but I'm not sure if I have the time. I can at least alert you about tag, which can extract both tags and embedded pictures from relevent audio formats.

i would have loved to have used tag because it's pure go, currently gonic uses nicksellen/audiotags which is a go wrapper for taglib, a c++ project. so tag could be faster without the interop overhead. but unfortunately tag doesn't support extracting song durations which is important for some subsonic clients.

maybe it could be possible to run both at scan time, but it may slow things down a good bit

pacija commented 4 years ago

I have just installed gonic for the first time. I like its simplicity and speed, but I really miss the ability to display album art from mp3 tags.

Perhaps tag could be expanded to read song duration?

helmut72 commented 3 years ago

Same for me, also miss this feature.

AlexanderHel commented 2 years ago

Really need this feature, I have 2TB of anime songs, they have a scans folder for images, but copy each img out won't be easy for a large collection, also have to rename them too

Anyway to imply a custom path for scans folder and select first image as album art?

image

sentriz commented 2 years ago

@AlexanderHel

as a workaround, if you have access to a unix like environment, you could automatically find all Scan folders with for example a folder.png in them. and create a symbolic link to the parent of those folders so that gonic could pick them up

for example

find /path/to/your/music/ -type d -name "Scans" -exec ln -s -t {}/.. Scans/folder.png \;
AlexanderHel commented 2 years ago

thank you, sadly the name for the image is different not all of them is the same and obvious not folder.png

I work around with a python script to find scans folder, copied the first image to previous folder and rename it to folder.png, but the script failed when I have too many folder path, so I gave up and wait for future embedded album art update lol

Also because I noticed not all CD have a scans folder so embedded cover still better

helmut72 commented 1 year ago

This feature and external auth (https://github.com/sentriz/gonic/issues/44#issuecomment-1364588428) would complete Gonic for me.

PSyton commented 1 year ago

@sentriz I've fork audiotags and add support for read embedded images for some media formats.

mattiasghodsian commented 1 year ago

I am utilizing MusicBrainz Picard to process all my audio tracks before their are moved into to Gonic's . However, I am requesting a feature that permits extraction of cover images and additional associated data directly from the file's meta tags and then use folder image as fallback.

For reference, the Taglib library presents itself as a potential solution in this context. I don't known Go-lang, if i did i would contribute.

bytebone commented 9 months ago

Instead of directly reading album art from ID3 tags, would it maybe be an option for the importer / scanner to detect album art inside songs and extract them to the cover.jpg file inside the album folder? Obviously this would need to be behind a toggle, but it might require less changes than reading and passing on to clients, and additionally be more in like with how gonic is designed to function.

mattiasghodsian commented 9 months ago

Instead of directly reading album art from ID3 tags, would it maybe be an option for the importer / scanner to detect album art inside songs and extract them to the cover.jpg file inside the album folder? Obviously this would need to be behind a toggle, but it might require less changes than reading and passing on to clients, and additionally be more in like with how gonic is designed to function.

i think this could be a problem for non-album collections, i don't have any albums only genre/random name folders with gonic. I think extracting the images from the audio files and having them in the cache folder with a uuid hash matching the track is a better alternative

NyaomiDEV commented 7 months ago

While TagLib itself has a way of retrieving the embedded cover art buffer, the Go abstraction didn't implement it, so using it would be using the underlying C bindings, and at that point it's wise to look at other approaches.

I've looked at how Navidrome does it, and it seems they built their own TagLib wrapper to get that functionality.

sentriz commented 7 months ago

the fork of audiotags which gonic uses also supports embedded art fwiw

meowmeowofthemeows commented 7 months ago

Just commenting here asking if there is going to be anything in place that solves this issue. As of now all my songs have tagged album art covers with a "Scans" folder containing the images. Will this continue to be the case for gonic?

Album Release (catalog)/
├── Disc 1
│   ├── 01 song.flac
├── Disc 2
│   ├── 01 song.flac
├── Disc 3
│   ├── 01 song.flac
└── Scans
    └── Box Front.jpg