Is it possible to change the script to fetch the writer of the song too?
This information is not always included on Genius but often it is displayed in the credits-section.
@bugzero: thanks for your great script
I got it running. However it seems to be necessary that each song is processed one by one with it.
Maybe I missed it or it is a noob question, but is there a possibility to automate obtaining the lyrics using your script by executing it in scope of an action list?
I use Power Automate.
An automation tool MS made that can do anything you desire. It might take some learning to use it but it is definitely worth it.
i also get this error, just found and "installed" the script

Thanks for the update!! Works like a charm. I've been customizing the script here and there but got stuck
I've added
outputto "TEMP_Comment"
say "Composer: "
json_select_many "producerArtists" "name" ", "
sayrest
say "\u000d\u000a"
say "Lyricist: "
json_select_many "writerArtists" "name" ", "
sayrest
say "\u000d\u000a"
say "Featuring: "
json_select_many "featuredArtists" "name" ", "
sayrest
so in Comment tag it inputs
Composer: Artist 1
Lyricist: Artist 2
Featuring: Artist 3
What I want to do is that when there is no element skip it altogether.
So rather than
Composer: Artist 1
Lyricist: Artist 2
Featuring:
I want it to be
Composer: Artist 1
Lyricist: Artist 2
but no matter how I phrase the if statement I couldn't get there.
NVM i've figured it out myself.
I was trying to learn the functions for the script and searched for documentations but I couldn't find any. Can you link me any source to learn?
In addition: Look at the existing Web Source Scripts.
Thank you so much ![]()
As a novice in programming, trying to reverse engineer out of thin air was such a headache
The multitagging script is not working for me it's tagging single files but then it stops and i have to relaunch the script.
Does anyone have an idea of how to fix it or at least stop it from having to be relaunched, so its at least usable as a faster tagging tool?
Firstly I found a method to make the autohotkey script work semioptimally, you still have to restart the script every ten uses but that still more reliable than what I could do with it beforehand.
; Multi Tag Lyrics v0.11, designed to be used with "MP3TAG v3.07" and "[WS] Genius (Lyrics) v0.21" ([WS] Genius (Lyrics))
; AutoHotKey script written by sruxd (https://community.mp3tag.de/u/sruxd)
; You can use this code for free under the MIT License
#MaxThreadsPerHotkey 250
SetTitleMatchMode, RegEx ; use regex to detect which window is active
#IfWinActive ^Mp3tag.*?\ ; only enable hotkey in main window mp3tag; window title must start with "Mp3tag" and end with the "" of the path name
^m:: ; hotkey = CTRL + G
{
send, {CTRL UP}{ALT} ; press ALT to enter menu, press arrow right to select the tag sources
loop 5 {
send, {RIGHT}
}
send, {ENTER}
loop 8 { ; press down until genius scrips
send, {DOWN}
}
send, {ENTER}
send, {DOWN} ; choose 3rd script, seems most reliable
send, {ENTER}
send, {ENTER}
send, {ENTER}
WinWaitActive .*lyrics$ ; wait till message box with search suggestion appears
send, {ENTER}
WinWaitNotActive .*lyrics$
WinWaitNotActive ^Mp3tag.*?\\ ; wait till next window opens
if WinActive("^Mp3tag v\d+\.\d+$") ; detect if error window is shown
{
send, {RIGHT} ; select "cancel"
send, {ENTER} ; confirm "cancel"
}
else
{
send, {ENTER} ; auto confirm suggested string
send, {ENTER} ; auto confirm whatever was found
WinWaitNotActive ^Mp3tag.*?\\
}
WinWaitActive ^Mp3tag.*?\\ ; ensure main window is open
send, {DOWN} ; jump to next entry in list
}
Reload
Secondly the json part of the genius import script has stopped working for some reason.
The only metadata it still returns is the genius URL. Is anyone else experiencing this issue or is this an issue on my end. If so does anyone have a fix for this issue?
yes, json version isn't working
can someone fix it?
hello again, to whom it may concern i've managed to miraculously make it work:
the issue was here
regexpReplace "(?i).*__PRELOADED_STATE__ .+parse\('(.+)'\);\s*?window.*" "$1"
the not so creative alternative that i came up with:
regexpreplace "(.*\"body\":\{\"html\":\")(.*)(\",\"children\".*)" "$2"
what's more is that i couldn't work out the JSON function for the life of me, so i've just used regexpreplace instead, the file attached is my version that fetches the lyrics only, which is better than nothing i guess
BGenius Album Artist.src (2.7 KB)
Thanks for the advise.
Sorry for solving the problem so late, I've had a lot of work these days.
You can download the version 0.51 and test it.
thank you so much, it's working well now
Is anyone still using this plugin? Right now it does not work for me, all I get when trying to fetch is <Error>
Example request:
debug-output.rar (167.8 KB)
Fixed for me by adding
regexpreplace "<div\s+data-lyrics-container=\"true\"[^>]+?>(.+?)<\s*\/div\s*>" "<lyrics:start>$1<lyrics:end>"
Hello Markus,
Are you using HTML or JSON version?
I'm getting message when I select HTML version.
A long time ago, I switched to the JSON version, leaving the HTML version untouched, as it provides more tags and a better format for lyrics.
Maybe in next version I will remove HTML version.
I'm using the HTML version because the JSON version never worked for me. But I just noticed that I'm using a very outdated mp3tag version. My bad. Will use the JSON version from now on. Thanks for the hint!
The JSON reply provides Lyrics without linebreaks, the HTML version had the breaks, but currently for me it also does not work.
Hello, I am getting a 404 from your generously provided Genius.com script. It downloaded the lyrics for two tracks but then started to immediately return the error.
MP3Tag 3.30
Genius WSS 0.52
I am able to navigate to the website and search for the lyrics and copy/paste manually, so the site is not down.
Any idea how to fix this? The fact that it worked twice makes me think they are blocking people from scraping their site somehow, but I donβt know that.



