You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Dolby Logic Pro II,FFmpeg 5.1转立体声脚本可行性及简化咨询

基于Dolby Logic Pro II公式的5.1转立体声下混实现问题

我希望使用FFmpeg结合Dolby Logic Pro II公式将5.1声道音频下混为立体声,对应的下混公式如下:

Lt = L + (–3 dB × C) – (–1.2 dB × Ls) – (–6.2 dB × Rs)
Rt = R + (–3 dB × C) + (–6.2 dB × Ls) + (–1.2 dB × Rs)

我写了一段冗长且可能冗余的Bash脚本:

# L channel
ffmpeg -i "$filename" -map_channel 0.1.0 -c:a pcm_f32le L.wav
ffmpeg -i "$filename" -map_channel 0.1.2 -filter:a "volume=-3dB" -c:a pcm_f32le C.wav
ffmpeg -i "$filename" -map_channel 0.1.4 -af "volume=-1.2dB" -c:a pcm_f32le Ls.wav
ffmpeg -i "$filename" -map_channel 0.1.5 -af "volume=-6.2dB" -c:a pcm_f32le Rs.wav
ffmpeg -i Ls.wav -af "aeval=-val(0)" -c:a pcm_f32le Lsi.wav
ffmpeg -i Rs.wav -af "aeval=-val(0)" -c:a pcm_f32le Rsi.wav
ffmpeg -i L.wav -i C.wav -i Lsi.wav -i Rsi.wav -filter_complex "amix=inputs=4" -c:a pcm_f32le L_final.wav
rm L.wav Ls.wav Rs.wav Lsi.wav Rsi.wav

# R channel
ffmpeg -i "$filename" -map_channel 0.1.1 -c:a pcm_f32le R.wav
ffmpeg -i "$filename" -map_channel 0.1.4 -filter:a "volume=-6.2dB" -c:a pcm_f32le Ls.wav
ffmpeg -i "$filename" -map_channel 0.1.5 -filter:a "volume=-1.2dB" -c:a pcm_f32le Rs.wav
ffmpeg -i R.wav -i C.wav -i Ls.wav -i Rs.wav -filter_complex "amix=inputs=4" -c:a pcm_f32le R_final.wav
rm R.wav C.wav Ls.wav Rs.wav

# Mix
ffmpeg -i L_final.wav -i R_final.wav -filter_complex "[0:0][1:0] amerge=inputs=2" -c:a pcm_f32le "${filename%.*}_dm.wav"
rm L_final.wav R_final.wav

请问这个脚本是否可行?有没有更简便的实现方式?


更新:我还写了带90度相位偏移的Python代码,希望有人能验证这段代码的正确性:

import scipy, os, numpy as np

os.system(f'ffmpeg -i "{filename}" -c:a pcm_f32le temp.wav')
sample_rate, waves = scipy.io.wavfile.read("temp.wav")
os.remove("temp.wav")

L, R, C, LFE, LS, RS = waves.T

LS_shifted = -np.imag(scipy.signal.hilbert(LS))
RS_shifted = np.imag(scipy.signal.hilbert(RS))
L_out = L + 0.708 * C - 0.871 * LS_shifted - 0.49 * RS_shifted
R_out = R + 0.708 * C + 0.49 * LS_shifted + 0.871 * RS_shifted

scipy.io.wavfile.write("out.wav", sample_rate, np.vstack((L_out, R_out)).T)

内容的提问来源于stack exchange,提问作者anti-hero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 22:55:18