Как сценарий оболочки считывает данные в папке пакетного тестирования - PullRequest
0 голосов
/ 17 января 2019

Я недавно реплицировал эксперимент SEGAN на основе TensorFlow0.12.1. Автор предоставляет сценарий оболочки для тестирования (clean_wav.sh), как показано на рисунке ниже:

enter image description here

Это оригинальная версия, предоставленная автором. Согласно пути моих тестовых данных, модифицированная версия выглядит следующим образом:

enter image description here

Noisy_testset_wav_16k - это моя папка с тестовыми данными, но запуск системы сценариев выдаст сообщение об ошибке:

enter image description here

Эта папка является каталогом, но когда я меняю путь на:

NOISY_WAVNAME='/home/zyf/SEGAN/ SEGAN/segan-master1/noisy_testset_wav_16k/p232_023.wav'

скрипт работает нормально, и функция программы также может быть достигнута.

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

1 Ответ

0 голосов
/ 18 января 2019

Код написан так, как он обрабатывает только файл, вы можете добавить цикл в сценарий оболочки для обработки всех файлов в папке:

for f in $NOISY_WAVDIR/*.wav; do
      python main.py --init_noise_std 0. --save_path segan_v1.1 \
               --batch_size 100 --g_nl prelu --weights SEGAN-41700 \
               --preemph 0.95 --bias_deconv True \
               --bias_downconv True --bias_D_conv True \
               --test_wav $f --save_clean_path $SAVE_PATH
done

но это не было бы оптимальным использованием графического процессора, так как вы не обрабатываете аудио в пакетном режиме. В идеале вы хотели бы изменить код Python для обработки аудио в пакетном режиме, но это не будет тривиальной задачей.

...