It should not only implement its own streaming services, but also be compatible with various mainstream open-source streaming servers, And implement cross platform professional music clients for various operating systems, ensuring data interoperability between the client and server of each operating system (desktop:Windows,Linux,MacOs. mobile: Android, IOS. Car System: Android)
The Chinese name of the project is "Nine Songs Music | 九歌", abbreviated as NSMusicS
inspired by ["Chu Ci"] | 楚辞, to commemorate ["Qu Yuan"] | 屈原
The NSMusicS plan supports multiple server types, such as Navidrome, Jellyfin, emby, NSMusicS. Subsonic API is not currently supported. This will likely be added in later when the new Subsonic API is decided on.
In addition, NSMusicS also supports local mode to use local music libraries. And plan to support various types of network cloud drives,such as webdev,onedriver....
- supporting the Windows platform (which will soon support Linux、MacOS、Docker)
- compatible with streaming media servers Navidrome (which will soon be compatible with Jellyfin、Emby、NSMusicS)
- music library management
- professional audio playback
- Rich sound effects playback
- internationalization
- various music usage scenarios(For NSMusicS-GO: Server)
- compatible with streaming media servers (which will soon be compatible with Navidrome、Subsonic、Jellyfin、Emby)
- music library management
- various music usage scenarios (karaoke, Home audio and video, Provide cloud services for cross platform music experience, etc.)
- artificial intelligence(Listen to music to identify music, extract music accompaniment, and rate karaoke singing, etc.)
- knowledge graph(Recommendation system, Graph database, etc.)
- internationalization
- music library management
- professional audio playback
- Rich sound effects playback
- internationalization
- various music usage scenarios(For NSMusicS-GO: Server)
Project | Development status | Technology Framework | Author/Copyright Owner | Operating systems | LICENSE |
---|---|---|---|---|---|
NSMusicS (Electron / GO) |
updateing | electron,nodejs,vue,ts,sqlite,docker Go,MongoDB,Gin,JWT,sqlite,docker | Xiang Cheng | Windows Linux(ubuntu+) Docker MacOS |
A-GPL 3.0 |
NSMusicS_For_Flutter | will developed | flutter,dart,androidstudio | Xiang Cheng | Android11++ IOS HarmonyOS |
A-GPL 3.0 |
NSMusicS_For_Audio | will developed | pytorch,py,jupyter,matlab | Xiang Cheng | Windows10++ Linux Docker |
A-GPL 3.0 |
NSMusicS_For_KG | will developed | NebulaGraph / Neo4j | Xiang Cheng | Windows10++ Linux Docker |
A-GPL 3.0 |
爱发电:https://afdian.com/a/fu_zi_qian
cd NSMusicS\NSMusicS-Electron
# node -v 20.15.0
# npm -v 10.4.0
npm install /or/ cnpm install # Recommended use cnpm install
# Install MPV in the Windows environment (requires its executable file compressed file)
# https://mpv.io/installation/
# unzip its contents to (NSMusicS\NSMusicS-Electron\resources\mpv-x86_64-20240623)
# You need to recompile the native module better sqlite3 to allow the sqlite database to read normally
# You can use either of the following two methods (Choose method A or B)
## method A.
Delete the files in the following path first: NSMusicS\NSMusicS-Electron\node_modules\better-sqlite3\build\Release\better_sqlite3.node
Then copy the file from the following path: NSMusicS\NSMusicS-Electron\resources\better_sqlite3.node
Paste the copied file to the following path: NSMusicS\NSMusicS-Electron\node_modules\better-sqlite3\build\Release
## method B.
cd NSMusicS/NSMusicS-Electron/node_modules/better-sqlite3
npm install electron-rebuild -D
# 1.open better-sqlite3/package.json
# 2.scripts addline: "rebuild": "electron-rebuild -f -w better-sqlite3"
npm run rebuild
cd NSMusicS\NSMusicS-Electron
npm run dev # Direct operation NSMusicS\NSMusicS-Electron
cd NSMusicS\NSMusicS-Electron
npm run build-only # Package into the current system_configs's software package (such as exe)
- NSMusicS Web Of Thanks:
- NSMusicS Web ImageResource Thanks:
- NSMusicS WPF Of Thanks:
- NAudio
- cscore
- LottieSharp
- AudioVisualizer
- .......
- As this project is currently independently developed by Xiang Cheng(myself), programming standards are a personal habit of the Xiang Cheng(myself), and coding standards are not yet standardized enough. However, this project will continue to undergo self refactoring and reverse development. It can be affirmed that in the future, NSMusicS will form a standard coding specification, which will be beneficial for the community to develop third-party NSMusicS plugins, Enable NSMusicS to meet the diverse needs of more potential customers,Most importantly, NSMusicS will always be open source and continuously updated
- The expectation of the NSMusicS series products is to enable people around the world to use free, open-source, and user-friendly music products
- 大道之行,天下为公。人神恋歌,九歌韵世。