Nightingale – एक ओपन सोर्स कराओके ऐप जो आपके कंप्यूटर के सभी गानों का उपयोग कर सकता है
(nightingale.cafe)- यह एक ओपन source application है जो आपकी निजी music files को कराओके फ़ॉर्मेट में बदल देता है, और vocal separation, lyrics synchronization, तथा real-time scoring सुविधाएँ देता है
- UVR Karaoke model या Demucs का उपयोग करके vocals और accompaniment को अलग करता है, और WhisperX से word-level lyrics को अपने-आप transcribe करता है
- Microphone input आधारित pitch scoring और star rating व song-by-song records फीचर के साथ गेम की तरह singing skill को मापता है
- कई user profiles, video file background playback, GPU shader आधारित dynamic backgrounds, gamepad controls जैसी विभिन्न interaction सुविधाओं का समर्थन
- Linux, macOS, Windows पर चलता है, और installation के बिना single executable file के रूप में चलने वाली self-contained architecture रखता है
प्रमुख फीचर्स
- Vocal separation (Stem separation) फीचर UVR Karaoke model या Demucs का उपयोग करके vocals और accompaniment को अलग करता है
- guide vocal की volume को समायोजित किया जा सकता है
- Word-level lyrics फीचर WhisperX के साथ audio के अनुसार हर शब्द को align करता है
- यदि LRCLIB पर पहले से lyrics उपलब्ध हों, तो उन्हें प्राथमिकता से उपयोग करता है
- Pitch scoring फीचर में microphone से गाना गाने पर real time में score की गणना होती है
- star ratings और song-wise leaderboard से प्रगति को track किया जा सकता है
उपयोगकर्ता और इंटरफ़ेस
- Player profiles फीचर से कई users अपने-अपने score records बनाए रख सकते हैं
- singer बदलने पर भी data loss नहीं होता
- Video file support फीचर में .mp4 या .mkv files लोड करने पर original video background में चलता है
- audio से अपने-आप vocals अलग किए जाते हैं
- Dynamic backgrounds फीचर GPU shader effects (plasma, aurora, nebula आदि), Pixabay video loops, या original video को background के रूप में उपयोग करता है
- Gamepad support के साथ menu navigation, song selection, और playback control controller से किए जा सकते हैं
यह कैसे काम करता है
- Separate चरण में UVR Karaoke या Demucs track को vocals और accompaniment में अलग करते हैं
- video files से audio अपने-आप extract किया जाता है
- Transcribe चरण में LRCLIB से synchronized lyrics खोजे जाते हैं, और न मिलने पर WhisperX से word-level transcription की जाती है
- Play चरण में accompaniment चलाते हुए highlighted lyrics, pitch score, dynamic backgrounds, और gamepad input साथ में दिखाए जाते हैं
प्लेटफ़ॉर्म और वितरण
- Linux(x86_64, aarch64), macOS(ARM, Intel), Windows(x86_64) पर चल सकता है
- CUDA या Metal के जरिए GPU acceleration का समर्थन, और unsupported environments में CPU पर चलता है
- ffmpeg, Python, PyTorch, ML models पहली बार चलने पर अपने-आप bootstrap हो जाते हैं, इसलिए अलग installation process की जरूरत नहीं होती; यह single binary architecture पर आधारित है
अपडेट अलर्ट
- नए releases और updates की जानकारी email से प्राप्त की जा सकती है, और यदि न चाहें तो कभी भी unsubscribe किया जा सकता है
1 टिप्पणियां
Hacker News की राय
मैंने अभी source डाउनलोड करके build और run करके देखा, और हैरानी हुई कि पहली run पर ही इसने इंटरनेट से binary download शुरू कर दिया
जबकि FFMpeg और Python पहले से installed थे, फिर भी यह उन्हें दोबारा install करने की कोशिश कर रहा था
app installed Python को
libफ़ोल्डर में ढूँढ रहा था, इसलिए run fail हो गया। इतनी बुनियादी गलती का release code में होना चौंकाने वाला हैऔर जब tarball का build script चलाया, तो यह Docker container install करने लगा, जो और भी अजीब लगा। desktop app build करने के लिए Docker क्यों, समझ नहीं आया
Krita build के समय system Python इस्तेमाल करता है, लेकिन output में अपना Python bundle करता है
हालांकि इस app के मामले में download करने के बजाय bundling बेहतर होती
security risk के मामले में npm या pip में भी ऐसे ही खतरे होते हैं, इसलिए यह पूरी तरह अलग बात नहीं है
इसलिए यह समझ आता है कि developer app के लिए एक ऐसा एकल environment बनाना चाहता था जिस पर वह भरोसा कर सके
हाल ही में मैंने एक Python app चलाया तो वह Node/NPM install करने लगा, जिससे मैं चौंक गया
मेरा कंप्यूटर मेरा workspace है, इसलिए किसी app का मनमाने ढंग से install करना मुझे supply chain attack risk भी लगता है और user के प्रति असम्मानजनक भी
मेरे बनाए हुए Nightingale में आप अपना music folder चुनते हैं और यह गानों को automatic karaoke tracks में बदल देता है
इसमें vocal separation, lyric sync, pitch scoring, gamepad support, GPU acceleration जैसी सुविधाएँ हैं
सारी processing local होती है, और कोई account, subscription या telemetry नहीं है
पहली run पर ज़रूरी ML models और Python environment अपने-आप सेट हो जाते हैं
यह Rust और Bevy engine में लिखा गया है, और पूरी तरह open source project है
अब Demucs जैसे neural network से यह हल होते देखना दिलचस्प लगा
जिज्ञासा है कि क्या purely mathematical approach से भी इसकी बराबरी की जा सकती है
playback के दौरान आगे-पीछे skip feature होना चाहिए, और punctuation handling व result editing जैसी सुविधाएँ भी अच्छी रहेंगी
फिर भी इसे FOSS के रूप में जारी करने के लिए धन्यवाद
जानना चाहता हूँ कि CUDA की minimum requirements क्या हैं, और AMD/Intel iGPU acceleration support का कोई plan है या नहीं
उम्मीद है कि मेरा परिवार भी इसे आज़माएगा
code में
line_text.split()से शब्द बाँटे जा रहे हैं, लेकिन Japanese में spaces नहीं होते, इसलिए यह काम नहीं करेगालगता है कि fugashi जैसे morphological analyzer का इस्तेमाल करना होगा
इससे मुझे पुराने Firefox-आधारित Nightingale media player की याद आ गई
इसे iTunes/Winamp के alternative के रूप में बनाया गया था, लेकिन 10 साल से ज़्यादा समय से इसमें कोई activity नहीं है
getnightingale.com पर इसके पुराने निशान अब भी देखे जा सकते हैं
मैंने पहले एक similar pitch tracking project बनाया था
जानना चाहता हूँ कि मौजूदा app की pitch line अगला note pitch दिखाने वाली feature है या नहीं
इसे एक अच्छे feature suggestion के रूप में ले रहा हूँ
local execution, open source, और passion-driven project होने की वजह से यह सच में दिल छू लेने वाला है
ऐसी ख़बरें इंसानियत पर भरोसा वापस दिलाती हैं
commit history देखकर लगता है development speed बहुत तेज़ रही है
शायद इसमें AI-assisted development का इस्तेमाल हुआ है
“AI developers को replace कर देगा” इस दावे के उलट, मुझे लगता है AI ने छोटे projects की व्यवहारिकता बढ़ा दी है
मुझे पहले समझ नहीं आया कि app ठीक-ठीक करता क्या है; मुझे लगा यह lyrics हटा देता है
मैंने कई गाने चलाए, लेकिन vocals अब भी सुनाई दे रहे थे। समझ नहीं आया कि vocal removal कैसे adjust करें
controls manual देखें
यह सच में बहुत बढ़िया project है.
जानना चाहता हूँ कि क्या एक device पर गानों को process करके दूसरे device पर play किया जा सकता है, या यह server/client mode में चल सकता है
एक musician के तौर पर, मुझे हमेशा लगा है कि ऐसा app होना चाहिए जो band performance के दौरान lyrics को follow करते हुए display करे
अभी मैं phone को mic stand पर लगा देता हूँ, लेकिन वह जल्दी अपनी जगह खो देता है