/NSMusicS

NSMusicS | 九歌 Cloud-Native Music Server/ Full platform Client,support navidrome, jellyfin, emby

Primary LanguageTypeScriptGNU Affero General Public License v3.0AGPL-3.0

NSMusicS | 九歌

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....

NSMusicS-Electron | 九歌 : Desktop-client

  • 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)

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

NSMusicS-Flutter | 九歌 : Mobile-client

  • music library management
  • professional audio playback
  • Rich sound effects playback
  • internationalization
  • various music usage scenarios(For NSMusicS-GO: Server)

Screenshots:

  • NSMusicS(Electron):Under development

Downloads

Version:

Project Development status Technology Framework Author/Copyright Owner Operating systems LICENSE
NSMusicS
(Electron / GO)
updateing electron,nodejs,vue,ts,sqlite,docker My Skills Go,MongoDB,Gin,JWT,sqlite,docker My Skills Xiang Cheng Windows
Linux(ubuntu+)
Docker
MacOS
A-GPL 3.0
NSMusicS_For_Flutter will developed flutter,dart,androidstudio My Skills Xiang Cheng Android11++
IOS
HarmonyOS
A-GPL 3.0
NSMusicS_For_Audio will developed pytorch,py,jupyter,matlab My Skills 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

sponsor

爱发电:https://afdian.com/a/fu_zi_qian

Using the source code of NSMusicS-Electron

If you would like to experience the latest development progress of NSMusicS-Electron:

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)

Related projects:

Author's Message

  • 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
  • 大道之行,天下为公。人神恋歌,九歌韵世。