Install Go if it's not already installed.
go install github.com/williamfedele/aria/cmd/aria@latest
Until a proper configuration system is in place, the root directory of your music library must be provided as an argument.
aria /path/to/your/music/library/root
The application recursively searches the root directory for all audio files with the format {TRACK_NAME}.{flac|mp3|wav|ogg}
.
Library directory structure is defined as follows:
ROOT_DIR
ARTIST_NAME
ALBUM1_NAME
TRACK1_NAME.{flac|mp3|wav|ogg}
TRACK2_NAME.{flac|mp3|wav|ogg}
ALBUM2_NAME
TRACK1_NAME.{flac|mp3|wav|ogg}
If an audio file is found that does not follow this structure, it will still be playable but will have the artist and album set to unknown
.
Keybinds can be found in the help view at the bottom of the terminal. It can be expanded using ?
to show the full keybind list.
Apart from the Vim-like movement, the following keybinds are set for manipulating the music player:
enter
: Plays the currently highlighted track.space
: Toggles the playback between play/pause.x
: Stops all playback and clears the queue.S
: Shuffles all tracks and plays the first.a
: Adds the currently highlighted track to the queue.s
: Skip the currently playing track.
This was a big learning experience about concurrency in Go and it's likely got bugs. I'm still working on this so I'll keep hunting them down as I add new features.
I'd like to add the following soon:
- Proper configuration system
- More controls over the playback such as volume
- Charmbracelet for their incredibly cool CLI tools.