JKCLOAD Hilfe
JKCLOAD dient zum Einlesen von Computer-Kassettenaufnahmen
einiger in der DDR üblichen Kleincomputer.
Dabei kann sowohl direkt von einem Kassettenrekorder eingelesen werden
als auch von einer vorher aufgenommenen Audio- bzw. Sounddatei
(z.B. WAV-Datei).
Die Hilfe gliedert sich in folgende Rubriken:
Wählen Sie zuerst das Aufnahmeformat aus,
mit dem die einzulesenden Kassettenaufnahmen erzeugt wurden
(siehe Einstellungen weiter unten).
Anschließend öffnen Sie entweder über das Menü
Datei oder über die Schaltfläche mit den dei Punkten
rechts oben eine Audioquelle (Audiokanal oder Audiodatei).
Sobald die Audioquelle geöffnet ist,
beginnt automatisch das Einlesen.
Die eingelesenen Dateien werden im unteren Bereich des Fensters
angezeigt.
Von dort können sie gespeichert werden.
Trat beim Einlesen ein Fehler auf, so wird dies angezeigt.
Detailliertere Informationen zu etwaigen Fehlern
finden Sie im Protokoll, welches Sie sich anzeigen lassen können.
Mit einem Klick auf die Schaltfläche Parameter...
gelangen Sie in die Einleseparameter.
Diese haben Einfluss auf den Einleseprozess.
Wenn das Einlesen nicht fehlerfrei möglich war,
können Sie die Parameter ändern (siehe weiter unten)
und erneut versuchen, die Kassettenaufzeichnung einzulesen.
Möchten Sie direkt von einem Kassettenrekorder oder einem
anderen Audiogrerät einlesen, müssen Sie folgendes tun:
-
Schließen Sie den Kassettenrekorder bzw. das Audiogerät
an den Lini-In- oder Mikrofonanschluss ihres Computeres an.
-
Sofern Sie am Kassettenrekorder den Kopfhöreranschluss verwenden,
regeln Sie die Lautstärke soweit auf,
dass das Tonsignal leicht bis deutlich übersteuert
am Computer ankommt.
-
Regeln Sie im Betriebssystem das betreffende Aufnahmegerät
soweit auf, dass JKCLOAD ein lautes Tonsignal "hören"
kann.
-
Öffnen Sie im JKCLOAD über den entsprechende Menüeintrag
einen Audiokanal zu dem betreffenden Gerät.
-
Überprüfen Sie anhand der Pegelanzeige im JKCLOAD,
ob das Tonsignal ankommt und ausreichend stark ist.
Achtung! Viele Notebooks sind mit einer kombinierten
Audiobuchse ausgestattet, die sich aufgrund der Anschlussbelegung
nicht gut für den Anschluss eines Kassettenrekorders eignet.
In dem Fall ist es empfehlenswert, einen USB-Audioadapter zu verwenden.
Achtung! Das direkte Einlesen von einem Kassettenrekorder
stellt besonders hohe Anforderungen an die gesamte Signalverarbeitung.
Wenn das direkte Einlesen einfach nicht gelingen will,
dann nehmen Sie die Kassettenaufzeichnung zuerst mit einem
Audiorekorder auf,
speichern die Aufzeichnung in eine WAV-Datei
und öffnen dann die WAV-Datei im JKCLOAD.
Beim Einlesen einer Audio- bzw. Sounddatei können Sie diese
auch mithören.
Klicken Sie dazu auf das durchgestrichene Lautsprechersymbol
neben der Fortschrittsanzeige.
Mit dem Schieberegler rechts daneben regeln Sie die Lautstärke.
Ein nochmaliger Klick auf das Lautsprechersymbol schaltet
das Mithören wieder aus.
Es gibt folgende Einstellungen:
-
Aufnahmeformat:
Sie müssen das Aufnahmeformat bzw. den Computertyp auswählen,
mit dem die Aufnahme erzeugt wurde.
- Parameter für das Einlesen
- Zuletzt verwendetes Audioaufnahme- und Audiowiedergabegerät
Der Einleseprozess kann durch einige Parameter beeinflusst werden,
die dazu dienen, aus den gelesenen Audiodaten die einzelnen
Datenblöcke, Synchronisationsinformationen und Bits
richtig zu erkennen.
Es gibt folgende Parameter:
-
Mindestpegel:
Dies ist ein prozentualer Schwellwert, der alle Schwingungen,
deren Pegel niedriger als der Mindestpegel ist, ignoriert.
Damit ist die Möglichkeit gegeben,
Rauschen und Störgeräusche insbesondere vor der einzulesenden
Kassenaufzeichnung auszublenen.
Wenn diese nicht ausgeblendet werden, kann es passieren,
dass diese Geräusche zufällig als Beginn eines Datenblocks
erkennt werden, der dann höchstwahrscheinlich mit Fehler
eingelesen wird und die somit gesamte eingelesene Kassettenaufzeichnung
als fehlerhaft markiert.
-
Frequenztoleranz:
Die Frequenztoleranz gibt an, in welchem prozentualen Frequenzbereich
gewisse Schwingungen als Vorton bzw. Trennschwingungen erkannt werden.
Ist die Toleranz zu niedrig eingestellt,
werden nicht alle Datenblöcke erkannt und gelesen.
Ist die Toleranz zu hoch eingestellt,
können Rauschen oder Störgeräusche als Blockanfang
erkannt werden und dadurch dann an Stellen Datenblöcke (fehlerhaft)
gelesen werden, an denen gar keine vorhanden sind.
Letzteres lässt sich durch einen richtig eingestellten Mindestpegel
unterdrücken.
Anhand der Analysedaten (siehe weiter unten) kann man erkennen,
ob Blöcke nicht oder irrtümlich gelesen wurden.
-
Algorithmus zur Erkennung der Phasenwechsel:
In der ersten Stufe der Signalverarbeitung werden die Audiodaten
in eine 1-Bit-Rechteckschwingung (hier als Phasenlage bezeichnet)
umgewandelt, deren zeitliche Phasenwechsel möglichst exakt denen
beim Erzeugen der Kassettenaufzeichnung entsprechen müssen.
Dazu stehen zwei Algorithmen zur Auswahl:
-
Über-/Unterschreiten des dynamischen Mittelwertes:
Aus den eingelesenen Audiodaten wird der Mittelwert gebildet,
der sich im zeitlichen Verlauf ändern kann
und deshalb dynamisch ist.
Wenn nun das aktuelle Signal diesen Mittelwert über-
oder unterschreitet, kommt es zu einem Phasenwechsel.
Dieses Verfahren ist allgemeingültig,
denn es entspricht in etwa der Analog-/Digialwandlung
der Kassettenschnittstelle eines realen Computers.
Allerdings kann es durch einseitige Phasenverschiebungen passieren,
dass die Phasenwechsel zeitlich falsch erkannt werden
und dadurch Fehler beim Einlesen auftreten.
-
Steile Flanken:
Wenn die einzelnen Schwingungen einen fast senkrechten Anteil
aufweisen, dann werden an diesen als steile Flanken genannten
Stellen Phasenwechsel erzeugt.
Der Vortail dieses Verfahrens ist,
dass es unabhängig von einseitigen Phasenverschiebungen ist.
Allerdings ist das Verfahren nicht allgemeingültig,
denn es funktioniert nur, wenn das Eingangssignal in jeder
relevanten Schwingung auch steile Flanken hat.
Außerdem muss festgelegt werden,
ab welcher Flankenhöhe es zu einem Phasenwechsel kommen soll.
Dazu gibt es einen Schieberegler, der ganz individuell
auf das Eingangssignal passend eingestellt sein muss.
Kleine Änderungen an dem Regler können schon
deutliche Auswirkungen auf die Erfolgswahrscheinlichkeit
des Einleseprozesses haben.
Aus diesem Grund kann dieser Schieberegler auch mit den
links und rechts vorhandenen Pfeilen in einzelnen Schritten
bedient werden.
Bild: Beispiel für steile Flanken und wie daraus
das Rechtecksignal gebildet wird
Über das Fenstermenü können die Einstellungen gespeichert
werden, so dass JKCLOAD beim nächsten mal mit diesen Einstellungen
startet.
Dabei werden auch die Positionen der geöffneten Fenster gesichert.
Die gespeicherten Einstellungen lassen sich über das Menü
auch wieder löschen.
Dann startet JKCLOAD beim nächsten mal mit Standardeinstellungen.
Sollten Sie die Einstellungen in einer Konfiguration mit mehreren Monitoren
speichern und später mit nur einem Monitor JKCLOAD starten,
kann es passieren, dass die gespeicherten Fensterpositionen
im unsichtbaren Bereich liegen und JKCLOAD somit gar nicht sichtbar ist.
In dem Fall können Sie das Programm mit der Kommandozeilenoption
-d bzw. --default starten.
Dann werden die gespeicherten Einstellungen ignoriert.
Das Einlesen von Kassettenaufnahmen kann nur dann funktionieren,
wenn die Audioquelle (z.B. Kassettenrekorder) ein sauberes
und auswertbaren Signal liefert.
Das ist leider nicht immer der Fall, vorallem dann nicht,
wenn die Aufnahmen schon älter sind.
Sollte das Einlesen einfach nicht gelingen wollen,
kann JKCLOAD Analysedaten aufzeichnen, die man sich dann ansehen kann.
So soll Ihnen die Möglichkeit gegeben werden,
die Ursache des Problems zu finden
und hoffentlich auch abstellen zu können.
Das Aufzeichnen der Analysedaten muss im Menü Analyse
aktiviert werden.
Dann werden beim nächsten Einlesevorgang diese Daten aufgezeichnet
und stehen bei Beendigung des Vorgangs, d.h. beim Schließen
der Audioquelle, in einem separaten Fenster zur Verfügung.
Nutzen Sie dazu den Menüeintrag
Analyse → Analysedaten anzeigen....
In dem sich öffnenden Fenster sehen Sie:
-
die gelesenen Audiodaten (Signal der Audioquelle),
Bei einer Stereo-Quelle werden nur die Audiodaten des Kanals angezeigt,
von dem gelesen wurde.
-
die aus den Audiodaten ermittelten Rechteckschwingungen (Phasenlage)
-
farblich hinterlegt die erkannte Art der jeweiligen Schwingungen
(Vorton, Trennung, 0- bzw. 1-Bit),
Achtung! Die farbliche Hinterlegung ist erst sichtbar,
wenn Sie in die Anzeige einige Stufen hineinzoomen (siehe weiter unten).
-
erkannte und eingelesene Blöcke (grüner bzw. roter Balken)
Mit den Schaltflächen + und - können
Sie in die Anzeige hinein- und wieder herauszoomen,
so dass Sie bis auf die Ebene der einzelnen Schwingungen
sehen können, was wie erkannt und eingelesen wurde.
Wenn man mit der Maus in die Anzeige klickt,
wird die angeklickte Position unten angezeigt
und das Hinein- und Herauszoomen erfolgt dann an dieser Position.
Die Analysedaten kann man in eine Datei speichern und später
wieder öffnen.
Es ist auch möglich, die in den Analysedaten enthaltenen
Audiodaten sowie die daraus ermittelten Phasenlagedaten
(Rechteckschwingungen) in eine Audiodatei zu speichern.
Des Weiteren ist es möglich, mit der Maus einen Bereich zu markieren
und dann die eingelesenen Audiodaten nur dieses Bereichs
als Audiodatei zu speichern.
So können Sie die Aufnahme leicht in verschiedene Teile separieren.
Mit Hilfe des Menüeintrags Bearbeiten →
Aktuelle Position als von/bis setzen kann man auch
größere Bereiche bis auf Frame-Position exakt markieren:
-
Zoomen Sie hinein und klicken auf die gewünschte Anfangsposition.
-
Benutzen Sie den Menüeintrag Bearbeiten →
Aktuelle Position als von/bis setzen.
Damit merkt sich das Programm die aktuelle Position als Anfangsposition.
-
Klicken Sie nun auf die gewünschte Endposition.
Dazu können Sie auch vorher Zoomen und Scrollen.
Achtung Diese Art der Markierung wird aufgehoben,
sobald Sie mit der Maus beginnen zu markieren, d.h.,
sobald Sie bei gedrückter Maustaste die Maus bewegen,
vergisst das Programm die gemerkte Anfangsposition.
Wenn das Einlesen von Kassetteaufzeichnungen einfach nicht erfolgreich
gelingen will, fängt die Fehlersuche bei der Auswertung
der Analysedaten an.
-
Haben in den Analysedaten in der oberen Zeile die gelesenenn
Audiodaten eine saubere Signalform und einen ausreichend hohen Pegel?
Sind sie einzelnen Kassettenaufzeichungen klar als solche erkennbar?
Wenn nein, dann liegt das Problem vor JKCLOAD.
Stellen Sie sicher, dass die Audioquelle ein ausreichend gutes Signal
liefert und dass im Betriebssystem der betreffende Audioeingang
aufgeregelt ist, so dass das Java-Laufzeitsystem und somit auch
JKCLOAD die Audiodaten lesen kann.
-
Werden überhaupt Kassettenaufzeichnungen bzw.
einzelne Datenblöcke erkannt (grüner bzw. roter Balken
in der dritten Zeile der Audiodaten)?
Wenn nein, wurde das richtige Kassettenaufzeichnungsformat
ausgewählt?
Falls ja, dann vergleichen Sie die erkannte Phasenlage
(zweite Zeile in den Analysedaten) mit den gelesenen Audiodaten.
Jede relevante Schwingung in den Audiodaten (erste Zeile)
muss sich auch als Rechteckschwingung (zweite Zeile) wiederfinden,
und zwar so, dass die Phasenwechsel der Rechteckschwingung
zeitlich exakt mit den Flanken der Schwingungen der Audiodaten
übereinstimmen.
Dazu müssen Sie in die Analysedaten hineinzoomen.
Die Erzeugung der korrekten Rechteckschwingungen ist der
entscheidenste Punkt für den Erfolg,
allerdings ist dies zu überprüfen auch sehr aufwändig.
Die Flanken der Audioschwingungen müssen möglichst steil sein.
Gegebenfalls sollte dazu der Eingangspegel erhöht werden.
Auch muss der Schieberegler Mindestpegel ausreichend
hoch gestellt sein.
-
Wenn bisher keine oder kaum Datenblöcke erfolgreich erkannt wurden,
aber die Flanken des Audiosignals ausreichend steil sind,
sollten Sie den Algorithmus Steile Flanken
zur Erkennung der Phasenwechsel auswählen
und dann mehrfach versuchen einzulesen und dabei jeweils
in kleinen Schritten die Flankenhöhe verändern.
-
Wenn die Rechteckschwingungen gut und gleichmäßig aussehen,
aber einzelne Datenblöcke trotzdem nicht erkannt werden,
stimmt wahrscheinlich die Signalform der Trennschwingung
(nicht bei allen Aufzeichnungsformaten vorhanden) nicht.
Hier können Sie die Frequenztoleranz erhöhen.
-
Wenn vor einer Kassettenaufzeichnung irrtümlich
ein Block erkannt wurde und fehlerhaft eingelesen wurde,
dann versuchen Sie durch Herunteregeln des Mindestpegels
diesen auszublenden.
Alternativ markieren Sie in den Analysedaten nur den relevanten Bereich
der Kassettenaufzeichnung, speichern die markierten Audiodaten
in eine neue Datei und lesen diese Datei wieder ein.
Für den Erfolg ist häufig viel Geduld erforderlich.
Probieren Sie die einzelnen Schritte immer wieder mit leicht
veränderten Parameterwerten erneut aus
und schauen Sie in den Analysedaten,
ob mehr Datenbereiche überhaupt eingelesen werden konnten
(grüner und/oder roter Balken wird länger)
bzw. ob mehr Datenbereiche auch erfolgreich eingelesen werden
könnten (nur grüner Balken).
JKCLOAD unterstützt AC1-Maschinencodedateien (AC1 MC)
und Aufnahmen des 8K-BASIC-Interpreters (AC1 BASIC).
Wenn keines dieser beiden Formate erkannt wird.
liest JKCLOAD die Kassettenaufzeichnung trotzdem ein,
und zwar als Rohdaten (angezeigt als AC1 RAW).
Diese Rohdaten enthalten alle eingelesenen Bytes
hinter dem Synchronisationsbyte E6h.
Achtung! Es gibt nur bei AC1-Maschinencodedateien
(AC1 MC) eine Prüfsumme,
anhand derer Fehler beim Einlesen erkannt werden können.
Bei AC1 BASIC und AC1 RAW kann JKCLOAD
nicht festellen, ob die eingelesenen Daten fehlerhaft sind.
Achtung! Aufgrund des beim AC1 verwendeten Modulationsverfahrens
und der Art und Weise, wie diese Kassettenaufnahmen eingelesen werden,
hat der Schieberegler Frequenztoleranz
keine Wirkung auf das eigentliche Einlesen,
sondern nur auf die grafische Darstellung in den Analysedaten.
Das AC1/LLC2-TurboSave-Format vom Studio Computerclub Halle (SCCH)
beginnt mit einem 32-Byte großen Block, der eine Kennung,
den Dateinamen sowie Anfangs- und Endadresse enthält.
Sollte JKCLOAD im ersten Block die AC1/LLC2-TurboSave-Kennung
nicht finden, werden die eingelesenen Daten als
AC1/SCCH-TurboSave RAW angezeigt und die eingelesenen Daten
können inklusive dem ersten Block als BIN-Datei gespeichert werden.
Sofern eine eingelesene Kassettenaufzeichnung mit SE-BASIC 3.1
oder S/P-BASIC 3.3 erzeugt wurde,
zeigt JKCLOAD anhand der Anfangsadresse die BASIC-Version
sowie die bei der Speicherung eingestellte Anzahl
an sichtbaren Bildschirmzeilen an.
Achtung! Aufgrund des beim BCS3 verwendeten Modulationsverfahrens
und der Art und Weise, wie diese Kassettenaufnahmen eingelesen werden,
hat der Schieberegler Frequenztoleranz
keine Wirkung auf das eigentliche Einlesen,
sondern nur auf die grafische Darstellung in den Analysedaten.