retro-amp
Ein Terminal-Musikplayer mit Retro-Charme - 41 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.
41 Vintage-Themes - vom 8-Bit-Heimcomputer über Phosphor-Terminals bis zur Unix-Workstation. Jeder Bildschirm ein Stück Computergeschichte.
Ein vollwertiger Musikplayer - ohne GUI, ohne Electron, ohne Browser.
MP3, OGG/Opus, FLAC, WAV, MOD/XM/S3M, SID - von HiFi bis Chiptune.
Brotkasten, Boing, Gemstone, Classic Terminal, Next, BeBox und 32 weitere - mit einem Tastendruck wechseln.
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.
Jede selbst gezeichnete Fläche leitet ihre Farben aus dem Theme ab: Pegel, LCD, Transporttasten, Positionsleiste, Trennlinien. Kein Windows-Grau.
Songtexte automatisch laden - mit deutscher Übersetzung auf Knopfdruck.
Wikipedia-Artikel zum Künstler direkt im Player. Automatisch gecached.
Direkte YouTube-Suche zum aktuellen Song - Video, Live, Artist. Ein Klick öffnet den Browser.
In der SQLite-Datenbank gespeichert, Playlists älterer Versionen werden beim Start übernommen. Favoriten mit einer Taste.
Umbenennen und Löschen direkt aus dem Player. Ordner-Browser mit Baumansicht.
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.
TAB wechselt zwischen Explorer, Favoriten und Playlists. Ein dort gestarteter Titel spielt in seiner Liste weiter, nicht im Album. Der laufende Titel trägt ein ▶, und die Transportleiste zeigt Liste und Stelle (★ Favoriten 3/19).
Deutsch und Englisch. Sprachpakete als JSON, umschaltbar via --lang.
Dateien in der gesamten Bibliothek suchen. Ergebnisse sofort abspielen. Akzente und Sonderzeichen spielen keine Rolle: eternita findet Eternità.
Ausführliches Log mit Artist/Titel, Pfaden und Player-Events. Kopierbar in die Zwischenablage.
Mit T durch die Themes wechseln. Jedes Theme basiert auf einem legendären System.
Alles per Tastatur - keine Maus nötig.
| Taste | Aktion |
|---|---|
| Space | Play / Pause |
| + − | Lautstärke |
| TAB | Ansicht: Dateien → Favoriten → Playlists → Verlauf |
| ↑ ↓ | Navigation in der Liste |
| Enter | Song abspielen / Ordner öffnen |
| O | Schnellzugriff auf- / zuklappen |
| F | Favorit hinzufügen/entfernen |
| P | Playlist-Menü |
| U | Datei umbenennen |
| G | Auto-Titel (fehlende Titel ergänzen) |
| DEL | Datei löschen |
| T | Theme wechseln |
| S | Einstellungen |
| I | Info / About |
| L | Debug-Log ein-/ausblenden |
| C | Debug-Log kopieren |
| X | Shuffle ein/aus |
| R | Repeat: Off → All → One |
| Q | Beenden |
Nächster/Vorheriger Track, Seek (5 s) und Globale Suche sind über die Steuerleiste und die Suchleiste per Maus erreichbar.
Clean Architecture, Type Safety, keine Electron-Runtime.
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.
Wähle deine bevorzugte Installationsmethode.
Keine Abhängigkeiten nötig
Kein Python, kein Git nötig