Форматы sox FAIL: невозможно открыть входной файл '* .wav': неверный аргумент


0

Я пытаюсь ознакомиться с sox для выполнения некоторых задач обработки аудио. В конечном счете, я хочу взять все мои WAV-файлы и извлечь только один канал и сохранить их, в идеале с измененным именем (например, input 55_55.wav станет left_55_55.wav). Хорошо, сейчас, хотя я просто пробую некоторые базовые вещи и сталкиваюсь с проблемами.

Например, просмотр продолжительности всего одного файла работает нормально:

sox --i -D 55_55.wav
10.840000

Но попытка выполнить команду для всех файлов .wav в каталоге не удалась:

sox --i -D *.wav
sox FAIL formats: can't open input file '*.wav': Invalid argument

Что здесь не так?

Я пробовал несколько вариантов (например, ./*.wavи изменение относительного местоположения *.wav), но не смог решить его. Я надеюсь выяснить, как сделать что-то с каждым файлом .wav для достижения моей цели, и кажется, что использование *.wavдля ввода может быть правильным подходом, но это не так хорошо работает. есть идеи?

Я думал, что что-то вроде следующей лжи сработает, чтобы извлечь один канал из каждого файла и сохранить этот один канал с измененным именем, но, похоже, я был слишком обнадеживающим:

sox *.wav -c 1 left*.wav remix 1 0
sox FAIL formats: can't open output file `left*.wav`: Invalid argument

sox --i -D *.wavработает здесь, вы в правильном каталоге? Что говорит эхо * .wav?
Тор

1
Чтобы извлечь левый канал из нескольких файлов и сохранить его отдельно, вам нужно использовать цикл, например for wavfile in *.wav; do sox "$wavfile" "left_$wavfile" remix 1; done.
Тор

Я почти уверен, что нахожусь в правильном каталоге. lsвозвращает все файлы, которые я ожидаю, я могу использовать команду для отдельных файлов, и текст перед >является правильным каталогом.
Jota

Итак, ваша проблема в том, что *.wavне расширяется, в какой оболочке вы запускаете это? Попробуйте запустить цикл в оболочке bash.
Тор

1
Извините, я заблуждаюсь, что вы запускаете это в другой оболочке. cmd.exeтакже поддерживает for-loop, см., например, этот веб-сайт . Как то так должно работать for %wavfile in (*.wav) do sox %wavfile left_%wavfile remix 1.
Тор
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.