[NTLUG:Discuss] Basic script question
Patrick R. Michaud
pmichaud at pobox.com
Wed Aug 10 14:31:54 CDT 2016
The command "sox *.wav output.wav" should process the files in the same order as "for i in *.wav".
In both cases, the "*.wav" part is expanded by the shell prior to invoking the command; i.e., 'sox' sees a list of filenames, not a wildcard pattern. So it's essentially the same thing.
Also, if you can get the list of filenames to be processed into a text file, you can do
sox $(cat input_files.txt) output.wav
and the files will be processed in the order in which they appear in input_files.txt .
Hope this helps,
Pm
On Wed, Aug 10, 2016 at 10:53:10AM -0500, Bobby Wrenn wrote:
> "sox *.wav output_file_name" works on my small set of sample files. Hopefully it will scale when I am in the jungle and off the grid. I am a little concerned that this may not take the files in proper sort order.
>
>
> On 08/10/2016 09:28 AM, Val W Harris wrote:
> >Bobby,
> >
> >
> >You didn;t say what distro you are using, but the CentOS 7 man page for sox says that it accepts multiple input files. Using a for loop to call sox multiple times is overwriting the output of the previous call to sox. Try
> >
> >
> >sox *.wav output_file_name
> >
> >I hope this works for you. Enjoy your adventure!
> >
> >--
> >Val Harris valwharris at verizon.net
> >
> >
> >
> >
> >-----Original Message-----
> >From: Bobby Wrenn <bobby at wrennest.com>
> >To: NTLUG Discussion List <discuss at ntlug.org>
> >Sent: Wed, Aug 10, 2016 8:37 am
> >Subject: [NTLUG:Discuss] Basic script question
> >
> >Wondering if the list is still active. My first send of this post has
> >not appeared in my email.
> >
> >I need to set up why I am asking for help on a short notice.
> >
> >I am making a trip to the jungle of Papua New Guinea to make voice
> >recordings of people reading scripture in their native language. I will
> >be recording the whole book of Genesis with speakers for each character
> >in the book. I may do other books as well. In order to work with other
> >translation groups the files must be in a very specific format with a
> >predetermined file name sequence. After all the recordings are done I
> >need to retain the original chunks and assemble the chunks into
> >chapters. I can determine the start and stop filename for each chapter.
> >The files will be in a consistent WAV format. I expect to use sox to
> >join the WAV files for each speaker into a file for each chapter. I have
> >been planning this trip for some time. But just received this new
> >requirement to join the files today. I get on a plane tomorrow and will
> >have an Internet connection in country for about two days before I head
> >into the bush with solar panels and a laptop.
> >
> >I need help with a basic script to join the files given a start and stop
> >filename and an explicit output file name as parameters. Input file
> >names look like this "P1MSYPBT_01973.wav, P1MSYPBT_01974.wav, ...". The
> >output file will look like this "P1MSYPBT_001_GEN_01.wav,
> >P1MSYPBT_001_GEN_02.wav, ...".
> >
> >I tried putting the files for a chapter in a separate directory and
> >running [for i in *.wav;do sox "$i" P1MSYPBT_001_GEN_01.wav;done]. But
> >it either got only the first file or left out the last file. It was not
> >consistent.
> >
> >Any help greatly appreciated.
> >
> >
>
>
> --
> StG
> Bobby Wrenn
> Beyond Baptism
>
>
> _______________________________________________
> http://www.ntlug.org/mailman/listinfo/discuss
More information about the Discuss
mailing list