Commit 7b40da95 authored by norvell's avatar norvell
Browse files

Merge branch 'ci/update-basop-ci-branch' into 'basop-ci-branch'

[BASOP CI] Adds encoder parameter testing and reverb test cases

See merge request !1793
parents 93d663d0 3419f8c2
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -61,9 +61,13 @@ TESTCASES = [
    "Multi-channel 5_1 at 512 kbps, 48kHz in 48kHz out, BINAURAL_ROOM_REVERB out custom acoustic environment with a sequence (CREND)",
    "Multi-channel 5_1 at 64 kbps, 48kHz in 48kHz out, BINAURAL_ROOM_REVERB out custom acoustic environment with a sequence (FastConv)",
    "Multi-channel 5_1 at 32 kbps, 48kHz in 48kHz out, BINAURAL_ROOM_REVERB out custom acoustic environment with a sequence (ParamBin)",
    "MASA 1dir 1TC at 256 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out, HR custom configuration",
    "MASA 1dir 1 TC at 256kbps, 48kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out custom configuration",
    "MASA 1dir 1TC at 256kbps, 48kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out custom configuration",
]



def remove_testcases(cfg: Path, testcases: list):
    """
    Go through file line by line and copy all testcases except the given ones
+72 −0
Original line number Diff line number Diff line
@@ -567,6 +567,11 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g1
../IVAS_cod -ism 4 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv 128000 48 testv/stv4ISM48n.wav bit
../IVAS_dec -render_config testv/rend_config_combined.cfg -dpid 3 0 2 1 BINAURAL_ROOM_REVERB 48 bit testv/stv4ISM48n+combined_render_config_brate_128000-48-binaural_room_reverb.wav

// 4 ISM with extended metadata at 128 kbps, 48 kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out
../IVAS_cod -ism 4 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv 128000 48 testv/stv4ISM48n.wav bit
../IVAS_dec BINAURAL_ROOM_REVERB 48 bit testv/stv4ISM48n.wav_BINAURAL_ROOM_REVERB_128000_48-48.tst



// SBA at 13.2 kbps, 32kHz in, 32kHz out, HOA3 out, bandwidth switching
../IVAS_cod -max_band testv/ivas_bws_20fr_start_WB.txt -sba 3 13200 32 testv/stv3OA32c.wav bit
@@ -936,6 +941,15 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g1
eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g192 bit_error
../IVAS_dec EXT 48 bit_error testv/stv3OA48c.wav_sw_48-48_DTX_EXT_FER5.tst

// SBA 3OA at 96 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out default configuration
../IVAS_cod -sba 3 512000 48 testv/stv3OA48c.wav bit
../IVAS_dec BINAURAL_ROOM_REVERB 48 bit testv/stv3OA48c.wav_BINAURAL_ROOM_REVERB_96000_48-48.tst

// SBA 3OA 4ISM at 96 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out custom configuration
../IVAS_cod -sba 3 96000 48 testv/stv3OA48c.wav bit
../IVAS_dec -render_config testv/rend_config_recreation.cfg BINAURAL_ROOM_REVERB 48 bit testv/stv3OA48c.wav_BINAURAL_ROOM_REVERB_96000_48-48_custom_configuration.tst


// MASA 1dir 1TC at 13.2 kbps, 48kHz in, 48kHz out, BINAURAL out, bandwidth switching
../IVAS_cod -max_band testv/ivas_bws_20fr_start_SWB.txt -masa 1 testv/stv1MASA1TC48c.met 13200 48 testv/stv1MASA1TC48c.wav bit
../IVAS_dec BINAURAL 48 bit testv/stv1MASA1TC48c.wav_13200_48-48_BINAURAL.tst
@@ -1201,6 +1215,30 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g1
eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g192 bit_error
../IVAS_dec BINAURAL 48 bit_error testv/stv1MASA2TC48n.wav_sw_48-48_DTX_BINAURAL_FER5.tst

// MASA 1dir 1TC at 256kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out default configuration
../IVAS_cod -masa 1 testv/stv1MASA1TC48c.met 256000 48 testv/stv1MASA1TC48c.wav bit
../IVAS_dec BINAURAL_ROOM_REVERB 48 bit testv/stv1MASA1TC48c.wav_BINAURAL_ROOM_REVERB_256000_48-48.tst

// MASA 1dir 1 TC at 256kbps, 48kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out custom configuration
../IVAS_cod -masa 1 testv/stv1MASA1TC48c.met 256000 48 testv/stv1MASA1TC48c.wav bit
../IVAS_dec -render_config testv/rend_config_combined.cfg BINAURAL_ROOM_REVERB 48 bit testv/stv1MASA1TC48c.wav_BINAURAL_ROOM_REVERB_256000_48-48_custom_config.tst

// MASA 1dir 1TC at 256kbps, 48kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out default configuration, random FER at 5%
../IVAS_cod -masa 1 testv/stv1MASA1TC48c.met 256000 48 testv/stv1MASA1TC48c.wav bit
eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g192 bit_error
../IVAS_dec BINAURAL_ROOM_REVERB 48 bit_error testv/stv1MASA1TC48c.wav_256000_48-48_BINAURAL_ROOM_REVERB_FER5.tst

// MASA 1dir 1TC at 256kbps, 48kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out custom configuration
../IVAS_cod -masa 1 testv/stv1MASA1TC48c.met 256000 48 testv/stv1MASA1TC48c.wav bit
../IVAS_dec -render_config testv/rend_config_combined.cfg BINAURAL_ROOM_REVERB 48 bit testv/stv1MASA1TC48c.wav_256000_48-48_BINAURAL_ROOM_REVERB_FER5_custom_config.tst

// MASA 1dir 1TC at 256 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out, HR deafult configuration
../IVAS_cod -masa 1 testv/stv1MASA1TC48c.met 256000 48 testv/stv1MASA1TC48c.wav bit
../IVAS_dec -t testv/headrot.csv BINAURAL_ROOM_REVERB 48 bit testv/stv1MASA1TC48c.wav_BINAURAL_ROOM_REVERB_256000_48-48_Headrot.tst

// MASA 1dir 1TC at 256 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out, HR custom configuration
../IVAS_cod -masa 1 testv/stv1MASA1TC48c.met 256000 48 testv/stv1MASA1TC48c.wav bit
../IVAS_dec -render_config testv/rend_config_combined.cfg -t testv/headrot.csv BINAURAL_ROOM_REVERB 48 bit testv/stv1MASA1TC48c.wav_BINAURAL_ROOM_REVERB_256000_48-48_Headrot_custom_config.tst


// Multi-channel 5_1 at 13.2 kbps, 48kHz in, 48kHz out
@@ -1315,10 +1353,26 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g1
../IVAS_cod -mc 5_1 24400 48 testv/stv51MC48c.wav bit
../IVAS_dec MONO 48 bit testv/stv51MC48c.wav_MC51_24400_48-48_MONO.tst

// Multi-channel 5_1 at 512 kbps, 48kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out default configuration
../IVAS_cod -mc 5_1 512000 48 testv/stv51MC48c.wav bit
../IVAS_dec BINAURAL_ROOM_REVERB 48 bit testv/stv51MC48c.wav_BINAURAL_ROOM_REVERB_512000_48-48.tst

// Multi-channel 5_1_4 at 48 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_IR out, HR
../IVAS_cod -mc 5_1_4 48000 48 testv/stv514MC48c.wav bit
../IVAS_dec -t testv/headrot.csv BINAURAL_ROOM_IR 48 bit testv/stv514MC48c.wav_MC514_48000_48-48_BinauralRoom_Headrot.tst

// Multi-channel 5_1_4 at 512 kbps, 48kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out default configuration
../IVAS_cod -mc 5_1_4 512000 48 testv/stv514MC48c.wav bit
../IVAS_dec BINAURAL_ROOM_REVERB 48 bit testv/stv51MC48c.wav_BINAURAL_ROOM_REVERB_512000_48-48.tst

// Multi-channel 7_1_4 at 160 kbps, 48kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out default configuration
../IVAS_cod -mc 7_1_4 160000 48 testv/stv714MC48c.wav bit
../IVAS_dec BINAURAL_ROOM_REVERB 48 bit testv/stv71MC48c.wav_BINAURAL_ROOM_REVERB_160000_48-48.tst

// Multi-channel 7_1_4 at 512 kbps, 48kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out default configuration
../IVAS_cod -mc 7_1_4 512000 48 testv/stv714MC48c.wav bit
../IVAS_dec BINAURAL_ROOM_REVERB 48 bit testv/stv71MC48c.wav_BINAURAL_ROOM_REVERB_512000_48-48.tst

// Multi-channel 7_1_4 at 48 kbps, 48kHz in, 48kHz out, MONO out, bandwidth switching
../IVAS_cod -max_band testv/ivas_bws_20fr_start_SWB.txt -mc 7_1_4 48000 48 testv/stv714MC48c.wav bit
../IVAS_dec MONO 48 bit testv/stv714MC48c.wav_MC714_48000_48-48_Mono_bwsw.tst
@@ -1619,7 +1673,13 @@ networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit
networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0
../IVAS_dec -Tracefile tracefile_dec -VOIP EXT 48 netsimoutput testv/stvOMASA_4ISM_2MASA2TC48c.wav_EXT_256000_48-48_JBM5.tst

// OMASA 1Dir1TC 4ISM 48 kbps 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out custom configuration
../IVAS_cod -ism_masa 4 1 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv testv/stv1MASA1TC48c.met 48000 48 testv/stvOMASA_4ISM_1MASA1TC48c.wav bit
../IVAS_dec -render_config testv/rend_config_hospital_patientroom.cfg BINAURAL_ROOM_REVERB 48 bit testv/stvOMASA_4ISM_1MASA1TC48c.wav_BINAURAL_ROOM_REVERB_48000_48-48_custom_configuration.tst

// OMASA 2Dir2TC 4ISM 48 kbps 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out custom configuration
../IVAS_cod -ism_masa 4 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv testv/stv2MASA2TC48c.met 48000 48 testv/stvOMASA_4ISM_2MASA2TC48c.wav bit
../IVAS_dec -render_config testv/rend_config_hospital_patientroom.cfg BINAURAL_ROOM_REVERB 48 bit testv/stvOMASA_4ISM_2MASA2TC48c.wav_BINAURAL_ROOM_REVERB_48000_48-48_custom_configuration.tst

// EVS non-diegetic panning at 64 kbps, 48kHz in, 48kHz out, STEREO out
../IVAS_cod 64000 48 testv/stv48c.wav bit
@@ -1883,3 +1943,15 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_10pct.g
// OSBA planar 2OA 4ISM at 512 kbps, 48 kHz in, 48 kHz out, BINAURAL ROOM REVERB (Model from file) out
../IVAS_cod -ism_sba 4 -2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv 512000 48 testv/stvOSBA_4ISM_2OA48c.wav bit
../IVAS_dec -hrtf ../scripts/binauralRenderer_interface/binaural_renderers_hrtf_data/ivas_binaural_48kHz.bin BINAURAL_ROOM_REVERB 48 bit testv/stvOSBA_4ISM_p3OA48c.wav_BINAURAL_ROOM_REVERB_512000_48-48.tst

// OSBA 3OA 4ISM at 48 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out
../IVAS_cod -ism_sba 4 3 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv 48000 48 testv/stvOSBA_4ISM_3OA48c.wav bit
../IVAS_dec -render_config testv/rend_config_recreation.cfg BINAURAL_ROOM_REVERB 48 bit testv/stvOSBA_4ISM_3OA48c.wav_BINAURAL_ROOM_REVERB_48000_48-48_custom_configuration.tst

// OSBA 3OA 4ISM at 64 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out
../IVAS_cod -ism_sba 4 3 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv 64000 48 testv/stvOSBA_4ISM_3OA48c.wav bit
../IVAS_dec -render_config testv/rend_config_recreation.cfg BINAURAL_ROOM_REVERB 48 bit testv/stvOSBA_4ISM_3OA48c.wav_BINAURAL_ROOM_REVERB_64000_48-48_custom_configuration.tst

// OSBA 3OA 4ISM at 512 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out
../IVAS_cod -ism_sba 4 3 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv 512000 48 testv/stvOSBA_4ISM_3OA48c.wav bit
../IVAS_dec -render_config testv/rend_config_hospital_patientroom.cfg BINAURAL_ROOM_REVERB 48 bit testv/stvOSBA_4ISM_3OA48c.wav_BINAURAL_ROOM_REVERB_512000_48-48_custom_configuration.tst
+85 −1
Original line number Diff line number Diff line
@@ -566,6 +566,10 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g1
../IVAS_cod -ism 4 testv/ltvISM1.csv testv/ltvISM2.csv testv/ltvISM3.csv testv/ltvISM4.csv 128000 48 testv/ltv48_4ISM.wav bit
../IVAS_dec -render_config testv/rend_config_combined.cfg -dpid 0 0 0 0 BINAURAL_ROOM_REVERB 48 bit testv/ltv48_4ISM+combined_render_config_brate_128000-48-binaural_room_reverb.wav

// 4 ISM with extended metadata at 128 kbps, 48 kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out
../IVAS_cod -ism 4 testv/ltvISM1.csv testv/ltvISM2.csv testv/ltvISM3.csv testv/ltvISM4.csv 128000 48 testv/ltv48_4ISM.wav bit
../IVAS_dec BINAURAL_ROOM_REVERB 48 bit testv/ltv48_4ISM.wav_BINAURAL_ROOM_REVERB_128000-48-48.tst


// SBA at 13.2 kbps, 32kHz in, 32kHz out, HOA3 out, bandwidth switching
../IVAS_cod -max_band testv/ivas_bws_20fr_start_WB.txt -sba 3 13200 32 testv/ltv32_HOA3.wav bit
@@ -935,6 +939,14 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g1
eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g192 bit_error
../IVAS_dec EXT 48 bit_error testv/ltv48_HOA3.wav_sw_48-48_DTX_EXT_FER5.tst

// SBA 3OA at 96 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out default configuration
../IVAS_cod -sba 3 512000 48 testv/ltv48_HOA3.wav bit
../IVAS_dec BINAURAL_ROOM_REVERB 48 bit testv/ltv48_HOA3.wav_BINAURAL_ROOM_REVERB_96000_48-48.tst

// SBA 3OA 4ISM at 96 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out custom configuration
../IVAS_cod -sba 3 96000 48 testv/ltv48_HOA3.wav bit
../IVAS_dec -render_config testv/rend_config_recreation.cfg BINAURAL_ROOM_REVERB 48 bit testv/ltv48_HOA3.wav_BINAURAL_ROOM_REVERB_96000_48-48_custom_configuration.tst

// MASA 1TC at 13.2 kbps, 48kHz in, 48kHz out, BINAURAL out, bandwidth switching
../IVAS_cod -max_band testv/ivas_bws_20fr_start_SWB.txt -masa 1 testv/ltv48_MASA1TC.met 13200 48 testv/ltv48_MASA1TC.wav bit
../IVAS_dec BINAURAL 48 bit testv/ltv48_MASA1TC.wav_13200_48-48_BINAURAL.tst
@@ -1071,6 +1083,14 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g1
eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g192 bit_error
../IVAS_dec 5_1_4 48 bit_error testv/ltv48_MASA2TC.wav_192000_48-48_5_1_4_FER5.tst

// MASA 2dir 2TC at 384 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM out
../IVAS_cod -masa 2 testv/ltv48_MASA2TC.met 384000 48 testv/ltv48_MASA2TC.wav bit
../IVAS_dec BINAURAL_ROOM_IR 48 bit testv/ltv48_MASA2TC.wav_384000_48-48_BinauralRoom.tst

// MASA 2dir 2TC at 384 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM IR out, bandwidth switching
../IVAS_cod -max_band testv/ivas_bws_20fr_start_WB.txt -masa 2 testv/stv2MASA2TC48c.met 384000 48 testv/stv2MASA2TC48c.wav bit
../IVAS_dec BINAURAL_ROOM_IR 48 bit testv/stv2MASA2TC48c.wav_384000_48-48_BinauralRoom_Subframe.tst

// MASA 2TC at 384 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM out
../IVAS_cod -masa 2 testv/ltv48_MASA2TC.met 384000 48 testv/ltv48_MASA2TC.wav bit
../IVAS_dec BINAURAL_ROOM_IR 48 bit testv/ltv48_MASA2TC.wav_384000_48-48_BinauralRoom_Subframe.tst
@@ -1191,6 +1211,14 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g1
../IVAS_cod -masa 2 testv/ltv48_MASA2TC.met ../scripts/switchPaths/sw_13k2_512k.bin 48 testv/ltv48_MASA2TC.wav bit
../IVAS_dec 7_1 48 bit testv/ltv48_MASA2TC.wav_sw_48-48_7_1.tst

// MASA 1TC at 256kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out default configuration
../IVAS_cod -masa 1 testv/ltv48_MASA1TC.met 256000 48 testv/ltv48_MASA1TC.wav bit
../IVAS_dec BINAURAL_ROOM_REVERB 48 bit testv/ltv48_MASA1TC.wav_BINAURAL_ROOM_REVERB_256000_48-48.tst

// MASA 1 TC at 256kbps, 48kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out custom configuration
../IVAS_cod -masa 1 testv/ltv48_MASA1TC.met 256000 48 testv/ltv48_MASA1TC.wav bit
../IVAS_dec -render_config testv/rend_config_combined.cfg BINAURAL_ROOM_REVERB 48 bit testv/ltv48_MASA1TC.wav_BINAURAL_ROOM_REVERB_256000_48-48_custom_config.tst

// MASA 2TC bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 48kHz out, BINAURAL out
../IVAS_cod -masa 2 testv/ltv48_MASA2TC.met ../scripts/switchPaths/sw_13k2_512k.bin 48 testv/ltv48_MASA2TC.wav bit
../IVAS_dec BINAURAL 48 bit testv/ltv48_MASA2TC.wav_sw_48-48_BINAURAL.tst
@@ -1201,6 +1229,24 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g1
../IVAS_dec BINAURAL 48 bit_error testv/ltv48_MASA2TC.wav_sw_48-48_DTX_BINAURAL_FER5.tst


// MASA 1TC at 256kbps, 48kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out default configuration, random FER at 5%
../IVAS_cod -masa 1 testv/ltv48_MASA1TC.met 256000 48 testv/ltv48_MASA1TC.wav bit
eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g192 bit_error
../IVAS_dec BINAURAL_ROOM_REVERB 48 bit_error testv/ltv48_MASA1TC.wav_256000_48-48_BINAURAL_ROOM_REVERB_FER5.tst

// MASA 1TC at 256kbps, 48kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out custom configuration
../IVAS_cod -masa 1 testv/ltv48_MASA1TC.met 256000 48 testv/ltv48_MASA1TC.wav bit
../IVAS_dec -render_config testv/rend_config_combined.cfg BINAURAL_ROOM_REVERB 48 bit testv/ltv48_MASA1TC.wav_256000_48-48_BINAURAL_ROOM_REVERB_FER5_custom_config.tst

// MASA 1TC at 256 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out, HR deafult configuration
../IVAS_cod -masa 1 testv/ltv48_MASA1TC.met 256000 48 testv/ltv48_MASA1TC.wav bit
../IVAS_dec -t testv/headrot.csv BINAURAL_ROOM_REVERB 48 bit testv/ltv48_MASA1TC.wav_BINAURAL_ROOM_REVERB_256000_48-48_Headrot.tst

// MASA 1dir 1TC at 256 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out, HR custom configuration
../IVAS_cod -masa 1 testv/ltv48_MASA1TC.met 256000 48 testv/ltv48_MASA1TC.wav bit
../IVAS_dec -render_config testv/rend_config_combined.cfg -t testv/headrot.csv BINAURAL_ROOM_REVERB 48 bit testv/ltv48_MASA1TC.wav_BINAURAL_ROOM_REVERB_256000_48-48_Headrot_custom_config.tst



// Multi-channel 5_1 at 13.2 kbps, 48kHz in, 48kHz out
../IVAS_cod -mc 5_1 13200 48 testv/ltv48_MC51.wav bit
@@ -1314,10 +1360,28 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g1
../IVAS_cod -mc 5_1 24400 48 testv/ltv48_MC51.wav bit
../IVAS_dec MONO 48 bit testv/ltv48_MC51.wav_MC51_24400_48-48_MONO.tst

// Multi-channel 5_1 at 512 kbps, 48kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out default configuration
../IVAS_cod -mc 5_1 512000 48 testv/ltv48_MC51.wav bit
../IVAS_dec BINAURAL_ROOM_REVERB 48 bit testv/ltv48_MC51.wav_BINAURAL_ROOM_REVERB_512000_48-48.tst

// Multi-channel 5_1_4 at 48 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_IR out, HR
../IVAS_cod -mc 5_1_4 48000 48 testv/stv514MC48c.wav bit
../IVAS_cod -mc 5_1_4 48000 48 testv/ltv48_MC514.wav bit
../IVAS_dec -t testv/headrot.csv BINAURAL_ROOM_IR 48 bit testv/ltv48_MC514.wav_MC514_48000_48-48_BinauralRoom_Headrot.tst

// Multi-channel 5_1_4 at 512 kbps, 48kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out default configuration
../IVAS_cod -mc 5_1_4 512000 48 testv/ltv48_MC514.wav bit
../IVAS_dec BINAURAL_ROOM_REVERB 48 bit testv/ltv48_5148.wav_MC514_BINAURAL_ROOM_REVERB_512000_48-48.tst

// Multi-channel 7_1_4 at 160 kbps, 48kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out default configuration
../IVAS_cod -mc 7_1_4 160000 48 testv/ltv48_MC714.wav bit
../IVAS_dec BINAURAL_ROOM_REVERB 48 bit testv/ltv48_MC714.wav_BINAURAL_ROOM_REVERB_160000_48-48.tst

// Multi-channel 7_1_4 at 512 kbps, 48kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out default configuration
../IVAS_cod -mc 7_1_4 512000 48 testv/ltv48_MC714.wav bit
../IVAS_dec BINAURAL_ROOM_REVERB 48 bit testv/ltv48_MC714.wav_BINAURAL_ROOM_REVERB_512000_48-48.tst



// Multi-channel 7_1_4 at 48 kbps, 48kHz in, 48kHz out, MONO out, bandwidth switching
../IVAS_cod -max_band testv/ivas_bws_20fr_start_SWB.txt -mc 7_1_4 48000 48 testv/ltv48_MC714.wav bit
../IVAS_dec MONO 48 bit testv/ltv48_MC714.wav_MC714_48000_48-48_Mono_bwsw.tst
@@ -1615,6 +1679,13 @@ networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit
../IVAS_dec -Tracefile tracefile_dec -VOIP EXT 48 netsimoutput testv/ltv48_OMASA_4ISM_2TC.wav_EXT_256000_48-48_JBM5.tst


// OMASA 1Dir1TC 4ISM 48 kbps 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out custom configuration
../IVAS_cod -ism_masa 4 1 testv/ltv48_OMASA_4ISM_1TC_ISM1.csv testv/ltv48_OMASA_4ISM_1TC_ISM2.csv testv/ltv48_OMASA_4ISM_1TC_ISM3.csv testv/ltv48_OMASA_4ISM_1TC_ISM4.csv testv/ltv48_OMASA_4ISM_1TC.met 48000 48 testv/ltv48_OMASA_4ISM_1TC.wav bit
../IVAS_dec -render_config testv/rend_config_hospital_patientroom.cfg BINAURAL_ROOM_REVERB 48 bit testv/ltv48_OMASA_4ISM_1TC.wav_BINAURAL_ROOM_REVERB_48000_48-48_custom_configuration.tst

// OMASA 2Dir2TC 4ISM 48 kbps 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out custom configuration
../IVAS_cod -ism_masa 4 2 testv/ltv48_OMASA_4ISM_2TC_ISM1.csv testv/ltv48_OMASA_4ISM_2TC_ISM2.csv testv/ltv48_OMASA_4ISM_2TC_ISM3.csv testv/ltv48_OMASA_4ISM_2TC_ISM4.csv testv/ltv48_OMASA_4ISM_2TC.met 48000 48 testv/ltv48_OMASA_4ISM_2TC.wav bit
../IVAS_dec -render_config testv/rend_config_hospital_patientroom.cfg BINAURAL_ROOM_REVERB 48 bit testv/ltv48_OMASA_4ISM_2TC.wav_BINAURAL_ROOM_REVERB_48000_48-48_custom_configuration.tst

// EVS non-diegetic panning at 64 kbps, 48kHz in, 48kHz out, STEREO out
../IVAS_cod 64000 48 testv/ltv48_MONO.wav bit
@@ -1879,3 +1950,16 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_10pct.g
// OSBA planar 2OA 4ISM at 512 kbps, 48 kHz in, 48 kHz out, BINAURAL ROOM REVERB (Model from file) out
../IVAS_cod -ism_sba 4 -2 testv/ltvISM1.csv testv/ltvISM2.csv testv/ltvISM3.csv testv/ltvISM4.csv 512000 48 testv/ltv48_OSBA_4ISM_HOA2.wav bit
../IVAS_dec -hrtf ../scripts/binauralRenderer_interface/binaural_renderers_hrtf_data/ivas_binaural_48kHz.bin BINAURAL_ROOM_REVERB 48 bit testv/ltv48_OSBA_4ISM_pHOA2.wav_BINAURAL_ROOM_REVERB_512000_48-48.tst

// OSBA 3OA 4ISM at 48 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out
../IVAS_cod -ism_sba 4 3 testv/ltvISM1.csv testv/ltvISM2.csv testv/ltvISM3.csv testv/ltvISM4.csv 48000 48 testv/ltv48_OSBA_4ISM_HOA3.wav bit
../IVAS_dec -render_config testv/rend_config_recreation.cfg BINAURAL_ROOM_REVERB 48 bit testv/ltv48_OSBA_4ISM_HOA3.wav_BINAURAL_ROOM_REVERB_48000_48-48_custom_configuration.tst

// OSBA 3OA 4ISM at 64 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out
../IVAS_cod -ism_sba 4 3 testv/ltvISM1.csv testv/ltvISM2.csv testv/ltvISM3.csv testv/ltvISM4.csv 64000 48 testv/ltv48_OSBA_4ISM_HOA3.wav bit
../IVAS_dec -render_config testv/rend_config_recreation.cfg BINAURAL_ROOM_REVERB 48 bit testv/ltv48_OSBA_4ISM_HOA3.wav_BINAURAL_ROOM_REVERB_64000_48-48_custom_configuration.tst

// OSBA 3OA 4ISM at 512 kbps, 48kHz in, 48kHz out, BINAURAL_ROOM_REVERB out
../IVAS_cod -ism_sba 4 3 testv/ltvISM1.csv testv/ltvISM2.csv testv/ltvISM3.csv testv/ltvISM4.csv 512000 48 testv/ltv48_OSBA_4ISM_HOA3.wav bit
../IVAS_dec -render_config testv/rend_config_hospital_patientroom.cfg BINAURAL_ROOM_REVERB 48 bit testv/ltv48_OSBA_4ISM_HOA3.wav_BINAURAL_ROOM_REVERB_512000_48-48_custom_configuration.tst
+146 −0
Original line number Diff line number Diff line
#!/usr/bin/env python3

import argparse
import os
import sys
import json
import numpy as np


def str2num(s):
    """
    Convert string either to integer or float
    """
    try:
        return int(s)
    except ValueError:
        return float(s)


def cmp_stats_files(
    ref_stats_file, dut_stats_file, min_enc_file_length_diff=0.1, min_enc_stats_diff=0.1
) -> (int, str):
    """
    Compare two .stats files containing encoder statistics (extracted from binary files)
    """
    print(f"Comparing {os.path.basename(ref_stats_file)} between Ref and Dut ... \n")

    # open and read the .stats files
    with open(ref_stats_file, "r") as f_aux:
        ref_stats = json.load(f_aux)
        # create dictionary to map "name" to the corresponding dictionaries
        ref_stats_names = {d["name"]: d for d in ref_stats}

    with open(dut_stats_file, "r") as f_aux:
        dut_stats = json.load(f_aux)
        # create dictionary to map "name" to the corresponding dictionaries
        dut_stats_names = {d["name"]: d for d in dut_stats}

    # loop over all common aux files
    enc_test_result = 0
    enc_test_result_msg = ""
    max_total_num_diff = 0
    max_total_num_diff_ratio = 0
    for name in ref_stats_names:
        if name in dut_stats_names:
            # retrieve the dictionaries
            ref_stats_dict = ref_stats_names[name]
            dut_stats_dict = dut_stats_names[name]

            msg = f"File {name}"

            # compare the file lengths
            result_len_check = 0
            file_length = max(ref_stats_dict["length"], dut_stats_dict["length"])
            if ref_stats_dict["length"] != dut_stats_dict["length"]:
                msg += f" has different length between Ref {ref_stats_dict['length']} and DuT {dut_stats_dict['length']}"

                # check if threshold has been exceeded
                if (
                    abs(ref_stats_dict["length"] - dut_stats_dict["length"])
                    / file_length
                    > min_enc_file_length_diff
                ):
                    result_len_check = 1

            msg += ", "

            # remove the "name" and "length" keys for further processing
            del ref_stats_dict["name"]
            del dut_stats_dict["name"]
            del ref_stats_dict["length"]
            del dut_stats_dict["length"]

            # convert keys and values from string to float
            ref_hist = {str2num(i): str2num(j) for i, j in ref_stats_dict.items()}
            cut_hist = {str2num(i): str2num(j) for i, j in dut_stats_dict.items()}
            delta_ref = set(cut_hist) - set(ref_hist)
            delta_cut = set(ref_hist) - set(cut_hist)

            # append missing keys
            for item in delta_cut:
                cut_hist[item] = 0

            for item in delta_ref:
                ref_hist[item] = 0

            ref_hist = dict(sorted(ref_hist.items()))
            cut_hist = dict(sorted(cut_hist.items()))

            # caculate difference of statistics
            diff_hist = {k: cut_hist[k] - ref_hist[k] for k in ref_hist.keys()}

            # calculate the total number of differences
            total_num_diff = sum(np.abs(list(diff_hist.values())))
            total_num_diff_ratio = total_num_diff / (
                sum(ref_hist.values()) + sum(cut_hist.values())
            )

            msg += f"the total number of differences is {total_num_diff} ({(total_num_diff_ratio*100):.2f}%)"
            if total_num_diff_ratio > min_enc_stats_diff:
                result_diff_check = 1
                msg += "! "
            else:
                result_diff_check = 0
                msg += ". "

            # check if the maximum difference has been exceeded
            if total_num_diff_ratio > max_total_num_diff_ratio:
                max_total_num_diff = total_num_diff
                max_total_num_diff_ratio = total_num_diff_ratio

            # update test result
            if result_len_check or result_diff_check:
                enc_test_result = 1
                enc_test_result_msg += msg

            print(msg)

    if enc_test_result and max_total_num_diff > 0:
        msg = f"MAXIMUM ENC DIFF: {max_total_num_diff} ({(max_total_num_diff_ratio*100):.2f}%) "
        enc_test_result_msg += msg
        print(msg)

    return enc_test_result, enc_test_result_msg


if __name__ == "__main__":
    parser = argparse.ArgumentParser()

    parser.add_argument("ref_stats_file", type=str)
    parser.add_argument("dut_stats_file", type=str)
    parser.add_argument(
        "--min_enc_file_length_diff",
        type=float,
        default=0.1,
        dest="min_enc_file_length_diff",
    )
    parser.add_argument(
        "--min_enc_stats_diff", type=float, default=0.1, dest="min_enc_stats_diff"
    )
    args = parser.parse_args()

    enc_test_result, enc_test_result_msg = cmp_stats_files(**vars(args))
    print(enc_test_result_msg)

    sys.exit(enc_test_result)
+80 −5

File changed.

Preview size limit exceeded, changes collapsed.

Loading