7 ms·
Nightingale – open-source karaoke app that works with any song on your computer
- ezst 6mo agoWhat the name reminisces me of: https://en.wikipedia.org/wiki/Nightingale_(software) https://en.wikipedia.org/wiki/Nightingale_(software)
- arvinsim 6mo agoI am getting a virus detected error when downloading from Chrome.
- rzzzzru 6mo agoit's a false positive, however feel free to build from the source while I'm figuring out what the virus trigger is about
- rzzzzru 6mo agoI've been working on a karaoke app called Nightingale. You point it at your music folder and it turns your songs into karaoke - separates vocals from instrumentals, generates word-level synced lyrics, and lets you sing with highlighted lyrics and pitch scoring. Works with video files too. Everything runs locally on your machine, nothing gets uploaded. No accounts, no subscriptions, no telemetry. It ships as a single binary for Linux, macOS, and Windows. On first launch it sets up its own isolated Python environment and downloads the ML models it needs - no manual installation of dependencies required. My two biggest drivers for the creation of this were: The lack of karaoke coverage for niche, avant-garde, and local tracks. Nostalgia for the good old cheesy karaoke backgrounds with flowing rivers, city panoramas, etc. Some highlights: Stem separation using the UVR Karaoke model (preserves backing vocals) or Demucs Automatic lyrics via WhisperX transcription, or fetched from LRCLIB when available Pitch scoring with player profiles and scoreboards Gamepad support and TV-friendly UI scaling for party setups GPU acceleration on NVIDIA (CUDA) and Apple Silicon (CoreML/MPS) Built with Rust and the Bevy engine The whole stack is open source. No premium tier, no "open core" - just the app. Feedback and contributions welcome.
- defrost 6mo agoStruggled somewhat with Tjamuku Ngurra by the Tjintu Desert Band, absolutely nailed Mariah Carey's Ken Lee.
- philsnow 6mo ago( https://knowyourmeme.com/memes/ken-lee https://knowyourmeme.com/memes/ken-lee )
- antihero 6mo agoThis looks like awesome awesome fun! Will let you know how it runs. What a wonderful idea <3
- solstice 6mo agoExcited to try this out. How well does WhisperX deal with lyrics in say Mandarin or Cantonese? Does it output Hanzi?
- rzzzzru 6mo agoI haven't tried Mandarin and Cantonese, but tried Japanese. back at that time, it performed poorly. however, I've tweaked a bunch of settings since then, so maybe it has changed. Hanzi is a supported font and can be output, but the transcript/alignment quality might not be the best
- whilenot-dev 6mo agoJust tried it with B.E.D - Walk Away[0], unfortunately it lost track of the lyrics after 30 secs (Model is "large-v3"). Will play around a bit more, as it would be great to have a working karaoke generator. Some quick feedback: - Needs a way to skip for-/backwards during playback to validate the result - Sentences seem to be recognized (first letter has uppercasing), but periods aren't added - Needs an option to edit results from the track analysis Thanks for keeping it FOSS! [0]: https://www.youtube.com/watch?v=_MFT4H3VoNE https://www.youtube.com/watch?v=_MFT4H3VoNE
- 10729287 6mo agoOpen source, local and passion driven. The kind of news that make me believes in humanity again. Thank you, can't wait to try it this week-end !
- rjh29 6mo agoI think you nailed it. Does it support pitch/tempo controls?
- integralid 6mo ago>app that works with any song on your computer Impressive, very nice. Now let's see my death metal collection. Just joking! Very nice, thanks for open-sourcing it.
- rzzzzru 6mo agoNo joke, feel free to try it! The beauty of the approach is that you don't have any limitations. Just be prepared to degraded experience, sometimes models struggle even with the simplest pop tracks :D
- caipira 6mo agoThis looks amazing! looking forward to test it on the weekend. Does it work well on a raspberry pi with 4 gigs of ram?
- rzzzzru 6mo agooof, since it uses quite heavy models locally I would expect it to struggle on such hardware. M1+ macs & nvidia gpus work the best and fastest.
- ETlol 6mo agoVirusTotal says the .EXE is flagged by 1 security vendor but threat is low
- rzzzzru 6mo agohey, thanks! would be happy if you open it as issue on gh
- jamesvzb 6mo ago[flagged]
- rzzzzru 6mo agoI've just made it public a few days back :) need more pioneers to try it out and spread the word!
- dmd 6mo agoThis looks great, but I don't understand what it's supposed to do. I assumed the idea was "remove the lyrics" but of the 5 songs I tried (from Cry Cry Cry, Indigo Girls, and Suzanne Vega), none seemed to have any change from the original at all - it's showing the words on the screen (and the timing is perfect) but it's not removing the singing at all. How do you turn off the singing?
- rzzzzru 6mo agohey! you can use + / - buttons on the keyboard to change the level of guidance according to your preference, generally there is a controls legend in the top right corner https://nightingale.cafe/docs/controls https://nightingale.cafe/docs/controls
- dmd 6mo agoYeah, I did that. I think the problem is when there are multiple singers harmonizing it only removes one.
- rzzzzru 6mo agoindeed! the stem separation model is not ideal. you can try to change the stem separation model in the settings and reanalyze the song (make sure to click the trash button and then analyze, refresh button does not refresh the stems, only the transcript/alignment)
- mynameajeff 6mo agoMy wife is a huge karaoke fan. I'm especially interested in the pitch scoring since we usually play the karaoke games on older consoles for that exact feature. Nobody really makes games like that anymore without a subscription (and most of these good modern karaoke platforms are exclusive to east asia anyways). If this works well this could make for some really fun social events, looking forward to trying this.
- rzzzzru 6mo agoplease try it out and share your feedback afterwards! both transcript/alignment might not work perfectly, but it really depends on the song
- echoangle 6mo agoI don’t want to take away from OPs project (which seems really nice) but have you tried Ultrastar Deluxe ( https://usdx.eu/ https://usdx.eu/ ) in combination with USDB ( https://usdb.animux.de/ https://usdb.animux.de/ )? There’s also a program for automatically downloading the songs: https://github.com/bohning/usdb_syncer https://github.com/bohning/usdb_syncer
- abustamam 6mo agoSomeone also shared https://github.com/rakuri255/UltraSinger https://github.com/rakuri255/UltraSinger Which seems to output something that works with Ultrastar. My sister loves karaoke as well and we grew up playing karaoke revolution and rock band. Shame they don't really make those anymore.
- mynameajeff 6mo agoMany thanks for sharing, I'll have to check it out this weekend. Do you have much hands on with it? Curious how much fiddling is required when using it. Haven't had a chance to run OP's either but my dream is to find something that's as intuitive to use as the older games. Even modern karaoke software you'll get at karaoke bar usually requires me or my wife to operate it for the entire rest of the group with how complicated everything is haha.
- 6mo ago
- hasbot 6mo agoI hate to be that guy that points out other projects but YARG has vocals and there are a slew of songs that can be used. https://www.yarg.in https://www.yarg.in https://www.enchor.us/?&hasVocals=true https://www.enchor.us/?&hasVocals=true
- manbash 6mo agoThis is very cool. I couldn't find it it already supports duets. I assume it won't.
- rzzzzru 6mo agostay tuned for more features!
- spacesxbt27 6mo ago[dead]
- reddalo 6mo agoLooks amazing. I've been using Karafun [1], a paid service, but this seems promising. [1] https://www.karafun.com/ https://www.karafun.com/
- kikokikokiko 6mo agoKarafun is a paid service? I've seen their karaoke songs on Youtube for over a decade, I thought that was their business model.
- reddalo 6mo agoYes, the free songs on YouTube aren't customizable: there's a low voice guide that you can't turn off (or turn up...), and you can't change tempo. You can do this from their huge catalog of songs, using their official app or their web client: https://www.karafun.com/web/ https://www.karafun.com/web/ Plus, they have music quizzes you can play with many people using smartphones as remote controls. It's super fun for parties where people don't want to sing all the time.
- mock-possum 6mo agoUnfortunately karafun, like so many other systems, has egregious holes in its catalog. I hate playing the “this song? No… this song? No… this song? No…” game.
- reddalo 6mo agoPsst... if you sign up to their Premium tier you can play songs from their "Community" (i.e. user uploaded songs). If you sign up to the "Pro" tier, you can play even more songs that are normally locked from their catalogue (but you'll have to manage rightsholders authorization yourself).
- upsuper 6mo agoReally nice project, I'm looking forward to trying it! Would it be possible to process songs on one device, and then use the result in another, or even multiple? Or would it be possible to run as separate server / client? I ask mainly because the device I connect to my TV is definitely not the most powerful one, so it would be nice if I can preprocess the songs elsewhere.
- rzzzzru 6mo agohi! answered here https://github.com/rzru/nightingale/issues/7 https://github.com/rzru/nightingale/issues/7
- abustamam 6mo agoMy sister is non-technical but loves Karaoke. I'd love to use this or similar software to build a small box attached to her TV where she can look up any song on YouTube and generate a karaoke version. I don't expect this feature to be magically built though, so I'll have to research how everything works, and maybe I'll contribue :)
- Eckter2 6mo agoVery nice! I've worked on a small toy project with a similar purpose in the past [1], though it's not nearly as polished as yours, and I've made some questionable decisions here and there. I have questions about pitch tracking. It seems you do track the pitch for scoring, and there's a line at the top of the screen that seems related but that I can't figure out. For my use case, an important feature of karaoke apps is displaying how "high" the next note should be sung, or at least some hints. Is it something your app can do and I just haven't figured it out? Or would it be a feature request? [1] https://github.com/eckter/karaoke_helper https://github.com/eckter/karaoke_helper
- rzzzzru 6mo agohi there! pitch scoring is now pretty simplistic and the feature you're describing is not implemented. it's a great feature request tho!
- skatedbear 6mo agoSo cool! I'll try it with the steam deck. Being able to go to a party with just the deck and a microphone and have a karaoke with any song people want sounds good.
- rzzzzru 6mo agoI'm not sure whether the analysis would work swiftly enough on steam deck, it might be better to analyze on a desktop device and transfer ~/.nightingale/songs to the steam deck. just saying!
- Gormo 6mo agoJust downloaded source and built this to play around with it. I was a bit surprised that the first thing it did when I ran it was to start downloading binaries from the internet. It went off to fetch FFMpeg from some remote server, but I already have FFMpeg installed. Then it tried and failed to install its own Python interpreter, which is another thing that's already present on the system. How come this is trying to install its own vendored dependencies, including executable binaries, instead of checking for what's already installed? That approach can lead to both security and performance issues. Edit: the Python download isn't failing, but rather the application itself is looking for the executable interpreter in `lib` rather than `bin` once the download completes. I built the release tarball in the git repo, and I'm pretty amazed that such a basic error could make it into release code. Further edit: I tried using the build script in the tarball rather than just doing a `cargo build -r`, and it started trying to install Docker containers! Docker to build a desktop application! What is going on here?
- ramesh31 6mo ago>How come this is trying to install its own vendored dependencies, including executable binaries, instead of checking for what's already installed? That approach can lead to both security and performance issues. Because the person who vibecoded this had no idea they should have been doing that.
- user34283 6mo agoPersonal attacks directed at people who build OSS are not cool, even if you take issue with their supposed use of AI or vendoring of dependencies.
- bheadmaster 6mo agoVibe coders are NOT programmers, they are leeches, feeding from the blood of the open source.
- stavros 6mo ago
- Iamkkdasari74 6mo ago[flagged]
- mft_ 6mo agoBig karaoke fan, so thanks for doing this. I'm processing a first test song as I write. The pitch scoring sounds really interesting as both a competitive and maybe also a training tool. A couple of immediate small pieces of feedback: * The colour scheme on the queue/nn% buttons is really low contrast - white on pale yellow is very hard to read * the 'models' button (bottom left) - I assumed this would give me details about which models are available, and the sizes, but instead deleted the downloaded models without warning. Maybe add a 'are you sure you want to...' check?
- ccozan 6mo agoThis is just for English language? I have some older Japanese stuff I would love to sing!
- rzzzzru 6mo agoso, as answered in one of the other threads - for me the transcript model performed poorly back in the days, however since then I've added lyrics lookup and tweaked a bunch of parameters, so it is worth trying!
- danvoell 6mo agoNice work! If you are looking for ways to enhance this or complementary routes, one thing I was thinking about recently... As a musician, often I play songs I don't know the lyrics to. It would be cool to have an app that could follow along karaoke style with the words, as I sing and as the band plays. Right now I clip a phone to the mic stand, but after a lyric or two, I lose my place. This is probably multitudes more complex based on every "band/vocals" sounding different, but just something I was thinking about.
- ted537 6mo agoYeah I think this is quite tricky. Even spotify screws up the sync halfway through the song somewhat frequently
- EGreg 6mo agoThis is great! I thought of doing something like this for Karaoke, but was wondering about the copyright implications of doing it server-side. We already do this for ingesting podcasts and cutting their clips with text being highlighted as people speak. AssemblyAI also supports speaker diarization. For videos recorded using our own livestreaming studio, we can bypass all this by using Web STT and TTS APIs resulting in perfect timing and diarization without the need for server side models.
- charcircuit 6mo agoIt's problematic even client side since you don't have a sync license to show words timed to the song. A bunch of other licenses are needed too for the lyrics themselves and to process the original file into the instrumental.
- bethekidyouwant 6mo agoYou’re not showing them it’s at your house
- charcircuit 6mo agoI'm not talking about public performance licenses.
- bethekidyouwant 6mo agoNo one thinks it’s legal to use this for public kareoke…
- MediaMonitorWD 6mo agovirus detected
- rzzzzru 6mo agoit's a false positive, however feel free to build from the source while I'm figuring out what the virus trigger is about
- mentalgear 6mo agoCool, but on Firefox no lyrics are displayed on the website's demo.
- notdefio 6mo agoThis gave me a blast to the past to Nightingale, the media player built on top of Firefox. It was a Firefox fork that was aiming to be a more powerful alternative to iTunes/Winamp. But since it was built on Firefox, you could also use it as an all-in-one media player and web browser. The homepage still exists, but it looks like many of the other pages like the blog and wiki are long gone. It hasn't been active in probably over a decade. https://getnightingale.com/ https://getnightingale.com/
- CarVac 6mo agoWas that a songbird followup?
- lillesvin 6mo agoIndeed it was. > [...] users forked Songbird and created a Windows, Mac, and Linux compatible derivative under the name Nightingale. [Source: https://en.wikipedia.org/wiki/Songbird_(software) https://en.wikipedia.org/wiki/Songbird_(software)]
- OpenDQV 6mo agoi'm at the homepage of this project and i like it! will give it a try at the weekend - as a family we LOVE karaoke!
- rzzzzru 6mo agothanks, share your feedback afterwards!
- lucideer 6mo ago> separates vocals, transcribes lyrics ML has come a long way but I have yet to encounter anything that does this reliably with speech, never mind song lyrics. > works with any song on your computer I'd be shocked if this is true.
- rzzzzru 6mo agoit is as good as the models are. it is not perfect, especially for non-major languages, but it works.
- deleted 6mo ago[deleted]
- Babkock 6mo agoI just realized a couple weeks ago that the Japanese invented karaoke.
- Heer_J 6mo ago[dead]
- deleted 6mo ago[deleted]
- harvey9 6mo agoI would like the option to put the original music video as the background, like you can in Ultrastar
- nephihaha 6mo agoI haven't tried this but I would be very sceptical about the transcription of lyrics. Is there some way to correct errors?
- levysoft 6mo agoThis app is really amazing, congrats!!!
- HaloZero 6mo agoWould it possible to port this to car play? Or does the embedded python not work for iOS apps?
- HaloZero 6mo agoBah it has quite a few dependencies which I imagine won’t fly on iOS. More possible to build a remote streaming capability to it.
- bmn__ 6mo agoCan the software dump the recognised pitch and lyrics and timings to Performous text format? There's no formal specification, but examples are available on https://performous.org/songs https://performous.org/songs
- rgilliotte 6mo agoLooking at the commit history, this came together pretty fast. Assuming it's AI-assisted (hard to know for sure), it's a good example of the opposite of the "AI replaces developers" narrative. AI is making whole categories of projects viable that simply weren't before. Not because they were technically impossible, but because they were too time-consuming for a niche audience to justify the effort. Thanks for the cool project! (testing now)
- LtWorf 6mo agoSimilar software existed at the time of windows 95. A pentium 2 could do it.
- smj-edison 6mo agoKaraoke software? Sure. Karaoke software that automatically extracts vocals? Heck no.
- LtWorf 6mo agoThat removed them though…
- smj-edison 6mo agoInteresting, what was it called and how effective was it?
- LtWorf 6mo agoIt was some feature in Nero, the software to burn CDs
- abustamam 6mo agoI've built so many fun projects that I've been meaning to build using AI, and my boss has as well. I do agree that AI does make a whole category of projects feasible, but I disagree that AI does not also replace developers. Should AI replace developers? I'd argue no, and the recent Amazon outage proves that. But is AI replacing developers? Many companies seem to be doing so, whether or not it's a good idea. I've also subscribed to the idea that even if AI doesn't replace me, I could be replaced by a developer using AI, so it's in my best interest to understand how to use it effectively (hence the projects!)
- inkianj82 6mo ago[dead]
- JohnnyLarue 6mo ago[dead]
- nytrox 6mo agoThank you, I wait to try it this week-end !
- melonpan7 6mo agoLooks like a fun project, excited to try it out this weekend!
- deleted 6mo ago[deleted]
- rjh29 6mo agoI introduced it to my friend (who is not technical, and has a RTX 3080), his experience was: he selected a 3:32 song, it took 10-15 minutes trying to scan it. In the end it did a "decent job of removing lyrics from the audio and providing accurate ones" "It seemed to be tracking my singing but there is no mic setup or anything like it" "And I think I accidentally wiped the AI model data it took forever to generate with a single click" In the end he's gone back to karaoke videos on youtube but it seems promising.
- skwb 6mo agoVery interesting! Is there any consideration to making a navidrome plugin?
- primenum 6mo agoAw yes, love it! Thanks for making fun stuff. Will try it out.
- beveradb 6mo agoThis is cool, though for me personally my minimum quality bar for the lyrics and sync accuracy in karaoke is much higher than what's achievable with WhisperX / Force Alignment. I moved on from that approach about 2 years ago in my pursuit of high quality karaoke. If anyone's interested in tooling to generate karaoke videos which unlocks a much higher quality bar, check out my karaoke-gen project - 2 free generation credits here: https://gen.nomadkaraoke.com https://gen.nomadkaraoke.com, open-source code here: https://github.com/nomadkaraoke/karaoke-gen https://github.com/nomadkaraoke/karaoke-gen
- AlnMohd95 6mo ago[dead]