<commit_before>srate = 48000
nchannels_in = 4
fragsize = 320

# Audio IO library to use.
iolib = MHAIOJack
io.con_in = [system:capture_5 system:capture_6 system:capture_7 system:capture_8]
io.con_out = [system:playback_1 system:playback_2]

mhalib = resampling

mha.srate = 16000
mha.fragsize = 160
mha.plugin_name = mhachain:doachain


mha.doachain.algos = [gain route:doa_in route:doa_1_2 doasvm_feature_extraction:gcc_1_2 route:doa_1_3 doasvm_feature_extraction:gcc_1_3 route:doa_1_4 doasvm_feature_extraction:gcc_1_4 route:doa_2_3 doasvm_feature_extraction:gcc_2_3 route:doa_2_4 doasvm_feature_extraction:gcc_2_4 route:doa_3_4 doasvm_feature_extraction:gcc_3_4 acConcat_wave:concat doasvm_classification:svm acPooling_wave:pool acsave:doasvm_save  acmon:doasvm_mon route:all overlapadd:OA wavrec]

mha.doachain.gain.gains = [6 6 6 6]

# route only four channels to the DOA estimation and save all the channels for future filtering
mha.doachain.doa_in.out = [:0 :1 :2 :3]
mha.doachain.doa_in.ac = [:0 :1 :2 :3]

# configure doasvm_feature_extraction plugins, which compute the GCC matrices
mha.doachain.gcc_1_2.fftlen = 160
mha.doachain.gcc_1_2.nupsample = 4
mha.doachain.gcc_1_2.max_lag = 20
mha.doachain.gcc_1_2.vGCC_name = vGCC_ac_1

mha.doachain.gcc_1_3.fftlen = 160
mha.doachain.gcc_1_3.nupsample = 4
mha.doachain.gcc_1_3.max_lag = 2
mha.doachain.gcc_1_3.vGCC_name = vGCC_ac_2

mha.doachain.gcc_1_4.fftlen = 160
mha.doachain.gcc_1_4.nupsample = 4
mha.doachain.gcc_1_4.max_lag = 20
mha.doachain.gcc_1_4.vGCC_name = vGCC_ac_3

mha.doachain.gcc_2_3.fftlen = 160
mha.doachain.gcc_2_3.nupsample = 4
mha.doachain.gcc_2_3.max_lag = 20
mha.doachain.gcc_2_3.vGCC_name = vGCC_ac_4

mha.doachain.gcc_2_4.fftlen = 160
mha.doachain.gcc_2_4.nupsample = 4
mha.doachain.gcc_2_4.max_lag = 2
mha.doachain.gcc_2_4.vGCC_name = vGCC_ac_5

mha.doachain.gcc_3_4.fftlen = 160
mha.doachain.gcc_3_4.nupsample = 4
mha.doachain.gcc_3_4.max_lag = 20
mha.doachain.gcc_3_4.vGCC_name = vGCC_ac_6





# configure route plugins for redirecting the corresponding channel pair to the doasvm_feature_extraction plugins
mha.doachain.doa_1_2.out = [:1 :0] 				    	# channels 2, 1
mha.doachain.doa_1_2.ac = [:2 :3]	 				# channels 3, 4

mha.doachain.doa_1_3.out = [doa_1_2:0 :1]				# channels 3, 1
mha.doachain.doa_1_3.ac = [:0 doa_1_2:1]				# channels 2, 4

mha.doachain.doa_1_4.out = [doa_1_3:1 :1]				# channels 4, 1
mha.doachain.doa_1_4.ac = [doa_1_3:0 :0]				# channels 2, 3

mha.doachain.doa_2_3.out = [doa_1_4:1 doa_1_4:0]			# channels 3, 2
mha.doachain.doa_2_3.ac = [:1 :0]					# channels 1, 4

mha.doachain.doa_2_4.out = [doa_2_3:1 :1]				# channels 4, 2
mha.doachain.doa_2_4.ac = [doa_2_3:0 :0]				# channels 1, 3

mha.doachain.doa_3_4.out = [:0 doa_2_4:1]				# channels 4, 3
mha.doachain.doa_3_4.ac = [doa_2_4:0 :1]				# channels 1, 2




# concatenate all pairwise gcc vectors into one big vector
mha.doachain.concat.num_AC = 6
mha.doachain.concat.prefix_names_AC = vGCC_ac
mha.doachain.concat.samples_AC = [161 17 161 161 17 161]
mha.doachain.concat.name_conAC = vGCC_con_ac

# configure doasvm_classification plugin by loading the SVM parameters
mha.doachain.svm?read:./matrices_4channel_front-rear_bte.cfg

mha.doachain.svm.vGCC_name = vGCC_con_ac




# configure acPooling_wave plugin for pooling the SVM estimations of the recent history
mha.doachain.pool.p_name = p
mha.doachain.pool.pool_name = pool
mha.doachain.pool.max_pool_ind_name = pool_max
mha.doachain.pool.numsamples = 73
mha.doachain.pool.pooling_wndlen = 300
mha.doachain.pool.pooling_type = mean
mha.doachain.pool.upper_threshold = 0.1
mha.doachain.pool.neighbourhood = 4
mha.doachain.pool.alpha = 0


mha.doachain.doasvm_save.name = ../Results/4ch_doasvm_acsave.mat
mha.doachain.doasvm_save.fileformat = mat4
mha.doachain.doasvm_save.reclen = 30
mha.doachain.doasvm_save.vars = [p p_max pool pool_max vGCC_ac_1 vGCC_ac_2 vGCC_ac_3 vGCC_ac_4 vGCC_ac_5 vGCC_ac_6 vGCC_con_ac]


<commit_msg>WIP: examples/09: define prob_bias in example config<commit_after>srate = 48000
nchannels_in = 4
fragsize = 320

# Audio IO library to use.
iolib = MHAIOJack
io.con_in = [system:capture_5 system:capture_6 system:capture_7 system:capture_8]
io.con_out = [system:playback_1 system:playback_2]

mhalib = resampling

mha.srate = 16000
mha.fragsize = 160
mha.plugin_name = mhachain:doachain


mha.doachain.algos = [gain route:doa_in route:doa_1_2 doasvm_feature_extraction:gcc_1_2 route:doa_1_3 doasvm_feature_extraction:gcc_1_3 route:doa_1_4 doasvm_feature_extraction:gcc_1_4 route:doa_2_3 doasvm_feature_extraction:gcc_2_3 route:doa_2_4 doasvm_feature_extraction:gcc_2_4 route:doa_3_4 doasvm_feature_extraction:gcc_3_4 acConcat_wave:concat doasvm_classification:svm acPooling_wave:pool acsave:doasvm_save  acmon:doasvm_mon route:all overlapadd:OA wavrec]

mha.doachain.gain.gains = [6 6 6 6]

# route only four channels to the DOA estimation and save all the channels for future filtering
mha.doachain.doa_in.out = [:0 :1 :2 :3]
mha.doachain.doa_in.ac = [:0 :1 :2 :3]

# configure doasvm_feature_extraction plugins, which compute the GCC matrices
mha.doachain.gcc_1_2.fftlen = 160
mha.doachain.gcc_1_2.nupsample = 4
mha.doachain.gcc_1_2.max_lag = 20
mha.doachain.gcc_1_2.vGCC_name = vGCC_ac_1

mha.doachain.gcc_1_3.fftlen = 160
mha.doachain.gcc_1_3.nupsample = 4
mha.doachain.gcc_1_3.max_lag = 2
mha.doachain.gcc_1_3.vGCC_name = vGCC_ac_2

mha.doachain.gcc_1_4.fftlen = 160
mha.doachain.gcc_1_4.nupsample = 4
mha.doachain.gcc_1_4.max_lag = 20
mha.doachain.gcc_1_4.vGCC_name = vGCC_ac_3

mha.doachain.gcc_2_3.fftlen = 160
mha.doachain.gcc_2_3.nupsample = 4
mha.doachain.gcc_2_3.max_lag = 20
mha.doachain.gcc_2_3.vGCC_name = vGCC_ac_4

mha.doachain.gcc_2_4.fftlen = 160
mha.doachain.gcc_2_4.nupsample = 4
mha.doachain.gcc_2_4.max_lag = 2
mha.doachain.gcc_2_4.vGCC_name = vGCC_ac_5

mha.doachain.gcc_3_4.fftlen = 160
mha.doachain.gcc_3_4.nupsample = 4
mha.doachain.gcc_3_4.max_lag = 20
mha.doachain.gcc_3_4.vGCC_name = vGCC_ac_6





# configure route plugins for redirecting the corresponding channel pair to the doasvm_feature_extraction plugins
mha.doachain.doa_1_2.out = [:1 :0] 				    	# channels 2, 1
mha.doachain.doa_1_2.ac = [:2 :3]	 				# channels 3, 4

mha.doachain.doa_1_3.out = [doa_1_2:0 :1]				# channels 3, 1
mha.doachain.doa_1_3.ac = [:0 doa_1_2:1]				# channels 2, 4

mha.doachain.doa_1_4.out = [doa_1_3:1 :1]				# channels 4, 1
mha.doachain.doa_1_4.ac = [doa_1_3:0 :0]				# channels 2, 3

mha.doachain.doa_2_3.out = [doa_1_4:1 doa_1_4:0]			# channels 3, 2
mha.doachain.doa_2_3.ac = [:1 :0]					# channels 1, 4

mha.doachain.doa_2_4.out = [doa_2_3:1 :1]				# channels 4, 2
mha.doachain.doa_2_4.ac = [doa_2_3:0 :0]				# channels 1, 3

mha.doachain.doa_3_4.out = [:0 doa_2_4:1]				# channels 4, 3
mha.doachain.doa_3_4.ac = [doa_2_4:0 :1]				# channels 1, 2




# concatenate all pairwise gcc vectors into one big vector
mha.doachain.concat.num_AC = 6
mha.doachain.concat.prefix_names_AC = vGCC_ac
mha.doachain.concat.samples_AC = [161 17 161 161 17 161]
mha.doachain.concat.name_conAC = vGCC_con_ac

# configure doasvm_classification plugin by loading the SVM parameters
mha.doachain.svm?read:./matrices_4channel_front-rear_bte.cfg

mha.doachain.svm.vGCC_name = vGCC_con_ac




# configure acPooling_wave plugin for pooling the SVM estimations of the recent history
mha.doachain.pool.p_name = p
mha.doachain.pool.pool_name = pool
mha.doachain.pool.max_pool_ind_name = pool_max
mha.doachain.pool.numsamples = 73
mha.doachain.pool.pooling_wndlen = 300
mha.doachain.pool.pooling_type = mean
mha.doachain.pool.upper_threshold = 0.1
mha.doachain.pool.neighbourhood = 4
mha.doachain.pool.alpha = 0
mha.doachain.pool.prob_bias = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]


mha.doachain.doasvm_save.name = ../Results/4ch_doasvm_acsave.mat
mha.doachain.doasvm_save.fileformat = mat4
mha.doachain.doasvm_save.reclen = 30
mha.doachain.doasvm_save.vars = [p p_max pool pool_max vGCC_ac_1 vGCC_ac_2 vGCC_ac_3 vGCC_ac_4 vGCC_ac_5 vGCC_ac_6 vGCC_con_ac]



{'fraction_non_alphanumeric': 0.09867852290971965, 'fraction_numerical': 0.07743608743979252, 'mean_word_length': 4.718926553672317, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 12, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3442826', 'n_tokens_mistral': 4304, 'n_tokens_neox': 3817, 'n_words': 690}