Commit ef1cda25 authored by lefort's avatar lefort
Browse files

ISM added.

parent 67389472
Loading
Loading
Loading
Loading
+17 −9
Original line number Diff line number Diff line
@@ -75,8 +75,16 @@ FORMAT_TO_FILE_SBA_WOEXT = {
FORMAT_TO_FILE_ISM_WOEXT = "stv{}ISM{}s"
FORMAT_TO_FILE_MASA_WOEXT = "stv{}MASA{}TC{}c"

BITRATE_ISM = {
    "1" : 96000,
    "2" : 160000,
    "3" : 384000,
    "4" : 512000,
}

FORMAT_TO_METADATA_FILES = {
    "MASA" : "stv{}MASA{}TC{}c.met",
    "ISM" : "stvISM{}.csv"
}

OUTPUT_FORMATS_BINAURAL = ["BINAURAL", "BINAURAL_ROOM_IR"] # "BINAURAL_ROOM_REVERB"
+62 −4
Original line number Diff line number Diff line
@@ -150,8 +150,7 @@ def test_masa_binaural_static(test_info, in_tc, in_dir, fs, out_fmt):
    #                 and File specifies input file containing parametric MASA metadata

    bitrate = 256000
    test = FORMAT_TO_METADATA_FILES["MASA"].format(in_dir, in_tc, fs)
    metadata_file=str(TESTV_DIR.joinpath(test))
    metadata_file=str(TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["MASA"].format(in_dir, in_tc, fs)))
    option_list = ["-masa", in_tc, metadata_file]
    in_file = FORMAT_TO_FILE_MASA_WOEXT.format(in_dir, in_tc, fs)

@@ -177,8 +176,7 @@ def test_masa_binaural_headrotation(test_info, in_tc, in_dir, fs, out_fmt, trj_f
    #                 and File specifies input file containing parametric MASA metadata

    bitrate = 256000
    test = FORMAT_TO_METADATA_FILES["MASA"].format(in_dir, in_tc, fs)
    metadata_file=str(TESTV_DIR.joinpath(test))
    metadata_file=str(TESTV_DIR.joinpath(FORMAT_TO_METADATA_FILES["MASA"].format(in_dir, in_tc, fs)))
    option_list = ["-masa", in_tc, metadata_file]
    in_file = FORMAT_TO_FILE_MASA_WOEXT.format(in_dir, in_tc, fs)

@@ -192,3 +190,63 @@ def test_masa_binaural_headrotation(test_info, in_tc, in_dir, fs, out_fmt, trj_f
        fs,
        trj_file=str(TESTV_DIR.joinpath(f"{trj_file}.csv"))
    )

""" ISM """

@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL)
@pytest.mark.parametrize("fs", SAMPLE_RATE[-1:])
@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_ISM)
def test_ism_binaural_static(test_info, in_fmt, fs, out_fmt):

    # -ism [+]Ch Files : ISM format
    #                    where Ch specifies the number of ISMs (1-4)
    #                    and Files specify input files containing metadata, one file per object

    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, fs)))
        metadata_file_list.append(test)
    option_list.extend(metadata_file_list)
    in_file = FORMAT_TO_FILE_ISM_WOEXT.format(in_fmt, fs)

    compare_rom_vs_binary(
        test_info, 
        option_list,
        bitrate,
        in_file,
        fs,
        out_fmt, 
        fs,
    )

@pytest.mark.parametrize("trj_file", [HR_TRAJECTORIES_TO_TEST[0]])
@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL)
@pytest.mark.parametrize("fs", SAMPLE_RATE[-1:])
@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_ISM)
def test_ism_binaural_headrotation(test_info, in_fmt, fs, out_fmt, trj_file):

    # -ism [+]Ch Files : ISM format
    #                    where Ch specifies the number of ISMs (1-4)
    #                    and Files specify input files containing metadata, one file per object

    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, fs)))
        metadata_file_list.append(test)
    option_list.extend(metadata_file_list)
    in_file = FORMAT_TO_FILE_ISM_WOEXT.format(in_fmt, fs)

    compare_rom_vs_binary(
        test_info, 
        option_list,
        bitrate,
        in_file,
        fs,
        out_fmt, 
        fs,
        trj_file=str(TESTV_DIR.joinpath(f"{trj_file}.csv"))
    )
 No newline at end of file