out of the box

Aus LinuxUser 03/2001

out of the box

Aufgemöbelt

Beim einen oder anderen noch nicht vollends vom digitalen Zeitalter erfassten Leser steht vielleicht ein Plattenspieler oder gar ein Grammophon herum. Tonträger auf solchen Geräten abzuspielen hat zwar etwas Nostalgisches, aber die Schellack- oder Vinylscheiben werden dadurch nicht besser.

Was liegt also näher, als die guten Stücke mit Rechnerunterstützung zu digitalisieren und dabei ein wenig Knackser zu entfernen? Das unter der GPL stehende GramoFile wurde von Anne Bezemer genau für diesen Zweck geschrieben.

Vor der Aufnahme

Für die Installation von GramoFile ist nicht viel erforderlich:

Jetzt ist es Zeit für den Download des GramoFile-Quelltextarchivs von http://panic.et.tudelft.nl/~costar/gramofile/. Zur Übersetzung des Programms sind folgende Schritte nötig:

tar xzf gramofile-1.6.tar.gz
 cd gramofile-1.6
 make
 strip gramofile bplay_gramo
 chmod 755 gramofile bplay_gramo
 su  (root-Passwort eingeben)
 cp gramofile bplay_gramo brec_gramo /usr/local/bin
 exit

Ton ab

In einem xterm oder einem anderen Terminalemulator geben Sie nun den Befehl gramofile ein. Nach einem kurz eingeblendeten Startlogo sollte uns das Programm mit dem Hauptmenü begrüßen (Abbildung 1). Mit den Cursortasten und der Tabulatortaste springen Sie zwischen den Menüpunkten hin und her. Return wählt einen Menüeintrag aus.

Abbildung 1: Das Hauptmenü

Abbildung 1: Das Hauptmenü

Bevor etwas mit GramoFile aufgenommen wird, sollten Sie die Mixereinstellungen der Soundkarte ansehen und dafür sorgen, dass genug Plattenplatz für die Aufnahme bereit steht. Pro Minute werden immerhin knapp 10 MByte gebraucht. Bei der Auswahl 1. Record audio to a sound file will das Programm zunächst den Namen der neuen Audiodatei wissen (Abbildung 2).

Wie schließe ich den Plattenspieler an den Rechner an?

In den meisten Fällen kann man den Ausgang des Plattenspielers nicht direkt mit dem Eingang der Soundkarte verbinden, weil das Ausgangssignal zuvor entzerrt werden muss. Ein Entzerrer-Vorverstärker oder notfalls der Line-Out-Ausgang des Verstärkers, an dem der Plattenspieler angeschlossen ist, sollte hier zum Einsatz kommen. Als Eingang der Soundkarte verwendet man am besten Line-In.

Abbildung 2: Dateiauswahl

Abbildung 2: Dateiauswahl

Die Aufnahme läuft so lange, bis Sie Return drücken. Sie können ruhig eine ganze Plattenseite mit mehreren Musikstücken aufnehmen, da GramoFile über eine sehr zuverlässig arbeitende Funktion zum Auffinden der Pausen verfügt (Track location). Genau diese Funktion werden wir als Nächstes benutzen.

Hack es klein!

Aus dem Hauptmenü wählen Sie jetzt 3. Locate tracks. Nach der obligatorischen Dateiauswahl geht es mit einigen Konfigurationsdaten weiter (Abbildung 3). Hier sind bereits sinnvolle Voreinstellungen getroffen. In die sogenannte RMS-(“Root Mean Square”-)Datei werden die gewichteten Mittelwerte eines Blocks (4410 Werte) geschrieben. Diese Information wird von GramoFile für die meisten Funktionen benötigt und sollte daher auf jeden Fall erzeugt werden.

Abbildung 3: Pausen finden mit <custom name="span" custom:class="uielement" srcset=

Track location«” width=”300″ height=”211″ /> Abbildung 3: Pausen finden mit Track location«

Der Vorgang kann eine Weile dauern, dann verkündet GramoFile stolz, wieviele Tracks es gefunden hat (Abbildung 4), und speichert die Fundstellen in eine Textdatei mit der Endung .tracks. Die genaue Arbeitsweise der Funktion können Sie in der Datei Tracksplit2.txt nachlesen.

Abbildung 4: Drei Stücke gefunden

Abbildung 4: Drei Stücke gefunden

Zu diesem Zeitpunkt wurde die Audiodatei noch nicht zerlegt. Es existieren lediglich die Positionen in der .tracks-Datei, die Sie, wenn nötig, auch noch mit einem Texteditor “feintunen” können. Als Basisname der .tracks-Datei wird der in der Dateiauswahl eingegebene verwendet. Einen Ausschnitt aus einer Beispieldatei zeigt Listing 1.

Listing 1

Ausschnitt aus einer .tracks-Datei

Number_of_tracks=3
 # Track 1 - blocks 8 to 2514 - length: 0:04:10.700
 Track01start=0:00:00.800
 Track01end=0:04:11.500
 # Track 2 - blocks 2535 to 4187 - length: 0:02:45.300
 Track02start=0:04:13.500
 Track02end=0:06:58.800
 # Track 3 - blocks 4212 to 6218 - length: 0:03:20.700
 Track03start=0:07:01.200
 Track03end=0:10:21.900

Raus mit den Knacksern

Jetzt können wir in einem Arbeitsgang die Audiodatei in einzelne Stücke unterteilen und dabei “entknacksen”. Dazu bietet GramoFile verschiedene Filter an, die sich hinter dem Menüpunkt 4. Process the audio signal verbergen. Die Funktion Split tracks sollte immer angekreuzt sein (Abbildung 5), es sei denn, die aufgenommene LP- oder Single-Seite besteht ohnehin nur aus einem Stück.

Abbildung 5: Filter in GramoFile

Abbildung 5: Filter in GramoFile

Links finden Sie alle verfügbaren Filter. Mit den Cursortasten werden sie markiert und mit Return in die Auswahl auf der rechten Seite übernommen. Der voreingestellte Conditional Median Filter II ist in den meisten Situationen die beste Wahl.

Wollen Sie stattdessen die Aufnahme nur in einzelne Stücke zerteilen, aber das Signal ansonsten unverändert lassen, wählen Sie den Filter Copy Only. Zu den meisten Filtern existieren noch weitere Parametereinstellungen, die Sie mit Return auf einem bereits gewählten Filter erreichen. Für die Experimentierfreudigen gibt es einen Filter, der sich – mit ausreichend C-Kenntnissen – selbst programmieren lässt (Experimenting Filter).

Noch nicht implementiert

Im Hauptmenü fällt auf, dass die Punkte 2. Copy sound from an audio CD to a file und 5. Write an audio CD noch keine Funktion haben. Aber GramoFile wäre nicht Open-Source-Software, wenn sich nicht in absehbarer Zeit ein fleißiger Entwickler darum kümmern und die Tools cdparanoia und cdrecord einbinden würde. Denn was als Studienarbeit begann, muss mit Version 1.6 nicht enden…

Glossar

digitalisieren

Ein kontinuierliches analoges Signal in aufeinander folgende digitale Werte umwandeln. Bei Rechnern übernimmt der Analog/Digitalwandler auf der Soundkarte diese Aufgabe.

GPL

Die GNU General Public License. Eine Softwarelizenz, die es erlaubt, das Programm weiterzugeben unter der Voraussetzung, dass der Quelltext dabei immer erhältlich bleibt. Ebenfalls erlaubt und ausdrücklich erwünscht ist es, eigene Verbesserungen an der Software vorzunehmen und wieder zu veröffentlichen. Linux selbst steht ebenfalls unter der GPL.

make

Programm zur Ablaufsteuerung beim Übersetzen von Quelltexten. Die Konfigurationsdatei von make (das Makefile) enthält dabei beispielsweise Informationen über Abhängigkeiten zwischen den einzelnen Programmmodulen.

Bibliothek

Dateien, die eine Sammlung nützlicher C-Funktionen für bestimmte Zwecke enthalten. So gibt es etwa die libm, die mathematische Funktionen bereit stellt, oder die libncurses, die Funktionen zur terminalabhängigen Textausgabe realisiert. Oft werden Bibliotheken von mehreren Programmen gemeinsam (“shared”) genutzt.

Header-Dateien

In Header-Dateien (auch Include-Dateien genannt) sind die in einer Bibliothek verfügbaren Funktionen nebst Parametern aufgelistet. Der C-Compiler braucht diese Information beim Übersetzen eines Programms. Bei den gängigen Distributionen hat ein Header-Paket zu einer Bibliothek üblicherweise den Zusatz dev oder devel im Namen.

Quelltext

Die für Menschen lesbare Form einer Software. Durch das Übersetzen (“Kompilieren”) mit einem Compiler wird daraus ein ausführbares Programm.

LinuxUser 03/2001 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben