Files
cinema-spatial/提取HRIR.sh
T

25 lines
751 B
Bash
Raw Normal View History

#!/bin/bash
set -eu
cd "/home/lou/桌面/工作区/实验/空间音频"
SOFA=/usr/share/libmysofa/MIT_KEMAR_normal_pinna.sofa
mkdir -p hrir && cd hrir
i=0
for name in FL FR FC LFE BL BR; do
exp=""
for j in 0 1 2 3 4 5; do
[ $j -gt 0 ] && exp="$exp|"
if [ $j -eq $i ]; then exp="${exp}between(t,0,1/48000)"; else exp="${exp}0"; fi
done
ffmpeg -y -hide_banner -loglevel error -f lavfi \
-i "aevalsrc='${exp}':d=0.05:s=48000:c=5.1" \
-af "sofalizer=sofa=${SOFA}:type=time" -c:a pcm_s16le "${name}.wav"
i=$((i+1))
done
echo "=== 提取结果(每对双耳脉冲响应) ==="
for f in FL FR FC LFE BL BR; do
printf " %-5s " "$f"
ffprobe -v error -show_entries stream=channels,sample_rate,duration -of csv=p=0 "${f}.wav"
done