Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
![]() |
#1 | Link |
Registered User
Join Date: Jul 2008
Posts: 17
|
Demux and remux AC3 (channel mapping)
I had to resample an AC3 5.1 audio track (for PAL -> NTSC conversion) so I used tmpgenc xpress 4 to select each channel and export it into wav.
The result are 6 mono tracks: FR, FL, FC, LFE, BR, BL. I opened them in Audition and ran a resample script in batch which exported again 6 tracks. I kept the names consistent so I would not confuse which channel is which. Than I imported them into WAV to AC3 encoder with the MUX Wizard so I could map each channel properly. The resulting AC3 sounds wrong, panned to the right, dialogues are muffled. I guess I mapped the channels incorrectly. Am I missing something? |
![]() |
![]() |
![]() |
#2 | Link |
Moderator
![]() Join Date: Feb 2005
Location: Spain
Posts: 7,241
|
Wav to Ac3 works fine, but in the previous process you must do anything wrong.
Use eac3to or BeHappy to do the process directly without channel mapping problems. For instance: eac3to pal.ac3 -slowdown -448 ntsc.ac3 for 448 Kb/s, default bitrate is 640 Kb/s |
![]() |
![]() |
![]() |
#4 | Link | |
Moderator
![]() Join Date: Feb 2005
Location: Spain
Posts: 7,241
|
What is the problem?
Quote:
If you downsample to 46033 you have less samples and need more samples. Upsample to 50050 and assign samplerate 48000. |
|
![]() |
![]() |
![]() |
#5 | Link |
Registered User
Join Date: Jul 2008
Posts: 17
|
Yes, that is what I did so far.
I tried besweet and eac3to with pal to ntsc conversion but the audio always went out of sync towards the second third of the movie. My method (also found on this forum) works great. All I have to do is align peaks in the waveform in Audition to find any delays and that's it. It all works with stereo sound. I can't replicate the same process with 5.1 sound at least not with Audition. That is where the demuxing/remuxing comes into play. I'll try demuxing into wave with belight instead of using tmpgenc, maybe it will help. Tnx anyway! |
![]() |
![]() |
![]() |
#6 | Link |
foobaring my ass off
Join Date: Nov 2005
Location: Argentina
Posts: 618
|
Try muxing the fixed mono WAVs into a interleaved 6-ch WAV with Wavewizard, just make sure that the files are in WAV order from top to bottom:
FL FR FC LFE SL SR In wavewizard, Edit --> Preferences. Enable Stream manipulation: Merge files, Ignore size in headers: always, Output format: Wave PCM. Then you feed this 6ch WAV to Aften (aftengui).
__________________
"Damn, respect my authoritay!!" - E. Cartman |
![]() |
![]() |
![]() |
#7 | Link |
Registered User
Join Date: Jul 2008
Posts: 17
|
Ok let me report back.
The problem was with tmpgenc. It maps the channels in a wrong way. I demuxed the ac3 with belight into 6 mono 32bit waves. It turned out that LFE was silent anyway. I used my method of resampling them in batch with Audition and than used Sonic Foundry Soft Encode to map and reencode the resampled files back into an ac3. EncWAVtoAC3 and its wizard do not work for some reason. The resulting channels were wrong. I tried Wavewizard but it took forever to make that wave that was huge in the end. I'm talking 15GB! But I guess i should work in the end. It would be great if I could use avisynth to demux and remux the files so I could drop sonic but I'll have to do some more research for that... Thanks to everyone! |
![]() |
![]() |
![]() |
#8 | Link |
Registered User
Join Date: Jan 2009
Location: UK
Posts: 403
|
Going back to what tebasuna51 said, try eac3to again as this will let you recode in one step. If the audio is going out of sync towards the end of movies then this suggests that you're not setting the video framerate correctly. It should be 24000/1001fps, assuming you're going from 25p and keeping the video progressive. If you use a different framerate (e.g. 24fps) then you need to tell eac3to this.
|
![]() |
![]() |
![]() |
#10 | Link |
foobaring my ass off
Join Date: Nov 2005
Location: Argentina
Posts: 618
|
The Wavewizard method is slow but failsafe, it can't go wrong unless something is done wrong, so you can use it as a test to check which part of your process is getting screwed up (decoding, remuxing, or encoding).
In essence NTSC is 29.970, but pulldown removal makes it 23.976. I would use avisynth, avs2wav and aften for this job, with this script (audio.avs) for decoding and timestretching: Code:
NicAC3Source("audio.ac3") TimeStretch(tempo = (23.976*100/25)) #takes audio from 25 fps to 23.976 fps while maintaining the pitch ConvertAudioTo16bit() Code:
avs2wav.exe -f wav -i audio.avs -o - | aften -b 448 - stretched_audio.ac3
__________________
"Damn, respect my authoritay!!" - E. Cartman |
![]() |
![]() |
![]() |
#12 | Link | |
Registered User
Join Date: Jan 2009
Location: UK
Posts: 403
|
Quote:
Also, if you're slowing down a movie from a PAL DVD then I don't think you'd want to maintain the pitch at all. The act of slowing down will correct the pitch from its incorrect source. If you keep the pitch then it will still be incorrect plus you'll introduce pitch correction artefacts. I'd use rate instead of tempo in TimeStretch, unless you really do want to keep the pitch. Finally, unless aften requires it (I don't think it does) then don't convert to 16 bit at the end of the script. In fact, convert to the highest precision supported by aften before resampling. But eac3to will do all these things for you automatically in one command line, plus it will check for clipping ![]() Code:
eac3to input.ac3 output.ac3 -slowdown |
|
![]() |
![]() |
![]() |
#13 | Link | |||
foobaring my ass off
Join Date: Nov 2005
Location: Argentina
Posts: 618
|
Quote:
Quote:
Quote:
avs2wav outputs FLOAT when using NicAudio. If Aften is accepting FLOAT, then he can strip it off or else take it to ConvertAudioTo32bit(). Later ![]()
__________________
"Damn, respect my authoritay!!" - E. Cartman |
|||
![]() |
![]() |
![]() |
#14 | Link | ||
Moderator
![]() Join Date: Feb 2005
Location: Spain
Posts: 7,241
|
Quote:
Code:
NicAC3Source("audio.ac3") TimeStretch(tempo=96.0/1.001) Code:
NicAC3Source("audio.ac3") SSRC(50050).AssumeSampleRate(48000) This last method is equivalent to eac3to slowdown. Quote:
BTW, avs2wav always crash in my systems. An alternate method is use Wavi: Code:
Wavi audio.avs - | aften -b 448 - stretched_audio.ac3 |
||
![]() |
![]() |
![]() |
Tags |
ac3, audition, channel, ntsc, pal |
Thread Tools | Search this Thread |
Display Modes | |
|
|