View Full Version : 7.1 AVISynth MergeChannels
Seraphic-
30th March 2009, 03:19
fl = WavSource("C:\FL.wav")
fr = WavSource("C:\FR.wav")
fc = WavSource("C:\C.wav")
lf = WavSource("C:\LFE.wav")
sl = WavSource("C:\SL.wav")
sr = WavSource("C:\SR.wav")
MergeChannels(fl, fr, fc, lf, sl, sr)
Would anyone be able to outline the correct method to update the above script from 5.1 to 7.1? I'm not sure if you name channel 7 and 8 as RSL/RSR (rear surround left/right) or if there is another name. Thanks
tebasuna51
30th March 2009, 13:10
fl = WavSource("C:\FL.wav")
fr = WavSource("C:\FR.wav")
fc = WavSource("C:\C.wav")
lf = WavSource("C:\LFE.wav")
sl = WavSource("C:\SL.wav")
sr = WavSource("C:\SR.wav")
MergeChannels(fl, fr, fc, lf, sl, sr)
Above SL,SR is SurroundLeft,SurroundRight in a 5.1 track
In a 7.1 track the Surround channels are splited in Side and Back channels.
With M$ name convention:
SL,SR is SideLeft,SideRight
BL,BR is BackLeft,BackRight
and now:
fl = WavSource("C:\FL.wav")
fr = WavSource("C:\FR.wav")
fc = WavSource("C:\C.wav")
lf = WavSource("C:\LFE.wav")
bl = WavSource("C:\BL.wav")
br = WavSource("C:\BR.wav")
sl = WavSource("C:\SL.wav")
sr = WavSource("C:\SR.wav")
MergeChannels(fl, fr, fc, lf, bl, br, sl, sr)
Don't mistake Surround channels in 5.1 (SL,SR) with Side Channels in 7.1 (SL,SR) beause Back channels go before (at same order than Surround) than Side channels.
Seraphic-
30th March 2009, 19:16
Thank you.
On a side note, do you know offhand if NeroAAC support 7.1?
I did a eight wave mux for channel mapping, but it came out distorted.
tebasuna51
30th March 2009, 21:06
Your sample, WAV to 7.1.mp4, play fine for me with Foobar2000, MPC and MPC-HC
Is decoded ok with NeroAacDec but there are problems with faad v2.6 and bass 2.4
Seraphic-
30th March 2009, 21:22
Your sample, WAV to 7.1.mp4, play fine for me with Foobar2000, MPC and MPC-HC
Is decoded ok with NeroAacDec but there are problems with faad v2.6 and bass 2.4
When I try to play the Wav to 7.1 using MPC-HC it plays on all channels at once when there should be one voice per channel.
The 8_Channel_ID file plays fine though. Maybe I don't have NeroAacDec setup correctly. How did you set yours up for MPC-HC?
Adub
30th March 2009, 22:02
I thought that NeroAAC was capped at a maximum of 5.1 for the time being. Did they release a new version behind my back?
Edit: Okay, never mind. It seems in there latest release, everything is working correctly. See:
- neroAacDec:
- Fixed incorrect channel output for 7.1 encodings
Seraphic-
30th March 2009, 22:06
I thought that NeroAAC was capped at a maximum of 5.1 for the time being. Did they release a new version behind my back?
Do you mean capped at 5.1 encoding or decoding?
Newest one is from Sep 17th, 2008 says it has 7.1 decoding.
http://www.nero.com/eng/release-notes-nerodigital-nero-aac-codec.html
Release Date: September 17, 2008
New Features:
* neroAacEnc:
- Improved multichannel encoding
- Solved compatibility issues with some hardware devices
- Improved CBR bitrate control
- Ignore wave file length of 0 on -ignorelength
- Solved issue with very long files and -2pass
- Removed special SSE compile, all optimizations have been merged with the normal compile
- Linux version speed optimized
- Encoder exits gracefully and writes valid MP4 file on ctrl+c
* neroAacDec:
- Fixed incorrect channel output for 7.1 encodings
* neroAacTag:
- Linux version available
tebasuna51
31st March 2009, 10:16
When I try to play the Wav to 7.1 using MPC-HC it plays on all channels at once when there should be one voice per channel.
The 8_Channel_ID file plays fine though. Maybe I don't have NeroAacDec setup correctly. How did you set yours up for MPC-HC?
NeroAacDec only work in command line and can't be used by MPC-HC. I do nothing with MPC-HC config, I thing it play with the internal filter.
Seraphic-
1st April 2009, 17:58
Could it have to do with perhaps/maybe not having the right channel names? I.E - bl, br, sl, sr for 7.1? (could their names be something else) If not, then it has to do with the NeroAacDec then as the eight channel wave plays fine.
tebasuna51
1st April 2009, 19:42
Could it have to do with perhaps/maybe not having the right channel names? I.E - bl, br, sl, sr for 7.1? (could their names be something else)
I don't understand your question, the name of a wav file don't say nothing about the content.
The channel presents in a wav file are indicated by the header field MaskChannels.
I suposse you are using the multichannel wav file 8_Channel_ID.wav to obtain the mp4, and have the correct MaskChannels value:
File ........: D:\8_Channel_ID.wav
Size ........: 16126124 bytes
---------------------------------------------- Header Info
ChunkID .....: RIFF
RiffLength ..: 16126116
Container ...: WAVE
SubchunkID ..: fmt (Length: 40)
AudioFormat .: 65534 (WAVE_FORMAT_EXTENSIBLE)
NumChannels .: 8
SampleRate ..: 48000
ByteRate ....: 1152000
BlockAlign ..: 24
BitsPerSample: 24
ValidBitsPS .: 24
MaskChannels : 1599 (FL FR FC LF BL BR SL SR)
SubType .....: 1 (Integer)
SubchunkID ..: data (Length: 16126056)
Offset data .: 68
Duration ....: 13.99831 sec., (0h. 0m. 13.99831s.)
If not, then it has to do with the NeroAacDec then as the eight channel wave plays fine.
NeroAacDec only decode mp4 to wav, and the decoded wav must be similar to original 8_Channel_ID.wav.
But can't be used to play.
Seraphic-
1st April 2009, 21:18
What I meant was the name of the wave channels in the mux avisnyth file. If they were using the correct bl,br names for the channels.
And now that I think of it, I never tried just doing an encode of the 8_Channel_ID.wav to see if that plays correctly. I'll try that.
fl = WavSource("C:\FL.wav")
fr = WavSource("C:\FR.wav")
fc = WavSource("C:\C.wav")
lf = WavSource("C:\LFE.wav")
bl = WavSource("C:\BL.wav")
br = WavSource("C:\BR.wav")
sl = WavSource("C:\SL.wav")
sr = WavSource("C:\SR.wav")
MergeChannels(fl, fr, fc, lf, bl, br, sl, sr)
EDIT:
And now that I think of it, I never tried just doing an encode of the 8_Channel_ID.wav to see if that plays correctly. I'll try that.
Results in fatal error when trying to encode.
Altaria
2nd April 2009, 20:35
hi
is it possible to extract each stream of a 7.1 channel, because I have tried to encode PCM to flac and the speech is extrem low, when I open the original m2ts stream with kmplayer, is sounds ok (but I have only stereo at home)
so that I can the "speech" louder?
http://forum.doom9.org/showthread.php?t=145741
menno
2nd April 2009, 21:21
What are your command line options for the Nero encoder? Encoding 8_Channel_ID.wav should not be a problem.
vBulletin® v3.8.4, Copyright ©2000-2009, Jelsoft Enterprises Ltd.