milkdrop2077 / MilkDrop3

MilkDrop 3.0, supports any audio source, double-preset (.milk2), loading presets based on beat detection and much more...
https://twitter.com/MilkDrop2077
472 stars 24 forks source link

Lyrics/Sprites/Song Names/Custom Text #26

Open Damienlee69 opened 10 months ago

Damienlee69 commented 10 months ago

I'm curious if it's possible to incorporate karaoke style lyrics? Maybe it could even pull some images to display on the sides and melt into the visuals. I remember the original had options to add sprites to hotkeys and your own text presets as well, so I can't imagine that part of it would be terribly difficult. I'm not sure of how and where lyrics can be pulled from, let alone how say, Spotify times the lyrics to music, but it sure would be cool feature. Currently I only see "Milkdrop 3" when I hit H for hard cutting. It used to be whenever the song changed it would display the song name. I realize this is a technical limitation of Milkdrop only listening to sound and not being directly connected to the music service, however I know you can link into your Spotify api via the dev section: https://developer.spotify.com/. Maybe it can be utilized somehow by those who would want to link directly to their Spotify for a more feature rich experience?

Edit: This sis supposed to be a feature request, but I can't find the option anywhere.

milkdrop2077 commented 10 months ago

Technically this is pretty easy, the code exist to display some text and load some sprites, just need some minor edit, launch a timer and voila. it's been on the back of my head for quite some time now. I'm surprised no one did it before. Or maybe this guy did it : https://forums.winamp.com/forum/visualizations/milkdrop/milkdrop-development/305364-karaoke-and-effect-cue-version-of-milkdrop2 The main issue is where/how to get the lyrics and synchronize it with the music without spying on the system. The spotify api could be a solution. Or maybe I could create a new type of .milk3 file that support more parameters like mp3=song.mp3 and lyrics=lyrics.txt, and I'll let MilkDrop3 playing directly the music and displaying the text and images. Could load a different preset per line of text too. That would be fun.

Damienlee69 commented 10 months ago

Sounds like you've given it some thought or perhaps I've reignited an old idea. After posting I saw a previous discussion about similar ideas. Sorry, I didn't see it until after posting. Spotify itself uses musixmatch which apparently you can not just use their API, "Is caching of lyrics allowed? Yes. However we remind you that you need to properly implement the tracking pixel and we don't allow distribution of our data to 3rd parties and you're not allowed to copy our data for re-distribution.

Why I only have access to 30% of the lyrics and not full text? We currently offer only 30% of lyrics for Not Commercial Use (personal use and beta testing). In order to get the full view you need to buy a Licensing Data Package"

https://developer.musixmatch.com/faq

Just did a quick google, maybe an open source API/database is the only solution, at least for live lookup. This of course doesn not keep MilkDrop a strictly local application, so perhaps an opt in option would have to added to the installer for any live services that may be implemented. I can't imagine many people would want to download lyrics for every song they have or rather stream. Anyways, I found this: https://publicapis.io/lyrics-ovh-api I'm no programmer and have no idea if that's even useful, lol, but maybe it can give you an idea of where to start? I can't see anything about Spotify offering lyrics through their API unfortunately, but it would be needed to get song info I'm guessing. I think loading a preset per line may be a little too much, might need some sort of a word count threshold, or bpm, imagine Rap God burning your screen out. lol The sprites and custom text should be quite easy, especially if it's like the old MD2 way being only triggered by hotkeys, although an auto random system could be really cool. I did almost donate last night, then I remembered I'm poor atm. Trust that I do want to though (and will! providing I don't forget), as I can't sit by and let the best visualizer to exist die on the way side and I appreciate all your work and taking time to respond. Btw, if you're interested I posted a few MD3 AI gen "icons" on your original announcement Reddit post. I can help with that kinda stuff if ya need. I've dabbled in photoshop for like 30 years.

milkdrop2077 commented 10 months ago

Thanks for the icons! If you're a photoshop wizard, you can try to make a new MilkDrop3 background for the installer, it's pretty basic, I'm sure you could do a much better logo/background. Also just in case, I'm looking for someone to rename (trying to credit as much as possible the originals authors) and group most of the similar looking presets coming with MilkDrop3 with better names. For example, MilkDrop2077.R152 is Goody + martin - crystal palace, it was named like that to be easily handled in MilkDrop2077, but now I'm starting to have tones of MilkDrop2077.RXXX presets. Too many similar looking presets with completely different names too. Send me a mail if you want to make the logo!

Damienlee69 commented 10 months ago

Well, I wouldn't say photoshop wizard, it's more of a hobby. I land in more of a bit of everything/jack of all trades category. lol. If there's a look you want for the background or icons I'm sure i could whip something up for ya. As for the renaming thing, I looked at that before for you and only got confused to wth I was doing and didn't wanna mess things up either.


From: milkdrop2077 @.> Sent: September 18, 2023 11:53 PM To: milkdrop2077/MilkDrop3 @.> Cc: Damienlee69 @.>; Author @.> Subject: Re: [milkdrop2077/MilkDrop3] Lyrics/Sprites/Song Names/Custom Text (Issue #26)

Thanks for the icons! If you're a photoshop wizard, you can try to make a new MilkDrop3 background for the installer, it's pretty basic, I'm sure you could do a much better logo/background. Also just in case, I'm looking for someone to rename (trying to credit as much as possible the originals authors) and group most of the similar looking presets coming with MilkDrop3 with better names. For example, MilkDrop2077.R152 is Goody + martin - crystal palace, it was named like that to be easily handled in MilkDrop2077, but now I'm starting to have tones of MilkDrop2077.RXXX presets. Too many similar looking presets with completely different names too. Send me a mail if you want to make the logo!

— Reply to this email directly, view it on GitHubhttps://github.com/milkdrop2077/MilkDrop3/issues/26#issuecomment-1724829357, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADX4A756VOA26LOHEYWNYYTX3EQOPANCNFSM6AAAAAA4UJUGQQ. You are receiving this because you authored the thread.Message ID: @.***>

Damienlee69 commented 10 months ago

There is a Spicetify extension called Lyrics Plus that somehow pulls from different lyrics providers: https://spicetify.app/docs/advanced-usage/custom-apps/#lyrics-plus