Skip to content

krwg/senza

Senza icon

Senza

Offline-first music library and player — your collection, your files.

Electron Vite License Platform Offline Lang

Not streaming. Not subscriptions. Not algorithms.

Part of the Floke ecosystem.

Navigation

Section English Русский
Language English Русский
For everyone What is Senza? Для вас
Overview Overview Обзор
Features Features Возможности
Architecture Architecture Архитектура
Quick start Quick start Быстрый старт
Usage Usage Использование
Library layout Library Библиотека
Project layout Project layout Структура
Community Community Сообщество
License License Лицензия
Landing Floke site Сайт Floke

English

For everyone

What is Senza?

Senza is a desktop music app for people who keep music as files on their computer — ripped CDs, Bandcamp downloads, legacy MP3 collections, FLAC archives. It does not stream from the cloud. It does not need an account. It does not decide what you should hear next.

Think of it as your shelf, digitized: one calm place to import, organize, fix tags and covers, and listen — even with no internet.

What you can do

Import Drop files or pick a folder; Senza copies music into a tidy library (Artist / Album / track).
Browse All Tracks, Albums, Artists, Playlists — plus a Collection view with large album cards.
Play Queue, progress bar, Now Playing panel, fullscreen player — pick up where you left off.
Fix metadata Edit title, artist, album, genre, year, track number; attach a cover (any image → square crop).
Understand your library Music Vault shows a Collection Score: tags, covers, and items that need attention.
Remember what you loved Listening Journal — recent plays, top artists this week, Music Time Capsule (“about a year ago…”).
Make it yours Profile with a random name and pixel avatar, or your own nickname and picture in the title bar.

Why Senza

Advantage What it means for you
Offline-first Listen on a plane, in a basement, anywhere — no “offline mode” toggle.
You own the files Copy, back up, move the library folder; no lock-in to a service.
No algorithm Your order, your playlists, your history — not a feed.
Honest tagging See messy filenames? Smart Metadata Assistant suggests cleanup before you save.
Calm design Apple Music–inspired layout with Floke’s warm gold accent — focused, not noisy.
Private by default Play history stays on your PC. No upload. No telemetry in the product vision.

Works today · Coming later

Today (1.1.0 Legato) Planned
Multi-format tags, BPM import, library zip iOS companion (roadmap)
Shuffle/repeat, crossfade, ReplayGain, lyrics ONNX genre model ship (when trained)
Favorites, smart playlists, fuzzy search Full gapless album mode
macOS / Linux builds + Vitest

Overview

What Offline music library + player (Electron)
Release 1.1.0 — Legato (CHANGELOG.md · Releases)
Codename Legato — smooth, connected listening
Account None
Network Not required for playback
UI Dark/light · EN / RU · Monocraft wordmark · SF-style icons

Features

Library & playback

Feature Description
Import Files, folder, drag & drop → library/music/Artist/Album/; import-time path normalization
Formats mp3, flac, wav, ogg, m4a, aac (playback); MP3 ID3 write
Views Flow (home), All Tracks, Albums, Artists, Playlists, Collection (large cards)
Music Vault Collection Score /100; attention & no-cover lists; infer albums from folders
Search Instant filter across title, artist, album
Sort Tracks, albums, artists — key + direction
Queue Next Up, drag reorder, persist between sessions
Player Bottom bar + Now Playing sheet + fullscreen (centered in content area)
Bulk editor Multi-select tracks → shared tag fields
Playlists Real folders + playlist.json
Album Focus Album detail + play all
Artist photos Local portrait per artist (offline)
Profile Identicon or custom avatar & display name in title bar
Window Custom chrome (min / max / close) · EN / RU

Glyph2.1-O (built-in, can be disabled)

Feature Description
Pipeline Rules, knowledge packs, ML heuristics, KNN, optional MusicBrainz / AcoustID / Ollama
Tag editor Score, source badges, diff view, per-field chips, apply / reject / re-run
Auto-tag import Optional fill after import
Vault scan Suggested fixes, duplicate groups (tags, filename, optional fingerprint)
Batch “Fill library” — scan, preview, apply many tracks
Logging SQLite glyph-log.sqlite + export JSONL for fine-tune
Learning User edits + exports → private knowledge pack
Toggle off Plain tag editor; SENZA on Flow; no Glyph vault scan

Flow & Journal

Feature Description
Flow Personal wave (~32 tracks), 4 modes, cover-driven ambient, BPM pulse
Journal Settings → Journal — time in app, listening time, weekly top artists & tracks, Time Capsule

Full Glyph docs: Glyph-MI/GUIDE.ru.md · Senza architecture: docs/ARCHITECTURE.md

Architecture

flowchart TB
  subgraph Main["Electron main"]
    IPC[IPC]
    IMP[import.cjs]
    TAG[tags.cjs]
    COV[covers.cjs]
    ST[state JSON]
  end
  subgraph Renderer["Renderer"]
    UI[views.js + main.js]
    PLAY[player + chrome]
  end
  UI <--> IPC
  IPC --> IMP
  IPC --> TAG
  IPC --> COV
  IPC --> ST
  UI --> PLAY
Loading

Details: docs/ARCHITECTURE.md

Quick start

Requirements: Node.js 20+, Windows 10/11 for .exe builds.

git clone https://github.com/krwg/senza.git
cd Senza
npm install
npm run electron:dev:watch

Windows release builds:

npm run electron:build
# → release/Senza-1.1.0-x64.exe
# → release/Senza-1.1.0-Portable.exe

Icons: icon.svgnpm run build:iconsbuild/icon.ico

Usage

  1. Launch Senza and open Import — add files or a folder (or drag onto the window).
  2. Browse All Tracks, Albums, or Artists; use Collection for large cards.
  3. Double-click a row to play (or enable click lock in Settings → Playback).
  4. Right-click a track — Play, Add to playlist, Edit tags.
  5. Music Vault — check Collection Score and fix gaps.
  6. Flow — create a wave; switch modes; play from recent imports.
  7. Settings — theme, language, Glyph2.1-O, library tree, Journal, profile, about.
  8. Title-bar avatar — opens Profile settings.

Library on disk

Default root: %APPDATA%/senza/

senza/
├── senza-state.json
└── library/
    ├── music/Artist/Album/track.ext
    ├── covers/{trackId}.jpg
    ├── playlists/{slug}/playlist.json
    ├── glyph/                 # cache, glyph-log.sqlite, exports, knowledge
    └── profile-avatar.jpg   (optional)

Project layout

Senza/
├── electron/           # main process + glyph-*.cjs
├── glyph-mi/           # Glyph engine mirror (@glyph)
├── src/                # renderer (HTML, CSS, JS)
├── docs/               # VISION, ARCHITECTURE, GLYPH link, release notes
├── scripts/            # build-icons, glyph mirror, lab template
├── senza.release.json  # version & codename (Legato)
├── icon.svg
└── release/            # after electron:build

Community

Doc Purpose
CONTRIBUTING.md Dev setup, PRs, releases
CODE_OF_CONDUCT.md Community standards
SECURITY.md Report vulnerabilities
CHANGELOG.md Version history
docs/VISION.md Product vision & roadmap
docs/release-notes-v1.1.0-legato-github.md GitHub Release body (1.1.0)
docs/release-notes-v1.0.0-vivo-github.md GitHub Release body (1.0.0)
Glyph-MI/GUIDE.ru.md Glyph2.1-O — full engine guide

License

GNU GPL v3 — by krwg.


Русский

Твоя коллекция. Твои файлы. Без лишнего.

Для вас

Что такое Senza?

Senza — настольный музыкальный плеер для тех, кто хранит музыку файлами на компьютере: CD-рипы, покупки с Bandcamp, старые MP3, FLAC-архивы. Без стриминга из облака. Без аккаунта. Без алгоритмической ленты.

Один спокойный дом: импорт → порядок в библиотеке → теги и обложки → прослушивание — даже без интернета.

Что можно делать

Импорт Файлы, папка или перетаскивание — копии в Артист / Альбом / трек.
Обзор Все треки, Альбомы, Исполнители, Плейлисты, режим Коллекция.
Воспроизведение Очередь, прогресс, панель «Сейчас играет», полноэкранный режим.
Метаданные Редактор тегов и обложки (любое фото → квадратный кроп).
Music Vault Оценка коллекции: теги, обложки, что требует внимания.
Журнал Недавние прослушивания, топ за неделю, Music Time Capsule.
Профиль Случайное имя и пиксель-аватар или свои ник и фото в шапке.

Почему Senza

Преимущество Для вас
Offline-first Слушайте где угодно — не нужен «офлайн-режим».
Файлы ваши Копируйте и бэкапьте папку библиотеки.
Без алгоритма Ваш порядок и ваши плейлисты.
Умные подсказки Помощник метаданных из имени файла.
Спокойный интерфейс В духе Apple Music + золотой акцент Floke.
Приватность История только на вашем ПК.

Обзор

Что Offline-библиотека и плеер (Electron)
Релиз 1.1.0 — Legato (CHANGELOG.md)
Кодовое имя Legato — плавное, связное прослушивание
Аккаунт Не нужен
Сеть Не нужна для прослушивания
Интерфейс Тёмная/светлая тема · EN / RU

Возможности

Полный список — таблица возможностей на английском (1.1.0 Legato). Glyph: GUIDE.ru.md.

Архитектура

См. диаграмму выше и docs/ARCHITECTURE.md.

Быстрый старт

git clone https://github.com/krwg/senza.git
cd Senza
npm install
npm run electron:dev:watch

Сборка Windows: npm run electron:build

Использование

  1. Импорт — файлы, папка или drag & drop.
  2. Разделы Все треки, Альбомы, Исполнители, Коллекция.
  3. Клик по строке — воспроизведение; ПКМ — меню.
  4. Music Vault — здоровье коллекции.
  5. Поток — волна, режимы, недавние импорты.
  6. Настройки — тема, Glyph2.1-O, библиотека, Журнал, профиль.
  7. Аватар в шапке → профиль.

Библиотека на диске

%APPDATA%/senza/ — см. структуру выше.

Структура проекта

См. английский раздел.

Сообщество

Документ Зачем
CONTRIBUTING.md Разработка и PR
SECURITY.md Уязвимости
docs/VISION.md Видение продукта

Лицензия

GNU GPL v3 — krwg.


Senza · offline-first · your library · your device

English · Русский

Releases · Floke · Issues

About

Senza - offline-first Windows music library and player with Glyph metadata intelligence. Import FLAC/MP3, fix tags, browse albums, listen without streaming or accounts. GPL-3.0.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

2 watching

Forks

Packages

 
 
 

Contributors