2.5 KiB
SJNmusic
SJNmusic is a self-hosted music library and playback system with a local daemon, command-line interface, and graphical user interface.
It is designed to provide a fast and lightweight way to manage a personal music collection, create playlists, and control playback from multiple clients.
Features
- Local music library
- Fast fuzzy search
- Playlist management
- Playback queue
- HTTP daemon (
sjnmusicd) - Command-line client (
sjnmusic) - Graphical user interface
- Asynchronous downloads
- Local metadata database
- Shuffle and repeat modes
- Playback history and statistics
- JSON output for scripting and automation
Components
| Component | Description |
|---|---|
sjnmusicd |
Background daemon responsible for the music library and playback |
sjnmusic |
Command-line client communicating with the daemon |
| GUI | Graphical interface for everyday use |
Installation
Currently there are no official packages.
Clone the repository and build using Cargo:
git clone <repository-url>
cd SJNmusic
cargo build --release
Basic Usage
Start the daemon:
target/release/sjnmusicd
Show all songs:
cli/sjnmusic songs
Play a song:
cli/sjnmusic play "Haftbefehl - RADW"
Create a playlist:
cli/sjnmusic pl-new "Deutschrap"
Show playback status:
cli/sjnmusic status
Download Support
SJNmusic can optionally use external tools such as yt-dlp to import media into the local music library.
Downloaded media becomes part of the user's local library and can then be searched, organized, and played like any other local file.
SJNmusic itself does not provide, host, distribute, or include any copyrighted media.
Legal Notice
Users are solely responsible for ensuring that any media they access or download complies with applicable copyright laws and the terms of service of the platforms they use.
SJNmusic is a general-purpose music management application. It is intended for managing media that the user is legally permitted to access and store.
Project Status
SJNmusic is currently under active development.
Interfaces, commands, APIs, and file formats may change between releases.
Bug reports, feature requests, and pull requests are welcome.
License
This project is licensed under the MIT License.