Loading scripts/binauralRenderer_interface/generate_ivas_binauralizer_tables_from_sofa.m +34 −10 Original line number Diff line number Diff line Loading @@ -38,6 +38,13 @@ clear all; close all; clc; if isfolder(['binaural_renderers_hrtf_data' filesep() 'IVAS_default']) rmdir(['binaural_renderers_hrtf_data' filesep() 'IVAS_default'],'s'); end if isfolder(['binaural_renderers_hrtf_data' filesep() 'temp']) rmdir(['binaural_renderers_hrtf_data' filesep() 'temp'],'s'); end %% Add path to routines needed scripts addpath('./matlab_hrir_generation_scripts/'); addpath('./param_bin/'); Loading @@ -45,7 +52,7 @@ addpath('./fastconv/'); addpath(genpath('../td_object_renderer/modeling_tool/')); %% Set arguments generateCustomBinaryFile = false; generateCustomBinaryFile = true; generateBinaryFile_fx = true; generate_BE = false; writeRomFileOutput = true & ~generateCustomBinaryFile; %% generation of rom files if true Loading @@ -57,20 +64,28 @@ ivas_path = ['..' filesep '..' filesep]; %% Set input files if generateCustomBinaryFile hrir_file_name_init = 'HRIR_128_Meth5_IRC_51_Q10_symL_Itrp1_48000.sofa'; hrir_file_name = 'HRIR_128_Meth5_IRC_51_Q10_symL_Itrp1_48000.sofa'; output_bin_name = 'ivas_binaural_51_brir-lc'; % hrir_file_name = 'HRIR_128_Meth5_IRC_51_Q10_symL_Itrp1_48000.sofa'; hrir_file_name = 'FABIAN_HRIR_measured_HATO_0.sofa'; % hrir_file_name = 'ari-dtf_nh2.sofa'; % fail for TD renderer % hrir_file_name = 'BiLi-IRC_1101_C_HRIR_96000.sofa'; % fail for TD renderer % hrir_file_name = 'cipic-subject_003.sofa'; % fail for TD renderer % hrir_file_name = 'Listen-IRC_1002_C_44100.sofa'; % fail for TD renderer % hrir_file_name = 'mit_kemar_normal_pinna.sofa'; % fail for TD renderer %hrir_file_name = 'RIEC_hrir_subject_001.sofa'; % fail for TD renderer hrir_file_name_init = hrir_file_name; output_bin_name = 'ivas_binaural_custom'; brir_file_name = 'bbcrdlr_all_speakers.sofa'; else hrir_file_name_init = 'HRIR_128_Meth5_IRC_53_Q10_symL_Itrp1_48000.sofa'; hrir_file_name = 'HRIR_128_Meth5_IRC_53_Q10_symL_Itrp1_48000.sofa'; hrir_file_name_init = hrir_file_name; output_bin_name = 'ivas_binaural'; end brir_file_name = 'IIS_BRIR_officialMPEG_Combined.sofa'; end hrir_path = fullfile ('.','HRIRs_sofa'); brir_path = fullfile ('.','BRIRs_sofa'); %% Set output files rom_path = [ivas_path 'lib_rend']; binary_path = fullfile ('.','binaural_renderers_hrtf_data'); binary_path = fullfile ('.','binaural_renderers_hrtf_data/temp'); binary_name = [erase(hrir_file_name,'.sofa') '+' erase(brir_file_name, '.sofa') ]; if ~(exist(binary_path, 'dir')) mkdir(binary_path); Loading @@ -92,7 +107,11 @@ end %% generate td binauralizer rom or binary values dataSpec.dataBase = 'IVAS'; if generateCustomBinaryFile dataSpec.subjId = 'custom'; else dataSpec.subjId = 'default'; end % specify HR filter directory dataSpec.hrfInDir = hrir_file; dataSpec.hrfOutDir = binary_path; Loading @@ -105,9 +124,13 @@ Mod_Hrf_Itd_Main(dataSpec); %% generate crend rom or binary values SOFA_save_to_mat(hrir_file); SOFA_save_to_mat(brir_file); SOFA_save_to_mat(brir_file,'Combined'); if generateCustomBinaryFile convert_SD2SHD_HRIRs(hrir_path,hrir_file_name,-1); else convert_SD2SHD_HRIRs(hrir_path,hrir_file_name,128); end command = ['.' filesep() 'generate_crend_ivas_tables']; Loading Loading @@ -194,6 +217,7 @@ if writeRomFileOutput == true fclose(fp); end %% concatenate all previously generated binary files to binary file for IVAS decoder or renderer. One per sample rates if writeBinaryOutput == true Loading Loading
scripts/binauralRenderer_interface/generate_ivas_binauralizer_tables_from_sofa.m +34 −10 Original line number Diff line number Diff line Loading @@ -38,6 +38,13 @@ clear all; close all; clc; if isfolder(['binaural_renderers_hrtf_data' filesep() 'IVAS_default']) rmdir(['binaural_renderers_hrtf_data' filesep() 'IVAS_default'],'s'); end if isfolder(['binaural_renderers_hrtf_data' filesep() 'temp']) rmdir(['binaural_renderers_hrtf_data' filesep() 'temp'],'s'); end %% Add path to routines needed scripts addpath('./matlab_hrir_generation_scripts/'); addpath('./param_bin/'); Loading @@ -45,7 +52,7 @@ addpath('./fastconv/'); addpath(genpath('../td_object_renderer/modeling_tool/')); %% Set arguments generateCustomBinaryFile = false; generateCustomBinaryFile = true; generateBinaryFile_fx = true; generate_BE = false; writeRomFileOutput = true & ~generateCustomBinaryFile; %% generation of rom files if true Loading @@ -57,20 +64,28 @@ ivas_path = ['..' filesep '..' filesep]; %% Set input files if generateCustomBinaryFile hrir_file_name_init = 'HRIR_128_Meth5_IRC_51_Q10_symL_Itrp1_48000.sofa'; hrir_file_name = 'HRIR_128_Meth5_IRC_51_Q10_symL_Itrp1_48000.sofa'; output_bin_name = 'ivas_binaural_51_brir-lc'; % hrir_file_name = 'HRIR_128_Meth5_IRC_51_Q10_symL_Itrp1_48000.sofa'; hrir_file_name = 'FABIAN_HRIR_measured_HATO_0.sofa'; % hrir_file_name = 'ari-dtf_nh2.sofa'; % fail for TD renderer % hrir_file_name = 'BiLi-IRC_1101_C_HRIR_96000.sofa'; % fail for TD renderer % hrir_file_name = 'cipic-subject_003.sofa'; % fail for TD renderer % hrir_file_name = 'Listen-IRC_1002_C_44100.sofa'; % fail for TD renderer % hrir_file_name = 'mit_kemar_normal_pinna.sofa'; % fail for TD renderer %hrir_file_name = 'RIEC_hrir_subject_001.sofa'; % fail for TD renderer hrir_file_name_init = hrir_file_name; output_bin_name = 'ivas_binaural_custom'; brir_file_name = 'bbcrdlr_all_speakers.sofa'; else hrir_file_name_init = 'HRIR_128_Meth5_IRC_53_Q10_symL_Itrp1_48000.sofa'; hrir_file_name = 'HRIR_128_Meth5_IRC_53_Q10_symL_Itrp1_48000.sofa'; hrir_file_name_init = hrir_file_name; output_bin_name = 'ivas_binaural'; end brir_file_name = 'IIS_BRIR_officialMPEG_Combined.sofa'; end hrir_path = fullfile ('.','HRIRs_sofa'); brir_path = fullfile ('.','BRIRs_sofa'); %% Set output files rom_path = [ivas_path 'lib_rend']; binary_path = fullfile ('.','binaural_renderers_hrtf_data'); binary_path = fullfile ('.','binaural_renderers_hrtf_data/temp'); binary_name = [erase(hrir_file_name,'.sofa') '+' erase(brir_file_name, '.sofa') ]; if ~(exist(binary_path, 'dir')) mkdir(binary_path); Loading @@ -92,7 +107,11 @@ end %% generate td binauralizer rom or binary values dataSpec.dataBase = 'IVAS'; if generateCustomBinaryFile dataSpec.subjId = 'custom'; else dataSpec.subjId = 'default'; end % specify HR filter directory dataSpec.hrfInDir = hrir_file; dataSpec.hrfOutDir = binary_path; Loading @@ -105,9 +124,13 @@ Mod_Hrf_Itd_Main(dataSpec); %% generate crend rom or binary values SOFA_save_to_mat(hrir_file); SOFA_save_to_mat(brir_file); SOFA_save_to_mat(brir_file,'Combined'); if generateCustomBinaryFile convert_SD2SHD_HRIRs(hrir_path,hrir_file_name,-1); else convert_SD2SHD_HRIRs(hrir_path,hrir_file_name,128); end command = ['.' filesep() 'generate_crend_ivas_tables']; Loading Loading @@ -194,6 +217,7 @@ if writeRomFileOutput == true fclose(fp); end %% concatenate all previously generated binary files to binary file for IVAS decoder or renderer. One per sample rates if writeBinaryOutput == true Loading