【NSMusicS】九歌音乐播放器
九歌音乐播放器是一个开源的跨平台音乐播放器项目,目标是创建兼容主流开源流媒体服务器并支持多种操作系统的专业音乐客户端,实现客户端和服务器之间的数据互操作性 (支持Windows, Linux, MacOS, Android, iOS以及Android车载系统)。 项目名称"九歌",源于《楚辞》,以纪念屈原。
NSMusicS项目旨在构建一个完整的音乐生态系统,包含桌面客户端 (Electron)、服务器端 (Go) 和移动客户端 (Flutter)。它支持多种流媒体服务器,例如 Navidrome、Jellyfin 和 Emby,未来计划支持 Subsonic (需等待新 API)。 此外,NSMusicS 还支持本地音乐库,如 webdev、onedriver,并计划支持各种网络云盘。 项目最终目标是集成到小米等智能家居生态中。
九松 0.5.0 测试版已于 2025 年 6 月 15 日发布,正式版 1.0.0 将于 2025 年 7 月初发布。如果你想尝试使用 NSMusicS 和 NineSong 的 Docker 的混合版本,可以在 NineSong 项目中部署它。
Windows桌面版界面:
核心功能亮点
跨平台支持: Windows、Linux、macOS、Android,、华为HarmonyOS、iOS、Android车载系统
多服务器兼容: Navidrome、Jellyfin、webdev、onedriv、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 界面,未开放)
支持 Windows10+、MacOS(arm、x64)、Linux 平台(即将支持 Docker)
后续更新
适用于移动设备的 NSMusicS Flutter 的跨平台版本将于今年年底发布。作为 NineSong 软件生态的第一个应用场景,标志着 NineSong 音乐场景的里程碑
华为 HarmonyOS 生态的 NSMusicS 客户端将于 2026 年发布,也将与 NineSong 联合发布
NSMusicS 经过初步开发和改进后,将集成到各种软件生态系统中,例如:
小米家集成 for Home Assistant: github: ha_xiaomi_home (米家集成:智能家居系统)