Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: auto-labling songs with explicit lyrics? (Read 579 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

auto-labling songs with explicit lyrics?

AFAIK itunes has some sort of option to label music that has explicit lyrics but as i despise itunes, and I run linux, I am really hoping there is some other option out there but I can't seem to find anything? Is anyone aware of other software that can do this or a foobar2k (I use via wine) plugin?
Thanks in advance!

Re: auto-labling songs with explicit lyrics?

Reply #1
I can offer not very elegant solution.
In foobar2000 if files has lyrics in tags, you can use function "Automatically fill values" in Properties dialog. Although you will need to create list of all explicit words manually first.
For example:
Source: Other
Code: [Select]
$if($strstr($lower(%unsyncedlyrics%),fuck),$puts(expl,1),)$if($strstr($lower(%unsyncedlyrics%),shit),$puts(expl,1),)$if($strstr($lower(%unsyncedlyrics%),bitch),$puts(expl,1),)$get(expl)
Pattern:
%explicit%
Here list of explicit words contains 3 explicit words: fuck, shit, bitch.
If tag "lyrics" contains at least one of listed explicit words, then tag "explicit" with value "1" will be added to file(s). Derivatives from these words will also be taken into account (for example "fucking", "shitty").

Re: auto-labling songs with explicit lyrics?

Reply #2
In fb2k, I'd favour a library (or playlist) search.

Code: [Select]
%lyrics% HAS bitch OR %lyrics% HAS shit

Append more naughty words as necessary.

Make sure all search terms are lower case and it will find any combination regardless of case.

Then you can highlight all results>right click>properties and manually add any tag you like.

Re: auto-labling songs with explicit lyrics?

Reply #3
Yeah! Thank you both, I knew the HA forum would have an answer - but, that leads me another question i guess. I have mostly used Jaikoz for editing and automatically populating metadata information but the lyrics part seems rather inept (or I have done something wrong) as very few of the songs have lyrics. Is there perhaps another recommended app for downloading/embedding lyrics information in music files?
Thanks again.

Re: auto-labling songs with explicit lyrics?

Reply #4
I have a python script that uses the taglib module to mass extract lyrics and dump it to .txt files.
Using taglib you should be able to check the lyrics of your files (or any other metadata you are interested in) and add some tag about the content of the lyrics.

Basically it comes down to this:
```
Code: [Select]
import taglib
# other imports

def extract_lyrics(input_file):
        song = taglib.File(input_file)
        lyrics = song.tags.get('LYRICS')
        if lyrics is None or len(lyrics[0]) == 0:
            lyrics = song.tags.get('UNSYNCED LYRICS')
        # etc.
        # do something with the data
```
The taglib module is fairly trivial.
The most work comes from looping over many files (perhaps look into the glob module) and things like failure handling if desired.
To start from zero with this sounds like it could take a weekend or two.

However, music services like Spotify know whether songs are explicit.
Isn't there some database around for this somewhere?