| Crates.io | musing |
| lib.rs | musing |
| version | 1.1.0 |
| created_at | 2025-09-14 17:19:02.19146+00 |
| updated_at | 2025-09-23 07:42:01.360395+00 |
| description | An MPD-inspired music server |
| homepage | |
| repository | https://github.com/alfazet/musing |
| max_upload_size | |
| id | 1838984 |
| size | 186,236 |
A music player-server for storing, searching through and listening to your music collection.
[!NOTE] Musing by itself is only a server - any interaction with it requires a standalone client. It might sound quite amusing, but that's the only option there is for now (other than writing a client of your own).
Install Musing from cargo (cargo install musing) or download the source code and build it on your own.
For users of Arch-based distros, Musing is available on the AUR (musing).
For Windows users there's a prebuilt binary available in Releases.
Simply run musing -m=<MUSIC_DIR>, where <MUSIC_DIR> is the directory where you store your music collection.
Musing will then index all files in this directory (and recursively in its subdirectories) and create a music database out of them.
To learn more about all available command-line options, run musing --help.
To avoid having to specify values at every launch (especially the music directory's path), you can create a musing.toml config file, which supports the following keys:
port, to specify the port that Musing will listen on.music_dir, to specify the music directory's path.playlist_dir, to specify the path to the directory containing your playlists (.m3u and .m3u8 files).audio_device, to specify which of your system's audio devices will be the default one used by Musing.
Keep in mind that values supplied with command-line arguments take precedence over those specified in the config file.If you want Musing to ignore (i.e. not even attempt to index) certain directories, place a .musingignore file in the root of the music directory.
Paths to be ignored should be specified one per line, either as absoulte paths or relative to the music directory.
As noted earlier, Musing is just a server and so requires a client to interact with it.
If you want to build your own client, take a look at the documentation for an API reference.