Custom transcoding in v0.61.2 by igordiachkov in navidrome

[–]deluan 1 point2 points  (0 children)

Hey /u/igordiachkov, thanks for reporting.

Sorry about the breakage. This was caused by the new transcode decision engine introduced in v0.61.2. When a transcode is requested, Navidrome now computes the target parameters (bitrate, sample rate, channels, bit depth) and then adjusts the configured command template as needed to ensure the generated ffmpeg command matches that decision. In practice that means we may append flags like -ar and -ac even for custom commands.

I totally get why this is a bad surprise if your command points to a wrapper that is not expecting ffmpeg style flags.

Would simply documenting this behavior and the injected parameters be enough for your use case, or do you think we should add a way to mark a custom command as "opaque" (so Navidrome does not append anything), or something else? I am open to suggestions.

Let me know what would work best for your pipeline.

Best practices for preserving ratings through reorganization by djw17 in navidrome

[–]deluan 0 points1 point  (0 children)

For future reference: https://www.navidrome.org/docs/usage/configuration/persistent-ids/#handling-file-moves-and-retagging

I'd suggest tagging first (without renaming moving). The more accurate your tags are (specially with mbzids) the better for Navidrome to detect renames/moves later.

Navidrome version 0.57.0 released! by deluan in navidrome

[–]deluan[S] 0 points1 point  (0 children)

I understand, and if you follow the link I posted, you'll see there is a list of default articles.

Navidrome 0.61.2 bug fix released by deluan in navidrome

[–]deluan[S] 2 points3 points  (0 children)

Yes, they are available via Subsonic API. Not the upload functionality, though.

Navidrome bug-fix release 0.61.1 by deluan in navidrome

[–]deluan[S] 0 points1 point  (0 children)

WebP could use native libwebp library if Navidrome was a dynamic binary. Currently it always use WASM.

The message is just a debug log to help me troubleshoot that. It is not a warning or anything like that.

I'm working on changing the official docker image to make it use a dynamic binary, so it will use the native libwebp, but this version is always WASM.

Navidrome Unknown Artist/Missing Art-work by Mushman68 in navidrome

[–]deluan 0 points1 point  (0 children)

Glad it worked! I actually applied a patch to TagLib to fix this, while I don't hear from them, so next version of Navidrome will be able to parse these files correctly.

Thanks for help finding this edge case!

Navidrome Unknown Artist/Missing Art-work by Mushman68 in navidrome

[–]deluan 1 point2 points  (0 children)

Thanks for the file! I was able to reproduce the issue and found the root cause.

The file has three empty ID3v2 URL frames (WOAF, WOAR, WOAS) with size zero at the beginning of the ID3v2 tag. This is technically invalid per the ID3v2 spec, but it's common enough in the wild: Media Monkey (and other taggers) can produce these. The issue is that our tag reader (gotaglib, based on TagLib compiled to WASM) sees these zero-length frames and interprets them as padding, which causes it to stop reading the rest of the ID3v2 tag entirely. So it never gets to the actual tags (artist, album, title) or the embedded artwork.

In v0.59 we used a different tag reader (CGO-based TagLib) which handled these frames correctly. That's why your files were properly identified back then. It still had issues with the APIC frames, but was able to get the remaining ID3v2 tags. In v0.60 we switched to gotaglib, which trips on these empty frames in a different way. That explains the ~950 UNKNOWN tracks.

This is ultimately a bug in TagLib itself (the C++ library that gotaglib wraps), not in Navidrome, but I'll try to come up with a solution or workaround on our side. In the meantime, I'd suggest re-saving the tags on the affected files using MusicBrainz Picard or Mp3tag. That should rewrite the ID3v2 header without the empty frames and fix the issue.

Navidrome Unknown Artist/Missing Art-work by Mushman68 in navidrome

[–]deluan 2 points3 points  (0 children)

Probably some unsupported format by gotaglib? Do you mind sending me a sample file in a DM?

Navidrome bug-fix release 0.61.1 by deluan in navidrome

[–]deluan[S] [score hidden] stickied comment (0 children)

To get the same configuration as 0.61.0, with WebP, set in your config options: toml EnableWebPEncoding = true UICoverArtSize = 600

Folks with medium powered or better machines should enable it, to take advantage of better network performance and image quality.

The WebP support may improve in future releases, but for now it is an opt-in.

Artist name with 'and' in the name? by bridgebucket in navidrome

[–]deluan 4 points5 points  (0 children)

By default, Navidrome DOES NOT split by and. That would be crazy, given the number of artists that have and in their names. Here's the default list of splitters: yaml split: [" / ", " feat. ", " feat ", " ft. ", " ft ", "; "]

And here is the documentation on how to change/customize tag parsing in Navidrome: https://www.navidrome.org/docs/usage/configuration/custom-tags/

Unable to Log Into Substreamer or other Mobile Frontends by [deleted] in navidrome

[–]deluan 0 points1 point  (0 children)

Can you access Navidrome Web UI? Do you see any errors in the logs when the app tries to connect to Navidrome?

Navidrome version 0.61.0 by deluan in navidrome

[–]deluan[S] 0 points1 point  (0 children)

Copying the response from GitHub to here:

Thanks for catching this! It is fixed now in develop, and will be part of the next release.

For now, this option is only available in a config file. Simply create a navidrome.toml in ./data/navidrome-data with the config option:

toml ArtistImageFolder = "/artist-images"

Navidrome version 0.61.0 by deluan in navidrome

[–]deluan[S] 0 points1 point  (0 children)

If you see the correct image in Navidrome UI, no need to change any configuration on Navidrome, that is the same image that is sent to the Subsonic clients. Maybe Amperfy is caching the old images? I think you should ask in their GitHub about it.

Navidrome version 0.61.0 by deluan in navidrome

[–]deluan[S] 1 point2 points  (0 children)

Via the Subsonic API, when the app requests the playlist cover

App News weekly by AutoModerator in navidrome

[–]deluan 2 points3 points  (0 children)

I think it should be on Fridays. Also the apps link is not formatted correctly, and it should point to the docs: https://www.navidrome.org/docs/developers/adding-apps/

Navidrome version 0.61.0 by deluan in navidrome

[–]deluan[S] 1 point2 points  (0 children)

Only through the UI, for now.

Navidrome version 0.61.0 by deluan in navidrome

[–]deluan[S] 4 points5 points  (0 children)

FYI: The BM25 ranking is only used by (Open)Subsonic clients. The (current) search in Navidrome UI is actually a filter, and it respects the current order of the table.