Taperssection.com

Gear / Technical Help => Post-Processing, Computer / Streaming / Internet Devices & Related Activity => Topic started by: kylieshotpants on April 08, 2011, 03:55:07 PM

Title: Joining WAV files together
Post by: kylieshotpants on April 08, 2011, 03:55:07 PM
Hi

i've just upgraded to a digital recorder Zoom H1, and a new problem I now have is that it create's a new file after 2gb 2.15 hours recording time.  I understand this is standard, what is the best way to join these files together without any loss?

Thanks
Title: Re: Joining WAV files together
Post by: vanark on April 08, 2011, 04:00:22 PM
I use shntool from a command line.
Title: Re: Joining WAV files together
Post by: RetroDude83 on April 08, 2011, 04:41:55 PM
google something like "join wav files freeware" and it will give you sites for several applications that will do it.

I just did myseld and clicked the first link my mouse was near at and ended up here

http://www.freedownloadscenter.com/Best/join-wav-free.html

other than that you can also try to open the second part of your show's recording in your wave file editor, copy the whole thing, open the first part, jump to the very end of the first wav and paste what you copied from the second file to join those two parts, then save it and that's it. That's how I'd do it, there is no loss as both files will seamlessly join.
Title: Re: Joining WAV files together
Post by: junkyardt on April 08, 2011, 09:23:12 PM
I use shntool from a command line.

saying something like this without giving detailed instructions is not really useful. the average person is not going to have a clue how to do anything from a command line, or what that even is.

I've tried numerous freeware programs for joining wavs, and some were better than others. there were a few that worked fine for 16/44 files but choked when I tried to join 24/96 files. one that's worked for me even with 24/96 files is AddaWav:

http://download.cnet.com/AddaWav/3000-2141_4-11463.html
Title: Re: Joining WAV files together
Post by: vanark on April 08, 2011, 10:18:15 PM
I use shntool from a command line.

saying something like this without giving detailed instructions is not really useful. the average person is not going to have a clue how to do anything from a command line, or what that even is.

I was at work and didn't have time to type out specific instructions.  Google could get you what you needed.  In the time it took you to type that out, google would have provided the answer.

I added command line in case he/she knew that a command line was beyond them. I'm old school, so shntool is part of my arsenal of tools.

Basic join command: shntool join -n file1.wav file2.wav (this will create a single file named joined.wav)

Full list of shntool join commands:

Usage: shntool join [OPTIONS] file1 file2 [file3 ...]

Mode-specific options:

  -b      pad the beginning of the joined file with silence
  -e      pad the end of the joined file with silence (default)
  -h      show this help screen
  -n      don't pad the joined file with silence

Global options:

  -D      print debugging information (each one increases debugging level)
  -H      print times in h:mm:ss.{ff,nnn} format, instead of m:ss.{ff,nnn}
  -O val  overwrite existing files?  val is: {[ask], always, never}
  -P type progress indicator type.  type is: {[pct], dot, spin, face, none}
  -a str  prefix 'str' to base part of output filenames
  -d dir  specify output directory
  -i fmt  specify input file format decoder and/or arguments.
          format is:  "fmt decoder [arg1 ... argN (%f = filename)]"
  -o fmt  specify output file format, extension, encoder and/or arguments.
          format is:  "fmt [ext=abc] [encoder [arg1 ... argN (%f = filename)]]"
  -q      suppress non-critical output (quiet mode)
  -r val  reorder input files?  val is: {ask, ascii, [natural], none}
  -v      show version information
  -w      suppress warnings
  -z str  postfix 'str' to base part of output filenames
  --      indicates that everything following it is a filename

Title: Re: Joining WAV files together
Post by: stevetoney on April 09, 2011, 12:53:48 AM
Freeware ... search for a software named WAV Joiner
Title: Re: Joining WAV files together
Post by: Ghost of sml42 on April 21, 2011, 05:04:03 PM
I have a question about this, since I'm finding myself in the same boat... I recently upgraded to a pcm-m10 and ran 24/96 for the first time last night, and have ~5GB of fileset for this one particular recording.

now, I too am old school and prefer to use shntool from command line. here's the deal, "shntool join *.WAV":

stephen@oyster ~/Desktop/2011-04-20
$ ls -l
total 10728088
-rwx------+ 1 stephen None 2147479552 2011-04-20 21:24 110420_05.WAV
-rwx------+ 1 stephen None 2147479552 2011-04-20 22:26 110420_06.WAV
-rwx------+ 1 stephen None 1197826048 2011-04-20 23:00 110420_07.WAV
-rwx------+ 1 stephen None 5492772908 2011-04-21 21:46 joined.wav

hooray, except that in my media player (foorbar2000) the files show as:
110420_05    1:02:08
110420_06    1:02:08
110420_07    34:40
joined    34:40

so, the joined file really is >5GB on-disk, but reporting as much much shorter. now, I'm well aware there is a limitation of wav files: the RIFF header length is only a 32-bit quantity, so the playing time is effectively reduced modulo 4GB. I believe this is what I'm hitting above.

I'm vaguely aware of w64 and related formats, which are designed to address this problem. afaict shntool doesn't appear to support w64.

I don't believe for a minute I'm the first person to hit this, so can someone tell me what I'm missing, please and thank you? if it is helpful, my workflow revolves around audition 1.5 and occasionally audacity (I prefer audition for dynamics processing, and audacity for visualising cut-points).

regards,
stephen
Title: Re: Joining WAV files together
Post by: runonce on April 21, 2011, 09:40:08 PM
Id have to ask...why?

Unless it was one set with one song lasting several hours...

Do you really need to combine both wavs? If there is a break point - cant you track it out first and then combine the broken track?

And - cant you just copy and paste them together in Audacity? Just put your cursor at the end of the first file and copy and paste the second at that point?
Title: Re: Joining WAV files together
Post by: newplanet7 on April 21, 2011, 10:01:00 PM
I use shntool from a command line.

 AddaWav:

http://download.cnet.com/AddaWav/3000-2141_4-11463.html
I use both of these without issue.
Title: Re: Joining WAV files together
Post by: ashevillain on April 21, 2011, 10:02:58 PM
Id have to ask...why?

Unless it was one set with one song lasting several hours...

Do you really need to combine both wavs? If there is a break point - cant you track it out first and then combine the broken track?

And - cant you just copy and paste them together in Audacity? Just put your cursor at the end of the first file and copy and paste the second at that point?

If there's any editing to be done to the file it should be done on the entire show as a whole. Resampling, normalizing, EQ, etc. For example if you normalize the parts separately it's highly unlikely the software will increase the gain by the same amount on each and then when put together they will not match up.
Title: Re: Joining WAV files together
Post by: scb on April 21, 2011, 11:12:23 PM
so even them out :)
Title: Re: Joining WAV files together
Post by: Brian Skalinder on April 22, 2011, 12:29:47 AM
I have a vague recollection that Audacity allows one to load multiple WAVs into a single project.  (And I know Samplitude and Reaper do, my two preferred editors.)  In which case, there's no need to join the WAVs prior to editing.  Load both WAVs, apply editing and tracking, then bounce to individual tracks.  But perhaps my memory is faulty, and Audacity doesn't allow multiple WAVs within a project.
Title: Re: Joining WAV files together
Post by: rjp on April 23, 2011, 12:48:17 AM
Audacity will load multiple WAVs just fine, via the File->Import option. Each WAV imported will be put into a new track; if you're concatenating them, you will need to manually cut the audio from the new track and paste it onto the end of the original track.
Title: Re: Joining WAV files together
Post by: Shadow_7 on April 25, 2011, 09:32:24 AM
Audacity allows multiple tracks, but you've got to File --> Import --> Audio past the first one.  A real PITA IMO.  And you've got to manually time shift or cut and paste the content to where you want it.

I use sox.  Concatenate is the default behavior.  At least for all of the versions I've used.  There's command line options to explicitly tell it to concatenate, but it's the default.  So...

$ sox input1.wav input2.wav input3.wav input4.wav output.wav
or
$ sox input*.wav output.wav

Whatever file is listed last is the receiving file.  (in theory).  Make sure they all match channel counts, bits, and rate.  Which they should.

Beware though, I've had issues with some programs like audacity with files > 4GB in size.  IIRC, it opens it, but only shows you the portion that exists after 4GB.  At least on one version and one machine of mine.  It's not a filesystem issue as EXT3 with 4K blocks(default) allows up to 1TB file sizes.  Sox was also weird with them as well.  It would create them, but if you tried to do something with them after that, weirdness.  My Korg MR-1000 breaks at 1GB file sizes.  And I typically record two plus hours at a time (8GB+) of content.  And I've had to rewrite a few scripts to work around this quirk by keeping file sizes at or below 4GB in size.  By joining the files in groups, that can be offset by groups of 2 or 3 or 4, more than 4 and I crest 4GB.

But being aware of the issue, I tend to manually start a new capture every hour on the hour.  Doing that also helps in editing as the undo copy doesn't need 40GB of HDD space for the last ten edits.
Title: Re: Joining WAV files together
Post by: Brian Skalinder on April 26, 2011, 12:01:56 AM
I use sox.

I've seen a handful of your posts about using sox.  I gather it offers a command line UI only.  (Though it wouldn't surprise me if there are graphic UI front ends available.)  I'm curious:  how do you handle situations (upon which I come across regularly, some more than others) in which you want to apply time- or selection-specific edits?  For example, tracking of a continuous performance or of select portions of a performance, volume envelopes, selective compression / limiting, crossfades, noise reduction based on a selection of noise, etc?

Title: Re: Joining WAV files together
Post by: capnhook on April 26, 2011, 12:18:21 AM
Freeware ... search for a software named WAV Joiner

True, dat......
Title: Re: Joining WAV files together
Post by: Shadow_7 on April 26, 2011, 03:50:34 PM
I use sox.

I've seen a handful of your posts about using sox.  I gather it offers a command line UI only.  (Though it wouldn't surprise me if there are graphic UI front ends available.)  I'm curious:  how do you handle situations (upon which I come across regularly, some more than others) in which you want to apply time- or selection-specific edits?  For example, tracking of a continuous performance or of select portions of a performance, volume envelopes, selective compression / limiting, crossfades, noise reduction based on a selection of noise, etc?

I do most of my edits beyond resampling, concatenation, and stuff in audacity.  Hard limiting and other things.  I've even gotten around to writing a few nyquist routines for audacity.  Or at least modding existing ones.  I like libsndfile's resampling routine better than sox's routine.  Sox is mainly to get the speed effect going to sync my FH1 and Korg MR-1000.  Otherwise outside of some file format conversions I try to avoid sox, as it has flaws.  And most of my edits to extract specific segments of audio I do in audacity.  But there's some oddity's like porting speex's AGC routines to sox, that keeps sox in play on a lot of things.  And libsndfile doesn't seem to have a  speed option yet.  At least not on the command line.  There are gui front ends to sox, but I normally find those limited and/or out of sync with the latest version of sox.

Otherwise most things filter, limiter, compressor, gain, and otherwise I do in audacity.  Although sox does have a neat trick for segmenting out a DAO CD at regular intervals.

$ sox LargeAudioFile.wav track_.cdr trim 00:00:00 00:02:00 : newfile : restart

Assuming that LargeAudioFile is 16 bit and 44.1kHz, otherwise you have to explicitly tell sox the input and output parameters.  I output CDRs because that's what the CD burning software converts it to anyway, and if you're doing multiple copies, you save a little bit of time on the repeat.  Less so as computers get faster and faster.  In either case, less cpu usage equals less heat equals lower power bill(air conditioning).  Not by much, but every little bit helps.
Title: Re: Joining WAV files together
Post by: JasonSobel on April 26, 2011, 07:57:11 PM
I use sox.

I've seen a handful of your posts about using sox.  I gather it offers a command line UI only.  (Though it wouldn't surprise me if there are graphic UI front ends available.)  I'm curious:  how do you handle situations (upon which I come across regularly, some more than others) in which you want to apply time- or selection-specific edits?  For example, tracking of a continuous performance or of select portions of a performance, volume envelopes, selective compression / limiting, crossfades, noise reduction based on a selection of noise, etc?

Brian,

In addition to what Shadow_7 discusses in his post above, I like SoX for a few other things. While it's not great for volume envelopes and other things you mention where you want to do different editing on different portions of the audio, it is great for when you need to do the same process across the same files (or, to relate back to the original thread topic, to combine multiple files and then apply specific commands all in one step.

I like SoX's resampling algorithm, I think it's among the best I've heard.  It also has some commands to match the levels of the left/right channels.  You can tell it to match the volume of the peaks of the left/right channels, or my preference, have it automatically match the average RMS level of the two channels.  This is particularly nice for me, because my mics aren't matched, and my left/right channels are typically off by a few dB.  And lastly, it also does de-emphasis, which is nice when dealing with DAT transfers that were originally recorded with pre-emphasis.  The details of the SoX commands that I frequently use are here:
http://taperssection.com/index.php?topic=138652.0 (http://taperssection.com/index.php?topic=138652.0)

but everything else, I use Samplitude.

- Jason
Title: Re: Joining WAV files together
Post by: doodee on April 26, 2011, 10:15:47 PM
Another vote fo good ol' Audacity. Never had any issues.
Title: Re: Joining WAV files together
Post by: mhlsr on May 07, 2011, 10:10:45 AM
http://www.exactaudiocopy.de/
I use Exact Audio Copy
1- Tools-Process WAV
2- File - Append File
3- File- Save As