rzru/nightingale

Machine learning powered Karaoke app (with scores!)

解决的问题

Nightingale 允许用户将本地或网络音乐库中的任意歌曲转换为卡拉OK轨道。它自动化了去除人声、转录歌词并将其与音乐同步的复杂过程,无需依赖预先制作好的卡拉OK文件。

工作原理

该应用程序使用神经网络流水线处理音频文件:

  1. 音轨分离:使用 UVR Karaoke 模型或 Demucs 将主唱人声从伴奏中分离出来。
  2. 转录与对齐:使用 WhisperX 或 Parakeet v3 进行歌词转录,并生成单词级时间戳。对于 CJK(中文、日文、韩文)语言,提供逐字强制对齐和罗马音读音。
  3. 播放:基于 Tauri 的应用(Rust + React)负责伴奏播放、显示同步歌词,并通过麦克风输入提供实时音高评分。

适用人群

希望在现有音乐收藏(包括托管在 Plex、Jellyfin 或 Navidrome 上的歌曲)中自由演唱任何歌曲的音乐爱好者和卡拉OK爱好者,无需寻找外部卡拉OK版本。

主要亮点

  • 自动设置:首次启动时自动下载并配置 Python、ffmpeg 和 ML 模型。
  • 库集成:支持连接本地文件夹、Plex、Jellyfin 和 Navidrome 服务器。
  • 高级音频控制:支持调性与速度调整,并缓存变体以快速重试。
  • 视觉体验:提供 10 种音频响应式 GPU 着色器和 Pixabay 视频背景。
  • 音高评分:通过麦克风输入实现实时检测,支持星级评分和每首歌的排行榜。
  • 多平台支持:以单个二进制文件形式发布,支持 Windows、macOS 和 Linux。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目