vinyl-check Version 1.0.1

Jeder Knackser gezählt.Jede Note begründet.

vinyl-check nimmt eine Plattenseite bitgenau auf, findet Knackser, Pops und Knistern und schlägt eine Zustandsnote nach Goldmine vor, mit den Kriterien dahinter. Es zeigt, was eine Plattenwäsche wirklich gebracht hat und wie gut dein Plattenspieler justiert ist. Auf deiner eigenen Hardware, ohne Cloud.

  • macOS · Windows · Linux · Raspberry Pi
  • Frei für nicht-kommerzielle Nutzung
  • English · Deutsch

analysiert

5:00

Test Artist – Test Album · Seite A · ungewaschen · 33⅓

0 übersteuert · 0 Aussetzer

Note (Vorschlag)
VG+ · 888,8 Knackser/min in der Musik
Pops/min
2,6
Rauschen
−62,0 dBFS
Treffer
43
4 Stücke

Zeitachse von Seite A, 5:00: 43 Treffer (12 Pops, 31 Knackser), vier Stücke mit Pausen. Notenvorschlag VG+, Punktzahl 88.

Echte Ausgabe, kein Mock-up: eine synthetische Seite von fünf Minuten mit eingebauten Knacksern, aufgenommen und benotet von vinyl-check 1.0.1. Die Zeit läuft 50× schneller.

01Das Problem

Den Zustand beurteilt das Auge. Die Wäsche das Ohr. Die Justage der Winkelmesser.

  1. Benotung

    Ein Kratzer, den man nie hört, ein Knackser, den man nie sieht: Der Blick auf das Vinyl übersieht beides. vinyl-check benotet, was passiert, während die Musik läuft.

    90 / 10Knackser / Pops in der Note

  2. Plattenwäsche

    Zwei Aufnahmen derselben Seite sind nie gleich. vinyl-check misst diese Streuung, damit nur eine echte Verbesserung als solche zählt.

    ±4 msZuordnungsfenster zwischen zwei Aufnahmen

  3. Justage

    Antiskating, Azimut und Tonarmhöhe zeigen sich in Verzerrung und Übersprechen, also in Werten, die keine Schablone zeigt.

    16Bänder der Testplatte AAPT 1, am Signal erkannt

  4. Testpressungen

    Ist ein Knackser auf dem Vinyl oder im Master? Bei einer laut gemasterten Rockplatte stammten die meisten Pops in der Musik aus der Musik selbst.

    77 %der Pops erklärt der Master

02Das Prinzip

Eine Aufnahme. Alles andere folgt daraus.

vinyl-check nimmt eine Seite als WAV-Datei auf, genau so, wie die Nadel sie abtastet, und analysiert diese Datei. Note, Waschvergleich, Justagebefunde und Master-Vergleich stammen alle aus solchen Aufnahmen.

  1. Schallplatte33⅓ oder 45
  2. PlattenspielerNadel, Tonarm, Phonostufe
  3. Audio-Interface16 · 24 · 32 Bit, ohne Resampling
  4. WAV der SeiteSHA-256 vor jeder neuen Analyse geprüft
  5. AnalyseDetektor, Benotung, Vergleich, Justage
  6. BefundeWert · Ziel · Urteil · Erklärung

Was aufgenommen wird, entscheidet, was du erfährst

Die WAV bleibt eine einstellbare Zahl von Tagen, die Messwerte für immer: jede Stelle anhören, mit anderer Empfindlichkeit neu analysieren, später vergleichen.

03Funktionen

Vier Fragen, gemessen.

Zustandsnote

Musik ist über wenige Millisekunden vorhersagbar. Ein Knackser nicht.

Für jeden Block aus 2048 Samples (rund 43 ms bei 48 kHz) schätzt vinyl-check ein autoregressives Modell der Ordnung 32 und sagt jedes Sample aus den vorherigen voraus. Was es nicht vorhersagen kann, ist der Restfehler. In Musik bleibt er klein und fast weiß; ein Knackser ragt als Spitze heraus.

Ein Sample wird oberhalb von 8 σ zum Kandidaten, wobei σ robust aus dem Restfehler selbst geschätzt wird, die Schwelle hängt also nicht von Pegel oder Lautheit ab. Eine Streifenprüfung entfernt danach Schlagzeug: Ein Knackser ist eine dünne senkrechte Linie, höchstens 5 ms breit und oberhalb von 6 kHz 12 dB über seiner Umgebung.

  • Pop laut genug, um durch die Musik gehört zu werden
  • Knackser ein einzelner hörbarer Knackser
  • Knistern allein kaum hörbar, das Knistern einer Pause
Signal, linker Kanal
Ein echter Treffer der Demo-Seite: 116 σ bei 3:37.8, Spitze −26,8 dBFS. Median des Rauschens 1,2 σ.

Die Note zählt, was du hörst, während die Musik läuft.

Knackser pro Minute Musik entscheiden 90 % der Note, Pops 10 %: In lauter Musik sind die meisten erkannten Pops Instrumentenimpulse. Rauschen und Knackser in Pausen werden gezeigt, gehen aber nicht in die Note ein. F gibt es nur, wenn die Nadel springt. Mint gibt es nie, dafür braucht es eine Sichtprüfung.

Knackser pro Minute in der Musik

Punktzahl0.9 × 88,2 + 0.1 × 87,1 = 88,1VG+ · 88

Die Grenzen sind Startwerte; kalibriere sie für deine Kette.

Wäsche, vorher und nachher

Hat die Wäsche geholfen, oder ist die Nadel nur anders aufgesetzt?

Nimm die Seite vor und nach der Wäsche auf. vinyl-check legt beide Aufnahmen samplegenau übereinander, einschließlich des Drehzahlunterschieds zweier Durchläufe, und ordnet jedes Ereignis auf ±4 ms zu. Jeder Knackser wird entfernt (Schmutz), bleibend (Schaden) oder neu.

Zwei ungewaschene Aufnahmen derselben Seite zeigen, wie wiederholbar die Messung ist. Nur eine Änderung jenseits dieser Streuung zählt als Verbesserung.

Knackser/min in der Musik

11,2 3,6

Note

VG+ · 83NM · 96

  • 23 entfernt
  • 8 bleibend
  • 2 neu
Automatisch gefunden: 0,2 % Drehzahlunterschied, 1,3 s Versatz. Eine synthetische Seite mit Staub, Kratzern und zwei neuen Knacksern, zweimal aufgenommen und verglichen von vinyl-check 1.0.1.

Plattenspieler-Justage

Eine Zahl ist noch kein Befund.

Spiele beide Seiten einer Testplatte ab. vinyl-check findet die Bänder am Signal, denn ihre Längen stehen auf keiner Hülle, und misst Antiskating und Abtastreserve, Balance, Übersprechen und Azimut, Tonarm/Tonabnehmer-Resonanz, Drehzahl und Gleichlauf, Intermodulation für die Tonarmhöhe, Frequenzgang und Rumpeln.

Jedes Ergebnis kommt als Wert, Ziel, Urteil und Erklärung und sagt, was zuerst einzustellen ist.

Antiskating: Welcher Kanal verzerrt zuerst?

Auf der 315-Hz-Rampe von 0 bis +12 dB verfolgt vinyl-check die Verzerrung der Oberwellen in jedem Kanal. Links zuerst heißt zu viel Antiskating, rechts zuerst zu wenig; beide zusammen heißt, das Antiskating stimmt und die Auflagekraft ist der nächste Verdächtige.

0,3 %1 %3 %10 %30 %Grenze 3 %LRL verzerrt ab +7,6 dBR sauber bis +11,4 dB

THD, Oberwellen 2–9Pegel über dem Rampenbeginn

L verzerrt ab +7,6 dB; R sauber bis +11,4 dB; Grenze 3 %.

Antiskating: Welcher Kanal verzerrt zuerst?

Was vinyl-check sagt

Links verzerrt zuerst (ab +7,6 dB), rechts sauber bis +11,4 dB: Antiskating zu stark, die Nadel liegt an der äußeren Flanke. Bias etwas zurücknehmen (Rega: Richtung Marke 0) und die Rampe wiederholen.

BefundWertZielUrteil
Antiskating (Bias)zu starkbeide Kanäle sauber bis +12 dB oder gleichzeitigHinweis
Links verzerrt zuerst (ab +7,6 dB), rechts sauber bis +11,4 dB: Antiskating zu stark, die Nadel liegt an der äußeren Flanke. Bias etwas zurücknehmen (Rega: Richtung Marke 0) und die Rampe wiederholen.
Abtastreserve7,6 dB≥ 11 dBHinweis
Klirr (Oberwellen) am Rampenende: links 17,55 %, rechts 1,91 % (Schwelle 3,0 %); THD+N mit Brumm und Rauschen: 17,60 / 1,91 %.
Einpegeln−18,0 dBFS−24 bis −16 dBFSok
Kanalbalance0,0 dB±1 dBok
Übersprechen links → rechts−27,0 dB≤ −25 dBok
Azimut−0,8 dB±3 dBok
Drehzahl+0,12 %±0,5 %ok
Gleichlauf (bewertet, 2σ)0,04 %≤ 0,1 %ok
Arm-System-Resonanz10,6 Hz8 bis 12 Hzok
Rumpeln / Rauschen (stille Rille)−60,1 dB≤ −55 dBok

Rampe und Befunde aus simulierten Testplatten-Läufen (Bandfolge der AAPT 1), gemessen von vinyl-check 1.0.1. Live-Messung: Verzerrung je Kanal, fünfmal pro Sekunde, während du am Antiskating drehst.

Master-Vergleich und Testpressungs-Abnahme

Auf dem Vinyl oder in der Musik?

Im Engineer-Modus lädst du den digitalen Master jeder Seite hoch. vinyl-check richtet die Pressung daran aus und zieht um jeden Treffer den Master ab: Was übrig bleibt, ist auf dem Vinyl.

Über mehrere Exemplare trennt die Abnahme Matrizenfehler, die alle Exemplare haben, von Einzelfehlern, mit Prüfpunkten und einer Empfehlung, und schreibt einen PDF-Bericht mit Diagrammen, Spektrogrammen und Ausschnitten für das Presswerk oder den Kunden.

  • Drehzahl des Schnitts
  • Exzentrizität
  • Polarität und Kanaltausch
  • Falsche Seite
  • Frequenzgang über die Seite
  • Pegel je Stück
  • Vor- und Nachechos
  • Knackser nur auf dem Vinyl

Was der Master erklärt hat

Pop77 % 83 / 108
Knackser14 % 16 / 113
Knistern35 % 198 / 568

vom Master erklärtauf dem Vinyl

1.158 Treffer auf zwei Seiten einer laut gemasterten Rockplatte (echte Aufnahmen).

Und drumherum

  • Discogs-Sammlung

    Durchsuche deine Sammlung, übernimm Ausgabe, Titelliste und Cover und schreibe die gemessene Note nach deiner Bestätigung als Media Condition zurück.

  • Lernt aus deinem Urteil

    Markiere Treffer als Knackser, Fehlalarm oder unsicher. Je Aufnahme geprüft: Bei zehn Aufnahmen mit Master lag die Schätzung für Knackser auf ±4 % genau.

  • Mithören und Analyzer

    Hör den Plattenspieler im Browser, spule während der Aufnahme zurück, spiel nur die erkannten Knackser ab. Ein 31-Band-Analyzer zeigt das Spektrum.

  • PDF-Berichte

    Ein Bericht je Aufnahme und ein Abnahmebericht je Platte, mit Diagrammen, Spektrogrammen und Ausschnitten. Auf Englisch oder Deutsch.

04In der Station

Signalverarbeitung, die man nachlesen kann.

Eine kleine Webanwendung in Python mit numpy und scipy. Jede Schwelle hat einen Standardwert und einen Grund, dokumentiert in „How vinyl-check measures“.

  1. 01

    Aufnahme

    Bitgenau vom Audiogerät: ALSA hw: unter Linux, Core Audio, WASAPI exklusiv oder ASIO unter macOS und Windows. Kein Soundserver, kein Resampling. Stoppt in der Auslaufrille von selbst.

    16 · 24 · 32 BitSHA-256 je WAV

  2. 02

    Erkennung

    Autoregressives Modell der Ordnung 32 je Block aus 2048 Samples, Levinson-Durbin. Kandidaten über 8 σ, Streifenprüfung, Ereignisse näher als 1,5 ms werden zusammengefasst.

    AR(32)8 σ≥ 12 dB · ≤ 5 ms

  3. 03

    Gliederung

    Eine Pegelkurve in 50-ms-Schritten findet Einlauf, Musik, Pausen und Auslauf. Stückgrenzen kommen aus der Discogs-Titelliste und rasten an der nächsten Pause ein.

    50 ms±8 s

  4. 04

    Benotung

    Knackser und Pops pro Minute Musik, gewichtet 90 / 10, abgebildet auf die Goldmine-Skala. Ein Sprung heißt F; die Plattennote ist das Mittel ihrer Seiten.

    NM … F90 / 10

  5. 05

    Vergleich

    Kreuzkorrelation der Pegelkurven, dann Drehzahl und Versatz aus 0,3-s-Fenstern; die zweite Aufnahme wird umgerechnet und samplegenau verankert.

    ±4 msdrehzahlkorrigiert

  6. 06

    Justage

    Bänder am Signal erkannt, gemessen mit Blackman-Harris-Spektren (4 Terme), THD und THD+N, Sweeps und einem Resonanzmodell.

    −92 dB NebenkeulenIEC 60386

Eine Station · docs/architecture.md
Browser / desktop window  ──HTTP/WebSocket──► FastAPI (web.py)
├── capture.py  arecord (ALSA hw:) or PortAudio (Core Audio, WASAPI, ASIO)
│     └── measure.LiveMeter  fundamental, THD+N L/R five times per second
├── jobs.py  one worker: analysis, alignment, comparison, master check
│     └── heavy.py  child process with low priority
│           ├── analysis.py  detect.py, grading.py, skips.py, second_opinion.py
│           ├── alignment.py  measure.py
│           ├── compare.py, master.py
│           └── spectro.py, technical.py
├── learning.py  model from judgements and master comparisons
├── discogs.py  collection, release data, condition write-back
├── report_pdf.py  PDF reports
└── db.py  SQLite (WAL): records, recordings, analyses, profiles, runs
  • Ein Worker, schwere Arbeit im Kindprozess

    Eine LP-Seite braucht 1–2 GB RAM. Oberfläche und laufende Aufnahme behalten Vorrang, und ein Speicherabsturz reißt die Station nicht mit.

  • Datenbank und Audio an getrennten Orten

    Kleine, wertvolle Messwerte überleben den Verlust des Laufwerks mit den großen WAV-Dateien.

  • Keine fremden JavaScript-Bibliotheken

    Die Oberfläche funktioniert ohne Internet: keine CDNs, keine Webfonts.

05Loslegen

Von der Installation zur Station in Minuten.

Desktop-Apps für macOS und Windows, ein Python-Paket für Linux und den Raspberry Pi und ein Demo-Modus, der gar keinen Plattenspieler braucht.

Terminal: aus dem Quellcode
git clone https://github.com/michaelpietzsch/vinyl-check.git
cd vinyl-check
python3 -m venv .venv
. .venv/bin/activate              # Windows: .venv\Scripts\activate
pip install .                     # or ".[ml]" for the second-opinion network (PyTorch)
VINYLCHECK_CONFIG=config.toml vinyl-check     # then open http://localhost:8080

Der Quellcode wird mit dem ersten öffentlichen Release auf GitHub veröffentlicht.

config.toml
data_dir = "data"            # recordings (large)
state_dir = "state"          # database, caches (small)
host = "127.0.0.1"           # "0.0.0.0" to open the interface to other devices in your network
port = 8080
device = ""                  # empty = first USB capture device, or e.g. "hw:CARD=CODEC,DEV=0" (Linux),
                             # "Core Audio: USB Audio CODEC" (macOS), "Windows WASAPI: Line (USB Audio CODEC)"
sample_format = "S24_3LE"    # 24 bit if your interface supports it (Linux: arecord --dump-hw-params)
Terminal: auf deinem Computer, dann auf dem Pi
# Key login and password-less sudo on the Pi; installs packages, the sandboxed
# systemd unit, runs the tests on the Pi and restarts once nothing is recording
VC_TARGET=user@raspberrypi.local ./deploy.sh

systemctl status vinyl-check
journalctl -u vinyl-check -f
Terminal: ohne Plattenspieler
python -c "import soundfile as sf; from vinylcheck import synth; a, _ = synth.make_side(120); sf.write('demo-side.wav', a, 48000, subtype='PCM_16')"
VINYLCHECK_FAKE_SOURCE=demo-side.wav VINYLCHECK_FAKE_SPEED=10 \
VINYLCHECK_DATA_DIR=data VINYLCHECK_STATE_DIR=state vinyl-check
Terminal: an einer Station im Netz
# Is the station up, and which version runs?
curl http://raspberrypi.local:8080/api/health
# {"ok":true,"version":"1.0.1"}

# Recording or analysing right now? (check before an update)
curl http://raspberrypi.local:8080/api/status

# The PDF report of recording 16
curl -o report-16.pdf http://raspberrypi.local:8080/api/recordings/16/report.pdf

Die REST-API einer laufenden Station ist dort unter /docs dokumentiert.

06Ausstattung

Dein Plattenspieler ist Teil der Messung.

vinyl-check funktioniert mit einem günstigen USB-Plattenspieler genauso wie mit einer High-End-Kette. Ein sauber justiertes Einsteigergerät liefert wiederholbare Ergebnisse, ein schlecht justiertes teures nicht.

  1. Einstieg

    USB-PlattenspielerComputer

    Gut für Waschvergleiche und grobe Noten. Das Plattenspieler-Profil hält Referenzpegel und Knackser-Grundrauschen der Kette fest, damit Ergebnisse vergleichbar bleiben.

  2. Empfohlen

    PlattenspielerPhono-VorverstärkerAudio-Interface

    24 Bit / 48 kHz, einstellbare Pegel, weniger Rauschen. Die Referenz für die Benotung.

  3. High End

    Justierter Plattenspielerrauscharme PhonostufeStudio-Interface

    Niedrigstes Grundrauschen, verlässliche Justage-Messungen, Testpressungs-Abnahme gegen den Master.

Jede Kette braucht dieselben Grundlagen: Auflagekraft, Antiskating, VTA, Azimut und Überhang, eine Pegel-Kalibrierung und eine saubere Nadel. Für Knackser und Pops reichen 16 Bit / 44,1 kHz immer. Setup-Anleitung

Läuft auf

macOS
App für Apple Silicon, ab macOS 11. Core Audio.
Windows
Installer für Windows 10 und 11, 64 Bit. WASAPI und ASIO.
Raspberry Pi und Linux
Python-Paket, ALSA. Raspberry Pi 5 mit 8 GB als Station ohne Bildschirm.
Aus dem Quellcode
Python 3.11 oder neuer, Referenz ist 3.13.

07Lokal gebaut

Neben dem Plattenspieler. Nicht in einer Cloud.

  • Kein Konto und kein Cloud-Dienst. Aufnahmen, Datenbank und Einstellungen bleiben auf deinem Gerät.

  • Die Oberfläche funktioniert offline: keine CDNs, keine Webfonts, keine fremden Skripte.

  • Zugriff von Handy und Tablet ist ab Werk aus; eingeschaltet kommen sie per QR-Code und Zugangscode dazu.

  • Jede Aufnahme trägt ihre SHA-256, geprüft vor jeder neuen Analyse und jedem Vergleich.

Ausblick

Vinyl-Mind: Stationen, die gemeinsam lernen, ohne Audio zu teilen.

Jedes Plattenspieler-Profil trainiert sein Modell lokal, mit dem gemessenen Profil als Nullpunkt, damit Ketten vergleichbar werden. Nur Modellgewichte und Zählwerte verlassen eine Station. Eine eigene Zentrale führt sie zusammen und gibt ein gemeinsames Modell zurück, das jede Station an ihren eigenen Daten prüft, bevor sie es nutzt. Die Teilnahme wird freiwillig und bleibt aus, bis du sie einschaltest.

  • Nur Wissen reist, nie Audio.
  • Die Station ruft an, nie umgekehrt.
  • Ein neues Modell wird geprüft, bevor es zählt.

08Lizenz

Frei für nicht‑kommerzielle Nutzung.

vinyl-check steht unter der PolyForm Noncommercial License 1.0.0: kostenlos zu Hause, als Hobby und in der Forschung, in Schulen und gemeinnützigen Organisationen. Du darfst es für diese Zwecke ändern und weitergeben, solange Lizenz und Urheberhinweis dabei bleiben.

Quellcode einsehbar, aber kein Open Source im Sinne der OSI: Die Lizenz schließt kommerzielle Nutzung aus.

Kostenlos

  • Zu Hause und als Hobby
  • Forschung und Lehre
  • Schulen und gemeinnützige Organisationen

Kommerzielle Lizenz

  • Mastering-Studios und Presswerke
  • Plattenläden und Bewertungsdienste
  • Als Dienst anbieten, verkaufen
Kommerzielle Lizenz anfragen

09Erste Schritte

Leg eine Platte auf.

  1. 1

    Installieren

    Die App für macOS oder Windows, oder das Python-Paket unter Linux und auf dem Raspberry Pi.

    Download
  2. 2

    Kette einrichten

    Auflagekraft, Antiskating, VTA, Azimut, Überhang und der Pegel. Die Setup-Anleitung hat eine Checkliste für jede Sitzung.

    Setup-Anleitung
  3. 3

    Eine Seite aufnehmen

    Mit angehobener Nadel kalibrieren, eine Platte anlegen, Seite A mit Einlaufrille aufnehmen. Die Note kommt nach der Auslaufrille.

    Bedienung

vinyl-check herunterladenZur Dokumentation