Commit 8a94028c authored by emerit's avatar emerit
Browse files

version ok

parent fc3a78a0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@
 *------------------------------------------------------------------------*/
/* TD renderer default HRIR model */
#ifdef DEBUGGING
/* Generated on 26-May-2026 with Matlab version 23.2.0.2668659 (R2023b) Update 9 by marcemerit on MACA64 */
/* Generated on 29-May-2026 with Matlab version 23.2.0.2668659 (R2023b) Update 9 by marcemerit on MACA64 */
#endif
const float defaultHRIR_rom_latency_s = 0.000020834f;
+2 −2
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@
#define WMC_TOOL_SKIP
#ifdef DEBUGGING
/* Generated on 26-May-2026 with Matlab version 23.2.0.2668659 (R2023b) Update 9 by marcemerit on MACA64 */
/* Generated on 29-May-2026 with Matlab version 23.2.0.2668659 (R2023b) Update 9 by marcemerit on MACA64 */
#endif
@@ -46948,7 +46948,7 @@ const float fastconvReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX] =
#ifdef DEBUGGING
/* Generated on 26-May-2026 with Matlab version 23.2.0.2668659 (R2023b) Update 9 by marcemerit on MACA64 */
/* Generated on 29-May-2026 with Matlab version 23.2.0.2668659 (R2023b) Update 9 by marcemerit on MACA64 */
#endif
+132 −82
Original line number Diff line number Diff line
@@ -41,109 +41,159 @@ clc;
%% Add path to routines needed scripts
addpath('./matlab_hrir_generation_scripts/');

% mc_mode 5.1    = MCMASA  MCMASA MCMASA MCMASA PARAMMC  PARAMMC  PARAMMC   MCT       MCT      MCT      MCT     MCT     MCT     MCT 
% renderer       = param   param  param  param  fastconv fastconv fastconv  crend     crend    crend    crend   crend   crend   crend
% mc_mode 7.1    = MCMASA  MCMASA MCMASA MCMASA PARAMMC  PARAMMC  PARAMMC   MCT       MCT      MCT      MCT     MCT     MCT     MCT 
% renderer       = param   param  param  param  fastconv fastconv fastconv  fastconv  crend    crend    crend   crend   crend   crend
% mc_mode 7.1.4  = MCMASA  MCMASA MCMASA MCMASA PARAMMC  PARAMMC  PARAMMC   MCT       MCT      MCT      MCT     MCT     MCT     MCT 
% renderer       = param   param  param  param  param    param    param     param     fastconv fastconv crend   crend   crend   crend
% renderer 5.1   = param   param  param  param  fastconv fastconv fastconv  crend     crend    crend    crend   crend   crend   crend
% renderer 7.1   = param   param  param  param  fastconv fastconv fastconv  fastconv  crend    crend    crend   crend   crend   crend
% renderer 7.1.4 = param   param  param  param  param    param    param     param     fastconv fastconv crend   crend   crend   crend
% sba renderer   = param   param  param  param  param    param    param     fastconv  fastconv fastconv fastconv fastconv   fastconv   fastconv
     bitrates   = [13200,  16400, 24400, 32000, 48000,   64000,   80000,    96000,    128000,  160000,  192000, 256000, 384000, 512000];
bitrates_MC_5_1 = [32000,80000, 256000];
bitrates_MC_7_1_4 = [80000, 160000,256000];
bitrates_MC_TDREND = [128000, 256000];
bitrates_MC = [13200,  16400, 24400, 32000, 48000,   64000   ,80000, 160000, 256000];
bitrates_MC = bitrates;
bitrates_MC_TDREND = [128000, 256000]; % when using headtracking
bitrates_SBA = [80000, 96000];
bitrates_SBA = bitrates;


inFilesPath = {
inFilesPath_HOA = {
    {'FOA', '../testv/stvFOA48c.wav'},...
    {'HOA2', '../testv/stv2OA48c.wav'},...
    {'HOA3', '../testv/stv3OA48c.wav'},...
    {'5_1','../testv/voice_LS_5.1.wav'},...
    {'5_1','../testv/voice_L_5.1.wav'},...
    {'5_1','../testv/voice_C_5.1.wav'},...
    {'5_1','../testv/voices_5.1.wav'},...
    {'5_1','../testv/6_Channel_ID_48khz_pn.wav'},...
    {'5_1','../testv/6_Channel_ID_48khz_pn_duplicated.wav'},...
    {'5_1','../testv/6_Channel_ID_48khz_pn_different.wav'},...
    {'5_1','../testv/6_Channel_ID_48khz.wav'},...
    {'5_1', '../testv/6_Channel_ID_48khz_pn.wav'}, ...
    {'5_1', '../testv/stv51MC48c.wav'}, ...
    {'7_1_4','../testv/FL_FR_C_LFE_Lss_Rss_Ls_Rs_Lv_Rv_Lvr_Rvr_714_48k.wav'},...
    {'7_1_4', '../testv/stv714MC48c.wav'}};
                                                                                            

    level_hoa2bin = zeros(3,size(bitrates_SBA,2));
    level_hoa2bin_bin = zeros(3,size(bitrates_SBA,2));
    gain_hoa2bin = zeros(3,size(bitrates_SBA,2));
    gain_hoa2bin_bin = zeros(3,size(bitrates_SBA,2));
};

inFilesPath_TD = {
    {'5_1','../testv/voices_5.1.wav', 'uncorrelated'},...
    {'5_1','../testv/6_Channel_ID_48khz_pn.wav', 'uncorrelated'},...
    {'5_1','../testv/6_Channel_ID_48khz_pn_duplicated.wav', 'correlated'},...
    {'5_1', '../testv/stv51MC48c.wav', 'correlated'}, ...
};

inFilesPath_MC = {
    {'5_1','../testv/voices_5.1.wav', 'uncorrelated'},...
    {'5_1','../testv/6_Channel_ID_48khz_pn.wav', 'uncorrelated'},...
    {'7_1_4','../testv/FL_FR_C_LFE_Lss_Rss_Ls_Rs_Lv_Rv_Lvr_Rvr_714_48k.wav', 'uncorrelated'},...
    {'5_1','../testv/6_Channel_ID_48khz_pn_duplicated.wav', 'correlated'},...
    {'5_1', '../testv/stv51MC48c.wav','correlated'}, ...
    {'7_1_4', '../testv/stv714MC48c.wav','correlated'}};

%   contents with decorrelated channels 
%    {'5_1','../testv/6_Channel_ID_48khz.wav'},...
%    {'5_1','../testv/6_Channel_ID_48khz_pn_different.wav'},...
    % {'5_1','../testv/voice_LS_5.1.wav'},...
    % {'5_1','../testv/voice_L_5.1.wav'},...
    % {'5_1','../testv/voice_C_5.1.wav'},...

level_hoa2bin = zeros(size(inFilesPath_HOA,2),size(bitrates_SBA,2),2);
level_hoa2bin_bin = zeros(size(inFilesPath_HOA,2),size(bitrates_SBA,2),2);
gain_hoa2bin = zeros(size(inFilesPath_HOA,2),size(bitrates_SBA,2),2);
gain_hoa2bin_bin = zeros(size(inFilesPath_HOA,2),size(bitrates_SBA,2),2);

% sba parambin fastconv

for ind=1:size(inFilesPath,2)
    if (contains(inFilesPath{ind}{1}, 'OA'))
        [level_hoa2bin_bin(ind,:), level_hoa2bin(ind,:), gain_hoa2bin(ind,:), gain_hoa2bin_bin(ind,:)]= levelsBinauralizeAudioWithIvas(inFilesPath{ind}{2}, inFilesPath{ind}{1},bitrates_SBA, 'BINAURAL');
    %    disp("levels hrir " + inFilesPath{ind}{2} + " : " + num2str(inFilesPath{ind}{3}{1}) + " " + num2str(inFilesPath{ind}{3}{2})+ " " + num2str(inFilesPath{ind}{3}{3})+ " " + num2str(inFilesPath{ind}{3}{4}));
        disp("levels hoa2bin               " + inFilesPath{ind}{2} + " : " + num2str(level_hoa2bin(ind,:)));
        disp("levels hoa2bin with bin corr " + inFilesPath{ind}{2} + " : " + num2str(level_hoa2bin_bin(ind,:)));
for wr = 0:1
    for ind=1:size(inFilesPath_HOA,2)
        [level_hoa2bin_bin(ind, :, wr+1), level_hoa2bin(ind,:, wr+1), gain_hoa2bin(ind,:, wr+1), gain_hoa2bin_bin(ind,:, wr+1)]= levelsBinauralizeAudioWithIvas(inFilesPath_HOA{ind}{2}, inFilesPath_HOA{ind}{1},bitrates_SBA, 'BINAURAL',wr);
        disp("levels hoa2bin               with ref " + num2str(wr) + " " + inFilesPath_HOA{ind}{2} + " : " + num2str(level_hoa2bin(ind,:, wr+1)));
        disp("levels hoa2bin with bin corr with ref " + num2str(wr) + " " + inFilesPath_HOA{ind}{2} + " : " + num2str(level_hoa2bin_bin(ind,:,wr+1)));
    end
end

    % td rend
    level_tdrend = zeros(10,size(bitrates_MC_TDREND,2));
    level_tdrend_bin = zeros(10,size(bitrates_MC_TDREND,2));
    gain_tdrend = zeros(10,size(bitrates_MC_TDREND,2));
    gain_tdrend_bin = zeros(10,size(bitrates_MC_TDREND,2));

for ind=1:size(inFilesPath,2)
    if (contains(inFilesPath{ind}{1}, '5_1'))
        [level_tdrend_bin(ind,:), level_tdrend(ind,:), gain_tdrend_bin(ind,:), gain_tdrend(ind,:)]= levelsBinauralizeAudioWithIvas(inFilesPath{ind}{2}, inFilesPath{ind}{1},bitrates_MC_TDREND, '-t ../testv/headRot_no_rot.csv BINAURAL');
    %    disp("levels hrir " + inFilesPath{ind}{2} + " : " + num2str(inFilesPath{ind}{3}{1}) + " " + num2str(inFilesPath{ind}{3}{2})+ " " + num2str(inFilesPath{ind}{3}{3})+ " " + num2str(inFilesPath{ind}{3}{4}));
        disp("levels tdrend hrir               " + inFilesPath{ind}{2} + " : " + num2str(level_tdrend(ind,:)));
        disp("levels tdrend hrir with bin corr " + inFilesPath{ind}{2} + " : " + num2str(level_tdrend_bin(ind,:)));
delete 'levels.xls';
currentLine = 1;
currentLine = writeResult('levels.xls','SBA', 'bs1770',currentLine,'bitrates',bitrates_SBA,inFilesPath_HOA,{'branch', 'ref'},level_hoa2bin);
currentLine = currentLine + 1;
currentLine = writeResult('levels.xls','SBA','bs1770 binaural',currentLine,'bitrates',bitrates_SBA,inFilesPath_HOA,{'branch', 'ref'},level_hoa2bin_bin);

% sba parambin fastconv room

level_hoa2bin_room = zeros(size(inFilesPath_HOA,2),size(bitrates_SBA,2),2);
level_hoa2bin_room_bin = zeros(size(inFilesPath_HOA,2),size(bitrates_SBA,2),2);
gain_hoa2bin_room = zeros(size(inFilesPath_HOA,2),size(bitrates_SBA,2),2);
gain_hoa2bin_room_bin = zeros(size(inFilesPath_HOA,2),size(bitrates_SBA,2),2);

for wr = 0:1
    for ind=1:size(inFilesPath_HOA,2)
        if (contains(inFilesPath_HOA{ind}{1}, 'OA'))
            [level_hoa2bin_room_bin(ind, :, wr+1), level_hoa2bin_room(ind, :, wr+1), gain_hoa2bin_room_bin(ind, :, wr+1), gain_hoa2bin_room(ind, :, wr+1)]= levelsBinauralizeAudioWithIvas(inFilesPath_HOA{ind}{2}, inFilesPath_HOA{ind}{1},bitrates_SBA, 'BINAURAL_ROOM_IR',wr);
            disp("levels hoa2bin room              with ref " + num2str(wr) + " " + inFilesPath_HOA{ind}{2} + " : " + num2str(level_hoa2bin_room(ind, :, wr+1)));
            disp("levels hoa2bin room with bin corr with ref " + num2str(wr) + " " + inFilesPath_HOA{ind}{2} + " : " + num2str(level_hoa2bin_room_bin(ind, :, wr+1)));
        end
    end
end

% parambin fastconv crend
level_hrir = zeros(12,size(bitrates_MC_5_1,2));
level_hrir_bin = zeros(12,size(bitrates_MC_5_1,2));
gain_hrir = zeros(12,size(bitrates_MC_5_1,2));
gain_hrir_bin = zeros(12,size(bitrates_MC_5_1,2));
currentLine = currentLine + 3;
currentLine = writeResult('levels.xls','SBA with room','bs1770',currentLine,'bitrates',bitrates_SBA,inFilesPath_HOA,{'branch', 'ref'},level_hoa2bin_room);
currentLine = currentLine + 1;
currentLine = writeResult('levels.xls','SBA with room','bs1770 binaural',currentLine,'bitrates',bitrates_SBA,inFilesPath_HOA,{'branch', 'ref'},level_hoa2bin_room_bin);

% td rend MC only with head rotation
level_tdrend = zeros(size(inFilesPath_TD,2),size(bitrates_MC_TDREND,2),2);
level_tdrend_bin = zeros(size(inFilesPath_TD,2),size(bitrates_MC_TDREND,2),2);
gain_tdrend = zeros(size(inFilesPath_TD,2),size(bitrates_MC_TDREND,2),2);
gain_tdrend_bin = zeros(size(inFilesPath_TD,2),size(bitrates_MC_TDREND,2),2);

for wr = 0:1
    for ind=1:size(inFilesPath_TD,2)
        if (contains(inFilesPath_TD{ind}{1}, '5_1'))
            [level_tdrend_bin(ind, :, wr+1), level_tdrend(ind, :, wr+1), gain_tdrend_bin(ind, :, wr+1), gain_tdrend(ind, :, wr+1)]= levelsBinauralizeAudioWithIvas(inFilesPath_TD{ind}{2}, inFilesPath_TD{ind}{1},bitrates_MC_TDREND, '-t ../testv/headRot_no_rot.csv BINAURAL',wr);
            disp("levels tdrend hrir               with ref " + num2str(wr) + " " + inFilesPath_TD{ind}{2} + " : " + num2str(level_tdrend(ind, :, wr+1)));
            disp("levels tdrend hrir with bin corr with ref " + num2str(wr) + " " + inFilesPath_TD{ind}{2} + " : " + num2str(level_tdrend_bin(ind, :, wr+1)));
        end
    end
end

for ind=1:size(inFilesPath,2)
    if (contains(inFilesPath{ind}{1}, '7_1_4'))
        [level_hrir_bin(ind,:), level_hrir(ind,:), gain_hrir_bin(ind,:), gain_hrir(ind,:)]= levelsBinauralizeAudioWithIvas(inFilesPath{ind}{2}, inFilesPath{ind}{1},bitrates_MC_7_1_4, 'BINAURAL');
    %    disp("levels hrir " + inFilesPath{ind}{2} + " : " + num2str(inFilesPath{ind}{3}{1}) + " " + num2str(inFilesPath{ind}{3}{2})+ " " + num2str(inFilesPath{ind}{3}{3})+ " " + num2str(inFilesPath{ind}{3}{4}));
        disp("levels hrir               " + inFilesPath{ind}{2} + " : " + num2str(level_hrir(ind,:)));
        disp("levels hrir with bin corr " + inFilesPath{ind}{2} + " : " + num2str(level_hrir_bin(ind,:)));
currentLine = currentLine + 3;
currentLine = writeResult('levels.xls','TD renderer MC','bs1770',currentLine,'bitrates',bitrates_MC_TDREND,inFilesPath_TD,{'branch', 'ref'},level_tdrend);
currentLine = currentLine + 1;
currentLine = writeResult('levels.xls','TD renderer MC','bs1770 binaural',currentLine,'bitrates',bitrates_MC_TDREND,inFilesPath_TD,{'branch', 'ref'},level_tdrend_bin);

% % parambin fastconv crend MC HRIR
level_hrir = zeros(size(inFilesPath_MC,2),size(bitrates_MC,2),2);
level_hrir_bin = zeros(size(inFilesPath_MC,2),size(bitrates_MC,2),2);
gain_hrir = zeros(size(inFilesPath_MC,2),size(bitrates_MC,2),2);
gain_hrir_bin = zeros(size(inFilesPath_MC,2),size(bitrates_MC,2),2);

for wr = 0:1
    for ind=1:size(inFilesPath_MC,2)
        if (contains(inFilesPath_MC{ind}{1}, '7_1_4'))
            [level_hrir_bin(ind,:,wr+1), level_hrir(ind,:,wr+1), gain_hrir_bin(ind,:,wr+1), gain_hrir(ind,:,wr+1)]= levelsBinauralizeAudioWithIvas(inFilesPath_MC{ind}{2}, inFilesPath_MC{ind}{1},bitrates_MC, 'BINAURAL',wr);
            disp("levels hrir               with ref " + num2str(wr) + " " + inFilesPath_MC{ind}{2} + " : " + num2str(level_hrir(ind,:,wr+1)));
            disp("levels hrir with bin corr with ref " + num2str(wr) + " " + inFilesPath_MC{ind}{2} + " : " + num2str(level_hrir_bin(ind,:,wr+1)));
        end
    if (contains(inFilesPath{ind}{1}, '5_1'))
        [level_hrir_bin(ind,:), level_hrir(ind,:), gain_hrir_bin(ind,:), gain_hrir(ind,:)]= levelsBinauralizeAudioWithIvas(inFilesPath{ind}{2}, inFilesPath{ind}{1},bitrates_MC_5_1, 'BINAURAL');
    %    disp("levels hrir " + inFilesPath{ind}{2} + " : " + num2str(inFilesPath{ind}{3}{1}) + " " + num2str(inFilesPath{ind}{3}{2})+ " " + num2str(inFilesPath{ind}{3}{3})+ " " + num2str(inFilesPath{ind}{3}{4}));
        disp("levels hrir               " + inFilesPath{ind}{2} + " : " + num2str(level_hrir(ind,:)));
        disp("levels hrir with bin corr " + inFilesPath{ind}{2} + " : " + num2str(level_hrir_bin(ind,:)));        
        if (contains(inFilesPath_MC{ind}{1}, '5_1'))
            [level_hrir_bin(ind,:,wr+1), level_hrir(ind,:,wr+1), gain_hrir_bin(ind,:,wr+1), gain_hrir(ind,:,wr+1)]= levelsBinauralizeAudioWithIvas(inFilesPath_MC{ind}{2}, inFilesPath_MC{ind}{1},bitrates_MC, 'BINAURAL',wr);
            disp("levels hrir               with ref " + num2str(wr) + " " + inFilesPath_MC{ind}{2} + " : " + num2str(level_hrir(ind,:,wr+1)));
            disp("levels hrir with bin corr with ref " + num2str(wr) + " " + inFilesPath_MC{ind}{2} + " : " + num2str(level_hrir_bin(ind,:,wr+1)));        
        end
    end
end

currentLine = currentLine + 3;
currentLine = writeResult('levels.xls','MC hrir','bs1770',currentLine,'bitrates',bitrates_MC,inFilesPath_MC,{'branch', 'ref'},level_hrir);
currentLine = currentLine + 1;
currentLine = writeResult('levels.xls','MC hrir','bs1770 binaural',currentLine,'bitrates',bitrates_MC,inFilesPath_MC,{'branch', 'ref'},level_hrir_bin);

    level_brir = zeros(size(inFilesPath,2),size(bitrates_MC_5_1,2));
    level_brir_bin = zeros(size(inFilesPath,2),size(bitrates_MC_5_1,2));
    gain_brir = zeros(size(inFilesPath,2),size(bitrates_MC_5_1,2));
    gain_brir_bin = zeros(size(inFilesPath,2),size(bitrates_MC_5_1,2));
%MC BRIR

level_brir = zeros(size(inFilesPath_MC,2),size(bitrates_MC,2),2);
level_brir_bin = zeros(size(inFilesPath_MC,2),size(bitrates_MC,2),2);
gain_brir = zeros(size(inFilesPath_MC,2),size(bitrates_MC,2),2);
gain_brir_bin = zeros(size(inFilesPath_MC,2),size(bitrates_MC,2),2);

for ind=1:size(inFilesPath,2)
    if (contains(inFilesPath{ind}{1}, '7_1_4'))
        [level_brir_bin(ind,:), level_brir(ind,:), gain_brir_bin(ind,:), gain_brir(ind,:)] = levelsBinauralizeAudioWithIvas(inFilesPath{ind}{2}, inFilesPath{ind}{1},bitrates_MC_7_1_4, 'BINAURAL_ROOM_IR');
    %    disp("levels brir " + inFilesPath{ind}{2} + " : " + num2str(inFilesPath{ind}{4}{1}) + " " + num2str(inFilesPath{ind}{4}{2})+ " " + num2str(inFilesPath{ind}{4}{3})+ " " + num2str(inFilesPath{ind}{4}{4}));
        disp("levels brir               " + inFilesPath{ind}{2} + " : " + num2str(level_brir(ind,:)));
        disp("levels brir with bin corr " + inFilesPath{ind}{2} + " : " + num2str(level_brir_bin(ind,:)));
for wr = 0:1
    for ind=1:size(inFilesPath_MC,2)
        if (contains(inFilesPath_MC{ind}{1}, '7_1_4'))
            [level_brir_bin(ind,:,wr+1), level_brir(ind,:,wr+1), gain_brir_bin(ind,:,wr+1), gain_brir(ind,:,wr+1)] = levelsBinauralizeAudioWithIvas(inFilesPath_MC{ind}{2}, inFilesPath_MC{ind}{1},bitrates_MC, 'BINAURAL_ROOM_IR',wr);
            disp("levels brir               with ref " + num2str(wr) + " " + inFilesPath_MC{ind}{2} + " : " + num2str(level_brir(ind,:,wr+1)));
            disp("levels brir with bin corr with ref " + num2str(wr) + " " + inFilesPath_MC{ind}{2} + " : " + num2str(level_brir_bin(ind,:,wr+1)));
        end
        if (contains(inFilesPath_MC{ind}{1}, '5_1'))
            [level_brir_bin(ind,:,wr+1), level_brir(ind,:,wr+1), gain_brir_bin(ind,:,wr+1), gain_brir(ind,:,wr+1)] = levelsBinauralizeAudioWithIvas(inFilesPath_MC{ind}{2}, inFilesPath_MC{ind}{1},bitrates_MC, 'BINAURAL_ROOM_IR',wr);
            disp("levels brir               with ref " + num2str(wr) + " " + inFilesPath_MC{ind}{2} + " : " + num2str(level_brir(ind,:,wr+1)));
            disp("levels brir with bin corr with ref " + num2str(wr) + " " + inFilesPath_MC{ind}{2} + " : " + num2str(level_brir_bin(ind,:,wr+1)));
        end
    if (contains(inFilesPath{ind}{1}, '5_1'))
        [level_brir_bin(ind,:), level_brir(ind,:), gain_brir_bin(ind,:), gain_brir(ind,:)] = levelsBinauralizeAudioWithIvas(inFilesPath{ind}{2}, inFilesPath{ind}{1},bitrates_MC_5_1, 'BINAURAL_ROOM_IR');
    %    disp("levels brir " + inFilesPath{ind}{2} + " : " + num2str(inFilesPath{ind}{4}{1}) + " " + num2str(inFilesPath{ind}{4}{2})+ " " + num2str(inFilesPath{ind}{4}{3})+ " " + num2str(inFilesPath{ind}{4}{4}));
        disp("levels brir               " + inFilesPath{ind}{2} + " : " + num2str(level_brir(ind,:)));
        disp("levels brir with bin corr " + inFilesPath{ind}{2} + " : " + num2str(level_brir_bin(ind,:)));
    end
end

currentLine = currentLine + 3;
currentLine = writeResult('levels.xls','MC brir','bs1770',currentLine,'bitrates',bitrates_MC,inFilesPath_MC,{'branch', 'ref'},level_brir);
currentLine = currentLine + 1;
currentLine = writeResult('levels.xls','MC brir','bs1770 binaural',currentLine,'bitrates',bitrates_MC,inFilesPath_MC,{'branch', 'ref'},level_brir_bin);
+73 −35
Original line number Diff line number Diff line
@@ -49,49 +49,87 @@ brir_file = fullfile( brir_path, brir_file_name);
addpath('./matlab_hrir_generation_scripts/');

inFilesPath = {
    {'MONO_L','../testv/voice_L_mono.wav'},...
    {'MONO_C','../testv/voice_C_mono.wav'},...
    {'MONO_LS','../testv/voice_LS_mono.wav'},...
    {'5_1','../testv/voice_LS_5.1.wav'},...
    {'5_1','../testv/voice_L_5.1.wav'},...
    {'5_1','../testv/voice_C_5.1.wav'},...
    {'5_1','../testv/voices_5.1.wav'},...
    {'5_1','../testv/6_Channel_ID_48khz_pn.wav'},...
    {'5_1','../testv/6_Channel_ID_48khz_pn_duplicated.wav'},...
    {'5_1','../testv/6_Channel_ID_48khz_pn_different.wav'},...
    {'5_1','../testv/6_Channel_ID_48khz.wav'},...
    {'7_1_4','../testv/FL_FR_C_LFE_Lss_Rss_Ls_Rs_Lv_Rv_Lvr_Rvr_714_48k.wav'},...
    {'5_1', '../testv/6_Channel_ID_48khz_pn.wav'}, ...
    {'5_1', '../testv/stv51MC48c.wav'}, ...
    {'7_1_4', '../testv/stv714MC48c.wav'}};

    % same content
    {'MONO_L','../testv/mono_pn.wav', 'pink noise mono'},...
    {'MONO_C','../testv/mono_pn.wav', 'pink noise mono'},...
    {'MONO_LS','../testv/mono_pn.wav','pink noise mono'},...
    {'MONO_L','../testv/stv71MC48c_to_mono.wav','music mono'},...
    {'MONO_C','../testv/stv71MC48c_to_mono.wav','music mono'},...
    {'MONO_LS','../testv/stv71MC48c_to_mono.wav','music mono'},...
    {'MONO_L','../testv/voice_L_mono.wav','voice mono'},...
    {'MONO_C','../testv/voice_L_mono.wav','voice mono'},...
    {'MONO_LS','../testv/voice_L_mono.wav','voice mono'},...
    {'MONO_L','../testv/voice_C_mono.wav','voice mono'},...
    {'MONO_C','../testv/voice_C_mono.wav','voice mono'},...
    {'MONO_LS','../testv/voice_C_mono.wav','voice mono'},...
    {'MONO_L','../testv/voice_LS_mono.wav','voice mono'},...
    {'MONO_C','../testv/voice_LS_mono.wav','voice mono'},...
    {'MONO_LS','../testv/voice_LS_mono.wav','voice mono'},...
    {'5_1','../testv/voice_LS_5.1.wav','voice mc uncorrelated'},...
    {'5_1','../testv/voice_L_5.1.wav','voice mc uncorrelated'},...
    {'5_1','../testv/voice_C_5.1.wav','voice mc uncorrelated'},...
    {'5_1','../testv/voices_5.1.wav','voice mc uncorrelated'},...
    {'5_1','../testv/6_Channel_ID_48khz_pn.wav','pink noise mc uncorrelated'},...
    {'5_1','../testv/6_Channel_ID_48khz_pn_duplicated.wav','pink noise mc correlated'},...
    {'5_1','../testv/6_Channel_ID_48khz_pn_different.wav','pink noise mc uncorrelated'},...
    {'5_1', '../testv/6_Channel_ID_48khz_pn.wav','pink noise mc uncorrelated'}, ...
    {'5_1','../testv/6_Channel_ID_48khz.wav','voice mc uncorrelated'},...
    {'7_1_4','../testv/FL_FR_C_LFE_Lss_Rss_Ls_Rs_Lv_Rv_Lvr_Rvr_714_48k.wav','voice mc uncorrelated'},...
    {'5_1', '../testv/stv51MC48c.wav','music mc correlated'}, ...
    {'7_1_4', '../testv/stv714MC48c.wav','music mc correlated'}};

    % same content as '../testv/stv714MC48c.wav'
       % { '5_1_2', '../testv/stv512MC48c.wav'}, ...
       %  {'5_1_4', '../testv/stv514MC48c.wav'}, ...
       %  {'7_1', '../testv/stv71MC48c.wav'}, ...

    level_hrir = zeros(size(inFilesPath,2),1);
    level_hrir_bin = zeros(size(inFilesPath,2),1);
    gain_hrir = zeros(size(inFilesPath,2),1);
    gain_hrir_bin = zeros(size(inFilesPath,2),1);
%hrir  

gains_hrir_under_test = [10^(0/20) 10^(-3/20) ]; % diffuse field equalized should have a gain of -3dB 

level_hrir = zeros(size(inFilesPath,2),length(gains_hrir_under_test),1);
level_hrir_bin = zeros(size(inFilesPath,2),length(gains_hrir_under_test),1);
gain_hrir = zeros(size(inFilesPath,2),length(gains_hrir_under_test));
gain_hrir_bin = zeros(size(inFilesPath,2),length(gains_hrir_under_test),1);


for ind=1:size(inFilesPath,2)
    for gind = 1:length(gains_hrir_under_test)
        matFile = [erase(hrir_file,'.sofa'), '_', inFilesPath{ind}{1}, '.mat'];
    SOFA_save_to_mat(hrir_file,inFilesPath{ind}{1},10^(-3/20), matFile);
    [inFilesPath{ind}{3}{1},inFilesPath{ind}{3}{2},inFilesPath{ind}{3}{3},inFilesPath{ind}{3}{4}] = levelsBinauralizeAudio(inFilesPath{ind}{2}, matFile);
    disp("levels hrir                          " + inFilesPath{ind}{2} + " : " + num2str(inFilesPath{ind}{3}{2}));
    disp("levels hrir with binaural correction " + inFilesPath{ind}{2} + " : " + num2str(inFilesPath{ind}{3}{1}));
        SOFA_save_to_mat(hrir_file,inFilesPath{ind}{1}, gains_hrir_under_test(gind), matFile);
        [level_hrir_bin(ind,gind,1), level_hrir(ind,gind,1), gain_hrir_bin(ind,gind,1), gain_hrir(ind,gind,1)] = levelsBinauralizeAudio(inFilesPath{ind}{2}, matFile);
    end
    disp("levels hrir                          " + inFilesPath{ind}{2} + " " + inFilesPath{ind}{3} + " : " + num2str(level_hrir(ind,:,:)));
    disp("levels hrir with binaural correction " + inFilesPath{ind}{2} + " " + inFilesPath{ind}{3} + " : " + num2str(level_hrir_bin(ind,:,:)));
end

    level_brir = zeros(size(inFilesPath,2),1);
    level_brir_bin = zeros(size(inFilesPath,2),1);
    gain_brir = zeros(size(inFilesPath,2),1);
    gain_brir_bin = zeros(size(inFilesPath,2),1);
delete 'levels_sofa.xls'; 
currentLine = 1;
currentLine = writeResult('levels_sofa.xls','HRIR', 'bs1770',currentLine,'Gains', gains_hrir_under_test,inFilesPath,{hrir_file},level_hrir);
currentLine = currentLine + 1;
currentLine = writeResult('levels_sofa.xls','HRIR','bs1770 binaural',currentLine,'Gains',gains_hrir_under_test,inFilesPath,{hrir_file},level_hrir_bin);

%brir

gains_brir_under_test = [10^(0/20) 10^(-3/20) ]; % should be adapted to brir

level_brir = zeros(size(inFilesPath,2),length(gains_brir_under_test),1);
level_brir_bin = zeros(size(inFilesPath,2),length(gains_brir_under_test),1);
gain_brir = zeros(size(inFilesPath,2),length(gains_brir_under_test),1);
gain_brir_bin = zeros(size(inFilesPath,2),length(gains_brir_under_test),1);

for ind=1:size(inFilesPath,2)
    for gind = 1:length(gains_hrir_under_test)
        matFile = [erase(brir_file,'.sofa'), '_', inFilesPath{ind}{1}, '.mat'];
    SOFA_save_to_mat(brir_file,inFilesPath{ind}{1},10^(6.5/20), matFile);
    [inFilesPath{ind}{4}{1},inFilesPath{ind}{4}{2},inFilesPath{ind}{4}{3},inFilesPath{ind}{4}{4}] = levelsBinauralizeAudio(inFilesPath{ind}{2}, matFile);
    disp("levels brir " + inFilesPath{ind}{2} + " : " + num2str(inFilesPath{ind}{4}{2}));
    disp("levels brir with binaural correction " + inFilesPath{ind}{2} + " : " + num2str(inFilesPath{ind}{4}{1}));
        SOFA_save_to_mat(brir_file,inFilesPath{ind}{1},gains_brir_under_test(gind), matFile);
        [level_brir_bin(ind,gind,1), level_brir(ind,gind,1), gains_brir_bin(ind,gind,1), gain_brir(ind,1,gind)] = levelsBinauralizeAudio(inFilesPath{ind}{2}, matFile);
    end
    disp("levels brir                          " + inFilesPath{ind}{2} + " " + inFilesPath{ind}{3} + " : " + num2str(level_brir(ind,:,:)));
    disp("levels brir with binaural correction " + inFilesPath{ind}{2} + " " + inFilesPath{ind}{3} + " : " + num2str(level_brir_bin(ind,:,:)));
end

currentLine = currentLine + 1;
currentLine = writeResult('levels_sofa.xls','BRIR', 'bs1770',currentLine,'Gains',gains_brir_under_test,inFilesPath,{brir_file},level_brir);
currentLine = currentLine + 1;
currentLine = writeResult('levels_sofa.xls','BRIR','bs1770 binaural',currentLine,'Gains',gains_brir_under_test,inFilesPath,{brir_file},level_brir_bin);

+1 −1

File changed.

Preview size limit exceeded, changes collapsed.

Loading