PDA

View Full Version : Contributing Artists, Mapping Classical FLAC to MP3



Tarn
2007-03-22, 09:50
I'm trying to figure out the best tag strategy for my home, where almost everything is FLAC, while still allowing tags to be reasonably converted to MP3.


CONTRIBUTING ARTISTS:

For non-classical compilations with single artists per each track I just set

COMPILATION = 1
ARTIST = Single Artist for that track


For non-classical albums that have a main artist with perhaps a couple tracks by other artists I set

COMPILATION = 0
ALBUMARTIST = Main Artist
ARTIST = Specific single Artist for each track (could be ALBUMARTIST or could be other)


With both the above cases I don't really have a good way to handle multiple artists contributing to the same track. I could always list the "primary" artist first, then list additional arist, like so:

ARTIST = Primary Artist; Contributing Artist1; Contributing Artist2

but converting something like that over to MP3 land, where Artist (TPE1) really needs to be a single person (correct me if I'm wrong please) doesn't work well. It also makes searching for a particular artist more difficult as your list of artists quickly becomes full of contributing artists for whom you only have a single track.

Is there any standard tag for "Contributing Artist" for FLAC/Vorbis or ID3v2.4? My current thought is that I'll just put in a made up CONTRIBUTING_ARTISTS tag, with multiple values, in my flac files, and drop it when converting to MP3. It will be useless, but if we ever get a good standard I'll have the information. Any other suggestions?

Since most conversions to MP3 map ALBUMARTIST to TPE2 (BAND) I'll probably just drop the ALBUMARTIST tag when converting to MP3.


CLASSICAL:

I have a "small" classical collection of 100 discs or so, which I have not yet ripped because its a pita. However, I'm finally getting started and again am trying to work out a FLAC tagging strategy that will work both for now and the future, with conversion to MP3 at least not being horrible. And yes, I may break up or combine multiple discs or albums to put pieces together that should be together, etc.


So, not worrying about what I have ALBUM or TRACK or DISC set to, the other important fields are:

COMPOSER = "Composer"
CONDUCTOR = "Conductor"
BAND = "Particular Band, Ensemble, Orchestra etc."

ARTIST = "Particular (Single) Performer"

If the album is just a generic classical CD with lots of different pieces by different performers (and possibly different Composers) then I'll set the COMPILATION flag so all those artists don't get pulled into my searchable list of artists.


If the album is mainly by one artist, with a couple tracks by other artists I'll set the ALBUMARTIST tag (but drop it when converting to MP3).

Again, I'll probably need to include a CONTRIBUTING_ARTISTS tag with multiple values which nothing will read and which will get dropped on conversion to MP3.

COMPOSER will convert to TCOM, CONDUCTOR to TPE3, and BAND to TPE2, so those at least can come over to MP3 okay.


So, any suggestions or improvements on this scheme?

And any suggestions on how I might be able to search a CONTRIBUTING_ARTISTS tag using Slim Server?

Thanks for any help with this.

Tarn
2007-03-24, 21:13
Somebody must have comments on this, right?

pfarrell
2007-03-24, 21:27
Tarn wrote:
>> I have a "small" classical collection of 100 discs or so, which I
>> have not yet ripped because its a pita.

> Somebody must have comments on this, right?

OK, you are right, getting tags right for classical music is a royal
PITA and keeping them right when you go to MP3 is even more of a pita if
such a thing is possible.

I believe that it may be impossible to get the tags right, which is why
we need a database. But this gets into a bigger issue, as the current
database is treated as if it can always be rebuilt from the tags. I am
not convinced that is a good decision, but haven't had time to create a
patch to tell the SlimServer to "do not trash criticial
fields which can't be rebuilt from tags, just manage the
songs and albums and music side of things"

The complexity of classical music begs for a real database so you can do
things like check who is the conductor on this Beethoven's Ninth, or how
is the solo violin....


--
Pat
http://www.pfarrell.com/music/slimserver/slimsoftware.html

amcluesent
2007-03-25, 00:22
I've found these links helpful in figuring out tag equivalence -

http://mp3tag.de/en/help/main_tags.html
http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:ID3_Tag_Mapping
http://age.hobba.nl/audio/tag_frame_reference.html
http://yabb.jriver.com/interact/index.php?topic=33213.0

Have you considered using multi-valued TPE1 (Artist) fields, then setting slimserver to use your chosen separator, i.e. ":"?

>I'll just put in a made up CONTRIBUTING_ARTISTS tag<

INVOLVEDPEOPLE, MUSICIANCREDITS tags already exist in ID3v2.4.

TIPL
The 'Involved people list' is very similar to the musician credits
list, but maps between functions, like producer, and names.

TMCL
The 'Musician credits list' is intended as a mapping between
instruments and the musician that played it. Every odd field is an
instrument and every even is an artist or a comma delimited list of
artists.

JJZolx
2007-03-25, 00:50
Converting from the simple, flexible, and logical tagging system used with flac files to the completely ill-conceived id3 tagging standard is definitely a challengs. IMO, it depends a lot on the target use for the mp3s. For myself, where I just use the mp3s in my iPod, it's not terribly critical.

For contributing artists in Flac files I use multiple ARTIST tags, usually with an ALBUMARTIST tag.

ALBUM=Genius Loves Company
COMPILATION=0
ARTIST=Ray Charles
ARTIST=Van Morrison
ALBUMARTIST=Ray Charles

When converting that to id3v2 I concatenate the fields using a separator and use TPE2 for the ALBUMARTIST.

TPE1=Ray Charles, Van Morrison
TPE2=Ray Charles

The GENRE field is another that has to be dealt with when converting from flac to mp3. I also use multiple GENRE tags in Flac files.

GENRE=Latin
GENRE=Jazz
GENRE=Vocal

Basically, I've found two ways to deal with this. If using id3v1 tags you can ony use the predefined 148 genres. Deciding which of the genres to select when there are multiple genres defined is somewhat arbitrary. My conversion script selects the lowest numeric value among them - in the above example, it would be Jazz.

Or, if you're using id3v2 tags, you can contatenate the genres with a separator. Since I only tag my converted mp3s with id3v2.3 tags, this is what I do.

TCON=Latin/Jazz/Vocal

Classical... no good ideas. I've yet to see anything that works well in SlimServer. This is more a failing of SlimServer than anything else. I know a number of audiophiles that have dumped the Squeezebox altogether because of SlimServer's classical music limitations.

ceejay
2007-03-25, 02:37
http://www.xiph.org/vorbis/doc/v-comment.html suggests the use of PERFORMER. This isn't supported by slimserver, though I have an enhancement request open (feel free to add your vote to http://bugs.slimdevices.com/show_bug.cgi?id=2696 if you are so inclined).

You can however use erland's CustomScan and CustomBrowse plugins to get the data into slimserver for this or indeed any other arbitrary tag, albeit without the full search functionality that you really need. I use this successfully to have PERFORMER information come up on the display using the MusicInfoScr plugin.

Ceejay

adamslim
2007-03-25, 05:24
CLASSICAL:

I have a "small" classical collection of 100 discs or so, which I have not yet ripped because its a pita. However, I'm finally getting started and again am trying to work out a FLAC tagging strategy that will work both for now and the future, with conversion to MP3 at least not being horrible. And yes, I may break up or combine multiple discs or albums to put pieces together that should be together, etc.

So, not worrying about what I have ALBUM or TRACK or DISC set to, the other important fields are:

COMPOSER = "Composer"
CONDUCTOR = "Conductor"
BAND = "Particular Band, Ensemble, Orchestra etc."

ARTIST = "Particular (Single) Performer"

If the album is just a generic classical CD with lots of different pieces by different performers (and possibly different Composers) then I'll set the COMPILATION flag so all those artists don't get pulled into my searchable list of artists.


If the album is mainly by one artist, with a couple tracks by other artists I'll set the ALBUMARTIST tag (but drop it when converting to MP3).

Again, I'll probably need to include a CONTRIBUTING_ARTISTS tag with multiple values which nothing will read and which will get dropped on conversion to MP3.

If you have just 100 CDs, then you shouldn't have many duplicate pieces (i.e. by different orchestras/conductors), so your browsing is likely to be via composer only, I guess. Therefore, you can do what I do, which is have the composer as artist, and the piece as album (splitting up CDs into several albums).

If you want, you could create playlists that have the original CD.

Sorry but I know nothing about MP3 tags, but my system above works fine when I play FLACs on my (Rockbox) iPod.

While it might be nice to see all my stuff by Karajan, say, I do not usually want to browse that way. Therefore, the reduced functionality of SlimServer is not a massive pain to me, although I have voted for ceejay's bugs as it would be really nice if it did work :)

Adam

Tarn
2007-03-27, 12:56
If you have just 100 CDs, then you shouldn't have many duplicate pieces (i.e. by different orchestras/conductors), so your browsing is likely to be via composer only, I guess. Therefore, you can do what I do, which is have the composer as artist, and the piece as album (splitting up CDs into several albums).
Adam

I really don't want to use the ARTIST tag for COMPOSER, because I have a number of albums with the same composer and a number of albums with the same performer, which overlap. Also, I'm adding to my classical collection faster than other genres so I want a system that can grow.

I really want to be able to play all my music with Yo-Yo Ma as the artist, or all my Dvorak music, or only Dvorak music by Yo-Yo Ma.

This is all going on the assumption that Slim Server will at some point allow me to search more intelligently -- looking at just Composers, just Artists, etc.

Drat, I forgot the other piece of this, which was what tag I should use to specify not the genre but the multiple instruments or instrument types - say Cello, Quartet, Brass, etc. Okay, maybe I'm asking too much.

Robin Bowes
2007-03-27, 13:17
Tarn wrote:
> adamslim;190079 Wrote:
>> If you have just 100 CDs, then you shouldn't have many duplicate pieces
>> (i.e. by different orchestras/conductors), so your browsing is likely
>> to be via composer only, I guess. Therefore, you can do what I do,
>> which is have the composer as artist, and the piece as album (splitting
>> up CDs into several albums).
>> Adam
>
> I really don't want to use the ARTIST tag for COMPOSER, because I have
> a number of albums with the same composer and a number of albums with
> the same performer, which overlap. Also, I'm adding to my classical
> collection faster than other genres so I want a system that can grow.
>
> I really want to be able to play all my music with Yo-Yo Ma as the
> artist, or all my Dvorak music, or only Dvorak music by Yo-Yo Ma.
>
> This is all going on the assumption that Slim Server will at some point
> allow me to search more intelligently -- looking at just Composers, just
> Artists, etc.
>
> Drat, I forgot the other piece of this, which was what tag I should use
> to specify not the genre but the multiple instruments or instrument
> types - say Cello, Quartet, Brass, etc. Okay, maybe I'm asking too
> much.


No, you're not asking too much. Rather you're running into the problems
of trying to get Classical music to fit into a "Non-Classical" music
labelling scheme.

My hope is that erland's custom queries are integrated into the fabric
of slimserver so it is flexible enough to support classical music.

Not holding my breath though!

R.

ceejay
2007-03-27, 15:20
I really don't want to use the ARTIST tag for COMPOSER, because I have a number of albums with the same composer and a number of albums with the same performer, which overlap. Also, I'm adding to my classical collection faster than other genres so I want a system that can grow.

I really want to be able to play all my music with Yo-Yo Ma as the artist, or all my Dvorak music, or only Dvorak music by Yo-Yo Ma.

This is all going on the assumption that Slim Server will at some point allow me to search more intelligently -- looking at just Composers, just Artists, etc.

you're getting into a fix here, IMHO, because you have fixed on "Artist" as being the principal performer of a piece of music. I don't see it that way, and feel correspondingly liberated. COMPOSER, CONDUCTOR, PERFORMER and BAND are all valid ways of tagging music and for classical music I (generally) use all of them.

Think of ARTIST as being "information to be displayed on systems with limited display capabilities. It is not a replacement for the ENSEMBLE and PERFORMER tags, but typically will summarize them" (taken from http://reactor-core.org/ogg-tagging.html) or "The artist generally considered responsible for the work. In popular music this is usually the performing band or singer. For classical music it would be the composer." (taken from http://www.xiph.org/vorbis/doc/v-comment.html)

In other words, ARTIST is the short summary of how you most often want to get at the music, which might be any of COMPOSER, CONDUCTOR or PERFORMER depending on the nature of the album.

Ideally, of course, we want search and browse capabilities that give us full control over these matters - if we ever get it, ARTIST will become largely redundant. Until then, its very handy.



Drat, I forgot the other piece of this, which was what tag I should use to specify not the genre but the multiple instruments or instrument types - say Cello, Quartet, Brass, etc. Okay, maybe I'm asking too much.

Try using multiple Genre values - you can happily have any multiple-overlapping scheme you like. For example tag something as "Classical;Romantic;Concerto;Piano" and you can then find it equally easily by browsing through any of those four genre values.

HTH
Ceejay

adamslim
2007-03-27, 16:16
Try using multiple Genre values - you can happily have any multiple-overlapping scheme you like. For example tag something as "Classical;Romantic;Concerto;Piano" and you can then find it equally easily by browsing through any of those four genre values.

Yeah I've just started adding genre tags like "Instrument - piano" as a further tag on my classical music (I already had them like "Classical;Romantic;Concerto"). It works well for me, but it's a bit of a pain constantly to retag.

I differ from Tarn in that I am unlikely to search by performer; composer is what is meaningful to me. I guess you could use multiple values in the artist field, but that would be pretty unpleasant to use, I think.

We really need complete customisability, if there is such a word, such as is given (mostly) by Erland's plugins, but I'd like them easier to use. I keep looking at Erland's stuff when I am irritated by the default behaviour, and not getting to grips with it as my ire abates. Grumble!

Adam

Tarn
2007-03-28, 19:55
I guess I just want to be able to easily search by multiple tags. If SlimServer would just let me do a search such as:


Artist EQUALS Yo-Yo Ma
AND
(
Composer EQUALS Kelling
OR
Composer EQUALS RippleFudge
)

OR

Composer EQUALS Bach
AND
Instruments CONTAIN Cello

or

My_Custom_Tag CONTAINS Some_Random_Text

Since it's MySQL under the covers anyway, my nieve thought is that the first sort of query should be easy. The second and third may be harder to do as their schema may not include those tags or support custom tags.

ceejay
2007-03-29, 00:50
You should definitely check out erland's plugins ...

Ceejay

Tarn
2007-03-29, 07:28
They do look close to what I want to do.

The plan is to be controlling this through CLI very soon now, which I don't think his plugins support yet.

But maybe I'll run his plugin anyway since it looks so useful -- just won't be able to use it remotely.

erland
2007-03-31, 02:26
I guess I just want to be able to easily search by multiple tags. If SlimServer would just let me do a search such as:


Artist EQUALS Yo-Yo Ma
AND
(
Composer EQUALS Kelling
OR
Composer EQUALS RippleFudge
)

OR

Composer EQUALS Bach
AND
Instruments CONTAIN Cello

or

My_Custom_Tag CONTAINS Some_Random_Text

Since it's MySQL under the covers anyway, my nieve thought is that the first sort of query should be easy. The second and third may be harder to do as their schema may not include those tags or support custom tags.You can use the Custom Scan plugin to scan and store any tag in the SlimServer database, I've only tested it with FLAC and MP3 so I'm not sure how well it works with other formats.

The information scanned with Custom Scan is stored in a separate table (customscan_track_attributes).

The plan is to be controlling this through CLI very soon now, which I don't think his plugins support yet.

But maybe I'll run his plugin anyway since it looks so useful -- just won't be able to use it remotely.I have a plan to add a CLI interface in the Custom Browse plugin at some time, although I haven't really looked at it yet since there didn't seem to be much demand for it at the time.

However, according to your previous post it really looks like you want a flexible way of searching your music, not browsing. If that's the case I think Custom Browse might be the wrong solution. The best solution in that case at the moment is probably to use Custom Scan to make sure your custom tags is stored in the SlimServer database and then connect towards the MySQL database from your own application/plugin making the advanced searching you like to do.

I have been thinking of making some sort of custom search plugin, but it won't happen in the near future since I have some other things I like to look at first.