■ Analyse · ■ Komposition — Open-Source-CLI, Python
Die DNA eines Tracks.
Neu komponiert.
Echoform extrahiert die Stil-DNA eines Audio-Tracks — BPM, Tonart, Akkordfunktionen, Drum-Grammatik, Struktur, Timbre — und komponiert daraus einen eigenständigen neuen Track. Gleicher Stil, anderes Material: Kopierschutz ist keine Absichtserklärung, sondern wird technisch erzwungen.
Pipeline
Vier Befehle vom Track zum Track
Jeder Schritt ist einzeln nutzbar — echoform full fährt alle vier mit bis zu drei automatischen Nachbesserungs-Iterationen.
Stil-DNA extrahieren
Demucs trennt Stems, dann lesen Analyzer BPM & Beat-Grid, Tonart & Akkordfunktionen, Drum-Pattern im 16tel-Raster, Segmente & Energie-Verlauf, CLAP-Genre-Tags.
→ trackdna.json + report.mdNeu komponieren
Regelbasiert und seed-deterministisch: Drum-Grammatik, Markov-Harmonik in gleicher Tonart, Melodie-Random-Walk mit der Kontur-Statistik des Originals.
→ song.mid + generation_log.mdHörbar machen
FluidSynth rendert Mixdown und optional Stems; der DAW-Ordner mit Einzelspur-MIDIs und Segment-Markern entsteht immer — direkt in Ableton weiterbauen.
→ mixdown.wav + daw/Beweisen statt behaupten
Misst Stil-Nähe (BPM, Key, Struktur-DTW, CLAP-Cosine) gegen Material-Identität (Chroma-Kreuzkorrelation, N-Gramm-Overlap) — zwei Scores, klare Ziele.
→ compare.json + Score-ReportAnti-Kopier-Constraints
Kein Sample. Kein Zitat. Nachweisbar.
Echoform übernimmt niemals Audio, Samples oder Melodie-Sequenzen. Es lernt abstrakte Merkmale — und erzwingt die Eigenständigkeit des Generats mit harten, geloggten Schranken:
Hamming-Distanz der Drum-Patterns
Jedes generierte Pattern muss sich pro Instrument in mindestens einem Viertel der 16tel-Steps vom Original unterscheiden — wird beim Sampling erzwungen.
N-Gramm-Negativcheck der Melodie
Kein 4-Noten-Fenster (Intervalle + Dauern) darf identisch aus der Original-Transkription stammen. Kollisionen werden lokal neu gewürfelt und protokolliert.
Chroma-Kreuzkorrelation im Report
Der Vergleich sucht aktiv nach kopiertem Material über alle Zeit-Verschiebungen — und weist die Unähnlichkeit im Score-Report aus.
Hörprobe
Original-Referenz vs. Generat
Der 8-Takte-Referenz-Track aus der Test-Suite (synthetisch, 124 BPM, A minor) und das daraus komponierte 32-Takte-Generat — GM-SoundFont-Rendering, gedacht als Kompositions-Rohling für die DAW, nicht als fertige Produktion.
■ ORIGINAL — Referenz-Fixture
8 Takte · Four-on-the-floor · i–VI–VII–i
■ GENERAT — echoform full, Seed 42
32 Takte · gleiche DNA, anderes Material · Hamming 25 %
Beide Dateien stammen unverändert aus dem End-to-End-Testlauf des Repos.
Quickstart
In drei Minuten zum ersten Generat
brew install uv ffmpeg fluid-synth
git clone https://github.com/pepperonas/echoform.git && cd echoform
uv sync
# Kompletter Lauf: analyze → generate → render → compare
uv run echoform full dein-track.mp3
# Oder gezielt, z.B. mit festem Seed und 64 Takten
uv run echoform generate report/trackdna.json --seed 42 --bars 64 --variation 0.4