Jump to content

FLAC files with multiple ARTISTS tags generates a single Artist record instead of several ones


Marin
Go to solution Solved by Marin,

Recommended Posts

Hi,

 

I opened an issue on GitHub but maybe I should have posted in the forum first. I'm using the latest version of Emby Server (3.0.5782.0) on CentOS 7.1503, but my problem is probably platform agnostic.

 

Short description

When Emby scans FLAC files for metadata and finds several **ARTISTS** tags in a single file, it concatenates the values of the **ARTISTS** tags into the **Artist** field of the track metadata with a semicolon delimiter. However, Emby treats the final string as a single artist, ignoring the semicolon delimiter. The same string would generate several artist records if edited manually.

Long description
I have a FLAC-only audio library configured in Emby Server. The files are tagged using MusicBrainz Picard. Recently, support was added for the ARTISTS tags (note the plural) in FLAC files. As a consequence, when a FLAC file contains several of those tags, the scanner concatenates all the values in the Artist field of the track metadata, and adds semicolons as delimiters.

For instance, one of my files have the following metadata:
 

$ metaflac --export-tags-to=- File.flac
BARCODE=0035627460227
PRODUCER=Dave Stewart
TITLE=There Must Be an Angel (Playing With My Heart) (feat. Stevie Wonder)
RELEASECOUNTRY=XE
TOTALDISCS=1
LABEL=BMG
LABEL=RCA
TOTALTRACKS=9
MUSICBRAINZ_ALBUMARTISTID=b4d32cff-f19e-455f-86c4-f347d824ca61
DATE=1990
DISCNUMBER=1
TRACKTOTAL=9
ENGINEER=Jay Willis
ENGINEER=Adam Williams
ENGINEER=Don Smith
ALBUMARTISTSORT=Eurythmics
ORIGINALDATE=1985
LANGUAGE=eng
SCRIPT=Latn
WORK=There Must Be an Angel (Playing With My Heart)
MUSICBRAINZ_ALBUMID=b79941ef-9d54-4aca-8c79-4eeb164f05d3
RELEASESTATUS=official
ALBUMARTIST=Eurythmics
CATALOGNUMBER=ND 74602
MUSICBRAINZ_RELEASETRACKID=e0821bfb-e6b9-3825-9db6-ac7916eafdad
ALBUM=Be Yourself Tonight
MUSICBRAINZ_ARTISTID=b4d32cff-f19e-455f-86c4-f347d824ca61
MUSICBRAINZ_ARTISTID=1ee18fb3-18a6-4c7f-8ba0-bc41cdd0462e
MEDIA=CD
RELEASETYPE=album
MIXER=Dave Stewart
MIXER=Adam Williams
ORIGINALYEAR=1985
PERFORMER=Dean Garcia (bass guitar)
PERFORMER=Michael Kamen (strings)
PERFORMER=Olle Romo (drums)
PERFORMER=Angel Cross (background vocals)
PERFORMER=Dave Stewart (keyboard)
PERFORMER=Annie Lennox (keyboard)
PERFORMER=Annie Lennox (lead vocals)
PERFORMER=Stevie Wonder (guest harmonica)
ARTIST=Eurythmics
MUSICBRAINZ_RELEASEGROUPID=c40266f2-4f32-3dde-a639-6672ed7a4e6c
DISCTOTAL=1
WRITER=Dave Stewart
WRITER=Annie Lennox
MUSICBRAINZ_WORKID=792f5861-8d6d-3c8a-93a9-e17b06150295
MUSICBRAINZ_TRACKID=d2328fb6-b5e0-40e3-bd4b-605a481fb451
ARTISTSORT=Eurythmics feat. Wonder, Stevie
ARTISTS=Eurythmics
ARTISTS=Stevie Wonder
TRACKNUMBER=2

This file has two ARTISTS tags:

$ metaflac --export-tags-to=- File.flac | grep ARTISTS=
ARTISTS=Eurythmics
ARTISTS=Stevie Wonder

In Emby Server, those tags are converted to a single Artist value with both artists and a semicolon delimiter. Everything is fine so far, as this seems to be an expected behavior:

56897943b081a_emby01.jpg

 

However, if I make a search, the whole string is considered as a single artist instead of two (the single "Eurythmics" artist comes from the Album artist field):

 

5689795dc44a1_emby02.jpg

If I click the item, I can see the actual song:

 

56897972b4742_emby03.jpg

However, if I manually edit the track's metadata with the same values (removing the semicolon in the Artist field, saving, restoring the semicolon, saving again), Emby behaves as expected and generates two distinct artists. The track now appears under the main Eurythmics artist (note that Emby now automatically replaces the semicolon by a comma to show that the track has several artists):
 

568979c4ef99d_emby04.jpg

 

This is a very annoying issue as it cripples the whole music library. Does anyone else see the same thing ?

 

Thanks!

 

Marin.

Edited by MarinBernard
Link to comment
Share on other sites

Am I the only one to expriment this ? Could someone tell me if whether this is a bug, and what to do to help fixing it ?

 

Thanks!

 

Marin.

Link to comment
Share on other sites

Hi, can you run ffprobe against a sample file and capture the output?

 

This is the command line. replace {0} with the path to a flac file of yours.

 -i "{0}" -threads 0 -v info -print_format json -show_streams -show_format

ffprobe can be found in the server's program data directory under /ffmpeg, or you can download it here:

 

http://ffmpeg.zeranoe.com/builds/

 

Thanks.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...