I need to join 2 wav files together that have come from 2 divx cds, they need to be in 1 file so i can encode the wav into 1 Ac3 stream, anyone know how i do it, i have attempted with Soundforge and Goldwave, but both these programmes joined the wav files leaving them so the 2nd part of the audio is at the front of the first part
Hercules Man
+ Reply to Thread
Results 1 to 19 of 19
-
-
When you used Gold Wave, and opened both audio files. You copied the second audio file, then selected the first and selected Paste At-->End. What happened?
Hello. -
Originally Posted by Hercules Man
Audio->direct Stream copy.
File->save as wav.
Now you will have the audio for the whole move in one file!
If you intend to encode to mpeg or something, do this instead:
Audio->Full processing mode
Audio->compression=None (PCM)
Audio->Conversion (select 44.1 for (S)VCD or 48 for DVD)
File->save wav file.
Hope this helps. -
As i said in my post, when i copied the second part in Soundforge and pasted it into the 1st part, i get the 2nd part at the beginning of the 1st part, i have also tried virtualdub, but when i try to append the files, i get an error messgae saying that the files have different sample rates, or something to that effect.
Hecules Man -
Did you try Gold Wave or AviSynth? And how big are these files?
Hello. -
Originally Posted by BJ_M
Anyway, use CoolEdit (in multitrack mode insert both wav from avi).If the sample rate or resolution or channel mode, CoolEdit will take care of that.
Position both tracks as you like (drag with right button pressed) and save mix or join both on one track and goto to single track view.Convert wave as desired and save to new. -
Originally Posted by Dragonsf
very fast and quick way to join them - faster than any other means pretty well ... -
A wav is a tagged file with one specific header,In the header (which is obviously at the start of the file), you'll find the information needed to play the file.In some way, the result is a playable wave file, but you can only play the first part, because the header includes the length of the wave data:
WAVEHDR
The WAVEHDR structure defines the header used to identify a waveform-audio buffer.
typedef struct {
LPSTR lpData;
DWORD dwBufferLength;
DWORD dwBytesRecorded;
DWORD_PTR dwUser;
DWORD dwFlags;
DWORD dwLoops;
struct wavehdr_tag * lpNext;
DWORD_PTR reserved;
} WAVEHDR;
So, joining binary to files can't fill in the proper values for the second file.
If you want to do it correctly, remove the header of the second file and adjust the length of the first header.But, if the sample format of the 2 files are different, you're lost! -
dragonsf , since wav are riff type chucks, the header can be repeated or modified throughout its lenth , only a few broken programs wouldnt reconize it but any good editing programs will and even media player or on a mac , protools ..
true - worse case some programs would have to play in raw mode - but this is very rare - tough can happen - also when buffer size or sample rate is changed - then it wouldnt be a good idea either ..
example:
(audioio-types/buffered) test.wav: Setting buffer size [1024,44100].
(audioio-types/buffered) test.wav: Set buffer size [1024]. <- another varable
(program flow: write_riff_header())
Riff ID: RIFF
Wave data size 4294967284 <- this is inserted upon closing the file when wriiten, there can be more than one
Riff type Riff type: WAVE
Wrote RIFF format header.
program flow: write_riff_datablock())
(audio-objects) Audio object "test.wav", mode "read/write".
(audio-io) Format: s16_le, channels 2, srate 44100, interleaved.
Connecting connected chainsetup to engine.
and when playing back - the controller, notice the file lenth never enters into the picture :
Engine-thread pid: 24926
(samplebuffer<>) Buffer created, channels: 2, length-samples:
1024, sample rate: 0.
Engine/Initializing
(audioio-types/buffered) /dev/dsp: Setting buffer size [1024,44100].
(audioio-types/buffered) /dev/dsp: Set buffer size [1024].
Input "/dev/dsp": start position 0, number of connected chain 1 .
(audioio-types/buffered) test.wav: Setting buffer size [1024,44100].
(audioio-types/buffered) test.wav: Set buffer size [1024].
(Output "test.wav": start position 0, number of connected chain 1 .
(samplebuffer<>) Buffer created, channels: 2, length-samples:
1024, sample rate: 44100.
(samplebuffer<>) Buffer copy-constructed, channels: 2,
length-samples: 1024, sample rate: 44100.
- [ [1mEngine/Init - mixmode "simple"[0;10m ]
---------------------------------------
(main) Start
(audioio-oss) Audio device "/dev/dsp" started.
s
- [ [1mController/Processing stopped[0;10m ] -
Looks like you are not using windows.Of cource there can be more than one header in a RIFF file, but joining to waves binary gives problems with CoolEdit.You have to open the combined file in raw mode.The two header will give a crack and the sample rate can't be adjusted (lets presume the first part was 44.1 KHz and the second 48).Maybe Linux oder Macs can handle that, CoolEdit can't (or any other Win32 program, which uses the MM interface).
-
well yes as i said - you cant have two sample rates or buffer sizes , though if the wavs were extracted from ac3 files in the first place they would be the same ..
adobe audition opens them fine (that is the latest "version" of cool edit pro) , vegas, protools , avid media (film) composer, sonar, goldwave and calkwalk also work fine (i just tried on windows - along with media player 9 and clasic and 6.4) .
maybe older versions of cooledit had a problem - its not (though very good) a top end editor ..
i agree - at times it just will not work - but its a valid quick way still and used .. -
I think, the problem is , how a program opens such a file.As long a program relies on MM-service to open and play it, it just sees the first chunk (as the next pointer is invalid).If the program opens in raw mode and interpret the headers themself, maybe you have luck and it works.
-
well dragonsf - you may be right and in that case - it shouldnt be used .. i guess im just lucky .. so i will go with your suggestion and suggest not to do it that way .. i'm certainly not hard set about it!
where it works also - and this method is acually used by some apps, is to combine two or more ac3 files togther ... though in that case also --- its not entirely legit either ... but so far it works ..
it doesnt work for DTS files -- either dvd .dts type or theatre .aud files (i had to try) . -
The AC3 is insensitive against such manipulations.If I understand this format correctly, it's a frame based streaming format and as such, a new header will be ignored.Otherwise realtime encoding (as wnated to be used in games) of AC3 wouldn't be possible)
-
Originally Posted by Dragonsf
-
Now we see clearer (at least me
).As wave is a file format - in opposite to PCM streaming format - you have to consider any interruptions and in streaming, you don't need to care.I got it!
Similar Threads
-
decode 5.1 matrix surround wav file to 6 mono wav files
By Zerrax in forum AudioReplies: 2Last Post: 24th Nov 2013, 07:39 -
Convert and join multiple m4a in one wav?
By astrosyn in forum AudioReplies: 1Last Post: 17th Nov 2011, 20:38 -
Join 2 uncompressed wav audio files
By kidcash in forum AudioReplies: 13Last Post: 11th May 2008, 02:15 -
How can i join wav?
By GangstaRap in forum AudioReplies: 1Last Post: 8th Jan 2008, 06:05 -
Using Submerge to Join avi Files to srt Files: Problems with Export
By TiggyWink in forum MacReplies: 1Last Post: 26th Jun 2007, 08:16