https://github.com/jeffser/nocturne
An Adwaita Music Player / Library Manager
https://github.com/jeffser/nocturne
adwaita gnome gtk4 music-player navidrome-client subsonic-client
Last synced: 18 days ago
JSON representation
An Adwaita Music Player / Library Manager
- Host: GitHub
- URL: https://github.com/jeffser/nocturne
- Owner: Jeffser
- License: gpl-3.0
- Created: 2026-03-07T03:54:40.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-04-11T03:34:28.000Z (about 2 months ago)
- Last Synced: 2026-04-11T05:11:41.373Z (about 2 months ago)
- Topics: adwaita, gnome, gtk4, music-player, navidrome-client, subsonic-client
- Language: Python
- Homepage: https://jeffser.com/nocturne
- Size: 900 KB
- Stars: 153
- Watchers: 4
- Forks: 10
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: COPYING
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
Nocturne
Nocturne is a Navidrome / Jellyfin client that brings all your music together in one place, Nocturne not only connects to existing instances but it's capable of installing and managing its own Navidrome instance
---
> [!IMPORTANT]
> Please be aware that [GNOME Code of Conduct](https://conduct.gnome.org) applies to Nocturne before interacting with this repository.
> [!WARNING]
> AI generated issues and PRs will be denied, repeated offence will result in a ban from the repository.
## Features
- Exploration by songs, artists, albums, radios and playlists
- Playlist management
- Compatibility with Jellyfin, OpenSubsonic and local files
- Audio equalizer and audio visualizer
- Mpris integration
- Integrated Navidrome instance management
- Automatic lyrics fetching
- Downloads and offline mode
- Cool interface
## Screenies
HomePage | Song Queue | Lyrics | Song List | Album Page
:------------------:|:-----------------:|:----------------:|:---------------------------:|:--------------------:
 |  |  |  | 
## Dependencies
The following dependencies are requirements of the project.
- `python3 >= 3.13`
- `gtk4`
- `libadwaita-1 >= 1.9`
- `glib-2.0 >= 2.84.0`
- `libsecret`
- `gstreamer`
- `blueprint-compiler >= 0.18.0`
- `python-requests >= 2.33.1`
- `python-colorthief >= 0.2.1`
- `python-syncedlyrics >= 1.0.1`
- `python-mpris-server >= 0.10.0`
- `python-tinytag >= 2.2.1`
## Install
### Linux (Flatpak)
Most Linux distributions come with Flatpak preinstalled, make sure your device has [the Flathub repo enabled](https://flathub.org/en/setup).
```sh
flatpak install flathub com.jeffser.Nocturne
```
### Arch Linux (AUR)
Nocturne is packaged unofficially in the AUR, to install it first make sure you have an AUR helper such as [yay](https://github.com/jguer/yay).
```sh
yay -S nocturne
```
## Build
### Linux (Flatpak)
Dependencies are automatically managed and built depending on host environment.
```sh
flatpak-builder build com.jeffser.Nocturne.yml --force-clean --install-deps-from=flathub
flatpak-builder --run build com.jeffser.Nocturne.yml nocturne
```
### macOS
#### 1. Install Dependencies with [Homebrew](https://brew.sh/)
```sh
brew install python@3.14 meson ninja pkgconf \
glib gtk4 libadwaita pygobject3 gstreamer \
gobject-introspection libsecret \
desktop-file-utils
```
#### 2. Install Project & Packages
```sh
# 1. Install blueprint-compiler
git clone https://github.com/GNOME/blueprint-compiler
cd blueprint-compiler
meson build --prefix=/usr/local
sudo ninja install -C build
cd ..
# 2. Clone the project
git clone https://github.com/Jeffser/Nocturne/
cd Nocturne
# 3. Install python packages
python3 -m venv ./venv
source ./venv/bin/activate
pip install requests colorthief syncedlyrics tinytag mpris-server
```
#### 3. Build Project
```sh
meson setup build --prefix=$HOME/.local
ninja -C build
ninja install -C build
```
#### 4. Run Development Build
```sh
nocturne
```
## Special Thanks
### Translators
Language | Contributors
:-----------------------|:-----------
Spanish | [Jeffry Samuel](https://github.com/jeffser)
Catalan | [Jordi Bultó](https://github.com/formajestically)
Basque | [Ibai Oihanguren Sala](https://ibaios.eus)
German | [Martin Prokoph](https://github.com/Motschen)
Russian | [Aleksandr Shamaraev](https://github.com/AlexanderShad)
Simplified Chinese | [Saul Gman](https://github.com/Ja4e)
Turkish | [Muhammed Emin Akalan](https://github.com/muhammedeminakalan)
Traditional Chinese | [Yuan Chiu](https://yuaner.tw)
Croatian | [Milo Ivir](https://github.com/milotype)