[MIRROR - MIGRATED TO CODEBERG] Modern music player written in Rust using GPUI with a focus on design and performance
Last updated Jul 7, 2026
570
Stars
37
Forks
1
Issues
+5
Stars/day
Attention Score
66
Topics
Language breakdown
Rust 98.4%
Shell 0.8%
Nix 0.3%
PowerShell 0.2%
Dockerfile 0.2%
Inno Setup 0.1%
โธ Files
click to expand
README
Hummingbird

Hummingbird is a modern music player written in Rust using GPUI, designed to be performant and lightweight while maximizing extensibility and maintaining a high design standard.
Features
- Fully native application with no web component
- FLAC, MP3, OGG Vorbis, Opus, AAC and WAV playback
- Linux, macOS and Windows support
- SQLite-backed library
- Theming with hot reload
- Scrobbling (Last.fm and ListenBrainz) support
- Fuzzy-find search
- ReplayGain
- Desktop integration
- Playlists
- Lyrics
- Discord RPC
Planned Features
- WASM Extension support:
- Improved library management
- Parametric equalizer
- Cloud storage support
- Full keyboard navigation
Usage
Stable Builds
Windows, macOS and Linux AppImage
Binaries for these platforms are officially available for 64-bit ARM and Intel architectures. See the latest release for downloads.Fedora
Fedora users can install Hummingbird using thewilliam341/hummingbird COPR:
sudo dnf copr enable william341/hummingbird
sudo dnf install hummingbird
Arch
Arch users can install Hummingbird using thehummingbird-player AUR package:
paru -S hummingbird-player
NixOS
A flake is available for NixOS users. Work towards upstreaming Hummingbird into nixpkgs is currently ongoing.Unstable Builds
The latest commit is built automatically by CI and uploaded to the latest tag.Official builds are signed with minisign. The signature is attached to the release and must be downloaded seperately and placed next to the binary you are attempting to verify. Verify with:
minisign -Vm <file> -P RWTVGbNhJ/77g9Dm280SNcfxaPz118Hgg8vI55tFX83sIMiObZuxpDyV
Building
For more detailed instructions, see the Building documentation.# install relevant devel packages for xcb-common, x11, wayland, openssl, and pulseaudio if on Linux
git clone https://codeberg.org/hummingbird/hummingbird
cd hummingbird
last.fm api keys must be set in the environment for scrobbling to work
these can be obtained from https://www.last.fm/api/account/create
you can also set these in a .env file in the root of the project
#
Hummingbird will still build without these keys, but scrobbling will be disabled
export LASTFMAPIKEY="your key"
export LASTFMAPISECRET="your secret"
debug mode will result in noticable slowdown in some cases
cargo build --release
Contributing
See CONTRIBUTING.md.๐ More in this category