A sleek, terminal-based music player written in Rust
- Sonido
- Description
- Table of Contents
- Features
- Controls
- Installation
- Configuration
- Usage
- Feedback
- License
- Play local audio files
- Lightweight & fast
- Navigate with only keyboard needed
- Simple controls
- Detailed metadata
- Highly customizable
By default, the controls are:
Space-> Toggle playbackR-> Toggle repeat←-> Seek backward (-5s)→-> Seek forward (+5s)↑-> Go to previous track↓-> Go to next trackH-> Hide current track from playlistC-> Reload configQ-> Quit
But you can set everything as you want. The config file is located at ~/.config/sonido/config.toml, it will be created on first launch. If it doesn't show up, you can manually copy the default config)
It is recommended to install Sonido from AUR (Arch User Repository) if you are an Arch Linux user
You can use yay AUR helper:
yay -S sonido Or install manually:
git clone https://aur.archlinux.org/sonido.git && cd sonido/ && makepkg -si
If you use some other OS, read the instructions below:
- Clone the repository
git clone https://github.com/desyatkoff/sonido.git
- Go to the repository directory
cd sonido/ - Choose your installation way
- Auto
- Run installer script
sh install.sh
- Run installer script
- Manual
- Compile the Rust project
cargo build --release
- Copy compiled binary to the
/usr/bin/directorysudo cp ./target/release/sonido /usr/bin/
- Compile the Rust project
- Auto
The config file will automatically created on first launch and will contain these settings:
[config]
toggle_playback = "space"
toggle_repeat = "r"
seek_backward = "left"
seek_forward = "right"
seek_step = 5
previous_track = "up"
next_track = "down"
hide_track = "h"
reload_config = "c"
quit = "q"
show_app_title = true
show_playlist_title = true
show_playlist_scrollbar = true
show_metadata_title = true
show_metadata_panel = true
show_progress_title = false
app_title_format = "┤ Sonido v{VERSION} ├"
playlist_title_format = "┤ Playlist ├"
metadata_title_format = "┤ Metadata ├"
progress_title_format = "┤ Progress ├"
app_title_alignment = "center"
playlist_title_alignment = "left"
metadata_title_alignment = "left"
progress_title_alignment = "left"
app_title_color = "blue"
playlist_color = "blue"
metadata_color = "blue"
progress_color = "blue"
rounded_corners = trueNote that in the app_title_format setting, the placeholder {VERSION} will be replaced with current app version installed. Press reload_config key or restart Sonido after editing to apply changes. Everything is simple and intuitive, so it's not necessary to write a whole guide on it
Config presets you can find here or simply make your own one
- Get help
- Short
sonido -h
- Full
sonido --help
- Short
- Get music from current working directory
$ sonido
- Get music recursively from current working directory (from all subdirectories)
- Short
sonido -r
- Full
sonido --recursive
- Short
- Get music from
~/Music/sonido ~/Music/ - Get music recursively from
~/Music/- Short
sonido -r ~/Music/ - Full
sonido --recursive ~/Music/
- Short
- Get version
- Short
sonido -V
- Full
sonido --version
- Short
Found a bug? Open an issue
Copyright (C) 2025 Desyatkov Sergey
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/
