Nocturne

An open-source streaming appliance for audiophiles

GitHub

What it does

AirPlay 2

Bit-perfect AirPlay receiver with automatic source switching. Cast from any Apple device — it just works.

Spotify Connect

Soon

Appears as a native Spotify Connect device on your network. Open Spotify, pick Nocturne, play.

LMS Integration

Full Logitech Media Server client with gapless playback, synced multi-room audio, and library browsing.

Room-Filling DSP

CamillaDSP for parametric EQ, per-source tuning, and loudness compensation. Tailor the sound to your room.

Architecture

CONTROL SURFACEnocturned (supervisor)streamerdFastAPI :8080serial-bridgeQML kioskQML KioskHDMI TVWSWeb RemoteWiFiWSRound Panel1.5" AMOLED · USBSerial JSONHDMI TVAUDIO PATHAirPlaySpotifyLMSALSALoopbackCamillaDSPEQ · LoudnessHDMI

Hardware

Single-board computer

ODROID-XU4 or equivalent ARM SBC. Needs HDMI audio out + USB.

Display

Any HDMI TV or monitor. For the now-playing kiosk UI.

Storage

16 GB+ microSD or eMMC. Debian-based Linux.

Install

curl -sSL https://pori.dev/nocturne/install.sh | bash

Requires a Debian-based Linux SBC with HDMI audio output. Installs nocturned (supervisor), streamerd, the serial bridge, QML kiosk, ALSA, CamillaDSP, AirPlay, and Spotify Connect. Auto-restart on crash, over-the-air updates with rollback. Takes about 5 minutes.

Tech stack

PythonFastAPIQt / QMLLVGLPlatformIOCamillaDSPD3.jsFreeRTOS