
这是一个开源的跨平台音乐播放器项目,目标是创建兼容主流开源流媒体服务器并支持多种操作系统的专业音乐客户端,实现客户端和服务器之间的数据互操作性 (支持Windows, Linux, MacOS, Android, iOS以及Android车载系统)。 项目名称"九歌",源于《楚辞》,以纪念屈原。
NSMusicS 项目旨在构建一个完整的音乐生态系统,包含桌面客户端 (Electron)、服务器端 (Go) 和移动客户端 (Flutter)。它支持多种流媒体服务器,例如 Navidrome、Jellyfin 和 Emby,未来计划支持 Subsonic (需等待新 API)。 此外,NSMusicS 还支持本地音乐库,并计划支持各种网络云盘。 项目最终目标是集成到小米等智能家居生态中。
⭐star数量
1.9k stars
🚀 核心功能亮点
- 跨平台支持: Windows, Linux, macOS, Android, iOS, Android车载系统
- 多服务器兼容: Navidrome, Jellyfin, Emby (未来支持 Subsonic 和 NSMusicS-GO)
- 本地音乐库支持: Windows (macOS, Linux, Docker版本开发中)
- 专业音频播放: (丰富的音效功能开发中)
- 国际化支持: 已实现
- 系统托盘: Windows, macOS (Linux版本开发中)
- (未来) 网络云盘支持
- (未来) 丰富的音效
- (未来) 多种音乐使用场景 (例如卡拉OK,家庭影音)
- (未来) 人工智能功能 (音乐识别,伴奏提取,卡拉OK评分等)
- (未来) 知识图谱 (推荐系统,图数据库等)
🎊 版本更新内容
- 音频输出: 默认音频输出改为 howler.js web 输出,解决了 node-mpv 的潜在问题。
- 迷你播放窗口: 添加迷你播放窗口,垂直模式模仿 Apple Music,水平模式显示桌面歌词。
- 服务器兼容性: 增加服务器配置类型,兼容 Emby 和 Jellyfin API。
本地模式优化:
- 优化音乐库管理逻辑,更符合本地用户习惯。
- 增加按媒体库文件夹目录过滤歌曲的功能。
- 优化本地模式导入范式,优化前端操作,分离node层和渲染层,支持 Docker 部署。
- 修复本地模式封面显示逻辑。
- 优化本地模式导入逻辑,适应大部分用户的音乐库管理习惯。
用户体验改进:
- 增加鼠标悬停国际化提示。
- 修复歌词滚动样式,优化歌词数据响应性能,使显示效果更流畅。
- 修复一些 UI 样式。
- 修复切换音频输出模式时出现的错误弹窗。
- 增加自定义选择音频设备输出的 web 输出模式。
- 在数据展示页面(专辑、音乐、艺术家)左上角增加刷新按钮,用于重置数据。
- 改进播放界面的设计元素,引入 Apple Music 的设计风格,提升 UI 交互。
- 增加歌曲/专辑/艺术家的标签信息浏览和编辑功能。
- 将自定义左侧菜单栏更改为菜单栏模式梯队选择。
- 菜单栏模式:设置(必需)、专辑音乐艺术家(必需)、主页(可选)、多媒体(Emby Jellyfin:音频和视频+图像)(可选)、AI 扩展(可选)。
跨平台兼容性:
- 增加对 Linux 系统客户端的支持。
- 增加 MPV 对 MacOS 系统客户端的兼容性,改进调用/注销 MPV 的过程。
- 优化 Electron 文件系统访问源代码的跨平台兼容性。
- 增加对 MacOS 系统客户端的部分兼容性支持并发布 MacOS 版本 (仅兼容服务器模式和 web 音频输出)。
其他:
- 初步构建 NSMusicS-GO 的管理系统界面(仅 UI 界面,未开放)。
📥 项目地址
https://github.com/Super-Badmen-Viper/NSMusicS
⏬ 网盘下载
下载链接:https://pan.baidu.com/s/1YPRpC3DJB7aktrCgaM5Isg?pwd=d99y 提取码:d99y 复制这段内容后打开百度网盘手机App,操作更方便哦
原创不易,如果觉得此文对你有帮助,不妨点赞+收藏+关注,你的鼓励是我持续创作的动力!

