conversión por lotes de sox de .raw a .wav

0

Estoy tratando de convertir 728 archivos .raw a 16khz .wav pero recibo el siguiente error

formatos de FALLO de sox: no se puede abrir el archivo de entrada `outputdir / rawfile / b95981d1-3aa6-4d10-b755-990915951efc ': No existe tal archivo o directorio

script que estoy usando es

#!/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

el script está en convert.sh y los archivos sin formato están en la carpeta de archivos sin formato. La estructura del archivo es como

/Orginal/rawfiles/.rawfiles

y

/Orginal/convert.sh

Tengo 728 archivos para convertir archivos .raw a archivos mono wav de 16 bits y 16 kHz. ¿Qué modificaciones tengo que hacer para eliminar el error y convertir los archivos?

Saad
fuente

Respuestas:

0

El mensaje de error dice "no se puede abrir el archivo de entrada xxx: no existe ese archivo", por lo que el primer paso es mirar el archivo xxxy ver si realmente existe, qué permisos tiene, etc.

Si tuviera que adivinar: el nombre de archivo contiene espacios, y solo obtuvo la primera parte del nombre de archivo. Solución: use comillas en el script.

Pero puede haber otras razones por las que no funciona, y la forma de averiguarlo es inspeccionando el archivo. El mensaje de error está ahí por una razón. :-)

dirkt
fuente