Loading tests/hrtf_binary_loading/constants.py +63 −11 Original line number Diff line number Diff line Loading @@ -33,7 +33,12 @@ import re from pathlib import Path from tests.renderer.constants import OUTPUT_FORMATS_BINAURAL, SCRIPTS_DIR, TESTV_DIR from tests.renderer.constants import ( LTV_DIR, OUTPUT_FORMATS_BINAURAL, SCRIPTS_DIR, TESTV_DIR, ) TESTS_DIR = Path(__file__).parent Loading @@ -51,23 +56,19 @@ DECODER_CMD = [str(TESTS_DIR.parent.parent.joinpath("IVAS_dec"))] RENDERER_CMD = [str(TESTS_DIR.parent.parent.joinpath("IVAS_rend"))] HRTF_BINARY_FILE_SAME_AS_ROM = "ivas_binaural_{}kHz.bin" HRTF_BINARY_FILE_SAME_AS_ROM_FX = "ivas_binaural_fx_{}kHz.bin" HRTF_BINARY_FILE_DIFF_FROM_ROM = "ivas_binaural_51_brir-lc_{}kHz.bin" HRTF_BINARY_FILE_DIFF_FROM_ROM_FX = "ivas_binaural_51_brir-lc_fx_{}kHz.bin" HRTF_FILES = [HRTF_BINARY_FILE_SAME_AS_ROM_FX, HRTF_BINARY_FILE_DIFF_FROM_ROM_FX] DEFAULT_BIN_FILE_FX_FLAG = 0x1000 HRTF_BINARY_FILE_DIFF_FROM_ROM = "ivas_binaural_custom_{}kHz.bin" HRTF_FILES_SAME_AS_ROM_DEFAULT = [HRTF_BINARY_FILE_SAME_AS_ROM] HRTF_FILES_SAME_AS_ROM_CUSTOM = [HRTF_BINARY_FILE_DIFF_FROM_ROM] HRTF_FILES = [HRTF_BINARY_FILE_SAME_AS_ROM, HRTF_BINARY_FILE_DIFF_FROM_ROM] HRTF_TAG_SAME_AS_ROM = "hrtf_same_as_rom" HRTF_TAG_SAME_AS_ROM_FX = "hrtf_same_as_rom_fx" HRTF_TAG_DIFF_FROM_ROM = "hrtf_diff_from_rom" HRTF_TAG_DIFF_FROM_ROM_FX = "hrtf_diff_from_rom_fx" HRTF_TAGS = [HRTF_TAG_SAME_AS_ROM_FX, HRTF_TAG_DIFF_FROM_ROM_FX] HRTF_TAGS = [HRTF_TAG_SAME_AS_ROM, HRTF_TAG_DIFF_FROM_ROM] HRTF_FILE_FOR_TAG = dict(zip(HRTF_TAGS, HRTF_FILES)) SAMPLE_RATE = ["16", "32", "48"] INPUT_FORMATS_MC = [ "5_1_2", "5_1_4", "7_1_4"] # "MONO", "STEREO", # INPUT_FORMATS_MC = ["5_1", "5_1_2", "5_1_4", "7_1", "7_1_4"] # "MONO", "STEREO", INPUT_FORMATS_MC = ["5_1", "5_1_2", "5_1_4", "7_1", "7_1_4"] # "MONO", "STEREO", INPUT_FORMATS_SBA = ["1", "2", "3"] INPUT_FORMATS_ISM = ["1", "2", "3", "4"] INPUT_FORMATS_MASA = {"tc": ["1", "2"], "dir": ["1", "2"]} Loading Loading @@ -97,6 +98,21 @@ FORMAT_TO_FILE_SBA_WOEXT = { FORMAT_TO_FILE_ISM_WOEXT = "stv{}ISM{}s_cut" FORMAT_TO_FILE_MASA_WOEXT = "stv{}MASA{}TC{}c_cut" FORMAT_TO_FILE_MC_LTV_WOEXT = { "5_1": "ltv{}_MC51", "7_1": "ltv{}_MC71", "5_1_2": "ltv{}_MC512", "5_1_4": "ltv{}_MC514", "7_1_4": "ltv{}_MC714", } FORMAT_TO_FILE_SBA_LTV_WOEXT = { "1": "ltv{}_FOA", "2": "ltv{}_HOA2", "3": "ltv{}_HOA3", } FORMAT_TO_FILE_ISM_LTV_WOEXT = "ltv{}_{}ISM" FORMAT_TO_FILE_MASA_LTV_WOEXT = "ltv{}_MASA{}TC" BITRATE_ISM = { "1": 96000, "2": 160000, Loading @@ -105,6 +121,7 @@ BITRATE_ISM = { } FORMAT_TO_METADATA_FILES = {"MASA": "stv{}MASA{}TC{}c.met", "ISM": "stvISM{}.csv"} FORMAT_TO_METADATA_FILES_LTV = {"MASA": "ltv48_MASA{}TC.met", "ISM": "ltvISM{}.csv"} FORMAT_TO_METADATA_FILES_RENDERER = { "ISM1": [str(TESTV_DIR.joinpath("stvISM1.csv"))], Loading Loading @@ -132,6 +149,26 @@ FORMAT_TO_METADATA_FILES_RENDERER = { "MASA1": [str(TESTV_DIR.joinpath("stv1MASA1TC48c.met"))], "MASA2": [str(TESTV_DIR.joinpath("stv2MASA2TC48c.met"))], } FORMAT_TO_METADATA_FILES_RENDERER_LTV = { "ISM1": [str(TESTV_DIR.joinpath("ltvISM1.csv"))], "ISM2": [ str(TESTV_DIR.joinpath("ltvISM1.csv")), str(TESTV_DIR.joinpath("ltvISM2.csv")), ], "ISM3": [ str(TESTV_DIR.joinpath("ltvISM1.csv")), str(TESTV_DIR.joinpath("ltvISM2.csv")), str(TESTV_DIR.joinpath("ltvISM3.csv")), ], "ISM4": [ str(TESTV_DIR.joinpath("ltvISM1.csv")), str(TESTV_DIR.joinpath("ltvISM2.csv")), str(TESTV_DIR.joinpath("ltvISM3.csv")), str(TESTV_DIR.joinpath("ltvISM4.csv")), ], "MASA1": [str(TESTV_DIR.joinpath("ltv48_MASA1TC.met"))], "MASA2": [str(TESTV_DIR.joinpath("ltv48_MASA2TC.met"))], } HR_TRAJECTORIES_TO_TEST = ["headrot_case00_3000_q", "headrot"] Loading Loading @@ -177,6 +214,16 @@ HRTF_READER_RENDERER_BINAURAL_MIXER_CONV = 5 HRTF_READER_RENDERER_BINAURAL_MIXER_CONV_ROOM = 6 HRTF_READER_RENDERER_BINAURAL_REVERB_ALL = 7 # HRTF_READER_RENDERER_BINAURAL_INVALID = 0 # HRTF_READER_RENDERER_BINAURAL_FASTCONV = 1 # HRTF_READER_RENDERER_BINAURAL_FASTCONV_ROOM = 2 # HRTF_READER_RENDERER_BINAURAL_PARAMETRIC = 3 # HRTF_READER_RENDERER_BINAURAL_PARAMETRIC_ROOM = 4 # HRTF_READER_RENDERER_BINAURAL_OBJECTS_TD = 5 # HRTF_READER_RENDERER_BINAURAL_MIXER_CONV = 6 # HRTF_READER_RENDERER_BINAURAL_MIXER_CONV_ROOM = 7 # HRTF_READER_RENDERER_BINAURAL_REVERB_ALL = 8 BINAURAL_INPUT_AUDIO_CONFIG_INVALID = 0 BINAURAL_INPUT_AUDIO_CONFIG_COMBINED = 1 BINAURAL_INPUT_AUDIO_CONFIG_HOA3 = 2 Loading Loading @@ -210,6 +257,11 @@ REQ_HRTF_CONFIG = [ "input_configuration": BINAURAL_INPUT_AUDIO_CONFIG_COMBINED, "sampling_frequency": 48000, }, # { # "renderer_type": HRTF_READER_RENDERER_BINAURAL_PARAMETRIC_ROOM, # "input_configuration": BINAURAL_INPUT_AUDIO_CONFIG_UNDEFINED, # "sampling_frequency": 48000, # }, { "renderer_type": HRTF_READER_RENDERER_BINAURAL_OBJECTS_TD, "input_configuration": BINAURAL_INPUT_AUDIO_CONFIG_UNDEFINED, Loading tests/hrtf_binary_loading/test_codec_ROM_vs_file.py +91 −111 Original line number Diff line number Diff line Loading @@ -29,18 +29,60 @@ accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and the United Nations Convention on Contracts on the International Sales of Goods. """ import pytest import itertools import pytest from tests.hrtf_binary_loading.utils import * from .constants import ( HRTF_TAG_DIFF_FROM_ROM, HRTF_TAG_SAME_AS_ROM, HRTF_TAGS, MC_BITRATE_FOR_FORMAT, HRTF_TAG_DIFF_FROM_ROM, HRTF_TAG_SAME_AS_ROM_FX, ) def get_metadata_file_masa(test_info, in_dir, in_tc, fs): if test_info.config.option.use_ltv: if test_info.config.option.ltv_dir: DIR = test_info.config.option.ltv_dir else: DIR = LTV_DIR metadata_file = str( DIR.joinpath(FORMAT_TO_METADATA_FILES_LTV["MASA"].format(in_tc)) ) else: metadata_file = str( TESTV_DIR.joinpath( FORMAT_TO_METADATA_FILES["MASA"].format(in_dir, in_tc, fs) ) ) return metadata_file def get_metadata_filelist_ism(test_info, in_fmt, in_fs): if test_info.config.option.use_ltv: if test_info.config.option.ltv_dir: DIR = test_info.config.option.ltv_dir else: DIR = LTV_DIR metadata_file_list = [ str(DIR.joinpath(FORMAT_TO_METADATA_FILES_LTV["ISM"].format(n + 1))) for n in range(int(in_fmt)) ] else: metadata_file_list = [ str( TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["ISM"].format(n + 1, in_fs)) ) for n in range(int(in_fmt)) ] return metadata_file_list """ Binary file """ Loading @@ -65,16 +107,11 @@ def test_binary_file(test_info, hrtf_tag, out_fs): def test_multichannel_binaural_static( test_info, in_fmt, out_fmt, out_fs, hrtf_tag, bitrate ): if bitrate == 32000 and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if bitrate == 160000 and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipped until reason for non-BE in FastConv is clarified") if bitrate == 32000 and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if bitrate == 160000 and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipped until reason for non-BE in FastConv is clarified") in_fs = 48 option_list = ["-mc", in_fmt] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_MC_LTV_WOEXT[in_fmt].format(in_fs) else: in_file = FORMAT_TO_FILE_MC_WOEXT[in_fmt].format(in_fs) compare_rom_vs_binary( Loading Loading @@ -105,16 +142,11 @@ def test_multichannel_binaural_static( def test_multichannel_binaural_headrotation( test_info, in_fmt, out_fmt, out_fs, trj_file, hrtf_tag, bitrate ): if bitrate == 32000 and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if bitrate == 160000 and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipped until reason for non-BE in FastConv is clarified") if bitrate == 32000 and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if bitrate == 160000 and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipped until reason for non-BE in FastConv is clarified") in_fs = 48 option_list = ["-mc", in_fmt] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_MC_LTV_WOEXT[in_fmt].format(in_fs) else: in_file = FORMAT_TO_FILE_MC_WOEXT[in_fmt].format(in_fs) compare_rom_vs_binary( Loading @@ -139,15 +171,10 @@ def test_multichannel_binaural_headrotation( @pytest.mark.parametrize("in_fmt", INPUT_FORMATS_SBA) @pytest.mark.parametrize("hrtf_tag", HRTF_TAGS) def test_sba_binaural_static(test_info, bitrate, in_fmt, fs, out_fmt, hrtf_tag): if bitrate == 64000 and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if bitrate == 256000 and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipped until reason for non-BE in FastConv is clarified") if bitrate == 64000 and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if bitrate == 256000 and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipped until reason for non-BE in FastConv is clarified") option_list = ["-sba", in_fmt] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_SBA_LTV_WOEXT[in_fmt].format(fs) else: in_file = FORMAT_TO_FILE_SBA_WOEXT[in_fmt].format(fs) compare_rom_vs_binary( Loading @@ -171,15 +198,10 @@ def test_sba_binaural_static(test_info, bitrate, in_fmt, fs, out_fmt, hrtf_tag): def test_sba_binaural_headrotation( test_info, bitrate, in_fmt, fs, out_fmt, trj_file, hrtf_tag ): if bitrate == 64000 and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if bitrate == 256000 and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipped until reason for non-BE in FastConv is clarified") if bitrate == 64000 and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if bitrate == 256000 and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipped until reason for non-BE in FastConv is clarified") option_list = ["-sba", in_fmt] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_SBA_LTV_WOEXT[in_fmt].format(fs) else: in_file = FORMAT_TO_FILE_SBA_WOEXT[in_fmt].format(fs) compare_rom_vs_binary( Loading @@ -204,20 +226,12 @@ def test_sba_binaural_headrotation( @pytest.mark.parametrize("in_tc", INPUT_FORMATS_MASA["tc"]) @pytest.mark.parametrize("hrtf_tag", HRTF_TAGS) def test_masa_binaural_static(test_info, in_tc, in_dir, fs, out_fmt, hrtf_tag): # TODO: remove once fixed if hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") bitrate = 256000 metadata_file = str( TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["MASA"].format(in_dir, in_tc, fs)) ) metadata_file = get_metadata_file_masa(test_info, in_dir, in_tc, fs) option_list = ["-masa", in_tc, metadata_file] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_MASA_LTV_WOEXT.format(fs, in_tc) else: in_file = FORMAT_TO_FILE_MASA_WOEXT.format(in_dir, in_tc, fs) compare_rom_vs_binary( Loading @@ -241,16 +255,12 @@ def test_masa_binaural_static(test_info, in_tc, in_dir, fs, out_fmt, hrtf_tag): def test_masa_binaural_headrotation( test_info, in_tc, in_dir, fs, out_fmt, trj_file, hrtf_tag ): # TODO: remove once fixed if hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") bitrate = 256000 metadata_file = str( TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["MASA"].format(in_dir, in_tc, fs)) ) metadata_file = get_metadata_file_masa(test_info, in_dir, in_tc, fs) option_list = ["-masa", in_tc, metadata_file] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_MASA_LTV_WOEXT.format(fs, in_tc) else: in_file = FORMAT_TO_FILE_MASA_WOEXT.format(in_dir, in_tc, fs) compare_rom_vs_binary( Loading @@ -275,21 +285,13 @@ def test_masa_binaural_headrotation( @pytest.mark.parametrize("hrtf_tag", HRTF_TAGS) def test_ism_binaural_static(test_info, in_fmt, out_fs, out_fmt, hrtf_tag): pytest.skip("Skipping TD binaural because not yet implemented") if in_fmt == "4" and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") in_fs = 48 bitrate = BITRATE_ISM[in_fmt] option_list = ["-ism", in_fmt] metadata_file_list = [] for n in range(int(in_fmt)): test = str( TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["ISM"].format(n + 1, in_fs)) ) metadata_file_list.append(test) option_list.extend(metadata_file_list) option_list.extend(get_metadata_filelist_ism(test_info, in_fmt, in_fs)) if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_ISM_LTV_WOEXT.format(in_fs, in_fmt) else: in_file = FORMAT_TO_FILE_ISM_WOEXT.format(in_fmt, in_fs) compare_rom_vs_binary( Loading @@ -313,21 +315,13 @@ def test_ism_binaural_headrotation( test_info, in_fmt, out_fs, out_fmt, trj_file, hrtf_tag ): pytest.skip("Skipping TD binaural because not yet implemented") if in_fmt == "4" and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") in_fs = 48 bitrate = BITRATE_ISM[in_fmt] option_list = ["-ism", in_fmt] metadata_file_list = [] for n in range(int(in_fmt)): test = str( TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["ISM"].format(n + 1, in_fs)) ) metadata_file_list.append(test) option_list.extend(metadata_file_list) option_list.extend(get_metadata_filelist_ism(test_info, in_fmt, in_fs)) if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_ISM_LTV_WOEXT.format(in_fs, in_fmt) else: in_file = FORMAT_TO_FILE_ISM_WOEXT.format(in_fmt, in_fs) compare_rom_vs_binary( Loading @@ -351,21 +345,14 @@ def test_ism_binaural_headrotation( @pytest.mark.parametrize("in_fmt", INPUT_FORMATS_ISM) @pytest.mark.parametrize("hrtf_tag", HRTF_TAGS) def test_ism_binaural_roomreverb_static(test_info, in_fmt, out_fs, out_fmt, hrtf_tag): if in_fmt == "4" and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if in_fmt == "4" and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") in_fs = 48 bitrate = BITRATE_ISM[in_fmt] option_list = ["-ism", in_fmt] metadata_file_list = [] for n in range(int(in_fmt)): test = str( TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["ISM"].format(n + 1, in_fs)) ) metadata_file_list.append(test) option_list.extend(metadata_file_list) option_list.extend(get_metadata_filelist_ism(test_info, in_fmt, in_fs)) if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_ISM_LTV_WOEXT.format(in_fs, in_fmt) else: in_file = FORMAT_TO_FILE_ISM_WOEXT.format(in_fmt, in_fs) compare_rom_vs_binary( Loading @@ -388,21 +375,14 @@ def test_ism_binaural_roomreverb_static(test_info, in_fmt, out_fs, out_fmt, hrtf def test_ism_binaural_roomreverb_headrotation( test_info, in_fmt, out_fs, out_fmt, trj_file, hrtf_tag ): if in_fmt == "4" and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if in_fmt == "4" and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") in_fs = 48 bitrate = BITRATE_ISM[in_fmt] option_list = ["-ism", in_fmt] metadata_file_list = [] for n in range(int(in_fmt)): test = str( TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["ISM"].format(n + 1, in_fs)) ) metadata_file_list.append(test) option_list.extend(metadata_file_list) option_list.extend(get_metadata_filelist_ism(test_info, in_fmt, in_fs)) if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_ISM_LTV_WOEXT.format(in_fs, in_fmt) else: in_file = FORMAT_TO_FILE_ISM_WOEXT.format(in_fmt, in_fs) compare_rom_vs_binary( Loading tests/hrtf_binary_loading/test_renderer_ROM_vs_file.py +22 −46 Original line number Diff line number Diff line Loading @@ -45,6 +45,24 @@ from tests.renderer.constants import ( from .constants import HRTF_TAGS def get_metadata_files(test_info, in_fmt): try: if test_info.config.option.use_ltv: metadata_files = FORMAT_TO_METADATA_FILES_RENDERER_LTV[in_fmt] if test_info.config.option.ltv_dir: metadata_files = [ m.replace(str(TESTV_DIR), str(test_info.config.option.ltv_dir)) for m in metadata_files ] else: metadata_files = FORMAT_TO_METADATA_FILES_RENDERER[in_fmt] except Exception: metadata_files = None return metadata_files """ Ambisonics """ Loading Loading @@ -128,22 +146,12 @@ def test_ism_binaural_static_with_binary_hrir( test_info, in_fmt, out_fmt, frame_size, hrtf_tag ): pytest.skip("Skipping TD binaural because not yet implemented") if in_fmt == "4" and hrtf_tag == HRTF_TAG_SAME_AS_ROM: pytest.skip("Skipping ParamBin until binary and ROM contain same data") try: in_meta_files = FORMAT_TO_METADATA_FILES_RENDERER[in_fmt] except: in_meta_files = None compare_renderer_vs_renderer_with_binary_hrir( test_info, in_fmt, out_fmt, hrtf_tag, in_meta_files=in_meta_files, in_meta_files=get_metadata_files(test_info, in_fmt), frame_size=frame_size, ) Loading @@ -157,23 +165,13 @@ def test_ism_binaural_headrotation_with_binary_hrir( test_info, in_fmt, out_fmt, trj_file, frame_size, hrtf_tag ): pytest.skip("Skipping TD binaural because not yet implemented") if in_fmt == "4" and hrtf_tag == HRTF_TAG_SAME_AS_ROM: pytest.skip("Skipping ParamBin until binary and ROM contain same data") try: in_meta_files = FORMAT_TO_METADATA_FILES_RENDERER[in_fmt] except: in_meta_files = None compare_renderer_vs_renderer_with_binary_hrir( test_info, in_fmt, out_fmt, hrtf_tag, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), in_meta_files=in_meta_files, in_meta_files=get_metadata_files(test_info, in_fmt), frame_size=frame_size, ) Loading @@ -189,19 +187,12 @@ def test_masa_binaural_static_with_binary_hrir( test_info, in_fmt, out_fmt, frame_size, hrtf_tag ): pytest.skip("Skipping MASA binaural because not yet implemented") if out_fmt in ["BINAURAL_ROOM_IR", "BINAURAL_ROOM_REVERB"]: pytest.skip("Skipping binaural room outputs for MASA as unimplemented.") if hrtf_tag == HRTF_TAG_SAME_AS_ROM: pytest.skip("Skipping ParamBin until binary and ROM contain same data") compare_renderer_vs_renderer_with_binary_hrir( test_info, in_fmt, out_fmt, hrtf_tag, in_meta_files=FORMAT_TO_METADATA_FILES_RENDERER[in_fmt], in_meta_files=get_metadata_files(test_info, in_fmt), ) Loading @@ -213,21 +204,13 @@ def test_masa_binaural_static_with_binary_hrir( def test_masa_binaural_headrotation_with_binary_hrir( test_info, in_fmt, out_fmt, trj_file, frame_size, hrtf_tag ): pytest.skip("Skipping MASA binaural because not yet implemented") if out_fmt in ["BINAURAL_ROOM_IR", "BINAURAL_ROOM_REVERB"]: pytest.skip("Skipping binaural room outputs for MASA as unimplemented.") if hrtf_tag == HRTF_TAG_SAME_AS_ROM: pytest.skip("Skipping ParamBin until binary and ROM contain same data") compare_renderer_vs_renderer_with_binary_hrir( test_info, in_fmt, out_fmt, hrtf_tag, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), in_meta_files=FORMAT_TO_METADATA_FILES_RENDERER[in_fmt], in_meta_files=get_metadata_files(test_info, in_fmt), ) Loading @@ -241,9 +224,6 @@ def test_masa_binaural_headrotation_with_binary_hrir( def test_custom_ls_input_binaural_with_binary_hrir( test_info, in_layout, out_fmt, frame_size, hrtf_tag ): if out_fmt == "BINAURAL": pytest.skip("Skipping TD binaural because not yet implemented") compare_renderer_vs_renderer_with_binary_hrir( test_info, CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), Loading @@ -261,10 +241,6 @@ def test_custom_ls_input_binaural_with_binary_hrir( def test_custom_ls_input_binaural_headrotation_with_binary_hrir( test_info, in_layout, out_fmt, trj_file, frame_size, hrtf_tag ): if out_fmt == "BINAURAL": pytest.skip("Skipping TD binaural because not yet implemented") compare_renderer_vs_renderer_with_binary_hrir( test_info, CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), Loading tests/hrtf_binary_loading/utils.py +141 −11 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
tests/hrtf_binary_loading/constants.py +63 −11 Original line number Diff line number Diff line Loading @@ -33,7 +33,12 @@ import re from pathlib import Path from tests.renderer.constants import OUTPUT_FORMATS_BINAURAL, SCRIPTS_DIR, TESTV_DIR from tests.renderer.constants import ( LTV_DIR, OUTPUT_FORMATS_BINAURAL, SCRIPTS_DIR, TESTV_DIR, ) TESTS_DIR = Path(__file__).parent Loading @@ -51,23 +56,19 @@ DECODER_CMD = [str(TESTS_DIR.parent.parent.joinpath("IVAS_dec"))] RENDERER_CMD = [str(TESTS_DIR.parent.parent.joinpath("IVAS_rend"))] HRTF_BINARY_FILE_SAME_AS_ROM = "ivas_binaural_{}kHz.bin" HRTF_BINARY_FILE_SAME_AS_ROM_FX = "ivas_binaural_fx_{}kHz.bin" HRTF_BINARY_FILE_DIFF_FROM_ROM = "ivas_binaural_51_brir-lc_{}kHz.bin" HRTF_BINARY_FILE_DIFF_FROM_ROM_FX = "ivas_binaural_51_brir-lc_fx_{}kHz.bin" HRTF_FILES = [HRTF_BINARY_FILE_SAME_AS_ROM_FX, HRTF_BINARY_FILE_DIFF_FROM_ROM_FX] DEFAULT_BIN_FILE_FX_FLAG = 0x1000 HRTF_BINARY_FILE_DIFF_FROM_ROM = "ivas_binaural_custom_{}kHz.bin" HRTF_FILES_SAME_AS_ROM_DEFAULT = [HRTF_BINARY_FILE_SAME_AS_ROM] HRTF_FILES_SAME_AS_ROM_CUSTOM = [HRTF_BINARY_FILE_DIFF_FROM_ROM] HRTF_FILES = [HRTF_BINARY_FILE_SAME_AS_ROM, HRTF_BINARY_FILE_DIFF_FROM_ROM] HRTF_TAG_SAME_AS_ROM = "hrtf_same_as_rom" HRTF_TAG_SAME_AS_ROM_FX = "hrtf_same_as_rom_fx" HRTF_TAG_DIFF_FROM_ROM = "hrtf_diff_from_rom" HRTF_TAG_DIFF_FROM_ROM_FX = "hrtf_diff_from_rom_fx" HRTF_TAGS = [HRTF_TAG_SAME_AS_ROM_FX, HRTF_TAG_DIFF_FROM_ROM_FX] HRTF_TAGS = [HRTF_TAG_SAME_AS_ROM, HRTF_TAG_DIFF_FROM_ROM] HRTF_FILE_FOR_TAG = dict(zip(HRTF_TAGS, HRTF_FILES)) SAMPLE_RATE = ["16", "32", "48"] INPUT_FORMATS_MC = [ "5_1_2", "5_1_4", "7_1_4"] # "MONO", "STEREO", # INPUT_FORMATS_MC = ["5_1", "5_1_2", "5_1_4", "7_1", "7_1_4"] # "MONO", "STEREO", INPUT_FORMATS_MC = ["5_1", "5_1_2", "5_1_4", "7_1", "7_1_4"] # "MONO", "STEREO", INPUT_FORMATS_SBA = ["1", "2", "3"] INPUT_FORMATS_ISM = ["1", "2", "3", "4"] INPUT_FORMATS_MASA = {"tc": ["1", "2"], "dir": ["1", "2"]} Loading Loading @@ -97,6 +98,21 @@ FORMAT_TO_FILE_SBA_WOEXT = { FORMAT_TO_FILE_ISM_WOEXT = "stv{}ISM{}s_cut" FORMAT_TO_FILE_MASA_WOEXT = "stv{}MASA{}TC{}c_cut" FORMAT_TO_FILE_MC_LTV_WOEXT = { "5_1": "ltv{}_MC51", "7_1": "ltv{}_MC71", "5_1_2": "ltv{}_MC512", "5_1_4": "ltv{}_MC514", "7_1_4": "ltv{}_MC714", } FORMAT_TO_FILE_SBA_LTV_WOEXT = { "1": "ltv{}_FOA", "2": "ltv{}_HOA2", "3": "ltv{}_HOA3", } FORMAT_TO_FILE_ISM_LTV_WOEXT = "ltv{}_{}ISM" FORMAT_TO_FILE_MASA_LTV_WOEXT = "ltv{}_MASA{}TC" BITRATE_ISM = { "1": 96000, "2": 160000, Loading @@ -105,6 +121,7 @@ BITRATE_ISM = { } FORMAT_TO_METADATA_FILES = {"MASA": "stv{}MASA{}TC{}c.met", "ISM": "stvISM{}.csv"} FORMAT_TO_METADATA_FILES_LTV = {"MASA": "ltv48_MASA{}TC.met", "ISM": "ltvISM{}.csv"} FORMAT_TO_METADATA_FILES_RENDERER = { "ISM1": [str(TESTV_DIR.joinpath("stvISM1.csv"))], Loading Loading @@ -132,6 +149,26 @@ FORMAT_TO_METADATA_FILES_RENDERER = { "MASA1": [str(TESTV_DIR.joinpath("stv1MASA1TC48c.met"))], "MASA2": [str(TESTV_DIR.joinpath("stv2MASA2TC48c.met"))], } FORMAT_TO_METADATA_FILES_RENDERER_LTV = { "ISM1": [str(TESTV_DIR.joinpath("ltvISM1.csv"))], "ISM2": [ str(TESTV_DIR.joinpath("ltvISM1.csv")), str(TESTV_DIR.joinpath("ltvISM2.csv")), ], "ISM3": [ str(TESTV_DIR.joinpath("ltvISM1.csv")), str(TESTV_DIR.joinpath("ltvISM2.csv")), str(TESTV_DIR.joinpath("ltvISM3.csv")), ], "ISM4": [ str(TESTV_DIR.joinpath("ltvISM1.csv")), str(TESTV_DIR.joinpath("ltvISM2.csv")), str(TESTV_DIR.joinpath("ltvISM3.csv")), str(TESTV_DIR.joinpath("ltvISM4.csv")), ], "MASA1": [str(TESTV_DIR.joinpath("ltv48_MASA1TC.met"))], "MASA2": [str(TESTV_DIR.joinpath("ltv48_MASA2TC.met"))], } HR_TRAJECTORIES_TO_TEST = ["headrot_case00_3000_q", "headrot"] Loading Loading @@ -177,6 +214,16 @@ HRTF_READER_RENDERER_BINAURAL_MIXER_CONV = 5 HRTF_READER_RENDERER_BINAURAL_MIXER_CONV_ROOM = 6 HRTF_READER_RENDERER_BINAURAL_REVERB_ALL = 7 # HRTF_READER_RENDERER_BINAURAL_INVALID = 0 # HRTF_READER_RENDERER_BINAURAL_FASTCONV = 1 # HRTF_READER_RENDERER_BINAURAL_FASTCONV_ROOM = 2 # HRTF_READER_RENDERER_BINAURAL_PARAMETRIC = 3 # HRTF_READER_RENDERER_BINAURAL_PARAMETRIC_ROOM = 4 # HRTF_READER_RENDERER_BINAURAL_OBJECTS_TD = 5 # HRTF_READER_RENDERER_BINAURAL_MIXER_CONV = 6 # HRTF_READER_RENDERER_BINAURAL_MIXER_CONV_ROOM = 7 # HRTF_READER_RENDERER_BINAURAL_REVERB_ALL = 8 BINAURAL_INPUT_AUDIO_CONFIG_INVALID = 0 BINAURAL_INPUT_AUDIO_CONFIG_COMBINED = 1 BINAURAL_INPUT_AUDIO_CONFIG_HOA3 = 2 Loading Loading @@ -210,6 +257,11 @@ REQ_HRTF_CONFIG = [ "input_configuration": BINAURAL_INPUT_AUDIO_CONFIG_COMBINED, "sampling_frequency": 48000, }, # { # "renderer_type": HRTF_READER_RENDERER_BINAURAL_PARAMETRIC_ROOM, # "input_configuration": BINAURAL_INPUT_AUDIO_CONFIG_UNDEFINED, # "sampling_frequency": 48000, # }, { "renderer_type": HRTF_READER_RENDERER_BINAURAL_OBJECTS_TD, "input_configuration": BINAURAL_INPUT_AUDIO_CONFIG_UNDEFINED, Loading
tests/hrtf_binary_loading/test_codec_ROM_vs_file.py +91 −111 Original line number Diff line number Diff line Loading @@ -29,18 +29,60 @@ accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and the United Nations Convention on Contracts on the International Sales of Goods. """ import pytest import itertools import pytest from tests.hrtf_binary_loading.utils import * from .constants import ( HRTF_TAG_DIFF_FROM_ROM, HRTF_TAG_SAME_AS_ROM, HRTF_TAGS, MC_BITRATE_FOR_FORMAT, HRTF_TAG_DIFF_FROM_ROM, HRTF_TAG_SAME_AS_ROM_FX, ) def get_metadata_file_masa(test_info, in_dir, in_tc, fs): if test_info.config.option.use_ltv: if test_info.config.option.ltv_dir: DIR = test_info.config.option.ltv_dir else: DIR = LTV_DIR metadata_file = str( DIR.joinpath(FORMAT_TO_METADATA_FILES_LTV["MASA"].format(in_tc)) ) else: metadata_file = str( TESTV_DIR.joinpath( FORMAT_TO_METADATA_FILES["MASA"].format(in_dir, in_tc, fs) ) ) return metadata_file def get_metadata_filelist_ism(test_info, in_fmt, in_fs): if test_info.config.option.use_ltv: if test_info.config.option.ltv_dir: DIR = test_info.config.option.ltv_dir else: DIR = LTV_DIR metadata_file_list = [ str(DIR.joinpath(FORMAT_TO_METADATA_FILES_LTV["ISM"].format(n + 1))) for n in range(int(in_fmt)) ] else: metadata_file_list = [ str( TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["ISM"].format(n + 1, in_fs)) ) for n in range(int(in_fmt)) ] return metadata_file_list """ Binary file """ Loading @@ -65,16 +107,11 @@ def test_binary_file(test_info, hrtf_tag, out_fs): def test_multichannel_binaural_static( test_info, in_fmt, out_fmt, out_fs, hrtf_tag, bitrate ): if bitrate == 32000 and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if bitrate == 160000 and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipped until reason for non-BE in FastConv is clarified") if bitrate == 32000 and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if bitrate == 160000 and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipped until reason for non-BE in FastConv is clarified") in_fs = 48 option_list = ["-mc", in_fmt] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_MC_LTV_WOEXT[in_fmt].format(in_fs) else: in_file = FORMAT_TO_FILE_MC_WOEXT[in_fmt].format(in_fs) compare_rom_vs_binary( Loading Loading @@ -105,16 +142,11 @@ def test_multichannel_binaural_static( def test_multichannel_binaural_headrotation( test_info, in_fmt, out_fmt, out_fs, trj_file, hrtf_tag, bitrate ): if bitrate == 32000 and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if bitrate == 160000 and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipped until reason for non-BE in FastConv is clarified") if bitrate == 32000 and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if bitrate == 160000 and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipped until reason for non-BE in FastConv is clarified") in_fs = 48 option_list = ["-mc", in_fmt] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_MC_LTV_WOEXT[in_fmt].format(in_fs) else: in_file = FORMAT_TO_FILE_MC_WOEXT[in_fmt].format(in_fs) compare_rom_vs_binary( Loading @@ -139,15 +171,10 @@ def test_multichannel_binaural_headrotation( @pytest.mark.parametrize("in_fmt", INPUT_FORMATS_SBA) @pytest.mark.parametrize("hrtf_tag", HRTF_TAGS) def test_sba_binaural_static(test_info, bitrate, in_fmt, fs, out_fmt, hrtf_tag): if bitrate == 64000 and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if bitrate == 256000 and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipped until reason for non-BE in FastConv is clarified") if bitrate == 64000 and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if bitrate == 256000 and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipped until reason for non-BE in FastConv is clarified") option_list = ["-sba", in_fmt] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_SBA_LTV_WOEXT[in_fmt].format(fs) else: in_file = FORMAT_TO_FILE_SBA_WOEXT[in_fmt].format(fs) compare_rom_vs_binary( Loading @@ -171,15 +198,10 @@ def test_sba_binaural_static(test_info, bitrate, in_fmt, fs, out_fmt, hrtf_tag): def test_sba_binaural_headrotation( test_info, bitrate, in_fmt, fs, out_fmt, trj_file, hrtf_tag ): if bitrate == 64000 and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if bitrate == 256000 and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipped until reason for non-BE in FastConv is clarified") if bitrate == 64000 and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if bitrate == 256000 and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipped until reason for non-BE in FastConv is clarified") option_list = ["-sba", in_fmt] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_SBA_LTV_WOEXT[in_fmt].format(fs) else: in_file = FORMAT_TO_FILE_SBA_WOEXT[in_fmt].format(fs) compare_rom_vs_binary( Loading @@ -204,20 +226,12 @@ def test_sba_binaural_headrotation( @pytest.mark.parametrize("in_tc", INPUT_FORMATS_MASA["tc"]) @pytest.mark.parametrize("hrtf_tag", HRTF_TAGS) def test_masa_binaural_static(test_info, in_tc, in_dir, fs, out_fmt, hrtf_tag): # TODO: remove once fixed if hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") bitrate = 256000 metadata_file = str( TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["MASA"].format(in_dir, in_tc, fs)) ) metadata_file = get_metadata_file_masa(test_info, in_dir, in_tc, fs) option_list = ["-masa", in_tc, metadata_file] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_MASA_LTV_WOEXT.format(fs, in_tc) else: in_file = FORMAT_TO_FILE_MASA_WOEXT.format(in_dir, in_tc, fs) compare_rom_vs_binary( Loading @@ -241,16 +255,12 @@ def test_masa_binaural_static(test_info, in_tc, in_dir, fs, out_fmt, hrtf_tag): def test_masa_binaural_headrotation( test_info, in_tc, in_dir, fs, out_fmt, trj_file, hrtf_tag ): # TODO: remove once fixed if hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") bitrate = 256000 metadata_file = str( TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["MASA"].format(in_dir, in_tc, fs)) ) metadata_file = get_metadata_file_masa(test_info, in_dir, in_tc, fs) option_list = ["-masa", in_tc, metadata_file] if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_MASA_LTV_WOEXT.format(fs, in_tc) else: in_file = FORMAT_TO_FILE_MASA_WOEXT.format(in_dir, in_tc, fs) compare_rom_vs_binary( Loading @@ -275,21 +285,13 @@ def test_masa_binaural_headrotation( @pytest.mark.parametrize("hrtf_tag", HRTF_TAGS) def test_ism_binaural_static(test_info, in_fmt, out_fs, out_fmt, hrtf_tag): pytest.skip("Skipping TD binaural because not yet implemented") if in_fmt == "4" and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") in_fs = 48 bitrate = BITRATE_ISM[in_fmt] option_list = ["-ism", in_fmt] metadata_file_list = [] for n in range(int(in_fmt)): test = str( TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["ISM"].format(n + 1, in_fs)) ) metadata_file_list.append(test) option_list.extend(metadata_file_list) option_list.extend(get_metadata_filelist_ism(test_info, in_fmt, in_fs)) if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_ISM_LTV_WOEXT.format(in_fs, in_fmt) else: in_file = FORMAT_TO_FILE_ISM_WOEXT.format(in_fmt, in_fs) compare_rom_vs_binary( Loading @@ -313,21 +315,13 @@ def test_ism_binaural_headrotation( test_info, in_fmt, out_fs, out_fmt, trj_file, hrtf_tag ): pytest.skip("Skipping TD binaural because not yet implemented") if in_fmt == "4" and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") in_fs = 48 bitrate = BITRATE_ISM[in_fmt] option_list = ["-ism", in_fmt] metadata_file_list = [] for n in range(int(in_fmt)): test = str( TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["ISM"].format(n + 1, in_fs)) ) metadata_file_list.append(test) option_list.extend(metadata_file_list) option_list.extend(get_metadata_filelist_ism(test_info, in_fmt, in_fs)) if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_ISM_LTV_WOEXT.format(in_fs, in_fmt) else: in_file = FORMAT_TO_FILE_ISM_WOEXT.format(in_fmt, in_fs) compare_rom_vs_binary( Loading @@ -351,21 +345,14 @@ def test_ism_binaural_headrotation( @pytest.mark.parametrize("in_fmt", INPUT_FORMATS_ISM) @pytest.mark.parametrize("hrtf_tag", HRTF_TAGS) def test_ism_binaural_roomreverb_static(test_info, in_fmt, out_fs, out_fmt, hrtf_tag): if in_fmt == "4" and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if in_fmt == "4" and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") in_fs = 48 bitrate = BITRATE_ISM[in_fmt] option_list = ["-ism", in_fmt] metadata_file_list = [] for n in range(int(in_fmt)): test = str( TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["ISM"].format(n + 1, in_fs)) ) metadata_file_list.append(test) option_list.extend(metadata_file_list) option_list.extend(get_metadata_filelist_ism(test_info, in_fmt, in_fs)) if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_ISM_LTV_WOEXT.format(in_fs, in_fmt) else: in_file = FORMAT_TO_FILE_ISM_WOEXT.format(in_fmt, in_fs) compare_rom_vs_binary( Loading @@ -388,21 +375,14 @@ def test_ism_binaural_roomreverb_static(test_info, in_fmt, out_fs, out_fmt, hrtf def test_ism_binaural_roomreverb_headrotation( test_info, in_fmt, out_fs, out_fmt, trj_file, hrtf_tag ): if in_fmt == "4" and hrtf_tag == HRTF_TAG_SAME_AS_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") if in_fmt == "4" and hrtf_tag == HRTF_TAG_DIFF_FROM_ROM_FX: pytest.skip("Skipping ParamBin until binary and ROM contain same data") in_fs = 48 bitrate = BITRATE_ISM[in_fmt] option_list = ["-ism", in_fmt] metadata_file_list = [] for n in range(int(in_fmt)): test = str( TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["ISM"].format(n + 1, in_fs)) ) metadata_file_list.append(test) option_list.extend(metadata_file_list) option_list.extend(get_metadata_filelist_ism(test_info, in_fmt, in_fs)) if test_info.config.option.use_ltv: in_file = FORMAT_TO_FILE_ISM_LTV_WOEXT.format(in_fs, in_fmt) else: in_file = FORMAT_TO_FILE_ISM_WOEXT.format(in_fmt, in_fs) compare_rom_vs_binary( Loading
tests/hrtf_binary_loading/test_renderer_ROM_vs_file.py +22 −46 Original line number Diff line number Diff line Loading @@ -45,6 +45,24 @@ from tests.renderer.constants import ( from .constants import HRTF_TAGS def get_metadata_files(test_info, in_fmt): try: if test_info.config.option.use_ltv: metadata_files = FORMAT_TO_METADATA_FILES_RENDERER_LTV[in_fmt] if test_info.config.option.ltv_dir: metadata_files = [ m.replace(str(TESTV_DIR), str(test_info.config.option.ltv_dir)) for m in metadata_files ] else: metadata_files = FORMAT_TO_METADATA_FILES_RENDERER[in_fmt] except Exception: metadata_files = None return metadata_files """ Ambisonics """ Loading Loading @@ -128,22 +146,12 @@ def test_ism_binaural_static_with_binary_hrir( test_info, in_fmt, out_fmt, frame_size, hrtf_tag ): pytest.skip("Skipping TD binaural because not yet implemented") if in_fmt == "4" and hrtf_tag == HRTF_TAG_SAME_AS_ROM: pytest.skip("Skipping ParamBin until binary and ROM contain same data") try: in_meta_files = FORMAT_TO_METADATA_FILES_RENDERER[in_fmt] except: in_meta_files = None compare_renderer_vs_renderer_with_binary_hrir( test_info, in_fmt, out_fmt, hrtf_tag, in_meta_files=in_meta_files, in_meta_files=get_metadata_files(test_info, in_fmt), frame_size=frame_size, ) Loading @@ -157,23 +165,13 @@ def test_ism_binaural_headrotation_with_binary_hrir( test_info, in_fmt, out_fmt, trj_file, frame_size, hrtf_tag ): pytest.skip("Skipping TD binaural because not yet implemented") if in_fmt == "4" and hrtf_tag == HRTF_TAG_SAME_AS_ROM: pytest.skip("Skipping ParamBin until binary and ROM contain same data") try: in_meta_files = FORMAT_TO_METADATA_FILES_RENDERER[in_fmt] except: in_meta_files = None compare_renderer_vs_renderer_with_binary_hrir( test_info, in_fmt, out_fmt, hrtf_tag, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), in_meta_files=in_meta_files, in_meta_files=get_metadata_files(test_info, in_fmt), frame_size=frame_size, ) Loading @@ -189,19 +187,12 @@ def test_masa_binaural_static_with_binary_hrir( test_info, in_fmt, out_fmt, frame_size, hrtf_tag ): pytest.skip("Skipping MASA binaural because not yet implemented") if out_fmt in ["BINAURAL_ROOM_IR", "BINAURAL_ROOM_REVERB"]: pytest.skip("Skipping binaural room outputs for MASA as unimplemented.") if hrtf_tag == HRTF_TAG_SAME_AS_ROM: pytest.skip("Skipping ParamBin until binary and ROM contain same data") compare_renderer_vs_renderer_with_binary_hrir( test_info, in_fmt, out_fmt, hrtf_tag, in_meta_files=FORMAT_TO_METADATA_FILES_RENDERER[in_fmt], in_meta_files=get_metadata_files(test_info, in_fmt), ) Loading @@ -213,21 +204,13 @@ def test_masa_binaural_static_with_binary_hrir( def test_masa_binaural_headrotation_with_binary_hrir( test_info, in_fmt, out_fmt, trj_file, frame_size, hrtf_tag ): pytest.skip("Skipping MASA binaural because not yet implemented") if out_fmt in ["BINAURAL_ROOM_IR", "BINAURAL_ROOM_REVERB"]: pytest.skip("Skipping binaural room outputs for MASA as unimplemented.") if hrtf_tag == HRTF_TAG_SAME_AS_ROM: pytest.skip("Skipping ParamBin until binary and ROM contain same data") compare_renderer_vs_renderer_with_binary_hrir( test_info, in_fmt, out_fmt, hrtf_tag, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), in_meta_files=FORMAT_TO_METADATA_FILES_RENDERER[in_fmt], in_meta_files=get_metadata_files(test_info, in_fmt), ) Loading @@ -241,9 +224,6 @@ def test_masa_binaural_headrotation_with_binary_hrir( def test_custom_ls_input_binaural_with_binary_hrir( test_info, in_layout, out_fmt, frame_size, hrtf_tag ): if out_fmt == "BINAURAL": pytest.skip("Skipping TD binaural because not yet implemented") compare_renderer_vs_renderer_with_binary_hrir( test_info, CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), Loading @@ -261,10 +241,6 @@ def test_custom_ls_input_binaural_with_binary_hrir( def test_custom_ls_input_binaural_headrotation_with_binary_hrir( test_info, in_layout, out_fmt, trj_file, frame_size, hrtf_tag ): if out_fmt == "BINAURAL": pytest.skip("Skipping TD binaural because not yet implemented") compare_renderer_vs_renderer_with_binary_hrir( test_info, CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), Loading
tests/hrtf_binary_loading/utils.py +141 −11 File changed.Preview size limit exceeded, changes collapsed. Show changes