Commit c0b7656c authored by norvell's avatar norvell
Browse files

Update of test_enc_passthrough.py

parent eae9faa0
Loading
Loading
Loading
Loading
+106 −52
Original line number Diff line number Diff line
@@ -42,39 +42,6 @@ BITRATES = [13200, 16400, 24400, 32000, 48000, 64000, 80000, 96000, 128000, 1600
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"),
@@ -91,31 +58,118 @@ FORMAT = [
]

test_dict = {}
for fmt, in_fmt, in_file, out_fmt in FORMAT:
    for br in BITRATES:
        for bw in BW:
sim_opts = ""
eid_opts = ""

            # Filter out unsupported bitrate combinations
            if fmt == "STEREO" and br > 256000:
                continue
            if fmt == "ISM1" and br > 128000:
# 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)

# 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(0,3):
            tag = f"{fmt.format(order=order+1)}-{br}-{bw}"
            enc_opts = f"{in_fmt} {br} {bw} testv/{in_file[order].format(bw=bw)} bit"
            dec_opts = f"{out_fmt[order]} {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 = ["stv51{bw}c.wav", "stv512{bw}c.wav", "stv514{bw}c.wav", "stv71{bw}c.wav", "stv714{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 c > 0 and bw == 32:
                continue # 32 kHz stv input exists only for 5_1
            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(4):
            if obj == 0 and br > 128000:
                continue
            if fmt == "ISM2" and (br < 16400 or br > 256000):
            if obj == 1 and (br < 16400 or br > 256000):
                continue
            if fmt == "ISM3" and (br < 24400 or br > 384000):
            if obj == 2 and (br < 24400 or br > 384000):
                continue
            if fmt == "ISM4" and br < 24400:
            if obj == 2 and br < 24400:
                continue
            meta = " ".join([f"testv/stvISM{o}.csv" for o in range(obj)])
            infiles = " ".join([f"testv/stv{o}ISM{bw}s.wav" for o in range(obj)])
            tag = f"{fmt.format(obj=obj+1)}-{br}-{bw}"
            enc_opts = f"{in_fmt.format(obj=obj+1)} {meta} {br} {bw} {infiles} 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)}")):
                continue
# 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(2):
            for dir in range(2):
                meta = f"testv/stv{dir+1}MASA{tc+1}TC{bw}c.met"                
                infile = f"stv{dir+1}MASA{tc+1}TC{bw}c.wav"
                tag = f"{fmt.format(tc=tc+1, dir=dir+1)}-{br}-{bw}"
                enc_opts = f"{in_fmt.format(tc=+1)} {meta} {br} {bw} {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"
# 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(2):
            for dir in range(2):
                for obj in range(4):
                    meta = " ".join([f"testv/stvISM{o}.csv" for o in range(obj)])
                    meta = meta + f" testv/stv{dir+1}MASA{tc+1}TC{bw}c.met"                
                    infile = f"stvOMASA_{obj+1}ISM_{dir+1}MASA{tc+1}TC{bw}c.wav"
                    tag = f"{fmt.format(obj=obj+1, tc=tc+1, dir=dir+1)}-{br}-{bw}"
                    enc_opts = f"{in_fmt.format(obj=obj+1, tc=+1)} {meta} {br} {bw} {infile} bit"
                    dec_opts = f"{out_fmt} {bw} bit out.wav"
                    test_dict[tag] =  (enc_opts, dec_opts, sim_opts, eid_opts)

# 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(3):
        for order in [2]: # Currently only HOA3 output supported
            for obj in range(4):
                meta = " ".join([f"testv/stvISM{o}.csv" for o in range(obj)])
                tag = f"{fmt.format(obj=obj+1, order=order+1)}-{br}-{bw}"
                enc_opts = f"{in_fmt} {meta} {br} {bw} testv/{in_file[order].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)