![(One Shot) Karaoke Video Generator for Software Savvy Users [Python CLI]](https://external-preview.redd.it/O7fxZX_IwidVyjjTYDYw9xia3ztUX1KBH3oS2WD5zmo.png?width=1080&crop=smart&auto=webp&s=ce4184c9b2ef5ca4641c58dece69831ac2095b29)
(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
- acquires song audio via YouTube, if link is provided - https://github.com/yt-dlp/yt-dlp (follow usage guidlines)
- acquires lyrics automatically - manual editing or copying and pasting sometimes required
- separates vocal and instrumental audio automatically, or uses a provided instrumental track - https://github.com/NBPub/karaoke_vid_gen/blob/main/docs/Models.md#source-separation--demucs
- aligns lyrics to vocal track with one of two aligners, allows A/B testing for both at once - start and stop times are attached to each word and determine how the word is filled - https://github.com/NBPub/karaoke_vid_gen/blob/main/docs/Models.md#alignment--two-approaches
- provides "review" and "karaoke" renders of videos, with the full audio and instrumental audio, respectively. use the "review" render to adjust word fill timing before your final version
- configurable visual elements (word fill color, instrumental wait bar, count-in dots, etc . . .)
- manually adjust timing, "smart" operations provided - hand editable JSON file, automatic checking of edits - https://github.com/NBPub/karaoke_vid_gen/blob/main/docs/Features.md#nudge-toolkit - https://github.com/NBPub/karaoke_vid_gen/blob/main/docs/Usage.md#nudge--hand-correct-timing
- more!
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