Как пакетно конвертировать.sph файлы в.wav с помощью sox

У меня есть каталог со многими папками, содержащими сотни файлов.SPH. Мне нужно конвертировать все файлы.SPH в формат.wav. Я принял следующий код:

cd %~dp0
mkdir converted
FOR %%A IN (%*) DO sox -t raw -s -2 -r 22050 -c 2 %%A "converted/%%~nA.wav"
pause

Тем не менее, он ничего не делает в Windows 7. Когда я пробую код на CMD в папке, где находятся некоторые из.SPH:

sox *.SPH output.wav

Он встраивает все *.SPH в файл output.wav, а это не то, что мне нужно. Мне нужно name1.SPH для name1.wav, name2.SPH для name2.wav

Пожалуйста помоги.

4 ответа

Для Linux учтите это:

for f in *.SPH; do sox -t sph "$f" -b 16  -t wav "${f%.*}.wav"; done

В Windows 7 мне нужно указать полный путь к целевым файлам и mdkir Команда получила ошибку разрешения, даже если я работал от имени администратора, поэтому предварительно создайте каталог назначения и удалите mkdir команда, а затем ваша команда SOX должна выглядеть примерно так (с вашими собственными флагами на основе преобразования или редактирования, которые вы пытаетесь выполнить):

FOR %%A IN (%*) DO sox  -t raw -e mu-law -c 1 -r 8000 %%A c:\converted\%%~nA.wav

Файл cmd не должен находиться в папке, где находятся файлы, он должен находиться в папке, где установлен SOX, а затем перетащить файлы, которые вы хотите преобразовать, в файл cmd (или bat).

for %%a in (*.sph) do sox "%%~a" "%%~na.wav"

Сделайте файл.bat в вашем каталоге sox с содержимым

cd %~dp0
for %%a in (*.sph) do sox "%%~a" "%%~na.wav"
pause

Выберите и перетащите файлы, которые вы хотите преобразовать, в этот файл.bat, и файлы.wav с теми же именами, что и файлы.sph, появятся в той же папке, что и файлы.sph.

Другие вопросы по тегам