Sox-Batch-Konvertierung von .raw nach .wav

Sox-Batch-Konvertierung von .raw nach .wav

Ich versuche, 728 .raw-Dateien in 16-kHz-.wav-Dateien zu konvertieren, erhalte jedoch die folgende Fehlermeldung

sox FAIL-Formate: Eingabedatei „outputdir/rawfile/b95981d1-3aa6-4d10-b755-990915951efc“ kann nicht geöffnet werden: Keine solche Datei oder kein solches Verzeichnis

Das Skript, das ich verwende, ist

#!/bin/bash

mkdir -p "outputdir"
for i in rawfile/*.raw; do 
    o=outputdir/${i}
    sox "$i" -r 16000 -e signed ${o%.raw} ${o%.wav}
done

das Skript befindet sich in convert.sh und die Rohdateien im Ordner rawfiles. Die Dateistruktur ist wie folgt

/Original/Rohdateien/.rawfiles

Und

/Orginal/convert.sh

Ich muss 728 RAW-Dateien in 16-Bit-16-kHz-Mono-WAV-Dateien konvertieren. Welche Änderungen muss ich vornehmen, um den Fehler zu beheben und die Dateien zu konvertieren?

Antwort1

Die Fehlermeldung lautet "Eingabedatei kann nicht geöffnet werden xxx: Keine solche Datei", also ist der erste Schritt,sehenat-Datei xxxund prüfen Sie, ob sie tatsächlich existiert, welche Berechtigungen sie hat usw.

Wenn ich raten müsste: Der Dateiname enthält Leerzeichen und Sie haben nur den ersten Teil des Dateinamens. Lösung: Verwenden Sie Anführungszeichen im Skript.

Es kann aber auch andere Gründe geben, warum es nicht funktioniert. Diese können Sie herausfinden, indem Sie die Datei überprüfen. Die Fehlermeldung ist nicht ohne Grund da. :-)

verwandte Informationen