- Kişisel müzik dosyalarını karaoke biçimine dönüştüren açık kaynak bir uygulama; vokal ayırma, söz senkronizasyonu ve gerçek zamanlı puanlama özellikleri sunuyor
- UVR Karaoke modeli veya Demucs ile vokal ve altyapıyı ayırıyor, WhisperX ile sözleri kelime düzeyinde otomatik olarak yazıya döküyor
- Mikrofon girdisine dayalı perde puanlaması ile yıldız, şarkı bazlı kayıt özellikleri sayesinde şarkı söyleme becerisini oyunlaştırılmış şekilde ölçüyor
- Birden fazla kullanıcı profili, video dosyasını arka planda oynatma, GPU shader tabanlı dinamik arka planlar, gamepad kontrolü gibi çeşitli etkileşimleri destekliyor
- Linux, macOS, Windows üzerinde çalışıyor ve kurulum gerektirmeden tek bir çalıştırılabilir dosya olarak çalışan kendine yeterli bir yapıya sahip
Başlıca özellikler
- Vokal ayırma (Stem separation) özelliği, UVR Karaoke modeli veya Demucs kullanarak sesi ve altyapıyı ayırır
- Kılavuz vokalin ses seviyesi ayarlanabilir
- Kelime düzeyinde sözler (Word-level lyrics) özelliği, WhisperX ile her kelimeyi ses akışına göre hizalar
- LRCLIB'de mevcut sözler varsa önce onlar kullanılır
- Perde puanlaması (Pitch scoring) özelliği, mikrofonla şarkı söylerken puanı gerçek zamanlı hesaplar
- Yıldızlar ve şarkı bazlı skor tablosuyla ilerleme takip edilir
Kullanıcılar ve arayüz
- Oyuncu profilleri (Player profiles) özelliğiyle birden fazla kullanıcı kendi puan kayıtlarını tutabilir
- Şarkıcı değiştirildiğinde bile veri kaybı yaşanmaz
- Video dosyası desteği (Video file support) özelliğiyle .mp4 veya .mkv dosyaları yüklendiğinde özgün video arka planda oynatılır
- Ses içeriğinden vokal otomatik olarak ayrılır
- Dinamik arka planlar (Dynamic backgrounds) özelliği; GPU shader efektlerini (plazma, aurora, nebula vb.), Pixabay video döngülerini veya özgün videoyu arka plan olarak kullanabilir
- Gamepad desteği sayesinde menü gezintisi, şarkı seçimi ve oynatma kontrolü bir kontrolcüyle yapılabilir
Nasıl çalışıyor
- Separate aşamasında UVR Karaoke veya Demucs, parçayı vokal ve altyapı olarak ayırır
- Video dosyalarından sesi otomatik çıkarır
- Transcribe aşamasında LRCLIB üzerinden senkronize sözler aranır; bulunmazsa WhisperX ile kelime düzeyinde transkripsiyon yapılır
- Play aşamasında altyapı çalınırken vurgulanan sözler, perde puanı, dinamik arka planlar ve gamepad girdileri birlikte gösterilir
Platformlar ve dağıtım
- Linux(x86_64, aarch64), macOS(ARM, Intel), Windows(x86_64) üzerinde çalışabilir
- CUDA veya Metal ile GPU hızlandırmayı destekler; desteklenmeyen ortamlarda CPU ile çalışır
- ffmpeg, Python, PyTorch, ML modelleri ilk çalıştırmada otomatik olarak bootstrap edilir; bu sayede ayrı kurulum gerektirmeyen tek binary yapısı sunar
Güncelleme bildirimleri
- Yeni sürümler ve güncellemeler e-postayla alınabilir; istenmezse abonelik her zaman iptal edilebilir
1 yorum
Hacker News görüşleri
Az önce kaynak kodunu indirip derleyerek çalıştırdım; ilk açılışta doğrudan internetten ikili dosya indirmeye başlaması beni şaşırttı
Zaten FFMpeg ve Python kurulu olmasına rağmen yeniden kurmaya çalıştı
Uygulama, kurulu Python'u
libklasöründe aradığı için çalıştırma başarısız oldu. Böyle temel bir hatanın sürüm koduna girmiş olmasına şaşırdımAyrıca tarball içindeki derleme betiğini çalıştırınca Docker konteyneri kurmaya çalışması da tuhaftı. Masaüstü uygulaması derlemek için Docker kullanılması bana mantıklı gelmedi
Krita derleme sırasında sistem Python'unu kullanıyor ama çıktı paketine kendi Python'unu dahil ediyor
Yine de bu uygulama için indirmek yerine paketlemenin daha iyi olacağını düşünüyorum
Güvenlik açısından bakınca npm ya da pip de benzer riskler taşıyor; bu tamamen istisnai bir durum değil
Bu yüzden geliştiricinin uygulamanın güvenebileceği tek bir ortam oluşturmak istemesini anlayabiliyorum
Geçenlerde bir Python uygulaması çalıştırdım, bu kez de Node/NPM kurmaya kalktı ve bayağı irkildim
Bilgisayarım benim çalışma alanım; bu yüzden uygulamaların kafalarına göre kurulum yapmasını hem tedarik zinciri saldırısı riski hem de kullanıcıya karşı saygısızlık olarak görüyorum
Benim yaptığım Nightingale, bir müzik klasörü seçtiğinizde şarkıları otomatik olarak karaoke parçalarına dönüştüren bir uygulama
Vokal ayırma, söz senkronizasyonu, perde puanlama, gamepad desteği ve GPU hızlandırma sunuyor
Tüm işlemler yerelde yapılıyor; hesap, abonelik ya da telemetri yok
İlk çalıştırmada gerekli ML modellerini ve Python ortamını otomatik olarak kuruyor
Rust ve Bevy motoruyla yazıldı; tamamen açık kaynaklı bir proje
Şimdi bunun Demucs gibi sinir ağlarıyla çözülmesini görmek ilginç geldi
Tamamen matematiksel bir yaklaşımla bununla rekabet edilip edilemeyeceğini merak ediyorum
Çalma sırasında ileri/geri atlama işlevi lazım; ayrıca noktalama işaretlerini işleme ve sonucu düzenleme özelliği de faydalı olurdu
Yine de bunu FOSS olarak yayımladığınız için teşekkürler
CUDA için asgari gereksinimlerin ne olduğunu ve AMD/Intel iGPU hızlandırması için bir plan olup olmadığını merak ediyorum
Ailemin bunu denemesini sabırsızlıkla bekliyorum
Kodda kelimeleri ayırmak için
line_text.split()kullanılıyor, ama Japoncada boşluk olmadığı için bu yöntem işlemiyorMuhtemelen fugashi gibi bir morfolojik çözümleyici kullanmak gerekir
Bu bana eski Firefox tabanlı Nightingale medya oynatıcısını hatırlattı
iTunes/Winamp alternatifi olarak geliştirilmişti ama on yılı aşkın süredir aktif değil
Eski izlerini getnightingale.com üzerinde hâlâ görmek mümkün
Geçmişte benzer bir perde takibi projesi yapmıştım
Uygulamadaki perde çizgisinin bir sonraki notayı gösteren bir özellik olup olmadığını merak ediyorum
Bunu iyi bir özellik önerisi olarak görüyorum
Yerelde çalışması, açık kaynak olması ve tutkuyla yapılmış bir proje olması gerçekten etkileyici
Böyle haberler insanlığa olan inancı tazeliyor
Commit geçmişine bakınca geliştirme hızının çok yüksek olduğu görülüyor
Muhtemelen yapay zeka destekli geliştirme kullanılmış
“Yapay zeka geliştiricilerin yerini alacak” söyleminin tersine, bence yapay zeka küçük projelerin hayata geçirilebilirliğini artırdı
Uygulamanın tam olarak ne yaptığını önce anlamamıştım; sözleri kaldırdığını sanmıştım
Birkaç şarkı denedim ama vokaller hâlâ duyuluyordu. Vokal kaldırmayı nasıl ayarlayacağımı anlayamadım
Bkz. kontrol kılavuzu
Gerçekten harika bir proje.
Şarkıları bir cihazda işleyip başka bir cihazda oynatmanın mümkün olup olmadığını ya da sunucu/istemci modu gibi çalışıp çalışamayacağını merak ediyorum
Bir müzisyen olarak, grup performansı sırasında sözleri takip edip ekranda gösteren bir uygulama olsa ne güzel olur diye düşünmüştüm
Şu anda telefonu mikrofon standına sabitliyorum ama kısa sürede konumu kaçırıyorum