INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Songs with feat. (featuring) best practices  (Read 11948 times)

blgentry

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 8009
Songs with feat. (featuring) best practices
« on: March 08, 2016, 10:26:34 am »

I have a small number of songs on albums that have guest artists that are marked as "feat." or "featuring".  Most of the ones in my library now put the "feat." in the song name.  Like:
Love Of My Life (Feat. Dave Matthews)

Some have "feat." in the Artist field like:
Leftfield featuring John Lydon

What's the accepted standard?  I just ripped two new (to me) CDs and each had feat. artists.  One put them in the song names, the other put them in the Artist field!  I'd just like to be reasonably consistent.

Thanks,

Brian.
Logged

SkGe

  • Galactic Citizen
  • ****
  • Posts: 421
Re: Songs with feat. (featuring) best practices
« Reply #1 on: March 08, 2016, 10:39:19 am »

Try to add an additional field and there you can set up your desire name, aka: feat. featuring, guest etc. That way you have more option to use and know what song or artist is featured. That way i set up my featuring.
Logged

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2554
Re: Songs with feat. (featuring) best practices
« Reply #2 on: March 08, 2016, 12:44:13 pm »

What's the accepted standard?  I just ripped two new (to me) CDs and each had feat. artists.  One put them in the song names, the other put them in the Artist field!  I'd just like to be reasonably consistent.

I believe that a semi-colon delineated list in the artist field is the accepted standard. [Name] should be the name of the track only.
Logged

RD James

  • Citizen of the Universe
  • *****
  • Posts: 1871
Re: Songs with feat. (featuring) best practices
« Reply #3 on: March 08, 2016, 12:57:26 pm »

I believe that a semi-colon delineated list in the artist field is the accepted standard. [Name] should be the name of the track only.
That's what I use, and then the main artist goes in [Album Artist]
Logged

mark_h

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1851
Re: Songs with feat. (featuring) best practices
« Reply #4 on: March 09, 2016, 07:11:53 am »

I use an 'Artist Featuring' field.

This allows me to keep the featured artists data separate from the main artist, making things easier to manage. 

It also helps when generating views or searching external websites as I can build the data as I need it, so for viewing, I'd show

[artist] .feat [artist featuring]

But for searching, eg the UK Official Charts website, I'd only search on [artist].


Logged

rudyrednose

  • Regular Member
  • Galactic Citizen
  • ****
  • Posts: 344
  • nothing more to say...
Re: Songs with feat. (featuring) best practices
« Reply #5 on: March 10, 2016, 11:03:14 am »

According to the wiki : http://wiki.jriver.com/index.php/Album_Artist_and_Album_Artist_(Auto)

So [Album Artist] should have the main artist for the whole album, and [Artist] would have a semi-colon delineated list of participating artists on each track, possibly starting with the main album artist.

But it is on your own  ;)
Logged

connersw

  • Citizen of the Universe
  • *****
  • Posts: 661
Re: Songs with feat. (featuring) best practices
« Reply #6 on: March 11, 2016, 09:53:41 am »

I use the semi-colon delineated list in the Artist field and main artist in the Album Artist field method already mentioned. 

When tracks come pre-tagged with a feat. in the Artist field, it is pretty easy to correct using a simple Library Tools -> Find and Replace.  However, when it is in the Name field like OP mentioned, it can be a bit more of a tedious task to correct.  Does anyone have a standard expression or method they use to help make it simpler?
Logged

ferday

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1732
Re: Songs with feat. (featuring) best practices
« Reply #7 on: March 11, 2016, 10:01:04 am »

a tough task, because you'd have to write the expression to account for every possible way to write it

so ft., feat., featuring, with, and, etc.

with patience and regex it's doable but what a thing that would be at the end.  if it turns out someone has traveled that road i'm all over it...
Logged

blgentry

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 8009
Re: Songs with feat. (featuring) best practices
« Reply #8 on: March 11, 2016, 04:49:42 pm »

Thanks for the ideas and descriptions of your setups.  I'm not looking to make yet another field for this; I think it will be too cluttered for me.  After all, if it's in another field, I have to have some way of displaying that field.  So I'm going to figure out where I want it and I guess standardize on that.

Brian.
Logged

blgentry

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 8009
Re: Songs with feat. (featuring) best practices
« Reply #9 on: March 11, 2016, 04:58:27 pm »

When tracks come pre-tagged with a feat. in the Artist field, it is pretty easy to correct using a simple Library Tools -> Find and Replace.  However, when it is in the Name field like OP mentioned, it can be a bit more of a tedious task to correct.  Does anyone have a standard expression or method they use to help make it simpler?

As I said, I only have a handful of these in my library.  So I don't have extensive experience with breaking out the "feat." artists.  However, I've developed the following expressions which work correctly with a [Name] field that has "feat." or "feat" in it.  This is by no means highly tested.  So play with it, but it's not advertised as being anywhere near perfect.

Song name expression:
Code: [Select]
regex([Name],/#(.+)\s+(feat\.*.+$)#/,-1,0)[R1]
"feat." Artist expression:
Code: [Select]
regex([Name],/#(.+)\s+(feat\.*.+$)#/,-1,0)[R2]
If you're going to experiment, I suggest making them expression columns so you can see what the output is without altering any fields.

Brian.
Logged

connersw

  • Citizen of the Universe
  • *****
  • Posts: 661
Re: Songs with feat. (featuring) best practices
« Reply #10 on: March 12, 2016, 09:34:12 am »

So play with it, but it's not advertised as being anywhere near perfect.

This is a great start.  Thank you.

I've been playing a bit with the "feat." Artist expression to add more use cases, and now I have this:
Code: [Select]
regex([Name],/#(.+)\s+((feat|ft|featuring)\.*.+$)#/,-1,0)[R2]
I have pretty much zero experience with Regex or Perl, so I basically just edit from examples.  Where I'm getting stuck now is if it is bracketed by parenthesis.  

For example: [Name] = Song (feat. TEST)

Suggestions?

Also, as it works right now, if [Name] = Song feat. TEST, the output is feat. TEST.  How can I get it to just output TEST?  I can clean it up in a second step with Find and Replace, but if I can get the expression to do it in one step, it would be even better.  

If I could get help with those two hiccups, I could write up a guide that I think would apply to 99% of the examples I see.

Thanks again.
Logged

blgentry

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 8009
Re: Songs with feat. (featuring) best practices
« Reply #11 on: March 12, 2016, 09:48:40 am »

For example: [Name] = Song (feat. TEST)

You need to include literal parenthesis as optional matching elements.  This is ugly because parenthesis are special characters in regex, so you have to escape them with backslashes first, like:

\(
\)

Quote
Also, as it works right now, if [Name] = Song feat. TEST, the output is feat. TEST.  How can I get it to just output TEST?

Parenthesis tell regex what to group together.  [R2] is the second grouping in your expression of:
Code: [Select]
regex([Name],/#(.+)\s+((feat|ft|featuring)\.*.+$)#/,-1,0)[R2]
That second set surrounds the word "feat", so it's matching on it.  Move the parenthesis to after "feat" and it will only get the artist name.  I've combined both of your questions and come up with this expression which I think does both things:

Code: [Select]
regex([Name],/#(.+)\s+\(*(feat|ft|featuring)\.*\s+([^\)]+)\)*$#/,-1,0)[R3]
Test it out and let me know how it works.

Brian.
Logged

connersw

  • Citizen of the Universe
  • *****
  • Posts: 661
Re: Songs with feat. (featuring) best practices
« Reply #12 on: March 16, 2016, 11:31:01 am »

Works perfectly.  Thank you so much--this will save a ton of time.

Here is a quick guide for those wanting to use these expressions in the future to separate out featured Artists from the Name field:

1) Tools -> Options -> Library & Folders -> Manage Library Fields -> Add New Field  Name your new field Featuring and select the Calculated data radio button.  Enter the expression:
Code: [Select]
replace(replace(replace(replace(replace(regex([Name],/#(.+)\s+\(*(featuring|feat|ft)\.*\s+([^\)]+)\)*$#/,-1,0)[R3],/,,;),&,;),and,;),/ ;,;),/; ,;)Click OK
2) Go back into Manage Library Fields -> Add New Field  Name your new field Name Cleaned and select the Calculated data radio button.  Enter the expression:
Code: [Select]
if(regex([Name],/#(.+)\s+\(*(featuring|feat|ft)\.*\s+([^\)]+)\)*$#/,0,0),[R1],[Name])Click OK -> OK
3) Go to your Panes, Categories, or File List views or the Tag Window
4) Ensure the Album Artist field is populated with the main Artist you would like responsible for the Album.  If it is not, you can correct this by entering =[Artist] or =[Album Artist (Auto)] into the Album Artist field.
5) In the Artist field type =[Artist]; [Featuring]
6) In the Name field type =[Name Cleaned]

A couple notes:
1) As always, when editing tags or using new expressions, start by going to File -> Library -> Back Up Library to back-up your Library before beginning.  Also, test on a small set of files first to make sure it is behaving as you expect.
2) The nice part about this system is you can use it to batch rename files once you know it is behaving correctly (ie do all Tracks in an Album at once) since it will just default to the original Name and Artist if no Featuring Artist is in the Name field.
3) If a Featuring Artist has "&" or "and" in their name (Ex Simon & Garfunkel or Jason Isbell and The 400 Unit), this expression will separate that Featuring Artist into two separate Artists (Ex Simon; Garfunkel) so you must be careful in these cases.  It assumes that these will be the exception, so you will need to correct them manually.
Logged

blgentry

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 8009
Re: Songs with feat. (featuring) best practices
« Reply #13 on: March 16, 2016, 02:08:14 pm »

Glad to hear that the expressions worked well for your use.  Nice writeup too.  :)


Brian.
Logged

JustinChase

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3273
  • Getting older every day
Re: Songs with feat. (featuring) best practices
« Reply #14 on: March 16, 2016, 05:37:35 pm »

great thread; bookmarked for when I have more time :)
Logged
pretend this is something funny

justsomeguy

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 525
Re: Songs with feat. (featuring) best practices
« Reply #15 on: March 17, 2016, 01:39:09 am »

blgentry , wow that is great. This has always been in the back of my head but seemed beyond my understanding of MC expressions to accomplish. This works!

I have one question... I have lots of track names with multiple featured artists separated by commas. You've already done a lot but is it possible to separate those out?
for example, "track name (feat artist2, artist3, artist4)"
I also have a few instances like "track name (feat artist2, artist3 & artist4)" but not many.

You've already made life exponentially easier with what you've already done, so no worries if you don't want to or there isn't a way to cover those other circumstances.
Logged

blgentry

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 8009
Re: Songs with feat. (featuring) best practices
« Reply #16 on: March 17, 2016, 08:48:19 am »

I have one question... I have lots of track names with multiple featured artists separated by commas. You've already done a lot but is it possible to separate those out?
for example, "track name (feat artist2, artist3, artist4)"
I also have a few instances like "track name (feat artist2, artist3 & artist4)" but not many.

So do you want the output of this to look like this?
artist2;artist3;artist4

If that's what you want, here's a really ugly, long expression that converts commas (,) and ampersands (&) to semicolons and removes extraneous spaces after.  All tacked on to the original regex.

Code: [Select]
replace(replace(replace(replace(regex([Name],/#(.+)\s+\(*(featuring|feat|ft)\.*\s+([^\)]+)\)*$#/,-1,0)[R3],/,,;),&,;),/ ;,;),/; ,;)
Give it a try in an expression column and see if it does what you want, and let me know.  :)

Brian.
Logged

ferday

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1732
Re: Songs with feat. (featuring) best practices
« Reply #17 on: March 17, 2016, 08:51:58 am »

I suspect he hasn't run the code yet to see, because you are already running a greedy search it should already find multiple ft. In the string

But your new code has me thinking about some cleaning for better or worse.  Thanks for the headache inducing regex blgentry :)
Logged

blgentry

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 8009
Re: Songs with feat. (featuring) best practices
« Reply #18 on: March 17, 2016, 09:07:31 am »

I suspect he hasn't run the code yet to see, because you are already running a greedy search it should already find multiple ft. In the string

It does.  It just outputs them all together with commas, ampersands, etc all intact.  My add on "replace" code just eats the separators and turns them into semicolons so they can be used in a list type field as multiple values.

Quote
But your new code has me thinking about some cleaning for better or worse.  Thanks for the headache inducing regex blgentry :)

Any time.  :P

Brian.
Logged

221bBS

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 703
Re: Songs with feat. (featuring) best practices
« Reply #19 on: March 17, 2016, 09:19:53 am »

I use Musicbrainz's Picard to tag all my music. They have a few fields they use for artists (artist, artists, artistsort).
Artist=write the artist as it is on the release (ABC feat. XYZ)
Artists=semi-colon list of all the artist in Artist (ABC; XYZ)
with these two fields, Album Artist, and the option to standardize artist names in Picard, I'm able to do the following with the help of expressions.



I'm pretty happy with how I'm able to mange my artists.
Logged

connersw

  • Citizen of the Universe
  • *****
  • Posts: 661
Re: Songs with feat. (featuring) best practices
« Reply #20 on: March 17, 2016, 10:42:26 am »

If that's what you want, here's a really ugly, long expression that converts commas (,) and ampersands (&) to semicolons and removes extraneous spaces after.  All tacked on to the original regex.

This is awesome.  I thought about requesting something similar, but I didn't want to get greedy.  Also, I was worried it would mess with song titles that use & or and in the actual Name (Ex Me and My Uncle ft. her, him and she).  Doing it your way doesn't seem to cause a problem.

I've updated your expression to make it a little uglier so that it now includes "and".
Code: [Select]
replace(replace(replace(replace(replace(regex([Name],/#(.+)\s+\(*(featuring|feat|ft)\.*\s+([^\)]+)\)*$#/,-1,0)[R3],/,,;),&,;),and,;),/ ;,;),/; ,;)
I've updated the guide above with the new expression.  I've also changed Note 3 since it should separate most multiple Featuring Artists correctly with the rare exceptions of some band names. 
Logged

justsomeguy

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 525
Re: Songs with feat. (featuring) best practices
« Reply #21 on: March 17, 2016, 01:47:56 pm »

Brian you are the man! Wish i could buy you a beer or a case of beer. Just tested it real quick on a small set of songs with various combinations of , and & as well as "and" (thanks connersw) and it works great.

Thanks Brian for your work and willingness to help and thanks for the guide connersw.

Logged

blgentry

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 8009
Re: Songs with feat. (featuring) best practices
« Reply #22 on: March 17, 2016, 06:44:29 pm »

Brian you are the man! Wish i could buy you a beer or a case of beer.

That's nice of you to say.  Should we ever meet, you can buy me one beer for each letter in FEAT.  Bonus points if the beer's name starts with each of those letters!

I'm happy to help with this stuff, but it's really nice when someone appreciates it.  :)

Brian.
Logged

connersw

  • Citizen of the Universe
  • *****
  • Posts: 661
Re: Songs with feat. (featuring) best practices
« Reply #23 on: November 14, 2016, 09:35:19 am »

This is ugly because parenthesis are special characters in regex, so you have to escape them with backslashes first, like:

\(
\)


Brian:  I'm stuck again.  I tried to hack my way through it, but I'm having issues with special characters again.

I want to modify the expression so that it works if either parenthesis or brackets are used to delineate the Feat. portion, and I know brackets are special characters as well. 

For example, I would like it to work when [Name] = Song (feat. TEST) or [Name] = Song [feat. TEST]

So far, I've only been able to get to work on one or the other, but not both.
Logged

Fuzzysocks

  • Recent member
  • *
  • Posts: 6
Re: Songs with feat. (featuring) best practices
« Reply #24 on: February 12, 2019, 10:00:08 pm »

I've only been able to get to work on one or the other, but not both.

Anyone ever figure out an answer for this one? Running into the same problem. great script though, Thanks Brian!
Logged
Pages: [1]   Go Up