Hello!
plusminus: I received your message about processing directories, but unfortunately I don't have a high enough user level here to send private messages.
In order to process a directory full of samples, you could do something like this:
Let's assume you've got all of your original samples in a subdirectory called
samples, and the
loop.sh script is in the current directory:
Code: Select all
$ ls -alF loop.sh
-rwxr-xr-x 1 someone someone 1959 2017-10-04 22:35 loop.sh
$ ls -alF samples
drwxr-xr-x 2 someone someone 4096 2017-10-03 11:12 ./
drwxr-xr-x 7 someone someone 4096 2017-10-04 22:39 ../
-rw-r--r-- 1 someone someone 115236 2017-10-02 20:45 fk_01.wav
-rw-r--r-- 1 someone someone 115260 2017-10-02 20:45 fk_02.wav
-rw-r--r-- 1 someone someone 115276 2017-10-02 20:45 fk_03.wav
-rw-r--r-- 1 someone someone 115196 2017-10-02 20:45 fk_04.wav
-rw-r--r-- 1 someone someone 115252 2017-10-02 20:45 fk_05.wav
-rw-r--r-- 1 someone someone 115260 2017-10-02 20:45 fk_06.wav
-rw-r--r-- 1 someone someone 115252 2017-10-02 20:45 fk_07.wav
-rw-r--r-- 1 someone someone 115228 2017-10-02 20:45 fk_08.wav
-rw-r--r-- 1 someone someone 115260 2017-10-02 20:45 fk_09.wav
-rw-r--r-- 1 someone someone 345620 2017-10-02 20:45 fk_10.wav
-rw-r--r-- 1 someone someone 147344 2017-10-03 09:56 fk_11.wav
-rw-r--r-- 1 someone someone 142608 2017-10-03 09:57 fk_12.wav
-rw-r--r-- 1 someone someone 143940 2017-10-03 09:58 fk_13.wav
-rw-r--r-- 1 someone someone 148184 2017-10-03 09:58 fk_14.wav
-rw-r--r-- 1 someone someone 22464 2017-10-03 11:11 fk_15.wav
-rw-r--r-- 1 someone someone 42196 2017-10-03 11:12 fk_16.wav
What you want to be able to say is "for each file
f that has a name ending in
.wav, run
loop.sh on
f and put the output into a directory called
samples_extended with the same filename as the original". You can translate that statement almost word for word into shell script:
Code: Select all
$ mkdir samples_extended
$ cd samples
$ for f in *.wav; do ../loop.sh "$f" "../samples_extended/$f"; done
You should now see a lot of extended samples in
samples_extended:
Code: Select all
$ cd ..
$ ls -alF samples_extended
drwxr-xr-x 2 someone someone 4096 2017-10-04 16:12 ./
drwxr-xr-x 7 someone someone 4096 2017-10-04 22:39 ../
-rw-r--r-- 1 someone someone 185336 2017-10-04 16:13 fk_01.wav
-rw-r--r-- 1 someone someone 215344 2017-10-04 16:13 fk_02.wav
-rw-r--r-- 1 someone someone 318308 2017-10-04 16:13 fk_03.wav
-rw-r--r-- 1 someone someone 110220 2017-10-04 16:13 fk_04.wav
-rw-r--r-- 1 someone someone 143328 2017-10-04 16:13 fk_05.wav
-rw-r--r-- 1 someone someone 264432 2017-10-04 16:13 fk_06.wav
-rw-r--r-- 1 someone someone 156344 2017-10-04 16:13 fk_07.wav
-rw-r--r-- 1 someone someone 288908 2017-10-04 16:13 fk_08.wav
-rw-r--r-- 1 someone someone 92692 2017-10-04 16:13 fk_09.wav
-rw-r--r-- 1 someone someone 178864 2017-10-04 16:13 fk_10.wav
-rw-r--r-- 1 someone someone 749312 2017-10-04 16:13 fk_11.wav
-rw-r--r-- 1 someone someone 749580 2017-10-04 16:13 fk_12.wav
-rw-r--r-- 1 someone someone 700492 2017-10-04 16:13 fk_13.wav
-rw-r--r-- 1 someone someone 736568 2017-10-04 16:13 fk_14.wav
-rw-r--r-- 1 someone someone 50344 2017-10-04 16:13 fk_15.wav
-rw-r--r-- 1 someone someone 104152 2017-10-04 16:13 fk_16.wav
You can see from the fifth column that the samples in
samples_extended are larger.
There's a good (free) book on this stuff here:
http://linuxcommand.org/tlcl.php
Don't sweat not knowing how to do it. The UNIX shell has a well-deserved reputation for being ugly, inconsistent, and awkward to learn.