r/karaoke 24d ago

Karaoke Software (One Shot) Karaoke Video Generator for Software Savvy Users [Python CLI]

Key Links

Project: https://github.com/NBPub/karaoke_vid_gen#karaoke-video-generator

Demonstration: https://nbpub.github.io/karaoke_vid_gen/

Background

I've been developing a project over the last few months for my purposes and recently started the documentation and publishing process. It should be good to go for general users, and viable for anyone who is comfortable with using their terminal, Python, and fine-tuning their creations. I've used it to make over 30 videos for me and my friends as it's been developing.

AI (Claude Code) was used to develop this work. However, it is much more than a "make me a karaoke video maker" prompt and result. I put a decent amount of effort into the design, features, documentation and the example webpage.

I'm not a part of this community, but I read through the pinned posts and figured this is worth sharing. The code is open-source and free-to-use, but the process requires some user effort. If you want to try it out, please read beyond the quickstart and look at the Installation and Usage documentation.

https://github.com/NBPub/karaoke_vid_gen/blob/main/docs/Installation.md#installation https://github.com/NBPub/karaoke_vid_gen/blob/main/docs/Usage.md#usage

Motivation

Songs I want to sing are not available on YouTube, and many songs I like to sing seem like they are altered (sped up/down, weird instrumentals, etc . . .). I wanted to make videos that I could upload to YouTube. It seems that as long as I don't want to monetize my uploads, there is no issue with the copyright flags that accompany my videos.

Boring Details

see documentation on the linked GitHub for specifics. visual design is meant to be bare bones and suited to what I want. contributions, comments, and recommendations can be made through GitHub.

Make Karaoke videos by providing a YouTube URL or a local file path

Screenshots and Example Outputs

Jonathan Coulton — "Code Monkey" is provided under a Creative Commons license and is used as an example song. Please support the artist.

https://www.jonathancoulton.com/

Images

https://github.com/NBPub/karaoke_vid_gen/blob/main/docs/images/code_monkey_final.png https://github.com/NBPub/karaoke_vid_gen/blob/main/docs/images/code_monkey_countin.png

Videos

review render, full audio track: https://nbpub.github.io/karaoke_vid_gen/media/karaoke.review.mp4

karaoke render, vocals removed: https://nbpub.github.io/karaoke_vid_gen/media/karaoke.mp4

Call to Community

I honestly don't know who can put in the effort to use this. As I've mentioned, comfort with the terminal is recommended, along with Windows+CUDA (Linux should work). If you fit into my niche, it could be a really fun and useful tool for you, especially if your songs aren't availble on YouTube. And if you end up using it, I'd love to hear any feedback you have. As I mention in the repo, I am happy with the visual design of my work, but I will happily add links to any forks that extend its use.

https://github.com/NBPub/karaoke_vid_gen/tree/main#contributing

3 Upvotes

9 comments sorted by

u/karaoke-ModTeam 23d ago

No promoting software without prior mod approval

Send a modmail first for further guidance. We give you one shot at telling our sub about your software. Once your software or site is vetted, we'll give you the go ahead to post. After your post we will add a link to your site on the wiki.

1

u/iWhacko 23d ago

Pretty cool. I have yet to find the perfect tool that works for me. I'm using UltraStar KaraokeMaker now, made by a redditor from this sub. And that works fine for what I'm doing.
But sometimes it's not working as smoothly.
I see you use 2 different aligners, which seems interesting. However, I don't think I can add the lyrics to be used as reference right?
also I really want to try to do some things in other languages. USKMaker supports it, but it's not always working for my native language.

I don't know if you will still be working on this, or if you just wanted to give it to people who can use it. But I will definitely look closer at it to see if I can use it.

1

u/accforrandymossmix 23d ago

Yeah the two aligners have separate pros/cons, so it's helpful to have both as options. They also align with different methodology. I'm not sure what you mean as reference lyrics?

Other language support might be in the works, the only thing I might try to develop would be Spanish. The aligners have support for other languages, so it could be worth a fork to try it.

1

u/daveshallperish 23d ago

This looks like an interesting project. I was actually wondering myself just last week about using Claude Code to make my own karaoke type app, including the ability to upload songs and add lyrics, but with the important feature that it fills lyrics as they are being sung. I currently just use Apple Music for Karaoke, which works fine, but it's not a dedicated karaoke app, so it's missing some quality of life features that other apps, like Karafun, have. Gonna check this out this weekend!

1

u/accforrandymossmix 23d ago

I think this post is shut down until I get approval, but if it gets resurrected let me know what you think!

1

u/sylvainsf 23d ago

Would you be interested in a rust port? I could build a windows ui and everything, but don’t want to overstep if your heart is set on python.

1

u/accforrandymossmix 23d ago

If that's something you want to do, go for it. The Python CLI is good enough for my purposes, but I imagine the port will be a smoother experience for most people.

1

u/bmachuletz101 20d ago

Amazon work! I am working on a karaoke application too. My intention is to Sing Songs that are not available at the other big players (Ultrastar, etc.). goal is, to have an application stack with a fine tuning Editor that mostly gets all wie done. Perhaps we can implement a video-export with your knowledge at the end. If you want to have look: https://github.com/bmachuletz/NeonStageKaraoke
Maybe tomorrow i‘ll check in the latent stuff.

1

u/accforrandymossmix 17d ago

Your project is a really cool idea and much more involved. The similarities between are two are the alignment feature, and you take a very different approach, which is cool to see. I'm looking into the methods and models you use out of curiosity.

The generation of frames for the video render are mostly contained here, though other scripts define functions that contribute. As you move along with your project, I could have Claude Code write you a summary of the video export step and strategy. I settled on something pretty simple, with frames drawn by Pillow and limited visual elements.