26 lines
1.4 KiB
Bash
Executable File
26 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
# 电影院空间音频: 把多声道音轨(5.1/7.1)用 HRTF 渲染成双耳, 耳机上得到环绕包围感。
|
|
#
|
|
# 原理: 影片的 5.1/7.1 音轨 -> 每个声道按它所在方向, 与人头模型的脉冲响应卷积
|
|
# -> 混成两耳。声音就会"从左边/后面/远处来", 不再挤在头中间。
|
|
#
|
|
# 用法: mpv-影院 电影.mkv
|
|
# mpv-影院 --no-video 电影.mkv (只听声)
|
|
#
|
|
# 注意: 只适合多声道片源(5.1/7.1)。立体声片源别用 —— HRTF 会把左右两声各自
|
|
# 推远, 听起来更空但不会变环绕, 反而变差。
|
|
#
|
|
# 参数说明:
|
|
# radius=1.2 声源距离(米), 1.2 更像影厅
|
|
# gain=-16 整链增益校准值。★别随手改大★
|
|
# 上混及多路叠加会让整链净增益约 +10.5dB, 必须拿"接近满刻度"的
|
|
# 素材实测才能定; 给大了直接削波爆音(实测教训)。
|
|
# type=time 时域卷积(保真)。默认的 freq 走 FFT, 会削高频。
|
|
# ★ 采样率: sofalizer 按 SOFA 文件自身的采样率输出, 不在链尾拉回来整个音频链
|
|
# 会掉到 44.1k。所以要 aresample 回 96k 并让 ao 也请求 96k。
|
|
SPATIAL_ROOT="${CINEMA_SPATIAL_ROOT:-/usr/share/cinema-spatial}"
|
|
exec mpv \
|
|
--audio-samplerate=96000 \
|
|
--af="sofalizer=sofa=${SPATIAL_ROOT}/sofa/H4_96K_24bit_512tap_FIR_SOFA.sofa:type=time:radius=1.2:gain=-16,aresample=96000" \
|
|
"$@"
|