
nightingale
任意歌曲秒变伴奏,唱完还能给你打分
Nightingale 是一款基于机器学习的开源卡拉 OK 应用,用 TypeScript 与 Rust 构建,目标是把普通电脑变成能自动分离人声与伴奏、还能给演唱打分的 K 歌工具。它解决的核心问题是:传统卡拉 OK 依赖专门伴奏文件,而 Nightingale 借助 Demucs 等音源分离模型,直接从原曲中提取伴奏,让用户用任意歌曲开唱。应用会实时分析麦克风输入的音高与节奏,与参考旋律比对后给出评分,把唱歌变成有反馈的游戏化体验。技术栈上,前端用 React 与 shadcn 组件,音频处理与推理部分结合 Rust 提升性能,整体面向桌面端本地运行,兼顾隐私与低延迟。项目适合聚会、练歌、音乐教学等场景,也方便开发者研究音源分离与实时音频评分如何落地成完整产品。
项目数据
使用教程
环境要求
- 一台桌面电脑(Windows / macOS / Linux,具体支持平台以 Releases 页面为准)
- 从 GitHub Releases 页面下载对应平台的最新发行版
- 首次启动需要联网,用于自动安装 Python 环境与机器学习模型
- 预留足够的磁盘空间存放数据文件夹与 ML 模型
安装与启动步骤
-
1下载安装包
打开项目的 GitHub Releases 页面,按你的操作系统下载对应平台的最新版本发行包。
-
2运行程序
运行刚下载的发行版程序即可启动 Nightingale,无需手动配置开发环境。
-
3完成首次设置
首次启动会显示设置步骤,按向导选择一个数据文件夹,用于存放模型与数据。
-
4等待自动安装
应用会自动安装 Python 环境和 ML 模型,请保持联网并耐心等待安装完成。
-
5连接音乐来源
选择音乐来源:本地音乐文件夹、Plex、Jellyfin、Navidrome 或自建 Web 媒体库。
-
6开唱并评分
应用分离歌曲中的人声与伴奏,你对着麦克风演唱,它会实时分析音高节奏并打分。
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
数据文件夹 | 是 | 存放 ML 模型与运行数据的位置,首次启动时由向导选择。 | /your/path/nightingale-data |
音乐来源 | 是 | 本地音乐文件夹、Plex、Jellyfin、Navidrome 或自建 Web 媒体库。 | 本地音乐文件夹 |
如何确认成功
程序正常启动并进入主界面,首次设置向导走完,Python 环境与模型安装完成,能扫描到歌曲。
常见问题
Q:首次启动为什么要等很久?
A:Nightingale 会在首次启动时自动安装 Python 环境并下载机器学习模型,需要联网且耗时取决于网速。
Q:需要自己准备伴奏文件吗?
A:不需要。应用使用 UVR Karaoke 模型(或 Demucs)从任意原曲中分离出伴奏与主唱。
Q:支持哪些音乐库?
A:支持本地音乐文件夹、Plex Media Server、Jellyfin、Navidrome 以及自建 Web 音乐库。
Q:有 Docker 版本吗?
A:README 中的徽章显示 Docker Hub 上有 razzaru/nightingale 镜像,但 README 未给出具体运行参数,建议优先使用 Releases 版本。
Q:打分的依据是什么?
A:应用实时分析麦克风输入的音高与节奏,与参考旋律比对后给出评分。
注意事项
- README 只给出发行版下载即用的 Quick start,未提供源码编译或命令行安装步骤。
- 首次启动必须联网下载 Python 环境与模型,网络不稳定时容易中断。
- 项目采用 GPL-3.0-or-later 许可。
- 支持平台的具体清单请以 GitHub Releases 页面实际提供的文件为准。
核心亮点
- 用 Demucs 做音源分离,无需找伴奏文件即可对任意歌曲开唱
- 实时音高比对并给出评分,把练歌变成有反馈的游戏
- Rust 处理音频推理、React 做界面,本地运行延迟低且保护隐私
不足之处
- 依赖 Demucs 等模型,首次运行需下载权重,对机器性能有一定要求
- 项目较新,安装与跨平台体验可能还不够顺滑,文档/社区待观察
适用场景
- 朋友聚会时用任意流行歌即兴 K 歌并比拼分数
- 音乐爱好者在家练歌,靠评分反馈纠正音准节奏
- 开发者研究音源分离与实时音频评分的产品化实现
替代项目
Ultimate Vocal Remover、Demucs、Spleeter
项目介绍
下一篇:没有了!
同类项目推荐
tango
开源
输入一句话,自动生成匹配的音频内容
A family of diffusion models for text-to-audio generation.
swift-tts
开源
Swift 项目三行代码接入系统 TTS,兼容 TCA 和 Combine
A straightforward package containing version for Swift modern concurrency, Point-Fre···
ai-dj
开源
现场演出中实时用 AI 生成音乐,保持人类掌控
AI music generation for live performance - Standalone (Ableton Link) + VST3/AU. 8 tr···
AuK
开源
一个模型搞定语音生成、编辑与分离
AuK: An Open-Source Foundational Model for Speech Generation and Editing