Moin,
wie kann ich im Shell-Script an eine bestehende Binär-Datei
eine/mehrere weitere anhängen?
(ich möchte mehrere .wav-Dateien aneinanderhängen)
ist cat dafür geeignet?
Hermann
Hi Hermann,
versuch es mal mit folgenden Kommando.
$ cat 01.wav 02.wav 03.wav > 01-03.wav
Quote from: "bluelupo"Hi Hermann,
versuch es mal mit folgenden Kommando.
$ cat 01.wav 02.wav 03.wav > 01-03.wav
hi bluelupo,
danke!
das wäre zusammensetzen - wenn ich das richtig verstanden habe ?
anhängen mit >> geht sicher auch?
Hermann
@Hermann: Anhängen mit >>
Hi,
habs probiert
prinzipiell gehts
allerdings knackt es an den Stoßstellen
Hermann
also ...
erst mit sox ins raw-format konvertieren
dann zusammenhängen
danach das zusammengehängte file mit sox ins wav-format
fertig
allerdings den gibts den in den div. Anleitungen beschrieben Parameter -w nicht
geht aber auch ohne
Hermann
Hallo @Bluelupo,
Audiodateien bitte nicht mit cat aneinanderfügen, das gibt Aussetzer.
@khx, warum wandelst Du denn die Dateien erst ins Raw Format um?
Hast Du drei Dateien 01.wav, 02.wav und 03.wav, lautet der Befehl:
sox 0* gesamt.wav
Viele Grüße,
Holger
Hallo Holger,
Quote from: "holgerw"Hallo @Bluelupo,
Audiodateien bitte nicht mit cat aneinanderfügen, das gibt Aussetzer.
liegt das daran, daß cat nicht für Binär-Dateien geeignet ist?
Quote from: "holgerw"
@khx, warum wandelst Du denn die Dateien erst ins Raw Format um?
weils geknackt hat, was ich auf die Header zurückführte
Quote from: "holgerw"
Hast Du drei Dateien 01.wav, 02.wav und 03.wav, lautet der Befehl:
sox 0* gesamt.wav
sieht ja sehr einfach aus,
aber, wie kontrolliere ich die Reihenfolge?
Danke
Hermann
Quote from: "khx"Quote from: "holgerw"Audiodateien bitte nicht mit cat aneinanderfügen, das gibt Aussetzer.
liegt das daran, daß cat nicht für Binär-Dateien geeignet ist?
Nein, das liegt am wav Format -- das geht einfach nicht davon aus, dass an dessen Ende noch was kommt. Das ist aber bei vielen Binärformaten so, dass die das nicht gut finden. Ist im Grunde aber auch so bei Textdateien: Alleine durch cat werden zwei Sätze halt eben auch nicht zu einem mit "und" verbundenem Langen...
Quote from: "khx"Quote from: "holgerw"Hast Du drei Dateien 01.wav, 02.wav und 03.wav, lautet der Befehl:
sox 0* gesamt.wav
sieht ja sehr einfach aus,
aber, wie kontrolliere ich die Reihenfolge?
Vertraue auf deine Shell, dass sie richtige Expansion macht ;) Ansonsten kannst du es natürlich explizit aussprechen (sox 001.wav 002.wav ...) oder eben:
sox $(find /path/to/wavs/ -name '0??.wav' | sort)Mit find und sort kann man dann wohl wirklich so ziemlich jeden Sortierungswunsch erfüllen...
(find alleine wird eine recht undefinierte Reihenfolge ausgeben -- die Manpages machen schlau :) )