Я пытаюсь преобразовать 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, а необработанные файлы находятся в папке rawfiles. Структура файла похожа

/Orginal/rawfiles/.rawfiles

а также

/Orginal/convert.sh

У меня есть 728 файлов для преобразования .raw файлов в 16-битные 16 кГц моно WAV файлы. Какие изменения я должен сделать, чтобы удалить ошибку и преобразовать файлы?

1 ответ1

0

Сообщение об ошибке гласит: «не удается открыть входной файл xxx: такого файла нет», поэтому первым делом нужно взглянуть на файл xxx и посмотреть, существует ли он на самом деле, какие у него есть разрешения и т.д.

Если бы мне пришлось угадывать: имя файла содержит пробелы, и вы получили только первую часть имени файла. Решение: используйте кавычки в скрипте.

Но могут быть и другие причины, по которым он не работает, и способ выяснить это - проверить файл. Сообщение об ошибке там по причине. :-)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .