- Joined
- Apr 11, 2010
- Messages
- 955
OK I remembered the "magic". Simple but non-intuitive.
In the Batch File/Item Converter Dialog, in output channels, ignore the drop down choices (which yes don't go beyond 8) and just type in the number you want. So 12 for 7.1.4.
I guess you can see my settings for Penteo16pro upmix as well (Although I like SpecWeb better ).
To play back the resulting 12ch wav file (either in foobar 2000 with a 12ch audio interface, or with the windows spatial audio player, you'll need to map the channel header in the wav file. I wrote this script (You'll need to adjust the paths):
For that I wrote this:
which also handles the re-sampling to 48KHz (the max supported by the DTS:X encoder for 7.1.4).
AudioMuxer can also do the above.
In the Batch File/Item Converter Dialog, in output channels, ignore the drop down choices (which yes don't go beyond 8) and just type in the number you want. So 12 for 7.1.4.
I guess you can see my settings for Penteo16pro upmix as well (Although I like SpecWeb better ).
To play back the resulting 12ch wav file (either in foobar 2000 with a 12ch audio interface, or with the windows spatial audio player, you'll need to map the channel header in the wav file. I wrote this script (You'll need to adjust the paths):
@echo off
Setlocal enabledelayedexpansion
rem echo "you passed: %*"
for %%x in (%*) do (
rem echo ">%%x<"
echo "%%~dpx"
cd /d "%%~dpx"
"D:\Google Drive\12ch-mono-split\ffmpeg.exe" -y -i %%x -acodec pcm_s24le -af "pan=7.1+TFL+TFR+TBL+TBR|FL=c0|FR=c1|FC=c2|LFE=c3|SL=c4|SR=c5|BL=c6|BR=c7|TFL=c8|TFR=c9|TBL=c10|TBR=c11" "%%~nx_12ch_mapped.wav"
)
pause
and there is the messy detail of weather the sides or backs should come first in the file. The above works in my setup (with further mapping in foobar2000).
If you are going to encode with a DTS:X encoder, you'll need to split into 12 mono channel files, and it's convenient to change the file names so dragging just one into the encoder will make the rest populate automagicly.For that I wrote this:
@echo off
Setlocal enabledelayedexpansion
for %%x in (%*) do (
echo "%%~dpx"
cd /d "%%~dpx"
rem sox best quality sample rate conversion
"D:\Glenn\Downloads\sox-14.4.2-win32\sox-14.4.2\sox.exe" -G -S %%x -e floating-point "%%~nx_48KHz.wav" rate -v -L -s 48000
rem add back channel map
echo "input file: .\%%~nx_48KHz.wav"
"D:\Google Drive\12ch-mono-split\ffmpeg.exe" -y -i "%%~nx_48KHz.wav" -acodec pcm_s24le -ar 48000 -af "pan=7.1+TFL+TFR+TBL+TBR|FL=c0|FR=c1|FC=c2|LFE=c3|BL=c6|BR=c7|SL=c4|SR=c5|TFL=c8|TFR=c9|TBL=c10|TBR=c11" "%%~nx_out_chm.wav"
rem split into monos
"%APPDATA%\AudioMuxer\Eac3to\eac3to.exe" "%%~nx_out_chm.wav" "%%~nx.wavs"
echo "From 7.1.4 12ch mapped"
echo "BL and BR to Lsr Rsr"
echo "SL and SR to Lss Rss"
echo "TL TR TBL TBR to Lfh Rfh Lrh Rrh"
Ren "%%~nx.BL.wav" "%%~nx.Lsr.wav"
Ren "%%~nx.BR.wav" "%%~nx.Rsr.wav"
Ren "%%~nx.SL.wav" "%%~nx.Lss.wav"
Ren "%%~nx.SR.wav" "%%~nx.Rss.wav"
Ren "%%~nx.TL.wav" "%%~nx.Lfh.wav"
Ren "%%~nx.TR.wav" "%%~nx.Rfh.wav"
Ren "%%~nx.TBL.wav" "%%~nx.Lrh.wav"
Ren "%%~nx.TBR.wav" "%%~nx.Rrh.wav"
)
pause
which also handles the re-sampling to 48KHz (the max supported by the DTS:X encoder for 7.1.4).
AudioMuxer can also do the above.