Я пытаюсь преобразовать файлы 728 .raw в файлы 16 кГц .wav, но получаю следующую ошибку
sox FAIL форматы: невозможно открыть входной файл `outputdir/rawfile/b95981d1-3aa6-4d10-b755-990915951efc': Такого файла или каталога нет
Я использую скрипт
#!/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
скрипт находится в convert.sh, а файлы raw находятся в папке rawfiles. Структура файла такая
/Оригинал/rawfiles/.rawfiles
и
/Оригинал/convert.sh
У меня есть 728 файлов для конвертации .raw файлов в 16 бит 16 кГц моно wav файлы. Какие изменения мне нужно сделать, чтобы устранить ошибку и конвертировать файлы?
решение1
Сообщение об ошибке гласит: «Невозможно открыть входной файл xxx
: такого файла нет», поэтому первым шагом будет перейтисмотретьфайл xxx
и посмотрите, существует ли он на самом деле, какие у него разрешения и т. д.
Если бы мне пришлось угадывать: Имя файла содержит пробелы, и вы получили только первую часть имени файла. Решение: Используйте кавычки в скрипте.
Но могут быть и другие причины, по которым это не работает, и способ узнать это — проверить файл. Сообщение об ошибке там не просто так. :-)