Aulos is a native music player for the COSMIC desktop, written in Rust on top of libcosmic. It plays your local library, drives MPD servers, streams from Subsonic/OpenSubsonic servers, and also handles internet radio and podcasts.
The name comes from the aulos, the double pipe of ancient Greece.
| Local files | MPD | Subsonic / OpenSubsonic | |
|---|---|---|---|
| Browse albums, artists, songs, genres | ✓ | ✓ | ✓ |
| Search | ✓ | ✓ | ✓ |
| Playlists (create, rename, delete, add) | ✓ | ✓ | ✓ |
| Favorites and 1–5 star ratings | ✓ | ✓ (via MPD stickers) | ✓ |
| Scrobbling | ✓ | ||
| Server-side transcoding | ✓ (max bitrate and format) |
- Local library: your music folder (
~/Musicby default) is scanned into an SQLite database at startup. A file watcher then keeps it up to date as files are added, changed or removed. - MPD: Aulos works as a remote control. Playback happens on the MPD server, and shuffle, repeat, crossfade and ReplayGain settings are sent to it.
- Subsonic: streams over HTTP with seeking. It also works with self-signed certificates, which you have to allow explicitly.
- Passwords for MPD and Subsonic are kept in the system keyring: the kernel keyutils first, falling back to the Secret Service (GNOME Keyring, KWallet).
The engine uses Symphonia (a DSD-capable fork) to decode and cpal for output.
- Formats: FLAC, MP3, Ogg Vorbis, Opus, AAC/M4A, ALAC, WAV, AIFF, APE, WavPack, Musepack, CAF and DSF/DFF, plus the audio in MP4, WebM and MKA files.
- DSD: sent bit-exact as DoP (DSD over PCM) to DACs that support it, otherwise converted to PCM.
- Gapless playback and crossfade with an adjustable length.
- ReplayGain: Off, Track, Album or Auto mode, read from file tags.
- 10-band equalizer with a preamp, built-in and user presets, and headphone correction profiles from AutoEq.
- Automatic resampling when the output device doesn't support a file's sample rate.
- Pages: Albums, Artists, Songs, Genres, Folders, Playlists and Smart Playlists. Albums, Artists and Genres can be shown as a grid or a list.
- Smart playlists built from rules on fields such as title, artist, album, genre, year, rating, favorite, duration, bitrate and sample rate. Rules can require all or any to match, and results can be sorted, randomised or ordered by date added.
- Quality badges: Lossy, CD, Hi-Res or DSD.
- Cover art from embedded pictures or image files in the album folder (
cover,folder,frontand similar). The colour of the current cover tints the interface. - Artist images and biographies from Deezer and Wikipedia. This is opt-in and turned off by default.
- Lyrics from tags or
.lrcfiles next to the track. Synced lyrics scroll with playback. Online lookup from LRCLIB or your Subsonic server is on demand.
- Internet radio: search the radio-browser.info directory by name, tag or country, or browse the most-clicked and most-voted stations. The title of the song currently playing is read from the stream. PLS/M3U links are supported, and dropped streams reconnect automatically.
- Podcasts: find shows through the iTunes directory or subscribe to any RSS/Atom feed. Episodes can be streamed or downloaded for offline listening.
- MPRIS: works with media keys and the COSMIC panel, including cover art and seeking.
- Opening files: double-clicking a file, or opening it from a file manager, passes it to the window that's already open instead of starting a second copy of Aulos.
The projectM visualizer (Milkdrop-style presets) reacts to what is actually playing: the engine's own output for local playback, and MPD's audio output captured through PipeWire. It has a preset browser and search, preset locking and beat sensitivity. Presets are loaded from /usr/share/projectM/presets, /usr/local/share/projectM/presets and ~/.local/share/projectM/presets.
The converter is off by default; turn it on in Settings.
- Outputs: converts to FLAC, WAV or AIFF without any external tools, and to MP3, AAC, Opus, Ogg Vorbis or ALAC through the system
ffmpeg. - Processing: tags are copied, the sample rate can be changed, and CUE sheets can be split into per-track files.
paru -S aulos-bin # prebuilt release
paru -S aulos-git # build from the latest commitEach GitHub release ships aulos-<version>-x86_64-unknown-linux-gnu.tar.gz and aulos-<version>-aarch64-unknown-linux-gnu.tar.gz, each with a .sha256 checksum. Release binaries include the visualizer.
sha256sum -c aulos-<version>-<target>.tar.gz.sha256
tar xzf aulos-<version>-<target>.tar.gz
cd aulos-<version>-<target>
sudo just installThe archive contains the aulos binary, the justfile and resources/ (desktop entry, AppStream metainfo, icon). Without just, copy those into /usr/bin and /usr/share by hand.
Runtime requirements:
- A Wayland desktop. Aulos is built for COSMIC but runs on other desktops too.
- ALSA (
alsa-lib). libpipewire-0.3and OpenGL/EGL drivers, for the visualizer.- Optional:
ffmpeg, for lossy formats in the converter. - Optional: projectM presets.
Aulos runs on Linux only. You need a recent stable Rust toolchain (edition 2024), just, and the development packages for xkbcommon, Wayland, fontconfig, freetype, expat and ALSA. On Debian or Ubuntu:
sudo apt install pkg-config libxkbcommon-dev libwayland-dev libfontconfig-dev \
libfreetype-dev libexpat1-dev libasound2-dev
git clone https://github.com/M0Rf30/aulos
cd aulos
just build-release
sudo just installTo build with the visualizer, as the release binaries are, also install libpipewire-0.3-dev libspa-0.2-dev clang libclang-dev cmake libgl-dev libegl-dev libx11-dev, then run:
just build-release --features visualizerThe tokio-console feature is for debugging the async runtime. It replaces the normal log output with a tokio-console server.
Start Aulos from your application menu, or from a terminal with aulos [FILE…]. Add MPD and Subsonic servers from the provider menu, and change the music folders and everything else in Settings.
| Key | Action |
|---|---|
Space |
Play / pause |
s |
Stop |
n / > |
Next track |
p / < |
Previous track |
← / → |
Seek |
↑ / ↓ (or + / -) |
Volume |
m |
Mute |
z |
Shuffle |
r |
Cycle repeat (off → all → one) |
f |
Favorite current track |
l |
Lyrics |
u |
Queue |
/ or Ctrl+F |
Search |
Tab |
Expanded now-playing view |
1–8 |
Jump to a page |
Esc |
Close overlays |
| What | Path |
|---|---|
| Library database, artist info, podcast downloads | ~/.local/share/aulos/ |
| AutoEq profiles, MPRIS cover art | ~/.cache/aulos/ |
| Equalizer presets | ~/.config/aulos/eq_presets/ |
| Settings | ~/.config/cosmic/io.github.m0rf30.Aulos/ |
Upgrading from Lyra: Aulos used to be called Lyra. On first launch it moves the old
lyradata, cache and config folders and the COSMIC settings to the new names. Saved server passwords are moved the first time they are needed.
libcosmic (UI) · Symphonia and cpal (audio) · rubato (resampling) · rusqlite (library) · mpd_client (MPD) · opensubsonic (Subsonic) · mpris-server and zbus (D-Bus) · projectM (visualizer) · tokio (async)
If you enjoy Aulos and want to support its development:
Aulos is free software released under the GNU General Public License v3.0.