Skip to content
heartachedPublic

About

A modern lossless music player built on Avalonia with rich library features

Topics

Resources

Stars

268 stars

Watchers

2 watching

Forks

Latest commit

 

History

1,645 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

 Noctis

A music player that respects what's yours. Zero tracking, total control.

Discord   Downloads   Support

Platform


Screenshots

Artist pages

Artist page

Word-by-word karaoke lyrics

Lyrics page

Cover Flow

Cover Flow

Themes & accent colors

Appearance settings


Install

Windows, via a package manager:

# winget
winget install heartached.Noctis

# Scoop (add the bucket once, then install)
scoop bucket add noctis https://github.com/heartached/scoop-bucket
scoop install noctis

Or download the installer or portable zip from the latest release.

macOS and Linux: download the .dmg or AppImage from the latest release. Both ship with everything they need, so there is nothing else to install.

Self-hosting: noctis-server is the same library scanner and OpenSubsonic API without a window, for a NAS, a VPS or Docker. Grab noctis-server-linux-x64.tar.gz or noctis-server-linux-arm64.tar.gz from the latest release, or build the image:

docker build -t noctis-server .
docker run -d --name noctis -p 4747:4747 -v /path/to/music:/music:ro -v noctis-data:/data noctis-server
docker exec -it noctis /app/noctis-server user add alice

Options and client notes are in docs/SELF-HOSTING.md.


Features

Sound

  • Plays FLAC, ALAC, WAV, AIFF, APE, WavPack, MP3, AAC, OGG, Opus, WMA and M4A
  • Bit-perfect exclusive output on Windows
  • Parametric EQ with presets, and a saved preset per track if you want one
  • Gapless playback, crossfade and AutoMix transitions
  • ReplayGain and Sound Check volume leveling
  • Automatic BPM and musical key detection
  • Track Radio and Autoplay keep the music going when the queue runs out
  • Batch converter between formats (ffmpeg)
  • Audio CD playback
  • Multi-channel upmix, and pitch shift independent of playback speed
  • Spectrogram window and an audio visualizer (Bars, Mirror, Wave)

Library

  • Songs, Albums, Artists, Folders and Playlists views
  • Albums split into Albums, Singles and EPs
  • Smart playlists, favorites, star ratings and play counts
  • Full metadata editor for artwork, lyrics and per-track options
  • Auto-tagging and cover art search using Deezer, MusicBrainz and Apple Music
  • Drag and drop import, watched folders, bulk edits
  • Playlist import from Exportify CSV, TuneMyMusic JSON and m3u files
  • Duplicate finder and file organizer
  • Command palette
  • Listening stats with a monthly and yearly Wrap
  • Artist pages with Top Songs, About, Similar Artists and fan counts from Deezer
  • Playlist and album import from TIDAL and Deezer links
  • Add from YouTube, Send to Folder, and Open with Noctis file associations
  • Explicit content toggle, with an Explicit badge on albums
  • Group Artists By with editable separators; drag and drop for playlists and the sidebar
  • Rebindable keyboard shortcuts

Lyrics

  • Word-by-word karaoke lyrics, Apple Music style
  • Reads plain text, LRC, word-level LRC, TTML and Lyricsfile sidecars
  • Auto-fetched from LRCLIB and NetEase, cached offline
  • Lyrics panel you can keep open next to any page
  • Written By credits for the songwriters and producers
  • Built-in lyrics editor with .lrc export
  • Share lyrics as image cards or short clips
  • Lyrics Studio: speech-to-lyrics alignment on your own machine with Whisper
  • Video or GIF backgrounds on the lyrics page, per song or per album, and music videos in the artwork slot
  • Global lyrics offset and lyrics import from file

Look and feel

  • Cover Flow browsing with Carousel, Cascade and Collage layouts
  • Now Playing artwork as a CD, a vinyl record or a cassette
  • Animated cover art
  • Ambient blurred backdrops on the lyrics page
  • Themes and accent colors, plus a custom theme editor
  • Liquid Glass translucent window mode
  • Resizable mini player with search, queue, volume and karaoke lyrics
  • Kawarp warped background, album pages tinted from the cover, accent color that can follow the album art
  • Settings organized into 13 searchable pages

Connect

  • Stream from Jellyfin, Navidrome, Airsonic, Gonic or any Subsonic server
  • Built-in Noctis Server: stream your library to Symfonium, substreamer, Feishin or any Subsonic client
  • Self-hosted noctis-server for a NAS, a VPS or Docker, see docs/SELF-HOSTING.md
  • Discord Rich Presence
  • Scrobble to Last.fm and ListenBrainz
  • Web remote so you can control playback from your phone
  • Media keys on every platform, plus Windows taskbar controls
  • Artist images from Deezer
  • Sleep timer, tray icon and launch at login
  • Updates itself from GitHub releases
  • Song progress on the Windows taskbar

Languages

  • English, Arabic, French, Japanese, Korean, Spanish, Simplified Chinese and Traditional Chinese
  • Switch language from Settings without a restart

Discord Rich Presence


Plugins

Noctis can be extended three ways, from safest to most powerful:

  • Content packs: themes, lyrics presets and languages as plain JSON, with no code. They keep working in restricted mode. See Content packs.
  • Local API: HTTP + JSON on 127.0.0.1 for Stream Deck buttons, OBS overlays and scripts in any language. Nothing runs inside Noctis. See the Local API reference.
  • Plugins: .NET libraries built on the Noctis.Plugins.Abstractions SDK, with a plugin.json manifest and permissions, installed from a .zip. See the plugin guide.

Community plugins start off (restricted mode) and ask for approval before they run. Sample plugins, a sample content pack and Local API examples are in samples/.


Build

git clone https://github.com/heartached/Noctis
cd Noctis
dotnet run --project src/Noctis/Noctis.csproj

Requirements: .NET 10 SDK

Supported platforms: Windows 10/11 (x64), macOS 12+ (Intel and Apple Silicon), Linux (x64 and ARM64).

Native dependency: libvlc

The released downloads already carry everything they need. This only matters if you are building from source.

  • Windows: bundled automatically via NuGet, nothing to install.
  • macOS: install VLC, which Noctis loads from /Applications/VLC.app. Packaged release builds bundle their own copy of VLC inside the app, so a downloaded Noctis needs no VLC install.
    brew install --cask vlc
  • Linux: install via your package manager. The -dev package provides the unversioned libvlc.so symlink that the .NET loader looks for. The released AppImage bundles libvlc and its plugins, so it runs without this.
    # Debian/Ubuntu
    sudo apt install libvlc-dev
    # Fedora
    sudo dnf install vlc-devel
    # Arch
    sudo pacman -S vlc

Running a downloaded build (macOS / Linux)

The macOS and Linux artifacts on the Releases page are unsigned self-contained builds.

macOS, using the portable zip:

unzip Noctis-osx-arm64.zip
xattr -dr com.apple.quarantine Noctis.app   # remove Gatekeeper quarantine flag
open Noctis.app

Linux, using the AppImage:

chmod +x Noctis-x86_64.AppImage
./Noctis-x86_64.AppImage

Or the portable tarball, which extracts without a top-level folder:

mkdir noctis && tar -xzf Noctis-linux-x64.tar.gz -C noctis
chmod +x noctis/Noctis
./noctis/Noctis

Build for another OS

dotnet publish src/Noctis/Noctis.csproj -c Release -r linux-x64   --self-contained
dotnet publish src/Noctis/Noctis.csproj -c Release -r osx-arm64   --self-contained
dotnet publish src/Noctis/Noctis.csproj -c Release -r osx-x64     --self-contained
dotnet publish src/Noctis/Noctis.csproj -c Release -r linux-arm64 --self-contained

Build the server

dotnet publish src/Noctis.Server/Noctis.Server.csproj -c Release -r linux-x64 --self-contained
docker build -t noctis-server .

Star History

Star History Chart


Feedback

If you have any feedback about bugs, feature requests, etc. about the app, please let me know through issues.

Yours Truly, heartached.


License

MIT, see LICENSE


Warning

Windows may flag the installer as untrusted because it isn't code-signed. This is normal for indie software and the app is safe to use.

About

A modern lossless music player built on Avalonia with rich library features

Topics

Resources

Stars

268 stars

Watchers

2 watching

Forks

Releases

Sponsor this project

Contributors

Languages