Commit c72f64d6 authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

add external renderer tests for combined formats

parent 03819099
Loading
Loading
Loading
Loading
+103 −79
Original line number Diff line number Diff line
@@ -30,8 +30,8 @@ accordance with the laws of the Federal Republic of Germany excluding its confli
the United Nations Convention on Contracts on the International Sales of Goods.
"""

from pathlib import Path
import platform
from pathlib import Path

""" Set up paths """
TESTS_DIR = Path(__file__).parent
@@ -115,26 +115,26 @@ FORMAT_TO_FILE_SMOKETEST = {
    "NDP_ISM4": NCHAN_TO_FILE[4],
    "MASA1": NCHAN_TO_FILE[1],
    "MASA2": NCHAN_TO_FILE[2],
    "OMASA_1_1": NCHAN_TO_FILE[2],
    "OMASA_1_2": NCHAN_TO_FILE[3],
    "OMASA_1_3": NCHAN_TO_FILE[4],
    "OMASA_1_4": NCHAN_TO_FILE[5],
    "OMASA_2_1": NCHAN_TO_FILE[3],
    "OMASA_2_2": NCHAN_TO_FILE[4],
    "OMASA_2_3": NCHAN_TO_FILE[5],
    "OMASA_2_4": NCHAN_TO_FILE[6],
    "OSBA_1_1": NCHAN_TO_FILE[5],
    "OSBA_2_1": NCHAN_TO_FILE[6],
    "OSBA_3_1": NCHAN_TO_FILE[7],
    "OSBA_4_1": NCHAN_TO_FILE[8],
    "OSBA_1_2": NCHAN_TO_FILE[10],
    "OSBA_2_2": NCHAN_TO_FILE[11],
    "OSBA_3_2": NCHAN_TO_FILE[12],
    "OSBA_4_2": NCHAN_TO_FILE[13],
    "OSBA_1_3": NCHAN_TO_FILE[17],
    "OSBA_2_3": NCHAN_TO_FILE[18],
    "OSBA_3_3": NCHAN_TO_FILE[19],
    "OSBA_4_3": NCHAN_TO_FILE[20],
    "ISM1MASA1": NCHAN_TO_FILE[2],
    "ISM2MASA1": NCHAN_TO_FILE[3],
    "ISM3MASA1": NCHAN_TO_FILE[4],
    "ISM4MASA1": NCHAN_TO_FILE[5],
    "ISM1MASA2": NCHAN_TO_FILE[3],
    "ISM2MASA2": NCHAN_TO_FILE[4],
    "ISM3MASA2": NCHAN_TO_FILE[5],
    "ISM4MASA2": NCHAN_TO_FILE[6],
    "ISM1SBA1": NCHAN_TO_FILE[5],
    "ISM2SBA1": NCHAN_TO_FILE[6],
    "ISM3SBA1": NCHAN_TO_FILE[7],
    "ISM4SBA1": NCHAN_TO_FILE[8],
    "ISM1SBA2": NCHAN_TO_FILE[10],
    "ISM2SBA2": NCHAN_TO_FILE[11],
    "ISM3SBA2": NCHAN_TO_FILE[12],
    "ISM4SBA2": NCHAN_TO_FILE[13],
    "ISM1SBA3": NCHAN_TO_FILE[17],
    "ISM2SBA3": NCHAN_TO_FILE[18],
    "ISM3SBA3": NCHAN_TO_FILE[19],
    "ISM4SBA3": NCHAN_TO_FILE[20],
    "META": TEST_VECTOR_DIR.joinpath("mixed_scene.txt"),
    "16ch_8+4+4": NCHAN_TO_FILE[16],
    "4d4": NCHAN_TO_FILE[8],
@@ -158,26 +158,26 @@ FORMAT_TO_FILE_COMPARETEST = {
    "ISM4": TESTV_DIR.joinpath("stv4ISM48s.wav"),
    "MASA1": TESTV_DIR.joinpath("stv1MASA1TC48c.wav"),
    "MASA2": TESTV_DIR.joinpath("stv2MASA2TC48c.wav"),
    "OMASA_1_1": TESTV_DIR.joinpath("stvOMASA_1ISM_1MASA1TC48c.wav"),
    "OMASA_1_2": TESTV_DIR.joinpath("stvOMASA_2ISM_2MASA1TC48c.wav"),
    "OMASA_1_3": TESTV_DIR.joinpath("stvOMASA_3ISM_1MASA1TC48c.wav"),
    "OMASA_1_4": TESTV_DIR.joinpath("stvOMASA_4ISM_2MASA1TC48c.wav"),
    "OMASA_2_1": TESTV_DIR.joinpath("stvOMASA_1ISM_1MASA2TC48c.wav"),
    "OMASA_2_2": TESTV_DIR.joinpath("stvOMASA_2ISM_2MASA2TC48c.wav"),
    "OMASA_2_3": TESTV_DIR.joinpath("stvOMASA_3ISM_1MASA2TC48c.wav"),
    "OMASA_2_4": TESTV_DIR.joinpath("stvOMASA_4ISM_2MASA2TC48c.wav"),
    "OSBA_1_1": TESTV_DIR.joinpath("stvOSBA_1ISM_FOA48c.wav"),
    "OSBA_1_2": TESTV_DIR.joinpath("stvOSBA_1ISM_2OA48c.wav"),
    "OSBA_1_3": TESTV_DIR.joinpath("stvOSBA_1ISM_3OA48c.wav"),
    "OSBA_2_1": TESTV_DIR.joinpath("stvOSBA_2ISM_FOA48c.wav"),
    "OSBA_2_2": TESTV_DIR.joinpath("stvOSBA_2ISM_2OA48c.wav"),
    "OSBA_2_3": TESTV_DIR.joinpath("stvOSBA_2ISM_3OA48c.wav"),
    "OSBA_3_1": TESTV_DIR.joinpath("stvOSBA_3ISM_FOA48c.wav"),
    "OSBA_3_2": TESTV_DIR.joinpath("stvOSBA_3ISM_2OA48c.wav"),
    "OSBA_3_3": TESTV_DIR.joinpath("stvOSBA_3ISM_3OA48c.wav"),
    "OSBA_4_1": TESTV_DIR.joinpath("stvOSBA_4ISM_FOA48c.wav"),
    "OSBA_4_2": TESTV_DIR.joinpath("stvOSBA_4ISM_2OA48c.wav"),
    "OSBA_4_3": TESTV_DIR.joinpath("stvOSBA_4ISM_3OA48c.wav"),
    "ISM1MASA1": TESTV_DIR.joinpath("stvOMASA_1ISM_1MASA1TC48c.wav"),
    "ISM2MASA1": TESTV_DIR.joinpath("stvOMASA_2ISM_2MASA1TC48c.wav"),
    "ISM3MASA1": TESTV_DIR.joinpath("stvOMASA_3ISM_1MASA1TC48c.wav"),
    "ISM4MASA1": TESTV_DIR.joinpath("stvOMASA_4ISM_2MASA1TC48c.wav"),
    "ISM1MASA2": TESTV_DIR.joinpath("stvOMASA_1ISM_1MASA2TC48c.wav"),
    "ISM2MASA2": TESTV_DIR.joinpath("stvOMASA_2ISM_2MASA2TC48c.wav"),
    "ISM3MASA2": TESTV_DIR.joinpath("stvOMASA_3ISM_1MASA2TC48c.wav"),
    "ISM4MASA2": TESTV_DIR.joinpath("stvOMASA_4ISM_2MASA2TC48c.wav"),
    "ISM1SBA1": TESTV_DIR.joinpath("stvOSBA_1ISM_FOA48c.wav"),
    "ISM1SBA2": TESTV_DIR.joinpath("stvOSBA_1ISM_2OA48c.wav"),
    "ISM1SBA3": TESTV_DIR.joinpath("stvOSBA_1ISM_3OA48c.wav"),
    "ISM2SBA1": TESTV_DIR.joinpath("stvOSBA_2ISM_FOA48c.wav"),
    "ISM2SBA2": TESTV_DIR.joinpath("stvOSBA_2ISM_2OA48c.wav"),
    "ISM2SBA3": TESTV_DIR.joinpath("stvOSBA_2ISM_3OA48c.wav"),
    "ISM3SBA1": TESTV_DIR.joinpath("stvOSBA_3ISM_FOA48c.wav"),
    "ISM3SBA2": TESTV_DIR.joinpath("stvOSBA_3ISM_2OA48c.wav"),
    "ISM3SBA3": TESTV_DIR.joinpath("stvOSBA_3ISM_3OA48c.wav"),
    "ISM4SBA1": TESTV_DIR.joinpath("stvOSBA_4ISM_FOA48c.wav"),
    "ISM4SBA2": TESTV_DIR.joinpath("stvOSBA_4ISM_2OA48c.wav"),
    "ISM4SBA3": TESTV_DIR.joinpath("stvOSBA_4ISM_3OA48c.wav"),
    "META": TEST_VECTOR_DIR.joinpath("mixed_scene.txt"),
    "16ch_8+4+4": TESTV_DIR.joinpath("stv3OA48c.wav"),
    "4d4": TESTV_DIR.joinpath("stv71MC48c.wav"),
@@ -201,26 +201,26 @@ FORMAT_TO_FILE_LTV = {
    "ISM4": LTV_DIR.joinpath("ltv48_4ISM.wav"),
    "MASA1": LTV_DIR.joinpath("ltv48_MASA1TC.wav"),
    "MASA2": LTV_DIR.joinpath("ltv48_MASA2TC.wav"),
    "OMASA_1_1": LTV_DIR.joinpath("ltv48_OMASA_1ISM_1TC.wav"),
    "OMASA_1_2": LTV_DIR.joinpath("ltv48_OMASA_2ISM_1TC.wav"),
    "OMASA_1_3": LTV_DIR.joinpath("ltv48_OMASA_3ISM_1TC.wav"),
    "OMASA_1_4": LTV_DIR.joinpath("ltv48_OMASA_4ISM_1TC.wav"),
    "OMASA_2_1": LTV_DIR.joinpath("ltv48_OMASA_1ISM_2TC.wav"),
    "OMASA_2_2": LTV_DIR.joinpath("ltv48_OMASA_2ISM_2TC.wav"),
    "OMASA_2_3": LTV_DIR.joinpath("ltv48_OMASA_3ISM_2TC.wav"),
    "OMASA_2_4": LTV_DIR.joinpath("ltv48_OMASA_4ISM_2TC.wav"),
    "OSBA_1_1": LTV_DIR.joinpath("ltv48_OSBA_1ISM_FOA.wav"),
    "OSBA_1_2": LTV_DIR.joinpath("ltv48_OSBA_1ISM_HOA2.wav"),
    "OSBA_1_3": LTV_DIR.joinpath("ltv48_OSBA_1ISM_HOA3.wav"),
    "OSBA_2_1": LTV_DIR.joinpath("ltv48_OSBA_2ISM_FOA.wav"),
    "OSBA_2_2": LTV_DIR.joinpath("ltv48_OSBA_2ISM_HOA2.wav"),
    "OSBA_2_3": LTV_DIR.joinpath("ltv48_OSBA_2ISM_HOA3.wav"),
    "OSBA_3_1": LTV_DIR.joinpath("ltv48_OSBA_3ISM_FOA.wav"),
    "OSBA_3_2": LTV_DIR.joinpath("ltv48_OSBA_3ISM_HOA2.wav"),
    "OSBA_3_3": LTV_DIR.joinpath("ltv48_OSBA_3ISM_HOA3.wav"),
    "OSBA_4_1": LTV_DIR.joinpath("ltv48_OSBA_4ISM_FOA.wav"),
    "OSBA_4_2": LTV_DIR.joinpath("ltv48_OSBA_4ISM_HOA2.wav"),
    "OSBA_4_3": LTV_DIR.joinpath("ltv48_OSBA_4ISM_HOA3.wav"),
    "ISM1MASA1": LTV_DIR.joinpath("ltv48_OMASA_1ISM_1TC.wav"),
    "ISM2MASA1": LTV_DIR.joinpath("ltv48_OMASA_2ISM_1TC.wav"),
    "ISM3MASA1": LTV_DIR.joinpath("ltv48_OMASA_3ISM_1TC.wav"),
    "ISM4MASA1": LTV_DIR.joinpath("ltv48_OMASA_4ISM_1TC.wav"),
    "ISM1MASA2": LTV_DIR.joinpath("ltv48_OMASA_1ISM_2TC.wav"),
    "ISM2MASA2": LTV_DIR.joinpath("ltv48_OMASA_2ISM_2TC.wav"),
    "ISM3MASA2": LTV_DIR.joinpath("ltv48_OMASA_3ISM_2TC.wav"),
    "ISM4MASA2": LTV_DIR.joinpath("ltv48_OMASA_4ISM_2TC.wav"),
    "ISM1SBA1": LTV_DIR.joinpath("ltv48_OSBA_1ISM_FOA.wav"),
    "ISM1SBA2": LTV_DIR.joinpath("ltv48_OSBA_1ISM_HOA2.wav"),
    "ISM1SBA3": LTV_DIR.joinpath("ltv48_OSBA_1ISM_HOA3.wav"),
    "ISM2SBA1": LTV_DIR.joinpath("ltv48_OSBA_2ISM_FOA.wav"),
    "ISM2SBA2": LTV_DIR.joinpath("ltv48_OSBA_2ISM_HOA2.wav"),
    "ISM2SBA3": LTV_DIR.joinpath("ltv48_OSBA_2ISM_HOA3.wav"),
    "ISM3SBA1": LTV_DIR.joinpath("ltv48_OSBA_3ISM_FOA.wav"),
    "ISM3SBA2": LTV_DIR.joinpath("ltv48_OSBA_3ISM_HOA2.wav"),
    "ISM3SBA3": LTV_DIR.joinpath("ltv48_OSBA_3ISM_HOA3.wav"),
    "ISM4SBA1": LTV_DIR.joinpath("ltv48_OSBA_4ISM_FOA.wav"),
    "ISM4SBA2": LTV_DIR.joinpath("ltv48_OSBA_4ISM_HOA2.wav"),
    "ISM4SBA3": LTV_DIR.joinpath("ltv48_OSBA_4ISM_HOA3.wav"),
    "META": TEST_VECTOR_DIR.joinpath("mixed_scene.txt"),
    "16ch_8+4+4": LTV_DIR.joinpath("ltv48_HOA3.wav"),
    "4d4": LTV_DIR.joinpath("ltv48_MC71.wav"),
@@ -252,44 +252,44 @@ FORMAT_TO_METADATA_FILES = {
    ],
    "MASA1": [str(TESTV_DIR.joinpath("stv1MASA1TC48c.met"))],
    "MASA2": [str(TESTV_DIR.joinpath("stv2MASA2TC48c.met"))],
    "OMASA_1_1": [
    "ISM1MASA1": [
        str(TESTV_DIR.joinpath("stvISM1.csv")),
        str(TESTV_DIR.joinpath("stvOMASA_1ISM_1MASA1TC48c.met")),
    ],
    "OMASA_1_2": [
    "ISM2MASA1": [
        str(TESTV_DIR.joinpath("stvISM1.csv")),
        str(TESTV_DIR.joinpath("stvISM2.csv")),
        str(TESTV_DIR.joinpath("stvOMASA_2ISM_2MASA1TC48c.met")),
    ],
    "OMASA_1_3": [
    "ISM3MASA1": [
        str(TESTV_DIR.joinpath("stvISM1.csv")),
        str(TESTV_DIR.joinpath("stvISM2.csv")),
        str(TESTV_DIR.joinpath("stvISM3.csv")),
        str(TESTV_DIR.joinpath("stvOMASA_3ISM_1MASA1TC48c.met")),
    ],
    "OMASA_1_4": [
    "ISM4MASA1": [
        str(TESTV_DIR.joinpath("stvISM1.csv")),
        str(TESTV_DIR.joinpath("stvISM2.csv")),
        str(TESTV_DIR.joinpath("stvISM3.csv")),
        str(TESTV_DIR.joinpath("stvISM4.csv")),
        str(TESTV_DIR.joinpath("stvOMASA_4ISM_2MASA1TC48c.met")),
    ],
    "OMASA_2_1": [
    "ISM1MASA2": [
        str(TESTV_DIR.joinpath("stvISM1.csv")),
        str(TESTV_DIR.joinpath("stvOMASA_1ISM_1MASA2TC48c.met")),
    ],
    "OMASA_2_2": [
    "ISM2MASA2": [
        str(TESTV_DIR.joinpath("stvISM1.csv")),
        str(TESTV_DIR.joinpath("stvISM2.csv")),
        str(TESTV_DIR.joinpath("stvOMASA_2ISM_2MASA2TC48c.met")),
    ],
    "OMASA_2_3": [
    "ISM3MASA2": [
        str(TESTV_DIR.joinpath("stvISM1.csv")),
        str(TESTV_DIR.joinpath("stvISM2.csv")),
        str(TESTV_DIR.joinpath("stvISM3.csv")),
        str(TESTV_DIR.joinpath("stvOMASA_3ISM_1MASA2TC48c.met")),
    ],
    "OMASA_2_4": [
    "ISM4MASA2": [
        str(TESTV_DIR.joinpath("stvISM1.csv")),
        str(TESTV_DIR.joinpath("stvISM2.csv")),
        str(TESTV_DIR.joinpath("stvISM3.csv")),
@@ -323,44 +323,44 @@ FORMAT_TO_METADATA_FILES_LTV = {
    ],
    "MASA1": [str(LTV_DIR.joinpath("ltv48_MASA1TC.met"))],
    "MASA2": [str(LTV_DIR.joinpath("ltv48_MASA2TC.met"))],
    "OMASA_1_1": [
    "ISM1MASA1": [
        str(LTV_DIR.joinpath("ltvISM1.csv")),
        str(LTV_DIR.joinpath("ltv48_OMASA_1ISM_1TC.met")),
    ],
    "OMASA_1_2": [
    "ISM2MASA1": [
        str(LTV_DIR.joinpath("ltvISM1.csv")),
        str(LTV_DIR.joinpath("ltvISM2.csv")),
        str(LTV_DIR.joinpath("ltv48_OMASA_2ISM_1TC.met ")),
    ],
    "OMASA_1_3": [
    "ISM3MASA1": [
        str(LTV_DIR.joinpath("ltvISM1.csv")),
        str(LTV_DIR.joinpath("ltvISM2.csv")),
        str(LTV_DIR.joinpath("ltvISM3.csv")),
        str(LTV_DIR.joinpath("ltv48_OMASA_3ISM_1TC.met")),
    ],
    "OMASA_1_4": [
    "ISM4MASA1": [
        str(LTV_DIR.joinpath("ltvISM1.csv")),
        str(LTV_DIR.joinpath("ltvISM2.csv")),
        str(LTV_DIR.joinpath("ltvISM3.csv")),
        str(LTV_DIR.joinpath("ltvISM4.csv")),
        str(LTV_DIR.joinpath("ltv48_OMASA_4ISM_1TC.met")),
    ],
    "OMASA_2_1": [
    "ISM1MASA2": [
        str(LTV_DIR.joinpath("ltvISM1.csv")),
        str(LTV_DIR.joinpath("ltv48_OMASA_1ISM_2TC.met")),
    ],
    "OMASA_2_2": [
    "ISM2MASA2": [
        str(LTV_DIR.joinpath("ltvISM1.csv")),
        str(LTV_DIR.joinpath("ltvISM2.csv")),
        str(LTV_DIR.joinpath("ltv48_OMASA_2ISM_2TC.met")),
    ],
    "OMASA_2_3": [
    "ISM3MASA2": [
        str(LTV_DIR.joinpath("ltvISM1.csv")),
        str(LTV_DIR.joinpath("ltvISM2.csv")),
        str(LTV_DIR.joinpath("ltvISM3.csv")),
        str(LTV_DIR.joinpath("ltv48_OMASA_3ISM_2TC.met")),
    ],
    "OMASA_2_4": [
    "ISM4MASA2": [
        str(LTV_DIR.joinpath("ltvISM1.csv")),
        str(LTV_DIR.joinpath("ltvISM2.csv")),
        str(LTV_DIR.joinpath("ltvISM3.csv")),
@@ -374,6 +374,31 @@ INPUT_FORMATS_AMBI = ["FOA", "HOA2", "HOA3"]
INPUT_FORMATS_MC = ["MONO", "STEREO", "5_1", "5_1_2", "5_1_4", "7_1", "7_1_4"]
INPUT_FORMATS_ISM = ["ISM1", "ISM2", "ISM3", "ISM4"]
INPUT_FORMATS_MASA = ["MASA1", "MASA2"]
INPUT_FORMATS_OMASA = [
    "ISM1MASA1",
    "ISM2MASA1",
    "ISM3MASA1",
    "ISM4MASA1",
    "ISM1MASA2",
    "ISM2MASA2",
    "ISM3MASA2",
    "ISM4MASA2",
]
INPUT_FORMATS_OSBA = [
    "ISM1SBA1",
    "ISM1SBA2",
    "ISM1SBA3",
    "ISM2SBA1",
    "ISM2SBA2",
    "ISM2SBA3",
    "ISM3SBA1",
    "ISM3SBA2",
    "ISM3SBA3",
    "ISM4SBA1",
    "ISM4SBA2",
    "ISM4SBA3",
]


""" Non binaural / parametric output formats """
OUTPUT_FORMATS = [
@@ -418,4 +443,3 @@ PEAQ_SUPPORTED_FMT = [
    "BINAURAL_ROOM_IR",
    "BINAURAL_ROOM_REVERB",
]
+232 −22
Original line number Diff line number Diff line
@@ -33,25 +33,25 @@ the United Nations Convention on Contracts on the International Sales of Goods.
import pytest

from .constants import (
    FORMAT_TO_METADATA_FILES_LTV,
    OUTPUT_FORMATS,
    INPUT_FORMATS_AMBI,
    FRAMING_TO_TEST,
    CUSTOM_LAYOUT_DIR,
    CUSTOM_LS_TO_TEST,
    EXE_SUFFIX,
    OUTPUT_FORMATS_BINAURAL,
    FRAMING_TO_TEST,
    HR_TRAJECTORIES_TO_TEST,
    HR_TRAJECTORY_DIR,
    INPUT_FORMATS_MC,
    INPUT_FORMATS_AMBI,
    INPUT_FORMATS_ISM,
    INPUT_FORMATS_MASA,
    INPUT_FORMATS_MC,
    INPUT_FORMATS_OMASA,
    INPUT_FORMATS_OSBA,
    METADATA_SCENES_TO_TEST,
    METADATA_SCENES_TO_TEST_MASA_PREREND,
    OUTPUT_FORMATS,
    OUTPUT_FORMATS_BINAURAL,
    TEST_VECTOR_DIR,
    CUSTOM_LS_TO_TEST,
    CUSTOM_LAYOUT_DIR,
    METADATA_SCENES_TO_TEST,
)
from .utils import run_renderer, compare_renderer_args
from ..conftest import props_to_record
from .utils import compare_renderer_args, run_renderer

##############################################################################
# Bit-exactness tests
@@ -187,8 +187,8 @@ def test_dynamic_acoustic_environment(
    aeid,
    split_comparison,
):
    rend_config_path = TEST_VECTOR_DIR.joinpath(f"rend_config_combined.cfg")
    rend_config_path.with_stem(f"rend_config")
    rend_config_path = TEST_VECTOR_DIR.joinpath("rend_config_combined.cfg")
    rend_config_path.with_stem("rend_config")

    run_renderer(
        record_property,
@@ -227,10 +227,10 @@ def test_dynamic_acoustic_environment_file(
    get_odg_bin,
    split_comparison,
):
    rend_config_path = TEST_VECTOR_DIR.joinpath(f"rend_config_combined.cfg")
    rend_config_path.with_stem(f"rend_config")
    rend_config_path = TEST_VECTOR_DIR.joinpath("rend_config_combined.cfg")
    rend_config_path.with_stem("rend_config")

    aeid = TEST_VECTOR_DIR.joinpath(f"aeid1.txt")
    aeid = TEST_VECTOR_DIR.joinpath("aeid1.txt")

    run_renderer(
        record_property,
@@ -530,9 +530,6 @@ def test_masa_binaural_static(
    get_odg_bin,
    split_comparison,
):
    if out_fmt in ["BINAURAL_ROOM_IR", "BINAURAL_ROOM_REVERB"]:
        pytest.skip("Skipping binaural room outputs for MASA as unimplemented.")

    run_renderer(
        record_property,
        props_to_record,
@@ -569,9 +566,6 @@ def test_masa_binaural_headrotation(
    get_odg_bin,
    split_comparison,
):
    if out_fmt in ["BINAURAL_ROOM_IR", "BINAURAL_ROOM_REVERB"]:
        pytest.skip("Skipping binaural room outputs for MASA as unimplemented.")

    run_renderer(
        record_property,
        props_to_record,
@@ -620,6 +614,222 @@ def test_masa_prerend(
    )


""" OMASA """


@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS)
@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_OMASA)
@pytest.mark.parametrize("frame_size", FRAMING_TO_TEST)
def test_omasa(
    record_property,
    props_to_record,
    test_info,
    in_fmt,
    out_fmt,
    frame_size,
    get_mld,
    get_mld_lim,
    get_ssnr,
    get_odg,
    get_odg_bin,
    split_comparison,
):
    run_renderer(
        record_property,
        props_to_record,
        test_info,
        in_fmt,
        out_fmt,
        binary_suffix=EXE_SUFFIX,
        frame_size=frame_size,
        get_mld=get_mld,
        mld_lim=get_mld_lim,
        get_ssnr=get_ssnr,
        get_odg=get_odg,
        get_odg_bin=get_odg_bin,
        split_comparison=split_comparison,
    )


@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL)
@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_OMASA)
@pytest.mark.parametrize("frame_size", FRAMING_TO_TEST)
def test_omasa_binaural_static(
    record_property,
    props_to_record,
    test_info,
    in_fmt,
    out_fmt,
    frame_size,
    get_mld,
    get_mld_lim,
    get_ssnr,
    get_odg,
    get_odg_bin,
    split_comparison,
):
    run_renderer(
        record_property,
        props_to_record,
        test_info,
        in_fmt,
        out_fmt,
        binary_suffix=EXE_SUFFIX,
        frame_size=frame_size,
        get_mld=get_mld,
        mld_lim=get_mld_lim,
        get_ssnr=get_ssnr,
        get_odg=get_odg,
        get_odg_bin=get_odg_bin,
        split_comparison=split_comparison,
    )


@pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST)
@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL)
@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_OMASA)
@pytest.mark.parametrize("frame_size", FRAMING_TO_TEST)
def test_omasa_binaural_headrotation(
    record_property,
    props_to_record,
    test_info,
    in_fmt,
    out_fmt,
    trj_file,
    frame_size,
    get_mld,
    get_mld_lim,
    get_ssnr,
    get_odg,
    get_odg_bin,
    split_comparison,
):
    run_renderer(
        record_property,
        props_to_record,
        test_info,
        in_fmt,
        out_fmt,
        trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"),
        binary_suffix=EXE_SUFFIX,
        frame_size=frame_size,
        get_mld=get_mld,
        mld_lim=get_mld_lim,
        get_ssnr=get_ssnr,
        get_odg=get_odg,
        get_odg_bin=get_odg_bin,
        split_comparison=split_comparison,
    )


""" OSBA """


@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS)
@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_OSBA)
@pytest.mark.parametrize("frame_size", FRAMING_TO_TEST)
def test_osba(
    record_property,
    props_to_record,
    test_info,
    in_fmt,
    out_fmt,
    frame_size,
    get_mld,
    get_mld_lim,
    get_ssnr,
    get_odg,
    get_odg_bin,
    split_comparison,
):
    run_renderer(
        record_property,
        props_to_record,
        test_info,
        in_fmt,
        out_fmt,
        binary_suffix=EXE_SUFFIX,
        frame_size=frame_size,
        get_mld=get_mld,
        mld_lim=get_mld_lim,
        get_ssnr=get_ssnr,
        get_odg=get_odg,
        get_odg_bin=get_odg_bin,
        split_comparison=split_comparison,
    )


@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL)
@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_OSBA)
@pytest.mark.parametrize("frame_size", FRAMING_TO_TEST)
def test_osba_binaural_static(
    record_property,
    props_to_record,
    test_info,
    in_fmt,
    out_fmt,
    frame_size,
    get_mld,
    get_mld_lim,
    get_ssnr,
    get_odg,
    get_odg_bin,
    split_comparison,
):
    run_renderer(
        record_property,
        props_to_record,
        test_info,
        in_fmt,
        out_fmt,
        binary_suffix=EXE_SUFFIX,
        frame_size=frame_size,
        get_mld=get_mld,
        mld_lim=get_mld_lim,
        get_ssnr=get_ssnr,
        get_odg=get_odg,
        get_odg_bin=get_odg_bin,
        split_comparison=split_comparison,
    )


@pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST)
@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL)
@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_OSBA)
@pytest.mark.parametrize("frame_size", FRAMING_TO_TEST)
def test_osba_binaural_headrotation(
    record_property,
    props_to_record,
    test_info,
    in_fmt,
    out_fmt,
    trj_file,
    frame_size,
    get_mld,
    get_mld_lim,
    get_ssnr,
    get_odg,
    get_odg_bin,
    split_comparison,
):
    run_renderer(
        record_property,
        props_to_record,
        test_info,
        in_fmt,
        out_fmt,
        trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"),
        binary_suffix=EXE_SUFFIX,
        frame_size=frame_size,
        get_mld=get_mld,
        mld_lim=get_mld_lim,
        get_ssnr=get_ssnr,
        get_odg=get_odg,
        get_odg_bin=get_odg_bin,
        split_comparison=split_comparison,
    )


""" Custom loudspeaker layouts """


+18 −17
Original line number Diff line number Diff line
@@ -30,41 +30,42 @@ accordance with the laws of the Federal Republic of Germany excluding its confli
the United Nations Convention on Contracts on the International Sales of Goods.
"""

import errno
import filecmp
import logging
import os
from pathlib import Path
import re
import subprocess as sp
import sys
import tempfile
from pathlib import Path
from typing import Dict, Optional, Union

import numpy as np
import pytest
import re
import errno
import tempfile

from ..constants import CAT_NORMAL
from .compare_audio import compare_audio_arrays
from .constants import (
    LTV_DIR,
    SCRIPTS_DIR,
    OUTPUT_PATH_REF,
    OUTPUT_PATH_CUT,
    BIN_SUFFIX_MERGETARGET,
    FORMAT_TO_FILE_COMPARETEST,
    FORMAT_TO_FILE_LTV,
    FORMAT_TO_FILE_SMOKETEST,
    FORMAT_TO_METADATA_FILES,
    FORMAT_TO_METADATA_FILES_LTV,
    FORMAT_TO_FILE_SMOKETEST,
    RENDERER_CMD,
    BIN_SUFFIX_MERGETARGET,
    LTV_DIR,
    OUTPUT_PATH_CUT,
    OUTPUT_PATH_REF,
    PEAQ_SUPPORTED_FMT,
    RENDERER_CMD,
    SCRIPTS_DIR,
)
from ..constants import CAT_NORMAL

sys.path.append(SCRIPTS_DIR)
from pyaudio3dtools.audiofile import readfile

from ..cmp_pcm import cmp_pcm
from ..conftest import parse_properties, get_split_idx
from ..conftest import get_split_idx, parse_properties


def run_cmd(cmd, test_info, env=None):
@@ -549,8 +550,8 @@ def binauralize_input_and_output(
        # If extended metadata is not used, strip the metadata for the external renderer
        extended_md_used = (
            re.search(r"-ism\s?\+[1-4]", enc_opts)
            and not "OMASA" in in_fmt
            and not "OSBA" in in_fmt
            and "OMASA" not in in_fmt
            and "OSBA" not in in_fmt
        )
        if not extended_md_used and n_obj > 0:
            truncated_meta_files = []
@@ -632,7 +633,7 @@ def binauralize_input_and_output(

        aeid = findstr(r"-aeid\s+(\S+)", dec_opts)

        if not output_config.upper() in PEAQ_SUPPORTED_FMT:
        if output_config.upper() not in PEAQ_SUPPORTED_FMT:
            # Render output to BINAURAL
            output_reformat = "BINAURAL"

+64 −64

File changed.

Preview size limit exceeded, changes collapsed.

+171 −118

File changed.

Preview size limit exceeded, changes collapsed.

Loading