GitHub - Sohex/musefs: Read-only passthrough FUSE filesystem presenting a virtually reorganized, re-tagged view of a music library backed by SQLite — without copying or modifying audio bytes.

2 min read Original article ↗

musefs — tag your library without duplicating a single byte

CI Coverage crates.io PyPI License: MIT

A read-only FUSE filesystem that presents a re-tagged, reorganized view of your music library — without modifying or duplicating a single byte of the original audio. Fix tags, art, and folder structure in a SQLite store; the mount shows a clean library while your files stay exactly as they are.

Because the mount never rewrites a byte, every backing file keeps its exact checksum forever. That suits two jobs the usual "edit tags in place" tools can't: archival, where you retag and reorganize the presented library as much as you like while the originals stay bit-for-bit verifiable; and torrents, where you keep seeding from the untouched files while serving a clean, re-tagged view of them on top.

Runs on Linux, FreeBSD, and macOS**macOS builds and passes unit tests, but mounted end-to-end behaviour is not yet validated.

Quick start

cargo install musefs    # compiles from source — needs a Rust toolchain,
                        # libfuse3-dev and pkg-config; prebuilt binaries
                        # and container images: see Installing

musefs scan ~/Music --db library.db        # ingest your library
mkdir -p ~/mnt/music
musefs mount ~/mnt/music --db library.db \
    --template '$albumartist/$album/$title'
# mount blocks until unmounted: fusermount3 -u ~/mnt/music (or Ctrl-C)

Mounting needs the fuse3 runtime installed (apt install fuse3 / apk add fuse3 / dnf install fuse3) and /dev/fuse present — see Installation.

~/mnt/music now serves your library as Album Artist/Album/Title.flac — with each file's metadata generated fresh from the database, spliced in front of your original, untouched audio.

See Installation for prebuilt binaries, container images, and platform notes.

Documentation

Full documentation lives at https://sohex.github.io/musefs/:

License

Licensed under the MIT License.

Acknowledgements

The Lidarr real-instance end-to-end test plays a real album through a real Lidarr. With thanks to Komiku (Loyalty Freak Music), whose track "The calling" (from The Adventure Goes On, Vol. 1) is dedicated to the public domain under CC0 1.0 and vendored as that test's fixture — thank you for releasing music freely.

AI Disclaimer

This project was developed using AI, primarily Claude Opus and MiMo v2.5.