- Aplikasi open-source yang mengubah file musik pribadi menjadi format karaoke, dengan fitur pemisahan suara, sinkronisasi lirik, dan penilaian real-time
- Menggunakan model UVR Karaoke atau Demucs untuk memisahkan vokal dan iringan, serta WhisperX untuk mentranskripsikan lirik otomatis per kata
- Fitur penilaian pitch berbasis input mikrofon serta rating bintang dan riwayat per lagu untuk mengukur kemampuan bernyanyi seperti permainan
- Mendukung berbagai interaksi seperti beberapa profil pengguna, pemutaran latar file video, latar dinamis berbasis GPU shader, dan kontrol gamepad
- Berjalan di Linux, macOS, Windows dan memiliki arsitektur mandiri yang dapat dijalankan sebagai satu file eksekusi tanpa instalasi
Fitur utama
- Fitur pemisahan vokal (Stem separation) menggunakan model UVR Karaoke atau Demucs untuk memisahkan suara dan iringan
- Volume vokal panduan dapat disesuaikan
- Fitur lirik per kata (Word-level lyrics) menggunakan WhisperX untuk menyelaraskan setiap kata dengan audio
- Jika lirik yang sudah ada tersedia di LRCLIB, versi tersebut akan diprioritaskan
- Fitur penilaian pitch (Pitch scoring) menghitung skor secara real-time saat bernyanyi melalui mikrofon
- Progres dapat dilacak dengan rating bintang dan papan skor per lagu
Pengguna dan antarmuka
- Fitur profil pemain (Player profiles) memungkinkan beberapa pengguna menyimpan riwayat skor masing-masing
- Tidak ada kehilangan data saat berganti penyanyi
- Fitur dukungan file video (Video file support) dapat memuat file .mp4 atau .mkv dan memutar video aslinya sebagai latar
- Vokal dipisahkan secara otomatis dari audio
- Latar dinamis (Dynamic backgrounds) menggunakan efek GPU shader (plasma, aurora, nebula, dll.), loop video Pixabay, atau video asli sebagai latar
- Dukungan gamepad memungkinkan navigasi menu, pemilihan lagu, dan kontrol pemutaran dengan kontroler
Cara kerja
- Pada tahap Separate, model UVR Karaoke atau Demucs memisahkan trek menjadi vokal dan iringan
- Audio dari file video diekstrak secara otomatis
- Pada tahap Transcribe, aplikasi mencari lirik tersinkron di LRCLIB, dan jika tidak ada, melakukan transkripsi per kata dengan WhisperX
- Pada tahap Play, iringan diputar sambil menampilkan lirik yang disorot, skor pitch, latar dinamis, dan input gamepad
Platform dan distribusi
- Dapat dijalankan di Linux(x86_64, aarch64), macOS(ARM, Intel), Windows(x86_64)
- Mendukung akselerasi GPU melalui CUDA atau Metal, dan berjalan dengan CPU di lingkungan yang tidak didukung
- ffmpeg, Python, PyTorch, model ML di-bootstrap otomatis saat pertama kali dijalankan, sehingga tidak memerlukan proses instalasi terpisah berkat arsitektur biner tunggal
Pemberitahuan pembaruan
- Rilis baru dan kabar pembaruan dapat diterima melalui email, dan langganan bisa dibatalkan kapan saja jika tidak diinginkan
1 komentar
Komentar Hacker News
Baru saja mengunduh source-nya, membangun, lalu menjalankannya, dan kaget karena saat pertama kali dijalankan aplikasi langsung mulai mengunduh binary dari internet
Meskipun FFMpeg dan Python sudah terpasang, aplikasi tetap mencoba memasang yang baru
Eksekusi gagal karena aplikasi mencari Python yang terpasang di folder
lib. Cukup mengejutkan kesalahan mendasar seperti ini masuk ke kode rilisSelain itu, saat menjalankan skrip build dari tarball, aplikasi malah mencoba memasang container Docker, yang bikin bingung. Membangun aplikasi desktop pakai Docker terasa tidak masuk akal
Krita memakai Python sistem saat build, tetapi hasil akhirnya tetap menyertakan Python sendiri
Meski begitu, untuk aplikasi ini rasanya akan lebih baik jika dibundel daripada diunduh
Dari sisi keamanan, npm atau pip juga punya risiko serupa, jadi ini bukan pengecualian total
Jadi saya bisa memahami kenapa pengembang ingin membuat satu lingkungan tunggal yang bisa diandalkan aplikasinya
Baru-baru ini saya juga menjalankan aplikasi Python yang tiba-tiba mencoba memasang Node/NPM, dan itu cukup mengejutkan
Komputer saya adalah ruang kerja saya, jadi menurut saya aplikasi yang memasang sesuatu sesuka hati adalah risiko serangan rantai pasok sekaligus tindakan yang tidak sopan terhadap pengguna
Nightingale yang saya buat adalah aplikasi yang, setelah Anda menentukan folder musik, akan secara otomatis mengubah lagu menjadi track karaoke
Aplikasi ini menyediakan pemisahan vokal, sinkronisasi lirik, skor pitch, dukungan gamepad, akselerasi GPU, dan lainnya
Semua pemrosesan dilakukan secara lokal, tanpa akun, langganan, maupun telemetri
Saat pertama kali dijalankan, aplikasi akan otomatis menyiapkan model ML dan lingkungan Python yang dibutuhkan
Ditulis dengan Rust dan engine Bevy, serta merupakan proyek open source sepenuhnya
Sekarang menarik melihat masalah ini dipecahkan dengan jaringan saraf seperti Demucs
Saya penasaran apakah pendekatan matematis murni masih bisa bersaing
Dibutuhkan fitur skip maju-mundur saat pemutaran, dan akan bagus jika ada penanganan tanda baca serta fitur edit hasil
Meski begitu, terima kasih sudah merilisnya sebagai FOSS
Saya penasaran dengan spesifikasi minimum CUDA dan apakah ada rencana dukungan akselerasi iGPU AMD/Intel
Saya berharap keluarga saya bisa mencobanya
Di kode, kata-kata dipisahkan dengan
line_text.split(), tetapi bahasa Jepang tidak memakai spasi, jadi ini tidak akan berfungsiSepertinya perlu memakai penganalisis morfologi seperti fugashi
Ini mengingatkan saya pada pemutar media Nightingale lama berbasis Firefox
Dulu dikembangkan sebagai alternatif iTunes/Winamp, tetapi sudah lebih dari 10 tahun tidak aktif
Jejak lamanya masih bisa dilihat di getnightingale.com
Saya pernah membuat proyek pelacakan pitch yang mirip di masa lalu
Saya penasaran apakah garis pitch di aplikasi ini berfungsi untuk menunjukkan tinggi nada berikutnya
Saya anggap itu sebagai usulan fitur yang bagus
Menjalankannya secara lokal, open source, dan proyek yang lahir dari semangat murni, ini benar-benar menyentuh
Berita seperti ini memulihkan rasa kemanusiaan
Dari riwayat commit terlihat kecepatan pengembangannya sangat tinggi
Sepertinya memanfaatkan pengembangan berbantuan AI
Berlawanan dengan anggapan bahwa “AI akan menggantikan pengembang”, saya justru merasa AI telah meningkatkan kelayakan proyek kecil seperti ini
Awalnya saya tidak paham persis apa yang dilakukan aplikasi ini, saya kira liriknya yang dihapus
Saya mencoba beberapa lagu, tetapi vokalnya masih tetap terdengar. Saya tidak tahu bagaimana mengatur penghapusan vokal
Lihat panduan kontrol
Proyek yang benar-benar keren.
Saya penasaran apakah lagu bisa diproses di satu perangkat lalu diputar di perangkat lain, atau apakah aplikasi ini bisa berjalan dalam mode server/client
Sebagai musisi, saya sering berpikir akan sangat berguna jika ada aplikasi yang menampilkan lirik sambil mengikutinya saat tampil bersama band
Saat ini saya menaruh ponsel di stand mikrofon, tetapi posisinya cepat hilang