retro-amp
Screenshots Features Installation GitHub
Terminal Music Player

retro-amp

Ein Terminal-Musikplayer mit Retro-Charme - 38 Vintage-Themes, echter FFT-Visualizer, Lyrics, Playlists. Gebaut mit Python und Textual.

Ich wollte einen eigenen Musik-Player programmieren, der auf allen Betriebssystemen läuft, schnell ist und direkt mit Verzeichnissen und Dateien arbeiten kann. Das Ganze ist Work in Progress und ein Hobbyprojekt - aber es macht Spaß, damit Musik zu hören.

GitHub Repository Installation
retro-amp
Screenshots

retro-amp in Aktion

38 Vintage-Themes - vom 8-Bit-Heimcomputer über Phosphor-Terminals bis zur Unix-Workstation. Jeder Bildschirm ein Stück Computergeschichte.

Pixel-perfektes Cover-Rendering via TGP / Sixel
Pixel-perfektes Cover-Rendering via TGP / Sixel - im Terminal
retro-amp mit BeBox Theme - Lyrics-Ansicht
BeBox Theme - Ordner-Browser, Datei-Tabelle, Lyrics, Spektral-Visualizer
Classic Terminal Theme - green phosphor
Classic Terminal - Phosphor-Grün, deutsche Lyrics
Boing Theme
Boing - Blau/Orange, Lyrics
Brotkasten Theme mit YouTube-Links
Brotkasten - YouTube-Links direkt im Player
Englische Lyrics-Ansicht
Lyrics - Original (Englisch)
German lyrics translation
Lyrics - Deutsche Übersetzung
Wikipedia artist info
Artist-Info aus Wikipedia
Playlist dialog
Playlist-Manager
Features

Alles im Terminal

Ein vollwertiger Musikplayer - ohne GUI, ohne Electron, ohne Browser.

🎵

Audio-Playback

MP3, OGG/Opus, FLAC, WAV, MOD/XM/S3M, SID - von HiFi bis Chiptune.

🎨

38 Retro-Themes

Brotkasten, Boing, Gemstone, Classic Terminal, Next, BeBox und 32 weitere - mit einem Tastendruck wechseln.

📈

Spektral-Visualizer

Echte FFT-Analyse, 32 Frequenzbänder, 5 Darstellungsarten. Die Farben kommen aus dem eingestellten Theme, der Pegel fällt in Dezibel je Sekunde. Kein numpy nötig.

🎭

Studio-Optik

Jede selbst gezeichnete Fläche leitet ihre Farben aus dem Theme ab: Pegel, LCD, Transporttasten, Positionsleiste, Trennlinien. Kein Windows-Grau.

🎶

Lyrics + Übersetzung

Songtexte automatisch laden - mit deutscher Übersetzung auf Knopfdruck.

📖

Artist-Info

Wikipedia-Artikel zum Künstler direkt im Player. Automatisch gecached.

📽

YouTube-Links

Direkte YouTube-Suche zum aktuellen Song - Video, Live, Artist. Ein Klick öffnet den Browser.

📋

Playlists

In der SQLite-Datenbank gespeichert, Playlists älterer Versionen werden beim Start übernommen. Favoriten mit einer Taste.

🛠

Dateiverwaltung

Umbenennen und Löschen direkt aus dem Player. Ordner-Browser mit Baumansicht.

🏷

Auto-Titel

Fehlende Titel ergänzen (Taste G): erst ID3-Tags, dann AcoustID-Fingerprint und die MusicBrainz-Trackliste, zuletzt der Dateiname. Vorschau-Dialog vor jeder Änderung, sichere Treffer vorausgewählt.

Favoriten & Playlists

TAB wechselt zwischen Explorer, Favoriten und Playlists. Baumdarstellung mit direktem Abspielen.

🌐

Mehrsprachig

Deutsch und Englisch. Sprachpakete als JSON, umschaltbar via --lang.

🔍

Globale Suche

Dateien in der gesamten Bibliothek suchen. Ergebnisse sofort abspielen.

📝

Debug-Log

Ausführliches Log mit Artist/Titel, Pfaden und Player-Events. Kopierbar in die Zwischenablage.

Themes

Computergeschichte im Terminal

Mit T durch die Themes wechseln. Jedes Theme basiert auf einem legendären System.

Brotkasten 1982
Boing 1987
Gemstone 1985
Classic Terminal 1970s
Next 1989
BeBox 1995
Keybindings

Tastenbelegung

Alles per Tastatur - keine Maus nötig.

TasteAktion
SpacePlay / Pause
+ −Lautstärke
TABAnsicht: Dateien → Favoriten → Playlists → Verlauf
↑ ↓Navigation in der Liste
EnterSong abspielen / Ordner öffnen
FFavorit hinzufügen/entfernen
PPlaylist-Menü
UDatei umbenennen
GAuto-Titel (fehlende Titel ergänzen)
DELDatei löschen
TTheme wechseln
SEinstellungen
IInfo / About
LDebug-Log ein-/ausblenden
CDebug-Log kopieren
XShuffle ein/aus
RRepeat: Off → All → One
QBeenden

Nächster/Vorheriger Track, Seek (5 s) und Globale Suche sind über die Steuerleiste und die Suchleiste per Maus erreichbar.

Tech Stack

Gebaut mit

Clean Architecture, Type Safety, keine Electron-Runtime.

Python 3.12
Textual TUI
Rich
pygame
mutagen
MusicBrainz
AcoustID
textual-image
Clean Architecture
mypy strict
Credits

Dank an

Pixelgenaues Cover-Rendering via TGP (Kitty-Protokoll) und Sixel wird ermöglicht durch die großartige textual-image von @lnqs. Herzlichen Dank!

Synced Lyrics, Album-Art-Rendering und Session-Recovery wurden inspiriert von ytm-player - einem YouTube-Music-Player in Textual.

Installation

Schnellstart

Wähle deine bevorzugte Installationsmethode.

Linux / macOS (One-Click)

curl -fsSL .../install.sh | bash

Keine Abhängigkeiten nötig

Windows (PowerShell)

irm .../install.ps1 | iex

Kein Python, kein Git nötig

pip (Python ≥ 3.12)

pip install git+https://github.com/
michaelblaess/retro-amp.git

Aus Quellcode

git clone ...retro-amp.git
cd retro-amp
pip install -e ".[dev]"
Windows
Linux
macOS