started with lyrics
This commit is contained in:
parent
38f0ac1597
commit
d524f0efc7
95
src/lyrics.py
Normal file
95
src/lyrics.py
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
from mutagen.id3 import ID3, USLT
|
||||||
|
|
||||||
|
"""
|
||||||
|
https://cweiske.de/tagebuch/rhythmbox-lyrics.htm
|
||||||
|
Rythmbox, my music player doesn't support ID3 lyrics (USLT) yet, so I have to find something else
|
||||||
|
Lyrics in MP3 ID3 tags (SYLT/USLT) is still missing, because GStreamer does not support that yet.
|
||||||
|
|
||||||
|
One possible sollution would be to use ogg/vorbis files. Those lyrics are supported in rythmbox
|
||||||
|
'So, the next Rhythmbox release (3.5.0 or 3.4.2) will read lyrics directly from ogg/vorbis files, using the LYRICS and SYNCLYRICS tags.'
|
||||||
|
Another possible sollution (probaply the better one cuz I dont need to refactor whole metadata AGAIN)
|
||||||
|
would be to write a Rhythmbox plugin that fetches lyrics from ID3 USLT
|
||||||
|
"""
|
||||||
|
|
||||||
|
# https://www.programcreek.com/python/example/63462/mutagen.mp3.EasyMP3
|
||||||
|
# https://code.activestate.com/recipes/577138-embed-lyrics-into-mp3-files-using-mutagen-uslt-tag/
|
||||||
|
|
||||||
|
MP3_PATH = "/home/lars/Music/metalcore/I Prevail/TRAUMA/Breaking Down.mp3"
|
||||||
|
LYRICS = """
|
||||||
|
[Chorus: Brian Burkheiser]
|
||||||
|
I think, I think too much
|
||||||
|
I'm a little bit paranoid, I think I’m breaking
|
||||||
|
Maybe it's in my blood
|
||||||
|
Got a pain that I can't avoid, I think I’m breaking down
|
||||||
|
|
||||||
|
[Verse 1: Brian Burkheiser]
|
||||||
|
Hate every single second, minute, hour every day
|
||||||
|
Person in the mirror, they won't let me feel a thing
|
||||||
|
Keep me focused on my problems, I'm addicted to the pain
|
||||||
|
Everybody's out to get you
|
||||||
|
[Pre-Chorus: Eric Vanlerberghe]
|
||||||
|
I guess I never noticed how it came creeping in
|
||||||
|
My enemy emotion, but I can't sink or swim
|
||||||
|
I say I'm feeling hopeless, they give me medicine
|
||||||
|
They give me medicine, they give me medicine
|
||||||
|
|
||||||
|
[Chorus: Brian Burkheiser & Eric Vanlerberghe]
|
||||||
|
I think I think too much (Too much)
|
||||||
|
I'm a little bit paranoid, I think I'm breaking
|
||||||
|
Maybe it’s in my blood (My blood)
|
||||||
|
Got a pain that I can’t avoid, I think I'm breaking
|
||||||
|
Down, I think I’m breaking
|
||||||
|
Down, I think I'm breaking
|
||||||
|
I think I think too much (Too much)
|
||||||
|
I'm a little bit paranoid, I think I'm breaking down
|
||||||
|
|
||||||
|
[Verse 2: Brian Burkheiser]
|
||||||
|
Lies, every time they ask me, I just tell ’em that I'm fine
|
||||||
|
Try to hide my demons, but they only multiply
|
||||||
|
Keep me running from the voices on repeat inside my mind
|
||||||
|
Everybody fucking hates you
|
||||||
|
|
||||||
|
[Pre-Chorus: Eric Vanlerberghe]
|
||||||
|
I guess I never noticed how it came creeping in
|
||||||
|
My enemy emotion, but I can't sink or swim
|
||||||
|
I say I'm feeling hopeless, but no one's listening
|
||||||
|
But no one's listening, but no one's listening
|
||||||
|
You might also like
|
||||||
|
DOA
|
||||||
|
I Prevail
|
||||||
|
Rise Above It
|
||||||
|
I Prevail
|
||||||
|
Bow Down
|
||||||
|
I Prevail
|
||||||
|
[Chorus: Brian Burkheiser & Eric Vanlerberghe]
|
||||||
|
I think I think too much (Too much)
|
||||||
|
I'm a little bit paranoid, I think I'm breaking
|
||||||
|
Maybe it's in my blood (My blood)
|
||||||
|
Got a pain that I can't avoid, I think I'm breaking
|
||||||
|
Down, I think I'm breaking
|
||||||
|
Down, I think I'm breaking
|
||||||
|
I think I think too much (Too much)
|
||||||
|
I'm a little bit paranoid, I think I'm breaking down
|
||||||
|
|
||||||
|
[Outro: Brian Burkheiser]
|
||||||
|
I don't really like myself
|
||||||
|
I don't really like myself
|
||||||
|
I don't really like myself
|
||||||
|
I don't really like myself
|
||||||
|
I think I'm breaking down
|
||||||
|
"""
|
||||||
|
|
||||||
|
def add_lyrics(file_name, lyrics=""):
|
||||||
|
tags = ID3(file_name)
|
||||||
|
uslt_output = USLT(encoding=3, lang=u'eng', desc=u'desc', text=lyrics)
|
||||||
|
tags["USLT::'eng'"] = uslt_output
|
||||||
|
|
||||||
|
tags.save(file_name)
|
||||||
|
|
||||||
|
def get_lyrics(file_name):
|
||||||
|
tags = ID3(file_name)
|
||||||
|
return tags.getall("USLT")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
add_lyrics(MP3_PATH, lyrics=LYRICS)
|
||||||
|
print(get_lyrics(MP3_PATH))
|
Loading…
Reference in New Issue
Block a user