Loading tests/test_enc_passthrough.py +117 −72 Original line number Diff line number Diff line Loading @@ -32,90 +32,135 @@ __doc__ = """ Execute tests specified via a parameter file. """ import pytest import glob from pathlib import Path from tests.codec_be_on_mr_nonselection.test_param_file import run_test from tests.conftest import DecoderFrontend, EncoderFrontend from tests.constants import SCRIPTS_DIR import os.path BITRATES = [13200, 16400, 24400, 32000, 48000, 64000, 80000, 96000, 128000, 160000, 192000, 256000, 384000, 512000] BW = [16, 32, 48] FORMAT = [ ("STEREO","-stereo","stvST{bw}c.wav","STEREO"), ("SBA1","-sba 1", "stvFOA{bw}c.wav","FOA"), ("SBA2","-sba 2", "stv2OA{bw}c.wav","HOA2"), ("SBA3","-sba 3", "stv3OA{bw}c.wav","HOA3"), ("MC-5_1","-mc 5_1", "stv51MC{bw}c.wav","5_1"), ("MC-5_1_2","-mc 5_1_2", "stv512MC{bw}c.wav","5_1_2"), ("MC-5_1_4","-mc 5_1_4", "stv514MC{bw}c.wav","5_1_4"), ("MC-7_1","-mc 7_1", "stv71MC{bw}c.wav","7_1"), ("MC-7_1_4","-mc 7_1_4", "stv714MC{bw}c.wav","7_1_4"), ("ISM1","-ism 1 testv/stvISM1.csv", "stv1ISM{bw}s.wav","EXT"), ("ISM2","-ism 2 testv/stvISM1.csv testv/stvISM2.csv", "stv2ISM{bw}s.wav","EXT"), ("ISM3","-ism 3 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv", "stv3ISM{bw}s.wav","EXT"), ("ISM4","-ism 4 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv", "stv4ISM{bw}s.wav","EXT"), ("MASA1-1Dir","-masa 1 testv/stv1MASA1TC48c.met","stv1MASA1TC{bw}c.wav","EXT"), ("MASA1-2Dir","-masa 1 testv/stv2MASA1TC48c.met","stv2MASA1TC{bw}c.wav","EXT"), ("MASA2-1Dir","-masa 2 testv/stv1MASA2TC48c.met","stv1MASA2TC{bw}c.wav","EXT"), ("MASA2-2Dir","-masa 2 testv/stv2MASA2TC48c.met","stv2MASA2TC{bw}c.wav","EXT"), ("OMASA-1-1-1Dir","-ism_masa 1 1 testv/stvISM1.csv testv/stv1MASA1TC48c.met","stvOMASA_1ISM_1MASA1TC{bw}c.wav","BINAURAL"), ("OMASA-2-1-1Dir","-ism_masa 2 1 testv/stvISM1.csv testv/stvISM2.csv testv/stv1MASA1TC48c.met","stvOMASA_2ISM_1MASA1TC{bw}c.wav","BINAURAL"), ("OMASA-3-1-1Dir","-ism_masa 3 1 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stv1MASA1TC48c.met","stvOMASA_3ISM_1MASA1TC{bw}c.wav","BINAURAL"), ("OMASA-4-1-1Dir","-ism_masa 4 1 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv testv/stv1MASA1TC48c.met","stvOMASA_4ISM_1MASA1TC{bw}c.wav","BINAURAL"), ("OMASA-1-2-1Dir","-ism_masa 1 2 testv/stvISM1.csv testv/stv1MASA2TC48c.met","stvOMASA_1ISM_1MASA2TC{bw}c.wav","BINAURAL"), ("OMASA-2-2-1Dir","-ism_masa 2 2 testv/stvISM1.csv testv/stvISM2.csv testv/stv1MASA2TC48c.met","stvOMASA_2ISM_1MASA2TC{bw}c.wav","BINAURAL"), ("OMASA-3-2-1Dir","-ism_masa 3 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stv1MASA2TC48c.met","stvOMASA_3ISM_1MASA2TC{bw}c.wav","BINAURAL"), ("OMASA-4-2-1Dir","-ism_masa 4 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv testv/stv1MASA2TC48c.met","stvOMASA_4ISM_1MASA2TC{bw}c.wav","BINAURAL"), ("OMASA-1-1-2Dir","-ism_masa 1 1 testv/stvISM1.csv testv/stv2MASA1TC48c.met","stvOMASA_1ISM_2MASA1TC{bw}c.wav","BINAURAL"), ("OMASA-2-1-2Dir","-ism_masa 2 1 testv/stvISM1.csv testv/stvISM2.csv testv/stv2MASA1TC48c.met","stvOMASA_2ISM_2MASA1TC{bw}c.wav","BINAURAL"), ("OMASA-3-1-2Dir","-ism_masa 3 1 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stv2MASA1TC48c.met","stvOMASA_3ISM_2MASA1TC{bw}c.wav","BINAURAL"), ("OMASA-4-1-2Dir","-ism_masa 4 1 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv testv/stv2MASA1TC48c.met","stvOMASA_4ISM_2MASA1TC{bw}c.wav","BINAURAL"), ("OMASA-1-2-2Dir","-ism_masa 1 2 testv/stvISM1.csv testv/stv2MASA2TC48c.met","stvOMASA_1ISM_2MASA2TC{bw}c.wav","BINAURAL"), ("OMASA-2-2-2Dir","-ism_masa 2 2 testv/stvISM1.csv testv/stvISM2.csv testv/stv2MASA2TC48c.met","stvOMASA_2ISM_2MASA2TC{bw}c.wav","BINAURAL"), ("OMASA-3-2-2Dir","-ism_masa 3 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stv2MASA2TC48c.met","stvOMASA_3ISM_2MASA2TC{bw}c.wav","BINAURAL"), ("OMASA-4-2-2Dir","-ism_masa 4 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv testv/stv2MASA2TC48c.met","stvOMASA_4ISM_2MASA2TC{bw}c.wav","BINAURAL"), # OSBA only supported for HOA3 in ivas-float-update for now # ("OSBA-1-1","-ism_sba 1 1 testv/stvISM1.csv","stvOSBA_1ISM_FOA{bw}c.wav", "EXT"), # ("OSBA-2-1","-ism_sba 2 1 testv/stvISM1.csv testv/stvISM2.csv","stvOSBA_2ISM_FOA{bw}c.wav", "EXT"), # ("OSBA-3-1","-ism_sba 3 1 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv","stvOSBA_3ISM_FOA{bw}c.wav", "EXT"), # ("OSBA-4-1","-ism_sba 4 1 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv", "stvOSBA_4ISM_FOA{bw}c.wav", "EXT"), # ("OSBA-1-2","-ism_sba 1 2 testv/stvISM1.csv","stvOSBA_1ISM_2OA{bw}c.wav", "EXT"), # ("OSBA-2-2","-ism_sba 2 2 testv/stvISM1.csv testv/stvISM2.csv","stvOSBA_2ISM_2OA{bw}c.wav", "EXT"), # ("OSBA-3-2","-ism_sba 3 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv","stvOSBA_3ISM_2OA{bw}c.wav", "EXT"), # ("OSBA-4-2","-ism_sba 4 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv", "stvOSBA_4ISM_2OA{bw}c.wav", "EXT"), ("OSBA-1-3","-ism_sba 1 3 testv/stvISM1.csv","stvOSBA_1ISM_3OA{bw}c.wav", "EXT"), ("OSBA-2-3","-ism_sba 2 3 testv/stvISM1.csv testv/stvISM2.csv","stvOSBA_2ISM_3OA{bw}c.wav", "EXT"), ("OSBA-3-3","-ism_sba 3 3 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv","stvOSBA_3ISM_3OA{bw}c.wav", "EXT"), ("OSBA-4-3","-ism_sba 4 3 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv", "stvOSBA_4ISM_3OA{bw}c.wav", "EXT"), ] from tests.constants import TESTV_DIR NUMBER_OF_MASA_TCS = 2 NUMBER_OF_MASA_DIRS = 2 NUMBER_OF_SBA_ORDERS = 3 NUMBER_OF_OBJECTS = 4 test_dict = {} for fmt, in_fmt, in_file, out_fmt in FORMAT: for br in BITRATES: for bw in BW: sim_opts = "" eid_opts = "" testv_files = [Path(f).name for f in glob.glob(str(TESTV_DIR.joinpath("*.wav")))] # Stereo fmt = "STEREO" in_fmt = "-stereo" out_fmt = "STEREO" in_file = "stvST{bw}c.wav" for br in [13200, 16400, 24400, 32000, 48000, 64000, 80000, 96000, 128000, 160000, 192000, 256000]: for bw in [16, 32, 48]: tag = f"{fmt}-{br}-{bw}" enc_opts = f"{in_fmt} {br} {bw} testv/{in_file.format(bw=bw)} bit" dec_opts = f"{out_fmt} {bw} bit out.wav" test_dict[tag] = (enc_opts, dec_opts, sim_opts, eid_opts) # Filter out unsupported bitrate combinations if fmt == "STEREO" and br > 256000: # SBA fmt = "SBA{order}" in_fmt = "-sba {order}" out_fmt = ["FOA","HOA2","HOA3"] in_file = ["stvFOA{bw}c.wav", "stv2OA{bw}c.wav", "stv3OA{bw}c.wav"] for br in [13200, 16400, 24400, 32000, 48000, 64000, 80000, 96000, 128000, 160000, 192000, 256000, 384000, 512000]: for bw in [16, 32, 48]: for order in range(1, NUMBER_OF_SBA_ORDERS + 1): tag = f"{fmt.format(order=order)}-{br}-{bw}" enc_opts = f"{in_fmt.format(order=order)} {br} {bw} testv/{in_file[order-1].format(bw=bw)} bit" dec_opts = f"{out_fmt[order-1]} {bw} bit out.wav" test_dict[tag] = (enc_opts, dec_opts, sim_opts, eid_opts) # MC fmt = "MC-{conf}" in_fmt = "-mc {conf}" out_fmt = ["5_1","5_1_2","5_1_4","7_1","7_1_4"] in_file = ["stv51MC{bw}c.wav", "stv512MC{bw}c.wav", "stv514MC{bw}c.wav", "stv71MC{bw}c.wav", "stv714MC{bw}c.wav"] for br in [13200, 16400, 24400, 32000, 48000, 64000, 80000, 96000, 128000, 160000, 192000, 256000, 384000, 512000]: for bw in [32, 48]: for c in range(len(out_fmt)): if in_file[c].format(bw=bw) not in testv_files: continue if fmt == "ISM1" and br > 128000: tag = f"{fmt.format(conf=out_fmt[c])}-{br}-{bw}" enc_opts = f"{in_fmt.format(conf=out_fmt[c])} {br} {bw} testv/{in_file[c].format(bw=bw)} bit" dec_opts = f"{out_fmt[c]} {bw} bit out.wav" test_dict[tag] = (enc_opts, dec_opts, sim_opts, eid_opts) # ISM fmt = "ISM{obj}" in_fmt = "-ism {obj}" out_fmt = "EXT" for br in [13200, 16400, 24400, 32000, 48000, 64000, 80000, 96000, 128000, 160000, 192000, 256000, 384000, 512000]: for bw in [48]: for obj in range(1, NUMBER_OF_OBJECTS + 1): if obj == 1 and br > 128000: continue if fmt == "ISM2" and (br < 16400 or br > 256000): if obj == 2 and (br < 16400 or br > 256000): continue if fmt == "ISM3" and (br < 24400 or br > 384000): if obj == 3 and (br < 24400 or br > 384000): continue if fmt == "ISM4" and br < 24400: if obj == 4 and br < 24400: continue meta = " ".join([f"testv/stvISM{o}.csv" for o in range(1, obj + 1)]) infile = f"stv{obj}ISM{bw}s.wav" tag = f"{fmt.format(obj=obj)}-{br}-{bw}" enc_opts = f"{in_fmt.format(obj=obj)} {meta} {br} {bw} testv/{infile} bit" dec_opts = f"{out_fmt} {bw} bit out.wav" test_dict[tag] = (enc_opts, dec_opts, sim_opts, eid_opts) # MASA fmt = "MASA{tc}-{dir}Dir" in_fmt = "-masa {tc}" out_fmt = "EXT" for br in [13200, 16400, 24400, 32000, 48000, 64000, 80000, 96000, 128000, 160000, 192000, 256000, 384000, 512000]: for bw in [16, 32, 48]: for tc in range(1, NUMBER_OF_MASA_TCS + 1): for dir in range(1, NUMBER_OF_MASA_DIRS + 1): meta = f"testv/stv{dir}MASA{tc}TC{bw}c.met" infile = f"stv{dir}MASA{tc}TC{bw}c.wav" tag = f"{fmt.format(tc=tc, dir=dir)}-{br}-{bw}" enc_opts = f"{in_fmt.format(tc=tc)} {meta} {br} {bw} testv/{infile} bit" dec_opts = f"{out_fmt} {bw} bit out.wav" test_dict[tag] = (enc_opts, dec_opts, sim_opts, eid_opts) # Filter out cases where the input file does not exist for this bandwidth if not os.path.isfile(os.path.join(SCRIPTS_DIR, f"testv/{in_file.format(bw=bw)}")): # OMASA fmt = "OMASA-{obj}-{tc}-{dir}Dir" in_fmt = "-ism_masa {obj} {tc}" #out_fmt = "EXT" out_fmt = "BINAURAL" for br in [13200, 16400, 24400, 32000, 48000, 64000, 80000, 96000, 128000, 160000, 192000, 256000, 384000, 512000]: for bw in [32, 48]: for tc in range(1, NUMBER_OF_MASA_TCS + 1): for dir in range(1, NUMBER_OF_MASA_DIRS + 1): for obj in range(1, NUMBER_OF_OBJECTS + 1): infile = f"stvOMASA_{obj}ISM_{dir}MASA{tc}TC{bw}c.wav" if infile not in testv_files: continue meta = " ".join([f"testv/stvISM{o}.csv" for o in range(1, obj + 1)]) meta = meta + f" testv/stv{dir}MASA{tc}TC{bw}c.met" tag = f"{fmt.format(obj=obj, tc=tc, dir=dir)}-{br}-{bw}" enc_opts = f"{in_fmt.format(obj=obj, tc=tc)} {meta} {br} {bw} testv/{infile} bit" dec_opts = f"{out_fmt} {bw} bit out.wav" test_dict[tag] = (enc_opts, dec_opts, sim_opts, eid_opts) tag = f"{fmt}-{br}-{bw}" enc_opts = f"{in_fmt} {br} {bw} testv/{in_file.format(bw=bw)} bit" # OSBA fmt = "OSBA-{obj}-{order}" in_fmt = "-ism_sba {obj} {order}" out_fmt = "EXT" in_file = ["stvOSBA_{obj}ISM_FOA{bw}c.wav","stvOSBA_{obj}ISM_2OA{bw}c.wav","stvOSBA_{obj}ISM_3OA{bw}c.wav"] for br in [13200, 16400, 24400, 32000, 48000, 64000, 80000, 96000, 128000, 160000, 192000, 256000, 384000, 512000]: for bw in [16, 32, 48]: #for order in range(1, NUMBER_OF_SBA_ORDERS + 1): for order in [3]: # Currently only HOA3 output supported for obj in range(1, NUMBER_OF_OBJECTS + 1): meta = " ".join([f"testv/stvISM{o}.csv" for o in range(1, obj + 1)]) tag = f"{fmt.format(obj=obj, order=order)}-{br}-{bw}" enc_opts = f"{in_fmt.format(obj=obj,order=order)} {meta} {br} {bw} testv/{in_file[order-1].format(obj=obj, bw=bw)} bit" dec_opts = f"{out_fmt} {bw} bit out.wav" sim_opts = "" eid_opts = "" test_dict[tag] = (enc_opts, dec_opts, sim_opts, eid_opts) Loading Loading
tests/test_enc_passthrough.py +117 −72 Original line number Diff line number Diff line Loading @@ -32,90 +32,135 @@ __doc__ = """ Execute tests specified via a parameter file. """ import pytest import glob from pathlib import Path from tests.codec_be_on_mr_nonselection.test_param_file import run_test from tests.conftest import DecoderFrontend, EncoderFrontend from tests.constants import SCRIPTS_DIR import os.path BITRATES = [13200, 16400, 24400, 32000, 48000, 64000, 80000, 96000, 128000, 160000, 192000, 256000, 384000, 512000] BW = [16, 32, 48] FORMAT = [ ("STEREO","-stereo","stvST{bw}c.wav","STEREO"), ("SBA1","-sba 1", "stvFOA{bw}c.wav","FOA"), ("SBA2","-sba 2", "stv2OA{bw}c.wav","HOA2"), ("SBA3","-sba 3", "stv3OA{bw}c.wav","HOA3"), ("MC-5_1","-mc 5_1", "stv51MC{bw}c.wav","5_1"), ("MC-5_1_2","-mc 5_1_2", "stv512MC{bw}c.wav","5_1_2"), ("MC-5_1_4","-mc 5_1_4", "stv514MC{bw}c.wav","5_1_4"), ("MC-7_1","-mc 7_1", "stv71MC{bw}c.wav","7_1"), ("MC-7_1_4","-mc 7_1_4", "stv714MC{bw}c.wav","7_1_4"), ("ISM1","-ism 1 testv/stvISM1.csv", "stv1ISM{bw}s.wav","EXT"), ("ISM2","-ism 2 testv/stvISM1.csv testv/stvISM2.csv", "stv2ISM{bw}s.wav","EXT"), ("ISM3","-ism 3 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv", "stv3ISM{bw}s.wav","EXT"), ("ISM4","-ism 4 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv", "stv4ISM{bw}s.wav","EXT"), ("MASA1-1Dir","-masa 1 testv/stv1MASA1TC48c.met","stv1MASA1TC{bw}c.wav","EXT"), ("MASA1-2Dir","-masa 1 testv/stv2MASA1TC48c.met","stv2MASA1TC{bw}c.wav","EXT"), ("MASA2-1Dir","-masa 2 testv/stv1MASA2TC48c.met","stv1MASA2TC{bw}c.wav","EXT"), ("MASA2-2Dir","-masa 2 testv/stv2MASA2TC48c.met","stv2MASA2TC{bw}c.wav","EXT"), ("OMASA-1-1-1Dir","-ism_masa 1 1 testv/stvISM1.csv testv/stv1MASA1TC48c.met","stvOMASA_1ISM_1MASA1TC{bw}c.wav","BINAURAL"), ("OMASA-2-1-1Dir","-ism_masa 2 1 testv/stvISM1.csv testv/stvISM2.csv testv/stv1MASA1TC48c.met","stvOMASA_2ISM_1MASA1TC{bw}c.wav","BINAURAL"), ("OMASA-3-1-1Dir","-ism_masa 3 1 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stv1MASA1TC48c.met","stvOMASA_3ISM_1MASA1TC{bw}c.wav","BINAURAL"), ("OMASA-4-1-1Dir","-ism_masa 4 1 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv testv/stv1MASA1TC48c.met","stvOMASA_4ISM_1MASA1TC{bw}c.wav","BINAURAL"), ("OMASA-1-2-1Dir","-ism_masa 1 2 testv/stvISM1.csv testv/stv1MASA2TC48c.met","stvOMASA_1ISM_1MASA2TC{bw}c.wav","BINAURAL"), ("OMASA-2-2-1Dir","-ism_masa 2 2 testv/stvISM1.csv testv/stvISM2.csv testv/stv1MASA2TC48c.met","stvOMASA_2ISM_1MASA2TC{bw}c.wav","BINAURAL"), ("OMASA-3-2-1Dir","-ism_masa 3 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stv1MASA2TC48c.met","stvOMASA_3ISM_1MASA2TC{bw}c.wav","BINAURAL"), ("OMASA-4-2-1Dir","-ism_masa 4 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv testv/stv1MASA2TC48c.met","stvOMASA_4ISM_1MASA2TC{bw}c.wav","BINAURAL"), ("OMASA-1-1-2Dir","-ism_masa 1 1 testv/stvISM1.csv testv/stv2MASA1TC48c.met","stvOMASA_1ISM_2MASA1TC{bw}c.wav","BINAURAL"), ("OMASA-2-1-2Dir","-ism_masa 2 1 testv/stvISM1.csv testv/stvISM2.csv testv/stv2MASA1TC48c.met","stvOMASA_2ISM_2MASA1TC{bw}c.wav","BINAURAL"), ("OMASA-3-1-2Dir","-ism_masa 3 1 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stv2MASA1TC48c.met","stvOMASA_3ISM_2MASA1TC{bw}c.wav","BINAURAL"), ("OMASA-4-1-2Dir","-ism_masa 4 1 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv testv/stv2MASA1TC48c.met","stvOMASA_4ISM_2MASA1TC{bw}c.wav","BINAURAL"), ("OMASA-1-2-2Dir","-ism_masa 1 2 testv/stvISM1.csv testv/stv2MASA2TC48c.met","stvOMASA_1ISM_2MASA2TC{bw}c.wav","BINAURAL"), ("OMASA-2-2-2Dir","-ism_masa 2 2 testv/stvISM1.csv testv/stvISM2.csv testv/stv2MASA2TC48c.met","stvOMASA_2ISM_2MASA2TC{bw}c.wav","BINAURAL"), ("OMASA-3-2-2Dir","-ism_masa 3 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stv2MASA2TC48c.met","stvOMASA_3ISM_2MASA2TC{bw}c.wav","BINAURAL"), ("OMASA-4-2-2Dir","-ism_masa 4 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv testv/stv2MASA2TC48c.met","stvOMASA_4ISM_2MASA2TC{bw}c.wav","BINAURAL"), # OSBA only supported for HOA3 in ivas-float-update for now # ("OSBA-1-1","-ism_sba 1 1 testv/stvISM1.csv","stvOSBA_1ISM_FOA{bw}c.wav", "EXT"), # ("OSBA-2-1","-ism_sba 2 1 testv/stvISM1.csv testv/stvISM2.csv","stvOSBA_2ISM_FOA{bw}c.wav", "EXT"), # ("OSBA-3-1","-ism_sba 3 1 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv","stvOSBA_3ISM_FOA{bw}c.wav", "EXT"), # ("OSBA-4-1","-ism_sba 4 1 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv", "stvOSBA_4ISM_FOA{bw}c.wav", "EXT"), # ("OSBA-1-2","-ism_sba 1 2 testv/stvISM1.csv","stvOSBA_1ISM_2OA{bw}c.wav", "EXT"), # ("OSBA-2-2","-ism_sba 2 2 testv/stvISM1.csv testv/stvISM2.csv","stvOSBA_2ISM_2OA{bw}c.wav", "EXT"), # ("OSBA-3-2","-ism_sba 3 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv","stvOSBA_3ISM_2OA{bw}c.wav", "EXT"), # ("OSBA-4-2","-ism_sba 4 2 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv", "stvOSBA_4ISM_2OA{bw}c.wav", "EXT"), ("OSBA-1-3","-ism_sba 1 3 testv/stvISM1.csv","stvOSBA_1ISM_3OA{bw}c.wav", "EXT"), ("OSBA-2-3","-ism_sba 2 3 testv/stvISM1.csv testv/stvISM2.csv","stvOSBA_2ISM_3OA{bw}c.wav", "EXT"), ("OSBA-3-3","-ism_sba 3 3 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv","stvOSBA_3ISM_3OA{bw}c.wav", "EXT"), ("OSBA-4-3","-ism_sba 4 3 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv", "stvOSBA_4ISM_3OA{bw}c.wav", "EXT"), ] from tests.constants import TESTV_DIR NUMBER_OF_MASA_TCS = 2 NUMBER_OF_MASA_DIRS = 2 NUMBER_OF_SBA_ORDERS = 3 NUMBER_OF_OBJECTS = 4 test_dict = {} for fmt, in_fmt, in_file, out_fmt in FORMAT: for br in BITRATES: for bw in BW: sim_opts = "" eid_opts = "" testv_files = [Path(f).name for f in glob.glob(str(TESTV_DIR.joinpath("*.wav")))] # Stereo fmt = "STEREO" in_fmt = "-stereo" out_fmt = "STEREO" in_file = "stvST{bw}c.wav" for br in [13200, 16400, 24400, 32000, 48000, 64000, 80000, 96000, 128000, 160000, 192000, 256000]: for bw in [16, 32, 48]: tag = f"{fmt}-{br}-{bw}" enc_opts = f"{in_fmt} {br} {bw} testv/{in_file.format(bw=bw)} bit" dec_opts = f"{out_fmt} {bw} bit out.wav" test_dict[tag] = (enc_opts, dec_opts, sim_opts, eid_opts) # Filter out unsupported bitrate combinations if fmt == "STEREO" and br > 256000: # SBA fmt = "SBA{order}" in_fmt = "-sba {order}" out_fmt = ["FOA","HOA2","HOA3"] in_file = ["stvFOA{bw}c.wav", "stv2OA{bw}c.wav", "stv3OA{bw}c.wav"] for br in [13200, 16400, 24400, 32000, 48000, 64000, 80000, 96000, 128000, 160000, 192000, 256000, 384000, 512000]: for bw in [16, 32, 48]: for order in range(1, NUMBER_OF_SBA_ORDERS + 1): tag = f"{fmt.format(order=order)}-{br}-{bw}" enc_opts = f"{in_fmt.format(order=order)} {br} {bw} testv/{in_file[order-1].format(bw=bw)} bit" dec_opts = f"{out_fmt[order-1]} {bw} bit out.wav" test_dict[tag] = (enc_opts, dec_opts, sim_opts, eid_opts) # MC fmt = "MC-{conf}" in_fmt = "-mc {conf}" out_fmt = ["5_1","5_1_2","5_1_4","7_1","7_1_4"] in_file = ["stv51MC{bw}c.wav", "stv512MC{bw}c.wav", "stv514MC{bw}c.wav", "stv71MC{bw}c.wav", "stv714MC{bw}c.wav"] for br in [13200, 16400, 24400, 32000, 48000, 64000, 80000, 96000, 128000, 160000, 192000, 256000, 384000, 512000]: for bw in [32, 48]: for c in range(len(out_fmt)): if in_file[c].format(bw=bw) not in testv_files: continue if fmt == "ISM1" and br > 128000: tag = f"{fmt.format(conf=out_fmt[c])}-{br}-{bw}" enc_opts = f"{in_fmt.format(conf=out_fmt[c])} {br} {bw} testv/{in_file[c].format(bw=bw)} bit" dec_opts = f"{out_fmt[c]} {bw} bit out.wav" test_dict[tag] = (enc_opts, dec_opts, sim_opts, eid_opts) # ISM fmt = "ISM{obj}" in_fmt = "-ism {obj}" out_fmt = "EXT" for br in [13200, 16400, 24400, 32000, 48000, 64000, 80000, 96000, 128000, 160000, 192000, 256000, 384000, 512000]: for bw in [48]: for obj in range(1, NUMBER_OF_OBJECTS + 1): if obj == 1 and br > 128000: continue if fmt == "ISM2" and (br < 16400 or br > 256000): if obj == 2 and (br < 16400 or br > 256000): continue if fmt == "ISM3" and (br < 24400 or br > 384000): if obj == 3 and (br < 24400 or br > 384000): continue if fmt == "ISM4" and br < 24400: if obj == 4 and br < 24400: continue meta = " ".join([f"testv/stvISM{o}.csv" for o in range(1, obj + 1)]) infile = f"stv{obj}ISM{bw}s.wav" tag = f"{fmt.format(obj=obj)}-{br}-{bw}" enc_opts = f"{in_fmt.format(obj=obj)} {meta} {br} {bw} testv/{infile} bit" dec_opts = f"{out_fmt} {bw} bit out.wav" test_dict[tag] = (enc_opts, dec_opts, sim_opts, eid_opts) # MASA fmt = "MASA{tc}-{dir}Dir" in_fmt = "-masa {tc}" out_fmt = "EXT" for br in [13200, 16400, 24400, 32000, 48000, 64000, 80000, 96000, 128000, 160000, 192000, 256000, 384000, 512000]: for bw in [16, 32, 48]: for tc in range(1, NUMBER_OF_MASA_TCS + 1): for dir in range(1, NUMBER_OF_MASA_DIRS + 1): meta = f"testv/stv{dir}MASA{tc}TC{bw}c.met" infile = f"stv{dir}MASA{tc}TC{bw}c.wav" tag = f"{fmt.format(tc=tc, dir=dir)}-{br}-{bw}" enc_opts = f"{in_fmt.format(tc=tc)} {meta} {br} {bw} testv/{infile} bit" dec_opts = f"{out_fmt} {bw} bit out.wav" test_dict[tag] = (enc_opts, dec_opts, sim_opts, eid_opts) # Filter out cases where the input file does not exist for this bandwidth if not os.path.isfile(os.path.join(SCRIPTS_DIR, f"testv/{in_file.format(bw=bw)}")): # OMASA fmt = "OMASA-{obj}-{tc}-{dir}Dir" in_fmt = "-ism_masa {obj} {tc}" #out_fmt = "EXT" out_fmt = "BINAURAL" for br in [13200, 16400, 24400, 32000, 48000, 64000, 80000, 96000, 128000, 160000, 192000, 256000, 384000, 512000]: for bw in [32, 48]: for tc in range(1, NUMBER_OF_MASA_TCS + 1): for dir in range(1, NUMBER_OF_MASA_DIRS + 1): for obj in range(1, NUMBER_OF_OBJECTS + 1): infile = f"stvOMASA_{obj}ISM_{dir}MASA{tc}TC{bw}c.wav" if infile not in testv_files: continue meta = " ".join([f"testv/stvISM{o}.csv" for o in range(1, obj + 1)]) meta = meta + f" testv/stv{dir}MASA{tc}TC{bw}c.met" tag = f"{fmt.format(obj=obj, tc=tc, dir=dir)}-{br}-{bw}" enc_opts = f"{in_fmt.format(obj=obj, tc=tc)} {meta} {br} {bw} testv/{infile} bit" dec_opts = f"{out_fmt} {bw} bit out.wav" test_dict[tag] = (enc_opts, dec_opts, sim_opts, eid_opts) tag = f"{fmt}-{br}-{bw}" enc_opts = f"{in_fmt} {br} {bw} testv/{in_file.format(bw=bw)} bit" # OSBA fmt = "OSBA-{obj}-{order}" in_fmt = "-ism_sba {obj} {order}" out_fmt = "EXT" in_file = ["stvOSBA_{obj}ISM_FOA{bw}c.wav","stvOSBA_{obj}ISM_2OA{bw}c.wav","stvOSBA_{obj}ISM_3OA{bw}c.wav"] for br in [13200, 16400, 24400, 32000, 48000, 64000, 80000, 96000, 128000, 160000, 192000, 256000, 384000, 512000]: for bw in [16, 32, 48]: #for order in range(1, NUMBER_OF_SBA_ORDERS + 1): for order in [3]: # Currently only HOA3 output supported for obj in range(1, NUMBER_OF_OBJECTS + 1): meta = " ".join([f"testv/stvISM{o}.csv" for o in range(1, obj + 1)]) tag = f"{fmt.format(obj=obj, order=order)}-{br}-{bw}" enc_opts = f"{in_fmt.format(obj=obj,order=order)} {meta} {br} {bw} testv/{in_file[order-1].format(obj=obj, bw=bw)} bit" dec_opts = f"{out_fmt} {bw} bit out.wav" sim_opts = "" eid_opts = "" test_dict[tag] = (enc_opts, dec_opts, sim_opts, eid_opts) Loading