Commit 013ec6f4 authored by norvell's avatar norvell
Browse files

Fix dpid usage and add STL filter for anchors

parent 7fe0c70a
Loading
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
[directivitySetting]
directivityCount = 1;

[directivityPattern:0]
directivity = [0.0, 180.0, 0.1]

[distanceAttenuation]
maxDist = 15;
refDist = 0.5;
rolloffFactor = 1;
+28 −12
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ files=`ls $INDIR/*.wav`
     

# Tools
RESAMPAUDIO=ResampAudio
FILTER=filter.exe
COPYAUDIO=CopyAudio
INFOAUDIO=InfoAudio
ASTRIP=astrip.exe
@@ -31,32 +31,47 @@ TMP="TMP"`date +%s%N`


################### Definition of test conditions ###################
#conditions="REF"
conditions="REF ANCH3k5 CUT64_3DOF CUT512_3DOF CUT64_6DOF CUT512_6DOF"
conditions="REF ANCH3k5"
#conditions="REF ANCH3k5 CUT64_3DOF CUT512_3DOF CUT64_6DOF CUT512_6DOF"
# Conditions as functions 
# $1 input signal, 48 kHz wav ISM4
# $2 output signal, 48 kHz wav BINAURAL
function REF { # Direct
    $IVAS_REND -if ISM4 -of BINAURAL -i $1 -im $1.0.csv $1.1.csv $1.2.csv $1.3.csv -T $1.ht.csv -o $2 -render_config config_directivity.cfg
    $IVAS_REND -if ISM4 -of BINAURAL -i $1 -im $1.0.csv $1.1.csv $1.2.csv $1.3.csv -T $1.ht.csv -o $2 -render_config $1.cfg -dpid 0 1 2 3
}
function ANCH3k5 { # 3.5 kHz anchor
    local CF
    CF=`echo $PSF_HZ | gawk '{print 3500/$1}'`
    $RESAMPAUDIO -i 1 -f cutoff=$CF $1 $2
    REF $1 TMP1.wav
    N_SAMPLES=`$INFOAUDIO TMP1.wav | grep "No. samples" | cut -f2 -d':' | tr -d '[:space:]'`
    for ch in A B;do
        $COPYAUDIO -F noheader --chanA=$ch TMP1.wav TMP1.$ch.pcm
        dd if=/dev/zero of=TMP.zero.pcm bs=2 count=232
        cat TMP1.$ch.pcm TMP.zero.pcm > TMP1.$ch.pad.pcm
        $FILTER LP35 TMP1.$ch.pad.pcm TMP2.$ch.pcm
        $ASTRIP -start 233 -sample TMP2.$ch.pcm TMP2.$ch.delay.pcm
    done
    $COPYAUDIO -S "FL FR" -F WAVE-NOEX -P integer16,,$PSF_HZ,,1 TMP2.A.delay.pcm TMP2.B.delay.pcm $2
    rm TMP*
}
function ANCH7k { # 7 kHz anchor
    local CF
    CF=`echo $PSF_HZ | gawk '{print 7000/$1}'`
    REF $1 TMP1.wav
    $RESAMPAUDIO -i 1 -f cutoff=$CF TMP1.wav $2
    N_SAMPLES=`$INFOAUDIO TMP1.wav | grep "No. samples" | cut -f2 -d':' | tr -d '[:space:]'`
    for ch in A B;do
        $COPYAUDIO -F noheader --chanA=$ch TMP1.wav TMP1.$ch.pcm
        dd if=/dev/zero of=TMP.zero.pcm bs=2 count=232
        cat TMP1.$ch.pcm TMP.zero.pcm > TMP1.$ch.pad.pcm
        $FILTER LP7 TMP1.$ch.pad.pcm TMP2.$ch.pcm
        $ASTRIP -start 233 -sample TMP2.$ch.pcm TMP2.$ch.delay.pcm
    done
    $COPYAUDIO -S "FL FR" -F WAVE-NOEX -P integer16,,$PSF_HZ,,1 TMP2.A.delay.pcm TMP2.B.delay.pcm $2
    rm TMP*
}
function CUT64_6DOF { # CUT64 <input> <output>
    $IVAS_COD -ism +4 $1.0.csv $1.1.csv $1.2.csv $1.3.csv 64000 48 $1 TMP.bs
    $IVAS_DEC -render_config config_directivity.cfg -T $1.ht.csv BINAURAL 48 TMP.bs $2
    $IVAS_DEC -render_config $1.cfg -dpid 0 1 2 3 -T $1.ht.csv BINAURAL 48 TMP.bs $2
}
function CUT512_6DOF { # CUT64 <input> <output>
    $IVAS_COD -ism +4 $1.0.csv $1.1.csv $1.2.csv $1.3.csv 512000 48 $1 TMP.bs
    $IVAS_DEC -render_config config_directivity.cfg -T $1.ht.csv BINAURAL 48 TMP.bs $2
    $IVAS_DEC -render_config $1.cfg -dpid 0 1 2 3 -T $1.ht.csv BINAURAL 48 TMP.bs $2
}
function CUT64_3DOF { # CUT64 <input> <output>
    cut -f1-4 -d',' $1.ht.csv > TMP.ht.csv
@@ -92,6 +107,7 @@ for f in $files;do
        cat $f.$i.csv $f.$i.csv > $PROC/$BASE.2.wav.$i.csv
    done
    cat $f.ht.csv $f.ht.csv > $PROC/$BASE.2.wav.ht.csv
    cp $f.cfg $PROC/$BASE.2.wav.cfg
    
    for cond in $conditions;do