Loading lib_rend/ivas_efap.c +4 −0 Original line number Diff line number Diff line Loading @@ -155,8 +155,12 @@ ivas_error efap_init_data( if ( !speaker_node_azi_deg || !speaker_node_ele_deg ) { hEFAPdata = NULL; #ifdef EXT_RENDERER return IVAS_ERROR( IVAS_ERR_WRONG_PARAMS, "EFAP requires arrays of speaker azimuths and elevations" ); #else /* TODO: is this path correct behaviour or and error ? */ return IVAS_ERR_OK; #endif } /*-----------------------------------------------------------------* Loading tests/renderer/constants.py +52 −41 Original line number Diff line number Diff line Loading @@ -149,10 +149,10 @@ FORMAT_TO_FILE = { # "ISM2": TEST_VECTOR_DIR.joinpath("spectral_test_ism2.txt"), # "ISM3": TEST_VECTOR_DIR.joinpath("spectral_test_ism3.txt"), # "ISM4": TEST_VECTOR_DIR.joinpath("spectral_test_ism4.txt"), "MASA1": NCHAN_TO_FILE[1], "MASA2": NCHAN_TO_FILE[2], # "MASA1": TEST_VECTOR_DIR.joinpath("stv_IVASMASA_1dir1TC.pcm"), # "MASA2": TEST_VECTOR_DIR.joinpath("stv_IVASMASA_2dir2TC.pcm"), # "MASA1": NCHAN_TO_FILE[1], # "MASA2": NCHAN_TO_FILE[2], "MASA1": TESTV_DIR.joinpath("stv_IVASMASA_1dir1TC.pcm"), "MASA2": TESTV_DIR.joinpath("stv_IVASMASA_2dir2TC.pcm"), "META": TEST_VECTOR_DIR.joinpath("mixed_scene.txt"), "16ch_8+4+4": NCHAN_TO_FILE[16], "4d0": NCHAN_TO_FILE[4], Loading Loading @@ -182,8 +182,8 @@ FORMAT_TO_METADATA_FILES = { str(TESTV_DIR.joinpath("stvISM3.csv")), str(TESTV_DIR.joinpath("stvISM4.csv")), ], "MASA1": [str(TESTV_DIR.joinpath("stv_IVASMASAQ_1dir1TC.met"))], "MASA2": [str(TESTV_DIR.joinpath("stv_IVASMASAQ_2dir2TC.met"))], "MASA1": [str(TESTV_DIR.joinpath("stv_IVASMASA_1dir1TC.met"))], "MASA2": [str(TESTV_DIR.joinpath("stv_IVASMASA_2dir2TC.met"))], } FORMAT_TO_IVAS = { Loading Loading @@ -284,7 +284,8 @@ pass_snr = { # TODO needs debugging "test_ambisonics_binaural_headrotation[HOA2-BINAURAL-full_circle_in_15s]": 18, "test_ambisonics_binaural_headrotation[HOA3-BINAURAL-full_circle_in_15s]": 15, # Crend unit test does not support SHD BRIRs # Failure reason: Crend unit test does not support intermediate conversion to 7_1_4 or SHD BRIRs # Comparison with pyaudio3dtools results in bad SNR "test_ambisonics_binaural_headrotation[FOA-BINAURAL_ROOM-full_circle_in_15s]": 0, "test_ambisonics_binaural_headrotation[FOA-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, "test_ambisonics_binaural_headrotation[HOA2-BINAURAL_ROOM-full_circle_in_15s]": 0, Loading @@ -296,8 +297,8 @@ pass_snr = { "test_ambisonics_binaural_static[FOA-BINAURAL_ROOM]": 0, "test_ambisonics_binaural_static[HOA2-BINAURAL_ROOM]": 0, "test_ambisonics_binaural_static[HOA3-BINAURAL_ROOM]": 0, # TD Object Renderer used internally, comparison to pyaudio3dtools has bad SNR # TD Object Renderer standalone does not support custom LS # Failure reason: TD Object Renderer standalone does not support custom LS input # Comparison with pyaudio3dtools results in bad SNR "test_custom_ls_input_binaural[16ch_8+4+4-BINAURAL]": 0, "test_custom_ls_input_binaural[16ch_8+4+4-BINAURAL_ROOM]": 0, "test_custom_ls_input_binaural[4d4-BINAURAL]": 0, Loading @@ -322,9 +323,9 @@ pass_snr = { "test_custom_ls_input_binaural[itu_4+5+1-BINAURAL_ROOM]": 3, "test_custom_ls_input_binaural[t_design_4-BINAURAL]": 0, "test_custom_ls_input_binaural[t_design_4-BINAURAL_ROOM]": 0, # Crend used internally, comparison to pyaudio3dtools has bad SNR # Crend unit test does not support ISM rendering # 5ms rendering still TODO in renderer # TODO need to verify 5ms rendering in external renderer # Crend unit test does not support intermediate conversion to 7_1_4 # Comparison with pyaudio3dtools results in bad SNR "test_ism_binaural_headrotation[ISM1-BINAURAL_ROOM-full_circle_in_15s]": 9, "test_ism_binaural_headrotation[ISM1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 4, "test_ism_binaural_headrotation[ISM2-BINAURAL_ROOM-full_circle_in_15s]": 10, Loading @@ -340,7 +341,8 @@ pass_snr = { "test_ism_binaural_static[ISM2-BINAURAL_ROOM]": 21, "test_ism_binaural_static[ISM3-BINAURAL_ROOM]": 21, "test_ism_binaural_static[ISM4-BINAURAL_ROOM]": 21, # TODO needs debugging, minor differences could be due to crossfades or metadata position rounding # TODO needs debugging # Failure reason: minor differences could be due to crossfades or metadata position rounding "test_ism[ISM1-5_1_2]": 48, "test_ism[ISM1-5_1_4]": 48, "test_ism[ISM1-5_1]": 48, Loading Loading @@ -377,19 +379,26 @@ pass_snr = { "test_ism[ISM4-HOA2]": 36, "test_ism[ISM4-HOA3]": 33, "test_ism[ISM4-STEREO]": 57, # bitexact except for delay alignment of LFE signal (Issue 59) # TODO delay alignment of LFE in binaural output # Failure reason: bitexact except for delay alignment of LFE signal (Issue 59) "test_multichannel_binaural_headrotation[5_1-BINAURAL-full_circle_in_15s]": 7, "test_multichannel_binaural_headrotation[5_1-BINAURAL-rotate_yaw_pitch_roll1]": 6, "test_multichannel_binaural_headrotation[7_1-BINAURAL-full_circle_in_15s]": 8, "test_multichannel_binaural_headrotation[7_1-BINAURAL-rotate_yaw_pitch_roll1]": 8, # TODO minor differences, needs debugging # Failure reason: bitexact except for clicks and differences in center channel, could be due to crossfades "test_multichannel_binaural_headrotation[5_1_2-BINAURAL-full_circle_in_15s]": 30, "test_multichannel_binaural_headrotation[5_1_2-BINAURAL-rotate_yaw_pitch_roll1]": 30, "test_multichannel_binaural_headrotation[5_1_4-BINAURAL-full_circle_in_15s]": 29, "test_multichannel_binaural_headrotation[5_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 29, "test_multichannel_binaural_headrotation[7_1_4-BINAURAL-full_circle_in_15s]": 30, "test_multichannel_binaural_headrotation[7_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 30, # headrotation may be applied differently "test_multichannel_binaural_static[5_1_2-BINAURAL]": 30, "test_multichannel_binaural_static[5_1_4-BINAURAL]": 29, "test_multichannel_binaural_static[5_1-BINAURAL]": 27, "test_multichannel_binaural_static[7_1-BINAURAL]": 30, "test_multichannel_binaural_static[7_1_4-BINAURAL]": 30, # TODO needs debugging # Failure reason: headrotation may be applied differently, differences increase progressively "test_multichannel_binaural_headrotation[5_1-BINAURAL_ROOM-full_circle_in_15s]": 10, "test_multichannel_binaural_headrotation[5_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 4, "test_multichannel_binaural_headrotation[5_1_2-BINAURAL_ROOM-full_circle_in_15s]": 11, Loading @@ -400,39 +409,38 @@ pass_snr = { "test_multichannel_binaural_headrotation[7_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 3, "test_multichannel_binaural_headrotation[7_1_4-BINAURAL_ROOM-full_circle_in_15s]": 10, "test_multichannel_binaural_headrotation[7_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 3, # TODO minor differences, needs debugging (same as headrotation case) "test_multichannel_binaural_static[5_1_2-BINAURAL]": 30, "test_multichannel_binaural_static[5_1_4-BINAURAL]": 29, "test_multichannel_binaural_static[5_1-BINAURAL]": 27, "test_multichannel_binaural_static[7_1-BINAURAL]": 30, "test_multichannel_binaural_static[7_1_4-BINAURAL]": 30, ##################################### # # External vs Internal Renderer tests # ##################################### # TODO conversion to 7_1_4 might be different (as indicated by next section of tests), needs debugging # Failure reason: only fails for this trajectory with very high SNR, possible minor diff. in crossfade # or due to usage of multiple TD Object Renderer instances "test_ism_binaural_headrotation_vs_decoder[ISM2-BINAURAL-rotate_yaw_pitch_roll1]": 84, "test_ism_binaural_headrotation_vs_decoder[ISM3-BINAURAL-rotate_yaw_pitch_roll1]": 78, "test_ism_binaural_headrotation_vs_decoder[ISM4-BINAURAL-rotate_yaw_pitch_roll1]": 85, # TODO needs investigation # Failure reason: conversion to 7_1_4 could be implemented differently w.r.t decoder "test_ism_binaural_headrotation_vs_decoder[ISM1-BINAURAL_ROOM-full_circle_in_15s]": 15, "test_ism_binaural_headrotation_vs_decoder[ISM1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 15, "test_ism_binaural_headrotation_vs_decoder[ISM2-BINAURAL_ROOM-full_circle_in_15s]": 12, "test_ism_binaural_headrotation_vs_decoder[ISM2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 13, "test_ism_binaural_headrotation_vs_decoder[ISM2-BINAURAL-rotate_yaw_pitch_roll1]": 84, "test_ism_binaural_headrotation_vs_decoder[ISM3-BINAURAL_ROOM-full_circle_in_15s]": 12, "test_ism_binaural_headrotation_vs_decoder[ISM3-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 13, "test_ism_binaural_headrotation_vs_decoder[ISM3-BINAURAL-rotate_yaw_pitch_roll1]": 78, "test_ism_binaural_headrotation_vs_decoder[ISM4-BINAURAL_ROOM-full_circle_in_15s]": 12, "test_ism_binaural_headrotation_vs_decoder[ISM4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 13, "test_ism_binaural_headrotation_vs_decoder[ISM4-BINAURAL-rotate_yaw_pitch_roll1]": 85, "test_ism_binaural_static_vs_decoder[ISM1-BINAURAL_ROOM]": 15, "test_ism_binaural_static_vs_decoder[ISM2-BINAURAL_ROOM]": 12, "test_ism_binaural_static_vs_decoder[ISM3-BINAURAL_ROOM]": 12, "test_ism_binaural_static_vs_decoder[ISM4-BINAURAL_ROOM]": 12, # TODO ISM to stereo panning is done via EFAP in the renderer and tangent law in decoder, harmonize # TODO harmonize panning to stereo # Failure reason ISM to stereo panning is done via EFAP in the renderer and tangent law in decoder, harmonize "test_ism_vs_decoder[ISM1-STEREO]": 8, "test_ism_vs_decoder[ISM2-STEREO]": 17, "test_ism_vs_decoder[ISM3-STEREO]": 14, "test_ism_vs_decoder[ISM4-STEREO]": 14, # TODO loudspeaker and ambisonics rendering could be due to crossfades or metadata position rounding # TODO needs investigation # Failure reason: likely differences between metadata position rounding (decoder uses ceil()) and crossfades "test_ism_vs_decoder[ISM1-5_1_2]": 26, "test_ism_vs_decoder[ISM1-5_1]": 26, "test_ism_vs_decoder[ISM1-5_1_4]": 26, Loading Loading @@ -467,43 +475,46 @@ pass_snr = { "test_ism_vs_decoder[ISM4-HOA2]": 30, "test_ism_vs_decoder[ISM4-HOA3]": 29, "test_ism_vs_decoder[ISM4-MONO]": 77, # TODO needs debugging # TODO needs investigation # Failure reason: headrotation and crossfade could have differences "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL-full_circle_in_15s]": 4, "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-full_circle_in_15s]": 6, "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL-full_circle_in_15s]": 4, "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-full_circle_in_15s]": 7, "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-full_circle_in_15s]": 5, "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL-full_circle_in_15s]": 4, "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-full_circle_in_15s]": 5, "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 0, # TODO needs investigation "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-full_circle_in_15s]": 5, "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-full_circle_in_15s]": 6, "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-full_circle_in_15s]": 7, "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[7_1-BINAURAL_ROOM-full_circle_in_15s]": 5, "test_multichannel_binaural_headrotation_vs_decoder[7_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, # TODO needs debugging "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-full_circle_in_15s]": 5, "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, # TODO needs investigation "test_multichannel_binaural_static_vs_decoder[5_1_2-BINAURAL_ROOM]": 18, "test_multichannel_binaural_static_vs_decoder[5_1_4-BINAURAL_ROOM]": 18, "test_multichannel_binaural_static_vs_decoder[5_1-BINAURAL_ROOM]": 18, "test_multichannel_binaural_static_vs_decoder[7_1_4-BINAURAL_ROOM]": 18, "test_multichannel_binaural_static_vs_decoder[7_1-BINAURAL_ROOM]": 19, # TODO Mono downmix significantly different, needs a fix # Failure reason: Mono downmix significantly different, needs a fix "test_multichannel_vs_decoder[5_1_2-MONO]": 1, "test_multichannel_vs_decoder[5_1_4-MONO]": 1, "test_multichannel_vs_decoder[5_1-MONO]": 1, "test_multichannel_vs_decoder[7_1_4-MONO]": 1, "test_multichannel_vs_decoder[7_1-MONO]": 1, "test_multichannel_vs_decoder[STEREO-MONO]": 17, # TODO Stereo downmix differs slightly, needs debugging # Failure reason: Stereo downmix differs slightly, needs a fix "test_multichannel_vs_decoder[5_1_2-STEREO]": 44, "test_multichannel_vs_decoder[5_1_4-STEREO]": 48, "test_multichannel_vs_decoder[5_1-STEREO]": 48, "test_multichannel_vs_decoder[7_1_4-STEREO]": 46, "test_multichannel_vs_decoder[7_1-STEREO]": 44, # TODO minor differences, needs debugging # TODO needs investigation # Failure reason: possibly due to minor differences in crossfades "test_multichannel_vs_decoder[5_1_2-5_1_4]": 63, "test_multichannel_vs_decoder[5_1_2-5_1]": 63, "test_multichannel_vs_decoder[5_1_2-7_1_4]": 63, Loading Loading
lib_rend/ivas_efap.c +4 −0 Original line number Diff line number Diff line Loading @@ -155,8 +155,12 @@ ivas_error efap_init_data( if ( !speaker_node_azi_deg || !speaker_node_ele_deg ) { hEFAPdata = NULL; #ifdef EXT_RENDERER return IVAS_ERROR( IVAS_ERR_WRONG_PARAMS, "EFAP requires arrays of speaker azimuths and elevations" ); #else /* TODO: is this path correct behaviour or and error ? */ return IVAS_ERR_OK; #endif } /*-----------------------------------------------------------------* Loading
tests/renderer/constants.py +52 −41 Original line number Diff line number Diff line Loading @@ -149,10 +149,10 @@ FORMAT_TO_FILE = { # "ISM2": TEST_VECTOR_DIR.joinpath("spectral_test_ism2.txt"), # "ISM3": TEST_VECTOR_DIR.joinpath("spectral_test_ism3.txt"), # "ISM4": TEST_VECTOR_DIR.joinpath("spectral_test_ism4.txt"), "MASA1": NCHAN_TO_FILE[1], "MASA2": NCHAN_TO_FILE[2], # "MASA1": TEST_VECTOR_DIR.joinpath("stv_IVASMASA_1dir1TC.pcm"), # "MASA2": TEST_VECTOR_DIR.joinpath("stv_IVASMASA_2dir2TC.pcm"), # "MASA1": NCHAN_TO_FILE[1], # "MASA2": NCHAN_TO_FILE[2], "MASA1": TESTV_DIR.joinpath("stv_IVASMASA_1dir1TC.pcm"), "MASA2": TESTV_DIR.joinpath("stv_IVASMASA_2dir2TC.pcm"), "META": TEST_VECTOR_DIR.joinpath("mixed_scene.txt"), "16ch_8+4+4": NCHAN_TO_FILE[16], "4d0": NCHAN_TO_FILE[4], Loading Loading @@ -182,8 +182,8 @@ FORMAT_TO_METADATA_FILES = { str(TESTV_DIR.joinpath("stvISM3.csv")), str(TESTV_DIR.joinpath("stvISM4.csv")), ], "MASA1": [str(TESTV_DIR.joinpath("stv_IVASMASAQ_1dir1TC.met"))], "MASA2": [str(TESTV_DIR.joinpath("stv_IVASMASAQ_2dir2TC.met"))], "MASA1": [str(TESTV_DIR.joinpath("stv_IVASMASA_1dir1TC.met"))], "MASA2": [str(TESTV_DIR.joinpath("stv_IVASMASA_2dir2TC.met"))], } FORMAT_TO_IVAS = { Loading Loading @@ -284,7 +284,8 @@ pass_snr = { # TODO needs debugging "test_ambisonics_binaural_headrotation[HOA2-BINAURAL-full_circle_in_15s]": 18, "test_ambisonics_binaural_headrotation[HOA3-BINAURAL-full_circle_in_15s]": 15, # Crend unit test does not support SHD BRIRs # Failure reason: Crend unit test does not support intermediate conversion to 7_1_4 or SHD BRIRs # Comparison with pyaudio3dtools results in bad SNR "test_ambisonics_binaural_headrotation[FOA-BINAURAL_ROOM-full_circle_in_15s]": 0, "test_ambisonics_binaural_headrotation[FOA-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, "test_ambisonics_binaural_headrotation[HOA2-BINAURAL_ROOM-full_circle_in_15s]": 0, Loading @@ -296,8 +297,8 @@ pass_snr = { "test_ambisonics_binaural_static[FOA-BINAURAL_ROOM]": 0, "test_ambisonics_binaural_static[HOA2-BINAURAL_ROOM]": 0, "test_ambisonics_binaural_static[HOA3-BINAURAL_ROOM]": 0, # TD Object Renderer used internally, comparison to pyaudio3dtools has bad SNR # TD Object Renderer standalone does not support custom LS # Failure reason: TD Object Renderer standalone does not support custom LS input # Comparison with pyaudio3dtools results in bad SNR "test_custom_ls_input_binaural[16ch_8+4+4-BINAURAL]": 0, "test_custom_ls_input_binaural[16ch_8+4+4-BINAURAL_ROOM]": 0, "test_custom_ls_input_binaural[4d4-BINAURAL]": 0, Loading @@ -322,9 +323,9 @@ pass_snr = { "test_custom_ls_input_binaural[itu_4+5+1-BINAURAL_ROOM]": 3, "test_custom_ls_input_binaural[t_design_4-BINAURAL]": 0, "test_custom_ls_input_binaural[t_design_4-BINAURAL_ROOM]": 0, # Crend used internally, comparison to pyaudio3dtools has bad SNR # Crend unit test does not support ISM rendering # 5ms rendering still TODO in renderer # TODO need to verify 5ms rendering in external renderer # Crend unit test does not support intermediate conversion to 7_1_4 # Comparison with pyaudio3dtools results in bad SNR "test_ism_binaural_headrotation[ISM1-BINAURAL_ROOM-full_circle_in_15s]": 9, "test_ism_binaural_headrotation[ISM1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 4, "test_ism_binaural_headrotation[ISM2-BINAURAL_ROOM-full_circle_in_15s]": 10, Loading @@ -340,7 +341,8 @@ pass_snr = { "test_ism_binaural_static[ISM2-BINAURAL_ROOM]": 21, "test_ism_binaural_static[ISM3-BINAURAL_ROOM]": 21, "test_ism_binaural_static[ISM4-BINAURAL_ROOM]": 21, # TODO needs debugging, minor differences could be due to crossfades or metadata position rounding # TODO needs debugging # Failure reason: minor differences could be due to crossfades or metadata position rounding "test_ism[ISM1-5_1_2]": 48, "test_ism[ISM1-5_1_4]": 48, "test_ism[ISM1-5_1]": 48, Loading Loading @@ -377,19 +379,26 @@ pass_snr = { "test_ism[ISM4-HOA2]": 36, "test_ism[ISM4-HOA3]": 33, "test_ism[ISM4-STEREO]": 57, # bitexact except for delay alignment of LFE signal (Issue 59) # TODO delay alignment of LFE in binaural output # Failure reason: bitexact except for delay alignment of LFE signal (Issue 59) "test_multichannel_binaural_headrotation[5_1-BINAURAL-full_circle_in_15s]": 7, "test_multichannel_binaural_headrotation[5_1-BINAURAL-rotate_yaw_pitch_roll1]": 6, "test_multichannel_binaural_headrotation[7_1-BINAURAL-full_circle_in_15s]": 8, "test_multichannel_binaural_headrotation[7_1-BINAURAL-rotate_yaw_pitch_roll1]": 8, # TODO minor differences, needs debugging # Failure reason: bitexact except for clicks and differences in center channel, could be due to crossfades "test_multichannel_binaural_headrotation[5_1_2-BINAURAL-full_circle_in_15s]": 30, "test_multichannel_binaural_headrotation[5_1_2-BINAURAL-rotate_yaw_pitch_roll1]": 30, "test_multichannel_binaural_headrotation[5_1_4-BINAURAL-full_circle_in_15s]": 29, "test_multichannel_binaural_headrotation[5_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 29, "test_multichannel_binaural_headrotation[7_1_4-BINAURAL-full_circle_in_15s]": 30, "test_multichannel_binaural_headrotation[7_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 30, # headrotation may be applied differently "test_multichannel_binaural_static[5_1_2-BINAURAL]": 30, "test_multichannel_binaural_static[5_1_4-BINAURAL]": 29, "test_multichannel_binaural_static[5_1-BINAURAL]": 27, "test_multichannel_binaural_static[7_1-BINAURAL]": 30, "test_multichannel_binaural_static[7_1_4-BINAURAL]": 30, # TODO needs debugging # Failure reason: headrotation may be applied differently, differences increase progressively "test_multichannel_binaural_headrotation[5_1-BINAURAL_ROOM-full_circle_in_15s]": 10, "test_multichannel_binaural_headrotation[5_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 4, "test_multichannel_binaural_headrotation[5_1_2-BINAURAL_ROOM-full_circle_in_15s]": 11, Loading @@ -400,39 +409,38 @@ pass_snr = { "test_multichannel_binaural_headrotation[7_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 3, "test_multichannel_binaural_headrotation[7_1_4-BINAURAL_ROOM-full_circle_in_15s]": 10, "test_multichannel_binaural_headrotation[7_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 3, # TODO minor differences, needs debugging (same as headrotation case) "test_multichannel_binaural_static[5_1_2-BINAURAL]": 30, "test_multichannel_binaural_static[5_1_4-BINAURAL]": 29, "test_multichannel_binaural_static[5_1-BINAURAL]": 27, "test_multichannel_binaural_static[7_1-BINAURAL]": 30, "test_multichannel_binaural_static[7_1_4-BINAURAL]": 30, ##################################### # # External vs Internal Renderer tests # ##################################### # TODO conversion to 7_1_4 might be different (as indicated by next section of tests), needs debugging # Failure reason: only fails for this trajectory with very high SNR, possible minor diff. in crossfade # or due to usage of multiple TD Object Renderer instances "test_ism_binaural_headrotation_vs_decoder[ISM2-BINAURAL-rotate_yaw_pitch_roll1]": 84, "test_ism_binaural_headrotation_vs_decoder[ISM3-BINAURAL-rotate_yaw_pitch_roll1]": 78, "test_ism_binaural_headrotation_vs_decoder[ISM4-BINAURAL-rotate_yaw_pitch_roll1]": 85, # TODO needs investigation # Failure reason: conversion to 7_1_4 could be implemented differently w.r.t decoder "test_ism_binaural_headrotation_vs_decoder[ISM1-BINAURAL_ROOM-full_circle_in_15s]": 15, "test_ism_binaural_headrotation_vs_decoder[ISM1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 15, "test_ism_binaural_headrotation_vs_decoder[ISM2-BINAURAL_ROOM-full_circle_in_15s]": 12, "test_ism_binaural_headrotation_vs_decoder[ISM2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 13, "test_ism_binaural_headrotation_vs_decoder[ISM2-BINAURAL-rotate_yaw_pitch_roll1]": 84, "test_ism_binaural_headrotation_vs_decoder[ISM3-BINAURAL_ROOM-full_circle_in_15s]": 12, "test_ism_binaural_headrotation_vs_decoder[ISM3-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 13, "test_ism_binaural_headrotation_vs_decoder[ISM3-BINAURAL-rotate_yaw_pitch_roll1]": 78, "test_ism_binaural_headrotation_vs_decoder[ISM4-BINAURAL_ROOM-full_circle_in_15s]": 12, "test_ism_binaural_headrotation_vs_decoder[ISM4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 13, "test_ism_binaural_headrotation_vs_decoder[ISM4-BINAURAL-rotate_yaw_pitch_roll1]": 85, "test_ism_binaural_static_vs_decoder[ISM1-BINAURAL_ROOM]": 15, "test_ism_binaural_static_vs_decoder[ISM2-BINAURAL_ROOM]": 12, "test_ism_binaural_static_vs_decoder[ISM3-BINAURAL_ROOM]": 12, "test_ism_binaural_static_vs_decoder[ISM4-BINAURAL_ROOM]": 12, # TODO ISM to stereo panning is done via EFAP in the renderer and tangent law in decoder, harmonize # TODO harmonize panning to stereo # Failure reason ISM to stereo panning is done via EFAP in the renderer and tangent law in decoder, harmonize "test_ism_vs_decoder[ISM1-STEREO]": 8, "test_ism_vs_decoder[ISM2-STEREO]": 17, "test_ism_vs_decoder[ISM3-STEREO]": 14, "test_ism_vs_decoder[ISM4-STEREO]": 14, # TODO loudspeaker and ambisonics rendering could be due to crossfades or metadata position rounding # TODO needs investigation # Failure reason: likely differences between metadata position rounding (decoder uses ceil()) and crossfades "test_ism_vs_decoder[ISM1-5_1_2]": 26, "test_ism_vs_decoder[ISM1-5_1]": 26, "test_ism_vs_decoder[ISM1-5_1_4]": 26, Loading Loading @@ -467,43 +475,46 @@ pass_snr = { "test_ism_vs_decoder[ISM4-HOA2]": 30, "test_ism_vs_decoder[ISM4-HOA3]": 29, "test_ism_vs_decoder[ISM4-MONO]": 77, # TODO needs debugging # TODO needs investigation # Failure reason: headrotation and crossfade could have differences "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL-full_circle_in_15s]": 4, "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-full_circle_in_15s]": 6, "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL-full_circle_in_15s]": 4, "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-full_circle_in_15s]": 7, "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-full_circle_in_15s]": 5, "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL-full_circle_in_15s]": 4, "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-full_circle_in_15s]": 5, "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 0, # TODO needs investigation "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-full_circle_in_15s]": 5, "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-full_circle_in_15s]": 6, "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-full_circle_in_15s]": 7, "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[7_1-BINAURAL_ROOM-full_circle_in_15s]": 5, "test_multichannel_binaural_headrotation_vs_decoder[7_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, # TODO needs debugging "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-full_circle_in_15s]": 5, "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, # TODO needs investigation "test_multichannel_binaural_static_vs_decoder[5_1_2-BINAURAL_ROOM]": 18, "test_multichannel_binaural_static_vs_decoder[5_1_4-BINAURAL_ROOM]": 18, "test_multichannel_binaural_static_vs_decoder[5_1-BINAURAL_ROOM]": 18, "test_multichannel_binaural_static_vs_decoder[7_1_4-BINAURAL_ROOM]": 18, "test_multichannel_binaural_static_vs_decoder[7_1-BINAURAL_ROOM]": 19, # TODO Mono downmix significantly different, needs a fix # Failure reason: Mono downmix significantly different, needs a fix "test_multichannel_vs_decoder[5_1_2-MONO]": 1, "test_multichannel_vs_decoder[5_1_4-MONO]": 1, "test_multichannel_vs_decoder[5_1-MONO]": 1, "test_multichannel_vs_decoder[7_1_4-MONO]": 1, "test_multichannel_vs_decoder[7_1-MONO]": 1, "test_multichannel_vs_decoder[STEREO-MONO]": 17, # TODO Stereo downmix differs slightly, needs debugging # Failure reason: Stereo downmix differs slightly, needs a fix "test_multichannel_vs_decoder[5_1_2-STEREO]": 44, "test_multichannel_vs_decoder[5_1_4-STEREO]": 48, "test_multichannel_vs_decoder[5_1-STEREO]": 48, "test_multichannel_vs_decoder[7_1_4-STEREO]": 46, "test_multichannel_vs_decoder[7_1-STEREO]": 44, # TODO minor differences, needs debugging # TODO needs investigation # Failure reason: possibly due to minor differences in crossfades "test_multichannel_vs_decoder[5_1_2-5_1_4]": 63, "test_multichannel_vs_decoder[5_1_2-5_1]": 63, "test_multichannel_vs_decoder[5_1_2-7_1_4]": 63, Loading