Open MHA Developer Manual

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 1221 [warning: Documents this large are best viewed by clicking the View PDF Link!]

The Open Master Hearing Aid
(openMHA)
4.8.0
Plugin Developers’ Manual
© 2005-2019 by HörTech gGmbH, Marie-Curie-Str. 2, D–26129 Oldenburg, Germany
The Open Master Hearing Aid (openMHA) – Plugin Developers’ Manual
HörTech gGmbH
Marie-Curie-Str. 2
D–26129 Oldenburg
iii
LICENSE AGREEMENT
This file is part of the HörTech Open Master Hearing Aid (openMHA)
Copyright © 2005 2006 2007 2008 2009 2010 2012 2013 2014 2015 2016 HörTech gGmbH.
Copyright © 2017 2018 2019 HörTech gGmbH.
openMHA is free software: you can redistribute it and/or modify it under the terms of the GNU
Affero General Public License as published by the Free Software Foundation, version 3 of the
License.
openMHA is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU Affero General Public License, version 3 for more details.
You should have received a copy of the GNU Affero General Public License, version 3 along
with openMHA. If not, see <http://www.gnu.org/licenses/>.
© 2005-2019 HörTech gGmbH, Oldenburg
Contents
1 Overview 1
1.1 Structure ........................................ 1
1.2 Platform Services and Conventions ......................... 2
2 Todo List 4
3 Module Documentation 4
3.1 Concept of Variables and Data Exchange in the openMHA ............ 4
3.2 The openMHA Plugins (programming interface) .................. 7
3.3 Writing openMHA Plugins. A step-by-step tutorial ................. 11
3.4 The MHA Framework interface ............................ 27
3.5 Communication between algorithms ......................... 28
3.6 Error handling in the openMHA ........................... 32
3.7 The openMHA configuration language ....................... 34
3.8 The openMHA Toolbox library ............................ 35
3.9 Vector and matrix processing toolbox ........................ 37
3.10 Complex arithmetics in the openMHA ........................ 61
3.11 Fast Fourier Transform functions ........................... 71
4 Namespace Documentation 78
4.1 ac2lsl Namespace Reference ............................ 78
4.2 acmon Namespace Reference ............................ 78
4.3 acsave Namespace Reference ............................ 79
4.4 addsndfile Namespace Reference .......................... 79
4.5 ADM Namespace Reference ............................. 80
4.6 AuditoryProfile Namespace Reference ....................... 81
4.7 coherence Namespace Reference .......................... 82
4.8 dc Namespace Reference .............................. 82
4.9 dc_simple Namespace Reference .......................... 83
4.10 delay Namespace Reference ............................. 84
4.11 delaysum Namespace Reference .......................... 84
4.12 DynComp Namespace Reference .......................... 85
4.13 fader_wave Namespace Reference ......................... 86
4.14 fftfbpow Namespace Reference ........................... 86
4.15 fftfilterbank Namespace Reference ......................... 87
4.16 fshift Namespace Reference ............................. 87
4.17 fshift_hilbert Namespace Reference ......................... 88
4.18 gain Namespace Reference ............................. 88
4.19 gtfb_analyzer Namespace Reference ........................ 88
4.20 matrixmixer Namespace Reference ......................... 89
4.21 MHA_AC Namespace Reference .......................... 89
4.22 mha_error_helpers Namespace Reference ..................... 90
4.23 MHA_TCP Namespace Reference ......................... 91
4.24 mhachain Namespace Reference .......................... 93
4.25 MHAEvents Namespace Reference ......................... 93
4.26 MHAFilter Namespace Reference .......................... 94
4.27 MHAIOJack Namespace Reference ......................... 98
4.28 MHAIOJackdb Namespace Reference ....................... 98
4.29 MHAIOPortAudio Namespace Reference ...................... 98
4.30 MHAJack Namespace Reference .......................... 99
CONTENTS v
4.31 MHAKernel Namespace Reference .........................101
4.32 MHAMultiSrc Namespace Reference ........................101
4.33 MHAOvlFilter Namespace Reference ........................102
4.34 MHAOvlFilter::barkscale Namespace Reference ..................103
4.35 MHAOvlFilter::FreqScaleFun Namespace Reference ...............103
4.36 MHAOvlFilter::ShapeFun Namespace Reference .................106
4.37 MHAParser Namespace Reference .........................107
4.38 MHAParser::StrCnv Namespace Reference ....................112
4.39 MHAPlugin Namespace Reference .........................116
4.40 MHAPlugin_Resampling Namespace Reference ..................117
4.41 MHAPlugin_Split Namespace Reference ......................117
4.42 MHASignal Namespace Reference .........................118
4.43 MHASndFile Namespace Reference ........................125
4.44 MHATableLookup Namespace Reference .....................125
4.45 MHAWindow Namespace Reference ........................125
4.46 multibandcompressor Namespace Reference ...................127
4.47 noisePowProposedScale Namespace Reference .................127
4.48 overlapadd Namespace Reference .........................127
4.49 plingploing Namespace Reference .........................128
4.50 PluginLoader Namespace Reference ........................128
4.51 route Namespace Reference .............................129
4.52 shadowfilter_begin Namespace Reference .....................129
4.53 shadowfilter_end Namespace Reference ......................129
4.54 smoothgains_bridge Namespace Reference ....................130
4.55 testplugin Namespace Reference ..........................130
5 Class Documentation 130
5.1 ac2lsl::ac2lsl_t Class Reference ...........................130
5.2 ac2lsl::cfg_t Class Reference ............................133
5.3 ac2lsl::save_var_base_t Class Reference ......................136
5.4 ac2lsl::save_var_t<T>Class Template Reference ................137
5.5 ac2lsl::save_var_t<mha_complex_t >Class Template Reference ........140
5.6 ac2lsl::type_info Struct Reference ..........................143
5.7 ac2osc_t Class Reference ..............................144
5.8 ac2wave_if_t Class Reference ............................148
5.9 ac2wave_t Class Reference .............................150
5.10 acConcat_wave Class Reference ..........................151
5.11 acConcat_wave_config Class Reference ......................154
5.12 acmon::ac_monitor_t Class Reference .......................155
5.13 acmon::acmon_t Class Reference ..........................157
5.14 acPooling_wave Class Reference ..........................160
5.15 acPooling_wave_config Class Reference ......................163
5.16 acsave::acsave_t Class Reference .........................165
5.17 acsave::cfg_t Class Reference ............................168
5.18 acsave::mat4head_t Struct Reference ........................169
5.19 acsave::save_var_t Class Reference ........................170
5.20 acSteer Class Reference ...............................172
5.21 acSteer_config Class Reference ...........................174
5.22 acTransform_wave Class Reference .........................176
5.23 acTransform_wave_config Class Reference ....................178
5.24 addsndfile::addsndfile_if_t Class Reference ....................180
5.25 addsndfile::level_adapt_t Class Reference .....................183
© 2005-2019 HörTech gGmbH, Oldenburg
vi CONTENTS
5.26 addsndfile::resampled_soundfile_t Class Reference ................184
5.27 addsndfile::sndfile_t Class Reference ........................186
5.28 addsndfile::waveform_proxy_t Class Reference ..................187
5.29 ADM::ADM<F>Class Template Reference ....................188
5.30 ADM::Delay<F>Class Template Reference ...................191
5.31 ADM::Linearphase_FIR<F>Class Template Reference .............193
5.32 adm_if_t Class Reference ..............................195
5.33 adm_rtconfig_t Class Reference ...........................197
5.34 algo_comm_t Struct Reference ...........................201
5.35 alsa_base_t Class Reference ............................206
5.36 alsa_dev_par_parser_t Class Reference ......................208
5.37 alsa_t<T>Class Template Reference .......................210
5.38 altplugs_t Class Reference ..............................213
5.39 analysepath_t Class Reference ...........................217
5.40 analysispath_if_t Class Reference ..........................219
5.41 AuditoryProfile::fmap_t Class Reference ......................221
5.42 AuditoryProfile::parser_t Class Reference .....................222
5.43 AuditoryProfile::parser_t::ear_t Class Reference ..................223
5.44 AuditoryProfile::parser_t::fmap_t Class Reference .................224
5.45 AuditoryProfile::profile_t Class Reference ......................226
5.46 AuditoryProfile::profile_t::ear_t Class Reference ..................227
5.47 bbcalib_interface_t Class Reference .........................228
5.48 calibrator_runtime_layer_t Class Reference ....................229
5.49 calibrator_t Class Reference .............................231
5.50 calibrator_variables_t Class Reference .......................233
5.51 cfg_t Class Reference ................................235
5.52 coherence::cohflt_if_t Class Reference .......................237
5.53 coherence::cohflt_t Class Reference ........................239
5.54 coherence::vars_t Class Reference .........................241
5.55 combc_if_t Class Reference .............................243
5.56 combc_t Class Reference ..............................244
5.57 comm_var_t Struct Reference ............................246
5.58 cpuload_t Class Reference ..............................247
5.59 db_if_t Class Reference ...............................249
5.60 db_t Class Reference .................................251
5.61 dc::dc_if_t Class Reference .............................253
5.62 dc::dc_t Class Reference ...............................255
5.63 dc::dc_vars_t Class Reference ............................257
5.64 dc::dc_vars_validator_t Class Reference ......................260
5.65 dc::wb_inhib_cfg_t Class Reference .........................260
5.66 dc::wideband_inhib_vars_t Class Reference ....................261
5.67 dc_simple::dc_if_t Class Reference .........................263
5.68 dc_simple::dc_t Class Reference ..........................266
5.69 dc_simple::dc_t::line_t Class Reference .......................268
5.70 dc_simple::dc_vars_t Class Reference .......................269
5.71 dc_simple::dc_vars_validator_t Class Reference ..................270
5.72 dc_simple::level_smoother_t Class Reference ...................271
5.73 delay::interface_t Class Reference ..........................273
5.74 delaysum::delaysum_if_t Class Reference .....................274
5.75 delaysum::delaysum_t Class Reference .......................277
5.76 doasvm_classification Class Reference .......................279
© 2005-2019 HörTech gGmbH, Oldenburg
CONTENTS vii
5.77 doasvm_classification_config Class Reference ...................281
5.78 doasvm_feature_extraction Class Reference ....................283
5.79 doasvm_feature_extraction_config Class Reference ................285
5.80 droptect_t Class Reference ..............................287
5.81 ds_t Class Reference .................................290
5.82 dynamiclib_t Class Reference ............................291
5.83 DynComp::dc_afterburn_rt_t Class Reference ...................292
5.84 DynComp::dc_afterburn_t Class Reference .....................294
5.85 DynComp::dc_afterburn_vars_t Class Reference .................296
5.86 DynComp::gaintable_t Class Reference .......................298
5.87 example1_t Class Reference .............................303
5.88 example2_t Class Reference .............................305
5.89 example3_t Class Reference .............................308
5.90 example4_t Class Reference .............................312
5.91 example5_t Class Reference .............................315
5.92 example6_t Class Reference .............................316
5.93 expression_t Class Reference ............................318
5.94 fader_if_t Class Reference ..............................318
5.95 fader_wave::fader_wave_if_t Class Reference ...................320
5.96 fader_wave::level_adapt_t Class Reference ....................322
5.97 fftfbpow::fftfbpow_interface_t Class Reference ...................323
5.98 fftfbpow::fftfbpow_t Class Reference ........................326
5.99 fftfilterbank::fftfb_interface_t Class Reference ...................328
5.100 fftfilterbank::fftfb_plug_t Class Reference ......................330
5.101 fshift::fshift_config_t Class Reference ........................332
5.102 fshift::fshift_t Class Reference ............................334
5.103 fshift_hilbert::frequency_translator_t Class Reference ...............337
5.104 fshift_hilbert::hilbert_shifter_t Class Reference ...................339
5.105 fw_t Class Reference .................................343
5.106 fw_vars_t Class Reference ..............................348
5.107 gain::gain_if_t Class Reference ...........................350
5.108 gain::scaler_t Class Reference ............................352
5.109 gtfb_analyzer::gtfb_analyzer_cfg_t Struct Reference ...............352
5.110 gtfb_analyzer::gtfb_analyzer_t Class Reference ..................355
5.111 hanning_ramps_t Class Reference .........................358
5.112 identity_t Class Reference ..............................359
5.113 iirfilter_t Class Reference ...............................360
5.114 io_alsa_t Class Reference ..............................361
5.115 io_file_t Class Reference ...............................365
5.116 io_lib_t Class Reference ...............................369
5.117 io_parser_t Class Reference .............................372
5.118 io_tcp_fwcb_t Class Reference ...........................375
5.119 io_tcp_parser_t Class Reference ..........................378
5.120 io_tcp_sound_t Class Reference ...........................384
5.121 io_tcp_sound_t::float_union Union Reference ...................388
5.122 io_tcp_t Class Reference ...............................389
5.123 latex_doc_t Class Reference .............................391
5.124 lpc Class Reference ..................................395
5.125 lpc_bl_predictor Class Reference ..........................398
5.126 lpc_bl_predictor_config Class Reference ......................400
5.127 lpc_burglattice Class Reference ...........................402
© 2005-2019 HörTech gGmbH, Oldenburg
viii CONTENTS
5.128 lpc_burglattice_config Class Reference .......................405
5.129 lpc_config Class Reference .............................406
5.130 matrixmixer::cfg_t Class Reference .........................408
5.131 matrixmixer::matmix_t Class Reference .......................410
5.132 MHA_AC::ac2matrix_helper_t Class Reference ..................412
5.133 MHA_AC::ac2matrix_t Class Reference .......................413
5.134 MHA_AC::acspace2matrix_t Class Reference ...................415
5.135 MHA_AC::double_t Class Reference ........................418
5.136 MHA_AC::float_t Class Reference ..........................420
5.137 MHA_AC::int_t Class Reference ...........................421
5.138 MHA_AC::spectrum_t Class Reference .......................422
5.139 MHA_AC::stat_t Class Reference ..........................424
5.140 MHA_AC::waveform_t Class Reference .......................425
5.141 mha_audio_descriptor_t Struct Reference .....................427
5.142 mha_audio_t Struct Reference ............................428
5.143 mha_channel_info_t Struct Reference ........................429
5.144 mha_complex_t Struct Reference ..........................431
5.145 mha_complex_test_array_t Struct Reference ....................431
5.146 mha_dblbuf_t<FIFO >Class Template Reference ................432
5.147 mha_direction_t Struct Reference ..........................438
5.148 mha_drifter_fifo_t<T>Class Template Reference ................439
5.149 MHA_Error Class Reference .............................445
5.150 mha_fifo_lw_t<T>Class Template Reference ..................447
5.151 mha_fifo_posix_threads_t Class Reference .....................450
5.152 mha_fifo_t<T>Class Template Reference ....................452
5.153 mha_fifo_thread_guard_t Class Reference .....................456
5.154 mha_fifo_thread_platform_t Class Reference ....................457
5.155 mha_real_test_array_t Struct Reference ......................460
5.156 mha_rt_fifo_element_t<T>Class Template Reference .............460
5.157 mha_rt_fifo_t<T>Class Template Reference ...................462
5.158 mha_spec_t Struct Reference ............................465
5.159 mha_stash_environment_variable_t Class Reference ...............466
5.160 MHA_TCP::Async_Notify Class Reference .....................468
5.161 MHA_TCP::Client Class Reference .........................469
5.162 MHA_TCP::Connection Class Reference ......................471
5.163 MHA_TCP::Event_Watcher Class Reference ....................478
5.164 MHA_TCP::OS_EVENT_TYPE Struct Reference .................480
5.165 MHA_TCP::Server Class Reference .........................481
5.166 MHA_TCP::sock_init_t Class Reference ......................483
5.167 MHA_TCP::Sockaccept_Event Class Reference ..................484
5.168 MHA_TCP::Sockread_Event Class Reference ...................485
5.169 MHA_TCP::Sockwrite_Event Class Reference ...................486
5.170 MHA_TCP::Thread Class Reference ........................486
5.171 MHA_TCP::Timeout_Event Class Reference ....................490
5.172 MHA_TCP::Timeout_Watcher Class Reference ..................491
5.173 MHA_TCP::Wakeup_Event Class Reference ....................493
5.174 mha_tictoc_t Struct Reference ............................495
5.175 mha_wave_t Struct Reference ............................496
5.176 mhachain::chain_base_t Class Reference .....................497
5.177 mhachain::mhachain_t Class Reference ......................500
5.178 mhachain::plugs_t Class Reference .........................501
© 2005-2019 HörTech gGmbH, Oldenburg
CONTENTS ix
5.179 mhaconfig_t Struct Reference ............................504
5.180 MHAEvents::connector_base_t Class Reference ..................506
5.181 MHAEvents::connector_t<receiver_t >Class Template Reference .......508
5.182 MHAEvents::emitter_t Class Reference .......................510
5.183 MHAEvents::patchbay_t<receiver_t >Class Template Reference ........512
5.184 MHAFilter::adapt_filter_param_t Class Reference .................513
5.185 MHAFilter::adapt_filter_state_t Class Reference ..................514
5.186 MHAFilter::adapt_filter_t Class Reference .....................515
5.187 MHAFilter::blockprocessing_polyphase_resampling_t Class Reference . . . . . 517
5.188 MHAFilter::complex_bandpass_t Class Reference .................520
5.189 MHAFilter::diff_t Class Reference ..........................522
5.190 MHAFilter::fftfilter_t Class Reference ........................523
5.191 MHAFilter::fftfilterbank_t Class Reference .....................527
5.192 MHAFilter::filter_t Class Reference .........................531
5.193 MHAFilter::gamma_flt_t Class Reference ......................535
5.194 MHAFilter::iir_filter_state_t Class Reference ....................538
5.195 MHAFilter::iir_filter_t Class Reference ........................539
5.196 MHAFilter::iir_ord1_real_t Class Reference .....................542
5.197 MHAFilter::o1_ar_filter_t Class Reference .....................545
5.198 MHAFilter::o1flt_lowpass_t Class Reference ....................548
5.199 MHAFilter::o1flt_maxtrack_t Class Reference ...................551
5.200 MHAFilter::o1flt_mintrack_t Class Reference ....................552
5.201 MHAFilter::partitioned_convolution_t Class Reference ...............554
5.202 MHAFilter::partitioned_convolution_t::index_t Struct Reference ..........558
5.203 MHAFilter::polyphase_resampling_t Class Reference ...............559
5.204 MHAFilter::resampling_filter_t Class Reference ..................564
5.205 MHAFilter::smoothspec_t Class Reference .....................565
5.206 MHAFilter::thirdoctave_analyzer_t Class Reference ................568
5.207 MHAFilter::transfer_function_t Struct Reference ..................570
5.208 MHAFilter::transfer_matrix_t Struct Reference ...................573
5.209 MHAIOJack::io_jack_t Class Reference .......................574
5.210 MHAIOJackdb::io_jack_t Class Reference .....................578
5.211 MHAIOPortAudio::device_info_t Class Reference .................583
5.212 MHAIOPortAudio::io_portaudio_t Class Reference .................585
5.213 MHAJack::client_avg_t Class Reference ......................588
5.214 MHAJack::client_noncont_t Class Reference ....................591
5.215 MHAJack::client_t Class Reference .........................593
5.216 MHAJack::port_t Class Reference ..........................599
5.217 MHAKernel::algo_comm_class_t Class Reference .................603
5.218 MHAKernel::comm_var_map_t Class Reference ..................606
5.219 MHAMultiSrc::base_t Class Reference .......................607
5.220 MHAMultiSrc::channel_t Class Reference .....................608
5.221 MHAMultiSrc::channels_t Class Reference .....................609
5.222 MHAMultiSrc::spectrum_t Class Reference .....................610
5.223 MHAMultiSrc::waveform_t Class Reference ....................611
5.224 MHAOvlFilter::band_descriptor_t Class Reference .................612
5.225 MHAOvlFilter::barkscale::bark2hz_t Class Reference ...............613
5.226 MHAOvlFilter::barkscale::hz2bark_t Class Reference ...............614
5.227 MHAOvlFilter::fftfb_ac_info_t Class Reference ...................615
5.228 MHAOvlFilter::fftfb_t Class Reference ........................616
5.229 MHAOvlFilter::fftfb_vars_t Class Reference .....................619
© 2005-2019 HörTech gGmbH, Oldenburg
x CONTENTS
5.230 MHAOvlFilter::fscale_bw_t Class Reference ....................622
5.231 MHAOvlFilter::fscale_t Class Reference ......................623
5.232 MHAOvlFilter::fspacing_t Class Reference .....................625
5.233 MHAOvlFilter::overlap_save_filterbank_analytic_t Class Reference .......627
5.234 MHAOvlFilter::overlap_save_filterbank_t Class Reference ............628
5.235 MHAOvlFilter::overlap_save_filterbank_t::vars_t Class Reference ........630
5.236 MHAOvlFilter::scale_var_t Class Reference ....................632
5.237 MHAParser::base_t Class Reference ........................634
5.238 MHAParser::base_t::replace_t Class Reference ..................643
5.239 MHAParser::bool_mon_t Class Reference .....................644
5.240 MHAParser::bool_t Class Reference ........................645
5.241 MHAParser::c_ifc_parser_t Class Reference ....................648
5.242 MHAParser::commit_t<receiver_t >Class Template Reference .........650
5.243 MHAParser::complex_mon_t Class Reference ...................652
5.244 MHAParser::complex_t Class Reference ......................654
5.245 MHAParser::entry_t Class Reference ........................656
5.246 MHAParser::expression_t Class Reference .....................657
5.247 MHAParser::float_mon_t Class Reference .....................658
5.248 MHAParser::float_t Class Reference ........................659
5.249 MHAParser::int_mon_t Class Reference ......................662
5.250 MHAParser::int_t Class Reference ..........................664
5.251 MHAParser::keyword_list_t Class Reference ....................666
5.252 MHAParser::kw_t Class Reference .........................669
5.253 MHAParser::mcomplex_mon_t Class Reference ..................672
5.254 MHAParser::mcomplex_t Class Reference .....................674
5.255 MHAParser::mfloat_mon_t Class Reference ....................676
5.256 MHAParser::mfloat_t Class Reference .......................677
5.257 MHAParser::mhaconfig_mon_t Class Reference ..................680
5.258 MHAParser::mhapluginloader_t Class Reference .................682
5.259 MHAParser::mint_mon_t Class Reference .....................685
5.260 MHAParser::monitor_t Class Reference .......................686
5.261 MHAParser::parser_t Class Reference .......................688
5.262 MHAParser::range_var_t Class Reference .....................693
5.263 MHAParser::string_mon_t Class Reference ....................696
5.264 MHAParser::string_t Class Reference ........................697
5.265 MHAParser::variable_t Class Reference ......................700
5.266 MHAParser::vcomplex_mon_t Class Reference ..................702
5.267 MHAParser::vcomplex_t Class Reference .....................704
5.268 MHAParser::vfloat_mon_t Class Reference .....................707
5.269 MHAParser::vfloat_t Class Reference ........................709
5.270 MHAParser::vint_mon_t Class Reference ......................711
5.271 MHAParser::vint_t Class Reference .........................713
5.272 MHAParser::vstring_mon_t Class Reference ....................715
5.273 MHAParser::vstring_t Class Reference .......................717
5.274 MHAParser::window_t Class Reference .......................719
5.275 mhaplug_cfg_t Class Reference ...........................722
5.276 MHAPlugin::cfg_chain_t<runtime_cfg_t >Class Template Reference . . . . . 722
5.277 MHAPlugin::config_t<runtime_cfg_t >Class Template Reference ........723
5.278 MHAPlugin::plugin_t<runtime_cfg_t >Class Template Reference ........728
5.279 MHAPlugin_Resampling::resampling_if_t Class Reference ............733
5.280 MHAPlugin_Resampling::resampling_t Class Reference .............735
© 2005-2019 HörTech gGmbH, Oldenburg
CONTENTS xi
5.281 MHAPlugin_Split::domain_handler_t Class Reference ...............736
5.282 MHAPlugin_Split::dummy_threads_t Class Reference ...............741
5.283 MHAPlugin_Split::posix_threads_t Class Reference ................743
5.284 MHAPlugin_Split::split_t Class Reference ......................747
5.285 MHAPlugin_Split::splitted_part_t Class Reference .................751
5.286 MHAPlugin_Split::thread_platform_t Class Reference ...............756
5.287 MHAPlugin_Split::uni_processor_t Class Reference ................759
5.288 mhaserver_t Class Reference ............................760
5.289 MHASignal::async_rmslevel_t Class Reference ..................763
5.290 MHASignal::delay_spec_t Class Reference .....................765
5.291 MHASignal::delay_t Class Reference ........................766
5.292 MHASignal::delay_wave_t Class Reference ....................768
5.293 MHASignal::doublebuffer_t Class Reference ....................769
5.294 MHASignal::fft_t Class Reference ..........................772
5.295 MHASignal::hilbert_fftw_t Class Reference .....................775
5.296 MHASignal::hilbert_t Class Reference .......................776
5.297 MHASignal::loop_wavefragment_t Class Reference ................778
5.298 MHASignal::matrix_t Class Reference ........................782
5.299 MHASignal::minphase_t Class Reference .....................790
5.300 MHASignal::quantizer_t Class Reference ......................792
5.301 MHASignal::ringbuffer_t Class Reference ......................793
5.302 MHASignal::schroeder_t Class Reference .....................797
5.303 MHASignal::spectrum_t Class Reference ......................800
5.304 MHASignal::stat_t Class Reference .........................805
5.305 MHASignal::subsample_delay_t Class Reference .................806
5.306 MHASignal::uint_vector_t Class Reference .....................809
5.307 MHASignal::waveform_t Class Reference ......................812
5.308 MHASndFile::sf_t Class Reference .........................822
5.309 MHASndFile::sf_wave_t Class Reference ......................823
5.310 MHATableLookup::linear_table_t Class Reference .................824
5.311 MHATableLookup::table_t Class Reference .....................828
5.312 MHATableLookup::xy_table_t Class Reference ...................830
5.313 MHAWindow::bartlett_t Class Reference ......................834
5.314 MHAWindow::base_t Class Reference .......................835
5.315 MHAWindow::blackman_t Class Reference .....................837
5.316 MHAWindow::fun_t Class Reference ........................838
5.317 MHAWindow::hamming_t Class Reference .....................839
5.318 MHAWindow::hanning_t Class Reference .....................840
5.319 MHAWindow::rect_t Class Reference ........................841
5.320 MHAWindow::user_t Class Reference ........................842
5.321 mon_t Class Reference ................................844
5.322 multibandcompressor::fftfb_plug_t Class Reference ................845
5.323 multibandcompressor::interface_t Class Reference ................847
5.324 multibandcompressor::plugin_signals_t Class Reference .............849
5.325 nlms_t Class Reference ...............................851
5.326 noise_t Class Reference ...............................853
5.327 noisePowProposedScale::interface_t Class Reference ..............855
5.328 noisePowProposedScale::noisePowProposed Class Reference .........857
5.329 overlapadd::overlapadd_if_t Class Reference ...................859
5.330 overlapadd::overlapadd_t Class Reference .....................862
5.331 parser_int_dyn Class Reference ...........................864
© 2005-2019 HörTech gGmbH, Oldenburg
xii CONTENTS
5.332 plingploing::if_t Class Reference ...........................865
5.333 plingploing::plingploing_t Class Reference .....................868
5.334 plug_t Class Reference ................................870
5.335 plugin_interface_t Class Reference .........................872
5.336 pluginbrowser_t Class Reference ..........................873
5.337 plugindescription_t Class Reference .........................875
5.338 PluginLoader::config_file_splitter_t Class Reference ................876
5.339 PluginLoader::fourway_processor_t Class Reference ...............877
5.340 PluginLoader::mhapluginloader_t Class Reference ................880
5.341 pluginloader_t Class Reference ...........................885
5.342 prediction_error Class Reference ..........................886
5.343 prediction_error_config Class Reference ......................889
5.344 rmslevel_if_t Class Reference ............................892
5.345 rmslevel_t Class Reference .............................894
5.346 route::interface_t Class Reference ..........................895
5.347 route::process_t Class Reference ..........................897
5.348 rt_nlms_t Class Reference ..............................898
5.349 save_spec_t Class Reference ............................901
5.350 save_wave_t Class Reference ............................902
5.351 shadowfilter_begin::cfg_t Class Reference .....................903
5.352 shadowfilter_begin::shadowfilter_begin_t Class Reference ............905
5.353 shadowfilter_end::cfg_t Class Reference ......................906
5.354 shadowfilter_end::shadowfilter_end_t Class Reference ..............908
5.355 sine_cfg_t Struct Reference .............................909
5.356 sine_t Class Reference ................................910
5.357 smoothgains_bridge::overlapadd_if_t Class Reference ..............912
5.358 smoothgains_bridge::smoothspec_wrap_t Class Reference ...........914
5.359 softclip_t Class Reference ..............................916
5.360 softclipper_t Class Reference ............................917
5.361 softclipper_variables_t Class Reference ......................919
5.362 spec2wave_if_t Class Reference ..........................920
5.363 spec2wave_t Class Reference ............................922
5.364 spec_fader_t Class Reference ............................923
5.365 speechnoise_t Class Reference ...........................924
5.366 steerbf Class Reference ...............................926
5.367 steerbf_config Class Reference ...........................928
5.368 testplugin::ac_parser_t Class Reference ......................930
5.369 testplugin::config_parser_t Class Reference ....................932
5.370 testplugin::if_t Class Reference ...........................934
5.371 testplugin::signal_parser_t Class Reference ....................936
5.372 timo_AC Class Reference ..............................937
5.373 timo_params Class Reference ............................939
5.374 timoConfig Class Reference .............................940
5.375 timoSmooth Class Reference ............................944
5.376 us_t Class Reference .................................947
5.377 wave2spec_if_t Class Reference ..........................949
5.378 wave2spec_t Class Reference ............................951
5.379 wavrec_t Class Reference ..............................953
5.380 wavwriter_t Class Reference .............................955
5.381 windowselector_t Class Reference .........................957
6 File Documentation 960
© 2005-2019 HörTech gGmbH, Oldenburg
CONTENTS xiii
6.1 ac2lsl.cpp File Reference ...............................960
6.2 ac2osc.cpp File Reference ..............................960
6.3 ac2wave.cpp File Reference .............................960
6.4 ac_monitor_type.cpp File Reference ........................961
6.5 ac_monitor_type.hh File Reference .........................961
6.6 acConcat_wave.cpp File Reference .........................961
6.7 acConcat_wave.h File Reference ..........................961
6.8 acmon.cpp File Reference ..............................961
6.9 acPooling_wave.cpp File Reference .........................962
6.10 acPooling_wave.h File Reference ..........................962
6.11 acsave.cpp File Reference ..............................962
6.12 acSteer.cpp File Reference ..............................963
6.13 acSteer.h File Reference ...............................963
6.14 acTransform_wave.cpp File Reference .......................964
6.15 acTransform_wave.h File Reference .........................964
6.16 addsndfile.cpp File Reference ............................964
6.17 adm.cpp File Reference ...............................965
6.18 adm.hh File Reference ................................966
6.19 altplugs.cpp File Reference ..............................967
6.20 analysemhaplugin.cpp File Reference ........................967
6.21 analysispath.cpp File Reference ...........................967
6.22 auditory_profile.cpp File Reference .........................968
6.23 auditory_profile.h File Reference ...........................968
6.24 browsemhaplugins.cpp File Reference .......................968
6.25 coherence.cpp File Reference ............................969
6.26 combinechannels.cpp File Reference ........................969
6.27 compiler_id.cpp File Reference ...........................970
6.28 compiler_id.hh File Reference ............................970
6.29 complex_filter.cpp File Reference ..........................970
6.30 complex_filter.h File Reference ...........................970
6.31 cpuload.cpp File Reference .............................971
6.32 db.cpp File Reference .................................971
6.33 dc.cpp File Reference .................................971
6.34 dc_afterburn.cpp File Reference ...........................972
6.35 dc_afterburn.h File Reference ............................972
6.36 dc_simple.cpp File Reference ............................973
6.37 delay.cpp File Reference ...............................973
6.38 delaysum.cpp File Reference ............................974
6.39 doasvm_classification.cpp File Reference .....................974
6.40 doasvm_classification.h File Reference .......................974
6.41 doasvm_feature_extraction.cpp File Reference ...................974
6.42 doasvm_feature_extraction.h File Reference ....................975
6.43 doc_appendix.h File Reference ...........................975
6.44 doc_examples.h File Reference ...........................975
6.45 doc_frameworks.h File Reference ..........................975
6.46 doc_general.h File Reference ............................975
6.47 doc_kernel.h File Reference .............................975
6.48 doc_matlab.h File Reference .............................975
6.49 doc_mhamain.h File Reference ...........................975
6.50 doc_parser.h File Reference .............................975
6.51 doc_plugif.cpp File Reference ............................975
© 2005-2019 HörTech gGmbH, Oldenburg
xiv CONTENTS
6.52 doc_plugins.h File Reference ............................975
6.53 doc_system.h File Reference ............................975
6.54 doc_toolbox.h File Reference ............................975
6.55 downsample.cpp File Reference ...........................975
6.56 droptect.cpp File Reference .............................976
6.57 example1.cpp File Reference ............................976
6.58 example2.cpp File Reference ............................976
6.59 example3.cpp File Reference ............................976
6.60 example4.cpp File Reference ............................976
6.61 example5.cpp File Reference ............................976
6.62 example6.cpp File Reference ............................977
6.63 fader_spec.cpp File Reference ............................977
6.64 fader_wave.cpp File Reference ...........................977
6.65 fftfbpow.cpp File Reference ..............................978
6.66 fftfilterbank.cpp File Reference ............................978
6.67 fshift.cpp File Reference ...............................979
6.68 fshift.hh File Reference ................................979
6.69 fshift_hilbert.cpp File Reference ...........................979
6.70 gain.cpp File Reference ................................979
6.71 gaintable.cpp File Reference .............................980
6.72 gaintable.h File Reference ..............................980
6.73 generatemhaplugindoc.cpp File Reference .....................981
6.74 gtfb_analyzer.cpp File Reference ..........................982
6.75 hann.cpp File Reference ...............................984
6.76 hann.h File Reference ................................985
6.77 identity.cpp File Reference ..............................985
6.78 ifftshift.cpp File Reference ..............................985
6.79 ifftshift.h File Reference ................................986
6.80 iirfilter.cpp File Reference ...............................986
6.81 lpc.cpp File Reference ................................986
6.82 lpc.h File Reference ..................................987
6.83 lpc_bl_predictor.cpp File Reference .........................987
6.84 lpc_bl_predictor.h File Reference ..........................987
6.85 lpc_burg-lattice.cpp File Reference .........................988
6.86 lpc_burg-lattice.h File Reference ...........................988
6.87 matrixmixer.cpp File Reference ...........................988
6.88 mha.cpp File Reference ...............................989
6.89 mha.hh File Reference ................................989
6.90 mha_algo_comm.cpp File Reference ........................994
6.91 mha_algo_comm.h File Reference .........................995
6.92 mha_algo_comm.hh File Reference .........................996
6.93 mha_defs.h File Reference ..............................997
6.94 mha_errno.c File Reference .............................998
6.95 mha_errno.h File Reference .............................999
6.96 mha_error.cpp File Reference ............................1000
6.97 mha_error.hh File Reference .............................1001
6.98 mha_event_emitter.h File Reference ........................1002
6.99 mha_events.cpp File Reference ...........................1002
6.100 mha_events.h File Reference ............................1002
6.101 mha_fftfb.cpp File Reference .............................1002
6.102 mha_fftfb.hh File Reference .............................1004
© 2005-2019 HörTech gGmbH, Oldenburg
CONTENTS xv
6.103 mha_fifo.cpp File Reference .............................1005
6.104 mha_fifo.h File Reference ..............................1005
6.105 mha_filter.cpp File Reference ............................1005
6.106 mha_filter.hh File Reference .............................1006
6.107 mha_generic_chain.cpp File Reference .......................1007
6.108 mha_generic_chain.h File Reference ........................1008
6.109 mha_io_ifc.h File Reference .............................1008
6.110 mha_multisrc.cpp File Reference ..........................1009
6.111 mha_multisrc.h File Reference ............................1010
6.112 mha_os.cpp File Reference .............................1010
6.113 mha_os.h File Reference ...............................1012
6.114 mha_parser.cpp File Reference ...........................1015
6.115 mha_parser.hh File Reference ............................1017
6.116 mha_plugin.hh File Reference ............................1022
6.117 mha_profiling.c File Reference ............................1024
6.118 mha_profiling.h File Reference ............................1024
6.119 mha_ruby.cpp File Reference ............................1025
6.120 mha_signal.cpp File Reference ...........................1026
6.121 mha_signal.hh File Reference ............................1029
6.122 mha_signal_fft.h File Reference ...........................1038
6.123 mha_tablelookup.cpp File Reference ........................1038
6.124 mha_tablelookup.hh File Reference .........................1038
6.125 mha_tcp.cpp File Reference .............................1039
6.126 mha_tcp.hh File Reference ..............................1040
6.127 mha_toolbox.h File Reference ............................1042
6.128 mha_windowparser.cpp File Reference .......................1042
6.129 mha_windowparser.h File Reference ........................1042
6.130 mhachain.cpp File Reference ............................1043
6.131 mhafw_lib.cpp File Reference ............................1043
6.132 mhafw_lib.h File Reference ..............................1043
6.133 MHAIOalsa.cpp File Reference ...........................1044
6.134 MHAIOFile.cpp File Reference ............................1046
6.135 MHAIOJack.cpp File Reference ...........................1049
6.136 MHAIOJackdb.cpp File Reference ..........................1052
6.137 MHAIOParser.cpp File Reference ..........................1055
6.138 MHAIOPortAudio.cpp File Reference ........................1057
6.139 MHAIOTCP.cpp File Reference ...........................1060
6.140 mhajack.cpp File Reference .............................1064
6.141 mhajack.h File Reference ...............................1064
6.142 mhamain.cpp File Reference .............................1066
6.143 mhapluginloader.cpp File Reference .........................1067
6.144 mhapluginloader.h File Reference ..........................1067
6.145 mhasndfile.cpp File Reference ............................1068
6.146 mhasndfile.h File Reference .............................1068
6.147 multibandcompressor.cpp File Reference ......................1069
6.148 nlms_wave.cpp File Reference ............................1069
6.149 noise.cpp File Reference ...............................1070
6.150 noisePowProposedScale.cpp File Reference ....................1070
6.151 overlapadd.cpp File Reference ............................1071
6.152 plingploing.cpp File Reference ............................1071
6.153 pluginbrowser.cpp File Reference ..........................1072
© 2005-2019 HörTech gGmbH, Oldenburg
xvi CONTENTS
6.154 pluginbrowser.h File Reference ...........................1072
6.155 prediction_error.cpp File Reference .........................1072
6.156 prediction_error.h File Reference ..........................1072
6.157 resampling.cpp File Reference ............................1073
6.158 rmslevel.cpp File Reference .............................1073
6.159 route.cpp File Reference ...............................1073
6.160 save_spec.cpp File Reference ............................1073
6.161 save_wave.cpp File Reference ............................1073
6.162 shadowfilter_begin.cpp File Reference .......................1074
6.163 shadowfilter_end.cpp File Reference ........................1074
6.164 sine.cpp File Reference ................................1074
6.165 smoothgains_bridge.cpp File Reference ......................1074
6.166 softclip.cpp File Reference ..............................1075
6.167 spec2wave.cpp File Reference ............................1075
6.168 speechnoise.cpp File Reference ...........................1075
6.169 speechnoise.h File Reference ............................1078
6.170 split.cpp File Reference ................................1078
6.171 steerbf.cpp File Reference ..............................1079
6.172 steerbf.h File Reference ...............................1080
6.173 testalsadevice.c File Reference ...........................1080
6.174 testplugin.cpp File Reference ............................1080
6.175 timoconfig.cpp File Reference ............................1081
6.176 timoconfig.h File Reference .............................1081
6.177 timoSmooth.cpp File Reference ...........................1081
6.178 timosmooth.h File Reference .............................1082
6.179 transducers.cpp File Reference ...........................1082
6.180 upsample.cpp File Reference ............................1083
6.181 wave2spec.cpp File Reference ............................1083
6.182 wavrec.cpp File Reference ..............................1083
6.183 windowselector.cpp File Reference .........................1084
6.184 windowselector.h File Reference ...........................1084
Index 1085
© 2005-2019 HörTech gGmbH, Oldenburg
1 Overview 1
1 Overview
The HörTech Open Master Hearing Aid (openMHA), is a development and evaluation software
platform that is able to execute hearing aid signal processing in real-time on standard computing
hardware with a low delay between sound input and output.
1.1 Structure
The openMHA can be split into four major components :
The openMHA command line application (MHA) (p. 34)
Signal processing plugins (p. 7)
Audio input-output (IO) plugins (see io_file_t (p. 365), MHAIOJack (p. 98), io_parser_t
(p. 372), io_tcp_parser_t (p. 378))
The openMHA toolbox library (p. 35)
openMHA
plugins IO
audio backend
(Jack, File, TCP)
MHAlibopenmha
control applications
(e.g., Octave)
Figure 1 openMHA structure
The openMHA command line application (MHA) (p. 34) acts as a plugin host. It can load
signal processing plugins as well as audio input-output (IO) plugins. Additionally, it provides
the command line configuration interface and a TCP/IP based configuration interface. Several
IO plugins exist: For real-time signal processing, commonly the openMHA MHAIOJack (p. 98)
plugin (see plugins' manual) is used, which provides an interface to the Jack Audio Connection
Kit (JACK). Other IO plugins provide audio file access or TCP/IP-based processing.
openMHA plugins (p. 7) provide the audio signal processing capabilities and audio signal han-
dling. Typically, one openMHA plugin implements one specific algorithm. The complete virtual
hearing aid signal processing can be achieved by a combination of several openMHA plugins.
© 2005-2019 HörTech gGmbH, Oldenburg
2 CONTENTS
1.2 Platform Services and Conventions
The openMHA platform offers some services and conventions to algorithms implemented in
plugins, that make it especially well suited to develop hearing aid algorithms, while still support-
ing general-purpose signal processing.
1.2.1 Audio Signal Domains
As in most other plugin hosts, the audio signal in the openMHA is processed in audio chunks.
However, plugins are not restricted to propagate audio signal as blocks of audio samples in the
time domain another option is to propagate the audio signal in the short time Fourier transform
(STFT) domain, i.e. as spectra of blocks of audio signal, so that not every plugin has to perform
its own STFT analysis and synthesis. Since STFT analysis and re-synthesis of acceptable
audio quality always introduces an algorithmic delay, sharing STFT data is a necessity for a
hearing aid signal processing platform, because the overall delay of the complete processing
has to be as short as possible.
Similar to some other platforms, the openMHA allows also arbitrary data to be exchanged
between plugins through a mechanism called algorithm communication variables (p. 28) or
short "AC vars". This mechanism is commonly used to share data such as filter coefficients or
filter states.
1.2.2 Real-Time Safe Complex Configuration Changes
Hearing aid algorithms in the openMHA can export configuration settings that may be changed
by the user at run time.
To ensure real-time safe signal processing, the audio processing will normally be done in a
signal processing thread with real-time priority, while user interaction with configuration pa-
rameters would be performed in a configuration thread with normal priority, so that the audio
processing does not get interrupted by configuration tasks. Two types of problems may occur
when the user is changing parameters in such a setup:
The change of a simple parameter exposed to the user may cause an involved recalcu-
lation of internal runtime parameters that the algorithm actually uses in processing. The
duration required to perform this recalculation may be a significant portion of (or take even
longer than) the time available to process one block of audio signal. In hearing aid usage,
it is not acceptable to halt audio processing for the duration that the recalculation may
require.
If the user needs to change multiple parameters to reach a desired configuration state
of an algorithm from the original configuration state, then it may not be acceptable that
processing is performed while some of the parameters have already been changed while
others still retain their original values. It is also not acceptable to interrupt signal process-
ing until all pending configuration changes have been performed.
© 2005-2019 HörTech gGmbH, Oldenburg
1.2 Platform Services and Conventions 3
The openMHA provides a mechanism in its toolbox library to enable real-time safe configuration
changes in openMHA plugins:
Basically, existing runtime configurations are used in the processing thread until the work of
creating an updated runtime configuration has been completed in the configuration thread.
In hearing aids, it is more acceptable to continue to use an outdated configuration for a few
more milliseconds than blocking all processing.
The openMHA toolbox library provides an easy-to-use mechanism to integrate real-time safe
runtime configuration updates into every plugin.
1.2.3 Plugins can Themselves Host Other Plugins
An openMHA plugin can itself act as a plugin host. This allows to combine analysis and re-
synthesis methods in a single plugin. We call plugins that can themselves load other plugins
“bridge plugins'' in the openMHA.
When such a bridge plugin is then called by the openMHA to process one block of signal, it
will first perform its analysis, then invoke (as a function call) the signal processing in the loaded
plugin to process the block of signal in the analysis domain, wait to receive a processed block of
signal in the analysis domain back from the loaded plugin when the signal processing function
call to that plugin returns, then perform the re-synthesis transform, and finally return the block
of processed signal in the original domain back to the caller of the bridge plugin.
1.2.4 Central Calibration
The purpose of hearing aid signal processing is to enhance the sound for hearing impaired
listeners. Hearing impairment generally means that people suffering from it have increased
hearing thresholds, i.e. soft sounds that are audible for normal hearing listeners may be im-
perceptible for hearing impaired listeners. To provide accurate signal enhancement for hearing
impaired people, hearing aid signal processing algorithms have to be able to determine the
absolute physical sound pressure level corresponding to a digital signal given to any openM-
HA plugin for processing. Inside the openMHA, we achieve this with the following convention:
The single-precision floating point time-domain sound signal samples, that are processed in-
side the openMHA plugins in blocks of short durations, have the physical pressure unit Pascal
(1Pa = 1N/m2). With this convention in place, all plugins can determine the absolute phys-
ical sound pressure level from the sound samples that they process. A derived convention is
employed in the spectral domain for STFT signals. Due to the dependency of the calibration
on the hardware used, it is the responsibility of the user of the openMHA to perform calibration
measurements and adapt the openMHA settings to make sure that this calibration convention is
met. We provide the plugin transducers which can be configured to perform the necessary
signal adjustments.
© 2005-2019 HörTech gGmbH, Oldenburg
4 CONTENTS
2 Todo List
Class AuditoryProfile::profile_t (p. 226)
Give more documentation; implement all parts of the auditory profile.
Class mha_stash_environment_variable_t (p. 466)
Move to collection of unit-test support classes when we have one.
Class mhaconfig_t (p. 504)
Add information on number of bands and on center frequencies, or replace by mha_audio-
_descriptor_t (p. 427).
Class MHAFilter::filter_t (p. 531)
Implement a more robust filter form.
Member MHAFilter::polyphase_resampling_t::now_index (p. 563)
Index into what? What is the meaning of now?
Class MHAPlugin::plugin_t<runtime_cfg_t >(p. 728)
Describe all services provided by this class, so that the reason why it is recommended that
all plugins use this class as their base is evident. Document all relevant methods and fields.
3 Module Documentation
3.1 Concept of Variables and Data Exchange in the openMHA
Accessibility of configuration variables and data exchange between plugins (processing blocks)
are an important issue in the openMHA.
Accessibility of configuration variables and data exchange between plugins (processing blocks)
are an important issue in the openMHA.
In general, variable types in the openMHA are distinguished by their different access methods.
The variable types in the openMHA are:
Configuration variables : Read and write accesses are possible through the openM-
HA configuration language interface. Configuration variables are implemented as C++
classes with a public data member of the underlying C type. Configuration variables
can be read and modified from “outside'' using the configuration language. The plugin
which provides the configuration variable can use the exposed data member directly. All
accesses through the openMHA configuration language are checked for data type, valid
range, and access restrictions.
Monitor variables : Read access is possible through the openMHA configuration lan-
guage. Write access is only possible from the C++ code. Internally, monitor variables
have a similar C++ class interface as configuration variables.
© 2005-2019 HörTech gGmbH, Oldenburg
3.1 Concept of Variables and Data Exchange in the openMHA 5
AC variables (algorithm communication variables (p. 28)): Any C or C++ data struc-
ture can be shared within an openMHA chain. Access management and name space
is realised in openMHA chain plugin ('mhachain'). AC variables are not available to the
openMHA configuration language interface, although a read-only converter plugin acmon
is available.
Runtime configuration : Algorithms usually derive more parameters (runtime configura-
tion) from the openMHA configuration language variables. When a configuration variable
changes through configuration language write access, then the runtime configuration has
to be recomputed. Plugin developers are encouraged to encapsulate the runtime con-
figuration in a C++ class, which recomputes the runtime configuration from configuration
variables in the constructor. The openMHA supports lock-free and thread-safe replace-
ment of the runtime configuration instance (see example5.cpp (p. 21) and references
therein).
Plugin specific Chain specific
variables
monitors
runtime configuation
(e.g. C++ class)
algorithm communication
(AC variables)
Configuration language
Figure 2 Variable types in the openMHA
The C++ data types are shown in the figure below. These variables can be accessed via the
openMHA host application using the openMHA configuration language. For more details see
'Application engineers' manual'.
© 2005-2019 HörTech gGmbH, Oldenburg
6 CONTENTS
MHAParser elements
Monitors Variables parser_t
kw_t
string_t
vstring_t
bool_t
int_t
float_t
vfloat_t
mfloat_t
Numeric variables
string_mon_t
vstring_mon_t
int_mon_t
float_mon_t
vfloat_mon_t
vint_tvint_mon_t
Numeric monitors
complex_t
vcompelx_t
complex_mon_t
vcomplex_mon_t
mfloat_mon_t
Figure 3 MHAParser elements
© 2005-2019 HörTech gGmbH, Oldenburg
3.2 The openMHA Plugins (programming interface) 7
3.2 The openMHA Plugins (programming interface)
An openMHA plugin is the signal processing unit, usually an algorithm.
Classes
class MHAPlugin::plugin_t<runtime_cfg_t >
The template class for C++ openMHA plugins.
Macros
#define MHAPLUGIN_CALLBACKS_PREFIX(prefix, classname, indom, outdom)
C++ wrapper macro for the plugin interface.
#define MHAPLUGIN_CALLBACKS(plugname, classname, indom, outdom) MHAPLU-
GIN_CALLBACKS_PREFIX(MHA_STATIC_ ## plugname ## _,classname,indom,outdom)
C++ wrapper macro for the plugin interface.
#define MHAPLUGIN_DOCUMENTATION(plugname, cat, doc) MHAPLUGIN_DOCU-
MENTATION_PREFIX(MHA_STATIC_ ## plugname ## _,cat,doc)
Wrapper macro for the plugin documentation interface.
3.2.1 Detailed Description
An openMHA plugin is the signal processing unit, usually an algorithm.
openMHA plugins can be combined into processing chains. One of the configured chains can
be selected for output which allows direct comparison of single algorithms or complex signal
processing configurations. Algorithms within one chain can communicate with each other by
sharing some of their variables, see section Communication between algorithms (p. 28).
The openMHA plugins can use the openMHA configuration language for their configuration.
If they do so, the configuration can be changed through the framework even at run time. A
description of this language can be found in section The openMHA configuration language
(p. 34). If the algorithms should make use of the openMHA configuration language, they need
to be written in C++ rather than pure C.
In the openMHA package a set of example plugins is included. These examples are the base
of a step by step tutorial on how to write an openMHA plugin. See section Writing openMHA
Plugins. A step-by-step tutorial (p. 11) for details.
openMHA plugins communicate with the openMHA using a simple C language interface. This
way it is easy to mix plugins compiled with different C++ compilers. For convenience, we
provide C++ classes which can be connected to the C++ interface. We strongly recommend
the usage of these C++ wrappers. They include out-of-the box support exporting variables to
the configuration interface and for thread safe configuration update.
The openMHA C++ plugin interface consists of a few number of method prototypes:
The output domain (spectrum or waveform) of an openMHA plugin will typically be the same as
the input domain:
© 2005-2019 HörTech gGmbH, Oldenburg
8 CONTENTS
mha_wave_t (p. 496)process(mha_wave_t (p. 496)): pure waveform processing
mha_spec_t (p. 465)process(mha_spec_t (p. 465)): pure spectral processing
But it is also possible to implement domain transformations (from the time domain into spectrum
or vice versa). The corresponding method signatures are:
mha_spec_t (p. 465)process(mha_wave_t (p. 496)): Domain transformation from
waveform to spectrum
mha_wave_t (p. 496)process(mha_spec_t (p. 465)): Domain transformation from
spectrum to waveform
For preparation and release of a plugin, the methods
void prepare(mhaconfig_t (p. 504) &) and
void release(void)
have to be implemented. The openMHA will call the process() method only ater the pre-
pare method has returned and before release() is invoked. It is guarantteed by the open-
MHA framework that signal processing is performed only between calls of prepare() and
release(). Each call of prepare() is followed by a call of release() (after some optional
signal processing).
For configuration purposes, the plugin class has to export a method called parse() which
implements the openMHA configuration language. We strongly recommend that you do not
implement this method yourself, but by inheriting from the class MHAParser::parser_t (p. 688)
from the openMHA toolbox, directly or indirectly (inheriting from a class that itself inherits from
MHAParser::parser_t (p. 688)).
3.2.2 Connecting the C++ class with the C Interface
A C++ class which provides the appropriate methods can be used as an openMHA Plugin by
connecting it to the C interface using the MHAPLUGIN_CALLBACKS (p. 10) macro.
The openMHA Toolbox library provides a base class MHAPlugin::plugin_t (p. 728)<T>(a
template class) which can be used as the base class for a plugin class. This base class im-
plements some necessary features for openMHA plugin developers like integration into the
openMHA configuration language environment (it inherits from MHAParser::parser_t (p. 688))
and thread-safe runtime configuration update.
© 2005-2019 HörTech gGmbH, Oldenburg
3.2 The openMHA Plugins (programming interface) 9
3.2.3 Error reporting
When your plugin detects a situation that it cannot handle, like input signal of the wrong signal
domain at preparation time, unsupported number of input channels at preparation time, unsup-
ported combinations of values in the plugin's variables during configuration, it should throw a
C++ exception. The exception should be of type MHAError. Exceptions of this type are caught
by the MHAPLUGIN_CALLBACKS (p. 10) macro for further error Reporting.
Throwing exceptions in response to unsupported configuration changes does not stop the sig-
nal processing. The openMHA configuration language parser will restore the previous value
of that variable and report an error to the configurator, while the signal processing continues.
Throwing exceptions from the signal processing thread will terminate the signal processing.
Therefore, you should generally avoid throwing exceptions from the process method. Only do
this if you detected a defect in your plugin, and then you should include enough information in
the error message to be able to fix the defect.
3.2.4 Contents of the openMHA Plugin programming interface
3.2.5 Macro Definition Documentation
3.2.5.1 #define MHAPLUGIN_CALLBACKS_PREFIX(
prefix,
classname,
indom,
outdom )
C++ wrapper macro for the plugin interface.
Parameters
classname The name of the plugin class
indom Input domain (wave or spec)
outdom Output domain (wave or spec)
This macro defines all required openMHA Plugin interface functions and passes calls of these
functions to the corresponding member functions of the class ‘classname'. The parameters
‘indom' and ‘outdom' specify the input and output domain of the processing method. The
MHAInit() and MHADestroy() functions will create or destroy an instance of the class. The
approriate member functions have to be defined in the class. It is suggested to make usage of
the MHAPlugin::plugin_t (p. 728) template class. Exceptions of type MHA_Error (p. 445) are
caught and transformed into apropriate error codes with their corresponding error messages.
© 2005-2019 HörTech gGmbH, Oldenburg
10 CONTENTS
3.2.5.2 #define MHAPLUGIN_CALLBACKS(
plugname,
classname,
indom,
outdom )MHAPLUGIN_CALLBACKS_PREFIX(MHA_STATIC_ ## plugname
## _,classname,indom,outdom)
C++ wrapper macro for the plugin interface.
Parameters
plugname The file name of the plugin without the .so or .dll extension
classname The name of the plugin class
indom Input domain (wave or spec)
outdom Output domain (wave or spec)
This macro defines all required openMHA Plugin interface functions and passes calls of these
functions to the corresponding member functions of the class ‘classname'. The parameters
‘indom' and ‘outdom' specify the input and output domain of the processing method. The MHA-
Init() and MHADestroy() functions will create or destroy an instance of the class. The approriate
member functions have to be defined in the class. It is suggested to make usage of the MH-
APlugin::plugin_t (p. 728) template class. Exceptions of type MHA_Error (p. 445) are caught
and transformed into apropriate error codes with their corresponding error messages.
3.2.5.3 #define MHAPLUGIN_DOCUMENTATION(
plugname,
cat,
doc )MHAPLUGIN_DOCUMENTATION_PREFIX(MHA_STATIC_ ##
plugname ## _,cat,doc)
Wrapper macro for the plugin documentation interface.
Parameters
plugin The file name of the plugin without the .so or .dll extension
cat Space separated list of categories to which belong the plugin (as const char)
doc Documentation of the plugin (as const char)
This macro defines the openMHA Plugin interface function for the documentation. The cate-
gories can be any space seperated list of category names. An empty string will categorize the
plugin in the category 'other'.
The documentation should contain a description of the plugin including a description of the
underlying models, and a paragraph containing hints for usage. The text should be LaTeX
compatible (e.g., avoid or quote underscores in the text part); equations should be formatted
as LaTeX.
© 2005-2019 HörTech gGmbH, Oldenburg
3.3 Writing openMHA Plugins. A step-by-step tutorial 11
3.3 Writing openMHA Plugins. A step-by-step tutorial
A step-by-step tutorial on writing openMHA plugins.
A step-by-step tutorial on writing openMHA plugins.
openMHA contains a small number of example plugins as C++ source code. They are meant to
help developers in understanding the concepts of openMHA plugin programming starting from
the simplest example and increasing in complexity. This tutorial explains the basic parts of the
example files.
3.3.1 example1.cpp
The example plugin file example1.cpp (p. 976)demonstrates the easiest way to implement
an openMHA Plugin. It attenuates the sound signal in the first channel by multiplying the
sound samples with a factor. The plugin class MHAPlugin::plugin_t (p. 728) exports several
methods, but only two of them need a non-empty implementation: prepare() method is a
pure virtual function and process() is called when signal processing starts.
#include "mha_plugin.hh"
class example1_t : public MHAPlugin::plugin_t<int> {
public:
example1_t(algo_comm_t & ac,
const std::string & chain_name,
const std::string & algo_name)
: MHAPlugin::plugin_t<int>("",ac)
{/*Do nothing in constructor */}
void release(void)
{/*Do nothing in release */}
Every plugin implementation should include the 'mha_plugin.hh (p. 1022)' header file. C++
helper classes for plugin development are declared in this header file, and most header files
needed for plugin development are included by mha_plugin.hh (p. 1022).
The class plugin1_t inherits from the class MHAPlugin::plugin_t (p. 728), which then inher-
its from MHAParser::parser_t (p. 688) – the configuration language interface in the method
"parse". Our plugin class therefore exports the working "parse" method inherited from MHA-
Parser::parser_t (p. 688), and the plugin is visible in the openMHA configuration tree.
The constructor has to accept 3 parameters of correct types. In this simple example, we do not
make use of them.
The release() method is used to free resources after signal processing. In this simple ex-
ample, we do not allocate resources, so there is no need to free them.
3.3.1.1 The prepare method
void prepare(mhaconfig_t & signal_info)
{
if (signal_info.domain != MHA_WAVEFORM)
throw MHA_Error(__FILE__, __LINE__,
"This plugin can only process waveform signals.");
if (signal_info.channels < 1)
throw MHA_Error(__FILE__,__LINE__,
"This plugin requires at least one input channel.");
}
© 2005-2019 HörTech gGmbH, Oldenburg
12 CONTENTS
Parameters
signal_info Contains information about the input signal's parameters, see mhaconfig_t
(p. 504).
The prepare() method of the plugin is called before the signal processing starts, when the
input signal parameters like domain, number of channels, frames per block, and sampling rate
are known. The prepare() method can check these values and raise an exception if the
plugin cannot cope with them, as is done here. The plugin can also change these values if the
signal processing performed in the plugin results in an output signal with different parameters.
This plugin does not change the signal's parameters, therefore they are not modified here.
3.3.1.2 The signal processing method
mha_wave_t *process(mha_wave_t *signal)
{
unsigned int channel = 0; // channels and frames counting starts with 0
float factor = 0.1f;
unsigned int frame;
// Scale channel number "channel" by "factor":
for(frame = 0; frame < signal->num_frames; frame++) {
// Waveform channels are stored interleaved.
signal->buf[signal->num_channels *frame + channel] *= factor;
}
// Algorithms may process data in-place and return the input signal
// structure as their output signal:
return signal;
}
};
Parameters
signal Pointer to the input signal structure mha_wave_t (p. 496).
Returns
Pointer to the output signal structure. The input signal structure may be reused if the
signal has the same domain and dimensions.
The plugin works with time domain input signal (indicated by the data type mha_wave_t (p. 496)
of the process method's parameter). It scales the first channel by a factor of 0.1. The output
signal reuses the structure that previously contained the input signal (in-place processing).
3.3.1.3 Connecting the C++ class with the C plugin interface
Plugins have to export C functions as their interface (to avoid C++ name-mangling issues and
other incompatibilities when mixing plugins compiled with different C++ compilers).
MHAPLUGIN_CALLBACKS(example1,example1_t,wave,wave)
© 2005-2019 HörTech gGmbH, Oldenburg
3.3 Writing openMHA Plugins. A step-by-step tutorial 13
This macro takes care of accessing the C++ class from the C functions required as the plugin's
interface. It implements the C funtions and calls the corresponding C++ instance methods.
Plugin classes should be derived from the template class MHAPlugin::plugin_t (p. 728) to be
compatible with the C interface wrapper.
This macro also catches C++ exceptions of type MHA_Error (p. 445), when raised in the meth-
ods of the plugin class, and reports the error using an error flag as the return value of the
underlying C function. It is therefore important to note that only C++ exceptions of type MH-
A_Error (p. 445) may be raised by your plugin. If your code uses different Exception classes,
you will have to catch them yourself before control leaves your plugin class, and maybe report
the error by throwing an instance of MHA_Error (p. 445). This is important, because: (1) C++
exceptions cannot cross the plugin interface, which is in C, and (2) there is no error handling
code for your exception classes in the openMHA framework anyways.
3.3.2 example2.cpp
This is another simple example of openMHA plugin written in C++. This plugin also scales one
channel of the input signal, working in the time domain. The scale factor and which channel to
scale (index number) are made accessible to the configuration language.
The algorithm is again implemented as a C++ class.
class example2_t : public MHAPlugin::plugin_t<int> {
MHAParser::int_t scale_ch;
MHAParser::float_t factor;
public:
example2_t(algo_comm_t & ac,
const std::string & chain_name,
const std::string & algo_name);
void prepare(mhaconfig_t & signal_info);
void release(void);
mha_wave_t *process(mha_wave_t *signal);
};
Parameters
scale_ch – the channel number to be scaled
factor – the scale factor of the scaling.
This class again inherits from the template class MHAPlugin::plugin_t (p. 728) for intergration
with the openMHA configuration language. The two data members serve as externally visible
configuration variables. All methods of this class have a non-empty implementation.
3.3.2.1 Constructor
example2_t::example2_t(algo_comm_t & ac,
const std::string & chain_name,
© 2005-2019 HörTech gGmbH, Oldenburg
14 CONTENTS
const std::string & algo_name)
: MHAPlugin::plugin_t<int>("This plugin multiplies the sound signal"
" in one audio channel by a factor",ac),
scale_ch("Index of audio channel to scale. Indices start from 0.",
"0",
"[0,["),
factor("The scaling factor that is applied to the selected channel.",
"0.1",
"[0,[")
{
insert_item("channel", &scale_ch);
insert_item("factor", &factor);
}
The constructor invokes the superclass constructor with a string parameter. This string pa-
rameter serves as the help text that describes the functionality of the plugin. The constructor
registers configuration variables with the openMHA configuration tree and sets their default val-
ues and permitted ranges. The minimum permitted value for both variables is zero, and there is
no maximum limit (apart from the limitations of the underlying C data type). The configuration
variables have to be registered with the parser node instance using the MHAParser::parser-
_t::insert_item (p. 690) method.
3.3.2.2 The prepare method
void example2_t::prepare(mhaconfig_t & signal_info)
{
if (signal_info.domain != MHA_WAVEFORM)
throw MHA_Error(__FILE__, __LINE__,
"This plugin can only process waveform signals.");
// The user may have configured scale_ch before prepare is called.
// Check that the configured channel is present in the input signal.
if (signal_info.channels <= unsigned(scale_ch.data))
throw MHA_Error(__FILE__,__LINE__,
"This plugin requires at least %d input channels.",
scale_ch.data + 1);
// Adjust the range of the channel configuration variable so that it
// cannot be set to an out-of-range value during processing.
using MHAParser::StrCnv::val2str;
scale_ch.set_range("[0," + val2str(int(signal_info.channels)) + "[");
}
Parameters
signal_info – contains information about the input signal's parameters, see mhaconfig_t
(p. 504).
The user may have changed the configuration variables before preparing the openMHA plugin.
A consequence of this is that it is not sufficient any more to check if the input signal has at least
1 audio channel.
Instead, this prepare method checks that the input signal has enough channels so that the cur-
rent value of scale_ch.data is a valid channel index, i.e. 0 scale_ch.data <signal-
_info.channels. The prepare method does not have to check that 0 scale_ch.data,
since this is guaranteed by the valid range setting of the configuration variable.
© 2005-2019 HörTech gGmbH, Oldenburg
3.3 Writing openMHA Plugins. A step-by-step tutorial 15
The prepare method then modifies the valid range of the scale_ch variable, it modifies the up-
per bound so that the user cannot set the variable to a channel index higher than the available
channels. Setting the range is done using a string parameter. The prepare method contate-
nates a string of the form "[0,n[". n is the number of channels in the input signal, and is used
here as an exclusive upper boundary. To convert the number of channels into a string, a helper
function for string conversion from the openMHA Toolbox is used. This function is overloaded
and works for several data types.
It is safe to assume that the value of configuration variables does not change while the pre-
pare method executes, since openMHA preparation is triggered from a configuration language
command, and the openMHA configuration language parser is busy and cannot accept other
commands until all openMHA plugins are prepared (or one of them stops the process by raising
an exception). As we will see later in this tutorial, the same assumption cannot be made for the
process method.
3.3.2.3 The release method
void example2_t::release(void)
{
scale_ch.set_range("[0,[");
}
The release method should undo the state changes that were performed by the prepare
method. In this example, the prepare method has reduced the valid range of the scale_-
ch, so that only valid channels could be selected during signal processing.
The release method reverts this change by setting the valid range back to its original value,
"[0,[".
3.3.2.4 The signal processing method
mha_wave_t *example2_t::process(mha_wave_t *signal)
{
unsigned int frame;
for(frame = 0; frame < signal->num_frames; frame++)
value(signal,frame,scale_ch.data) *= factor.data;
return signal;
}
The processing function uses the current values of the configuration variables to scale every
frame in the selected audio channel.
Note that the value of each configuration variable can change while the processing method
executes, since the process method usually executes in a different thread than the configuration
interface.
For this simple plugin, this is not a problem, but for more advanced plugins, it has to be taken
into consideration. The next section takes a closer look at the problem.
© 2005-2019 HörTech gGmbH, Oldenburg
16 CONTENTS
Consistency
Assume that one thread reads the value stored in a variable while another thread writes a new
value to that variable concurrently. In this case, you may have a consistency problem. You
would perhaps expect that the value retrieved from the variable either (a) the old value, or (b)
the new value, but not (c) something else. Yet generally case (c) is a possibility.
Fortunately, for some data types on PC systems, case (c) cannot happen. These are 32bit
wide data types with a 4-byte alignment. Therefore, the values in MHAParser::int_t (p. 664)
and MHAParser::float_t (p. 659) are always consistent, but this is not the case for vectors,
strings, or complex values. With these, you can get a mixture of the bit patterns of old and new
values, or you can even cause a memory access violation in case a vector or string grows and
has to be reallocated to a different memory address.
There is also a consistency problem if you take the combination of two "safe" datatypes. The
openMHA provides a mechanism that can cope with these types of problems. This thread-safe
runtime configuration update mechanism is introduced in example 5.
3.3.3 example3.cpp
This example introduces the openMHA Event mechanism. Plugins that provide configuration
variable can receive a callback from the parser base class when a configuration variable is
accessed through the configuration language interface.
The third example performes the same processing as before, but now only even channel indices
are permitted when selecting the audio channel to scale. This restriction cannot be ensured by
setting the range of the channel index configuration variable. Instead, the event mechanism of
openMHA configuration variables is used. Configuration variables emit 4 different events, and
your plugin can connect callback methods that are called when the events are triggered. These
events are:
writeaccess
triggered on write access to a configuration variable.
valuechanged
triggered when write access to a configuration variable actually changes the value of this
variable.
readaccess
triggered after the value of the configuration variable has been read.
prereadaccess
triggered before the value of a configuration variable is read, i.e. the value of the re-
quested variable can be changed by the callback to implement computation on demand.
All of these callbacks are executed in the configuration thread. Therefore, the callback imple-
mentation does not have to be realtime-safe. No other updates of configuration language vari-
ables through the configuration language can happen in parallel, but your processing method
can execute in parallel and may change values.
© 2005-2019 HörTech gGmbH, Oldenburg
3.3 Writing openMHA Plugins. A step-by-step tutorial 17
3.3.3.1 Data member declarations
class example3_t : public MHAPlugin::plugin_t<int> {
MHAParser::int_t scale_ch;
MHAParser::float_t factor;
MHAParser::int_mon_t prepared;
MHAEvents::patchbay_t<example3_t> patchbay;
This plugin exposes another configuration variable, "prepared", that keeps track of the pre-
pared state of the plugin. This is a read-only (monitor) integer variable, i.e. its value can only
be changed by your plugin's C++ code. When using the configuration language interface, the
value of this variable can only be read, but not changed.
The patchbay member is an instance of a connector class that connects event sources with
callbacks.
3.3.3.2 Method declarations
/*Callbacks triggered by Events */
void on_scale_ch_writeaccess();
void on_scale_ch_valuechanged();
void on_scale_ch_readaccess();
void on_prereadaccess();
public:
example3_t(algo_comm_t & ac,
const std::string & chain_name,
const std::string & algo_name);
void prepare(mhaconfig_t & signal_info);
void release(void);
mha_wave_t *process(mha_wave_t *signal);
};
This plugin exposes 4 callback methods that are triggered by events. Multiple events (from the
same or different configuration variables) can be connected to the same callback method, if
desired.
This example plugin uses the valuechanged event to check that the scale_ch configuration
variable is only set to valid values.
The other callbacks only cause log messages to stdout, but the comments in the logging call-
backs give a hint when listening on the events would be useful.
© 2005-2019 HörTech gGmbH, Oldenburg
18 CONTENTS
3.3.3.3 Example 3 constructor
example3_t::example3_t(algo_comm_t & ac,
const std::string & chain_name,
const std::string & algo_name)
: MHAPlugin::plugin_t<int>("This plugin multiplies the sound signal"
" in one audio channel by a factor",ac),
scale_ch("Index of audio channel to scale. Indices start from 0."
" Only channels with even indices may be scaled.",
"0",
"[0,["),
factor("The scaling factor that is applied to the selected channel.",
"0.1",
"[0,["),
prepared("State of this plugin: 0 = unprepared, 1 = prepared")
{
insert_item("channel", &scale_ch);
insert_item("factor", &factor);
prepared.data = 0;
insert_item("prepared", &prepared);
patchbay.connect(&scale_ch.writeaccess, this,
&example3_t::on_scale_ch_writeaccess);
patchbay.connect(&scale_ch.valuechanged, this,
&example3_t::on_scale_ch_valuechanged);
patchbay.connect(&scale_ch.readaccess, this,
&example3_t::on_scale_ch_readaccess);
patchbay.connect(&scale_ch.prereadaccess, this,
&example3_t::on_prereadaccess);
patchbay.connect(&factor.prereadaccess, this,
&example3_t::on_prereadaccess);
patchbay.connect(&prepared.prereadaccess, this,
&example3_t::on_prereadaccess);
}
The constructor of monitor variables does not take a parameter for setting the initial value.
The single parameter here is the help text describing the contents of the read-only variable.
If the initial value should differ from 0, then the .data member of the configuration variable
has to be set to the initial value in the plugin constructor's body explicitly, as is done here for
demonstration although the initial value of this monitor variable is 0.
Events and callback methods are then connected using the patchbay member variable.
3.3.3.4 The prepare method
void example3_t::prepare(mhaconfig_t & signal_info)
{
if (signal_info.domain != MHA_WAVEFORM)
throw MHA_Error(__FILE__, __LINE__,
"This plugin can only process waveform signals.");
// The user may have configured scale_ch before prepare is called.
// Check that the configured channel is present in the input signal.
if (signal_info.channels <= unsigned(scale_ch.data))
throw MHA_Error(__FILE__,__LINE__,
"This plugin requires at least %d input channels.",
scale_ch.data + 1);
// bookkeeping
prepared.data = 1;
}
The prepare method checks wether the current setting of the scale_ch variable is possible with
the input signal dimension. It does not adjust the range of the variable, since the range alone
is not sufficient to ensure all future settings are also valid: The scale channel index has to be
even.
© 2005-2019 HörTech gGmbH, Oldenburg
3.3 Writing openMHA Plugins. A step-by-step tutorial 19
3.3.3.5 The release method
void example3_t::release(void)
{
prepared.data = 0;
}
The release method is needed for tracking the prepared state only in this example.
3.3.3.6 The signal processing method
mha_wave_t *example3_t::process(mha_wave_t *signal)
{
unsigned int frame;
for(frame = 0; frame < signal->num_frames; frame++)
value(signal,frame,scale_ch.data) *= factor.data;
return signal;
}
The signal processing member function is the same as in example 2.
3.3.3.7 The callback methods
void example3_t::on_scale_ch_writeaccess()
{
printf("Write access: Attempt to set scale_ch=%d.\n", scale_ch.data);
// Can be used to track any writeaccess to the configuration, even
// if it does not change the value. E.g. setting the name of the
// sound file in a string configuration variable can cause a sound
// file player plugin to start playing the sound file from the
// beginning.
}
void example3_t::on_scale_ch_valuechanged()
{
if (scale_ch.data & 1)
throw MHA_Error(__FILE__,__LINE__,
"Attempt to set scale_ch to non-even value %d",
scale_ch.data);
// Can be used to recompute a runtime configuration only if some
// configuration variable actually changed.
}
void example3_t::on_scale_ch_readaccess()
{
printf("scale_ch has been read.\n");
// A configuration variable used as an accumulator can be reset
// after it has been read.
}
void example3_t::on_prereadaccess()
{
printf("A configuration language variable is about to be read.\n");
// Can be used to compute the value on demand.
}
MHAPLUGIN_CALLBACKS(example3,example3_t,wave,wave)
When the writeaccess or valuechanged callbacks throw an MHAError exception, then the
change made to the value of the configuration variable is reverted.
If multiple event sources are connected to a single callback method, then it is not possible
to determine which event has caused the callback to execute. Often, this information is not
crucial, i.e. when the answer to a change of any variable in a set of variables is the same, e.g.
the recomputation of a new runtime configuration that takes all variables of this set as input.
© 2005-2019 HörTech gGmbH, Oldenburg
20 CONTENTS
3.3.4 example4.cpp
This plugin is the same as example 3 except that it works on the spectral domain (STFT).
3.3.4.1 The Prepare method
void example4_t::prepare(mhaconfig_t & signal_info)
{
if (signal_info.domain != MHA_SPECTRUM)
throw MHA_Error(__FILE__, __LINE__,
"This plugin can only process spectrum signals.");
// The user may have configured scale_ch before prepare is called.
// Check that the configured channel is present in the input signal.
if (signal_info.channels <= unsigned(scale_ch.data))
throw MHA_Error(__FILE__,__LINE__,
"This plugin requires at least %d input channels.",
scale_ch.data + 1);
// bookkeeping
prepared.data = 1;
}
The prepare method now checks that the signal domain is MHA_SPECTRUM.
3.3.4.2 The signal processing method
mha_spec_t *example4_t::process(mha_spec_t *signal)
{
unsigned int bin;
// spectral signal is stored non-interleaved.
mha_complex_t *channeldata =
signal->buf + signal->num_frames *scale_ch.data;
for(bin = 0; bin < signal->num_frames; bin++)
channeldata[bin] *= factor.data;
return signal;
}
The signal processing member function works on the spectral signal instead of the wave signal
as before.
The mha_spec_t (p. 465) instance stores the complex (mha_complex_t (p. 431)) spectral sig-
nal for positive frequences only (since the waveform signal is always real). The num_frames
member of mha_spec_t (p. 465) actually denotes the number of STFT bins.
Please note that different from mha_wave_t (p. 496), a multichannel signal in mha_spec_t
(p. 465) is stored non-interleaved in the signal buffer.
Some arithmetic operations are defined on struct mha_complex_t (p. 431) to facilitate efficient
complex computations. The =operator used here (defined for real and for complex arguments)
is one of them.
3.3.4.3 Connecting the C++ class with the C plugin interface
MHAPLUGIN_CALLBACKS(example4,example4_t,spec,spec)
When connecting a class that performs spectral processing with the C interface, use spec
instead of wave as the domain indicator.
© 2005-2019 HörTech gGmbH, Oldenburg
3.3 Writing openMHA Plugins. A step-by-step tutorial 21
3.3.5 example5.cpp
Many algorithms use complex operations to transform the user space variables into run time
configurations. If this takes a noticeable time (e.g. more than 100-500 µsec), the update of
the runtime configuration can not take place in the real time processing thread. Furthermore,
the parallel access to complex structures may cause unpredictable results if variables are read
while only parts of them are written to memory (cf. section Consistency (p. 16)). To handle
these situations, a special C++ template class MHAPlugin::plugin_t (p. 728) was designed.
This class helps keeping all access to the configuration language variables in the configuration
thread rather than in the processing thread.
The runtime configuration class example5_t (p. 315)is the parameter of the template class
MHAPlugin::plugin_t (p. 728). Its constructor converts the user variables into a runtime con-
figuration. Because the constructor executes in the configuration thread, there is no harm if the
constructor takes a long time. All other member functions and data members of the runtime
configurations are accessed only from the signal processing thread (real-time thread).
class example5_t {
public:
example5_t(unsigned int,unsigned int,mha_real_t);
mha_spec_t*process(mha_spec_t*);
private:
unsigned int channel;
mha_real_t scale;
};
The plugin interface class inherits from the plugin template class MHAPlugin::plugin_-
t(p. 728), parameterised by the runtime configuration. Configuration changes (write access
to the variables) will emit a write access event of the changed variables. These events can be
connected to member functions of the interface class by the help of a MHAEvents::patchbay-
_t (p. 512) instance.
class plugin_interface_t : public MHAPlugin::plugin_t<example5_t> {
public:
plugin_interface_t(const algo_comm_t&,const std::string&,const std::string&);
mha_spec_t*process(mha_spec_t*);
void prepare(mhaconfig_t&);
private:
void update_cfg();
/*integer variable of MHA-parser: */
MHAParser::int_t scale_ch;
/*float variable of MHA-parser: */
MHAParser::float_t factor;
/*patch bay for connecting configuration parser
events with local member functions: */
MHAEvents::patchbay_t<plugin_interface_t> patchbay;
};
The constructor of the runtime configuration analyses and validates the user variables. If the
configuration is invalid, an exception of type MHA_Error (p. 445) is thrown. This will cause
the openMHA configuration language command which caused the change to fail: The modified
configuration language variable is then reset to its original value, and the error message will
contain the message string of the MHA_Error (p. 445) exception.
© 2005-2019 HörTech gGmbH, Oldenburg
22 CONTENTS
example5_t::example5_t(unsigned int ichannel,
unsigned int numchannels,
mha_real_t iscale)
: channel(ichannel),scale(iscale)
{
if( channel >= numchannels )
throw MHA_Error(__FILE__,__LINE__,
"Invalid channel number %d (only %d channels configured).",
channel,numchannels);
}
In this example, the run time configuration class example5_t (p. 315)has a signal process-
ing member function. In this function, the selected channel is scaled by the given scaling factor.
mha_spec_t*example5_t::process(mha_spec_t*spec)
{
/*Scale channel number "scale_ch" by "factor": */
for(unsigned int fr = 0; fr < spec->num_frames; fr++){
spec->buf[fr + channel *spec->num_frames].re *= scale;
spec->buf[fr + channel *spec->num_frames].im *= scale;
}
return spec;
}
The constructor of the example plugin class is similar to the previous examples. A callback
triggered on write access to the variables is registered using the MHAEvents::patchbay_t
(p. 512) instance.
plugin_interface_t::plugin_interface_t(
const algo_comm_t& iac,
const std::string&,const std::string&)
: MHAPlugin::plugin_t<example5_t>("example plugin configuration structure",iac),
/*initialzing variable 'scale_ch' with MHAParser::int_t(char*name, .... ) */
scale_ch("channel number to be scaled","0","[0,["),
/*initialzing variable 'factor' with MHAParser::float_t(char*name, .... ) */
factor("scale factor","1.0","[0,2]")
{
/*Register variables to the configuration parser: */
insert_item("channel",&scale_ch);
insert_item("factor",&factor);
/*
*On write access to the parser variables a notify callback of
*this class will be called. That funtion will update the runtime
*configuration.
*/
patchbay.connect(&scale_ch.writeaccess,this,&plugin_interface_t::update_cfg);
patchbay.connect(&factor.writeaccess,this,&plugin_interface_t::update_cfg);
}
The processing function can gather the latest valid runtime configuration by a call of poll_-
config. On success, the class member cfg points to this configuration. On error, if there is
no usable runtime configuration instance, an exception is thrown. In this example, the prepare
method ensures that there is a valid runtime configuration, so that in this example, no error can
be raised at this point. The prepare method is always executed before the process method is
called. The runtime configuration class in this example provides a signal processing method.
The process method of the plugin interface calls the process method of this instance to perform
the actual signal processing.
© 2005-2019 HörTech gGmbH, Oldenburg
3.3 Writing openMHA Plugins. A step-by-step tutorial 23
mha_spec_t*plugin_interface_t::process(mha_spec_t*spec)
{
poll_config();
return cfg->process(spec);
}
The prepare method ensures that a valid runtime configuration exists by creating a new runtime
configuration from the current configuration language variables. If the configuraion is invalid,
then an exception of type MHA_Error (p. 445) is raised and the preparation of the openMHA
fails with an error message.
void plugin_interface_t::prepare(mhaconfig_t& tfcfg)
{
if( tfcfg.domain != MHA_SPECTRUM )
throw MHA_Error(__FILE__,__LINE__,
"Example5: Only spectral processing is supported.");
/*remember the transform configuration (i.e. channel numbers): */
tftype = tfcfg;
/*make sure that a valid runtime configuration exists: */
update_cfg();
}
The update_cfg member function is called when the value of a configuration language variable
changes, or from the prepare method. It allocates a new runtime configuration and registers it
for later access from the real time processing thread. The function push_config (p. 726) stores
the configuration in a FiFo queue of runtime configurations. Once they are inserted in the FiFo,
the MHAPlugin::plugin_t (p. 728) template is responsible for deleting runtime configuration
instances stored in the FiFo. You don't need to keep track of the created instances, and you
must not delete them yourself.
void plugin_interface_t::update_cfg()
{
if( tftype.channels )
push_config(new example5_t(scale_ch.data,tftype.channels,factor.data));
}
In the end of the example code file, the macro MHAPLUGIN_CALLBACKS (p. 10) defines all
ANSI-C interface functions and passes them to the corresponding C++ class member func-
tions (partly defined by the MHAPlugin::plugin_t (p. 728) template class). All exceptions of
type MHA_Error (p. 445) are caught and transformed into an appropriate error code and error
message.
MHAPLUGIN_CALLBACKS(example5,plugin_interface_t,spec,spec)
© 2005-2019 HörTech gGmbH, Oldenburg
24 CONTENTS
3.3.6 example6.cpp
This last example is the same as the previous one, but it additionally creates an 'Algorithm
Communication Variable' (AC variable). It calculates the RMS level of a given channel and
stores it into this variable. The variable can be accessed by any other algorithm in the same
chain. To store the data onto disk, the 'acsave' plugin can be used. 'acmon' is a plugin which
converts AC variables into parsable monitor variables.
In the constructor of the plugin class the variable rmsdb is registered under the name
example6_rmslev as a one-dimensional AC variable of type float. For registration of other
types, read access and other detailed informations please see Communication between al-
gorithms (p. 28).
example6_t::example6_t(const algo_comm_t& iac,
const std::string&,const std::string&)
: MHAPlugin::plugin_t<cfg_t>("example plugin configuration structure",iac),
/*initialzing variable 'channel_no' with MHAParser::int_t(char*name, .... ) */
channel_no("channel in which the RMS level is measured","0","[0,[")
{
/*Register variables to the configuration parser: */
insert_item("channel",&channel_no);
/*
*On write access to the parser variables a notify callback of
*this class will be called. That funtion will update the runtime
*configuration.
*/
patchbay.connect(&channel_no.writeaccess,this,&example6_t::update_cfg);
/*
*Propagate the level variable to all algorithms in the
*processing chain. If multiple instances of this algorithm are
*required, than it is necessary to use different names for this
*variable (i.e. prefixing the name with the algorithm name
*passed to MHAInit).
*/
ac.insert_var_float( ac.handle, "example6_rmslev", &rmsdb );
}
© 2005-2019 HörTech gGmbH, Oldenburg
3.3 Writing openMHA Plugins. A step-by-step tutorial 25
3.3.7 Debugging openMHA plugins
Suppose you would want to step through the code of your openMHA plugin with a debug-
ger. This example details how to use the linux gdb debugger to inspect the example6_t-
::prepare() (p. 317)and example6_t::process() (p. 317)routines of example6.-
cpp (p. 24) example 6.
First, make sure that your plugin is compiled with the compiler option to include debugging
symbols: Apply the -ggdb switch to all gcc, g++ invocations.
Once the plugin is compiled, with debugging symbols, create a test configuration. For example
6, assuming there is an audio file named input.wav in your working directory, you could create
a configuration file named ‘debugexample6.cfg', with the following content:
# debugexample6.cfg
fragsize = 64
srate = 44100
nchannels_in = 2
iolib = MHAIOFile
io.in = input.wav
io.out = output.wav
mhalib = example6
mha.channel = 1
cmd=start
Assuming all your binaries and shared-object libraries are in your ‘bin' directory (see READ-
ME.md), you could start gdb using
$ export MHA_LIBRARY_PATH=$PWD/bin
$ gdb $MHA_LIBRARY_PATH/mha
Set breakpoints in prepare and process methods, and start execution. Note that specifying the
breakpoint by symbol (example6_t::prepare (p. 317)) does not yet work, as the symbol
lives in the openMHA plugin that has not yet been loaded. Specifying by line number works,
however. Specifying the breakpoint by symbol also works once the plugin is loaded (i.e. when
the debugger stops in the first break point). You can set the breakpoints like this (example
shown here is run in gdb version 7.11.1):
(gdb) run ?read:debugexample6.cfg
Starting program: {openMHA_directory}/bin/mha ?read:debugexample6.cfg
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
The Open Master Hearing Aid (openMHA) server
Copyright (c) 2005-2019 HoerTech gGmbH, D-26129 Oldenburg, Germany
This program comes with ABSOLUTELY NO WARRANTY; for details see file COPYING.
This is free software, and you are welcome to redistribute it
under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE, Version 3;
for details see file COPYING.
Breakpoint 1, example6_t::prepare (this=0x6478b0, tfcfg=...)
at example6.cpp:192
192 if( tfcfg.domain != MHA_WAVEFORM )
(gdb) b example6.cpp:162
Breakpoint 2 at 0x7ffff589744a: file example6.cpp, line 162.
(gdb) c
Continuing.
© 2005-2019 HörTech gGmbH, Oldenburg
26 CONTENTS
Where ‘{openMHA_directory}' is the directory where openMHA is located (which should also
be your working directory in this case). Next stop is the process() method. You can now
examine and change the variables, step through the program as needed (using, for example ‘n'
to step in the next line):
Breakpoint 2, example6_t::process (this=0x7ffff6a06c0d, wave=0x10a8b550)
at example6.cpp:162
162 {
(gdb) n
163 poll_config();
(gdb)
© 2005-2019 HörTech gGmbH, Oldenburg
3.4 The MHA Framework interface 27
3.4 The MHA Framework interface
© 2005-2019 HörTech gGmbH, Oldenburg
28 CONTENTS
3.5 Communication between algorithms
Algorithms within one chain can share variables for communication with other algorithms.
Collaboration diagram for Communication between algorithms:
Files
file mha_algo_comm.h
Header file for Algorithm Communication.
Namespaces
MHA_AC
Functions and classes for Algorithm Communication (AC) support.
Classes
class MHA_AC::spectrum_t
Insert a MHASignal::spectrum_t (p. 800) class into the AC space.
class MHA_AC::waveform_t
Insert a MHASignal::waveform_t (p. 812) class into the AC space.
class MHA_AC::int_t
Insert a integer variable into the AC space.
class MHA_AC::float_t
Insert a float point variable into the AC space.
class MHA_AC::double_t
Insert a double precision floating point variable into the AC space.
class MHA_AC::ac2matrix_t
Copy AC variable to a matrix.
class MHA_AC::acspace2matrix_t
Copy all or a subset of all numeric AC variables into an array of matrixes.
struct algo_comm_t
A reference handle for algorithm communication variables.
struct comm_var_t
Algorithm communication variable structure.
© 2005-2019 HörTech gGmbH, Oldenburg
3.5 Communication between algorithms 29
Functions
mha_spec_t MHA_AC::get_var_spectrum (algo_comm_t ac, const std::string &name)
Convert an AC variable into a spectrum.
mha_wave_t MHA_AC::get_var_waveform (algo_comm_t ac, const std::string
&name)
Convert an AC variable into a waveform.
int MHA_AC::get_var_int (algo_comm_t ac, const std::string &name)
Return value of an integer scalar AC variable.
float MHA_AC::get_var_float (algo_comm_t ac, const std::string &name)
Return value of an floating point scalar AC variable.
• std::vector<float >MHA_AC::get_var_vfloat (algo_comm_t ac, const std::string
&name)
Return value of an floating point vector AC variable as standard vector of floats.
3.5.1 Detailed Description
Algorithms within one chain can share variables for communication with other algorithms.
This mechanism allows interaction between algorithms (i.e. separation of noise estimation
and noise reduction algorithms, combination of dynamic compression and noise estimation).
Through a set of simple C functions, algorithms can propagate variables of any type, even C++
classes, to other algorithms.
An algorithm communication handle (algo_comm_t (p. 201)) is passed at initialisation time to
the constructor of each plugin class constructor (p. 728). This handle contains a reference
handle, algo_comm_t::handle (p. 201), and a number of function pointers, algo_comm_t-
::insert_var (p. 201) etc.. An algorithm communication variable is an object of type comm_-
var_t (p. 246).
For AC variables of numeric types, openMHA Plugins for conversion into parsable monitor
variables, acmon, and storage into Matlab or text files, acsave, are available.
3.5.2 Function Documentation
3.5.2.1 mha_spec_t MHA_AC::get_var_spectrum (
algo_comm_t ac,
const std::string & name )
Convert an AC variable into a spectrum.
This function reads an AC variable and tries to convert it into a valid spectrum. The Spectrum
variable is granted to be valid only for one call of the processing function.
© 2005-2019 HörTech gGmbH, Oldenburg
30 CONTENTS
Parameters
ac AC handle
name Name of the variable
Returns
Spectrum structure
3.5.2.2 mha_wave_t MHA_AC::get_var_waveform (
algo_comm_t ac,
const std::string & name )
Convert an AC variable into a waveform.
This function reads an AC variable and tries to convert it into a valid waveform. The waveform
variable is granted to be valid only for one call of the processing function.
Parameters
ac AC handle
name Name of the variable
Returns
waveform structure
3.5.2.3 int MHA_AC::get_var_int (
algo_comm_t ac,
const std::string & name )
Return value of an integer scalar AC variable.
Parameters
ac AC handle
name Name of the variable
Returns
Variable value
© 2005-2019 HörTech gGmbH, Oldenburg
3.5 Communication between algorithms 31
3.5.2.4 float MHA_AC::get_var_float (
algo_comm_t ac,
const std::string & name )
Return value of an floating point scalar AC variable.
Parameters
ac AC handle
name Name of the variable
Returns
Variable value
3.5.2.5 std::vector<float >MHA_AC::get_var_vfloat (
algo_comm_t ac,
const std::string & name )
Return value of an floating point vector AC variable as standard vector of floats.
Parameters
ac AC handle
name Name of the variable
Returns
Variable value
© 2005-2019 HörTech gGmbH, Oldenburg
32 CONTENTS
3.6 Error handling in the openMHA
Errors are reported to the user via the MHA_Error (p. 445) exception.
Collaboration diagram for Error handling in the openMHA:
The openMHA Toolbox
library Error handling in the
openMHA
Classes
class MHA_Error
Error reporting exception class.
Macros
#define MHA_ErrorMsg(x) MHA_Error(__FILE__,__LINE__,"%s",x)
Throw an openMHA error with a text message.
• #define MHA_assert(x) if(!(x)) throw MHA_Error(__FILE__,__LINE__,"\"%s\" is
false.",#x)
Assertion macro, which throws an MHA_Error (p. 445).
#define MHA_assert_equal(a, b) if( a != b ) throw MHA_Error(__FILE__,__LINE__-
,"\"%s == %s\" is false (%s = %g, %s = %g).",#a,#b,#a,(double)(a),#b,(double)(b))
Equality assertion macro, which throws an MHA_Error (p. 445) with the values.
Functions
void mha_debug (const char fmt,...)
Print an info message (stderr on Linux, OutputDebugString in Windows).
3.6.1 Detailed Description
Errors are reported to the user via the MHA_Error (p. 445) exception.
3.6.2 Macro Definition Documentation
3.6.2.1 #define MHA_ErrorMsg(
x)MHA_Error(__FILE__,__LINE__,"%s",x)
Throw an openMHA error with a text message.
© 2005-2019 HörTech gGmbH, Oldenburg
3.6 Error handling in the openMHA 33
Parameters
xText message.
3.6.2.2 #define MHA_assert(
x) if(!(x)) throw MHA_Error(__FILE__,__LINE__,"\"%s\" is false.",#x)
Assertion macro, which throws an MHA_Error (p. 445).
Parameters
xBoolean expression which should be true.
3.6.2.3 #define MHA_assert_equal(
a,
b) if( a != b ) throw MHA_Error(__FILE__,__LINE__,"\"%s == %s\" is false (%s =
%g, %s = %g).",#a,#b,#a,(double)(a),#b,(double)(b))
Equality assertion macro, which throws an MHA_Error (p. 445) with the values.
Parameters
aNumeric expression which can be converted to double (for printing).
bNumeric expression which should be equal to a
3.6.3 Function Documentation
3.6.3.1 void mha_debug (
const char fmt,
... )
Print an info message (stderr on Linux, OutputDebugString in Windows).
© 2005-2019 HörTech gGmbH, Oldenburg
34 CONTENTS
3.7 The openMHA configuration language
openMHA Plugins that should use the openMHA configuration language for their configuration
have to be implemented in C++ and need to include mha_parser.hh (p. 1017).
openMHA Plugins that should use the openMHA configuration language for their configuration
have to be implemented in C++ and need to include mha_parser.hh (p. 1017).
All required classes and functions for parser access are declared in the namespace MH-
AParser (p. 107). The plugin class should be derived from the class MHAParser::parser_t
(p. 688) (or MHAPlugin::plugin_t (p. 728)), which symbolises a sub-parser node in the open-
MHA script hierarchy. Variables of many types can be registered to the sub-parser node by
calling the member function insert_item (p. 690).
The openMHA Plugin template class MHAPlugin::plugin_t (p. 728) together with the Plugin
macro MHAPLUGIN_CALLBACKS (p. 10) provide the callback mappings and correct inheri-
tance. If your plugin is based on that template class, you simply have to use the insert_item
command to give access to your variables, everything else is managed internally.
A complete list of all openMHA script items is given in the description of the MHAParser (p. 107)
namespace.
© 2005-2019 HörTech gGmbH, Oldenburg
3.8 The openMHA Toolbox library 35
3.8 The openMHA Toolbox library
The openMHA toolbox is a static C++ library which makes it more comfortable to develop
openMHA plugins.
Collaboration diagram for The openMHA Toolbox library:
Vector and matrix processing
toolbox
Complex arithmetics
in the openMHA
The openMHA Toolbox
library
MHASignal
Error handling in the
openMHA
Fast Fourier Transform
functions
Communication between
algorithms
mha_algo_comm.h
Modules
Error handling in the openMHA
Errors are reported to the user via the MHA_Error (p. 445) exception.
Vector and matrix processing toolbox
The vector and matrix processing toolbox consists of a number of classes defined in the
namespace MHASignal (p. 118), and many functions and operators for use with the struc-
tures mha_wave_t (p. 496) and mha_spec_t (p. 465).
Complex arithmetics in the openMHA
Fast Fourier Transform functions
Files
file mha_algo_comm.h
Header file for Algorithm Communication.
file mha_filter.hh
Header file for IIR filter classes.
file mha_signal.hh
Header file for audio signal handling and processing classes.
file mha_tablelookup.hh
Header file for table lookup classes.
© 2005-2019 HörTech gGmbH, Oldenburg
36 CONTENTS
Namespaces
MHAOvlFilter
Namespace for overlapping FFT based filter bank classes and functions.
MHAFilter
Namespace for IIR and FIR filter classes.
MHAParser
Name space for the openMHA-Parser configuration language.
MHASignal
Namespace for audio signal handling and processing classes.
MHATableLookup
Namespace for table lookup classes.
3.8.1 Detailed Description
The openMHA toolbox is a static C++ library which makes it more comfortable to develop
openMHA plugins.
It contains the openMHA script language classes.
© 2005-2019 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 37
3.9 Vector and matrix processing toolbox
The vector and matrix processing toolbox consists of a number of classes defined in the names-
pace MHASignal (p. 118), and many functions and operators for use with the structures mha-
_wave_t (p. 496) and mha_spec_t (p. 465).
Collaboration diagram for Vector and matrix processing toolbox:
Vector and matrix processing
toolbox The openMHA Toolbox
library
MHASignal
Namespaces
MHASignal
Namespace for audio signal handling and processing classes.
MHAWindow
Collection of Window types.
Classes
struct mha_wave_t
Waveform signal structure.
struct mha_spec_t
Spectrum signal structure.
struct mha_audio_descriptor_t
Description of an audio fragment (planned as a replacement of mhaconfig_t (p. 504)).
struct mha_audio_t
An audio fragment in the openMHA (planned as a replacement of mha_wave_t (p. 496) and
mha_spec_t (p. 465)).
class MHASignal::spectrum_t
a signal processing class for spectral data (based on mha_spec_t (p. 465))
class MHASignal::waveform_t
signal processing class for waveform data (based on mha_wave_t (p. 496))
class MHASignal::doublebuffer_t
Double-buffering class.
class MHASignal::hilbert_t
Hilbert transformation of a waveform segment.
class MHASignal::minphase_t
Minimal phase function.
class MHASignal::uint_vector_t
© 2005-2019 HörTech gGmbH, Oldenburg
38 CONTENTS
Vector of unsigned values, used for size and index description of n-dimensional matrixes.
class MHASignal::matrix_t
n-dimensional matrix with real or complex floating point values.
class MHAParser::window_t
MHA configuration interface for a window function generator.
class MHASignal::delay_wave_t
Delayline containing wave fragments.
class MHASignal::async_rmslevel_t
Class for asynchronous level metering.
Typedefs
typedef float mha_real_t
openMHA type for real numbers
Functions
mha_wave_t range (mha_wave_t s, unsigned int k0, unsigned int len)
Return a time interval from a waveform chunk.
mha_spec_t channels (mha_spec_t s, unsigned int ch_start, unsigned int nch)
Return a channel interval from a spectrum.
void MHASignal::for_each (mha_wave_t s, mha_real_t(fun)(mha_real_t))
Apply a function to each element of a mha_wave_t (p. 496).
mha_real_t MHASignal::lin2db (mha_real_t x)
Conversion from linear scale to dB (no SPL reference)
mha_real_t MHASignal::db2lin (mha_real_t x)
Conversion from dB scale to linear (no SPL reference)
mha_real_t MHASignal::pa2dbspl (mha_real_t x)
Conversion from linear Pascal scale to dB SPL.
mha_real_t MHASignal::pa22dbspl (mha_real_t x, mha_real_t eps=1e-20f)
Conversion from squared Pascal scale to dB SPL.
mha_real_t MHASignal::dbspl2pa (mha_real_t x)
Conversion from dB SPL to linear Pascal scale.
mha_real_t MHASignal::smp2sec (mha_real_t n, mha_real_t srate)
conversion from samples to seconds
mha_real_t MHASignal::sec2smp (mha_real_t sec, mha_real_t srate)
conversion from seconds to samples
mha_real_t MHASignal::bin2freq (mha_real_t bin, unsigned fftlen, mha_real_t srate)
conversion from fft bin index to frequency
mha_real_t MHASignal::freq2bin (mha_real_t freq, unsigned fftlen, mha_real_t srate)
conversion from frequency to fft bin index
mha_real_t MHASignal::smp2rad (mha_real_t samples, unsigned bin, unsigned fftlen)
conversion from delay in samples to phase shift
© 2005-2019 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 39
mha_real_t MHASignal::rad2smp (mha_real_t phase_shift, unsigned bin, unsigned
fftlen)
conversion from phase shift to delay in samples
template<class elem_type >
std::vector<elem_type >MHASignal::dupvec (std::vector<elem_type >vec, unsigned
n)
Duplicate last vector element to match desired size.
template<class elem_type >
std::vector<elem_type >MHASignal::dupvec_chk (std::vector<elem_type >vec, un-
signed n)
Duplicate last vector element to match desired size, check for dimension.
bool equal_dim (const mha_wave_t &a, const mha_wave_t &b)
Test for equal dimension of waveform structures.
bool equal_dim (const mha_wave_t &a, const mhaconfig_t &b)
Test for match of waveform dimension with mhaconfig structure.
bool equal_dim (const mha_spec_t &a, const mha_spec_t &b)
Test for equal dimension of spectrum structures.
bool equal_dim (const mha_spec_t &a, const mhaconfig_t &b)
Test for match of spectrum dimension with mhaconfig structure.
bool equal_dim (const mha_wave_t &a, const mha_spec_t &b)
Test for equal dimension of waveform/spectrum structures.
bool equal_dim (const mha_spec_t &a, const mha_wave_t &b)
Test for equal dimension of waveform/spectrum structures.
void integrate (mha_wave_t &s)
Numeric integration of a signal vector (real values)
void integrate (mha_spec_t &s)
Numeric integration of a signal vector (complex values)
unsigned int size (const mha_wave_t &s)
Return size of a waveform structure.
unsigned int size (const mha_spec_t &s)
Return size of a spectrum structure.
unsigned int size (const mha_wave_t s)
Return size of a waveform structure.
unsigned int size (const mha_spec_t s)
Return size of a spectrum structure.
void clear (mha_wave_t &s)
Set all values of waveform to zero.
void clear (mha_wave_t s)
Set all values of waveform to zero.
void clear (mha_spec_t &s)
Set all values of spectrum to zero.
void clear (mha_spec_t s)
Set all values of spectrum to zero.
void assign (mha_wave_t self, mha_real_t val)
Set all values of waveform 'self' to 'val'.
© 2005-2019 HörTech gGmbH, Oldenburg
40 CONTENTS
void assign (mha_wave_t self, const mha_wave_t &val)
Set all values of waveform 'self' to 'val'.
void assign (mha_spec_t self, const mha_spec_t &val)
Set all values of spectrum 'self' to 'val'.
void timeshift (mha_wave_t &self, int shift)
Time shift of waveform chunk.
mha_real_t &value (mha_wave_t s, unsigned int fr, unsigned int ch)
Access an element of a waveform structure.
const mha_real_t &value (const mha_wave_t s, unsigned int fr, unsigned int ch)
Constant access to an element of a waveform structure.
mha_complex_t &value (mha_spec_t s, unsigned int fr, unsigned int ch)
Access to an element of a spectrum.
const mha_complex_t &value (const mha_spec_t s, unsigned int fr, unsigned int ch)
Constant access to an element of a spectrum.
mha_real_t &value (mha_wave_t &s, unsigned int fr, unsigned int ch)
Access to an element of a waveform structure.
const mha_real_t &value (const mha_wave_t &s, unsigned int fr, unsigned int ch)
Constant access to an element of a waveform structure.
mha_complex_t &value (mha_spec_t &s, unsigned int fr, unsigned int ch)
Access to an element of a spectrum.
const mha_complex_t &value (const mha_spec_t &s, unsigned int fr, unsigned int ch)
Constant access to an element of a spectrum.
• std::vector<float >std_vector_float (const mha_wave_t &)
Converts a mha_wave_t (p. 496) structure into a std::vector<float>(interleaved order).
• std::vector<std::vector<float > > std_vector_vector_float (const mha_wave_t &)
Converts a mha_wave_t (p. 496) structure into a std::vector<std::vector<float> > (outer vec-
tor represents channels).
• std::vector<std::vector<mha_complex_t > > std_vector_vector_complex (const
mha_spec_t &)
Converts a mha_spec_t (p. 465) structure into a std::vector<std::vector<mha_complex_t> >
(outer vector represents channels).
mha_wave_t &operator+= (mha_wave_t &, const mha_real_t &)
Addition operator.
mha_wave_t &operator+= (mha_wave_t &, const mha_wave_t &)
Addition operator.
mha_wave_t &operator-= (mha_wave_t &, const mha_wave_t &)
Subtraction operator.
mha_spec_t &operator-= (mha_spec_t &, const mha_spec_t &)
Subtraction operator.
mha_wave_t &operator=(mha_wave_t &, const mha_real_t &)
Element-wise multiplication operator.
mha_wave_t &operator=(mha_wave_t &, const mha_wave_t &)
Element-wise multiplication operator.
mha_spec_t &operator=(mha_spec_t &, const mha_real_t &)
Element-wise multiplication operator.
© 2005-2019 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 41
mha_spec_t &operator=(mha_spec_t &, const mha_wave_t &)
Element-wise multiplication operator.
mha_spec_t &operator=(mha_spec_t &, const mha_spec_t &)
Element-wise multiplication operator.
mha_spec_t &operator/= (mha_spec_t &, const mha_spec_t &)
Element-wise division operator.
mha_wave_t &operator/= (mha_wave_t &, const mha_wave_t &)
Element-wise division operator.
mha_spec_t &operator+= (mha_spec_t &, const mha_spec_t &)
Addition operator.
mha_spec_t &operator+= (mha_spec_t &, const mha_real_t &)
Addition operator.
mha_wave_t &operator=(mha_wave_t &self, const mha_real_t &arg)
Exponent operator.
void MHASignal::copy_channel (mha_spec_t &self, const mha_spec_t &src, unsigned
sch, unsigned dch)
Copy one channel of a source signal.
• void MHASignal::copy_channel (mha_wave_t &self, const mha_wave_t &src, un-
signed src_channel, unsigned dest_channel)
Copy one channel of a source signal.
mha_real_t MHASignal::rmslevel (const mha_spec_t &s, unsigned int channel, un-
signed int fftlen)
Return RMS level of a spectrum channel.
mha_real_t MHASignal::colored_intensity (const mha_spec_t &s, unsigned int chan-
nel, unsigned int fftlen, mha_real_t sqfreq_response[ ])
Colored spectrum intensity.
mha_real_t MHASignal::maxabs (const mha_spec_t &s, unsigned int channel)
Find maximal absolute value.
mha_real_t MHASignal::rmslevel (const mha_wave_t &s, unsigned int channel)
Return RMS level of a waveform channel.
mha_real_t MHASignal::maxabs (const mha_wave_t &s, unsigned int channel)
Find maximal absolute value.
mha_real_t MHASignal::maxabs (const mha_wave_t &s)
Find maximal absolute value.
mha_real_t MHASignal::max (const mha_wave_t &s)
Find maximal value.
mha_real_t MHASignal::min (const mha_wave_t &s)
Find minimal value.
mha_real_t MHASignal::sumsqr_channel (const mha_wave_t &s, unsigned int chan-
nel)
Calculate sum of squared values in one channel.
mha_real_t MHASignal::sumsqr_frame (const mha_wave_t &s, unsigned int frame)
Calculate sum over all channels of squared values.
void conjugate (mha_spec_t &self)
Replace (!) the value of this mha_spec_t (p. 465) with its conjugate.
© 2005-2019 HörTech gGmbH, Oldenburg
42 CONTENTS
3.9.1 Detailed Description
The vector and matrix processing toolbox consists of a number of classes defined in the names-
pace MHASignal (p. 118), and many functions and operators for use with the structures mha-
_wave_t (p. 496) and mha_spec_t (p. 465).
3.9.2 Typedef Documentation
3.9.2.1 typedef float mha_real_t
openMHA type for real numbers
This type is expected to be allways the C-type 'float' (IEEE 754 single).
3.9.3 Function Documentation
3.9.3.1 mha_wave_t range (
mha_wave_t s,
unsigned int k0,
unsigned int len )
Return a time interval from a waveform chunk.
A waveform chunk containing a time intervall of a larger waveform chunk is returned. The
number of channels remains constant. The data of the output waveform structure points to
the data of the input structure, i.e., write access to the output waveform chunk modifies the
corresponding entries in the input chunk.
Parameters
sWaveform structure
k0 Index of first value in output
len Number of frames in output
Returns
Waveform structure representing the sub-interval.
3.9.3.2 mha_spec_t channels (
mha_spec_t s,
unsigned int ch_start,
unsigned int nch )
Return a channel interval from a spectrum.
© 2005-2019 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 43
Parameters
sInput spectrum
ch_start Index of first channel in output
nch Number of channels in output
Returns
Spectrum structure representing the sub-interval.
3.9.3.3 void MHASignal::for_each (
mha_wave_t s,
mha_real_t()(mha_real_t)fun )[inline]
Apply a function to each element of a mha_wave_t (p. 496).
Parameters
sPointer to a mha_wave_t (p. 496) structure
fun Function to be applied (one argument)
3.9.3.4 mha_real_t MHASignal::lin2db (
mha_real_t x)[inline]
Conversion from linear scale to dB (no SPL reference)
Parameters
xLinear input.
3.9.3.5 mha_real_t MHASignal::db2lin (
mha_real_t x)[inline]
Conversion from dB scale to linear (no SPL reference)
Parameters
xdB input.
3.9.3.6 mha_real_t MHASignal::pa2dbspl (
mha_real_t x)[inline]
Conversion from linear Pascal scale to dB SPL.
© 2005-2019 HörTech gGmbH, Oldenburg
44 CONTENTS
Parameters
xLinear input.
3.9.3.7 mha_real_t MHASignal::pa22dbspl (
mha_real_t x,
mha_real_t eps = 1e-20f )[inline]
Conversion from squared Pascal scale to dB SPL.
Parameters
xsquared pascal input
eps minimum squared-pascal value
3.9.3.8 mha_real_t MHASignal::dbspl2pa (
mha_real_t x)[inline]
Conversion from dB SPL to linear Pascal scale.
Parameters
xLinear input.
3.9.3.9 mha_real_t MHASignal::smp2sec (
mha_real_t n,
mha_real_t srate )[inline]
conversion from samples to seconds
Parameters
nnumber of samples
srate sampling rate / Hz
3.9.3.10 mha_real_t MHASignal::sec2smp (
mha_real_t sec,
mha_real_t srate )[inline]
conversion from seconds to samples
Parameters
sec time in seconds
srate sampling rate / Hz
© 2005-2019 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 45
Returns
number of samples, generally has non-zero fractional part
3.9.3.11 mha_real_t MHASignal::bin2freq (
mha_real_t bin,
unsigned fftlen,
mha_real_t srate )[inline]
conversion from fft bin index to frequency
Parameters
bin index of fft bin, index 0 has dc
fftlen FFT length
srate sampling frequency / Hz
Returns
frequency of fft bin / Hz
3.9.3.12 mha_real_t MHASignal::freq2bin (
mha_real_t freq,
unsigned fftlen,
mha_real_t srate )[inline]
conversion from frequency to fft bin index
Parameters
freq frequency / Hz
fftlen FFT length
srate sampling frequency / Hz
Returns
0-based index of fft bin, generally has non-zero fractional part
3.9.3.13 mha_real_t MHASignal::smp2rad (
mha_real_t samples,
unsigned bin,
unsigned fftlen )[inline]
conversion from delay in samples to phase shift
Compute phase shift that needs to be applied to fft spectrum to achieve the desired delay.
© 2005-2019 HörTech gGmbH, Oldenburg
46 CONTENTS
Parameters
samples delay in samples. Positive delay: shift current signal to future.
bin index of fft bin, index 0 has dc (index 0 and nyqvist bin cannot be delayed)
fftlen FFT length
Returns
The phase shift in radiant that needs to be applied to fft bin to achieve the desired delay. A
positive delay requires a negative phase shift. If required phase shift is >pi or <-pi, then
the desired delay cannot be applied in the fft domain with given parameters. Required
phase shifts close to pi should not be used. If bin is 0 or nyqvist, returns 0 phase shift.
3.9.3.14 mha_real_t MHASignal::rad2smp (
mha_real_t phase_shift,
unsigned bin,
unsigned fftlen )[inline]
conversion from phase shift to delay in samples
Compute delay in samples that is achieved by a phase shift.
Parameters
phase_shift phase shift in radiant
bin index of fft bin, index 0 has dc (index 0 and nyqvist bin cannot be delayed)
fftlen FFT length
Returns
The delay in samples achieved by applying the phase shift. A negative phase shift causes
a positive delay: shifts current signal to future.
3.9.3.15 template<class elem_type >std::vector<elem_type>MHASignal::dupvec (
std::vector<elem_type >vec,
unsigned n)
Duplicate last vector element to match desired size.
Parameters
vec Input vector.
nTarget number of elements.
© 2005-2019 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 47
Return values
Resized vector.
3.9.3.16 template<class elem_type >std::vector<elem_type>MHASignal::dupvec_chk (
std::vector<elem_type >vec,
unsigned n)
Duplicate last vector element to match desired size, check for dimension.
The input dimension can be either 1 or the target length.
Parameters
vec Input vector.
nTarget number of elements.
Return values
Resized vector.
3.9.3.17 bool equal_dim (
const mha_wave_t &a,
const mha_wave_t &b)[inline]
Test for equal dimension of waveform structures.
3.9.3.18 bool equal_dim (
const mha_wave_t &a,
const mhaconfig_t &b)[inline]
Test for match of waveform dimension with mhaconfig structure.
3.9.3.19 bool equal_dim (
const mha_spec_t &a,
const mha_spec_t &b)[inline]
Test for equal dimension of spectrum structures.
3.9.3.20 bool equal_dim (
const mha_spec_t &a,
const mhaconfig_t &b)[inline]
Test for match of spectrum dimension with mhaconfig structure.
© 2005-2019 HörTech gGmbH, Oldenburg
48 CONTENTS
3.9.3.21 bool equal_dim (
const mha_wave_t &a,
const mha_spec_t &b)[inline]
Test for equal dimension of waveform/spectrum structures.
Warning
Waveform structures mha_wave_t (p. 496) use interleaved data order, while spectrum
structures mha_spec_t (p. 465) use non-interleaved.
3.9.3.22 bool equal_dim (
const mha_spec_t &a,
const mha_wave_t &b)[inline]
Test for equal dimension of waveform/spectrum structures.
Warning
Waveform structures mha_wave_t (p. 496) use interleaved data order, while spectrum
structures mha_spec_t (p. 465) use non-interleaved.
3.9.3.23 void integrate (
mha_wave_t &s)
Numeric integration of a signal vector (real values)
Parameters
sInput signal vector
3.9.3.24 void integrate (
mha_spec_t &s)
Numeric integration of a signal vector (complex values)
Parameters
sInput signal vector
3.9.3.25 unsigned int size (
const mha_wave_t &s)[inline]
Return size of a waveform structure.
© 2005-2019 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 49
3.9.3.26 unsigned int size (
const mha_spec_t &s)[inline]
Return size of a spectrum structure.
3.9.3.27 unsigned int size (
const mha_wave_t s)[inline]
Return size of a waveform structure.
3.9.3.28 unsigned int size (
const mha_spec_t s)[inline]
Return size of a spectrum structure.
3.9.3.29 void clear (
mha_wave_t &s)[inline]
Set all values of waveform to zero.
3.9.3.30 void clear (
mha_wave_t s)[inline]
Set all values of waveform to zero.
3.9.3.31 void clear (
mha_spec_t &s)[inline]
Set all values of spectrum to zero.
3.9.3.32 void clear (
mha_spec_t s)[inline]
Set all values of spectrum to zero.
3.9.3.33 void assign (
mha_wave_t self,
mha_real_t val )[inline]
Set all values of waveform 'self' to 'val'.
Parameters
self Waveform to be modified.
val Value to be assigned to all entries of waveform.
© 2005-2019 HörTech gGmbH, Oldenburg
50 CONTENTS
3.9.3.34 void assign (
mha_wave_t self,
const mha_wave_t &val )
Set all values of waveform 'self' to 'val'.
Parameters
self Waveform to be modified.
val Source waveform structure.
3.9.3.35 void assign (
mha_spec_t self,
const mha_spec_t &val )
Set all values of spectrum 'self' to 'val'.
Parameters
self Spectrum to be modified.
val Source spectrum.
3.9.3.36 void timeshift (
mha_wave_t &self,
int shift )
Time shift of waveform chunk.
Shifted areas are filled with zeros.
Parameters
self Waveform chunk to be shifted
shift Shift amount, positive values shift to later times
3.9.3.37 mha_real_t& value (
mha_wave_t s,
unsigned int fr,
unsigned int ch )[inline]
Access an element of a waveform structure.
Parameters
sWaveform structure
fr Frame number
ch Channel number
© 2005-2019 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 51
Returns
Reference to element
3.9.3.38 const mha_real_t& value (
const mha_wave_t s,
unsigned int fr,
unsigned int ch )[inline]
Constant access to an element of a waveform structure.
Parameters
sWaveform structure
fr Frame number
ch Channel number
Returns
Reference to element
3.9.3.39 mha_complex_t& value (
mha_spec_t s,
unsigned int fr,
unsigned int ch )[inline]
Access to an element of a spectrum.
Parameters
sSpectrum structure
fr Bin number
ch Channel number
Returns
Reference to element
3.9.3.40 const mha_complex_t& value (
const mha_spec_t s,
unsigned int fr,
unsigned int ch )[inline]
Constant access to an element of a spectrum.
© 2005-2019 HörTech gGmbH, Oldenburg
52 CONTENTS
Parameters
sSpectrum structure
fr Bin number
ch Channel number
Returns
Reference to element
3.9.3.41 mha_real_t& value (
mha_wave_t &s,
unsigned int fr,
unsigned int ch )[inline]
Access to an element of a waveform structure.
Parameters
sWaveform structure
fr Frame number
ch Channel number
Returns
Reference to element
3.9.3.42 const mha_real_t& value (
const mha_wave_t &s,
unsigned int fr,
unsigned int ch )[inline]
Constant access to an element of a waveform structure.
Parameters
sWaveform structure
fr Frame number
ch Channel number
Returns
Reference to element
© 2005-2019 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 53
3.9.3.43 mha_complex_t& value (
mha_spec_t &s,
unsigned int fr,
unsigned int ch )[inline]
Access to an element of a spectrum.
Parameters
sSpectrum structure
fr Bin number
ch Channel number
Returns
Reference to element
3.9.3.44 const mha_complex_t& value (
const mha_spec_t &s,
unsigned int fr,
unsigned int ch )[inline]
Constant access to an element of a spectrum.
Parameters
sSpectrum structure
fr Bin number
ch Channel number
Returns
Reference to element
3.9.3.45 std::vector<float>std_vector_float (
const mha_wave_t & )
Converts a mha_wave_t (p. 496) structure into a std::vector<float>(interleaved order).
Warning
This function is not real-time safe. Do not use in signal processing thread.
© 2005-2019 HörTech gGmbH, Oldenburg
54 CONTENTS
3.9.3.46 std::vector<std::vector<float> > std_vector_vector_float (
const mha_wave_t & )
Converts a mha_wave_t (p. 496) structure into a std::vector<std::vector<float> > (outer vec-
tor represents channels).
Warning
This function is not real-time safe. Do not use in signal processing thread.
3.9.3.47 std::vector<std::vector<mha_complex_t> > std_vector_vector_complex (
const mha_spec_t & )
Converts a mha_spec_t (p. 465) structure into a std::vector<std::vector<mha_complex_t> >
(outer vector represents channels).
Warning
This function is not real-time safe. Do not use in signal processing thread.
3.9.3.48 mha_wave_t& operator+= (
mha_wave_t &,
const mha_real_t & )
Addition operator.
3.9.3.49 mha_wave_t& operator+= (
mha_wave_t &,
const mha_wave_t & )
Addition operator.
3.9.3.50 mha_wave_t& operator-= (
mha_wave_t &,
const mha_wave_t & )
Subtraction operator.
3.9.3.51 mha_spec_t& operator-= (
mha_spec_t &,
const mha_spec_t & )
Subtraction operator.
© 2005-2019 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 55
3.9.3.52 mha_wave_t& operator= (
mha_wave_t &,
const mha_real_t & )
Element-wise multiplication operator.
3.9.3.53 mha_wave_t& operator= (
mha_wave_t &,
const mha_wave_t & )
Element-wise multiplication operator.
3.9.3.54 mha_spec_t& operator= (
mha_spec_t &,
const mha_real_t & )
Element-wise multiplication operator.
3.9.3.55 mha_spec_t& operator= (
mha_spec_t &,
const mha_wave_t & )
Element-wise multiplication operator.
3.9.3.56 mha_spec_t& operator= (
mha_spec_t &,
const mha_spec_t & )
Element-wise multiplication operator.
3.9.3.57 mha_spec_t& operator/= (
mha_spec_t &,
const mha_spec_t & )
Element-wise division operator.
3.9.3.58 mha_wave_t& operator/= (
mha_wave_t &,
const mha_wave_t & )
Element-wise division operator.
3.9.3.59 mha_spec_t& operator+= (
mha_spec_t &,
const mha_spec_t & )
Addition operator.
© 2005-2019 HörTech gGmbH, Oldenburg
56 CONTENTS
3.9.3.60 mha_spec_t& operator+= (
mha_spec_t &,
const mha_real_t & )
Addition operator.
3.9.3.61 mha_wave_t& operator= (
mha_wave_t &self,
const mha_real_t &arg )
Exponent operator.
Warning
This overwrites the xor operator!
3.9.3.62 void MHASignal::copy_channel (
mha_spec_t &self,
const mha_spec_t &src,
unsigned sch,
unsigned dch )
Copy one channel of a source signal.
Parameters
self Destination.
src Source
sch Source channel number
dch Destination channel number
3.9.3.63 void MHASignal::copy_channel (
mha_wave_t &self,
const mha_wave_t &src,
unsigned src_channel,
unsigned dest_channel )
Copy one channel of a source signal.
Parameters
self Destination.
src Source
src_channel Source channel number
dest_channel Destination channel number
© 2005-2019 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 57
3.9.3.64 mha_real_t MHASignal::rmslevel (
const mha_spec_t &s,
unsigned int channel,
unsigned int fftlen )
Return RMS level of a spectrum channel.
Parameters
sInput spectrum
channel Channel number to be tested
fftlen FFT length (to correctly count the level of the Nyquist bin)
Returns
RMS level in Pa
3.9.3.65 mha_real_t MHASignal::colored_intensity (
const mha_spec_t &s,
unsigned int channel,
unsigned int fftlen,
mha_real_t sqfreq_response[ ] )
Colored spectrum intensity.
computes the squared sum of the spectrum after filtering with the frequency response
Parameters
sInput spectrum
channel Channel number to be tested
fftlen FFT length (to correctly count the level of the Nyquist bin)
sqfreq_response A squared weighting factor for every fft bin.
Returns
sum of squares. Root of this is the colored level in Pa
3.9.3.66 mha_real_t MHASignal::maxabs (
const mha_spec_t &s,
unsigned int channel )
Find maximal absolute value.
© 2005-2019 HörTech gGmbH, Oldenburg
58 CONTENTS
Parameters
sInput signal
channel Channel to be tested
Returns
maximum absolute value
3.9.3.67 mha_real_t MHASignal::rmslevel (
const mha_wave_t &s,
unsigned int channel )
Return RMS level of a waveform channel.
Parameters
sInput waveform signal
channel Channel number to be tested
Returns
RMS level in Pa
3.9.3.68 mha_real_t MHASignal::maxabs (
const mha_wave_t &s,
unsigned int channel )
Find maximal absolute value.
Parameters
sInput signal
channel Channel to be tested
Returns
maximum absolute value
3.9.3.69 mha_real_t MHASignal::maxabs (
const mha_wave_t &s)
Find maximal absolute value.
© 2005-2019 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 59
Parameters
sInput signal
Returns
maximum absolute value
3.9.3.70 mha_real_t MHASignal::max (
const mha_wave_t &s)
Find maximal value.
Parameters
sInput signal
Returns
maximum absolute value
3.9.3.71 mha_real_t MHASignal::min (
const mha_wave_t &s)
Find minimal value.
Parameters
sInput signal
Returns
maximum absolute value
3.9.3.72 mha_real_t MHASignal::sumsqr_channel (
const mha_wave_t &s,
unsigned int channel )
Calculate sum of squared values in one channel.
Parameters
sInput signal
channel Channel
© 2005-2019 HörTech gGmbH, Oldenburg
60 CONTENTS
Returns
Px2
3.9.3.73 mha_real_t MHASignal::sumsqr_frame (
const mha_wave_t &s,
unsigned int frame )
Calculate sum over all channels of squared values.
Parameters
sInput signal
frame Frame number
Returns
Px2
3.9.3.74 void conjugate (
mha_spec_t &self )[inline]
Replace (!) the value of this mha_spec_t (p. 465) with its conjugate.
© 2005-2019 HörTech gGmbH, Oldenburg
3.10 Complex arithmetics in the openMHA 61
3.10 Complex arithmetics in the openMHA
Collaboration diagram for Complex arithmetics in the openMHA:
Complex arithmetics
in the openMHA
The openMHA Toolbox
library
Classes
struct mha_complex_t
Type for complex floating point values.
Functions
mha_complex_t &set (mha_complex_t &self, mha_real_t real, mha_real_t imag=0)
Assign real and imaginary parts to a mha_complex_t (p. 431) variable.
mha_complex_t mha_complex (mha_real_t real, mha_real_t imag=0)
Create a new mha_complex_t (p. 431) with specified real and imaginary parts.
mha_complex_t &set (mha_complex_t &self, const std::complex<mha_real_t >
&stdcomplex)
Assign a mha_complex_t (p. 431) variable from a std::complex.
• std::complex<mha_real_t >stdcomplex (const mha_complex_t &self)
Create a std::complex from mha_complex_t (p. 431).
mha_complex_t &expi (mha_complex_t &self, mha_real_t angle)
replaces the value of the given mha_complex_t (p. 431) with exp(ib).
double angle (const mha_complex_t &self)
Computes the angle of a complex number in the complex plane.
mha_complex_t &operator+= (mha_complex_t &self, const mha_complex_t &other)
Addition of two complex numbers, overwriting the first.
mha_complex_t operator+ (const mha_complex_t &self, const mha_complex_-
t&other)
Addition of two complex numbers, result is a temporary object.
mha_complex_t &operator+= (mha_complex_t &self, mha_real_t other_real)
Addition of a complex and a real number, overwriting the complex.
mha_complex_t operator+ (const mha_complex_t &self, mha_real_t other_real)
Addition of a complex and a real number, result is a temporary object.
mha_complex_t &operator-= (mha_complex_t &self, const mha_complex_t &other)
Subtraction of two complex numbers, overwriting the first.
© 2005-2019 HörTech gGmbH, Oldenburg
62 CONTENTS
mha_complex_t operator- (const mha_complex_t &self, const mha_complex_-
t&other)
Subtraction of two complex numbers, result is a temporary object.
mha_complex_t &operator-= (mha_complex_t &self, mha_real_t other_real)
Subtraction of a complex and a real number, overwriting the complex.
mha_complex_t operator- (const mha_complex_t &self, mha_real_t other_real)
Subtraction of a complex and a real number, result is a temporary object.
mha_complex_t &operator=(mha_complex_t &self, const mha_complex_t &other)
Multiplication of two complex numbers, overwriting the first.
mha_complex_t operator(const mha_complex_t &self, const mha_complex_-
t&other)
Multiplication of two complex numbers, result is a temporary object.
mha_complex_t &operator=(mha_complex_t &self, mha_real_t other_real)
Multiplication of a complex and a real number, overwriting the complex.
mha_complex_t &expi (mha_complex_t &self, mha_real_t angle,mha_real_t factor)
replaces (!) the value of the given mha_complex_t (p. 431) with a exp(ib)
mha_complex_t operator(const mha_complex_t &self, mha_real_t other_real)
Multiplication of a complex and a real number, result is a temporary object.
mha_real_t abs2 (const mha_complex_t &self)
Compute the square of the absolute value of a complex value.
mha_real_t abs (const mha_complex_t &self)
Compute the absolute value of a complex value.
mha_complex_t &operator/= (mha_complex_t &self, mha_real_t other_real)
Division of a complex and a real number, overwriting the complex.
mha_complex_t operator/ (const mha_complex_t &self, mha_real_t other_real)
Division of a complex and a real number, result is a temporary object.
mha_complex_t &safe_div (mha_complex_t &self, const mha_complex_t &other,
mha_real_t eps, mha_real_t eps2)
Safe division of two complex numbers, overwriting the first.
mha_complex_t &operator/= (mha_complex_t &self, const mha_complex_t &other)
Division of two complex numbers, overwriting the first.
mha_complex_t operator/ (const mha_complex_t &self, const mha_complex_-
t&other)
Division of two complex numbers, result is a temporary object.
mha_complex_t operator- (const mha_complex_t &self)
Unary minus on a complex results in a negative temporary object.
bool operator== (const mha_complex_t &x, const mha_complex_t &y)
Compare two complex numbers for equality.
bool operator!= (const mha_complex_t &x, const mha_complex_t &y)
Compare two complex numbers for inequality.
void conjugate (mha_complex_t &self)
Replace (!) the value of this mha_complex_t (p. 431) with its conjugate.
mha_complex_t _conjugate (const mha_complex_t &self)
Compute the cojugate of this complex value.
void reciprocal (mha_complex_t &self)
© 2005-2019 HörTech gGmbH, Oldenburg
3.10 Complex arithmetics in the openMHA 63
Replace the value of this complex with its reciprocal.
mha_complex_t _reciprocal (const mha_complex_t &self)
compute the reciprocal of this complex value.
void normalize (mha_complex_t &self)
Divide a complex by its absolute value, thereby normalizing it (projecting onto the unit circle).
void normalize (mha_complex_t &self, mha_real_t margin)
Divide a complex by its absolute value, thereby normalizing it (projecting onto the unit circle),
with a safety margin.
bool almost (const mha_complex_t &self, const mha_complex_t &other, mha_real_t
times_epsilon=1e2)
Compare two complex numbers for equality except for a small relative error.
bool operator<(const mha_complex_t &x, const mha_complex_t &y)
Compares the absolute values of two complex numbers.
3.10.1 Detailed Description
3.10.2 Function Documentation
3.10.2.1 mha_complex_t& set (
mha_complex_t &self,
mha_real_t real,
mha_real_t imag = 0)[inline]
Assign real and imaginary parts to a mha_complex_t (p. 431) variable.
Parameters
self The mha_complex_t (p. 431) variable whose value is about to change.
real The new real part.
imag The new imaginary part.
Returns
A reference to the changed variable.
3.10.2.2 mha_complex_t mha_complex (
mha_real_t real,
mha_real_t imag = 0)[inline]
Create a new mha_complex_t (p. 431) with specified real and imaginary parts.
Parameters
real The real part.
imag The imaginary part.
© 2005-2019 HörTech gGmbH, Oldenburg
64 CONTENTS
Returns
The new value.
3.10.2.3 mha_complex_t& set (
mha_complex_t &self,
const std::complex<mha_real_t >&stdcomplex )[inline]
Assign a mha_complex_t (p. 431) variable from a std::complex.
Parameters
self The mha_complex_t (p. 431) variable whose value is about to change.
stdcomplex The new complex value.
Returns
A reference to the changed variable.
3.10.2.4 std::complex<mha_real_t>stdcomplex (
const mha_complex_t &self )[inline]
Create a std::complex from mha_complex_t (p. 431).
3.10.2.5 mha_complex_t& expi (
mha_complex_t &self,
mha_real_t angle )[inline]
replaces the value of the given mha_complex_t (p. 431) with exp(ib).
Parameters
self The mha_complex_t (p. 431) variable whose value is about to change.
angle The angle in the complex plane [rad].
Returns
A reference to the changed variable.
3.10.2.6 double angle (
const mha_complex_t &self )[inline]
Computes the angle of a complex number in the complex plane.
© 2005-2019 HörTech gGmbH, Oldenburg
3.10 Complex arithmetics in the openMHA 65
Parameters
self The complex number whose angle is needed.
Returns
The angle of a complex number in the complex plane.
3.10.2.7 mha_complex_t& operator+= (
mha_complex_t &self,
const mha_complex_t &other )[inline]
Addition of two complex numbers, overwriting the first.
3.10.2.8 mha_complex_t operator+ (
const mha_complex_t &self,
const mha_complex_t &other )[inline]
Addition of two complex numbers, result is a temporary object.
3.10.2.9 mha_complex_t& operator+= (
mha_complex_t &self,
mha_real_t other_real )[inline]
Addition of a complex and a real number, overwriting the complex.
3.10.2.10 mha_complex_t operator+ (
const mha_complex_t &self,
mha_real_t other_real )[inline]
Addition of a complex and a real number, result is a temporary object.
3.10.2.11 mha_complex_t& operator-= (
mha_complex_t &self,
const mha_complex_t &other )[inline]
Subtraction of two complex numbers, overwriting the first.
3.10.2.12 mha_complex_t operator- (
const mha_complex_t &self,
const mha_complex_t &other )[inline]
Subtraction of two complex numbers, result is a temporary object.
© 2005-2019 HörTech gGmbH, Oldenburg
66 CONTENTS
3.10.2.13 mha_complex_t& operator-= (
mha_complex_t &self,
mha_real_t other_real )[inline]
Subtraction of a complex and a real number, overwriting the complex.
3.10.2.14 mha_complex_t operator- (
const mha_complex_t &self,
mha_real_t other_real )[inline]
Subtraction of a complex and a real number, result is a temporary object.
3.10.2.15 mha_complex_t& operator= (
mha_complex_t &self,
const mha_complex_t &other )[inline]
Multiplication of two complex numbers, overwriting the first.
3.10.2.16 mha_complex_t operator(
const mha_complex_t &self,
const mha_complex_t &other )[inline]
Multiplication of two complex numbers, result is a temporary object.
3.10.2.17 mha_complex_t& operator= (
mha_complex_t &self,
mha_real_t other_real )[inline]
Multiplication of a complex and a real number, overwriting the complex.
3.10.2.18 mha_complex_t& expi (
mha_complex_t &self,
mha_real_t angle,
mha_real_t factor )[inline]
replaces (!) the value of the given mha_complex_t (p. 431) with a exp(ib)
Parameters
self The mha_complex_t (p. 431) variable whose value is about to change.
angle The imaginary exponent.
factor The absolute value of the result.
© 2005-2019 HörTech gGmbH, Oldenburg
3.10 Complex arithmetics in the openMHA 67
Returns
A reference to the changed variable.
3.10.2.19 mha_complex_t operator(
const mha_complex_t &self,
mha_real_t other_real )[inline]
Multiplication of a complex and a real number, result is a temporary object.
3.10.2.20 mha_real_t abs2 (
const mha_complex_t &self )[inline]
Compute the square of the absolute value of a complex value.
Returns
The square of the absolute value of self.
3.10.2.21 mha_real_t abs (
const mha_complex_t &self )[inline]
Compute the absolute value of a complex value.
Returns
The absolute value of self.
3.10.2.22 mha_complex_t& operator/= (
mha_complex_t &self,
mha_real_t other_real )[inline]
Division of a complex and a real number, overwriting the complex.
3.10.2.23 mha_complex_t operator/ (
const mha_complex_t &self,
mha_real_t other_real )[inline]
Division of a complex and a real number, result is a temporary object.
3.10.2.24 mha_complex_t& safe_div (
mha_complex_t &self,
const mha_complex_t &other,
mha_real_t eps,
mha_real_t eps2 )[inline]
Safe division of two complex numbers, overwriting the first.
If abs(divisor) <eps, then divisor is replaced by eps. eps2 = epseps.
© 2005-2019 HörTech gGmbH, Oldenburg
68 CONTENTS
3.10.2.25 mha_complex_t& operator/= (
mha_complex_t &self,
const mha_complex_t &other )[inline]
Division of two complex numbers, overwriting the first.
3.10.2.26 mha_complex_t operator/ (
const mha_complex_t &self,
const mha_complex_t &other )[inline]
Division of two complex numbers, result is a temporary object.
3.10.2.27 mha_complex_t operator- (
const mha_complex_t &self )[inline]
Unary minus on a complex results in a negative temporary object.
3.10.2.28 bool operator== (
const mha_complex_t &x,
const mha_complex_t &y)[inline]
Compare two complex numbers for equality.
3.10.2.29 bool operator!= (
const mha_complex_t &x,
const mha_complex_t &y)[inline]
Compare two complex numbers for inequality.
3.10.2.30 void conjugate (
mha_complex_t &self )[inline]
Replace (!) the value of this mha_complex_t (p. 431) with its conjugate.
3.10.2.31 mha_complex_t _conjugate (
const mha_complex_t &self )[inline]
Compute the cojugate of this complex value.
Returns
A temporary object holding the conjugate value.
© 2005-2019 HörTech gGmbH, Oldenburg
3.10 Complex arithmetics in the openMHA 69
3.10.2.32 void reciprocal (
mha_complex_t &self )[inline]
Replace the value of this complex with its reciprocal.
3.10.2.33 mha_complex_t _reciprocal (
const mha_complex_t &self )[inline]
compute the reciprocal of this complex value.
Returns
A temporary object holding the reciprocal value.
3.10.2.34 void normalize (
mha_complex_t &self )[inline]
Divide a complex by its absolute value, thereby normalizing it (projecting onto the unit circle).
3.10.2.35 void normalize (
mha_complex_t &self,
mha_real_t margin )[inline]
Divide a complex by its absolute value, thereby normalizing it (projecting onto the unit circle),
with a safety margin.
3.10.2.36 bool almost (
const mha_complex_t &self,
const mha_complex_t &other,
mha_real_t times_epsilon = 1e2 )[inline]
Compare two complex numbers for equality except for a small relative error.
Parameters
self The first complex number.
other The second complex number.
times_epsilon Permitted relative error is this number multiplied with the machine accuracy
for this Floating point format (std::numeric_limits<mha_real_t>::epsilon)
Returns
true if the relative difference is below times_epsilon std::numeric_limits<mha_real_t>-
::epsilon
© 2005-2019 HörTech gGmbH, Oldenburg
70 CONTENTS
3.10.2.37 bool operator<(
const mha_complex_t &x,
const mha_complex_t &y)[inline]
Compares the absolute values of two complex numbers.
© 2005-2019 HörTech gGmbH, Oldenburg
3.11 Fast Fourier Transform functions 71
3.11 Fast Fourier Transform functions
Collaboration diagram for Fast Fourier Transform functions:
The openMHA Toolbox
library Fast Fourier Transform
functions
Typedefs
typedef void mha_fft_t
Handle for an FFT object.
Functions
mha_fft_t mha_fft_new (unsigned int n)
Create a new FFT handle.
void mha_fft_free (mha_fft_t h)
Destroy an FFT handle.
void mha_fft_wave2spec (mha_fft_t h, const mha_wave_t in, mha_spec_t out)
Tranform waveform segment into spectrum.
void mha_fft_wave2spec (mha_fft_t h, const mha_wave_t in, mha_spec_t out, bool
swaps)
Tranform waveform segment into spectrum.
void mha_fft_spec2wave (mha_fft_t h, const mha_spec_t in, mha_wave_t out)
Tranform spectrum into waveform segment.
void mha_fft_spec2wave (mha_fft_t h, const mha_spec_t in, mha_wave_t out, un-
signed int offset)
Tranform spectrum into waveform segment.
void mha_fft_forward (mha_fft_t h, mha_spec_t sIn, mha_spec_t sOut)
Complex to complex FFT (forward).
void mha_fft_backward (mha_fft_t h, mha_spec_t sIn, mha_spec_t sOut)
Complex to complex FFT (backward).
void mha_fft_forward_scale (mha_fft_t h, mha_spec_t sIn, mha_spec_t sOut)
Complex to complex FFT (forward).
void mha_fft_backward_scale (mha_fft_t h, mha_spec_t sIn, mha_spec_t sOut)
Complex to complex FFT (backward).
void mha_fft_wave2spec_scale (mha_fft_t h, const mha_wave_t in, mha_spec_-
tout)
Tranform waveform segment into spectrum.
void mha_fft_spec2wave_scale (mha_fft_t h, const mha_spec_t in, mha_wave_-
tout)
Tranform spectrum into waveform segment.
© 2005-2019 HörTech gGmbH, Oldenburg
72 CONTENTS
3.11.1 Detailed Description
3.11.2 Typedef Documentation
3.11.2.1 typedef voidmha_fft_t
Handle for an FFT object.
This FFT object is used by the functions mha_fft_wave2spec and mha_fft_spec2wave. The F-
FT back-end is the FFTW library. The back-end is completely hidden, including external header
files or linking external libraries is not required.
3.11.3 Function Documentation
3.11.3.1 mha_fft_t mha_fft_new (
unsigned int n)
Create a new FFT handle.
Parameters
nFFT length.
Create a new FFT handle.
Parameters
nFFT length
Return values
FFT object
3.11.3.2 void mha_fft_free (
mha_fft_t h)
Destroy an FFT handle.
Parameters
hHandle to be destroyed.
Destroy an FFT handle.
© 2005-2019 HörTech gGmbH, Oldenburg
3.11 Fast Fourier Transform functions 73
Parameters
hFFT object to be removed
3.11.3.3 void mha_fft_wave2spec (
mha_fft_t h,
const mha_wave_t in,
mha_spec_t out )
Tranform waveform segment into spectrum.
Parameters
hFFT handle.
in Input waveform segment.
out Output spectrum.
Tranform waveform segment into spectrum.
Parameters
hFFT object handle
in pointer to input waveform signal
out pointer to output spectrum signal (has to be allocated)
3.11.3.4 void mha_fft_wave2spec (
mha_fft_t h,
const mha_wave_t in,
mha_spec_t out,
bool swaps )
Tranform waveform segment into spectrum.
Like normal wave2spec, but swaps wave buffer halves before transforming if the swaps param-
eter is true.
Warning: These openMHA FFTs adopt a nonstandard scaling scheme in which the forward
transform scales by 1/N and the backward does not scale. We would recommend using the
'_scale' methods instead.
Parameters
hFFT handle.
in Input waveform segment.
out Output spectrum.
swaps Function swaps the first and second half of the waveform buffer before the FFT
transform when this parameter is set to true.
© 2005-2019 HörTech gGmbH, Oldenburg
74 CONTENTS
3.11.3.5 void mha_fft_spec2wave (
mha_fft_t h,
const mha_spec_t in,
mha_wave_t out )
Tranform spectrum into waveform segment.
Warning: These openMHA FFTs adopt a nonstandard scaling scheme in which the forward
transform scales by 1/N and the backward does not scale. We would recommend using the
'_scale' methods instead.
Parameters
hFFT handle.
in Input spectrum.
out Output waveform segment.
Tranform spectrum into waveform segment.
Parameters
hFFT object handle
in pointer to input spectrum
out pointer to output waveform signal (has to be allocated)
3.11.3.6 void mha_fft_spec2wave (
mha_fft_t h,
const mha_spec_t in,
mha_wave_t out,
unsigned int offset )
Tranform spectrum into waveform segment.
out may have fewer number of frames than needed for a complete iFFT. Only as many frames
are written into out as fit, starting with offset offset of the complete iFFT.
Warning: These openMHA FFTs adopt a nonstandard scaling scheme in which the forward
transform scales by 1/N and the backward does not scale. We would recommend using the
'_scale' methods instead.
Parameters
hFFT handle.
in Input spectrum.
out Output waveform segment.
offset Offset into iFFT wave buffer
© 2005-2019 HörTech gGmbH, Oldenburg
3.11 Fast Fourier Transform functions 75
Tranform spectrum into waveform segment.
Only part of the iFFT is tranferred into the out buffer.
Out may have fewer number of freames than needed for a complete iFFT. Only as many frames
are written into out as fit, starting with offset offset of the complete iFFT.
Parameters
hFFT object handle
in pointer to input spectrum
out pointer to output waveform signal (has to be allocated)
offset Offset into complete iFFT buffer.
3.11.3.7 void mha_fft_forward (
mha_fft_t h,
mha_spec_t sIn,
mha_spec_t sOut )
Complex to complex FFT (forward).
sIn and sOut need to have nfft bins (please note that mha_spec_t (p. 465) typically has nfft/2+1
bins for half-complex representation).
Warning: These openMHA FFTs adopt a nonstandard scaling scheme in which the forward
transform scales by 1/N and the backward does not scale. We would recommend using the
'_scale' methods instead.
Parameters
hFFT handle.
sIn Input spectrum.
sOut Output spectrum.
3.11.3.8 void mha_fft_backward (
mha_fft_t h,
mha_spec_t sIn,
mha_spec_t sOut )
Complex to complex FFT (backward).
sIn and sOut need to have nfft bins (please note that mha_spec_t (p. 465) typically has nfft/2+1
bins for half-complex representation).
Warning: These openMHA FFTs adopt a nonstandard scaling scheme in which the forward
transform scales by 1/N and the backward does not scale. We would recommend using the
'_scale' methods instead.
© 2005-2019 HörTech gGmbH, Oldenburg
76 CONTENTS
Parameters
hFFT handle.
sIn Input spectrum.
sOut Output spectrum.
3.11.3.9 void mha_fft_forward_scale (
mha_fft_t h,
mha_spec_t sIn,
mha_spec_t sOut )
Complex to complex FFT (forward).
sIn and sOut need to have nfft bins (please note that mha_spec_t (p. 465) typically has nfft/2+1
bins for half-complex representation).
The _scale methods use standard DFT scaling: There is no scaling in the forward transforma-
tion, and 1/N scaling for the backward.
Parameters
hFFT handle.
sIn Input spectrum.
sOut Output spectrum.
3.11.3.10 void mha_fft_backward_scale (
mha_fft_t h,
mha_spec_t sIn,
mha_spec_t sOut )
Complex to complex FFT (backward).
sIn and sOut need to have nfft bins (please note that mha_spec_t (p. 465) typically has nfft/2+1
bins for half-complex representation).
The _scale methods use standard DFT scaling: There is no scaling in the forward transforma-
tion, and 1/N scaling for the backward.
Parameters
hFFT handle.
sIn Input spectrum.
sOut Output spectrum.
© 2005-2019 HörTech gGmbH, Oldenburg
3.11 Fast Fourier Transform functions 77
3.11.3.11 void mha_fft_wave2spec_scale (
mha_fft_t h,
const mha_wave_t in,
mha_spec_t out )
Tranform waveform segment into spectrum.
The _scale methods use standard DFT scaling: There is no scaling in the forward transforma-
tion, and 1/N scaling for the backward.
Parameters
hFFT handle.
in Input waveform segment.
out Output spectrum.
3.11.3.12 void mha_fft_spec2wave_scale (
mha_fft_t h,
const mha_spec_t in,
mha_wave_t out )
Tranform spectrum into waveform segment.
The _scale methods use standard DFT scaling: There is no scaling in the forward transforma-
tion, and 1/N scaling for the backward.
Parameters
hFFT handle.
in Input spectrum.
out Output waveform segment.
© 2005-2019 HörTech gGmbH, Oldenburg
78 CONTENTS
4 Namespace Documentation
4.1 ac2lsl Namespace Reference
All types for the ac2lsl (p. 78) plugins live in this namespace.
Classes
class ac2lsl_t
Plugin class of ac2lsl (p. 78).
class cfg_t
Runtime configuration class of the ac2lsl (p. 78) plugin.
class save_var_base_t
Interface for ac to lsl bridge variable.
class save_var_t
Implementation for all ac to lsl bridges except complex types.
class save_var_t<mha_complex_t >
Template specialization of the ac2lsl (p. 78) bridge to take care of complex numbers.
struct type_info
Variables
const std::map<int, type_info >types
4.1.1 Detailed Description
All types for the ac2lsl (p. 78) plugins live in this namespace.
4.1.2 Variable Documentation
4.1.2.1 const std::map<int, type_info>ac2lsl::types
4.2 acmon Namespace Reference
Namespace for displaying ac variables as parser monitors.
Classes
class ac_monitor_t
A class for converting AC variables to Parser monitors of correct type.
class acmon_t
© 2005-2019 HörTech gGmbH, Oldenburg
4.3 acsave Namespace Reference 79
4.2.1 Detailed Description
Namespace for displaying ac variables as parser monitors.
4.3 acsave Namespace Reference
Classes
class acsave_t
class cfg_t
struct mat4head_t
class save_var_t
4.4 addsndfile Namespace Reference
Classes
class addsndfile_if_t
class level_adapt_t
class resampled_soundfile_t
Reads sound from file and resamples it if necessary and wanted.
class sndfile_t
class waveform_proxy_t
Class helps to specify which instance of MHASignal_waveform_t parent instance is meant in
resampled_soundfile_t (p. 184).
Typedefs
typedef MHAPlugin::config_t<level_adapt_t >level_adaptor
typedef MHAPlugin::plugin_t<sndfile_t >wave_reader
Enumerations
Functions
static unsigned resampled_num_frames (unsigned num_source_frames, float source-
_rate, float target_rate, addsndfile_resampling_mode_t resampling_mode)
© 2005-2019 HörTech gGmbH, Oldenburg
80 CONTENTS
4.4.1 Typedef Documentation
4.4.1.1 typedef MHAPlugin::config_t<level_adapt_t>addsndfile::level_adaptor
4.4.1.2 typedef MHAPlugin::plugin_t<sndfile_t>addsndfile::wave_reader
4.4.2 Enumeration Type Documentation
4.4.2.1 enum addsndfile::addsndfile_resampling_mode_t
Specifies the resampling mode in resampled_soundfile_t (p. 184).
Enumerator
DONT_RESAMPLE_PERMISSIVE
DONT_RESAMPLE_STRICT Do not resample, if the sample rate of the MHA differs
from the sample rate of the sound file, raise an error.
DO_RESAMPLE Resample.
4.4.3 Function Documentation
4.4.3.1 static unsigned addsndfile::resampled_num_frames (
unsigned num_source_frames,
float source_rate,
float target_rate,
addsndfile_resampling_mode_t resampling_mode )[static]
4.5 ADM Namespace Reference
Classes
class ADM
Adaptive differential microphone, working for speech frequency range.
class Delay
A delay-line class which can also do subsample-delays for a limited frequency range below
fs/4.
class Linearphase_FIR
An efficient linear-phase fir filter implementation.
Functions
static double subsampledelay_coeff (double samples, double f_design, double fs=1.0)
compute IIR coefficient for subsample delay
© 2005-2019 HörTech gGmbH, Oldenburg
4.6 AuditoryProfile Namespace Reference 81
Variables
const double PI = 3.14159265358979312
const double C= 340
const double DELAY_FREQ = 2000
const double START_BETA = 0.5
4.5.1 Function Documentation
4.5.1.1 static double ADM::subsampledelay_coeff (
double samples,
double f_design,
double fs = 1.0 )[static]
compute IIR coefficient for subsample delay
Parameters
samples Constraint: 0.0 <= samples <1.0; Amount of sub-sample delay
f_design design frequency (subsample delay is accurate for this frequency)
fs sampling rate
Returns
IIR coefficient for subsample delay
4.5.2 Variable Documentation
4.5.2.1 const double ADM::PI = 3.14159265358979312
4.5.2.2 const double ADM::C = 340
4.5.2.3 const double ADM::DELAY_FREQ = 2000
4.5.2.4 const double ADM::START_BETA = 0.5
4.6 AuditoryProfile Namespace Reference
Namespace for classes and functions around the auditory profile (e.g., audiogram handling)
© 2005-2019 HörTech gGmbH, Oldenburg
82 CONTENTS
Classes
class fmap_t
A class to store frequency dependent data (e.g., HTL and UCL).
class parser_t
Class to make the auditory profile accessible through the parser interface.
class profile_t
The Auditory Profile class.
4.6.1 Detailed Description
Namespace for classes and functions around the auditory profile (e.g., audiogram handling)
The auditory profile as defined by HearCom or BMBF Modellbasierte Hoergeraete is stored in
the class AuditoryProfile::profile_t (p. 226). Until a complete definition is available, only the
currently needed elements are implemented.
4.7 coherence Namespace Reference
Classes
class cohflt_if_t
class cohflt_t
class vars_t
Functions
void getcipd (mha_complex_t &c, mha_real_t &a, const mha_complex_t &xl, const
mha_complex_t &xr)
4.7.1 Function Documentation
4.7.1.1 void coherence::getcipd (
mha_complex_t &c,
mha_real_t &a,
const mha_complex_t &xl,
const mha_complex_t &xr )[inline]
4.8 dc Namespace Reference
Classes
class dc_if_t
class dc_t
class dc_vars_t
class dc_vars_validator_t
class wb_inhib_cfg_t
class wideband_inhib_vars_t
© 2005-2019 HörTech gGmbH, Oldenburg
4.9 dc_simple Namespace Reference 83
Functions
unsigned int get_audiochannels (unsigned int totalchannels, std::string acname, algo-
_comm_t ac)
4.8.1 Function Documentation
4.8.1.1 unsigned int dc::get_audiochannels (
unsigned int totalchannels,
std::string acname,
algo_comm_t ac )
4.9 dc_simple Namespace Reference
Classes
class dc_if_t
class dc_t
class dc_vars_t
class dc_vars_validator_t
class level_smoother_t
Typedefs
typedef MHAPlugin::plugin_t<dc_t >DC
typedef MHAPlugin::config_t<level_smoother_t >LEVEL
Functions
void test_fail (const std::vector<float >&v, unsigned int s, const std::string &name)
• std::vector<float >force_resize (const std::vector<float >&v, unsigned int s, const
std::string &name)
mha_real_t not_zero (mha_real_t x, const std::string &comment="")
© 2005-2019 HörTech gGmbH, Oldenburg
84 CONTENTS
4.9.1 Typedef Documentation
4.9.1.1 typedef MHAPlugin::plugin_t<dc_t>dc_simple::DC
4.9.1.2 typedef MHAPlugin::config_t<level_smoother_t>dc_simple::LEVEL
4.9.2 Function Documentation
4.9.2.1 void dc_simple::test_fail (
const std::vector<float >&v,
unsigned int s,
const std::string & name )
4.9.2.2 std::vector<float>dc_simple::force_resize (
const std::vector<float >&v,
unsigned int s,
const std::string & name )
4.9.2.3 mha_real_t dc_simple::not_zero (
mha_real_t x,
const std::string & comment = "" )
4.10 delay Namespace Reference
Classes
class interface_t
4.11 delaysum Namespace Reference
This namespace contains the delaysum plugin.
Classes
class delaysum_if_t
Interface class for the delaysum plugin.
class delaysum_t
Runtime configuration of the delaysum plugin.
4.11.1 Detailed Description
This namespace contains the delaysum plugin.
© 2005-2019 HörTech gGmbH, Oldenburg
4.12 DynComp Namespace Reference 85
4.12 DynComp Namespace Reference
dynamic compression related classes and functions
Classes
class dc_afterburn_rt_t
Real-time class for after burn effect.
class dc_afterburn_t
Afterburn class, to be defined as a member of compressors.
class dc_afterburn_vars_t
Variables for dc_afterburn_t (p. 294) class.
class gaintable_t
Gain table class.
Functions
mha_real_t interp1 (const std::vector<mha_real_t >&vX, const std::vector<mha_-
real_t >&vY, mha_real_t X)
One-dimensional linear interpolation.
mha_real_t interp2 (const std::vector<mha_real_t >&vX, const std::vector<mha-
_real_t >&vY, const std::vector<std::vector<mha_real_t > > &mZ, mha_real_t X,
mha_real_t Y)
Linear interpolation in a two-dimensional field.
4.12.1 Detailed Description
dynamic compression related classes and functions
4.12.2 Function Documentation
4.12.2.1 mha_real_t DynComp::interp1 (
const std::vector<mha_real_t >&vX,
const std::vector<mha_real_t >&vY,
mha_real_t X)
One-dimensional linear interpolation.
Parameters
vX Vector with input samples.
vY Vector with values at input samples.
XInput value to be interpolated.
© 2005-2019 HörTech gGmbH, Oldenburg
86 CONTENTS
Return values
Interpolated value Y(X) at position X.
4.12.2.2 mha_real_t DynComp::interp2 (
const std::vector<mha_real_t >&vX,
const std::vector<mha_real_t >&vY,
const std::vector<std::vector<mha_real_t > > &mZ,
mha_real_t X,
mha_real_t Y)
Linear interpolation in a two-dimensional field.
Parameters
vX Vector with input samples, first dimension.
vY Vector with input samples, second dimension.
mZ Field with values at input samples.
XFirst dimension of input value to be interpolated.
YSecond dimension of input value to be interpolated.
Return values
Interpolated value Z(X,Y) at position X,Y.
4.13 fader_wave Namespace Reference
Classes
class fader_wave_if_t
class level_adapt_t
Typedefs
typedef MHAPlugin::plugin_t<level_adapt_t >level_adaptor
4.13.1 Typedef Documentation
4.13.1.1 typedef MHAPlugin::plugin_t<level_adapt_t>fader_wave::level_adaptor
4.14 fftfbpow Namespace Reference
Namespace for the fftfbpow plugin.
© 2005-2019 HörTech gGmbH, Oldenburg
4.15 fftfilterbank Namespace Reference 87
Classes
class fftfbpow_interface_t
Interface class for fftfbpow plugin.
class fftfbpow_t
Run time configuration for the fftfbpow plugin.
4.14.1 Detailed Description
Namespace for the fftfbpow plugin.
4.15 fftfilterbank Namespace Reference
Classes
class fftfb_interface_t
class fftfb_plug_t
4.16 fshift Namespace Reference
All types for the fshift plugin live in this namespace.
Classes
class fshift_config_t
fshift runtime config class
class fshift_t
fshift plugin interface class
Functions
int fft_find_bin (mha_real_t frequency, unsigned fftlen, mha_real_t srate)
Finds bin number of FFT bin nearest to the given frequency.
4.16.1 Detailed Description
All types for the fshift plugin live in this namespace.
4.16.2 Function Documentation
4.16.2.1 int fshift::fft_find_bin (
mha_real_t frequency,
unsigned fftlen,
mha_real_t srate )
Finds bin number of FFT bin nearest to the given frequency.
© 2005-2019 HörTech gGmbH, Oldenburg
88 CONTENTS
Parameters
frequency The frequency for which to look. Has to be in range [-srate/2,+srate/2]
fftlen Length of the FFT.
srate Sampling rate of the waveform from which the FFT originates.
Returns
Bin number of the FFT bin corresponding to frequency
4.17 fshift_hilbert Namespace Reference
All types for the hilbert frequency shifter live in this namespace.
Classes
class frequency_translator_t
class hilbert_shifter_t
4.17.1 Detailed Description
All types for the hilbert frequency shifter live in this namespace.
4.18 gain Namespace Reference
Classes
class gain_if_t
class scaler_t
4.19 gtfb_analyzer Namespace Reference
Classes
struct gtfb_analyzer_cfg_t
Configuration for Gammatone Filterbank Analyzer.
class gtfb_analyzer_t
Gammatone Filterbank Analyzer Plugin.
© 2005-2019 HörTech gGmbH, Oldenburg
4.20 matrixmixer Namespace Reference 89
4.20 matrixmixer Namespace Reference
Classes
class cfg_t
class matmix_t
4.21 MHA_AC Namespace Reference
Functions and classes for Algorithm Communication (AC) support.
Classes
class ac2matrix_helper_t
class ac2matrix_t
Copy AC variable to a matrix.
class acspace2matrix_t
Copy all or a subset of all numeric AC variables into an array of matrixes.
class double_t
Insert a double precision floating point variable into the AC space.
class float_t
Insert a float point variable into the AC space.
class int_t
Insert a integer variable into the AC space.
class spectrum_t
Insert a MHASignal::spectrum_t (p. 800) class into the AC space.
class stat_t
class waveform_t
Insert a MHASignal::waveform_t (p. 812) class into the AC space.
Functions
mha_spec_t get_var_spectrum (algo_comm_t ac, const std::string &name)
Convert an AC variable into a spectrum.
mha_wave_t get_var_waveform (algo_comm_t ac, const std::string &name)
Convert an AC variable into a waveform.
int get_var_int (algo_comm_t ac, const std::string &name)
Return value of an integer scalar AC variable.
float get_var_float (algo_comm_t ac, const std::string &name)
Return value of an floating point scalar AC variable.
• std::vector<float >get_var_vfloat (algo_comm_t ac, const std::string &name)
Return value of an floating point vector AC variable as standard vector of floats.
© 2005-2019 HörTech gGmbH, Oldenburg
90 CONTENTS
4.21.1 Detailed Description
Functions and classes for Algorithm Communication (AC) support.
4.22 mha_error_helpers Namespace Reference
Functions
unsigned digits (unsigned n)
Compute number of decimal digits required to represent an unsigned integer.
unsigned snprintf_required_length (const char formatstring,...)
snprintf_required_length Compute the number of bytes (excluding the terminating nul) required
to store the result of an snprintf.
4.22.1 Function Documentation
4.22.1.1 unsigned mha_error_helpers::digits (
unsigned n)
Compute number of decimal digits required to represent an unsigned integer.
Parameters
nThe unsigned integer that we want to know the number of required decimal digits for.
return The number of decimal digits in n.
4.22.1.2 unsigned mha_error_helpers::snprintf_required_length (
const char formatstring,
... )
snprintf_required_length Compute the number of bytes (excluding the terminating nul) required
to store the result of an snprintf.
Parameters
formatstring The format string with standard printf formatstring
Returns
the number of bytes required by printf without the terminating nul
© 2005-2019 HörTech gGmbH, Oldenburg
4.23 MHA_TCP Namespace Reference 91
4.23 MHA_TCP Namespace Reference
A Namespace for TCP helper classes.
Classes
class Async_Notify
Portable Multiplexable cross-thread notification.
class Client
A portable class for a tcp client connections.
class Connection
Connection (p. 471) handles Communication between client and server, is used on both sides.
class Event_Watcher
OS-independent event watcher, uses select on Unix and WaitForMultipleObjects on Windows.
struct OS_EVENT_TYPE
class Server
class sock_init_t
class Sockaccept_Event
class Sockread_Event
Watch socket for incoming data.
class Sockwrite_Event
class Thread
A very simple class for portable threads.
class Timeout_Event
class Timeout_Watcher
OS-independent event watcher with internal fixed-end-time timeout.
class Wakeup_Event
A base class for asynchronous wakeup events.
Typedefs
typedef int SOCKET
Functions
std::string STRERROR (int err)
Portable conversion from error number to error string.
std::string HSTRERROR (int err)
Portable conversion from hostname error number to error string.
int N_ERRNO ()
Portable access to last network error number.
int H_ERRNO ()
Portable access to last hostname error number.
© 2005-2019 HörTech gGmbH, Oldenburg
92 CONTENTS
int G_ERRNO ()
Portable access to last non-network error number.
double dtime ()
Time access function for system's high resolution time, retrieve current time as double.
double dtime (const struct timeval &tv)
Time access function for unix' high resolution time, converts struct timeval to double.
struct timeval stime (double d)
Time access function for unix' high resolution time, converts time from double to struct timeval.
Variables
class MHA_TCP::sock_init_t sock_initializer
4.23.1 Detailed Description
A Namespace for TCP helper classes.
4.23.2 Typedef Documentation
4.23.2.1 typedef int MHA_TCP::SOCKET
4.23.3 Function Documentation
4.23.3.1 std::string MHA_TCP::STRERROR (
int err )
Portable conversion from error number to error string.
4.23.3.2 std::string MHA_TCP::HSTRERROR (
int err )
Portable conversion from hostname error number to error string.
4.23.3.3 int MHA_TCP::N_ERRNO ( )
Portable access to last network error number.
4.23.3.4 int MHA_TCP::H_ERRNO ( )
Portable access to last hostname error number.
© 2005-2019 HörTech gGmbH, Oldenburg
4.24 mhachain Namespace Reference 93
4.23.3.5 int MHA_TCP::G_ERRNO ( )
Portable access to last non-network error number.
4.23.3.6 double MHA_TCP::dtime ( )
Time access function for system's high resolution time, retrieve current time as double.
4.23.3.7 double MHA_TCP::dtime (
const struct timeval & tv )
Time access function for unix' high resolution time, converts struct timeval to double.
4.23.3.8 struct timeval MHA_TCP::stime (
double d)
Time access function for unix' high resolution time, converts time from double to struct timeval.
4.23.4 Variable Documentation
4.23.4.1 class MHA_TCP::sock_init_t MHA_TCP::sock_initializer
4.24 mhachain Namespace Reference
Classes
class chain_base_t
class mhachain_t
class plugs_t
4.25 MHAEvents Namespace Reference
Collection of event handling classes.
Classes
class connector_base_t
class connector_t
class emitter_t
Class for emitting openMHA events.
class patchbay_t
Patchbay which connects any event emitter with any member function of the parameter class.
© 2005-2019 HörTech gGmbH, Oldenburg
94 CONTENTS
4.25.1 Detailed Description
Collection of event handling classes.
4.26 MHAFilter Namespace Reference
Namespace for IIR and FIR filter classes.
Classes
class adapt_filter_param_t
class adapt_filter_state_t
class adapt_filter_t
Adaptive filter.
class blockprocessing_polyphase_resampling_t
A class that does polyphase resampling and takes into account block processing.
class complex_bandpass_t
Complex bandpass filter.
class diff_t
Differentiator class (non-normalized)
class fftfilter_t
FFT based FIR filter implementation.
class fftfilterbank_t
FFT based FIR filterbank implementation.
class filter_t
Generic IIR filter class.
class gamma_flt_t
Class for gammatone filter.
class iir_filter_state_t
class iir_filter_t
IIR filter class wrapper for integration into parser structure.
class iir_ord1_real_t
First order recursive filter.
class o1_ar_filter_t
First order attack-release lowpass filter.
class o1flt_lowpass_t
First order low pass filter.
class o1flt_maxtrack_t
First order maximum tracker.
class o1flt_mintrack_t
First order minimum tracker.
class partitioned_convolution_t
A filter class for partitioned convolution.
© 2005-2019 HörTech gGmbH, Oldenburg
4.26 MHAFilter Namespace Reference 95
class polyphase_resampling_t
A class that performs polyphase resampling.
class resampling_filter_t
Hann shaped low pass filter for resampling.
class smoothspec_t
Smooth spectral gains, create a windowed impulse response.
class thirdoctave_analyzer_t
struct transfer_function_t
a structure containing a source channel number, a target channel number, and an impulse
response.
struct transfer_matrix_t
A sparse matrix of transfer function partitionss.
Functions
void make_friendly_number (mha_real_t &x)
void make_friendly_number (mha_complex_t &x)
void make_friendly_number (double &x)
void o1_lp_coeffs (const mha_real_t tau, const mha_real_t fs, mha_real_t &c1, mha-
_real_t &c2)
Set first order filter coefficients from time constant and sampling rate.
void butter_stop_ord1 (double A, double B, double f1, double f2, double fs)
Setup a first order butterworth band stop filter.
MHASignal::waveform_t spec2fir (const mha_spec_t spec, const unsigned int fftlen,
const MHAWindow::base_t &window, const bool minphase)
Create a windowed impulse response/FIR filter coefficients from a spectrum.
unsigned gcd (unsigned a, unsigned b)
greatest common divisor
double sinc (double x)
sin(x)/x function, coping with x=0.
• std::pair<unsigned, unsigned >resampling_factors (float source_sampling_rate, float
target_sampling_rate, float factor=1.0f)
Computes rational resampling factor from two sampling rates.
4.26.1 Detailed Description
Namespace for IIR and FIR filter classes.
© 2005-2019 HörTech gGmbH, Oldenburg
96 CONTENTS
4.26.2 Function Documentation
4.26.2.1 void MHAFilter::make_friendly_number (
mha_real_t &x)[inline]
4.26.2.2 void MHAFilter::make_friendly_number (
mha_complex_t &x)[inline]
4.26.2.3 void MHAFilter::make_friendly_number (
double & x)[inline]
4.26.2.4 void MHAFilter::o1_lp_coeffs (
const mha_real_t tau,
const mha_real_t fs,
mha_real_t &c1,
mha_real_t &c2 )
Set first order filter coefficients from time constant and sampling rate.
Parameters
tau Time constant
fs Sampling rate
Return values
c1 Recursive filter coefficient
c2 Non-recursive filter coefficient
4.26.2.5 void MHAFilter::butter_stop_ord1 (
double A,
double B,
double f1,
double f2,
double fs )
Setup a first order butterworth band stop filter.
This function calculates the filter coefficients of a first order butterworth band stop filter.
Return values
Arecursive filter coefficients
Bnon recursive filter coefficients
© 2005-2019 HörTech gGmbH, Oldenburg
4.26 MHAFilter Namespace Reference 97
Parameters
f1 lower frequency
f2 upper frequency
fs sample frequency
4.26.2.6 MHASignal::waveform_t MHAFilter::spec2fir (
const mha_spec_t spec,
const unsigned int fftlen,
const MHAWindow::base_t &window,
const bool minphase )
Create a windowed impulse response/FIR filter coefficients from a spectrum.
Parameters
spec Input spectrum
fftlen FFT length of spectrum
window Window shape (with length, e.g. initialized with MHAWindow::hanning(54)).
minphase Flag, true if original phase should be discarded and replaced by a minimal
phase function.
4.26.2.7 unsigned MHAFilter::gcd (
unsigned a,
unsigned b)[inline]
greatest common divisor
4.26.2.8 double MHAFilter::sinc (
double x)
sin(x)/x function, coping with x=0.
This is the historical sinc function, not the normalized sinc function.
4.26.2.9 std::pair<unsigned, unsigned >MHAFilter::resampling_factors (
float source_sampling_rate,
float target_sampling_rate,
float factor = 1.0f )
Computes rational resampling factor from two sampling rates.
The function will fail if either sampling_rate factor is not an integer
© 2005-2019 HörTech gGmbH, Oldenburg
98 CONTENTS
Parameters
source_sampling_rate The original sampling rate
target_sampling_rate The desired sampling rate
factor A helper factor to use for non-integer sampling rates
Returns
a pair that contains first the upsampling factor and second the downsampling factor re-
quired for the specified resampling.
Exceptions
MHA_Error (p. 445)if no rational resampling factor can be found.
4.27 MHAIOJack Namespace Reference
JACK IO.
Classes
class io_jack_t
Main class for JACK IO.
4.27.1 Detailed Description
JACK IO.
4.28 MHAIOJackdb Namespace Reference
Classes
class io_jack_t
Main class for JACK IO.
4.29 MHAIOPortAudio Namespace Reference
Classes
class device_info_t
class io_portaudio_t
Main class for Portaudio sound IO.
© 2005-2019 HörTech gGmbH, Oldenburg
4.30 MHAJack Namespace Reference 99
Functions
static std::string parserFriendlyName (const std::string &in)
4.29.1 Function Documentation
4.29.1.1 static std::string MHAIOPortAudio::parserFriendlyName (
const std::string & in )[static]
4.30 MHAJack Namespace Reference
Classes and functions for openMHA and JACK interaction.
Classes
class client_avg_t
Generic JACK client for averaging a system response across time.
class client_noncont_t
Generic client for synchronous playback and recording of waveform fragments.
class client_t
Generic asynchronous JACK client.
class port_t
Class for one channel/port.
Functions
void io (mha_wave_t s_out, mha_wave_t s_in, const std::string &name, const std-
::vector<std::string >&p_out, const std::vector<std::string >&p_in, float srate=NULL,
unsigned int fragsize=NULL, bool use_jack_transport=false)
Functional form of generic client for synchronous playback and recording of waveform frag-
ments.
• std::vector<unsigned int >get_port_capture_latency (const std::vector<std::string >
&ports)
Return the JACK port latency of ports.
• std::vector<int >get_port_capture_latency_int (const std::vector<std::string >
&ports)
Return the JACK port latency of ports.
• std::vector<unsigned int >get_port_playback_latency (const std::vector<std::string
>&ports)
Return the JACK port latency of ports.
• std::vector<int >get_port_playback_latency_int (const std::vector<std::string >
&ports)
© 2005-2019 HörTech gGmbH, Oldenburg
100 CONTENTS
4.30.1 Detailed Description
Classes and functions for openMHA and JACK interaction.
4.30.2 Function Documentation
4.30.2.1 void MHAJack::io (
mha_wave_t s_out,
mha_wave_t s_in,
const std::string & name,
const std::vector<std::string >&p_out,
const std::vector<std::string >&p_in,
float srate = NULL,
unsigned int fragsize = NULL,
bool use_jack_transport = false )
Functional form of generic client for synchronous playback and recording of waveform frag-
ments.
4.30.2.2 std::vector<unsigned int >MHAJack::get_port_capture_latency (
const std::vector<std::string >&ports )
Return the JACK port latency of ports.
Parameters
ports Ports to be tested
Returns
Latency vector (one entry for each port)
4.30.2.3 std::vector<int >MHAJack::get_port_capture_latency_int (
const std::vector<std::string >&ports )
Return the JACK port latency of ports.
Parameters
ports Ports to be tested
© 2005-2019 HörTech gGmbH, Oldenburg
4.31 MHAKernel Namespace Reference 101
Returns
Latency vector (one entry for each port)
4.30.2.4 std::vector<unsigned int >MHAJack::get_port_playback_latency (
const std::vector<std::string >&ports )
Return the JACK port latency of ports.
Parameters
ports Ports to be tested
Returns
Latency vector (one entry for each port)
4.30.2.5 std::vector<int >MHAJack::get_port_playback_latency_int (
const std::vector<std::string >&ports )
4.31 MHAKernel Namespace Reference
Classes
class algo_comm_class_t
class comm_var_map_t
Functions
algo_comm_class_t algo_comm_safe_cast (void )
4.31.1 Function Documentation
4.31.1.1 MHAKernel::algo_comm_class_t MHAKernel::algo_comm_safe_cast (
void h)
4.32 MHAMultiSrc Namespace Reference
Collection of classes for selecting audio chunks from multiple sources.
© 2005-2019 HörTech gGmbH, Oldenburg
102 CONTENTS
Classes
class base_t
Base class for source selection.
class channel_t
class channels_t
class spectrum_t
class waveform_t
4.32.1 Detailed Description
Collection of classes for selecting audio chunks from multiple sources.
4.33 MHAOvlFilter Namespace Reference
Namespace for overlapping FFT based filter bank classes and functions.
Namespaces
barkscale
FreqScaleFun
Transform functions from linear scale in Hz to new frequency scales.
ShapeFun
Shape functions for overlapping filters.
Classes
class band_descriptor_t
class fftfb_ac_info_t
class fftfb_t
FFT based overlapping filter bank.
class fftfb_vars_t
Set of configuration variables for FFT-based overlapping filters.
class fscale_bw_t
class fscale_t
class fspacing_t
Class for frequency spacing, used by filterbank shape generator class.
class overlap_save_filterbank_analytic_t
class overlap_save_filterbank_t
A time-domain minimal phase filter bank with frequency shapes from MHAOvlFilter::fftfb_t
(p. 616).
class scale_var_t
© 2005-2019 HörTech gGmbH, Oldenburg
4.34 MHAOvlFilter::barkscale Namespace Reference 103
Typedefs
typedef mha_real_t(scale_fun_t) (mha_real_t)
4.33.1 Detailed Description
Namespace for overlapping FFT based filter bank classes and functions.
4.33.2 Typedef Documentation
4.33.2.1 typedef mha_real_t( MHAOvlFilter::scale_fun_t) (mha_real_t)
4.34 MHAOvlFilter::barkscale Namespace Reference
Classes
class bark2hz_t
class hz2bark_t
Variables
mha_real_t vfreq [BARKSCALE_ENTRIES]
mha_real_t vbark [BARKSCALE_ENTRIES]
4.34.1 Variable Documentation
4.34.1.1 mha_real_t MHAOvlFilter::barkscale::vfreq
4.34.1.2 mha_real_t MHAOvlFilter::barkscale::vbark
4.35 MHAOvlFilter::FreqScaleFun Namespace Reference
Transform functions from linear scale in Hz to new frequency scales.
© 2005-2019 HörTech gGmbH, Oldenburg
104 CONTENTS
Functions
mha_real_t hz2hz (mha_real_t x)
Dummy scale transformation Hz to Hz.
mha_real_t hz2khz (mha_real_t x)
mha_real_t hz2octave (mha_real_t x)
mha_real_t hz2third_octave (mha_real_t x)
mha_real_t hz2bark (mha_real_t x)
Transformation to bark scale.
mha_real_t hz2bark_analytic (mha_real_t)
mha_real_t hz2erb (mha_real_t)
mha_real_t hz2erb_glasberg1990 (mha_real_t)
mha_real_t hz2log (mha_real_t x)
Third octave frequency scale.
mha_real_t inv_scale (mha_real_t,mha_real_t()(mha_real_t))
4.35.1 Detailed Description
Transform functions from linear scale in Hz to new frequency scales.
4.35.2 Function Documentation
4.35.2.1 mha_real_t MHAOvlFilter::FreqScaleFun::hz2hz (
mha_real_t x)
Dummy scale transformation Hz to Hz.
This function implements a dummy scale transformation (linear frequency scale).
Parameters
xInput frequency in Hz
Returns
Frequency in Hz
4.35.2.2 mha_real_t MHAOvlFilter::FreqScaleFun::hz2khz (
mha_real_t x)
4.35.2.3 mha_real_t MHAOvlFilter::FreqScaleFun::hz2octave (
mha_real_t x)
© 2005-2019 HörTech gGmbH, Oldenburg
4.35 MHAOvlFilter::FreqScaleFun Namespace Reference 105
4.35.2.4 mha_real_t MHAOvlFilter::FreqScaleFun::hz2third_octave (
mha_real_t x)
4.35.2.5 mha_real_t MHAOvlFilter::FreqScaleFun::hz2bark (
mha_real_t x)
Transformation to bark scale.
This function implements a critical band rate (bark) scale.
Parameters
xInput frequency in Hz
Returns
Critical band rate in Bark
4.35.2.6 mha_real_t MHAOvlFilter::FreqScaleFun::hz2bark_analytic (
mha_real_t x)
4.35.2.7 mha_real_t MHAOvlFilter::FreqScaleFun::hz2erb (
mha_real_t x)
4.35.2.8 mha_real_t MHAOvlFilter::FreqScaleFun::hz2erb_glasberg1990 (
mha_real_t x)
4.35.2.9 mha_real_t MHAOvlFilter::FreqScaleFun::hz2log (
mha_real_t x)
Third octave frequency scale.
This function implements a third octave scale. Frequencies below 16 Hz are mapped to 16 Hz.
Parameters
xFrequency in Hz
Returns
Third octaves relative to 1000 Hz
4.35.2.10 mha_real_t MHAOvlFilter::FreqScaleFun::inv_scale (
mha_real_t y,
mha_real_t()(mha_real_t)fun )
© 2005-2019 HörTech gGmbH, Oldenburg
106 CONTENTS
4.36 MHAOvlFilter::ShapeFun Namespace Reference
Shape functions for overlapping filters.
Functions
mha_real_t rect (mha_real_t x)
Filter shape function for rectangular filters.
mha_real_t linear (mha_real_t x)
Filter shape function for sawtooth filters.
mha_real_t hann (mha_real_t x)
Filter shape function for hanning shaped filters.
mha_real_t expflt (mha_real_t)
mha_real_t gauss (mha_real_t)
4.36.1 Detailed Description
Shape functions for overlapping filters.
4.36.2 Function Documentation
4.36.2.1 mha_real_t MHAOvlFilter::ShapeFun::rect (
mha_real_t x)
Filter shape function for rectangular filters.
This function creates rectangular filter shapes. The edge is exactly half way between two center
frequencies (on a given scale).
Parameters
xInput value in the range [-1,1].
Returns
Weigth function in the range [0,1]
4.36.2.2 mha_real_t MHAOvlFilter::ShapeFun::linear (
mha_real_t x)
Filter shape function for sawtooth filters.
© 2005-2019 HörTech gGmbH, Oldenburg
4.37 MHAParser Namespace Reference 107
This function creates sawtooth filter shapes. They rise linearly form 0 to 1 in the interval from
the lower neighbor center frequency to the band center frequency and from 1 to 0 in the interval
from the band center frequency to the upper neighbour band center frequency. Linear means
linear on a given frequency scale.
Parameters
xInput value in the range [-1,1].
Returns
Weigth function in the range [0,1]
4.36.2.3 mha_real_t MHAOvlFilter::ShapeFun::hann (
mha_real_t x)
Filter shape function for hanning shaped filters.
This function creates hanning window shaped filters.
Parameters
xInput value in the range [-1,1].
Returns
Weigth function in the range [0,1]
4.36.2.4 mha_real_t MHAOvlFilter::ShapeFun::expflt (
mha_real_t x)
4.36.2.5 mha_real_t MHAOvlFilter::ShapeFun::gauss (
mha_real_t x)
4.37 MHAParser Namespace Reference
Name space for the openMHA-Parser configuration language.
Namespaces
StrCnv
String converter namespace.
© 2005-2019 HörTech gGmbH, Oldenburg
108 CONTENTS
Classes
class base_t
Base class for all parser items.
class bool_mon_t
Monitor with string value.
class bool_t
Variable with a boolean value ("yes"/"no")
class c_ifc_parser_t
class commit_t
Parser variable with event-emission functionality.
class complex_mon_t
Monitor with complex value.
class complex_t
Variable with complex value.
class entry_t
class expression_t
class float_mon_t
Monitor with float value.
class float_t
Variable with float value.
class int_mon_t
Monitor variable with int value.
class int_t
Variable with integer value.
class keyword_list_t
Keyword list class.
class kw_t
Variable with keyword list value.
class mcomplex_mon_t
Matrix of complex numbers monitor.
class mcomplex_t
Matrix variable with complex value.
class mfloat_mon_t
Matrix of floats monitor.
class mfloat_t
Matrix variable with float value.
class mhaconfig_mon_t
class mhapluginloader_t
Class to create a plugin loader in a parser, including the load logic.
class mint_mon_t
Matrix of ints monitor.
class monitor_t
Base class for monitors and variable nodes.
class parser_t
© 2005-2019 HörTech gGmbH, Oldenburg
4.37 MHAParser Namespace Reference 109
Parser node class.
class range_var_t
Base class for all variables with a numeric value range.
class string_mon_t
Monitor with string value.
class string_t
Variable with a string value.
class variable_t
Base class for variable nodes.
class vcomplex_mon_t
Monitor with vector of complex values.
class vcomplex_t
Vector variable with complex value.
class vfloat_mon_t
Vector of floats monitor.
class vfloat_t
Vector variable with float value.
class vint_mon_t
Vector of ints monitor.
class vint_t
Variable with vector<int>value.
class vstring_mon_t
Vector of monitors with string value.
class vstring_t
Vector variable with string values.
class window_t
MHA configuration interface for a window function generator.
Typedefs
typedef std::string(base_t::opact_t) (expression_t &)
typedef std::string(base_t::query_t) (const std::string &)
typedef std::map<std::string, opact_t >opact_map_t
typedef std::map<std::string, query_t >query_map_t
typedef std::list<entry_t >entry_map_t
typedef int(c_parse_cmd_t) (void , const char , char , unsigned int)
typedef const char (c_parse_err_t) (void , int)
© 2005-2019 HörTech gGmbH, Oldenburg
110 CONTENTS
Functions
int get_precision ()
std::string commentate (const std::string &s)
void trim (std::string &s)
std::string cfg_dump (base_t , const std::string &)
std::string cfg_dump_short (base_t , const std::string &)
std::string all_dump (base_t , const std::string &)
std::string mon_dump (base_t , const std::string &)
std::string all_ids (base_t , const std::string &, const std::string &="")
void strreplace (std::string &, const std::string &, const std::string &)
string replace function
void envreplace (std::string &s)
4.37.1 Detailed Description
Name space for the openMHA-Parser configuration language.
This namespace contains all classes which are needed for the implementation of the open-
MHA configuration language. For details on the script language itself please see section The
openMHA configuration language (p. 34).
4.37.2 List of valid MHAParser items
Sub-parser:parser_t (p. 688)
Variables:
Numeric variables: int_t (p. 664), vint_t (p. 713), float_t (p. 659), vfloat_t (p. 709),
mfloat_t (p. 677)
Other variables: string_t (p. 697), vstring_t (p. 717), kw_t (p. 669), bool_t (p. 645)
Monitors:
Numeric monitors: int_mon_t (p. 662), vint_mon_t (p. 711), float_mon_t (p. 658),
vfloat_mon_t (p. 707)
mfloat_mon_t (p. 676)
mcomplex_mon_t (p. 672)
Other monitors: bool_mon_t (p. 644), string_mon_t (p. 696), vstring_mon_t (p. 715)
Members can be inserted into the configuration namespace by using MHAParser::insert_item()
or the insert_member() (p. 1021) macro.
© 2005-2019 HörTech gGmbH, Oldenburg
4.37 MHAParser Namespace Reference 111
4.37.3 Typedef Documentation
4.37.3.1 typedef std::string(base_t::MHAParser::opact_t) (expression_t &)
4.37.3.2 typedef std::string(base_t::MHAParser::query_t) (const std::string &)
4.37.3.3 typedef std::map<std::string,opact_t>MHAParser::opact_map_t
4.37.3.4 typedef std::map<std::string,query_t>MHAParser::query_map_t
4.37.3.5 typedef std::list<entry_t>MHAParser::entry_map_t
4.37.3.6 typedef int(MHAParser::c_parse_cmd_t) (void , const char , char , unsigned int)
4.37.3.7 typedef const char(MHAParser::c_parse_err_t) (void , int)
4.37.4 Function Documentation
4.37.4.1 int MHAParser::get_precision ( )
4.37.4.2 std::string MHAParser::commentate (
const std::string & s)
4.37.4.3 void MHAParser::trim (
std::string & s)
4.37.4.4 std::string MHAParser::cfg_dump (
base_t p,
const std::string & pref )
4.37.4.5 std::string MHAParser::cfg_dump_short (
base_t p,
const std::string & pref )
4.37.4.6 std::string MHAParser::all_dump (
base_t p,
const std::string & pref )
4.37.4.7 std::string MHAParser::mon_dump (
base_t p,
const std::string & pref )
4.37.4.8 std::string MHAParser::all_ids (
base_t p,
const std::string & pref,
const std::string & id = "" )
4.37.4.9 void MHAParser::strreplace (
std::string & s,
const std::string & arg,
const std::string & rep )
string replace function
© 2005-2019 HörTech gGmbH, Oldenburg
112 CONTENTS
Parameters
starget string
arg search pattern
rep replace pattern
4.37.4.10 void MHAParser::envreplace (
std::string & s)
4.38 MHAParser::StrCnv Namespace Reference
String converter namespace.
Functions
int num_brackets (const std::string &s)
Return number of brackets at beginning and end of string.
int bracket_balance (const std::string &s)
void str2val (const std::string &, bool &)
Convert from string.
void str2val (const std::string &, float &)
Convert from string.
void str2val (const std::string &, mha_complex_t &)
Convert from string.
void str2val (const std::string &, int &)
Convert from string.
void str2val (const std::string &, keyword_list_t &)
Convert from string.
void str2val (const std::string &, std::string &)
Convert from string.
template<class arg_t >
void str2val (const std::string &s, std::vector<arg_t >&val)
Converter for vector types.
template<>
void str2val<mha_real_t >(const std::string &s, std::vector<mha_real_t >&v)
Converter for vector<mha_real_t>with Matlab-style expansion.
template<class arg_t >
void str2val (const std::string &s, std::vector<std::vector<arg_t > > &val)
Converter for matrix types.
std::string val2str (const bool &)
Convert to string.
std::string val2str (const float &)
Convert to string.
std::string val2str (const mha_complex_t &)
© 2005-2019 HörTech gGmbH, Oldenburg
4.38 MHAParser::StrCnv Namespace Reference 113
Convert to string.
std::string val2str (const int &)
Convert to string.
std::string val2str (const keyword_list_t &)
Convert to string.
std::string val2str (const std::string &)
Convert to string.
std::string val2str (const std::vector<float >&)
Convert to string.
std::string val2str (const std::vector<mha_complex_t >&)
Convert to string.
std::string val2str (const std::vector<int >&)
Convert to string.
std::string val2str (const std::vector<std::vector<int > > &)
Convert to string.
std::string val2str (const std::vector<std::string >&)
Convert to string.
std::string val2str (const std::vector<std::vector<float > > &)
Convert to string.
std::string val2str (const std::vector<std::vector<mha_complex_t > > &)
Convert to string.
4.38.1 Detailed Description
String converter namespace.
The functions defined in this namespace manage the conversions from C++ variables to strings
and back. It was tried to keep a matlab compatible string format for vectors and vectors of
vectors.
4.38.2 Function Documentation
4.38.2.1 int MHAParser::StrCnv::num_brackets (
const std::string & s)
Return number of brackets at beginning and end of string.
Parameters
sString
© 2005-2019 HörTech gGmbH, Oldenburg
114 CONTENTS
Returns
Number of brackets, or -1 for empty string
4.38.2.2 int MHAParser::StrCnv::bracket_balance (
const std::string & s)
4.38.2.3 void MHAParser::StrCnv::str2val (
const std::string & s,
bool & v)
Convert from string.
4.38.2.4 void MHAParser::StrCnv::str2val (
const std::string & s,
float & v)
Convert from string.
4.38.2.5 void MHAParser::StrCnv::str2val (
const std::string & s,
mha_complex_t &v)
Convert from string.
4.38.2.6 void MHAParser::StrCnv::str2val (
const std::string & s,
int & v)
Convert from string.
4.38.2.7 void MHAParser::StrCnv::str2val (
const std::string & s,
MHAParser::keyword_list_t &v)
Convert from string.
4.38.2.8 void MHAParser::StrCnv::str2val (
const std::string & s,
std::string & v)
Convert from string.
4.38.2.9 template<class arg_t >void MHAParser::StrCnv::str2val (
const std::string & s,
std::vector<arg_t >&val )
Converter for vector types.
© 2005-2019 HörTech gGmbH, Oldenburg
4.38 MHAParser::StrCnv Namespace Reference 115
4.38.2.10 template<> void MHAParser::StrCnv::str2val<mha_real_t >(
const std::string & s,
std::vector<mha_real_t >&v)
Converter for vector<mha_real_t>with Matlab-style expansion.
4.38.2.11 template<class arg_t >void MHAParser::StrCnv::str2val (
const std::string & s,
std::vector<std::vector<arg_t > > &val )
Converter for matrix types.
4.38.2.12 std::string MHAParser::StrCnv::val2str (
const bool & v)
Convert to string.
4.38.2.13 std::string MHAParser::StrCnv::val2str (
const float & v)
Convert to string.
4.38.2.14 std::string MHAParser::StrCnv::val2str (
const mha_complex_t &v)
Convert to string.
4.38.2.15 std::string MHAParser::StrCnv::val2str (
const int & v)
Convert to string.
4.38.2.16 std::string MHAParser::StrCnv::val2str (
const keyword_list_t &v)
Convert to string.
4.38.2.17 std::string MHAParser::StrCnv::val2str (
const std::string & v)
Convert to string.
4.38.2.18 std::string MHAParser::StrCnv::val2str (
const std::vector<float >&v)
Convert to string.
© 2005-2019 HörTech gGmbH, Oldenburg
116 CONTENTS
4.38.2.19 std::string MHAParser::StrCnv::val2str (
const std::vector<mha_complex_t >&v)
Convert to string.
4.38.2.20 std::string MHAParser::StrCnv::val2str (
const std::vector<int >&v)
Convert to string.
4.38.2.21 std::string MHAParser::StrCnv::val2str (
const std::vector<std::vector<int > > &v)
Convert to string.
4.38.2.22 std::string MHAParser::StrCnv::val2str (
const std::vector<std::string >&v)
Convert to string.
4.38.2.23 std::string MHAParser::StrCnv::val2str (
const std::vector<std::vector<float > > &v)
Convert to string.
4.38.2.24 std::string MHAParser::StrCnv::val2str (
const std::vector<std::vector<mha_complex_t > > &v)
Convert to string.
4.39 MHAPlugin Namespace Reference
Namespace for openMHA plugin class templates and thread-safe runtime configurations.
Classes
class cfg_chain_t
class config_t
Template class for thread safe configuration.
class plugin_t
The template class for C++ openMHA plugins.
© 2005-2019 HörTech gGmbH, Oldenburg
4.40 MHAPlugin_Resampling Namespace Reference 117
4.39.1 Detailed Description
Namespace for openMHA plugin class templates and thread-safe runtime configurations.
4.40 MHAPlugin_Resampling Namespace Reference
Classes
class resampling_if_t
class resampling_t
4.41 MHAPlugin_Split Namespace Reference
Classes
class domain_handler_t
Handles domain-specific partial input and output signal.
class dummy_threads_t
Dummy specification of a thread platform: This class implements everything in a single thread.
class posix_threads_t
Posix threads specification of thread platform.
class split_t
Implements split plugin.
class splitted_part_t
The splitted_part_t (p. 751) instance manages the plugin that performs processing on the
reduced set of channels.
class thread_platform_t
Basic interface for encapsulating thread creation, thread priority setting, and synchronization
on any threading platform (i.e., pthreads or win32threads).
class uni_processor_t
An interface to a class that sports a process method with no parameters and no return value.
Enumerations
4.41.1 Detailed Description
A namespace for the split plugin. Helps testability and documentation.
© 2005-2019 HörTech gGmbH, Oldenburg
118 CONTENTS
4.41.2 Enumeration Type Documentation
4.41.2.1 anonymous enum
Invalid thread priority.
Enumerator
INVALID_THREAD_PRIORITY
4.42 MHASignal Namespace Reference
Namespace for audio signal handling and processing classes.
Classes
class async_rmslevel_t
Class for asynchronous level metering.
class delay_spec_t
class delay_t
Class to realize a simple delay of waveform streams.
class delay_wave_t
Delayline containing wave fragments.
class doublebuffer_t
Double-buffering class.
class fft_t
class hilbert_fftw_t
class hilbert_t
Hilbert transformation of a waveform segment.
class loop_wavefragment_t
Copy a fixed waveform fragment to a series of waveform fragments of other size.
class matrix_t
n-dimensional matrix with real or complex floating point values.
class minphase_t
Minimal phase function.
class quantizer_t
Simple simulation of fixpoint quantization.
class ringbuffer_t
A ringbuffer class for time domain audio signal, which makes no assumptions with respect to
fragment size.
class schroeder_t
Schroeder tone complex class.
class spectrum_t
a signal processing class for spectral data (based on mha_spec_t (p. 465))
© 2005-2019 HörTech gGmbH, Oldenburg
4.42 MHASignal Namespace Reference 119
class stat_t
class subsample_delay_t
implements subsample delay in spectral domain.
class uint_vector_t
Vector of unsigned values, used for size and index description of n-dimensional matrixes.
class waveform_t
signal processing class for waveform data (based on mha_wave_t (p. 496))
Functions
void for_each (mha_wave_t s, mha_real_t(fun)(mha_real_t))
Apply a function to each element of a mha_wave_t (p. 496).
mha_real_t lin2db (mha_real_t x)
Conversion from linear scale to dB (no SPL reference)
mha_real_t db2lin (mha_real_t x)
Conversion from dB scale to linear (no SPL reference)
mha_real_t pa2dbspl (mha_real_t x)
Conversion from linear Pascal scale to dB SPL.
mha_real_t pa22dbspl (mha_real_t x, mha_real_t eps=1e-20f)
Conversion from squared Pascal scale to dB SPL.
mha_real_t dbspl2pa (mha_real_t x)
Conversion from dB SPL to linear Pascal scale.
mha_real_t smp2sec (mha_real_t n, mha_real_t srate)
conversion from samples to seconds
mha_real_t sec2smp (mha_real_t sec, mha_real_t srate)
conversion from seconds to samples
mha_real_t bin2freq (mha_real_t bin, unsigned fftlen, mha_real_t srate)
conversion from fft bin index to frequency
mha_real_t freq2bin (mha_real_t freq, unsigned fftlen, mha_real_t srate)
conversion from frequency to fft bin index
mha_real_t smp2rad (mha_real_t samples, unsigned bin, unsigned fftlen)
conversion from delay in samples to phase shift
mha_real_t rad2smp (mha_real_t phase_shift, unsigned bin, unsigned fftlen)
conversion from phase shift to delay in samples
template<class elem_type >
std::vector<elem_type >dupvec (std::vector<elem_type >vec, unsigned n)
Duplicate last vector element to match desired size.
template<class elem_type >
std::vector<elem_type >dupvec_chk (std::vector<elem_type >vec, unsigned n)
Duplicate last vector element to match desired size, check for dimension.
void copy_channel (mha_spec_t &self, const mha_spec_t &src, unsigned sch, un-
signed dch)
Copy one channel of a source signal.
• void copy_channel (mha_wave_t &self, const mha_wave_t &src, unsigned src_-
channel, unsigned dest_channel)
© 2005-2019 HörTech gGmbH, Oldenburg
120 CONTENTS
Copy one channel of a source signal.
mha_real_t rmslevel (const mha_spec_t &s, unsigned int channel, unsigned int fftlen)
Return RMS level of a spectrum channel.
mha_real_t colored_intensity (const mha_spec_t &s, unsigned int channel, unsigned
int fftlen, mha_real_t sqfreq_response[ ])
Colored spectrum intensity.
mha_real_t maxabs (const mha_spec_t &s, unsigned int channel)
Find maximal absolute value.
mha_real_t rmslevel (const mha_wave_t &s, unsigned int channel)
Return RMS level of a waveform channel.
mha_real_t maxabs (const mha_wave_t &s, unsigned int channel)
Find maximal absolute value.
mha_real_t maxabs (const mha_wave_t &s)
Find maximal absolute value.
mha_real_t max (const mha_wave_t &s)
Find maximal value.
mha_real_t min (const mha_wave_t &s)
Find minimal value.
mha_real_t sumsqr_channel (const mha_wave_t &s, unsigned int channel)
Calculate sum of squared values in one channel.
mha_real_t sumsqr_frame (const mha_wave_t &s, unsigned int frame)
Calculate sum over all channels of squared values.
void scale (mha_spec_t dest, const mha_wave_t src)
void limit (mha_wave_t &s, const mha_real_t &min, const mha_real_t &max)
Limit the singal in the waveform buffer to the range [min, max].
template<class elem_type >
elem_type kth_smallest (elem_type array[ ], unsigned n, unsigned k)
Fast search for the kth smallest element of an array.
template<class elem_type >
elem_type median (elem_type array[ ], unsigned n)
Fast median search.
template<class elem_type >
elem_type mean (const std::vector<elem_type >&data, elem_type start_val)
Calculate average of elements in a vector.
template<class elem_type >
std::vector<elem_type >quantile (std::vector<elem_type >data, const std::vector<
elem_type >&p)
Calculate quantile of elements in a vector.
void saveas_mat4 (const mha_spec_t &data, const std::string &varname, FILE fh)
Save a openMHA spectrum as a variable in a Matlab4 file.
void saveas_mat4 (const mha_wave_t &data, const std::string &varname, FILE fh)
Save a openMHA waveform as a variable in a Matlab4 file.
void saveas_mat4 (const std::vector<mha_real_t >&data, const std::string &varname,
FILE fh)
Save a float vector as a variable in a Matlab4 file.
void copy_permuted (mha_wave_t dest, const mha_wave_t src)
Copy contents of a waveform to a permuted waveform.
© 2005-2019 HörTech gGmbH, Oldenburg
4.42 MHASignal Namespace Reference 121
Variables
unsigned long int signal_counter = 0
Signal counter to produce signal ID strings.
4.42.1 Detailed Description
Namespace for audio signal handling and processing classes.
4.42.2 Function Documentation
4.42.2.1 void MHASignal::scale (
mha_spec_t dest,
const mha_wave_t src )
4.42.2.2 void MHASignal::limit (
mha_wave_t &s,
const mha_real_t &min,
const mha_real_t &max )
Limit the singal in the waveform buffer to the range [min, max].
Parameters
sThe signal to limit. The signal in this wave buffer is modified.
min lower limit
max upper limit
4.42.2.3 template<class elem_type >elem_type MHASignal::kth_smallest (
elem_type array[ ],
unsigned n,
unsigned k)
Fast search for the kth smallest element of an array.
The order of elements is altered, but not completely sorted. Using the algorithm from N. Wirth,
published in "Algorithms + data structures = programs", Prentice-Hall, 1976
Parameters
array Element array
© 2005-2019 HörTech gGmbH, Oldenburg
122 CONTENTS
Postcondition
The order of elements in the array is altered. array[k] then holds the result.
Parameters
nnumber of elements in array
Precondition
n>= 1
Parameters
kThe k'th smalles element is returned: k = 0 returns the minimum, k = (n-1)/2 returns the
median, k=(n-1) returns the maximum
Precondition
k<n
Returns
The kth smallest array element
4.42.2.4 template<class elem_type >elem_type MHASignal::median (
elem_type array[ ],
unsigned n)[inline]
Fast median search.
The order of elements is altered, but not completely sorted.
Parameters
array Element array
Postcondition
The order of elements in the array is altered. array[(n-1)/2] then holds the median.
Parameters
nnumber of elements in array
© 2005-2019 HörTech gGmbH, Oldenburg
4.42 MHASignal Namespace Reference 123
Precondition
n>= 1
Returns
The median of the array elements
4.42.2.5 template<class elem_type >elem_type MHASignal::mean (
const std::vector<elem_type >&data,
elem_type start_val )[inline]
Calculate average of elements in a vector.
Parameters
data Input vector
start_val Value for initialization of the return value before sum.
Returns
The average of the vector elements
4.42.2.6 template<class elem_type >std::vector<elem_type>MHASignal::quantile (
std::vector<elem_type >data,
const std::vector<elem_type >&p)[inline]
Calculate quantile of elements in a vector.
Parameters
data Input vector
pVector of probability values.
Returns
Vector of quantiles of input data, one entry for each probability value.
4.42.2.7 void MHASignal::saveas_mat4 (
const mha_spec_t &data,
const std::string & varname,
FILE fh )
Save a openMHA spectrum as a variable in a Matlab4 file.
© 2005-2019 HörTech gGmbH, Oldenburg
124 CONTENTS
Parameters
data openMHA spectrum to be saved.
varname Matlab variable name (Matlab4 limitations on maximal length are not checked).
fh File handle to Matlab4 file.
4.42.2.8 void MHASignal::saveas_mat4 (
const mha_wave_t &data,
const std::string & varname,
FILE fh )
Save a openMHA waveform as a variable in a Matlab4 file.
Parameters
data openMHA waveform to be saved.
varname Matlab variable name (Matlab4 limitations on maximal length are not checked).
fh File handle to Matlab4 file.
4.42.2.9 void MHASignal::saveas_mat4 (
const std::vector<mha_real_t >&data,
const std::string & varname,
FILE fh )
Save a float vector as a variable in a Matlab4 file.
Parameters
data Float vector to be saved.
varname Matlab variable name (Matlab4 limitations on maximal length are not checked).
fh File handle to Matlab4 file.
4.42.2.10 void MHASignal::copy_permuted (
mha_wave_t dest,
const mha_wave_t src )
Copy contents of a waveform to a permuted waveform.
Parameters
dest Destination waveform
src Source waveform
The total size of src and dest must be the same, num_frames and num_channels must be
© 2005-2019 HörTech gGmbH, Oldenburg
4.43 MHASndFile Namespace Reference 125
exchanged in dest.
4.42.3 Variable Documentation
4.42.3.1 unsigned long int MHASignal::signal_counter = 0
Signal counter to produce signal ID strings.
4.43 MHASndFile Namespace Reference
Classes
class sf_t
class sf_wave_t
4.44 MHATableLookup Namespace Reference
Namespace for table lookup classes.
Classes
class linear_table_t
Class for interpolation with equidistant x values.
class table_t
class xy_table_t
Class for interpolation with non-equidistant x values.
4.44.1 Detailed Description
Namespace for table lookup classes.
4.45 MHAWindow Namespace Reference
Collection of Window types.
© 2005-2019 HörTech gGmbH, Oldenburg
126 CONTENTS
Classes
class bartlett_t
Bartlett window.
class base_t
Common base for window types.
class blackman_t
Blackman window.
class fun_t
Generic window based on a generator function.
class hamming_t
Hamming window.
class hanning_t
von-Hann window
class rect_t
Rectangular window.
class user_t
User defined window.
Functions
float rect (float)
Rectangular window function.
float bartlett (float)
Bartlett window function.
float hanning (float)
Hanning window function.
float hamming (float)
Hamming window function.
float blackman (float)
Blackman window function.
4.45.1 Detailed Description
Collection of Window types.
4.45.2 Function Documentation
4.45.2.1 float MHAWindow::rect (
float x)
Rectangular window function.
© 2005-2019 HörTech gGmbH, Oldenburg
4.46 multibandcompressor Namespace Reference 127
4.45.2.2 float MHAWindow::bartlett (
float x)
Bartlett window function.
4.45.2.3 float MHAWindow::hanning (
float x)
Hanning window function.
4.45.2.4 float MHAWindow::hamming (
float x)
Hamming window function.
4.45.2.5 float MHAWindow::blackman (
float x)
Blackman window function.
4.46 multibandcompressor Namespace Reference
Classes
class fftfb_plug_t
class interface_t
class plugin_signals_t
4.47 noisePowProposedScale Namespace Reference
Classes
class interface_t
class noisePowProposed
4.48 overlapadd Namespace Reference
Classes
class overlapadd_if_t
class overlapadd_t
© 2005-2019 HörTech gGmbH, Oldenburg
128 CONTENTS
4.49 plingploing Namespace Reference
All classes for the plingploing music generator live in this namespace.
Classes
class if_t
Plugin class of the plingploing music generator.
class plingploing_t
Run-time configuration of the plingploing music generator.
Functions
double drand (double a, double b)
4.49.1 Detailed Description
All classes for the plingploing music generator live in this namespace.
4.49.2 Function Documentation
4.49.2.1 double plingploing::drand (
double a,
double b)
4.50 PluginLoader Namespace Reference
Classes
class config_file_splitter_t
class fourway_processor_t
This abstract class defines the interface for classes that implement all types of signal domain
processing supported by the MHA: wave2wave, spec2spec, wave2spec, and spec2wave.
class mhapluginloader_t
Functions
const char mhastrdomain (mha_domain_t)
void mhaconfig_compare (const mhaconfig_t &req, const mhaconfig_t &avail, const
std::string &pref="")
Compare two mhaconfig_t (p. 504) structures, and report differences as an error.
© 2005-2019 HörTech gGmbH, Oldenburg
4.51 route Namespace Reference 129
4.50.1 Function Documentation
4.50.1.1 const char PluginLoader::mhastrdomain (
mha_domain_t d)
4.50.1.2 void PluginLoader::mhaconfig_compare (
const mhaconfig_t &req,
const mhaconfig_t &avail,
const std::string & pref = "" )
Compare two mhaconfig_t (p. 504) structures, and report differences as an error.
Parameters
req Expected mhaconfig_t (p. 504) structure
avail Available mhaconfig_t (p. 504) structure
pref Prefix for error messages
4.51 route Namespace Reference
Classes
class interface_t
class process_t
4.52 shadowfilter_begin Namespace Reference
Classes
class cfg_t
class shadowfilter_begin_t
4.53 shadowfilter_end Namespace Reference
Classes
class cfg_t
class shadowfilter_end_t
© 2005-2019 HörTech gGmbH, Oldenburg
130 CONTENTS
4.54 smoothgains_bridge Namespace Reference
Classes
class overlapadd_if_t
class smoothspec_wrap_t
4.55 testplugin Namespace Reference
Classes
class ac_parser_t
class config_parser_t
class if_t
class signal_parser_t
5 Class Documentation
5.1 ac2lsl::ac2lsl_t Class Reference
Plugin class of ac2lsl (p. 78).
Inheritance diagram for ac2lsl::ac2lsl_t:
ac2lsl::ac2lsl_t
MHAPlugin::plugin_t
< cfg_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< cfg_t >
© 2005-2019 HörTech gGmbH, Oldenburg
5.1 ac2lsl::ac2lsl_t Class Reference 131
Public Member Functions
ac2lsl_t (algo_comm_t iac, const char chain, const char algo)
void prepare (mhaconfig_t &)
Prepare constructs the vector of bridge variables and locks the configuration, then calls up-
date() (p. 133).
mha_wave_t process (mha_wave_t s)
Processing fct for waveforms.
mha_spec_t process (mha_spec_t s)
Processing fct for spectra.
void process ()
Process function.
void release ()
Release fct.
Private Member Functions
• std::vector<std::string >get_all_names_from_ac_space (const algo_comm_t &ac)
const
Retrieves all variable names from the AC space.
void update ()
Construct new runtime configuration.
Private Attributes
MHAParser::vstring_t vars
MHAParser::string_t source_id
MHAParser::bool_t rt_strict
MHAParser::bool_t activate
MHAParser::int_t skip
MHAEvents::patchbay_t<ac2lsl_t >patchbay
bool is_first_run
Additional Inherited Members
5.1.1 Detailed Description
Plugin class of ac2lsl (p. 78).
© 2005-2019 HörTech gGmbH, Oldenburg
132 CONTENTS
5.1.2 Constructor & Destructor Documentation
5.1.2.1 ac2lsl::ac2lsl_t::ac2lsl_t (
algo_comm_t iac,
const char chain,
const char algo )
5.1.3 Member Function Documentation
5.1.3.1 void ac2lsl::ac2lsl_t::prepare (
mhaconfig_t &cf )[virtual]
Prepare constructs the vector of bridge variables and locks the configuration, then calls up-
date() (p. 133).
Implements MHAPlugin::plugin_t<cfg_t >(p. 730).
5.1.3.2 mha_wave_tac2lsl::ac2lsl_t::process (
mha_wave_t s)[inline]
Processing fct for waveforms.
Calls process(void) (p. 132).
5.1.3.3 mha_spec_tac2lsl::ac2lsl_t::process (
mha_spec_t s)[inline]
Processing fct for spectra.
Calls process(void) (p. 132).
5.1.3.4 void ac2lsl::ac2lsl_t::process (
void )
Process function.
Checks once if the plugin is run in a real-time thread and throws if rt_strict is true, then forwards
to cfg_t::process() (p. 135).
5.1.3.5 void ac2lsl::ac2lsl_t::release ( ) [virtual]
Release fct.
Unlocks variable name list
Reimplemented from MHAPlugin::plugin_t<cfg_t >(p. 731).
5.1.3.6 std::vector<std::string >ac2lsl::ac2lsl_t::get_all_names_from_ac_space (
const algo_comm_t &ac ) const [private]
Retrieves all variable names from the AC space.
© 2005-2019 HörTech gGmbH, Oldenburg
5.2 ac2lsl::cfg_t Class Reference 133
Parameters
ac AC space
Returns
Vector of variable names
5.1.3.7 void ac2lsl::ac2lsl_t::update ( ) [private]
Construct new runtime configuration.
5.1.4 Member Data Documentation
5.1.4.1 MHAParser::vstring_t ac2lsl::ac2lsl_t::vars [private]
5.1.4.2 MHAParser::string_t ac2lsl::ac2lsl_t::source_id [private]
5.1.4.3 MHAParser::bool_t ac2lsl::ac2lsl_t::rt_strict [private]
5.1.4.4 MHAParser::bool_t ac2lsl::ac2lsl_t::activate [private]
5.1.4.5 MHAParser::int_t ac2lsl::ac2lsl_t::skip [private]
5.1.4.6 MHAEvents::patchbay_t<ac2lsl_t>ac2lsl::ac2lsl_t::patchbay [private]
5.1.4.7 bool ac2lsl::ac2lsl_t::is_first_run [private]
The documentation for this class was generated from the following file:
ac2lsl.cpp
5.2 ac2lsl::cfg_t Class Reference
Runtime configuration class of the ac2lsl (p. 78) plugin.
Public Member Functions
cfg_t (const algo_comm_t &ac_, unsigned skip_, const std::string &source_id, const
std::vector<std::string >&varnames_, double rate)
C'tor of ac2lsl (p. 78) run time configuration.
void process ()
© 2005-2019 HörTech gGmbH, Oldenburg
134 CONTENTS
Private Member Functions
void create_or_replace_var (const std::string &name, const comm_var_t &v)
void check_vars ()
void update_varlist ()
Private Attributes
• std::map<std::string, std::unique_ptr<save_var_base_t > > varlist
Maps variable name to unique ptr's of ac to lsl bridges.
unsigned skipcnt
Counter of frames to skip.
const unsigned skip
Number of frames to skip after each send.
const double srate
Sampling rate of the stream.
const std::string source_id
User configurable source id.
const algo_comm_t &ac
Handle to the ac space.
5.2.1 Detailed Description
Runtime configuration class of the ac2lsl (p. 78) plugin.
5.2.2 Constructor & Destructor Documentation
5.2.2.1 cfg_t::cfg_t (
const algo_comm_t &ac_,
unsigned skip_,
const std::string & source_id,
const std::vector<std::string >&varnames_,
double rate )
C'tor of ac2lsl (p. 78) run time configuration.
Parameters
ac_ AC space, source of data to send over LSL
skip_ Number of frames to skip after each send
source_-
id_
LSL identifier for this data stream
varnames-
_
Names of AC variables to send over LSL
rate Rate with wich chunks of data are sent to the LSL stream. Usually the rate
with which process calls happen, but may be lower due to the subsampling
caused by skip_
© 2005-2019 HörTech gGmbH, Oldenburg
5.2 ac2lsl::cfg_t Class Reference 135
5.2.3 Member Function Documentation
5.2.3.1 void cfg_t::create_or_replace_var (
const std::string & name,
const comm_var_t &v)[private]
5.2.3.2 void ac2lsl::cfg_t::check_vars ( ) [private]
5.2.3.3 void cfg_t::update_varlist ( ) [private]
5.2.3.4 void cfg_t::process (
void )
5.2.4 Member Data Documentation
5.2.4.1 std::map<std::string, std::unique_ptr<save_var_base_t> > ac2lsl::cfg_t::varlist
[private]
Maps variable name to unique ptr's of ac to lsl bridges.
5.2.4.2 unsigned ac2lsl::cfg_t::skipcnt [private]
Counter of frames to skip.
5.2.4.3 const unsigned ac2lsl::cfg_t::skip [private]
Number of frames to skip after each send.
5.2.4.4 const double ac2lsl::cfg_t::srate [private]
Sampling rate of the stream.
5.2.4.5 const std::string ac2lsl::cfg_t::source_id [private]
User configurable source id.
5.2.4.6 const algo_comm_t& ac2lsl::cfg_t::ac [private]
Handle to the ac space.
The documentation for this class was generated from the following file:
ac2lsl.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
136 CONTENTS
5.3 ac2lsl::save_var_base_t Class Reference
Interface for ac to lsl bridge variable.
Inheritance diagram for ac2lsl::save_var_base_t:
ac2lsl::save_var_base_t
ac2lsl::save_var_t< T > ac2lsl::save_var_t
< mha_complex_t >
Public Member Functions
virtual void send_frame ()=0
virtual void get_buf_address () const noexcept=0
virtual void set_buf_address (void data)=0
virtual lsl::stream_info info () const noexcept=0
virtual unsigned data_type () const noexcept=0
virtual unsigned num_entries () const noexcept=0
virtual save_var_base_t ()=default
5.3.1 Detailed Description
Interface for ac to lsl bridge variable.
5.3.2 Constructor & Destructor Documentation
5.3.2.1 virtual ac2lsl::save_var_base_t::save_var_base_t ( ) [virtual],[default]
5.3.3 Member Function Documentation
5.3.3.1 virtual void ac2lsl::save_var_base_t::send_frame ( ) [pure virtual]
Implemented in ac2lsl::save_var_t<mha_complex_t >(p. 143), and ac2lsl::save_var_t<
T>(p. 140).
© 2005-2019 HörTech gGmbH, Oldenburg
5.4 ac2lsl::save_var_t<T>Class Template Reference 137
5.3.3.2 virtual voidac2lsl::save_var_base_t::get_buf_address ( ) const [pure virtual],
[noexcept]
Implemented in ac2lsl::save_var_t<mha_complex_t >(p. 142), and ac2lsl::save_var_t<
T>(p. 139).
5.3.3.3 virtual void ac2lsl::save_var_base_t::set_buf_address (
void data )[pure virtual]
Implemented in ac2lsl::save_var_t<mha_complex_t >(p. 142), and ac2lsl::save_var_t<
T>(p. 139).
5.3.3.4 virtual lsl::stream_info ac2lsl::save_var_base_t::info ( ) const [pure virtual],
[noexcept]
Implemented in ac2lsl::save_var_t<mha_complex_t >(p. 142), and ac2lsl::save_var_t<
T>(p. 139).
5.3.3.5 virtual unsigned ac2lsl::save_var_base_t::data_type ( ) const [pure virtual],
[noexcept]
Implemented in ac2lsl::save_var_t<mha_complex_t >(p. 142), and ac2lsl::save_var_t<
T>(p. 140).
5.3.3.6 virtual unsigned ac2lsl::save_var_base_t::num_entries ( ) const [pure virtual],
[noexcept]
Implemented in ac2lsl::save_var_t<mha_complex_t >(p. 142), and ac2lsl::save_var_t<
T>(p. 139).
The documentation for this class was generated from the following file:
ac2lsl.cpp
5.4 ac2lsl::save_var_t<T>Class Template Reference
Implementation for all ac to lsl bridges except complex types.
Inheritance diagram for ac2lsl::save_var_t<T>:
ac2lsl::save_var_t< T >
ac2lsl::save_var_base_t
© 2005-2019 HörTech gGmbH, Oldenburg
138 CONTENTS
Public Member Functions
save_var_t (const std::string &name_, const std::string &type_, unsigned num_entries_,
const mha_real_t rate_, const lsl::channel_format_t format_, const std::string &source-
_id_, void data_, const unsigned data_type_)
C'tor of generic ac to lsl bridge.
virtual void get_buf_address () const noexceptoverride
Get buffer address as void pointer.
virtual void set_buf_address (void data) override
Cast the input pointer to the appropriate type and set the buffer address.
virtual lsl::stream_info info () const noexceptoverride
Get stream info object from stream outlet.
virtual unsigned num_entries () const noexceptoverride
Get number of entries in the stream object.
virtual unsigned data_type () const noexceptoverride
Get data type id according MHA convention.
virtual save_var_t ()=default
virtual void send_frame () override
Send a frame to lsl.
Private Attributes
lsl::stream_outlet stream
LSL stream outlet.
T buf
Pointer to data buffer of the ac variable.
const unsigned data_type_
Data type id according to MHA convention.
5.4.1 Detailed Description
template<typename T>
class ac2lsl::save_var_t<T>
Implementation for all ac to lsl bridges except complex types.
5.4.2 Constructor & Destructor Documentation
5.4.2.1 template<typename T >ac2lsl::save_var_t<T>::save_var_t (
const std::string & name_,
const std::string & type_,
unsigned num_entries_,
const mha_real_t rate_,
const lsl::channel_format_t format_,
const std::string & source_id_,
void data_,
const unsigned data_type_ )[inline]
C'tor of generic ac to lsl bridge.
© 2005-2019 HörTech gGmbH, Oldenburg
5.4 ac2lsl::save_var_t<T>Class Template Reference 139
Parameters
info LSL stream info object containing metadata
data Pointer to data buffer of the ac variable
data_type Type id of the stream, in mha convention. Should be set to one if not a vector.
5.4.2.2 template<typename T >virtual ac2lsl::save_var_t<T>::save_var_t ( ) [virtual],
[default]
5.4.3 Member Function Documentation
5.4.3.1 template<typename T >virtual voidac2lsl::save_var_t<T>::get_buf_address ( ) const
[inline],[override],[virtual],[noexcept]
Get buffer address as void pointer.
Returns
Adress of the data buffer
Implements ac2lsl::save_var_base_t (p. 137).
5.4.3.2 template<typename T >virtual void ac2lsl::save_var_t<T>::set_buf_address (
void data )[inline],[override],[virtual]
Cast the input pointer to the appropriate type and set the buffer address.
Parameters
data New buffer address
Implements ac2lsl::save_var_base_t (p. 137).
5.4.3.3 template<typename T >virtual lsl::stream_info ac2lsl::save_var_t<T>::info ( ) const
[inline],[override],[virtual],[noexcept]
Get stream info object from stream outlet.
Implements ac2lsl::save_var_base_t (p. 137).
5.4.3.4 template<typename T >virtual unsigned ac2lsl::save_var_t<T>::num_entries ( ) const
[inline],[override],[virtual],[noexcept]
Get number of entries in the stream object.
Implements ac2lsl::save_var_base_t (p. 137).
© 2005-2019 HörTech gGmbH, Oldenburg
140 CONTENTS
5.4.3.5 template<typename T >virtual unsigned ac2lsl::save_var_t<T>::data_type ( ) const
[inline],[override],[virtual],[noexcept]
Get data type id according MHA convention.
Implements ac2lsl::save_var_base_t (p. 137).
5.4.3.6 template<typename T >virtual void ac2lsl::save_var_t<T>::send_frame ( ) [inline],
[override],[virtual]
Send a frame to lsl.
Implements ac2lsl::save_var_base_t (p. 136).
5.4.4 Member Data Documentation
5.4.4.1 template<typename T >lsl::stream_outlet ac2lsl::save_var_t<T>::stream [private]
LSL stream outlet.
Interface to lsl
5.4.4.2 template<typename T >Tac2lsl::save_var_t<T>::buf [private]
Pointer to data buffer of the ac variable.
5.4.4.3 template<typename T >const unsigned ac2lsl::save_var_t<T>::data_type_
[private]
Data type id according to MHA convention.
The documentation for this class was generated from the following file:
ac2lsl.cpp
5.5 ac2lsl::save_var_t<mha_complex_t >Class Template Reference
Template specialization of the ac2lsl (p. 78) bridge to take care of complex numbers.
Inheritance diagram for ac2lsl::save_var_t<mha_complex_t >:
ac2lsl::save_var_t
< mha_complex_t >
ac2lsl::save_var_base_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.5 ac2lsl::save_var_t<mha_complex_t >Class Template
Reference 141
Public Member Functions
save_var_t (const std::string &name_, const std::string &type_, const unsigned num_-
entries_, const mha_real_t rate_, const lsl::channel_format_t format_, const std::string
&source_id_, void data_)
C'tor of specialization for complex types.
virtual void get_buf_address () const noexceptoverride
virtual void set_buf_address (void data) override
virtual lsl::stream_info info () const noexceptoverride
Get buffer address as void pointer.
virtual unsigned num_entries () const noexceptoverride
Get number of entries in the stream object.
virtual unsigned data_type () const noexceptoverride
Cast the input pointer to the appropriate type and set the buffer address.
virtual save_var_t ()=default
virtual void send_frame () override
Send a frame of complex types.
Private Attributes
lsl::stream_outlet stream
LSL stream outlet.
mha_complex_t buf
Pointer to data buffer of the ac variable.
5.5.1 Detailed Description
template<>
class ac2lsl::save_var_t<mha_complex_t >
Template specialization of the ac2lsl (p. 78) bridge to take care of complex numbers.
This specialization is needed because lsl does not support complex numbers. Order is [re(0),
im(0), re(1), im(1), ....]
5.5.2 Constructor & Destructor Documentation
5.5.2.1 ac2lsl::save_var_t<mha_complex_t >::save_var_t (
const std::string & name_,
const std::string & type_,
const unsigned num_entries_,
const mha_real_t rate_,
const lsl::channel_format_t format_,
const std::string & source_id_,
void data_ )[inline]
C'tor of specialization for complex types.
See generic c'tor for details.
© 2005-2019 HörTech gGmbH, Oldenburg
142 CONTENTS
5.5.2.2 virtual ac2lsl::save_var_t<mha_complex_t >::save_var_t ( ) [virtual],
[default]
5.5.3 Member Function Documentation
5.5.3.1 virtual voidac2lsl::save_var_t<mha_complex_t >::get_buf_address ( ) const
[inline],[override],[virtual],[noexcept]
Implements ac2lsl::save_var_base_t (p. 137).
5.5.3.2 virtual void ac2lsl::save_var_t<mha_complex_t >::set_buf_address (
void data )[inline],[override],[virtual]
Implements ac2lsl::save_var_base_t (p. 137).
5.5.3.3 virtual lsl::stream_info ac2lsl::save_var_t<mha_complex_t >::info ( ) const
[inline],[override],[virtual],[noexcept]
Get buffer address as void pointer.
Returns
Adress of the data buffer
Implements ac2lsl::save_var_base_t (p. 137).
5.5.3.4 virtual unsigned ac2lsl::save_var_t<mha_complex_t >::num_entries ( ) const
[inline],[override],[virtual],[noexcept]
Get number of entries in the stream object.
Implements ac2lsl::save_var_base_t (p. 137).
5.5.3.5 virtual unsigned ac2lsl::save_var_t<mha_complex_t >::data_type ( ) const
[inline],[override],[virtual],[noexcept]
Cast the input pointer to the appropriate type and set the buffer address.
Parameters
data New buffer address
Implements ac2lsl::save_var_base_t (p. 137).
© 2005-2019 HörTech gGmbH, Oldenburg
5.6 ac2lsl::type_info Struct Reference 143
5.5.3.6 virtual void ac2lsl::save_var_t<mha_complex_t >::send_frame ( ) [inline],
[override],[virtual]
Send a frame of complex types.
Complex numbers are stored as alternating real and imaginary parts. An array of complex
numbers in memory can be reinterpreted as a vector of real numbers that correspond to real
and imaginary parts. LSL does not support complex types directly. Send one vector containing
{buf[0].re,buf[0].im,buf[1].re,buf[1].im,...} instead.
Implements ac2lsl::save_var_base_t (p. 136).
5.5.4 Member Data Documentation
5.5.4.1 lsl::stream_outlet ac2lsl::save_var_t<mha_complex_t >::stream [private]
LSL stream outlet.
Interface to lsl
5.5.4.2 mha_complex_tac2lsl::save_var_t<mha_complex_t >::buf [private]
Pointer to data buffer of the ac variable.
The documentation for this class was generated from the following file:
ac2lsl.cpp
5.6 ac2lsl::type_info Struct Reference
Public Attributes
const std::string name
const lsl::channel_format_t format
5.6.1 Member Data Documentation
5.6.1.1 const std::string ac2lsl::type_info::name
5.6.1.2 const lsl::channel_format_t ac2lsl::type_info::format
The documentation for this struct was generated from the following file:
ac2lsl.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
144 CONTENTS
5.7 ac2osc_t Class Reference
Plugin class of the ac2osc plugin.
Inheritance diagram for ac2osc_t:
ac2osc_t
MHAPlugin::plugin_t
< int >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< int >
Public Member Functions
ac2osc_t (algo_comm_t iac, const char chain, const char algo)
C'tor of plugin class.
void prepare (mhaconfig_t &)
mha_wave_t process (mha_wave_t s)
Processing fct for waveforms.
mha_spec_t process (mha_spec_t s)
Processing fct for spectra.
void process ()
Process function.
void release ()
Release frees osc related memory, does cleanup.
Private Member Functions
void send_osc_float ()
void update_mode ()
Start/Stop sending of messages.
© 2005-2019 HörTech gGmbH, Oldenburg
5.7 ac2osc_t Class Reference 145
Private Attributes
MHAParser::string_t host
OSC server host name.
MHAParser::string_t port
OSC server port.
MHAParser::int_t ttl
Time-to-live of UDP packages.
MHAParser::vstring_t vars
List of AC variables to be saved, empty for all.
MHAParser::kw_t mode
Record mode.
MHAParser::int_t skip
number of frames to skip after sending
MHAParser::bool_t rt_strict
abort if used in real-time thread?
MHA_AC::acspace2matrix_t acspace
MHAEvents::patchbay_t<ac2osc_t >patchbay
bool b_record
uint8_t rtmem
float framerate
int skipcnt
lo_address lo_addr
bool is_first_run
Additional Inherited Members
5.7.1 Detailed Description
Plugin class of the ac2osc plugin.
5.7.2 Constructor & Destructor Documentation
5.7.2.1 ac2osc_t::ac2osc_t (
algo_comm_t iac,
const char chain,
const char algo )
C'tor of plugin class.
© 2005-2019 HörTech gGmbH, Oldenburg
146 CONTENTS
5.7.3 Member Function Documentation
5.7.3.1 void ac2osc_t::prepare (
mhaconfig_t &cf )[virtual]
Implements MHAPlugin::plugin_t<int >(p. 730).
5.7.3.2 mha_wave_tac2osc_t::process (
mha_wave_t s)[inline]
Processing fct for waveforms.
Calls process(void) (p. 146).
5.7.3.3 mha_spec_tac2osc_t::process (
mha_spec_t s)[inline]
Processing fct for spectra.
Calls process(void) (p. 146).
5.7.3.4 void ac2osc_t::process (
void )
Process function.
Checks once if the plugin is run in a real-time thread and throws if rt_strict is true, sends osc
messages according to config.
5.7.3.5 void ac2osc_t::release (
void ) [virtual]
Release frees osc related memory, does cleanup.
Reimplemented from MHAPlugin::plugin_t<int >(p. 731).
5.7.3.6 void ac2osc_t::send_osc_float ( ) [private]
5.7.3.7 void ac2osc_t::update_mode ( ) [private]
Start/Stop sending of messages.
5.7.4 Member Data Documentation
5.7.4.1 MHAParser::string_t ac2osc_t::host [private]
OSC server host name.
© 2005-2019 HörTech gGmbH, Oldenburg
5.7 ac2osc_t Class Reference 147
5.7.4.2 MHAParser::string_t ac2osc_t::port [private]
OSC server port.
5.7.4.3 MHAParser::int_t ac2osc_t::ttl [private]
Time-to-live of UDP packages.
5.7.4.4 MHAParser::vstring_t ac2osc_t::vars [private]
List of AC variables to be saved, empty for all.
5.7.4.5 MHAParser::kw_t ac2osc_t::mode [private]
Record mode.
5.7.4.6 MHAParser::int_t ac2osc_t::skip [private]
number of frames to skip after sending
5.7.4.7 MHAParser::bool_t ac2osc_t::rt_strict [private]
abort if used in real-time thread?
5.7.4.8 MHA_AC::acspace2matrix_tac2osc_t::acspace [private]
5.7.4.9 MHAEvents::patchbay_t<ac2osc_t>ac2osc_t::patchbay [private]
5.7.4.10 bool ac2osc_t::b_record [private]
5.7.4.11 uint8_tac2osc_t::rtmem [private]
5.7.4.12 float ac2osc_t::framerate [private]
5.7.4.13 int ac2osc_t::skipcnt [private]
5.7.4.14 lo_address ac2osc_t::lo_addr [private]
5.7.4.15 bool ac2osc_t::is_first_run [private]
The documentation for this class was generated from the following file:
ac2osc.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
148 CONTENTS
5.8 ac2wave_if_t Class Reference
Inheritance diagram for ac2wave_if_t:
ac2wave_if_t
MHAPlugin::plugin_t
< ac2wave_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< ac2wave_t >
Public Member Functions
ac2wave_if_t (const algo_comm_t &, const std::string &, const std::string &)
mha_wave_t process (mha_spec_t )
mha_wave_t process (mha_wave_t )
void prepare (mhaconfig_t &)
void release ()
Private Member Functions
void update ()
Private Attributes
MHAParser::string_t name
MHAParser::float_t gain_in
MHAParser::float_t gain_ac
MHAParser::int_t delay_in
MHAParser::int_t delay_ac
MHASignal::waveform_t zeros
bool prepared
MHAEvents::patchbay_t<ac2wave_if_t >patchbay
© 2005-2019 HörTech gGmbH, Oldenburg
5.8 ac2wave_if_t Class Reference 149
Additional Inherited Members
5.8.1 Constructor & Destructor Documentation
5.8.1.1 ac2wave_if_t::ac2wave_if_t (
const algo_comm_t &iac,
const std::string & ith,
const std::string & ial )
5.8.2 Member Function Documentation
5.8.2.1 mha_wave_t ac2wave_if_t::process (
mha_spec_t )
5.8.2.2 mha_wave_t ac2wave_if_t::process (
mha_wave_t s)
5.8.2.3 void ac2wave_if_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<ac2wave_t >(p. 730).
5.8.2.4 void ac2wave_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<ac2wave_t >(p. 731).
5.8.2.5 void ac2wave_if_t::update ( ) [private]
5.8.3 Member Data Documentation
5.8.3.1 MHAParser::string_t ac2wave_if_t::name [private]
5.8.3.2 MHAParser::float_t ac2wave_if_t::gain_in [private]
5.8.3.3 MHAParser::float_t ac2wave_if_t::gain_ac [private]
5.8.3.4 MHAParser::int_t ac2wave_if_t::delay_in [private]
5.8.3.5 MHAParser::int_t ac2wave_if_t::delay_ac [private]
5.8.3.6 MHASignal::waveform_tac2wave_if_t::zeros [private]
5.8.3.7 bool ac2wave_if_t::prepared [private]
5.8.3.8 MHAEvents::patchbay_t<ac2wave_if_t>ac2wave_if_t::patchbay [private]
The documentation for this class was generated from the following file:
ac2wave.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
150 CONTENTS
5.9 ac2wave_t Class Reference
Public Member Functions
ac2wave_t (unsigned int frames_, unsigned int channels_, algo_comm_t ac_, std::string
name_, float gain_in_, float gain_ac_, unsigned int delay_in_, unsigned int delay_ac_)
mha_wave_t process (mha_wave_t )
Private Attributes
unsigned int frames
unsigned int channels
mha_wave_t w
algo_comm_t ac
std::string name
MHASignal::delay_wave_t delay_in
MHASignal::delay_wave_t delay_ac
mha_real_t gain_in
mha_real_t gain_ac
5.9.1 Constructor & Destructor Documentation
5.9.1.1 ac2wave_t::ac2wave_t (
unsigned int frames_,
unsigned int channels_,
algo_comm_t ac_,
std::string name_,
float gain_in_,
float gain_ac_,
unsigned int delay_in_,
unsigned int delay_ac_ )
5.9.2 Member Function Documentation
5.9.2.1 mha_wave_t ac2wave_t::process (
mha_wave_t s)
5.9.3 Member Data Documentation
5.9.3.1 unsigned int ac2wave_t::frames [private]
5.9.3.2 unsigned int ac2wave_t::channels [private]
5.9.3.3 mha_wave_t ac2wave_t::w [private]
© 2005-2019 HörTech gGmbH, Oldenburg
5.10 acConcat_wave Class Reference 151
5.9.3.4 algo_comm_t ac2wave_t::ac [private]
5.9.3.5 std::string ac2wave_t::name [private]
5.9.3.6 MHASignal::delay_wave_t ac2wave_t::delay_in [private]
5.9.3.7 MHASignal::delay_wave_t ac2wave_t::delay_ac [private]
5.9.3.8 mha_real_t ac2wave_t::gain_in [private]
5.9.3.9 mha_real_t ac2wave_t::gain_ac [private]
The documentation for this class was generated from the following file:
ac2wave.cpp
5.10 acConcat_wave Class Reference
Inheritance diagram for acConcat_wave:
acConcat_wave
MHAPlugin::plugin_t
< acConcat_wave_config >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< acConcat_wave_config >
© 2005-2019 HörTech gGmbH, Oldenburg
152 CONTENTS
Public Member Functions
acConcat_wave (algo_comm_t &ac, const std::string &chain_name, const std::string
&algo_name)
Constructs our plugin.
acConcat_wave ()
mha_wave_t process (mha_wave_t )
Checks for the most recent configuration and defers processing to it.
void prepare (mhaconfig_t &)
Plugin preparation.
void release (void)
Public Attributes
MHAParser::int_t num_AC
MHAParser::string_t prefix_names_AC
MHAParser::vint_t samples_AC
MHAParser::string_t name_con_AC
MHAParser::int_t numchannels
Private Member Functions
void update_cfg ()
Private Attributes
MHAEvents::patchbay_t<acConcat_wave >patchbay
Additional Inherited Members
5.10.1 Constructor & Destructor Documentation
5.10.1.1 acConcat_wave::acConcat_wave (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
© 2005-2019 HörTech gGmbH, Oldenburg
5.10 acConcat_wave Class Reference 153
5.10.1.2 acConcat_wave::acConcat_wave ( )
5.10.2 Member Function Documentation
5.10.2.1 mha_wave_t acConcat_wave::process (
mha_wave_t signal )
Checks for the most recent configuration and defers processing to it.
5.10.2.2 void acConcat_wave::prepare (
mhaconfig_t &signal_info )[virtual]
Plugin preparation.
An opportunity to validate configuration parameters before instantiating a configuration.
Parameters
signal_info Structure containing a description of the form of the signal (domain, number of
channels, frames per block, sampling rate.
Implements MHAPlugin::plugin_t<acConcat_wave_config >(p. 730).
5.10.2.3 void acConcat_wave::release (
void ) [inline],[virtual]
Reimplemented from MHAPlugin::plugin_t<acConcat_wave_config >(p. 731).
5.10.2.4 void acConcat_wave::update_cfg ( ) [private]
5.10.3 Member Data Documentation
5.10.3.1 MHAParser::int_t acConcat_wave::num_AC
5.10.3.2 MHAParser::string_t acConcat_wave::prefix_names_AC
5.10.3.3 MHAParser::vint_t acConcat_wave::samples_AC
5.10.3.4 MHAParser::string_t acConcat_wave::name_con_AC
5.10.3.5 MHAParser::int_t acConcat_wave::numchannels
5.10.3.6 MHAEvents::patchbay_t<acConcat_wave>acConcat_wave::patchbay [private]
The documentation for this class was generated from the following files:
acConcat_wave.h
acConcat_wave.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
154 CONTENTS
5.11 acConcat_wave_config Class Reference
Public Member Functions
acConcat_wave_config (algo_comm_t &ac, const mhaconfig_t in_cfg, acConcat_-
wave _concat)
acConcat_wave_config ()
mha_wave_t process (mha_wave_t )
Public Attributes
algo_comm_t &ac
• std::vector<std::string >strNames_AC
• std::vector<int >numSamples_AC
mha_wave_t vGCC
MHA_AC::waveform_t vGCC_con
5.11.1 Constructor & Destructor Documentation
5.11.1.1 acConcat_wave_config::acConcat_wave_config (
algo_comm_t &ac,
const mhaconfig_t in_cfg,
acConcat_wave _concat )
5.11.1.2 acConcat_wave_config::acConcat_wave_config ( )
5.11.2 Member Function Documentation
5.11.2.1 mha_wave_t acConcat_wave_config::process (
mha_wave_t wave )
5.11.3 Member Data Documentation
5.11.3.1 algo_comm_t& acConcat_wave_config::ac
5.11.3.2 std::vector<std::string>acConcat_wave_config::strNames_AC
5.11.3.3 std::vector<int>acConcat_wave_config::numSamples_AC
5.11.3.4 mha_wave_t acConcat_wave_config::vGCC
5.11.3.5 MHA_AC::waveform_tacConcat_wave_config::vGCC_con
The documentation for this class was generated from the following files:
acConcat_wave.h
acConcat_wave.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.12 acmon::ac_monitor_t Class Reference 155
5.12 acmon::ac_monitor_t Class Reference
A class for converting AC variables to Parser monitors of correct type.
Public Member Functions
ac_monitor_t (MHAParser::parser_t &parent, const std::string &name_, algo_comm-
_t ac, bool use_matrix)
Converts AC variable to parser monitor.
void getvar (algo_comm_t ac)
Update values of monitor.
Public Attributes
std::string name
name of AC variable and parser monitor
std::string dimstr
columns x rows
MHAParser::vfloat_mon_t mon
Monitor used for real vectors.
MHAParser::mfloat_mon_t mon_mat
Monitor used for real matrices.
MHAParser::vcomplex_mon_t mon_complex
monitor used for complex vectors
MHAParser::mcomplex_mon_t mon_mat_complex
monitor used for complex matrices
MHAParser::parser_t &p_parser
parent parser to insert monitor into
Private Attributes
bool use_mat
if true, use matrix monitor, else use vector monitor
5.12.1 Detailed Description
A class for converting AC variables to Parser monitors of correct type.
5.12.2 Constructor & Destructor Documentation
5.12.2.1 acmon::ac_monitor_t::ac_monitor_t (
MHAParser::parser_t &parent,
const std::string & name_,
algo_comm_t ac,
bool use_matrix )
Converts AC variable to parser monitor.
© 2005-2019 HörTech gGmbH, Oldenburg
156 CONTENTS
Parameters
parent The parser to insert a monitor into
name_ The name of the AC variable and the monitor variable
ac Handle to algorithm communication space
use_matrix Indicates if a matrix monitor type should be used.
5.12.3 Member Function Documentation
5.12.3.1 void acmon::ac_monitor_t::getvar (
algo_comm_t ac )
Update values of monitor.
Parameters
ac Handle to algorithm communication space
5.12.4 Member Data Documentation
5.12.4.1 std::string acmon::ac_monitor_t::name
name of AC variable and parser monitor
5.12.4.2 std::string acmon::ac_monitor_t::dimstr
columns x rows
5.12.4.3 MHAParser::vfloat_mon_t acmon::ac_monitor_t::mon
Monitor used for real vectors.
5.12.4.4 MHAParser::mfloat_mon_t acmon::ac_monitor_t::mon_mat
Monitor used for real matrices.
5.12.4.5 MHAParser::vcomplex_mon_t acmon::ac_monitor_t::mon_complex
monitor used for complex vectors
© 2005-2019 HörTech gGmbH, Oldenburg
5.13 acmon::acmon_t Class Reference 157
5.12.4.6 MHAParser::mcomplex_mon_t acmon::ac_monitor_t::mon_mat_complex
monitor used for complex matrices
5.12.4.7 MHAParser::parser_t& acmon::ac_monitor_t::p_parser
parent parser to insert monitor into
5.12.4.8 bool acmon::ac_monitor_t::use_mat [private]
if true, use matrix monitor, else use vector monitor
The documentation for this class was generated from the following files:
ac_monitor_type.hh
ac_monitor_type.cpp
5.13 acmon::acmon_t Class Reference
Inheritance diagram for acmon::acmon_t:
acmon::acmon_t
MHAPlugin::plugin_t
< int >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< int >
© 2005-2019 HörTech gGmbH, Oldenburg
158 CONTENTS
Public Member Functions
acmon_t (const algo_comm_t &, const std::string &, const std::string &)
acmon_t ()
void prepare (mhaconfig_t &)
void release ()
mha_spec_t process (mha_spec_t )
mha_wave_t process (mha_wave_t )
Private Member Functions
void save_vars ()
void update_recmode ()
Private Attributes
algo_comm_t ac
MHAParser::vstring_mon_t varlist
MHAParser::vstring_mon_t dimensions
MHAParser::kw_t dispmode
MHAParser::kw_t recmode
• std::vector<ac_monitor_t >vars
MHAEvents::patchbay_t<acmon_t >patchbay
std::string chain
std::string algo
bool b_cont
bool b_snapshot
Additional Inherited Members
5.13.1 Constructor & Destructor Documentation
5.13.1.1 acmon::acmon_t::acmon_t (
const algo_comm_t &iac,
const std::string & ith,
const std::string & ial )
5.13.1.2 acmon::acmon_t::acmon_t (
void )
5.13.2 Member Function Documentation
5.13.2.1 void acmon::acmon_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<int >(p. 730).
© 2005-2019 HörTech gGmbH, Oldenburg
5.13 acmon::acmon_t Class Reference 159
5.13.2.2 void acmon::acmon_t::release (
void ) [inline],[virtual]
Reimplemented from MHAPlugin::plugin_t<int >(p. 731).
5.13.2.3 mha_spec_t acmon::acmon_t::process (
mha_spec_t s)
5.13.2.4 mha_wave_t acmon::acmon_t::process (
mha_wave_t s)
5.13.2.5 void acmon::acmon_t::save_vars ( ) [private]
5.13.2.6 void acmon::acmon_t::update_recmode ( ) [private]
5.13.3 Member Data Documentation
5.13.3.1 algo_comm_t acmon::acmon_t::ac [private]
5.13.3.2 MHAParser::vstring_mon_t acmon::acmon_t::varlist [private]
5.13.3.3 MHAParser::vstring_mon_t acmon::acmon_t::dimensions [private]
5.13.3.4 MHAParser::kw_t acmon::acmon_t::dispmode [private]
5.13.3.5 MHAParser::kw_t acmon::acmon_t::recmode [private]
5.13.3.6 std::vector<ac_monitor_t>acmon::acmon_t::vars [private]
5.13.3.7 MHAEvents::patchbay_t<acmon_t>acmon::acmon_t::patchbay [private]
5.13.3.8 std::string acmon::acmon_t::chain [private]
5.13.3.9 std::string acmon::acmon_t::algo [private]
5.13.3.10 bool acmon::acmon_t::b_cont [private]
5.13.3.11 bool acmon::acmon_t::b_snapshot [private]
The documentation for this class was generated from the following file:
acmon.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
160 CONTENTS
5.14 acPooling_wave Class Reference
Inheritance diagram for acPooling_wave:
acPooling_wave
MHAPlugin::plugin_t
< acPooling_wave_config >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< acPooling_wave_config >
Public Member Functions
acPooling_wave (algo_comm_t &ac, const std::string &chain_name, const std::string
&algo_name)
Constructs our plugin.
acPooling_wave ()
mha_wave_t process (mha_wave_t )
Checks for the most recent configuration and defers processing to it.
void prepare (mhaconfig_t &)
Plugin preparation.
void release (void)
Public Attributes
MHAParser::int_t numsamples
MHAParser::int_t pooling_wndlen
MHAParser::kw_t pooling_type
MHAParser::float_t upper_threshold
MHAParser::float_t lower_threshold
MHAParser::int_t neighbourhood
© 2005-2019 HörTech gGmbH, Oldenburg
5.14 acPooling_wave Class Reference 161
MHAParser::float_t alpha
MHAParser::string_t p_name
MHAParser::string_t p_biased_name
MHAParser::string_t pool_name
MHAParser::string_t max_pool_ind_name
MHAParser::string_t like_ratio_name
MHAParser::vfloat_t prob_bias
Private Member Functions
void update_cfg ()
Private Attributes
MHAEvents::patchbay_t<acPooling_wave >patchbay
Additional Inherited Members
5.14.1 Constructor & Destructor Documentation
5.14.1.1 acPooling_wave::acPooling_wave (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
5.14.1.2 acPooling_wave::acPooling_wave ( )
5.14.2 Member Function Documentation
5.14.2.1 mha_wave_t acPooling_wave::process (
mha_wave_t signal )
Checks for the most recent configuration and defers processing to it.
5.14.2.2 void acPooling_wave::prepare (
mhaconfig_t &signal_info )[virtual]
Plugin preparation.
An opportunity to validate configuration parameters before instantiating a configuration.
© 2005-2019 HörTech gGmbH, Oldenburg
162 CONTENTS
Parameters
signal_info Structure containing a description of the form of the signal (domain, number of
channels, frames per block, sampling rate.
Implements MHAPlugin::plugin_t<acPooling_wave_config >(p. 730).
5.14.2.3 void acPooling_wave::release (
void ) [inline],[virtual]
Reimplemented from MHAPlugin::plugin_t<acPooling_wave_config >(p. 731).
5.14.2.4 void acPooling_wave::update_cfg ( ) [private]
5.14.3 Member Data Documentation
5.14.3.1 MHAParser::int_t acPooling_wave::numsamples
5.14.3.2 MHAParser::int_t acPooling_wave::pooling_wndlen
5.14.3.3 MHAParser::kw_t acPooling_wave::pooling_type
5.14.3.4 MHAParser::float_t acPooling_wave::upper_threshold
5.14.3.5 MHAParser::float_t acPooling_wave::lower_threshold
5.14.3.6 MHAParser::int_t acPooling_wave::neighbourhood
5.14.3.7 MHAParser::float_t acPooling_wave::alpha
5.14.3.8 MHAParser::string_t acPooling_wave::p_name
5.14.3.9 MHAParser::string_t acPooling_wave::p_biased_name
5.14.3.10 MHAParser::string_t acPooling_wave::pool_name
5.14.3.11 MHAParser::string_t acPooling_wave::max_pool_ind_name
5.14.3.12 MHAParser::string_t acPooling_wave::like_ratio_name
5.14.3.13 MHAParser::vfloat_t acPooling_wave::prob_bias
5.14.3.14 MHAEvents::patchbay_t<acPooling_wave>acPooling_wave::patchbay
[private]
The documentation for this class was generated from the following files:
acPooling_wave.h
acPooling_wave.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.15 acPooling_wave_config Class Reference 163
5.15 acPooling_wave_config Class Reference
Public Member Functions
acPooling_wave_config (algo_comm_t &ac, const mhaconfig_t in_cfg, acPooling-
_wave _pooling)
acPooling_wave_config ()
mha_wave_t process (mha_wave_t )
void insert ()
Public Attributes
algo_comm_t &ac
std::string raw_p_name
MHA_AC::waveform_t p
MHA_AC::waveform_t p_biased
MHA_AC::waveform_t p_max
MHA_AC::waveform_t like_ratio
mha_wave_t c
unsigned int pooling_ind
unsigned int pooling_option
unsigned int pooling_size
float up_thresh
float low_thresh
int neigh
float alpha
MHASignal::waveform_t pool
MHASignal::waveform_t prob_bias_func
5.15.1 Constructor & Destructor Documentation
5.15.1.1 acPooling_wave_config::acPooling_wave_config (
algo_comm_t &ac,
const mhaconfig_t in_cfg,
acPooling_wave _pooling )
5.15.1.2 acPooling_wave_config::acPooling_wave_config ( )
5.15.2 Member Function Documentation
5.15.2.1 mha_wave_t acPooling_wave_config::process (
mha_wave_t wave )
5.15.2.2 void acPooling_wave_config::insert ( )
© 2005-2019 HörTech gGmbH, Oldenburg
164 CONTENTS
5.15.3 Member Data Documentation
5.15.3.1 algo_comm_t& acPooling_wave_config::ac
5.15.3.2 std::string acPooling_wave_config::raw_p_name
5.15.3.3 MHA_AC::waveform_t acPooling_wave_config::p
5.15.3.4 MHA_AC::waveform_t acPooling_wave_config::p_biased
5.15.3.5 MHA_AC::waveform_t acPooling_wave_config::p_max
5.15.3.6 MHA_AC::waveform_t acPooling_wave_config::like_ratio
5.15.3.7 mha_wave_t acPooling_wave_config::c
5.15.3.8 unsigned int acPooling_wave_config::pooling_ind
5.15.3.9 unsigned int acPooling_wave_config::pooling_option
5.15.3.10 unsigned int acPooling_wave_config::pooling_size
5.15.3.11 float acPooling_wave_config::up_thresh
5.15.3.12 float acPooling_wave_config::low_thresh
5.15.3.13 int acPooling_wave_config::neigh
5.15.3.14 float acPooling_wave_config::alpha
5.15.3.15 MHASignal::waveform_t acPooling_wave_config::pool
5.15.3.16 MHASignal::waveform_t acPooling_wave_config::prob_bias_func
The documentation for this class was generated from the following files:
acPooling_wave.h
acPooling_wave.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.16 acsave::acsave_t Class Reference 165
5.16 acsave::acsave_t Class Reference
Inheritance diagram for acsave::acsave_t:
acsave::acsave_t
MHAPlugin::plugin_t
< cfg_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< cfg_t >
Public Member Functions
acsave_t (const algo_comm_t &, const std::string &, const std::string &)
void prepare (mhaconfig_t &)
void release ()
mha_spec_t process (mha_spec_t )
mha_wave_t process (mha_wave_t )
void event_start_recording ()
void event_stop_and_flush ()
Private Types
typedef std::vector<save_var_t >varlist_t
Private Member Functions
void process ()
© 2005-2019 HörTech gGmbH, Oldenburg
166 CONTENTS
Private Attributes
MHAParser::bool_t bflush
MHAParser::kw_t fileformat
MHAParser::string_t fname
MHAParser::float_t reclen
MHAParser::vstring_t variables
varlist_t varlist
std::string chain
std::string algo
bool b_prepared
bool b_flushed
MHAEvents::patchbay_t<acsave_t >patchbay
Additional Inherited Members
5.16.1 Member Typedef Documentation
5.16.1.1 typedef std::vector<save_var_t>acsave::acsave_t::varlist_t [private]
5.16.2 Constructor & Destructor Documentation
5.16.2.1 acsave::acsave_t::acsave_t (
const algo_comm_t &iac,
const std::string & ith,
const std::string & ial )
5.16.3 Member Function Documentation
5.16.3.1 void acsave::acsave_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<cfg_t >(p. 730).
5.16.3.2 void acsave::acsave_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<cfg_t >(p. 731).
© 2005-2019 HörTech gGmbH, Oldenburg
5.16 acsave::acsave_t Class Reference 167
5.16.3.3 mha_spec_t acsave::acsave_t::process (
mha_spec_t s)
5.16.3.4 mha_wave_t acsave::acsave_t::process (
mha_wave_t s)
5.16.3.5 void acsave::acsave_t::event_start_recording ( )
5.16.3.6 void acsave::acsave_t::event_stop_and_flush ( )
5.16.3.7 void acsave::acsave_t::process (
void ) [private]
5.16.4 Member Data Documentation
5.16.4.1 MHAParser::bool_t acsave::acsave_t::bflush [private]
5.16.4.2 MHAParser::kw_t acsave::acsave_t::fileformat [private]
5.16.4.3 MHAParser::string_t acsave::acsave_t::fname [private]
5.16.4.4 MHAParser::float_t acsave::acsave_t::reclen [private]
5.16.4.5 MHAParser::vstring_t acsave::acsave_t::variables [private]
5.16.4.6 varlist_t acsave::acsave_t::varlist [private]
5.16.4.7 std::string acsave::acsave_t::chain [private]
5.16.4.8 std::string acsave::acsave_t::algo [private]
5.16.4.9 bool acsave::acsave_t::b_prepared [private]
5.16.4.10 bool acsave::acsave_t::b_flushed [private]
5.16.4.11 MHAEvents::patchbay_t<acsave_t>acsave::acsave_t::patchbay [private]
The documentation for this class was generated from the following file:
acsave.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
168 CONTENTS
5.17 acsave::cfg_t Class Reference
Public Member Functions
cfg_t (const algo_comm_t &iac, unsigned int imax_frames, std::vector<std::string >
&var_names)
cfg_t ()
void store_frame ()
void flush_data (const std::string &, unsigned int)
Private Attributes
algo_comm_t ac
unsigned int nvars
save_var_t ∗∗ varlist
unsigned int rec_frames
unsigned int max_frames
5.17.1 Constructor & Destructor Documentation
5.17.1.1 cfg_t::cfg_t (
const algo_comm_t &iac,
unsigned int imax_frames,
std::vector<std::string >&var_names )
5.17.1.2 cfg_t::cfg_t ( )
5.17.2 Member Function Documentation
5.17.2.1 void cfg_t::store_frame ( )
This function is called in the processing thread.
5.17.2.2 void cfg_t::flush_data (
const std::string & filename,
unsigned int fmt )
This function is called in the configuration thread.
Parameters
filename Output file name
fmt Output file format
© 2005-2019 HörTech gGmbH, Oldenburg
5.18 acsave::mat4head_t Struct Reference 169
5.17.3 Member Data Documentation
5.17.3.1 algo_comm_t acsave::cfg_t::ac [private]
5.17.3.2 unsigned int acsave::cfg_t::nvars [private]
5.17.3.3 save_var_t∗∗ acsave::cfg_t::varlist [private]
5.17.3.4 unsigned int acsave::cfg_t::rec_frames [private]
5.17.3.5 unsigned int acsave::cfg_t::max_frames [private]
The documentation for this class was generated from the following file:
acsave.cpp
5.18 acsave::mat4head_t Struct Reference
Public Attributes
int32_t t
int32_t rows
int32_t cols
int32_t imag
int32_t namelen
5.18.1 Member Data Documentation
5.18.1.1 int32_t acsave::mat4head_t::t
5.18.1.2 int32_t acsave::mat4head_t::rows
5.18.1.3 int32_t acsave::mat4head_t::cols
5.18.1.4 int32_t acsave::mat4head_t::imag
5.18.1.5 int32_t acsave::mat4head_t::namelen
The documentation for this struct was generated from the following file:
acsave.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
170 CONTENTS
5.19 acsave::save_var_t Class Reference
Public Member Functions
save_var_t (const std::string &, int, const algo_comm_t &)
save_var_t ()
void store_frame ()
void save_txt (FILE , unsigned int)
void save_mat4 (FILE , unsigned int)
void save_m (FILE , unsigned int)
Public Attributes
double data
Private Attributes
std::string name
unsigned int nframes
unsigned int ndim
unsigned int maxframe
algo_comm_t ac
unsigned int framecnt
bool b_complex
5.19.1 Constructor & Destructor Documentation
5.19.1.1 acsave::save_var_t::save_var_t (
const std::string & nm,
int n,
const algo_comm_t &iac )
5.19.1.2 acsave::save_var_t::save_var_t ( )
5.19.2 Member Function Documentation
5.19.2.1 void acsave::save_var_t::store_frame ( )
5.19.2.2 void acsave::save_var_t::save_txt (
FILE fh,
unsigned int writeframes )
© 2005-2019 HörTech gGmbH, Oldenburg
5.19 acsave::save_var_t Class Reference 171
5.19.2.3 void acsave::save_var_t::save_mat4 (
FILE fh,
unsigned int writeframes )
5.19.2.4 void acsave::save_var_t::save_m (
FILE fh,
unsigned int writeframes )
5.19.3 Member Data Documentation
5.19.3.1 doubleacsave::save_var_t::data
5.19.3.2 std::string acsave::save_var_t::name [private]
5.19.3.3 unsigned int acsave::save_var_t::nframes [private]
5.19.3.4 unsigned int acsave::save_var_t::ndim [private]
5.19.3.5 unsigned int acsave::save_var_t::maxframe [private]
5.19.3.6 algo_comm_t acsave::save_var_t::ac [private]
5.19.3.7 unsigned int acsave::save_var_t::framecnt [private]
5.19.3.8 bool acsave::save_var_t::b_complex [private]
The documentation for this class was generated from the following file:
acsave.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
172 CONTENTS
5.20 acSteer Class Reference
Inheritance diagram for acSteer:
acSteer
MHAPlugin::plugin_t
< acSteer_config >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< acSteer_config >
Public Member Functions
acSteer (algo_comm_t &ac, const std::string &chain_name, const std::string &algo_-
name)
Constructs our plugin.
acSteer ()
mha_spec_t process (mha_spec_t )
Thos method is a NOOP.
void prepare (mhaconfig_t &)
Plugin preparation.
void release (void)
Public Attributes
MHAParser::string_t steerFile
MHAParser::string_t acSteerName1
MHAParser::string_t acSteerName2
MHAParser::int_t nsteerchan
MHAParser::int_t nrefmic
© 2005-2019 HörTech gGmbH, Oldenburg
5.20 acSteer Class Reference 173
Private Member Functions
void update_cfg ()
Private Attributes
MHAEvents::patchbay_t<acSteer >patchbay
Additional Inherited Members
5.20.1 Constructor & Destructor Documentation
5.20.1.1 acSteer::acSteer (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
5.20.1.2 acSteer::acSteer ( )
5.20.2 Member Function Documentation
5.20.2.1 mha_spec_t acSteer::process (
mha_spec_t signal )
Thos method is a NOOP.
5.20.2.2 void acSteer::prepare (
mhaconfig_t &signal_info )[virtual]
Plugin preparation.
An opportunity to validate configuration parameters before instantiating a configuration.
Parameters
signal_info Structure containing a description of the form of the signal (domain, number of
channels, frames per block, sampling rate.
Implements MHAPlugin::plugin_t<acSteer_config >(p. 730).
© 2005-2019 HörTech gGmbH, Oldenburg
174 CONTENTS
5.20.2.3 void acSteer::release (
void ) [inline],[virtual]
Reimplemented from MHAPlugin::plugin_t<acSteer_config >(p. 731).
5.20.2.4 void acSteer::update_cfg ( ) [private]
5.20.3 Member Data Documentation
5.20.3.1 MHAParser::string_t acSteer::steerFile
5.20.3.2 MHAParser::string_t acSteer::acSteerName1
5.20.3.3 MHAParser::string_t acSteer::acSteerName2
5.20.3.4 MHAParser::int_t acSteer::nsteerchan
5.20.3.5 MHAParser::int_t acSteer::nrefmic
5.20.3.6 MHAEvents::patchbay_t<acSteer>acSteer::patchbay [private]
The documentation for this class was generated from the following files:
acSteer.h
acSteer.cpp
5.21 acSteer_config Class Reference
Public Member Functions
acSteer_config (algo_comm_t &ac, const mhaconfig_t in_cfg, acSteer acSteer)
acSteer_config ()
void insert ()
Public Attributes
unsigned int nchan
unsigned int nfreq
unsigned int nsteerchan
unsigned int nrefmic
unsigned int nangle
MHA_AC::spectrum_t specSteer1
MHA_AC::spectrum_t specSteer2
© 2005-2019 HörTech gGmbH, Oldenburg
5.21 acSteer_config Class Reference 175
5.21.1 Constructor & Destructor Documentation
5.21.1.1 acSteer_config::acSteer_config (
algo_comm_t &ac,
const mhaconfig_t in_cfg,
acSteer acSteer )
5.21.1.2 acSteer_config::acSteer_config ( )
5.21.2 Member Function Documentation
5.21.2.1 void acSteer_config::insert ( )
5.21.3 Member Data Documentation
5.21.3.1 unsigned int acSteer_config::nchan
5.21.3.2 unsigned int acSteer_config::nfreq
5.21.3.3 unsigned int acSteer_config::nsteerchan
5.21.3.4 unsigned int acSteer_config::nrefmic
5.21.3.5 unsigned int acSteer_config::nangle
5.21.3.6 MHA_AC::spectrum_t acSteer_config::specSteer1
5.21.3.7 MHA_AC::spectrum_t acSteer_config::specSteer2
The documentation for this class was generated from the following files:
acSteer.h
acSteer.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
176 CONTENTS
5.22 acTransform_wave Class Reference
Inheritance diagram for acTransform_wave:
acTransform_wave
MHAPlugin::plugin_t
< acTransform_wave_config >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< acTransform_wave_config >
Public Member Functions
acTransform_wave (algo_comm_t &ac, const std::string &chain_name, const std-
::string &algo_name)
Constructs our plugin.
acTransform_wave ()
mha_wave_t process (mha_wave_t )
Checks for the most recent configuration and defers processing to it.
void prepare (mhaconfig_t &)
Plugin preparation.
void release (void)
Public Attributes
MHAParser::string_t ang_name
MHAParser::string_t raw_p_name
MHAParser::string_t raw_p_max_name
MHAParser::string_t rotated_p_name
MHAParser::string_t rotated_p_max_name
MHAParser::int_t numsamples
MHAParser::bool_t to_from
© 2005-2019 HörTech gGmbH, Oldenburg
5.22 acTransform_wave Class Reference 177
Private Member Functions
void update_cfg ()
Private Attributes
MHAEvents::patchbay_t<acTransform_wave >patchbay
Additional Inherited Members
5.22.1 Constructor & Destructor Documentation
5.22.1.1 acTransform_wave::acTransform_wave (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
5.22.1.2 acTransform_wave::acTransform_wave ( )
5.22.2 Member Function Documentation
5.22.2.1 mha_wave_t acTransform_wave::process (
mha_wave_t signal )
Checks for the most recent configuration and defers processing to it.
5.22.2.2 void acTransform_wave::prepare (
mhaconfig_t &signal_info )[virtual]
Plugin preparation.
An opportunity to validate configuration parameters before instantiating a configuration.
Parameters
signal_info Structure containing a description of the form of the signal (domain, number of
channels, frames per block, sampling rate.
Implements MHAPlugin::plugin_t<acTransform_wave_config >(p. 730).
© 2005-2019 HörTech gGmbH, Oldenburg
178 CONTENTS
5.22.2.3 void acTransform_wave::release (
void ) [inline],[virtual]
Reimplemented from MHAPlugin::plugin_t<acTransform_wave_config >(p. 731).
5.22.2.4 void acTransform_wave::update_cfg ( ) [private]
5.22.3 Member Data Documentation
5.22.3.1 MHAParser::string_t acTransform_wave::ang_name
5.22.3.2 MHAParser::string_t acTransform_wave::raw_p_name
5.22.3.3 MHAParser::string_t acTransform_wave::raw_p_max_name
5.22.3.4 MHAParser::string_t acTransform_wave::rotated_p_name
5.22.3.5 MHAParser::string_t acTransform_wave::rotated_p_max_name
5.22.3.6 MHAParser::int_t acTransform_wave::numsamples
5.22.3.7 MHAParser::bool_t acTransform_wave::to_from
5.22.3.8 MHAEvents::patchbay_t<acTransform_wave>acTransform_wave::patchbay
[private]
The documentation for this class was generated from the following files:
acTransform_wave.h
acTransform_wave.cpp
5.23 acTransform_wave_config Class Reference
Public Member Functions
acTransform_wave_config (algo_comm_t &ac, const mhaconfig_t in_cfg, ac-
Transform_wave _transform)
acTransform_wave_config ()
mha_wave_t process (mha_wave_t )
© 2005-2019 HörTech gGmbH, Oldenburg
5.23 acTransform_wave_config Class Reference 179
Public Attributes
algo_comm_t &ac
std::string ang_name
std::string raw_p_name
std::string raw_p_max_name
MHA_AC::waveform_t rotated_p
MHA_AC::int_t rotated_i
unsigned int offset
unsigned int resolution
unsigned int to_from
5.23.1 Constructor & Destructor Documentation
5.23.1.1 acTransform_wave_config::acTransform_wave_config (
algo_comm_t &ac,
const mhaconfig_t in_cfg,
acTransform_wave _transform )
5.23.1.2 acTransform_wave_config::acTransform_wave_config ( )
5.23.2 Member Function Documentation
5.23.2.1 mha_wave_t acTransform_wave_config::process (
mha_wave_t wave )
5.23.3 Member Data Documentation
5.23.3.1 algo_comm_t& acTransform_wave_config::ac
5.23.3.2 std::string acTransform_wave_config::ang_name
5.23.3.3 std::string acTransform_wave_config::raw_p_name
5.23.3.4 std::string acTransform_wave_config::raw_p_max_name
5.23.3.5 MHA_AC::waveform_t acTransform_wave_config::rotated_p
5.23.3.6 MHA_AC::int_t acTransform_wave_config::rotated_i
5.23.3.7 unsigned int acTransform_wave_config::offset
5.23.3.8 unsigned int acTransform_wave_config::resolution
5.23.3.9 unsigned int acTransform_wave_config::to_from
The documentation for this class was generated from the following files:
acTransform_wave.h
acTransform_wave.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
180 CONTENTS
5.24 addsndfile::addsndfile_if_t Class Reference
Inheritance diagram for addsndfile::addsndfile_if_t:
addsndfile::addsndfile_if_t
wave_reader
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< runtime_cfg_t >
level_adaptor
Public Member Functions
addsndfile_if_t (algo_comm_t, const char , const char )
mha_wave_t process (mha_wave_t )
void prepare (mhaconfig_t &)
void release ()
Private Member Functions
void update ()
void change_mode ()
void set_level ()
void scan_dir ()
Private Attributes
MHAParser::string_t filename
MHAParser::string_t path
MHAParser::bool_t loop
MHAParser::float_t level
© 2005-2019 HörTech gGmbH, Oldenburg
5.24 addsndfile::addsndfile_if_t Class Reference 181
MHAParser::kw_t levelmode
MHAParser::kw_t resamplingmode
MHAParser::vint_t channels
MHAParser::kw_t mode
MHAParser::float_t ramplen
MHAParser::int_t startpos
MHAParser::vint_mon_t mapping
MHAParser::int_mon_t numchannels
MHAParser::int_mon_t mhachannels
MHAParser::int_mon_t active
MHAParser::string_t search_pattern
MHAParser::vstring_mon_t search_result
unsigned int uint_mode
MHAEvents::patchbay_t<addsndfile_if_t >patchbay
Additional Inherited Members
5.24.1 Constructor & Destructor Documentation
5.24.1.1 addsndfile::addsndfile_if_t::addsndfile_if_t (
algo_comm_t iac,
const char ,
const char )
5.24.2 Member Function Documentation
5.24.2.1 mha_wave_t addsndfile::addsndfile_if_t::process (
mha_wave_t s)
5.24.2.2 void addsndfile::addsndfile_if_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<runtime_cfg_t >(p. 730).
5.24.2.3 void addsndfile::addsndfile_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<runtime_cfg_t >(p. 731).
© 2005-2019 HörTech gGmbH, Oldenburg
182 CONTENTS
5.24.2.4 void addsndfile::addsndfile_if_t::update ( ) [private]
5.24.2.5 void addsndfile::addsndfile_if_t::change_mode ( ) [private]
5.24.2.6 void addsndfile::addsndfile_if_t::set_level ( ) [private]
5.24.2.7 void addsndfile::addsndfile_if_t::scan_dir ( ) [private]
5.24.3 Member Data Documentation
5.24.3.1 MHAParser::string_t addsndfile::addsndfile_if_t::filename [private]
5.24.3.2 MHAParser::string_t addsndfile::addsndfile_if_t::path [private]
5.24.3.3 MHAParser::bool_t addsndfile::addsndfile_if_t::loop [private]
5.24.3.4 MHAParser::float_t addsndfile::addsndfile_if_t::level [private]
5.24.3.5 MHAParser::kw_t addsndfile::addsndfile_if_t::levelmode [private]
5.24.3.6 MHAParser::kw_t addsndfile::addsndfile_if_t::resamplingmode [private]
5.24.3.7 MHAParser::vint_t addsndfile::addsndfile_if_t::channels [private]
5.24.3.8 MHAParser::kw_t addsndfile::addsndfile_if_t::mode [private]
5.24.3.9 MHAParser::float_t addsndfile::addsndfile_if_t::ramplen [private]
5.24.3.10 MHAParser::int_t addsndfile::addsndfile_if_t::startpos [private]
5.24.3.11 MHAParser::vint_mon_t addsndfile::addsndfile_if_t::mapping [private]
5.24.3.12 MHAParser::int_mon_t addsndfile::addsndfile_if_t::numchannels [private]
5.24.3.13 MHAParser::int_mon_t addsndfile::addsndfile_if_t::mhachannels [private]
5.24.3.14 MHAParser::int_mon_t addsndfile::addsndfile_if_t::active [private]
5.24.3.15 MHAParser::string_t addsndfile::addsndfile_if_t::search_pattern [private]
5.24.3.16 MHAParser::vstring_mon_t addsndfile::addsndfile_if_t::search_result [private]
5.24.3.17 unsigned int addsndfile::addsndfile_if_t::uint_mode [private]
5.24.3.18 MHAEvents::patchbay_t<addsndfile_if_t>addsndfile::addsndfile_if_t::patchbay
[private]
The documentation for this class was generated from the following file:
addsndfile.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.25 addsndfile::level_adapt_t Class Reference 183
5.25 addsndfile::level_adapt_t Class Reference
Inheritance diagram for addsndfile::level_adapt_t:
addsndfile::level_adapt_t
MHASignal::waveform_t
mha_wave_t
Public Member Functions
level_adapt_t (mhaconfig_t cf, mha_real_t adapt_len, mha_real_t l_new_, mha_real-
_t l_old_)
void update_frame ()
mha_real_t get_level () const
bool can_update () const
Private Attributes
unsigned int ilen
unsigned int pos
MHAWindow::fun_t wnd
mha_real_t l_new
mha_real_t l_old
Additional Inherited Members
5.25.1 Constructor & Destructor Documentation
5.25.1.1 addsndfile::level_adapt_t::level_adapt_t (
mhaconfig_t cf,
mha_real_t adapt_len,
mha_real_t l_new_,
mha_real_t l_old_ )
© 2005-2019 HörTech gGmbH, Oldenburg
184 CONTENTS
5.25.2 Member Function Documentation
5.25.2.1 void addsndfile::level_adapt_t::update_frame ( )
5.25.2.2 mha_real_t addsndfile::level_adapt_t::get_level ( ) const [inline]
5.25.2.3 bool addsndfile::level_adapt_t::can_update ( ) const [inline]
5.25.3 Member Data Documentation
5.25.3.1 unsigned int addsndfile::level_adapt_t::ilen [private]
5.25.3.2 unsigned int addsndfile::level_adapt_t::pos [private]
5.25.3.3 MHAWindow::fun_t addsndfile::level_adapt_t::wnd [private]
5.25.3.4 mha_real_t addsndfile::level_adapt_t::l_new [private]
5.25.3.5 mha_real_t addsndfile::level_adapt_t::l_old [private]
The documentation for this class was generated from the following file:
addsndfile.cpp
5.26 addsndfile::resampled_soundfile_t Class Reference
Reads sound from file and resamples it if necessary and wanted.
Inheritance diagram for addsndfile::resampled_soundfile_t:
addsndfile::resampled
_soundfile_t
MHASndFile::sf_wave_t
MHASndFile::sf_t MHASignal::waveform_t
addsndfile::waveform
_proxy_t
mha_wave_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.26 addsndfile::resampled_soundfile_t Class Reference 185
Public Member Functions
resampled_soundfile_t (const std::string &name, float mha_sampling_rate, addsndfile-
_resampling_mode_t resampling_mode)
Reads sound from file and resamples if necessary and wanted.
Additional Inherited Members
5.26.1 Detailed Description
Reads sound from file and resamples it if necessary and wanted.
Sound data can then be used by addsndfile.
5.26.2 Constructor & Destructor Documentation
5.26.2.1 addsndfile::resampled_soundfile_t::resampled_soundfile_t (
const std::string & name,
float mha_sampling_rate,
addsndfile_resampling_mode_t resampling_mode )
Reads sound from file and resamples if necessary and wanted.
If the sound file does not specify a sampling rate, then the sound data is always used without
resampling.
Parameters
name Sound file name
mha_sampling_rate The sampling rate of the MHA signal processing at the point of the
addsndfile plugin
resampling_mode DONT_RESAMPLE_STRICT: Do not resample, just use the samples
from the sound file at the current sample rate, even if the sample rate
of the sound file differs. DONT_RESAMPLE_PERMISSIVE: Do not
resample, if the sample rate of the MHA differs from the sample rate
of the sound file, raise an error. DO_RESAMPLE: Resample.
Exceptions
MHA_Error (p. 445)If the sampling rate of the file does not match the sampling rate of
the MHA and DONT_RESAMPLE_STRICT was requested. If
resampling failed (e.g. due to non-rational quotient of MHA sampling
rate and sound file sampling rate).
© 2005-2019 HörTech gGmbH, Oldenburg
186 CONTENTS
The documentation for this class was generated from the following file:
addsndfile.cpp
5.27 addsndfile::sndfile_t Class Reference
Inheritance diagram for addsndfile::sndfile_t:
addsndfile::sndfile_t
MHASignal::loop_wavefragment_t
MHASignal::waveform_t
mha_wave_t
Public Member Functions
sndfile_t (const std::string &name, bool loop, unsigned int level_mode, std::vector<
int >channels_, unsigned int nchannels, std::vector<int >&mapping, int &numchan-
nels, unsigned int startpos, float mha_sampling_rate, addsndfile_resampling_mode_t
resampling_mode)
Additional Inherited Members
5.27.1 Constructor & Destructor Documentation
© 2005-2019 HörTech gGmbH, Oldenburg
5.28 addsndfile::waveform_proxy_t Class Reference 187
5.27.1.1 addsndfile::sndfile_t::sndfile_t (
const std::string & name,
bool loop,
unsigned int level_mode,
std::vector<int >channels_,
unsigned int nchannels,
std::vector<int >&mapping,
int & numchannels,
unsigned int startpos,
float mha_sampling_rate,
addsndfile_resampling_mode_t resampling_mode )
The documentation for this class was generated from the following file:
addsndfile.cpp
5.28 addsndfile::waveform_proxy_t Class Reference
Class helps to specify which instance of MHASignal_waveform_t parent instance is meant in
resampled_soundfile_t (p. 184).
Inheritance diagram for addsndfile::waveform_proxy_t:
addsndfile::waveform
_proxy_t
addsndfile::resampled
_soundfile_t
MHASignal::waveform_t
mha_wave_t
Public Member Functions
waveform_proxy_t (unsigned frames, unsigned channels)
© 2005-2019 HörTech gGmbH, Oldenburg
188 CONTENTS
Additional Inherited Members
5.28.1 Detailed Description
Class helps to specify which instance of MHASignal_waveform_t parent instance is meant in
resampled_soundfile_t (p. 184).
5.28.2 Constructor & Destructor Documentation
5.28.2.1 addsndfile::waveform_proxy_t::waveform_proxy_t (
unsigned frames,
unsigned channels )[inline]
The documentation for this class was generated from the following file:
addsndfile.cpp
5.29 ADM::ADM<F>Class Template Reference
Adaptive differential microphone, working for speech frequency range.
Public Member Functions
ADM (F fs, F dist, unsigned lp_order, const F lp_alphas, unsigned decomb_order, const
Fdecomb_alphas, F tau_beta=F(50e-3), F mu_beta=F(1e-4))
Create Adaptive Differential Microphone.
F process (const F &front, const F &back, const F &external_beta=F(-1))
ADM (p. 188) processes one frame.
F beta () const
Private Attributes
Delay<F>m_delay_front
Delay<F>m_delay_back
Linearphase_FIR<F>m_lp_bf
Linearphase_FIR<F>m_lp_result
Linearphase_FIR<F>m_decomb
F m_beta
F m_mu_beta
F m_powerfilter_coeff
F m_powerfilter_norm
F m_powerfilter_state
© 2005-2019 HörTech gGmbH, Oldenburg
5.29 ADM::ADM<F>Class Template Reference 189
5.29.1 Detailed Description
template<class F>
class ADM::ADM<F>
Adaptive differential microphone, working for speech frequency range.
5.29.2 Constructor & Destructor Documentation
5.29.2.1 template<class F >ADM::ADM<F>::ADM (
Ffs,
Fdist,
unsigned lp_order,
const F lp_alphas,
unsigned decomb_order,
const F decomb_alphas,
Ftau_beta = F(50e-3),
Fmu_beta = F(1e-4) )
Create Adaptive Differential Microphone.
Parameters
fs Sampling rate / Hz
dist Distance between physical microphones / m
lp_order Filter order of FIR lowpass filter used for adaptation
lp_alphas Pointer to array of alpha coefficients for the lowpass filter used for
adaptation. Since this class uses linear phase FIR filters only, only the
first half (order/2 + 1) of the coefficients will be read (coefficients for
linear-phase FIR filters are symmetric).
decomb_order Filter order of FIR compensation filter (compensates for comb filter
characteristic)
decomb_alphas Pointer to array of alpha coefficients for the compensation filter used to
compensate for the comb filter characteristic. Since this class uses linear
phase FIR filters only, only the first half (order/2 + 1)of the coefficients
will be read (coefficients for linear-phase FIR filters are symmetric).
tau_beta Time constant of the lowpass filter used for averaging the power of the
output signal
mu_beta adaption speed
5.29.3 Member Function Documentation
© 2005-2019 HörTech gGmbH, Oldenburg
190 CONTENTS
5.29.3.1 template<class F >FADM::ADM<F>::process (
const F & front,
const F & back,
const F & external_beta = F(-1) )[inline]
ADM (p. 188) processes one frame.
Parameters
front The current front input signal sample
back The current rear input signal sample
external_beta If >= 0, this is used as the "beta" parameter for direction to filter out. Else,
the beta parameter is adapted to filtered out a direction so that best
reduction of signal intensity from the back hemisphere is achieved.
Returns
The computed output sample
5.29.3.2 template<class F >FADM::ADM<F>::beta ( ) const [inline]
5.29.4 Member Data Documentation
5.29.4.1 template<class F >Delay<F>ADM::ADM<F>::m_delay_front [private]
5.29.4.2 template<class F >Delay<F>ADM::ADM<F>::m_delay_back [private]
5.29.4.3 template<class F >Linearphase_FIR<F>ADM::ADM<F>::m_lp_bf [private]
5.29.4.4 template<class F >Linearphase_FIR<F>ADM::ADM<F>::m_lp_result [private]
5.29.4.5 template<class F >Linearphase_FIR<F>ADM::ADM<F>::m_decomb [private]
5.29.4.6 template<class F >FADM::ADM<F>::m_beta [private]
5.29.4.7 template<class F >FADM::ADM<F>::m_mu_beta [private]
5.29.4.8 template<class F >FADM::ADM<F>::m_powerfilter_coeff [private]
5.29.4.9 template<class F >FADM::ADM<F>::m_powerfilter_norm [private]
5.29.4.10 template<class F >FADM::ADM<F>::m_powerfilter_state [private]
The documentation for this class was generated from the following file:
adm.hh
© 2005-2019 HörTech gGmbH, Oldenburg
5.30 ADM::Delay<F>Class Template Reference 191
5.30 ADM::Delay<F>Class Template Reference
A delay-line class which can also do subsample-delays for a limited frequency range below
fs/4.
Public Member Functions
Delay (F samples, F f_design, F fs)
Create a signal delay object.
Delay ()
F process (const F &in_sample)
Apply delay to signal.
Private Attributes
unsigned m_fullsamples
Integer part of delay.
F m_coeff
coefficient for 1st order IIR lowpass filter which does the subsample delay
F m_norm
normalization for the IIR subsample delay filter
F m_state
Ringbuffer: Delayline.
unsigned m_now_in
current position for inserting new samples into m_state ringbuffer
5.30.1 Detailed Description
template<class F>
class ADM::Delay<F>
A delay-line class which can also do subsample-delays for a limited frequency range below
fs/4.
5.30.2 Constructor & Destructor Documentation
5.30.2.1 template<class F >ADM::Delay<F>::Delay (
Fsamples,
Ff_design,
Ffs )
Create a signal delay object.
© 2005-2019 HörTech gGmbH, Oldenburg
192 CONTENTS
Parameters
samples number of samples to delay (may be non-integer)
f_design subsampledelay is exact for this frequency
fs sampling frequency
5.30.2.2 template<class F >ADM::Delay<F>::Delay ( )
5.30.3 Member Function Documentation
5.30.3.1 template<class F >FADM::Delay<F>::process (
const F & in_sample )[inline]
Apply delay to signal.
Parameters
in_sample The current input signal sample
Returns
The computed output sample
5.30.4 Member Data Documentation
5.30.4.1 template<class F >unsigned ADM::Delay<F>::m_fullsamples [private]
Integer part of delay.
5.30.4.2 template<class F >FADM::Delay<F>::m_coeff [private]
coefficient for 1st order IIR lowpass filter which does the subsample delay
5.30.4.3 template<class F >FADM::Delay<F>::m_norm [private]
normalization for the IIR subsample delay filter
5.30.4.4 template<class F >FADM::Delay<F>::m_state [private]
Ringbuffer: Delayline.
© 2005-2019 HörTech gGmbH, Oldenburg
5.31 ADM::Linearphase_FIR<F>Class Template Reference 193
5.30.4.5 template<class F >unsigned ADM::Delay<F>::m_now_in [private]
current position for inserting new samples into m_state ringbuffer
The documentation for this class was generated from the following file:
adm.hh
5.31 ADM::Linearphase_FIR<F>Class Template Reference
An efficient linear-phase fir filter implementation.
Public Member Functions
Linearphase_FIR (unsigned order, const F alphas)
Create linear-phase FIR filter.
Linearphase_FIR ()
F process (const F &in_sample)
Filter one sample with this linear-phase FIR filter.
Private Attributes
unsigned m_order
The filter order of this linear-phase FIR filter.
F m_alphas
FIR filter coefficients.
F m_output
Ringbuffer for building future output.
unsigned m_now
current start of ringbuffer
5.31.1 Detailed Description
template<class F>
class ADM::Linearphase_FIR<F>
An efficient linear-phase fir filter implementation.
5.31.2 Constructor & Destructor Documentation
5.31.2.1 template<class F >ADM::Linearphase_FIR<F>::Linearphase_FIR (
unsigned order,
const F alphas )
Create linear-phase FIR filter.
© 2005-2019 HörTech gGmbH, Oldenburg
194 CONTENTS
Parameters
order filter order of this FIR filter. restriction: must be even.
alphas pointer to Array of alpha coefficients. Since this class is for linear phase FIR filters
only, only (order / 2 + 1) coefficients will be read. (Coefficients for linear-phase FIR
filters are symmetric.)
5.31.2.2 template<class F >ADM::Linearphase_FIR<F>::Linearphase_FIR ( )
5.31.3 Member Function Documentation
5.31.3.1 template<class F >FADM::Linearphase_FIR<F>::process (
const F & in_sample )[inline]
Filter one sample with this linear-phase FIR filter.
Parameters
in_sample the current input sample
Returns
the computed output sample
5.31.4 Member Data Documentation
5.31.4.1 template<class F >unsigned ADM::Linearphase_FIR<F>::m_order [private]
The filter order of this linear-phase FIR filter.
5.31.4.2 template<class F >FADM::Linearphase_FIR<F>::m_alphas [private]
FIR filter coefficients.
Only m_order / 2 + 1 coefficients need to be stored since coefficients of linear-phase FIR filters
are symmetric
5.31.4.3 template<class F >FADM::Linearphase_FIR<F>::m_output [private]
Ringbuffer for building future output.
© 2005-2019 HörTech gGmbH, Oldenburg
5.32 adm_if_t Class Reference 195
5.31.4.4 template<class F >unsigned ADM::Linearphase_FIR<F>::m_now [private]
current start of ringbuffer
The documentation for this class was generated from the following file:
adm.hh
5.32 adm_if_t Class Reference
Inheritance diagram for adm_if_t:
adm_if_t
MHAPlugin::plugin_t
< adm_rtconfig_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< adm_rtconfig_t >
Public Member Functions
adm_if_t (const algo_comm_t &ac, const std::string &thread_name, const std::string
&algo_name)
mha_wave_t process (mha_wave_t in)
virtual void prepare (mhaconfig_t &)
virtual void release ()
Private Member Functions
void update ()
bool is_prepared ()
© 2005-2019 HörTech gGmbH, Oldenburg
196 CONTENTS
Private Attributes
MHASignal::waveform_t out
MHAParser::vint_t front_channels
MHAParser::vint_t rear_channels
MHAParser::vfloat_t distances
MHAParser::int_t lp_order
MHAParser::int_t decomb_order
MHAParser::int_t bypass
MHAParser::float_t beta
MHAParser::vfloat_t mu_beta
MHAParser::vfloat_t tau_beta
MHAParser::vfloat_mon_t coeff_lp
MHAParser::vfloat_mon_t coeff_decomb
unsigned input_channels
mha_real_t srate
MHAEvents::patchbay_t<adm_if_t >patchbay
Additional Inherited Members
5.32.1 Constructor & Destructor Documentation
5.32.1.1 adm_if_t::adm_if_t (
const algo_comm_t &ac,
const std::string & thread_name,
const std::string & algo_name )
5.32.2 Member Function Documentation
5.32.2.1 mha_wave_t adm_if_t::process (
mha_wave_t in )
5.32.2.2 void adm_if_t::prepare (
mhaconfig_t &cfg )[virtual]
Implements MHAPlugin::plugin_t<adm_rtconfig_t >(p. 730).
5.32.2.3 void adm_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<adm_rtconfig_t >(p. 731).
© 2005-2019 HörTech gGmbH, Oldenburg
5.33 adm_rtconfig_t Class Reference 197
5.32.2.4 void adm_if_t::update ( ) [private]
5.32.2.5 bool adm_if_t::is_prepared ( ) [inline],[private]
5.32.3 Member Data Documentation
5.32.3.1 MHASignal::waveform_tadm_if_t::out [private]
5.32.3.2 MHAParser::vint_t adm_if_t::front_channels [private]
5.32.3.3 MHAParser::vint_t adm_if_t::rear_channels [private]
5.32.3.4 MHAParser::vfloat_t adm_if_t::distances [private]
5.32.3.5 MHAParser::int_t adm_if_t::lp_order [private]
5.32.3.6 MHAParser::int_t adm_if_t::decomb_order [private]
5.32.3.7 MHAParser::int_t adm_if_t::bypass [private]
5.32.3.8 MHAParser::float_t adm_if_t::beta [private]
5.32.3.9 MHAParser::vfloat_t adm_if_t::mu_beta [private]
5.32.3.10 MHAParser::vfloat_t adm_if_t::tau_beta [private]
5.32.3.11 MHAParser::vfloat_mon_t adm_if_t::coeff_lp [private]
5.32.3.12 MHAParser::vfloat_mon_t adm_if_t::coeff_decomb [private]
5.32.3.13 unsigned adm_if_t::input_channels [private]
5.32.3.14 mha_real_t adm_if_t::srate [private]
5.32.3.15 MHAEvents::patchbay_t<adm_if_t>adm_if_t::patchbay [private]
The documentation for this class was generated from the following file:
adm.cpp
5.33 adm_rtconfig_t Class Reference
Public Types
typedef ADM::ADM<mha_real_t >adm_t
© 2005-2019 HörTech gGmbH, Oldenburg
198 CONTENTS
Public Member Functions
adm_rtconfig_t (unsigned nchannels_in, unsigned nchannels_out, const std::vector<
int >&front_channels, const std::vector<int >&rear_channels, const mha_real_t fs,
const std::vector<mha_real_t >&distances, const int lp_order, const int decomb_order,
const std::vector<mha_real_t >&tau_beta, const std::vector<mha_real_t >&mu_-
beta)
Construct new ADMs.
virtual adm_rtconfig_t ()
size_t num_adms () const
adm_t &adm (unsigned index)
Returns adm object number index.
int front_channel (unsigned index) const
Returns index of front channel for adm number index.
int rear_channel (unsigned index) const
Returns index of rear channel for adm number index.
Private Member Functions
void check_index (unsigned index) const
Index checking for all internal arrays.
Private Attributes
• std::vector<int >front_channels
Indices of channels containing the signals from the front microphones.
• std::vector<int >rear_channels
Indices of channels containing the signals from the rear microphones.
MHASignal::waveform_t lp_coeffs
Lowpass filter coefficients.
• std::vector<MHASignal::waveform_t >decomb_coeffs
Decomb-Filter coefficients.
• std::vector<adm_t >adms
ADMs.
5.33.1 Member Typedef Documentation
5.33.1.1 typedef ADM::ADM<mha_real_t>adm_rtconfig_t::adm_t
5.33.2 Constructor & Destructor Documentation
© 2005-2019 HörTech gGmbH, Oldenburg
5.33 adm_rtconfig_t Class Reference 199
5.33.2.1 adm_rtconfig_t::adm_rtconfig_t (
unsigned nchannels_in,
unsigned nchannels_out,
const std::vector<int >&front_channels,
const std::vector<int >&rear_channels,
const mha_real_t fs,
const std::vector<mha_real_t >&distances,
const int lp_order,
const int decomb_order,
const std::vector<mha_real_t >&tau_beta,
const std::vector<mha_real_t >&mu_beta )
Construct new ADMs.
Used when configuration changes.
Parameters
nchannels_in Number of input channels
nchannels_out Number of output channels
front_channels Parser's front_channels setting
rear_channels Parser's front_channels setting
fs Sampling rate / Hz
distances Distances between microphones / m
lp_order Filter order of FIR lowpass filter for adaptation
decomb_order Filter order of FIR compensation filter (compensates for comb filter
characteristic)
tau_beta Time constants of the lowpass filter used for averaging the power of the
output signal used for adaptation
mu_beta Adaptation step sizes
5.33.2.2 adm_rtconfig_t::adm_rtconfig_t ( ) [virtual]
5.33.3 Member Function Documentation
5.33.3.1 void adm_rtconfig_t::check_index (
unsigned index ) const [inline],[private]
Index checking for all internal arrays.
Exceptions
MHA_Error (p. 445)if index out of range.
© 2005-2019 HörTech gGmbH, Oldenburg
200 CONTENTS
5.33.3.2 size_t adm_rtconfig_t::num_adms ( ) const [inline]
5.33.3.3 adm_t& adm_rtconfig_t::adm (
unsigned index )[inline]
Returns adm object number index.
5.33.3.4 int adm_rtconfig_t::front_channel (
unsigned index ) const [inline]
Returns index of front channel for adm number index.
5.33.3.5 int adm_rtconfig_t::rear_channel (
unsigned index ) const [inline]
Returns index of rear channel for adm number index.
5.33.4 Member Data Documentation
5.33.4.1 std::vector<int>adm_rtconfig_t::front_channels [private]
Indices of channels containing the signals from the front microphones.
5.33.4.2 std::vector<int>adm_rtconfig_t::rear_channels [private]
Indices of channels containing the signals from the rear microphones.
5.33.4.3 MHASignal::waveform_tadm_rtconfig_t::lp_coeffs [private]
Lowpass filter coefficients.
5.33.4.4 std::vector<MHASignal::waveform_t>adm_rtconfig_t::decomb_coeffs [private]
Decomb-Filter coefficients.
5.33.4.5 std::vector<adm_t >adm_rtconfig_t::adms [private]
ADMs.
The documentation for this class was generated from the following file:
adm.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.34 algo_comm_t Struct Reference 201
5.34 algo_comm_t Struct Reference
A reference handle for algorithm communication variables.
Public Attributes
void handle
AC variable control handle.
• int(insert_var )(void , const char ,comm_var_t)
Register an AC variable.
• int(insert_var_int )(void , const char , int )
Register an int as an AC variable.
• int(insert_var_float )(void , const char , float )
Register a float as an AC variable.
• int(remove_var )(void , const char )
Remove an AC variable.
• int(remove_ref )(void , void )
Remove all AC variable which refer to address.
• int(is_var )(void , const char )
Test if an AC variable exists.
• int(get_var )(void , const char ,comm_var_t )
Get the variable handle of an AC variable.
• int(get_var_int )(void , const char , int )
Get the value of an int AC variable.
• int(get_var_float )(void , const char , float )
Get the value of a float AC variable.
• int(get_entries )(void , char , unsigned int)
Return a space separated list of all variable names.
const char (get_error )(int)
Convert AC error codes into human readable error messages.
5.34.1 Detailed Description
A reference handle for algorithm communication variables.
This structure contains a coontrol handle and a set of function pointers for sharing variables
within one processing chain. See also section Communication between algorithms (p. 28).
5.34.2 Member Data Documentation
5.34.2.1 algo_comm_t::handle
AC variable control handle.
5.34.2.2 algo_comm_t::insert_var
Register an AC variable.
This function can register a variable to be shared within one chain. If a variable of this name
exists it will be overwritten.
© 2005-2019 HörTech gGmbH, Oldenburg
202 CONTENTS
Parameters
hAC handle
nname of variable. May not be empty. Must not contain space character. The name is
copied, therefore it is allowed that the char array pointed to gets invalid after return.
vvariable handle of type comm_var_t (p. 246)
Returns
Error code or zero on success
5.34.2.3 algo_comm_t::insert_var_int
Register an int as an AC variable.
This function can register an int variable to be shared with other algorithms. It behaves similar
to ac.insert_var.
Parameters
hAC handle
nname of variable
vpointer on the variable
Returns
Error code or zero on success
5.34.2.4 algo_comm_t::insert_var_float
Register a float as an AC variable.
This function can register a float variable to be shared with other algorithms. It behaves similar
to ac.insert_var.
Parameters
hAC handle
nname of variable
vpointer on the variable
Returns
Error code or zero on success
© 2005-2019 HörTech gGmbH, Oldenburg
5.34 algo_comm_t Struct Reference 203
5.34.2.5 algo_comm_t::remove_var
Remove an AC variable.
Remove (unregister) an AC variable. After calling this function, the variable is not available to
ac.is_var or ac.get_var. The data pointer is not affected.
Parameters
hAC handle
nname of variable to be removed
Returns
Error code or zero on success
5.34.2.6 algo_comm_t::remove_ref
Remove all AC variable which refer to address.
This function removes all AC variables whos data field points to the given address.
Parameters
hAC handle
paddress which should not be referred to any more
Returns
Error code or zero on success
5.34.2.7 algo_comm_t::is_var
Test if an AC variable exists.
This function tests if an AC variable of a given name exists. Use ac.get_var to get information
about the variables type and dimension.
Parameters
hAC handle
nname of variable
© 2005-2019 HörTech gGmbH, Oldenburg
204 CONTENTS
Returns
1 if the variable exists, 0 otherwise
5.34.2.8 algo_comm_t::get_var
Get the variable handle of an AC variable.
This function returns the variable handle comm_var_t (p. 246) of a variable of the given name.
If no variable of that name exists, an error code is returned.
Parameters
hAC handle
nname of variable
vpointer to a AC variable object
Returns
Error code or zero on success
5.34.2.9 algo_comm_t::get_var_int
Get the value of an int AC variable.
This function returns the value of an int AC variable of the given name. If no variable exists, the
variable type is mismatching or more than one entry is registered, a corresponding error code
is returned. This is a special version of ac.get_var.
Parameters
hAC handle
nname of variable
vpointer on an int variable to store the result
Returns
Error code or zero on success
5.34.2.10 algo_comm_t::get_var_float
Get the value of a float AC variable.
This function returns the value of a float AC variable of the given name. If no variable exists, the
variable type is mismatching or more than one entry is registered, a corresponding error code
is returned. This is a special version of ac.get_var.
© 2005-2019 HörTech gGmbH, Oldenburg
5.34 algo_comm_t Struct Reference 205
Parameters
hAC handle
nname of variable
vpointer on a float variable to store the result
Returns
Error code or zero on success
5.34.2.11 algo_comm_t::get_entries
Return a space separated list of all variable names.
This function returns the names of all registered variables, separated by a single space.
Parameters
hAC handle
Return values
ret Character buffer for return value
Parameters
len length of character buffer
Returns
Error code or zero on success. -1: invalid ac handle. -3: not enough room in character
buffer to store all variable names.
5.34.2.12 algo_comm_t::get_error
Convert AC error codes into human readable error messages.
Parameters
eError code
© 2005-2019 HörTech gGmbH, Oldenburg
206 CONTENTS
Returns
Error message
The documentation for this struct was generated from the following files:
mha.hh
mha_algo_comm.cpp
5.35 alsa_base_t Class Reference
Inheritance diagram for alsa_base_t:
alsa_base_t
alsa_t< T >
Public Member Functions
alsa_base_t ()
virtual alsa_base_t ()=default
virtual void start ()=0
start puts alsa device in usable state
virtual void stop ()=0
stop informs alsa device that we do not need any more samples / will not provide any more
samples
virtual int read (mha_wave_t ∗∗)=0
read audio samples from the device into an internal mha_wave_t (p. 496) buffer, then update
the pointer given as parameter to point to the internal structure.
virtual int write (mha_wave_t )=0
write audio samples from the given waveform buffer to the sound device.
Public Attributes
snd_pcm_t pcm
The underlying alsa handle to this sound card.
© 2005-2019 HörTech gGmbH, Oldenburg
5.35 alsa_base_t Class Reference 207
5.35.1 Constructor & Destructor Documentation
5.35.1.1 alsa_base_t::alsa_base_t ( ) [inline]
5.35.1.2 virtual alsa_base_t::alsa_base_t ( ) [virtual],[default]
5.35.2 Member Function Documentation
5.35.2.1 virtual void alsa_base_t::start ( ) [pure virtual]
start puts alsa device in usable state
Implemented in alsa_t<T>(p. 211).
5.35.2.2 virtual void alsa_base_t::stop ( ) [pure virtual]
stop informs alsa device that we do not need any more samples / will not provide any more
samples
Implemented in alsa_t<T>(p. 212).
5.35.2.3 virtual int alsa_base_t::read (
mha_wave_t ∗∗ )[pure virtual]
read audio samples from the device into an internal mha_wave_t (p. 496) buffer, then update
the pointer given as parameter to point to the internal structure.
Converts sound samples from the integer data type provided by the sound card to floating-point
values needed by the MHA in the range [-1.0,1.0]
Implemented in alsa_t<T>(p. 212).
5.35.2.4 virtual int alsa_base_t::write (
mha_wave_t )[pure virtual]
write audio samples from the given waveform buffer to the sound device.
converts the floating point values coming from the MHA to the integer samples required by the
sound card.
Implemented in alsa_t<T>(p. 212).
© 2005-2019 HörTech gGmbH, Oldenburg
208 CONTENTS
5.35.3 Member Data Documentation
5.35.3.1 snd_pcm_talsa_base_t::pcm
The underlying alsa handle to this sound card.
The documentation for this class was generated from the following file:
MHAIOalsa.cpp
5.36 alsa_dev_par_parser_t Class Reference
Parser variables corresponding to one alsa device.
Inheritance diagram for alsa_dev_par_parser_t:
alsa_dev_par_parser_t
MHAParser::parser_t
MHAParser::base_t
Public Member Functions
alsa_dev_par_parser_t (snd_pcm_stream_t stream_dir)
Constructor inserts the parser variables into this sub-parser.
Public Attributes
MHAParser::string_t device
Name of the device in the alsa world, like "hw:0.0", "default", etc.
MHAParser::int_t nperiods
Number of buffers of fragsize to hold in the alsa buffer.
snd_pcm_stream_t stream_dir
Remember the direction (capture/playback) of this device.
© 2005-2019 HörTech gGmbH, Oldenburg
5.36 alsa_dev_par_parser_t Class Reference 209
Additional Inherited Members
5.36.1 Detailed Description
Parser variables corresponding to one alsa device.
ALSA separates audio capture and audio playback into two different devices that have to be
opened separately. This class encapsulates the parser variables that pertain to one such di-
rection.
5.36.2 Constructor & Destructor Documentation
5.36.2.1 alsa_dev_par_parser_t::alsa_dev_par_parser_t (
snd_pcm_stream_t stream_dir )
Constructor inserts the parser variables into this sub-parser.
Parameters
stream_dir capture or playback
5.36.3 Member Data Documentation
5.36.3.1 MHAParser::string_t alsa_dev_par_parser_t::device
Name of the device in the alsa world, like "hw:0.0", "default", etc.
5.36.3.2 MHAParser::int_t alsa_dev_par_parser_t::nperiods
Number of buffers of fragsize to hold in the alsa buffer.
Usually 2, the minimum possible.
5.36.3.3 snd_pcm_stream_t alsa_dev_par_parser_t::stream_dir
Remember the direction (capture/playback) of this device.
The documentation for this class was generated from the following file:
MHAIOalsa.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
210 CONTENTS
5.37 alsa_t<T>Class Template Reference
Our representation of one alsa device.
Inheritance diagram for alsa_t<T>:
alsa_t< T >
alsa_base_t
Public Member Functions
alsa_t (const alsa_dev_par_parser_t &par, unsigned int rate, unsigned int fragsize, un-
signed int channels)
Constructor receives the parameters for this device.
alsa_t ()
Destructor closes the sound device.
void start () override
start puts alsa device in usable state
void stop () override
stop informs alsa device that we do not need any more samples / will not provide any more
samples
int read (mha_wave_t ∗∗) override
read audio samples from the device into an internal mha_wave_t (p. 496) buffer, then update
the pointer given as parameter to point to the internal structure.
int write (mha_wave_t ) override
write audio samples from the given waveform buffer to the sound device.
Private Attributes
unsigned int channels
unsigned int fragsize
T buffer
• std::vector<mha_real_t >frame_data
MHASignal::waveform_t wave
internal buffer to store sound samples coming from the sound card.
const mha_real_t gain
const mha_real_t invgain
const mha_real_t val_min
const mha_real_t val_max
snd_pcm_format_t pcm_format
© 2005-2019 HörTech gGmbH, Oldenburg
5.37 alsa_t<T>Class Template Reference 211
Additional Inherited Members
5.37.1 Detailed Description
template<typename T>
class alsa_t<T>
Our representation of one alsa device.
We can start and stop the device, and depending on the direction, read or write samples.
5.37.2 Constructor & Destructor Documentation
5.37.2.1 template<typename T >alsa_t<T>::alsa_t (
const alsa_dev_par_parser_t &par,
unsigned int rate,
unsigned int fragsize,
unsigned int channels )
Constructor receives the parameters for this device.
It opens the sound device using the alsa library and selects the given parameters, but does not
yet start the sound device to perform real I/O.
Parameters
par our parser variable aggregator (containing direction, device name, and number
of periods to place in alsa buffer)
rate sampling rate in Hz
fragsize samples per block per channel
channels number of audio channels to open
5.37.2.2 template<typename T >alsa_t<T>::alsa_t ( )
Destructor closes the sound device.
5.37.3 Member Function Documentation
5.37.3.1 template<typename T >void alsa_t<T>::start ( ) [override],[virtual]
start puts alsa device in usable state
Implements alsa_base_t (p. 207).
© 2005-2019 HörTech gGmbH, Oldenburg
212 CONTENTS
5.37.3.2 template<typename T >void alsa_t<T>::stop ( ) [override],[virtual]
stop informs alsa device that we do not need any more samples / will not provide any more
samples
Implements alsa_base_t (p. 207).
5.37.3.3 template<typename T >int alsa_t<T>::read (
mha_wave_t ∗∗ s)[override],[virtual]
read audio samples from the device into an internal mha_wave_t (p. 496) buffer, then update
the pointer given as parameter to point to the internal structure.
Converts sound samples from the integer data type provided by the sound card to floating-point
values needed by the MHA in the range [-1.0,1.0]
Implements alsa_base_t (p. 207).
5.37.3.4 template<typename T >int alsa_t<T>::write (
mha_wave_t s)[override],[virtual]
write audio samples from the given waveform buffer to the sound device.
converts the floating point values coming from the MHA to the integer samples required by the
sound card.
Implements alsa_base_t (p. 207).
5.37.4 Member Data Documentation
5.37.4.1 template<typename T >unsigned int alsa_t<T>::channels [private]
5.37.4.2 template<typename T >unsigned int alsa_t<T>::fragsize [private]
5.37.4.3 template<typename T >Talsa_t<T>::buffer [private]
5.37.4.4 template<typename T >std::vector<mha_real_t>alsa_t<T>::frame_data [private]
5.37.4.5 template<typename T >MHASignal::waveform_t alsa_t<T>::wave [private]
internal buffer to store sound samples coming from the sound card.
© 2005-2019 HörTech gGmbH, Oldenburg
5.38 altplugs_t Class Reference 213
5.37.4.6 template<typename T >const mha_real_t alsa_t<T>::gain [private]
5.37.4.7 template<typename T >const mha_real_t alsa_t<T>::invgain [private]
5.37.4.8 template<typename T >const mha_real_t alsa_t<T>::val_min [private]
5.37.4.9 template<typename T >const mha_real_t alsa_t<T>::val_max [private]
5.37.4.10 template<typename T >snd_pcm_format_t alsa_t<T>::pcm_format [private]
The documentation for this class was generated from the following file:
MHAIOalsa.cpp
5.38 altplugs_t Class Reference
Inheritance diagram for altplugs_t:
altplugs_t
MHAPlugin::plugin_t
< MHAWindow::fun_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< MHAWindow::fun_t >
Public Member Functions
altplugs_t (algo_comm_t iac, const char chain, const char algo)
void prepare (mhaconfig_t &)
void release ()
void process (mha_wave_t ,mha_wave_t ∗∗)
void process (mha_spec_t ,mha_wave_t ∗∗)
void process (mha_wave_t ,mha_spec_t ∗∗)
void process (mha_spec_t ,mha_spec_t ∗∗)
virtual std::string parse (const std::string &arg)
virtual void parse (const char a1, char a2, unsigned int a3)
© 2005-2019 HörTech gGmbH, Oldenburg
214 CONTENTS
Private Member Functions
void event_set_plugs ()
void event_add_plug ()
void event_delete_plug ()
void event_select_plug ()
void update_selector_list ()
void update_ramplen ()
void proc_ramp (mha_wave_t s)
Private Attributes
MHAParser::bool_t use_own_ac
MHAParser::vstring_t parser_plugs
MHAParser::string_t add_plug
MHAParser::string_t delete_plug
MHAParser::float_t ramplen
MHAParser::kw_t select_plug
MHAParser::parser_t current
MHAParser::vstring_mon_t nondefault_labels
• std::vector<mhaplug_cfg_t >plugs
mhaplug_cfg_t selected_plug
MHAEvents::patchbay_t<altplugs_t >patchbay
MHASignal::waveform_t fallback_wave
MHASignal::spectrum_t fallback_spec
mhaconfig_t cfin
mhaconfig_t cfout
bool prepared
bool added_via_plugs
unsigned int ramp_counter
unsigned int ramp_len
Additional Inherited Members
5.38.1 Constructor & Destructor Documentation
5.38.1.1 altplugs_t::altplugs_t (
algo_comm_t iac,
const char chain,
const char algo )
5.38.2 Member Function Documentation
5.38.2.1 void altplugs_t::prepare (
mhaconfig_t &cf )[virtual]
Implements MHAPlugin::plugin_t<MHAWindow::fun_t >(p. 730).
© 2005-2019 HörTech gGmbH, Oldenburg
5.38 altplugs_t Class Reference 215
5.38.2.2 void altplugs_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<MHAWindow::fun_t >(p. 731).
5.38.2.3 void altplugs_t::process (
mha_wave_t sIn,
mha_wave_t ∗∗ sOut )
5.38.2.4 void altplugs_t::process (
mha_spec_t sIn,
mha_wave_t ∗∗ sOut )
5.38.2.5 void altplugs_t::process (
mha_wave_t sIn,
mha_spec_t ∗∗ sOut )
5.38.2.6 void altplugs_t::process (
mha_spec_t sIn,
mha_spec_t ∗∗ sOut )
5.38.2.7 std::string altplugs_t::parse (
const std::string & arg )[virtual]
Reimplemented from MHAParser::base_t (p. 637).
5.38.2.8 virtual void altplugs_t::parse (
const char a1,
char a2,
unsigned int a3 )[inline],[virtual]
Reimplemented from MHAParser::base_t (p. 638).
5.38.2.9 void altplugs_t::event_set_plugs ( ) [private]
5.38.2.10 void altplugs_t::event_add_plug ( ) [private]
5.38.2.11 void altplugs_t::event_delete_plug ( ) [private]
5.38.2.12 void altplugs_t::event_select_plug ( ) [private]
5.38.2.13 void altplugs_t::update_selector_list ( ) [private]
5.38.2.14 void altplugs_t::update_ramplen ( ) [private]
© 2005-2019 HörTech gGmbH, Oldenburg
216 CONTENTS
5.38.2.15 void altplugs_t::proc_ramp (
mha_wave_t s)[private]
5.38.3 Member Data Documentation
5.38.3.1 MHAParser::bool_t altplugs_t::use_own_ac [private]
5.38.3.2 MHAParser::vstring_t altplugs_t::parser_plugs [private]
5.38.3.3 MHAParser::string_t altplugs_t::add_plug [private]
5.38.3.4 MHAParser::string_t altplugs_t::delete_plug [private]
5.38.3.5 MHAParser::float_t altplugs_t::ramplen [private]
5.38.3.6 MHAParser::kw_t altplugs_t::select_plug [private]
5.38.3.7 MHAParser::parser_t altplugs_t::current [private]
5.38.3.8 MHAParser::vstring_mon_t altplugs_t::nondefault_labels [private]
5.38.3.9 std::vector<mhaplug_cfg_t>altplugs_t::plugs [private]
5.38.3.10 mhaplug_cfg_taltplugs_t::selected_plug [private]
5.38.3.11 MHAEvents::patchbay_t<altplugs_t>altplugs_t::patchbay [private]
5.38.3.12 MHASignal::waveform_taltplugs_t::fallback_wave [private]
5.38.3.13 MHASignal::spectrum_taltplugs_t::fallback_spec [private]
5.38.3.14 mhaconfig_t altplugs_t::cfin [private]
5.38.3.15 mhaconfig_t altplugs_t::cfout [private]
5.38.3.16 bool altplugs_t::prepared [private]
5.38.3.17 bool altplugs_t::added_via_plugs [private]
5.38.3.18 unsigned int altplugs_t::ramp_counter [private]
5.38.3.19 unsigned int altplugs_t::ramp_len [private]
The documentation for this class was generated from the following file:
altplugs.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.39 analysepath_t Class Reference 217
5.39 analysepath_t Class Reference
Public Member Functions
analysepath_t (unsigned int nchannels_in, unsigned int outer_fragsize, unsigned int
inner_fragsize, int priority,MHAProc_wave2wave_t inner_proc_wave2wave, MHA-
Proc_wave2spec_t inner_proc_wave2spec, void ilibdata, algo_comm_t outer_ac,
const MHA_AC::acspace2matrix_t &acspace_template, mha_domain_t inner_out_-
domain, unsigned int fifo_len_blocks)
virtual analysepath_t ()
void rt_process (mha_wave_t )
virtual int svc ()
Private Attributes
MHAProc_wave2wave_t inner_process_wave2wave
MHAProc_wave2spec_t inner_process_wave2spec
MHASignal::waveform_t inner_input
void libdata
mha_fifo_t<mha_real_t >wave_fifo
mha_fifo_t<MHA_AC::acspace2matrix_t >ac_fifo
MHA_AC::acspace2matrix_t inner_ac_copy
MHA_AC::acspace2matrix_t outer_ac_copy
algo_comm_t outer_ac
mha_domain_t inner_out_domain
MHA_Error inner_error
bool has_inner_error
bool flag_terminate_inner_thread
int input_to_process
pthread_mutex_t ProcessMutex
pthread_attr_t attr
struct sched_param priority
int scheduler
pthread_t thread
pthread_cond_t cond_to_process
5.39.1 Constructor & Destructor Documentation
5.39.1.1 analysepath_t::analysepath_t (
unsigned int nchannels_in,
unsigned int outer_fragsize,
unsigned int inner_fragsize,
int priority,
MHAProc_wave2wave_t inner_proc_wave2wave,
MHAProc_wave2spec_t inner_proc_wave2spec,
void ilibdata,
algo_comm_t outer_ac,
const MHA_AC::acspace2matrix_t &acspace_template,
mha_domain_t inner_out_domain,
unsigned int fifo_len_blocks )
© 2005-2019 HörTech gGmbH, Oldenburg
218 CONTENTS
5.39.1.2 analysepath_t::analysepath_t ( ) [virtual]
5.39.2 Member Function Documentation
5.39.2.1 void analysepath_t::rt_process (
mha_wave_t outer_input )
5.39.2.2 int analysepath_t::svc ( ) [virtual]
5.39.3 Member Data Documentation
5.39.3.1 MHAProc_wave2wave_t analysepath_t::inner_process_wave2wave [private]
5.39.3.2 MHAProc_wave2spec_t analysepath_t::inner_process_wave2spec [private]
5.39.3.3 MHASignal::waveform_t analysepath_t::inner_input [private]
5.39.3.4 voidanalysepath_t::libdata [private]
5.39.3.5 mha_fifo_t<mha_real_t>analysepath_t::wave_fifo [private]
5.39.3.6 mha_fifo_t<MHA_AC::acspace2matrix_t>analysepath_t::ac_fifo [private]
5.39.3.7 MHA_AC::acspace2matrix_t analysepath_t::inner_ac_copy [private]
5.39.3.8 MHA_AC::acspace2matrix_t analysepath_t::outer_ac_copy [private]
5.39.3.9 algo_comm_t analysepath_t::outer_ac [private]
5.39.3.10 mha_domain_t analysepath_t::inner_out_domain [private]
5.39.3.11 MHA_Error analysepath_t::inner_error [private]
5.39.3.12 bool analysepath_t::has_inner_error [private]
5.39.3.13 bool analysepath_t::flag_terminate_inner_thread [private]
5.39.3.14 int analysepath_t::input_to_process [private]
5.39.3.15 pthread_mutex_t analysepath_t::ProcessMutex [private]
5.39.3.16 pthread_attr_t analysepath_t::attr [private]
5.39.3.17 struct sched_param analysepath_t::priority [private]
5.39.3.18 int analysepath_t::scheduler [private]
5.39.3.19 pthread_t analysepath_t::thread [private]
5.39.3.20 pthread_cond_t analysepath_t::cond_to_process [private]
The documentation for this class was generated from the following file:
analysispath.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.40 analysispath_if_t Class Reference 219
5.40 analysispath_if_t Class Reference
Inheritance diagram for analysispath_if_t:
analysispath_if_t
MHAPlugin::plugin_t
< analysepath_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< analysepath_t >
Public Member Functions
analysispath_if_t (algo_comm_t, std::string, std::string)
mha_wave_t process (mha_wave_t )
void prepare (mhaconfig_t &)
void release ()
analysispath_if_t ()
Private Member Functions
void loadlib ()
Private Attributes
MHAEvents::patchbay_t<analysispath_if_t >patchbay
MHAParser::string_t libname
MHAParser::int_t fragsize
MHAParser::int_t fifolen
MHAParser::int_t priority
MHAParser::vstring_t vars
plug_t plug
std::string chain
std::string algo
MHA_AC::acspace2matrix_t acspace_template
© 2005-2019 HörTech gGmbH, Oldenburg
220 CONTENTS
Additional Inherited Members
5.40.1 Constructor & Destructor Documentation
5.40.1.1 analysispath_if_t::analysispath_if_t (
algo_comm_t iac,
std::string th,
std::string al )
5.40.1.2 analysispath_if_t::analysispath_if_t ( )
5.40.2 Member Function Documentation
5.40.2.1 mha_wave_t analysispath_if_t::process (
mha_wave_t s)
5.40.2.2 void analysispath_if_t::prepare (
mhaconfig_t &conf )[virtual]
Implements MHAPlugin::plugin_t<analysepath_t >(p. 730).
5.40.2.3 void analysispath_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<analysepath_t >(p. 731).
5.40.2.4 void analysispath_if_t::loadlib ( ) [private]
5.40.3 Member Data Documentation
5.40.3.1 MHAEvents::patchbay_t<analysispath_if_t >analysispath_if_t::patchbay
[private]
5.40.3.2 MHAParser::string_t analysispath_if_t::libname [private]
5.40.3.3 MHAParser::int_t analysispath_if_t::fragsize [private]
5.40.3.4 MHAParser::int_t analysispath_if_t::fifolen [private]
5.40.3.5 MHAParser::int_t analysispath_if_t::priority [private]
5.40.3.6 MHAParser::vstring_t analysispath_if_t::vars [private]
5.40.3.7 plug_tanalysispath_if_t::plug [private]
5.40.3.8 std::string analysispath_if_t::chain [private]
5.40.3.9 std::string analysispath_if_t::algo [private]
5.40.3.10 MHA_AC::acspace2matrix_tanalysispath_if_t::acspace_template [private]
The documentation for this class was generated from the following file:
analysispath.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.41 AuditoryProfile::fmap_t Class Reference 221
5.41 AuditoryProfile::fmap_t Class Reference
A class to store frequency dependent data (e.g., HTL and UCL).
Inherits map<mha_real_t, mha_real_t >.
Public Member Functions
• std::vector<mha_real_t >get_frequencies () const
Return configured frequencies.
• std::vector<mha_real_t >get_values () const
Return stored values corresponding to the frequencies.
bool isempty () const
5.41.1 Detailed Description
A class to store frequency dependent data (e.g., HTL and UCL).
5.41.2 Member Function Documentation
5.41.2.1 std::vector<mha_real_t >AuditoryProfile::fmap_t::get_frequencies ( ) const
Return configured frequencies.
5.41.2.2 std::vector<mha_real_t >AuditoryProfile::fmap_t::get_values ( ) const
Return stored values corresponding to the frequencies.
5.41.2.3 bool AuditoryProfile::fmap_t::isempty ( ) const [inline]
The documentation for this class was generated from the following files:
auditory_profile.h
auditory_profile.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
222 CONTENTS
5.42 AuditoryProfile::parser_t Class Reference
Class to make the auditory profile accessible through the parser interface.
Inheritance diagram for AuditoryProfile::parser_t:
AuditoryProfile::parser_t
MHAParser::parser_t
MHAParser::base_t
Classes
class ear_t
class fmap_t
Public Member Functions
parser_t ()
AuditoryProfile::profile_t get_current_profile ()
Private Attributes
AuditoryProfile::parser_t::ear_t L
AuditoryProfile::parser_t::ear_t R
Additional Inherited Members
5.42.1 Detailed Description
Class to make the auditory profile accessible through the parser interface.
© 2005-2019 HörTech gGmbH, Oldenburg
5.43 AuditoryProfile::parser_t::ear_t Class Reference 223
5.42.2 Constructor & Destructor Documentation
5.42.2.1 AuditoryProfile::parser_t::parser_t ( )
5.42.3 Member Function Documentation
5.42.3.1 AuditoryProfile::profile_t AuditoryProfile::parser_t::get_current_profile ( )
5.42.4 Member Data Documentation
5.42.4.1 AuditoryProfile::parser_t::ear_t AuditoryProfile::parser_t::L [private]
5.42.4.2 AuditoryProfile::parser_t::ear_t AuditoryProfile::parser_t::R [private]
The documentation for this class was generated from the following files:
auditory_profile.h
auditory_profile.cpp
5.43 AuditoryProfile::parser_t::ear_t Class Reference
Inheritance diagram for AuditoryProfile::parser_t::ear_t:
AuditoryProfile::parser
_t::ear_t
MHAParser::parser_t
MHAParser::base_t
Public Member Functions
ear_t ()
AuditoryProfile::profile_t::ear_t get_ear () const
© 2005-2019 HörTech gGmbH, Oldenburg
224 CONTENTS
Private Attributes
AuditoryProfile::parser_t::fmap_t HTL
AuditoryProfile::parser_t::fmap_t UCL
Additional Inherited Members
5.43.1 Constructor & Destructor Documentation
5.43.1.1 AuditoryProfile::parser_t::ear_t::ear_t ( )
5.43.2 Member Function Documentation
5.43.2.1 AuditoryProfile::profile_t::ear_t AuditoryProfile::parser_t::ear_t::get_ear ( ) const
5.43.3 Member Data Documentation
5.43.3.1 AuditoryProfile::parser_t::fmap_t AuditoryProfile::parser_t::ear_t::HTL [private]
5.43.3.2 AuditoryProfile::parser_t::fmap_t AuditoryProfile::parser_t::ear_t::UCL [private]
The documentation for this class was generated from the following files:
auditory_profile.h
auditory_profile.cpp
5.44 AuditoryProfile::parser_t::fmap_t Class Reference
Inheritance diagram for AuditoryProfile::parser_t::fmap_t:
AuditoryProfile::parser
_t::fmap_t
MHAParser::parser_t
MHAParser::base_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.44 AuditoryProfile::parser_t::fmap_t Class Reference 225
Public Member Functions
fmap_t (const std::string &name, const std::string &help)
AuditoryProfile::fmap_t get_fmap () const
Private Member Functions
void validate ()
Private Attributes
MHAEvents::patchbay_t<AuditoryProfile::parser_t::fmap_t >patchbay
MHAParser::vfloat_t f
MHAParser::vfloat_t value
std::string name_
Additional Inherited Members
5.44.1 Constructor & Destructor Documentation
5.44.1.1 AuditoryProfile::parser_t::fmap_t::fmap_t (
const std::string & name,
const std::string & help )
5.44.2 Member Function Documentation
5.44.2.1 AuditoryProfile::fmap_t AuditoryProfile::parser_t::fmap_t::get_fmap ( ) const
5.44.2.2 void AuditoryProfile::parser_t::fmap_t::validate ( ) [private]
5.44.3 Member Data Documentation
5.44.3.1 MHAEvents::patchbay_t<AuditoryProfile::parser_t::fmap_t>
AuditoryProfile::parser_t::fmap_t::patchbay [private]
5.44.3.2 MHAParser::vfloat_t AuditoryProfile::parser_t::fmap_t::f [private]
5.44.3.3 MHAParser::vfloat_t AuditoryProfile::parser_t::fmap_t::value [private]
5.44.3.4 std::string AuditoryProfile::parser_t::fmap_t::name_ [private]
The documentation for this class was generated from the following files:
auditory_profile.h
auditory_profile.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
226 CONTENTS
5.45 AuditoryProfile::profile_t Class Reference
The Auditory Profile class.
Classes
class ear_t
Class for ear-dependent parameters, e.g., audiograms or unilateral loudness scaling.
Public Member Functions
AuditoryProfile::profile_t::ear_t get_ear (unsigned int channel) const
Return ear information of channel number.
Public Attributes
AuditoryProfile::profile_t::ear_t L
Left ear data.
AuditoryProfile::profile_t::ear_t R
Right ear data.
5.45.1 Detailed Description
The Auditory Profile class.
See definition of auditory profile
Todo Give more documentation; implement all parts of the auditory profile.
Currently only the audiogram data is stored.
5.45.2 Member Function Documentation
5.45.2.1 AuditoryProfile::profile_t::ear_t AuditoryProfile::profile_t::get_ear (
unsigned int channel ) const [inline]
Return ear information of channel number.
© 2005-2019 HörTech gGmbH, Oldenburg
5.46 AuditoryProfile::profile_t::ear_t Class Reference 227
5.45.3 Member Data Documentation
5.45.3.1 AuditoryProfile::profile_t::ear_t AuditoryProfile::profile_t::L
Left ear data.
5.45.3.2 AuditoryProfile::profile_t::ear_t AuditoryProfile::profile_t::R
Right ear data.
The documentation for this class was generated from the following file:
auditory_profile.h
5.46 AuditoryProfile::profile_t::ear_t Class Reference
Class for ear-dependent parameters, e.g., audiograms or unilateral loudness scaling.
Public Member Functions
void convert_empty2normal ()
Public Attributes
AuditoryProfile::fmap_t HTL
AuditoryProfile::fmap_t UCL
5.46.1 Detailed Description
Class for ear-dependent parameters, e.g., audiograms or unilateral loudness scaling.
5.46.2 Member Function Documentation
5.46.2.1 void AuditoryProfile::profile_t::ear_t::convert_empty2normal ( )
5.46.3 Member Data Documentation
5.46.3.1 AuditoryProfile::fmap_t AuditoryProfile::profile_t::ear_t::HTL
5.46.3.2 AuditoryProfile::fmap_t AuditoryProfile::profile_t::ear_t::UCL
The documentation for this class was generated from the following files:
auditory_profile.h
auditory_profile.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
228 CONTENTS
5.47 bbcalib_interface_t Class Reference
Inheritance diagram for bbcalib_interface_t:
bbcalib_interface_t
MHAPlugin::plugin_t
< int >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< int >
Public Member Functions
bbcalib_interface_t (const algo_comm_t &, const std::string &, const std::string &)
bbcalib_interface_t ()
mha_wave_t process (mha_wave_t )
void prepare (mhaconfig_t &)
void release ()
Private Attributes
calibrator_t calib_in
calibrator_t calib_out
MHAParser::mhapluginloader_t plugloader
© 2005-2019 HörTech gGmbH, Oldenburg
5.48 calibrator_runtime_layer_t Class Reference 229
Additional Inherited Members
5.47.1 Constructor & Destructor Documentation
5.47.1.1 bbcalib_interface_t::bbcalib_interface_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.47.1.2 bbcalib_interface_t::bbcalib_interface_t ( )
5.47.2 Member Function Documentation
5.47.2.1 mha_wave_t bbcalib_interface_t::process (
mha_wave_t s)
5.47.2.2 void bbcalib_interface_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<int >(p. 730).
5.47.2.3 void bbcalib_interface_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<int >(p. 731).
5.47.3 Member Data Documentation
5.47.3.1 calibrator_t bbcalib_interface_t::calib_in [private]
5.47.3.2 calibrator_t bbcalib_interface_t::calib_out [private]
5.47.3.3 MHAParser::mhapluginloader_t bbcalib_interface_t::plugloader [private]
The documentation for this class was generated from the following file:
transducers.cpp
5.48 calibrator_runtime_layer_t Class Reference
Public Member Functions
calibrator_runtime_layer_t (bool is_input, const mhaconfig_t &tf, calibrator_-
variables_t &vars)
mha_real_t process (mha_wave_t ∗∗)
© 2005-2019 HörTech gGmbH, Oldenburg
230 CONTENTS
Static Private Member Functions
static unsigned int firfirlen (const std::vector<std::vector<float > > &)
static unsigned int firfir2fftlen (unsigned int, const std::vector<std::vector<float > > &)
Private Attributes
MHAFilter::fftfilter_t fir
MHASignal::quantizer_t quant
MHASignal::waveform_t gain
softclipper_t softclip
bool b_is_input
bool b_use_fir
bool b_use_clipping
MHASignal::loop_wavefragment_t speechnoise
MHASignal::loop_wavefragment_t::playback_mode_t pmode
5.48.1 Constructor & Destructor Documentation
5.48.1.1 calibrator_runtime_layer_t::calibrator_runtime_layer_t (
bool is_input,
const mhaconfig_t &tf,
calibrator_variables_t &vars )
5.48.2 Member Function Documentation
5.48.2.1 mha_real_t calibrator_runtime_layer_t::process (
mha_wave_t ∗∗ s)
5.48.2.2 unsigned int calibrator_runtime_layer_t::firfirlen (
const std::vector<std::vector<float > > &fir )[static],[private]
5.48.2.3 unsigned int calibrator_runtime_layer_t::firfir2fftlen (
unsigned int fragsize,
const std::vector<std::vector<float > > &fir )[static],[private]
5.48.3 Member Data Documentation
5.48.3.1 MHAFilter::fftfilter_t calibrator_runtime_layer_t::fir [private]
5.48.3.2 MHASignal::quantizer_t calibrator_runtime_layer_t::quant [private]
5.48.3.3 MHASignal::waveform_t calibrator_runtime_layer_t::gain [private]
© 2005-2019 HörTech gGmbH, Oldenburg
5.49 calibrator_t Class Reference 231
5.48.3.4 softclipper_t calibrator_runtime_layer_t::softclip [private]
5.48.3.5 bool calibrator_runtime_layer_t::b_is_input [private]
5.48.3.6 bool calibrator_runtime_layer_t::b_use_fir [private]
5.48.3.7 bool calibrator_runtime_layer_t::b_use_clipping [private]
5.48.3.8 MHASignal::loop_wavefragment_t calibrator_runtime_layer_t::speechnoise
[private]
5.48.3.9 MHASignal::loop_wavefragment_t::playback_mode_t calibrator_runtime_layer_t-
::pmode [private]
The documentation for this class was generated from the following file:
transducers.cpp
5.49 calibrator_t Class Reference
Inheritance diagram for calibrator_t:
calibrator_t
rtcalibrator
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< runtime_cfg_t >
rmslevelmeter
© 2005-2019 HörTech gGmbH, Oldenburg
232 CONTENTS
Public Member Functions
calibrator_t (algo_comm_t, bool is_input)
void prepare (mhaconfig_t &tf)
void release ()
mha_wave_t process (mha_wave_t s)
Private Member Functions
void update ()
void update_tau_level ()
void read_levels ()
Private Attributes
bool b_is_input
MHAEvents::patchbay_t<calibrator_t >patchbay
calibrator_variables_t vars
bool prepared
Additional Inherited Members
5.49.1 Constructor & Destructor Documentation
5.49.1.1 calibrator_t::calibrator_t (
algo_comm_t iac,
bool is_input )
5.49.2 Member Function Documentation
5.49.2.1 void calibrator_t::prepare (
mhaconfig_t &tf )[inline],[virtual]
Implements MHAPlugin::plugin_t<runtime_cfg_t >(p. 730).
5.49.2.2 void calibrator_t::release (
void ) [inline],[virtual]
Reimplemented from MHAPlugin::plugin_t<runtime_cfg_t >(p. 731).
© 2005-2019 HörTech gGmbH, Oldenburg
5.50 calibrator_variables_t Class Reference 233
5.49.2.3 mha_wave_t calibrator_t::process (
mha_wave_t s)
5.49.2.4 void calibrator_t::update ( ) [private]
5.49.2.5 void calibrator_t::update_tau_level ( ) [private]
5.49.2.6 void calibrator_t::read_levels ( ) [private]
5.49.3 Member Data Documentation
5.49.3.1 bool calibrator_t::b_is_input [private]
5.49.3.2 MHAEvents::patchbay_t<calibrator_t>calibrator_t::patchbay [private]
5.49.3.3 calibrator_variables_t calibrator_t::vars [private]
5.49.3.4 bool calibrator_t::prepared [private]
The documentation for this class was generated from the following file:
transducers.cpp
5.50 calibrator_variables_t Class Reference
Public Member Functions
calibrator_variables_t (bool is_input, MHAParser::parser_t &parent)
Public Attributes
MHAParser::vfloat_t peaklevel
MHAParser::mfloat_t fir
MHAParser::int_t nbits
MHAParser::float_t tau_level
MHAParser::kw_t spnoise_mode
MHAParser::vint_t spnoise_channels
MHAParser::float_t spnoise_level
MHAParser::vfloat_mon_t rmslevel
MHAParser::parser_t spnoise_parser
MHAParser::float_mon_t srate
MHAParser::int_mon_t fragsize
MHAParser::int_mon_t num_channels
MHAParser::parser_t config_parser
softclipper_variables_t softclip
MHAParser::bool_t do_clipping
© 2005-2019 HörTech gGmbH, Oldenburg
234 CONTENTS
5.50.1 Constructor & Destructor Documentation
5.50.1.1 calibrator_variables_t::calibrator_variables_t (
bool is_input,
MHAParser::parser_t &parent )
5.50.2 Member Data Documentation
5.50.2.1 MHAParser::vfloat_t calibrator_variables_t::peaklevel
5.50.2.2 MHAParser::mfloat_t calibrator_variables_t::fir
5.50.2.3 MHAParser::int_t calibrator_variables_t::nbits
5.50.2.4 MHAParser::float_t calibrator_variables_t::tau_level
5.50.2.5 MHAParser::kw_t calibrator_variables_t::spnoise_mode
5.50.2.6 MHAParser::vint_t calibrator_variables_t::spnoise_channels
5.50.2.7 MHAParser::float_t calibrator_variables_t::spnoise_level
5.50.2.8 MHAParser::vfloat_mon_t calibrator_variables_t::rmslevel
5.50.2.9 MHAParser::parser_t calibrator_variables_t::spnoise_parser
5.50.2.10 MHAParser::float_mon_t calibrator_variables_t::srate
5.50.2.11 MHAParser::int_mon_t calibrator_variables_t::fragsize
5.50.2.12 MHAParser::int_mon_t calibrator_variables_t::num_channels
5.50.2.13 MHAParser::parser_t calibrator_variables_t::config_parser
5.50.2.14 softclipper_variables_t calibrator_variables_t::softclip
5.50.2.15 MHAParser::bool_t calibrator_variables_t::do_clipping
The documentation for this class was generated from the following file:
transducers.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.51 cfg_t Class Reference 235
5.51 cfg_t Class Reference
Public Member Functions
cfg_t (unsigned int, unsigned int)
cfg_t (mhaconfig_t chcfg, mha_real_t newlev, bool replace, mha_real_t len)
void process (mha_wave_t )
void process (mha_spec_t )
cfg_t (mha_real_t tau_attack, mha_real_t tau_decay, unsigned int nch, mha_real_-
tstart_limit, mha_real_t slope_db, mha_real_t fs)
Public Attributes
unsigned int channel
mha_real_t start_lin
mha_real_t alpha
MHAFilter::o1flt_lowpass_t attack
MHAFilter::o1flt_maxtrack_t decay
Private Attributes
mha_real_t gain_wave_
mha_real_t gain_spec_
bool replace_
bool use_frozen_
MHASignal::waveform_t frozen_noise_
unsigned int pos
5.51.1 Constructor & Destructor Documentation
5.51.1.1 cfg_t::cfg_t (
unsigned int ichannel,
unsigned int numchannels )
5.51.1.2 cfg_t::cfg_t (
mhaconfig_t chcfg,
mha_real_t newlev,
bool replace,
mha_real_t len )
5.51.1.3 cfg_t::cfg_t (
mha_real_t tau_attack,
mha_real_t tau_decay,
unsigned int nch,
mha_real_t start_limit,
mha_real_t slope_db,
mha_real_t fs )
© 2005-2019 HörTech gGmbH, Oldenburg
236 CONTENTS
5.51.2 Member Function Documentation
5.51.2.1 void cfg_t::process (
mha_wave_t s)[inline]
5.51.2.2 void cfg_t::process (
mha_spec_t s)[inline]
5.51.3 Member Data Documentation
5.51.3.1 unsigned int cfg_t::channel
5.51.3.2 mha_real_t cfg_t::gain_wave_ [private]
5.51.3.3 mha_real_t cfg_t::gain_spec_ [private]
5.51.3.4 bool cfg_t::replace_ [private]
5.51.3.5 bool cfg_t::use_frozen_ [private]
5.51.3.6 MHASignal::waveform_t cfg_t::frozen_noise_ [private]
5.51.3.7 unsigned int cfg_t::pos [private]
5.51.3.8 mha_real_t cfg_t::start_lin
5.51.3.9 mha_real_t cfg_t::alpha
5.51.3.10 MHAFilter::o1flt_lowpass_t cfg_t::attack
5.51.3.11 MHAFilter::o1flt_maxtrack_t cfg_t::decay
The documentation for this class was generated from the following files:
example6.cpp
noise.cpp
softclip.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.52 coherence::cohflt_if_t Class Reference 237
5.52 coherence::cohflt_if_t Class Reference
Inheritance diagram for coherence::cohflt_if_t:
coherence::cohflt_if_t
MHAPlugin::plugin_t
< cohflt_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< cohflt_t >
Public Member Functions
cohflt_if_t (const algo_comm_t &, const std::string &, const std::string &)
void prepare (mhaconfig_t &)
void release ()
mha_spec_t process (mha_spec_t )
Private Member Functions
void update ()
Private Attributes
MHAEvents::patchbay_t<cohflt_if_t >patchbay
vars_t vars
const std::string algo
© 2005-2019 HörTech gGmbH, Oldenburg
238 CONTENTS
Additional Inherited Members
5.52.1 Constructor & Destructor Documentation
5.52.1.1 coherence::cohflt_if_t::cohflt_if_t (
const algo_comm_t &ac,
const std::string & th,
const std::string & al )
5.52.2 Member Function Documentation
5.52.2.1 void coherence::cohflt_if_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<cohflt_t >(p. 730).
5.52.2.2 void coherence::cohflt_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<cohflt_t >(p. 731).
5.52.2.3 mha_spec_t coherence::cohflt_if_t::process (
mha_spec_t s)
5.52.2.4 void coherence::cohflt_if_t::update ( ) [private]
5.52.3 Member Data Documentation
5.52.3.1 MHAEvents::patchbay_t<cohflt_if_t>coherence::cohflt_if_t::patchbay [private]
5.52.3.2 vars_t coherence::cohflt_if_t::vars [private]
5.52.3.3 const std::string coherence::cohflt_if_t::algo [private]
The documentation for this class was generated from the following file:
coherence.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.53 coherence::cohflt_t Class Reference 239
5.53 coherence::cohflt_t Class Reference
Inheritance diagram for coherence::cohflt_t:
coherence::cohflt_t
MHAOvlFilter::fftfb_t
MHAOvlFilter::fspacing_t MHASignal::waveform_t
mha_wave_t
mhaconfig_t
Public Member Functions
cohflt_t (vars_t &v, const mhaconfig_t &icf, algo_comm_t iac, const std::string &name)
mha_spec_t process (mha_spec_t )
void insert ()
Private Attributes
unsigned int nbands
bool avg_ipd
mha_complex_t cg
float g
float c_scale
float c_min
MHASignal::waveform_t alpha
float limit
MHAFilter::o1flt_lowpass_t lp1r
MHAFilter::o1flt_lowpass_t lp1i
MHA_AC::spectrum_t coh_c
MHA_AC::waveform_t coh_rlp
MHASignal::waveform_t gain
MHASignal::delay_wave_t gain_delay
© 2005-2019 HörTech gGmbH, Oldenburg
240 CONTENTS
MHASignal::spectrum_t s_out
bool bInvert
MHAFilter::o1flt_lowpass_t lp1ltg
bool b_ltg
• std::vector<float >staticgain
Additional Inherited Members
5.53.1 Constructor & Destructor Documentation
5.53.1.1 coherence::cohflt_t::cohflt_t (
vars_t &v,
const mhaconfig_t &icf,
algo_comm_t iac,
const std::string & name )
5.53.2 Member Function Documentation
5.53.2.1 mha_spec_t coherence::cohflt_t::process (
mha_spec_t s)
5.53.2.2 void coherence::cohflt_t::insert ( )
5.53.3 Member Data Documentation
5.53.3.1 unsigned int coherence::cohflt_t::nbands [private]
5.53.3.2 bool coherence::cohflt_t::avg_ipd [private]
5.53.3.3 mha_complex_t coherence::cohflt_t::cg [private]
5.53.3.4 float coherence::cohflt_t::g [private]
5.53.3.5 float coherence::cohflt_t::c_scale [private]
5.53.3.6 float coherence::cohflt_t::c_min [private]
5.53.3.7 MHASignal::waveform_t coherence::cohflt_t::alpha [private]
5.53.3.8 float coherence::cohflt_t::limit [private]
5.53.3.9 MHAFilter::o1flt_lowpass_t coherence::cohflt_t::lp1r [private]
© 2005-2019 HörTech gGmbH, Oldenburg
5.54 coherence::vars_t Class Reference 241
5.53.3.10 MHAFilter::o1flt_lowpass_t coherence::cohflt_t::lp1i [private]
5.53.3.11 MHA_AC::spectrum_t coherence::cohflt_t::coh_c [private]
5.53.3.12 MHA_AC::waveform_t coherence::cohflt_t::coh_rlp [private]
5.53.3.13 MHASignal::waveform_t coherence::cohflt_t::gain [private]
5.53.3.14 MHASignal::delay_wave_t coherence::cohflt_t::gain_delay [private]
5.53.3.15 MHASignal::spectrum_t coherence::cohflt_t::s_out [private]
5.53.3.16 bool coherence::cohflt_t::bInvert [private]
5.53.3.17 MHAFilter::o1flt_lowpass_t coherence::cohflt_t::lp1ltg [private]
5.53.3.18 bool coherence::cohflt_t::b_ltg [private]
5.53.3.19 std::vector<float>coherence::cohflt_t::staticgain [private]
The documentation for this class was generated from the following file:
coherence.cpp
5.54 coherence::vars_t Class Reference
Inheritance diagram for coherence::vars_t:
coherence::vars_t
MHAOvlFilter::fftfb
_vars_t
Public Member Functions
vars_t (MHAParser::parser_t )
© 2005-2019 HörTech gGmbH, Oldenburg
242 CONTENTS
Public Attributes
MHAParser::kw_t tau_unit
MHAParser::vfloat_t tau
MHAParser::vfloat_t alpha
MHAParser::float_t limit
MHAParser::vfloat_t mapping
MHAParser::kw_t average
MHAParser::bool_t invert
MHAParser::bool_t ltgcomp
MHAParser::vfloat_t ltgtau
MHAParser::vfloat_t staticgain
MHAParser::int_t delay
5.54.1 Constructor & Destructor Documentation
5.54.1.1 coherence::vars_t::vars_t (
MHAParser::parser_t p)
5.54.2 Member Data Documentation
5.54.2.1 MHAParser::kw_t coherence::vars_t::tau_unit
5.54.2.2 MHAParser::vfloat_t coherence::vars_t::tau
5.54.2.3 MHAParser::vfloat_t coherence::vars_t::alpha
5.54.2.4 MHAParser::float_t coherence::vars_t::limit
5.54.2.5 MHAParser::vfloat_t coherence::vars_t::mapping
5.54.2.6 MHAParser::kw_t coherence::vars_t::average
5.54.2.7 MHAParser::bool_t coherence::vars_t::invert
5.54.2.8 MHAParser::bool_t coherence::vars_t::ltgcomp
5.54.2.9 MHAParser::vfloat_t coherence::vars_t::ltgtau
5.54.2.10 MHAParser::vfloat_t coherence::vars_t::staticgain
5.54.2.11 MHAParser::int_t coherence::vars_t::delay
The documentation for this class was generated from the following file:
coherence.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.55 combc_if_t Class Reference 243
5.55 combc_if_t Class Reference
Inheritance diagram for combc_if_t:
combc_if_t
MHAPlugin::plugin_t
< combc_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< combc_t >
Public Member Functions
combc_if_t (const algo_comm_t &, const std::string &, const std::string &)
void prepare (mhaconfig_t &)
mha_wave_t process (mha_wave_t )
mha_spec_t process (mha_spec_t )
Private Attributes
MHAParser::int_t outchannels
MHAParser::bool_t interleaved
MHAParser::string_t channel_gain_name
MHAParser::string_t element_gain_name
© 2005-2019 HörTech gGmbH, Oldenburg
244 CONTENTS
Additional Inherited Members
5.55.1 Constructor & Destructor Documentation
5.55.1.1 combc_if_t::combc_if_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.55.2 Member Function Documentation
5.55.2.1 void combc_if_t::prepare (
mhaconfig_t &chcfg )[virtual]
Implements MHAPlugin::plugin_t<combc_t >(p. 730).
5.55.2.2 mha_wave_t combc_if_t::process (
mha_wave_t s)
5.55.2.3 mha_spec_t combc_if_t::process (
mha_spec_t s)
5.55.3 Member Data Documentation
5.55.3.1 MHAParser::int_t combc_if_t::outchannels [private]
5.55.3.2 MHAParser::bool_t combc_if_t::interleaved [private]
5.55.3.3 MHAParser::string_t combc_if_t::channel_gain_name [private]
5.55.3.4 MHAParser::string_t combc_if_t::element_gain_name [private]
The documentation for this class was generated from the following file:
combinechannels.cpp
5.56 combc_t Class Reference
Public Member Functions
combc_t (algo_comm_t ac, mhaconfig_t cfg_input, mhaconfig_t cfg_output, std-
::vector<float >channel_gains, const std::string &element_gain_name, bool interleaved)
mha_wave_t process (mha_wave_t s)
mha_spec_t process (mha_spec_t s)
© 2005-2019 HörTech gGmbH, Oldenburg
5.56 combc_t Class Reference 245
Private Attributes
algo_comm_t ac_
bool interleaved_
unsigned int nbands
MHASignal::waveform_t w_out
MHASignal::spectrum_t s_out
• std::vector<mha_real_t >channel_gains_
std::string element_gain_name_
5.56.1 Constructor & Destructor Documentation
5.56.1.1 combc_t::combc_t (
algo_comm_t ac,
mhaconfig_t cfg_input,
mhaconfig_t cfg_output,
std::vector<float >channel_gains,
const std::string & element_gain_name,
bool interleaved )
5.56.2 Member Function Documentation
5.56.2.1 mha_wave_t combc_t::process (
mha_wave_t s)
5.56.2.2 mha_spec_t combc_t::process (
mha_spec_t s)
5.56.3 Member Data Documentation
5.56.3.1 algo_comm_t combc_t::ac_ [private]
5.56.3.2 bool combc_t::interleaved_ [private]
5.56.3.3 unsigned int combc_t::nbands [private]
5.56.3.4 MHASignal::waveform_t combc_t::w_out [private]
5.56.3.5 MHASignal::spectrum_t combc_t::s_out [private]
5.56.3.6 std::vector<mha_real_t>combc_t::channel_gains_ [private]
5.56.3.7 std::string combc_t::element_gain_name_ [private]
The documentation for this class was generated from the following file:
combinechannels.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
246 CONTENTS
5.57 comm_var_t Struct Reference
Algorithm communication variable structure.
Public Attributes
unsigned int data_type
Type of data.
unsigned int num_entries
Number of entries.
unsigned int stride
length of one row (C interpretation) or of one column (Fortran interpretation)
void data
Pointer to variable data.
5.57.1 Detailed Description
Algorithm communication variable structure.
Algorithm communication variables (AC variables) are objects of this type. The member data
is a pointer to the variable ‘data'. This pointer has to be valid for the lifetime of this AC variable.
The member ‘data_type' can be one of the predefined types or any user defined type. The
member ‘num_entries' describes the number of elements of this base type stored at the pointer
address.
An AC variable can be registered with the \ref
algo_comm_t::insert_var "insert_var" function.
5.57.2 Member Data Documentation
5.57.2.1 comm_var_t::data_type
Type of data.
This can be one of the predefined types
• MHA_AC_CHAR
• MHA_AC_INT
• MHA_AC_MHAREAL
• MHA_AC_FLOAT
• MHA_AC_DOUBLE
• MHA_AC_MHACOMPLEX
MHA_AC_VEC_FLOAT or any user defined type with a value greater than
• MHA_AC_USER
© 2005-2019 HörTech gGmbH, Oldenburg
5.58 cpuload_t Class Reference 247
5.57.2.2 comm_var_t::num_entries
Number of entries.
5.57.2.3 comm_var_t::stride
length of one row (C interpretation) or of one column (Fortran interpretation)
5.57.2.4 comm_var_t::data
Pointer to variable data.
The documentation for this struct was generated from the following files:
mha.hh
mha_algo_comm.cpp
5.58 cpuload_t Class Reference
Inheritance diagram for cpuload_t:
cpuload_t
MHAPlugin::plugin_t
< float >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< float >
© 2005-2019 HörTech gGmbH, Oldenburg
248 CONTENTS
Public Member Functions
cpuload_t (algo_comm_t, const char , const char )
mha_spec_t process (mha_spec_t )
mha_wave_t process (mha_wave_t )
void prepare (mhaconfig_t &)
Private Member Functions
void compute_something ()
void compute_something_else ()
Private Attributes
MHAParser::float_t factor
MHAParser::bool_t use_sine
float phase
volatile float result
• std::vector<float >table
Additional Inherited Members
5.58.1 Constructor & Destructor Documentation
5.58.1.1 cpuload_t::cpuload_t (
algo_comm_t iac,
const char ,
const char )
5.58.2 Member Function Documentation
5.58.2.1 mha_spec_t cpuload_t::process (
mha_spec_t s)
5.58.2.2 mha_wave_t cpuload_t::process (
mha_wave_t s)
5.58.2.3 void cpuload_t::prepare (
mhaconfig_t &cf )[virtual]
Implements MHAPlugin::plugin_t<float >(p. 730).
© 2005-2019 HörTech gGmbH, Oldenburg
5.59 db_if_t Class Reference 249
5.58.2.4 void cpuload_t::compute_something ( ) [inline],[private]
5.58.2.5 void cpuload_t::compute_something_else ( ) [inline],[private]
5.58.3 Member Data Documentation
5.58.3.1 MHAParser::float_t cpuload_t::factor [private]
5.58.3.2 MHAParser::bool_t cpuload_t::use_sine [private]
5.58.3.3 float cpuload_t::phase [private]
5.58.3.4 volatile float cpuload_t::result [private]
5.58.3.5 std::vector<float>cpuload_t::table [private]
The documentation for this class was generated from the following file:
cpuload.cpp
5.59 db_if_t Class Reference
Inheritance diagram for db_if_t:
db_if_t
MHAPlugin::plugin_t
< db_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< db_t >
© 2005-2019 HörTech gGmbH, Oldenburg
250 CONTENTS
Public Member Functions
db_if_t (algo_comm_t, std::string, std::string)
mha_wave_t process (mha_wave_t )
void prepare (mhaconfig_t &)
void release ()
db_if_t ()
Private Attributes
MHAEvents::patchbay_t<db_if_t >patchbay
MHAParser::int_t fragsize
MHAParser::mhapluginloader_t plugloader
std::string chain
std::string algo
bool bypass
Additional Inherited Members
5.59.1 Constructor & Destructor Documentation
5.59.1.1 db_if_t::db_if_t (
algo_comm_t iac,
std::string th,
std::string al )
5.59.1.2 db_if_t::db_if_t ( )
5.59.2 Member Function Documentation
5.59.2.1 mha_wave_t db_if_t::process (
mha_wave_t s)
5.59.2.2 void db_if_t::prepare (
mhaconfig_t &conf )[virtual]
Implements MHAPlugin::plugin_t<db_t >(p. 730).
5.59.2.3 void db_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<db_t >(p. 731).
© 2005-2019 HörTech gGmbH, Oldenburg
5.60 db_t Class Reference 251
5.59.3 Member Data Documentation
5.59.3.1 MHAEvents::patchbay_t<db_if_t >db_if_t::patchbay [private]
5.59.3.2 MHAParser::int_t db_if_t::fragsize [private]
5.59.3.3 MHAParser::mhapluginloader_t db_if_t::plugloader [private]
5.59.3.4 std::string db_if_t::chain [private]
5.59.3.5 std::string db_if_t::algo [private]
5.59.3.6 bool db_if_t::bypass [private]
The documentation for this class was generated from the following file:
db.cpp
5.60 db_t Class Reference
Inheritance diagram for db_t:
db_t
MHASignal::doublebuffer_t
Public Member Functions
db_t (unsigned int outer_fragsize, unsigned int inner_fragsize, unsigned int nch_in, un-
signed int nch_out, MHAParser::mhapluginloader_t &plug)
mha_wave_t inner_process (mha_wave_t )
Private Attributes
MHAParser::mhapluginloader_t &plugloader
© 2005-2019 HörTech gGmbH, Oldenburg
252 CONTENTS
Additional Inherited Members
5.60.1 Constructor & Destructor Documentation
5.60.1.1 db_t::db_t (
unsigned int outer_fragsize,
unsigned int inner_fragsize,
unsigned int nch_in,
unsigned int nch_out,
MHAParser::mhapluginloader_t &plug )
5.60.2 Member Function Documentation
5.60.2.1 mha_wave_t db_t::inner_process (
mha_wave_t s)[virtual]
Implements MHASignal::doublebuffer_t (p. 771).
5.60.3 Member Data Documentation
5.60.3.1 MHAParser::mhapluginloader_t& db_t::plugloader [private]
The documentation for this class was generated from the following file:
db.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.61 dc::dc_if_t Class Reference 253
5.61 dc::dc_if_t Class Reference
Inheritance diagram for dc::dc_if_t:
dc::dc_if_t
MHAPlugin::plugin_t
< dc_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< dc_t >
dc::dc_vars_t
Public Member Functions
dc_if_t (const algo_comm_t &ac_, const std::string &th_, const std::string &al_)
void prepare (mhaconfig_t &tf)
mha_wave_t process (mha_wave_t )
mha_spec_t process (mha_spec_t )
Private Member Functions
void update_monitors ()
Called from within the processing routines: updates the monitor variables.
void update ()
Called by MHA configuration change event mechanism: creates new runtime configuration.
Private Attributes
std::string algo
wideband_inhib_vars_t wbinhib
MHAEvents::patchbay_t<dc_if_t >patchbay
© 2005-2019 HörTech gGmbH, Oldenburg
254 CONTENTS
Additional Inherited Members
5.61.1 Constructor & Destructor Documentation
5.61.1.1 dc::dc_if_t::dc_if_t (
const algo_comm_t &ac_,
const std::string & th_,
const std::string & al_ )
5.61.2 Member Function Documentation
5.61.2.1 void dc::dc_if_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<dc_t >(p. 730).
5.61.2.2 mha_wave_t dc::dc_if_t::process (
mha_wave_t s_in )
5.61.2.3 mha_spec_t dc::dc_if_t::process (
mha_spec_t s_in )
5.61.2.4 void dc::dc_if_t::update_monitors ( ) [private]
Called from within the processing routines: updates the monitor variables.
5.61.2.5 void dc::dc_if_t::update ( ) [private]
Called by MHA configuration change event mechanism: creates new runtime configuration.
5.61.3 Member Data Documentation
5.61.3.1 std::string dc::dc_if_t::algo [private]
5.61.3.2 wideband_inhib_vars_t dc::dc_if_t::wbinhib [private]
5.61.3.3 MHAEvents::patchbay_t<dc_if_t>dc::dc_if_t::patchbay [private]
The documentation for this class was generated from the following file:
dc.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.62 dc::dc_t Class Reference 255
5.62 dc::dc_t Class Reference
Inheritance diagram for dc::dc_t:
dc::dc_t
dc::dc_vars_validator_t
Public Member Functions
dc_t (dc_vars_t vars, mha_real_t filter_rate, unsigned int nch, algo_comm_t ac, mha-
_domain_t domain, unsigned int fftlen, std::string algo)
mha_wave_t process (mha_wave_t )
mha_spec_t process (mha_spec_t ,wb_inhib_cfg_t wbinhib)
void explicit_insert ()
unsigned get_nbands () const
Number of frequency bands accessor.
const MHASignal::waveform_t &get_level_in_db () const
const MHASignal::waveform_t &get_level_in_db_adjusted () const
Private Attributes
• std::vector<MHATableLookup::linear_table_t >gt
MHAFilter::o1flt_lowpass_t rmslevel
MHAFilter::o1flt_lowpass_t attack
MHAFilter::o1flt_maxtrack_t decay
bool powersum
bool bypass
unsigned int naudiochannels
unsigned int nbands
MHA_AC::waveform_t level_in_db
MHA_AC::waveform_t level_in_db_adjusted
MHA_AC::waveform_t inhib_gain
MHASignal::waveform_t max_level_difference
unsigned int k_nyquist
© 2005-2019 HörTech gGmbH, Oldenburg
256 CONTENTS
Additional Inherited Members
5.62.1 Constructor & Destructor Documentation
5.62.1.1 dc::dc_t::dc_t (
dc_vars_t vars,
mha_real_t filter_rate,
unsigned int nch,
algo_comm_t ac,
mha_domain_t domain,
unsigned int fftlen,
std::string algo )
5.62.2 Member Function Documentation
5.62.2.1 mha_wave_t dc::dc_t::process (
mha_wave_t s)
5.62.2.2 mha_spec_t dc::dc_t::process (
mha_spec_t s,
wb_inhib_cfg_t wbinhib )
5.62.2.3 void dc::dc_t::explicit_insert ( )
5.62.2.4 unsigned dc::dc_t::get_nbands ( ) const [inline]
Number of frequency bands accessor.
5.62.2.5 const MHASignal::waveform_t& dc::dc_t::get_level_in_db ( ) const [inline]
5.62.2.6 const MHASignal::waveform_t& dc::dc_t::get_level_in_db_adjusted ( ) const
[inline]
5.62.3 Member Data Documentation
5.62.3.1 std::vector<MHATableLookup::linear_table_t>dc::dc_t::gt [private]
5.62.3.2 MHAFilter::o1flt_lowpass_t dc::dc_t::rmslevel [private]
5.62.3.3 MHAFilter::o1flt_lowpass_t dc::dc_t::attack [private]
5.62.3.4 MHAFilter::o1flt_maxtrack_t dc::dc_t::decay [private]
5.62.3.5 bool dc::dc_t::powersum [private]
© 2005-2019 HörTech gGmbH, Oldenburg
5.63 dc::dc_vars_t Class Reference 257
5.62.3.6 bool dc::dc_t::bypass [private]
5.62.3.7 unsigned int dc::dc_t::naudiochannels [private]
5.62.3.8 unsigned int dc::dc_t::nbands [private]
5.62.3.9 MHA_AC::waveform_t dc::dc_t::level_in_db [private]
5.62.3.10 MHA_AC::waveform_t dc::dc_t::level_in_db_adjusted [private]
5.62.3.11 MHA_AC::waveform_t dc::dc_t::inhib_gain [private]
5.62.3.12 MHASignal::waveform_t dc::dc_t::max_level_difference [private]
5.62.3.13 unsigned int dc::dc_t::k_nyquist [private]
The documentation for this class was generated from the following file:
dc.cpp
5.63 dc::dc_vars_t Class Reference
Inheritance diagram for dc::dc_vars_t:
dc::dc_vars_t
dc::dc_if_t
Public Member Functions
dc_vars_t (MHAParser::parser_t &)
© 2005-2019 HörTech gGmbH, Oldenburg
258 CONTENTS
Public Attributes
MHAParser::bool_t powersum
MHAParser::mfloat_t gtdata
MHAParser::vfloat_t gtmin
MHAParser::vfloat_t gtstep
MHAParser::vfloat_t taurmslevel
MHAParser::vfloat_t tauattack
MHAParser::vfloat_t taudecay
MHAParser::string_t filterbank
std::string cf_name
std::string ef_name
std::string bw_name
MHAParser::string_t chname
MHAParser::bool_t bypass
MHAParser::string_t clientid
MHAParser::string_t gainrule
MHAParser::string_t preset
MHAParser::int_mon_t modified
MHAParser::mfloat_t max_level_difference
MHAParser::vfloat_mon_t input_level
MHAParser::vfloat_mon_t filtered_level
MHAParser::vfloat_mon_t center_frequencies
MHAParser::vfloat_mon_t edge_frequencies
MHAParser::vfloat_mon_t band_weights
MHAParser::bool_t use_wbinhib
5.63.1 Constructor & Destructor Documentation
5.63.1.1 dc::dc_vars_t::dc_vars_t (
MHAParser::parser_t &p)
5.63.2 Member Data Documentation
5.63.2.1 MHAParser::bool_t dc::dc_vars_t::powersum
5.63.2.2 MHAParser::mfloat_t dc::dc_vars_t::gtdata
5.63.2.3 MHAParser::vfloat_t dc::dc_vars_t::gtmin
5.63.2.4 MHAParser::vfloat_t dc::dc_vars_t::gtstep
5.63.2.5 MHAParser::vfloat_t dc::dc_vars_t::taurmslevel
© 2005-2019 HörTech gGmbH, Oldenburg
5.63 dc::dc_vars_t Class Reference 259
5.63.2.6 MHAParser::vfloat_t dc::dc_vars_t::tauattack
5.63.2.7 MHAParser::vfloat_t dc::dc_vars_t::taudecay
5.63.2.8 MHAParser::string_t dc::dc_vars_t::filterbank
5.63.2.9 std::string dc::dc_vars_t::cf_name
5.63.2.10 std::string dc::dc_vars_t::ef_name
5.63.2.11 std::string dc::dc_vars_t::bw_name
5.63.2.12 MHAParser::string_t dc::dc_vars_t::chname
5.63.2.13 MHAParser::bool_t dc::dc_vars_t::bypass
5.63.2.14 MHAParser::string_t dc::dc_vars_t::clientid
5.63.2.15 MHAParser::string_t dc::dc_vars_t::gainrule
5.63.2.16 MHAParser::string_t dc::dc_vars_t::preset
5.63.2.17 MHAParser::int_mon_t dc::dc_vars_t::modified
5.63.2.18 MHAParser::mfloat_t dc::dc_vars_t::max_level_difference
5.63.2.19 MHAParser::vfloat_mon_t dc::dc_vars_t::input_level
5.63.2.20 MHAParser::vfloat_mon_t dc::dc_vars_t::filtered_level
5.63.2.21 MHAParser::vfloat_mon_t dc::dc_vars_t::center_frequencies
5.63.2.22 MHAParser::vfloat_mon_t dc::dc_vars_t::edge_frequencies
5.63.2.23 MHAParser::vfloat_mon_t dc::dc_vars_t::band_weights
5.63.2.24 MHAParser::bool_t dc::dc_vars_t::use_wbinhib
The documentation for this class was generated from the following file:
dc.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
260 CONTENTS
5.64 dc::dc_vars_validator_t Class Reference
Inheritance diagram for dc::dc_vars_validator_t:
dc::dc_vars_validator_t
dc::dc_t
Public Member Functions
dc_vars_validator_t (dc_vars_t &v, unsigned int s, mha_domain_t domain)
5.64.1 Constructor & Destructor Documentation
5.64.1.1 dc::dc_vars_validator_t::dc_vars_validator_t (
dc_vars_t &v,
unsigned int s,
mha_domain_t domain )
The documentation for this class was generated from the following file:
dc.cpp
5.65 dc::wb_inhib_cfg_t Class Reference
Public Member Functions
wb_inhib_cfg_t (const wideband_inhib_vars_t &vars)
Public Attributes
• std::vector<float >weights
float dl_map_min
float dl_map_max
float dl_diff
float l_min
• std::vector<std::vector<float > > g_scale
© 2005-2019 HörTech gGmbH, Oldenburg
5.66 dc::wideband_inhib_vars_t Class Reference 261
5.65.1 Constructor & Destructor Documentation
5.65.1.1 dc::wb_inhib_cfg_t::wb_inhib_cfg_t (
const wideband_inhib_vars_t &vars )
5.65.2 Member Data Documentation
5.65.2.1 std::vector<float>dc::wb_inhib_cfg_t::weights
5.65.2.2 float dc::wb_inhib_cfg_t::dl_map_min
5.65.2.3 float dc::wb_inhib_cfg_t::dl_map_max
5.65.2.4 float dc::wb_inhib_cfg_t::dl_diff
5.65.2.5 float dc::wb_inhib_cfg_t::l_min
5.65.2.6 std::vector<std::vector<float> > dc::wb_inhib_cfg_t::g_scale
The documentation for this class was generated from the following file:
dc.cpp
5.66 dc::wideband_inhib_vars_t Class Reference
Inheritance diagram for dc::wideband_inhib_vars_t:
dc::wideband_inhib
_vars_t
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< wb_inhib_cfg_t >
© 2005-2019 HörTech gGmbH, Oldenburg
262 CONTENTS
Public Member Functions
wideband_inhib_vars_t ()
void setchannels (unsigned int ch, unsigned int bnds)
wb_inhib_cfg_t current ()
void update ()
Public Attributes
MHAParser::vfloat_t weights
MHAParser::float_t dl_map_min
MHAParser::float_t dl_map_max
MHAParser::float_t l_min
MHAParser::mfloat_t g_scale
MHAEvents::patchbay_t<wideband_inhib_vars_t >patchbay
unsigned int channels
unsigned int bands
Additional Inherited Members
5.66.1 Constructor & Destructor Documentation
5.66.1.1 dc::wideband_inhib_vars_t::wideband_inhib_vars_t ( )
5.66.2 Member Function Documentation
5.66.2.1 void dc::wideband_inhib_vars_t::setchannels (
unsigned int ch,
unsigned int bnds )[inline]
5.66.2.2 wb_inhib_cfg_tdc::wideband_inhib_vars_t::current ( ) [inline]
5.66.2.3 void dc::wideband_inhib_vars_t::update ( )
5.66.3 Member Data Documentation
5.66.3.1 MHAParser::vfloat_t dc::wideband_inhib_vars_t::weights
5.66.3.2 MHAParser::float_t dc::wideband_inhib_vars_t::dl_map_min
5.66.3.3 MHAParser::float_t dc::wideband_inhib_vars_t::dl_map_max
5.66.3.4 MHAParser::float_t dc::wideband_inhib_vars_t::l_min
© 2005-2019 HörTech gGmbH, Oldenburg
5.67 dc_simple::dc_if_t Class Reference 263
5.66.3.5 MHAParser::mfloat_t dc::wideband_inhib_vars_t::g_scale
5.66.3.6 MHAEvents::patchbay_t<wideband_inhib_vars_t>dc::wideband_inhib_vars_t-
::patchbay
5.66.3.7 unsigned int dc::wideband_inhib_vars_t::channels
5.66.3.8 unsigned int dc::wideband_inhib_vars_t::bands
The documentation for this class was generated from the following file:
dc.cpp
5.67 dc_simple::dc_if_t Class Reference
Inheritance diagram for dc_simple::dc_if_t:
dc_simple::dc_if_t
DC
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< runtime_cfg_t >
LEVEL dc_simple::dc_vars_t
Public Member Functions
dc_if_t (const algo_comm_t &ac_, const std::string &th_, const std::string &al_)
void prepare (mhaconfig_t &tf)
void release ()
mha_spec_t process (mha_spec_t )
mha_wave_t process (mha_wave_t )
© 2005-2019 HörTech gGmbH, Oldenburg
264 CONTENTS
Private Member Functions
void update_dc ()
void update_level ()
void has_been_modified ()
void read_modified ()
void update_level_mon ()
void update_gain_mon ()
Private Attributes
MHAParser::string_t clientid
MHAParser::string_t gainrule
MHAParser::string_t preset
MHAParser::int_mon_t modified
MHAParser::vfloat_mon_t mon_l
MHAParser::vfloat_mon_t mon_g
MHAParser::string_t filterbank
MHAParser::vfloat_mon_t center_frequencies
MHAParser::vfloat_mon_t edge_frequencies
MHAEvents::patchbay_t<dc_if_t >patchbay
bool prepared
Additional Inherited Members
5.67.1 Constructor & Destructor Documentation
5.67.1.1 dc_simple::dc_if_t::dc_if_t (
const algo_comm_t &ac_,
const std::string & th_,
const std::string & al_ )
5.67.2 Member Function Documentation
5.67.2.1 void dc_simple::dc_if_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<runtime_cfg_t >(p. 730).
5.67.2.2 void dc_simple::dc_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<runtime_cfg_t >(p. 731).
© 2005-2019 HörTech gGmbH, Oldenburg
5.67 dc_simple::dc_if_t Class Reference 265
5.67.2.3 mha_spec_t dc_simple::dc_if_t::process (
mha_spec_t s)
5.67.2.4 mha_wave_t dc_simple::dc_if_t::process (
mha_wave_t s)
5.67.2.5 void dc_simple::dc_if_t::update_dc ( ) [private]
5.67.2.6 void dc_simple::dc_if_t::update_level ( ) [private]
5.67.2.7 void dc_simple::dc_if_t::has_been_modified ( ) [inline],[private]
5.67.2.8 void dc_simple::dc_if_t::read_modified ( ) [inline],[private]
5.67.2.9 void dc_simple::dc_if_t::update_level_mon ( ) [private]
5.67.2.10 void dc_simple::dc_if_t::update_gain_mon ( ) [private]
5.67.3 Member Data Documentation
5.67.3.1 MHAParser::string_t dc_simple::dc_if_t::clientid [private]
5.67.3.2 MHAParser::string_t dc_simple::dc_if_t::gainrule [private]
5.67.3.3 MHAParser::string_t dc_simple::dc_if_t::preset [private]
5.67.3.4 MHAParser::int_mon_t dc_simple::dc_if_t::modified [private]
5.67.3.5 MHAParser::vfloat_mon_t dc_simple::dc_if_t::mon_l [private]
5.67.3.6 MHAParser::vfloat_mon_t dc_simple::dc_if_t::mon_g [private]
5.67.3.7 MHAParser::string_t dc_simple::dc_if_t::filterbank [private]
5.67.3.8 MHAParser::vfloat_mon_t dc_simple::dc_if_t::center_frequencies [private]
5.67.3.9 MHAParser::vfloat_mon_t dc_simple::dc_if_t::edge_frequencies [private]
5.67.3.10 MHAEvents::patchbay_t<dc_if_t>dc_simple::dc_if_t::patchbay [private]
5.67.3.11 bool dc_simple::dc_if_t::prepared [private]
The documentation for this class was generated from the following file:
dc_simple.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
266 CONTENTS
5.68 dc_simple::dc_t Class Reference
Inheritance diagram for dc_simple::dc_t:
dc_simple::dc_t
dc_simple::dc_vars
_validator_t
Classes
class line_t
Public Member Functions
dc_t (const dc_vars_t &vars, mha_real_t filter_rate, unsigned int nch, unsigned int fftlen)
mha_spec_t process (mha_spec_t ,mha_wave_t level_db)
mha_wave_t process (mha_wave_t ,mha_wave_t level_db)
Public Attributes
• std::vector<float >mon_l
• std::vector<float >mon_g
Private Attributes
• std::vector<mha_real_t >expansion_threshold
• std::vector<mha_real_t >limiter_threshold
• std::vector<line_t >compression
• std::vector<line_t >expansion
• std::vector<line_t >limiter
• std::vector<mha_real_t >maxgain
unsigned int nbands
© 2005-2019 HörTech gGmbH, Oldenburg
5.68 dc_simple::dc_t Class Reference 267
Additional Inherited Members
5.68.1 Constructor & Destructor Documentation
5.68.1.1 dc_simple::dc_t::dc_t (
const dc_vars_t &vars,
mha_real_t filter_rate,
unsigned int nch,
unsigned int fftlen )
5.68.2 Member Function Documentation
5.68.2.1 mha_spec_t dc_simple::dc_t::process (
mha_spec_t s,
mha_wave_t level_db )
5.68.2.2 mha_wave_t dc_simple::dc_t::process (
mha_wave_t s,
mha_wave_t level_db )
5.68.3 Member Data Documentation
5.68.3.1 std::vector<mha_real_t>dc_simple::dc_t::expansion_threshold [private]
5.68.3.2 std::vector<mha_real_t>dc_simple::dc_t::limiter_threshold [private]
5.68.3.3 std::vector<line_t>dc_simple::dc_t::compression [private]
5.68.3.4 std::vector<line_t>dc_simple::dc_t::expansion [private]
5.68.3.5 std::vector<line_t>dc_simple::dc_t::limiter [private]
5.68.3.6 std::vector<mha_real_t>dc_simple::dc_t::maxgain [private]
5.68.3.7 unsigned int dc_simple::dc_t::nbands [private]
5.68.3.8 std::vector<float>dc_simple::dc_t::mon_l
5.68.3.9 std::vector<float>dc_simple::dc_t::mon_g
The documentation for this class was generated from the following file:
dc_simple.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
268 CONTENTS
5.69 dc_simple::dc_t::line_t Class Reference
Public Member Functions
line_t (mha_real_t x1, mha_real_t y1, mha_real_t x2, mha_real_t y2)
line_t (mha_real_t x1, mha_real_t y1, mha_real_t slope)
mha_real_t operator() (mha_real_t x)
Private Attributes
mha_real_t m
mha_real_t y0
5.69.1 Constructor & Destructor Documentation
5.69.1.1 dc_simple::dc_t::line_t::line_t (
mha_real_t x1,
mha_real_t y1,
mha_real_t x2,
mha_real_t y2 )
5.69.1.2 dc_simple::dc_t::line_t::line_t (
mha_real_t x1,
mha_real_t y1,
mha_real_t slope )
5.69.2 Member Function Documentation
5.69.2.1 mha_real_t dc_simple::dc_t::line_t::operator() (
mha_real_t x)[inline]
5.69.3 Member Data Documentation
5.69.3.1 mha_real_t dc_simple::dc_t::line_t::m [private]
5.69.3.2 mha_real_t dc_simple::dc_t::line_t::y0 [private]
The documentation for this class was generated from the following file:
dc_simple.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.70 dc_simple::dc_vars_t Class Reference 269
5.70 dc_simple::dc_vars_t Class Reference
Inheritance diagram for dc_simple::dc_vars_t:
dc_simple::dc_vars_t
dc_simple::dc_if_t
Public Member Functions
dc_vars_t (MHAParser::parser_t &)
Public Attributes
MHAParser::vfloat_t g50
MHAParser::vfloat_t g80
MHAParser::vfloat_t maxgain
MHAParser::vfloat_t expansion_threshold
MHAParser::vfloat_t expansion_slope
MHAParser::vfloat_t limiter_threshold
MHAParser::vfloat_t tauattack
MHAParser::vfloat_t taudecay
MHAParser::bool_t bypass
5.70.1 Constructor & Destructor Documentation
5.70.1.1 dc_simple::dc_vars_t::dc_vars_t (
MHAParser::parser_t &p)
5.70.2 Member Data Documentation
5.70.2.1 MHAParser::vfloat_t dc_simple::dc_vars_t::g50
5.70.2.2 MHAParser::vfloat_t dc_simple::dc_vars_t::g80
© 2005-2019 HörTech gGmbH, Oldenburg
270 CONTENTS
5.70.2.3 MHAParser::vfloat_t dc_simple::dc_vars_t::maxgain
5.70.2.4 MHAParser::vfloat_t dc_simple::dc_vars_t::expansion_threshold
5.70.2.5 MHAParser::vfloat_t dc_simple::dc_vars_t::expansion_slope
5.70.2.6 MHAParser::vfloat_t dc_simple::dc_vars_t::limiter_threshold
5.70.2.7 MHAParser::vfloat_t dc_simple::dc_vars_t::tauattack
5.70.2.8 MHAParser::vfloat_t dc_simple::dc_vars_t::taudecay
5.70.2.9 MHAParser::bool_t dc_simple::dc_vars_t::bypass
The documentation for this class was generated from the following file:
dc_simple.cpp
5.71 dc_simple::dc_vars_validator_t Class Reference
Inheritance diagram for dc_simple::dc_vars_validator_t:
dc_simple::dc_vars
_validator_t
dc_simple::dc_t dc_simple::level_smoother_t
Public Member Functions
dc_vars_validator_t (const dc_vars_t &v, unsigned int s)
© 2005-2019 HörTech gGmbH, Oldenburg
5.72 dc_simple::level_smoother_t Class Reference 271
5.71.1 Constructor & Destructor Documentation
5.71.1.1 dc_simple::dc_vars_validator_t::dc_vars_validator_t (
const dc_vars_t &v,
unsigned int s)
The documentation for this class was generated from the following file:
dc_simple.cpp
5.72 dc_simple::level_smoother_t Class Reference
Inheritance diagram for dc_simple::level_smoother_t:
dc_simple::level_smoother_t
dc_simple::dc_vars
_validator_t
Public Member Functions
level_smoother_t (const dc_vars_t &vars, mha_real_t filter_rate, mhaconfig_t buscfg)
mha_wave_t process (mha_spec_t )
mha_wave_t process (mha_wave_t )
Private Attributes
MHAFilter::o1flt_lowpass_t attack
MHAFilter::o1flt_maxtrack_t decay
unsigned int nbands
unsigned int fftlen
MHASignal::waveform_t level_wave
MHASignal::waveform_t level_spec
© 2005-2019 HörTech gGmbH, Oldenburg
272 CONTENTS
Additional Inherited Members
5.72.1 Constructor & Destructor Documentation
5.72.1.1 dc_simple::level_smoother_t::level_smoother_t (
const dc_vars_t &vars,
mha_real_t filter_rate,
mhaconfig_t buscfg )
5.72.2 Member Function Documentation
5.72.2.1 mha_wave_t dc_simple::level_smoother_t::process (
mha_spec_t s)
5.72.2.2 mha_wave_t dc_simple::level_smoother_t::process (
mha_wave_t s)
5.72.3 Member Data Documentation
5.72.3.1 MHAFilter::o1flt_lowpass_t dc_simple::level_smoother_t::attack [private]
5.72.3.2 MHAFilter::o1flt_maxtrack_t dc_simple::level_smoother_t::decay [private]
5.72.3.3 unsigned int dc_simple::level_smoother_t::nbands [private]
5.72.3.4 unsigned int dc_simple::level_smoother_t::fftlen [private]
5.72.3.5 MHASignal::waveform_t dc_simple::level_smoother_t::level_wave [private]
5.72.3.6 MHASignal::waveform_t dc_simple::level_smoother_t::level_spec [private]
The documentation for this class was generated from the following file:
dc_simple.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.73 delay::interface_t Class Reference 273
5.73 delay::interface_t Class Reference
Inheritance diagram for delay::interface_t:
delay::interface_t
MHAPlugin::plugin_t
< MHASignal::delay_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< MHASignal::delay_t >
Public Member Functions
interface_t (const algo_comm_t &, const std::string &, const std::string &)
void prepare (mhaconfig_t &)
mha_wave_t process (mha_wave_t )
Private Member Functions
void update ()
Private Attributes
MHAParser::vint_t delays
MHAEvents::patchbay_t<interface_t >patchbay
© 2005-2019 HörTech gGmbH, Oldenburg
274 CONTENTS
Additional Inherited Members
5.73.1 Constructor & Destructor Documentation
5.73.1.1 delay::interface_t::interface_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.73.2 Member Function Documentation
5.73.2.1 void delay::interface_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<MHASignal::delay_t >(p. 730).
5.73.2.2 mha_wave_t delay::interface_t::process (
mha_wave_t s)
5.73.2.3 void delay::interface_t::update ( ) [private]
5.73.3 Member Data Documentation
5.73.3.1 MHAParser::vint_t delay::interface_t::delays [private]
5.73.3.2 MHAEvents::patchbay_t<interface_t>delay::interface_t::patchbay [private]
The documentation for this class was generated from the following file:
delay.cpp
5.74 delaysum::delaysum_if_t Class Reference
Interface class for the delaysum plugin.
© 2005-2019 HörTech gGmbH, Oldenburg
5.74 delaysum::delaysum_if_t Class Reference 275
Inheritance diagram for delaysum::delaysum_if_t:
delaysum::delaysum_if_t
MHAPlugin::plugin_t
< delaysum_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< delaysum_t >
Public Member Functions
delaysum_if_t (const algo_comm_t &, const std::string &, const std::string &)
mha_wave_t process (mha_wave_t )
void prepare (mhaconfig_t &)
void release ()
Private Member Functions
void update_cfg ()
Private Attributes
MHAParser::vfloat_t weights
Linear weights to be multiplied with the audio signal, one factor for each channel.
MHAParser::vint_t delay
vector of channel-specific delays, in samples.
MHAEvents::patchbay_t<delaysum_if_t >patchbay
The patchbay to react to config changes.
© 2005-2019 HörTech gGmbH, Oldenburg
276 CONTENTS
Additional Inherited Members
5.74.1 Detailed Description
Interface class for the delaysum plugin.
This plugin allows to delay and sum multiple input channels using individual delays and weights.
After each channel gets delayed it is multiplied with the given weight and then added to the
single outout channel.
5.74.2 Constructor & Destructor Documentation
5.74.2.1 delaysum::delaysum_if_t::delaysum_if_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.74.3 Member Function Documentation
5.74.3.1 mha_wave_t delaysum::delaysum_if_t::process (
mha_wave_t wave )
5.74.3.2 void delaysum::delaysum_if_t::prepare (
mhaconfig_t &tfcfg )[virtual]
Implements MHAPlugin::plugin_t<delaysum_t >(p. 730).
5.74.3.3 void delaysum::delaysum_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<delaysum_t >(p. 731).
5.74.3.4 void delaysum::delaysum_if_t::update_cfg ( ) [private]
5.74.4 Member Data Documentation
5.74.4.1 MHAParser::vfloat_t delaysum::delaysum_if_t::weights [private]
Linear weights to be multiplied with the audio signal, one factor for each channel.
Order is [chan0, chan1, ...]
5.74.4.2 MHAParser::vint_t delaysum::delaysum_if_t::delay [private]
vector of channel-specific delays, in samples.
© 2005-2019 HörTech gGmbH, Oldenburg
5.75 delaysum::delaysum_t Class Reference 277
5.74.4.3 MHAEvents::patchbay_t<delaysum_if_t>delaysum::delaysum_if_t::patchbay
[private]
The patchbay to react to config changes.
The documentation for this class was generated from the following file:
delaysum.cpp
5.75 delaysum::delaysum_t Class Reference
Runtime configuration of the delaysum plugin.
Inheritance diagram for delaysum::delaysum_t:
delaysum::delaysum_t
MHASignal::delay_t
Public Member Functions
delaysum_t (unsigned int nch, unsigned int fragsize, const std::vector<mha_real_t >
&weights_, const std::vector<int >&delays_)
Constructor of the runtime configuration.
mha_wave_t process (mha_wave_t )
Private Attributes
• std::vector<mha_real_t >weights
Relative weights for each channel. Order is [chan0, chan1, ...].
MHASignal::waveform_t out
Output waveform.
© 2005-2019 HörTech gGmbH, Oldenburg
278 CONTENTS
5.75.1 Detailed Description
Runtime configuration of the delaysum plugin.
Inherits from the already present delay_t class. The constructor initializes and validates the
runtime configuration and forwards the delay vector to the delay_t class. The process function
first calls delay_t::process and then multiplies every output channel with its weight and adds
them into the output channel.
5.75.2 Constructor & Destructor Documentation
5.75.2.1 delaysum::delaysum_t::delaysum_t (
unsigned int nch,
unsigned int fragsize,
const std::vector<mha_real_t >&weights_,
const std::vector<int >&delays_ )
Constructor of the runtime configuration.
Parameters
nch Number of input channels.
fragsize Size of one input fragment in frames.
weights-
_
Vector of weights for each channel.
delays-
_
Vector of delays, one entry per channel.
5.75.3 Member Function Documentation
5.75.3.1 mha_wave_t delaysum::delaysum_t::process (
mha_wave_t signal )
5.75.4 Member Data Documentation
5.75.4.1 std::vector<mha_real_t>delaysum::delaysum_t::weights [private]
Relative weights for each channel. Order is [chan0, chan1, ...].
5.75.4.2 MHASignal::waveform_t delaysum::delaysum_t::out [private]
Output waveform.
The documentation for this class was generated from the following file:
delaysum.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.76 doasvm_classification Class Reference 279
5.76 doasvm_classification Class Reference
Inheritance diagram for doasvm_classification:
doasvm_classification
MHAPlugin::plugin_t
< doasvm_classification
_config >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< doasvm_classification
_config >
Public Member Functions
doasvm_classification (algo_comm_t &ac, const std::string &chain_name, const std-
::string &algo_name)
Constructs our plugin.
doasvm_classification ()
mha_wave_t process (mha_wave_t )
Checks for the most recent configuration and defers processing to it.
void prepare (mhaconfig_t &)
Plugin preparation.
void release (void)
Public Attributes
MHAParser::vfloat_t angles
MHAParser::mfloat_t w
MHAParser::vfloat_t b
MHAParser::vfloat_t x
MHAParser::vfloat_t y
MHAParser::string_t p_name
MHAParser::string_t max_p_ind_name
MHAParser::string_t vGCC_name
© 2005-2019 HörTech gGmbH, Oldenburg
280 CONTENTS
Private Member Functions
void update_cfg ()
Private Attributes
MHAEvents::patchbay_t<doasvm_classification >patchbay
Additional Inherited Members
5.76.1 Constructor & Destructor Documentation
5.76.1.1 doasvm_classification::doasvm_classification (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
5.76.1.2 doasvm_classification::doasvm_classification ( )
5.76.2 Member Function Documentation
5.76.2.1 mha_wave_t doasvm_classification::process (
mha_wave_t signal )
Checks for the most recent configuration and defers processing to it.
5.76.2.2 void doasvm_classification::prepare (
mhaconfig_t &signal_info )[virtual]
Plugin preparation.
An opportunity to validate configuration parameters before instantiating a configuration.
Parameters
signal_info Structure containing a description of the form of the signal (domain, number of
channels, frames per block, sampling rate.
Implements MHAPlugin::plugin_t<doasvm_classification_config >(p. 730).
© 2005-2019 HörTech gGmbH, Oldenburg
5.77 doasvm_classification_config Class Reference 281
5.76.2.3 void doasvm_classification::release (
void ) [inline],[virtual]
Reimplemented from MHAPlugin::plugin_t<doasvm_classification_config >(p. 731).
5.76.2.4 void doasvm_classification::update_cfg ( ) [private]
5.76.3 Member Data Documentation
5.76.3.1 MHAParser::vfloat_t doasvm_classification::angles
5.76.3.2 MHAParser::mfloat_t doasvm_classification::w
5.76.3.3 MHAParser::vfloat_t doasvm_classification::b
5.76.3.4 MHAParser::vfloat_t doasvm_classification::x
5.76.3.5 MHAParser::vfloat_t doasvm_classification::y
5.76.3.6 MHAParser::string_t doasvm_classification::p_name
5.76.3.7 MHAParser::string_t doasvm_classification::max_p_ind_name
5.76.3.8 MHAParser::string_t doasvm_classification::vGCC_name
5.76.3.9 MHAEvents::patchbay_t<doasvm_classification>doasvm_classification::patchbay
[private]
The documentation for this class was generated from the following files:
doasvm_classification.h
doasvm_classification.cpp
5.77 doasvm_classification_config Class Reference
Public Member Functions
doasvm_classification_config (algo_comm_t &ac, const mhaconfig_t in_cfg,
doasvm_classification _doasvm)
doasvm_classification_config ()
mha_wave_t process (mha_wave_t )
© 2005-2019 HörTech gGmbH, Oldenburg
282 CONTENTS
Public Attributes
algo_comm_t &ac
doasvm_classification doasvm
MHA_AC::waveform_t p
MHA_AC::int_t p_max
mha_wave_t c
5.77.1 Constructor & Destructor Documentation
5.77.1.1 doasvm_classification_config::doasvm_classification_config (
algo_comm_t &ac,
const mhaconfig_t in_cfg,
doasvm_classification _doasvm )
5.77.1.2 doasvm_classification_config::doasvm_classification_config ( )
5.77.2 Member Function Documentation
5.77.2.1 mha_wave_t doasvm_classification_config::process (
mha_wave_t wave )
5.77.3 Member Data Documentation
5.77.3.1 algo_comm_t& doasvm_classification_config::ac
5.77.3.2 doasvm_classificationdoasvm_classification_config::doasvm
5.77.3.3 MHA_AC::waveform_t doasvm_classification_config::p
5.77.3.4 MHA_AC::int_t doasvm_classification_config::p_max
5.77.3.5 mha_wave_t doasvm_classification_config::c
The documentation for this class was generated from the following files:
doasvm_classification.h
doasvm_classification.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.78 doasvm_feature_extraction Class Reference 283
5.78 doasvm_feature_extraction Class Reference
Inheritance diagram for doasvm_feature_extraction:
doasvm_feature_extraction
MHAPlugin::plugin_t
< doasvm_feature_extraction
_config >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< doasvm_feature_extraction
_config >
Public Member Functions
doasvm_feature_extraction (algo_comm_t &ac, const std::string &chain_name, const
std::string &algo_name)
Constructs our plugin.
doasvm_feature_extraction ()
mha_wave_t process (mha_wave_t )
Checks for the most recent configuration and defers processing to it.
void prepare (mhaconfig_t &)
Plugin preparation.
void release (void)
Public Attributes
MHAParser::int_t fftlen
MHAParser::int_t max_lag
MHAParser::int_t nupsample
MHAParser::string_t vGCC_name
© 2005-2019 HörTech gGmbH, Oldenburg
284 CONTENTS
Private Member Functions
void update_cfg ()
Private Attributes
MHAEvents::patchbay_t<doasvm_feature_extraction >patchbay
Additional Inherited Members
5.78.1 Constructor & Destructor Documentation
5.78.1.1 doasvm_feature_extraction::doasvm_feature_extraction (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
5.78.1.2 doasvm_feature_extraction::doasvm_feature_extraction ( )
5.78.2 Member Function Documentation
5.78.2.1 mha_wave_t doasvm_feature_extraction::process (
mha_wave_t signal )
Checks for the most recent configuration and defers processing to it.
5.78.2.2 void doasvm_feature_extraction::prepare (
mhaconfig_t &signal_info )[virtual]
Plugin preparation.
An opportunity to validate configuration parameters before instantiating a configuration.
Parameters
signal_info Structure containing a description of the form of the signal (domain, number of
channels, frames per block, sampling rate.
Implements MHAPlugin::plugin_t<doasvm_feature_extraction_config >(p. 730).
© 2005-2019 HörTech gGmbH, Oldenburg
5.79 doasvm_feature_extraction_config Class Reference 285
5.78.2.3 void doasvm_feature_extraction::release (
void ) [inline],[virtual]
Reimplemented from MHAPlugin::plugin_t<doasvm_feature_extraction_config >
(p. 731).
5.78.2.4 void doasvm_feature_extraction::update_cfg ( ) [private]
5.78.3 Member Data Documentation
5.78.3.1 MHAParser::int_t doasvm_feature_extraction::fftlen
5.78.3.2 MHAParser::int_t doasvm_feature_extraction::max_lag
5.78.3.3 MHAParser::int_t doasvm_feature_extraction::nupsample
5.78.3.4 MHAParser::string_t doasvm_feature_extraction::vGCC_name
5.78.3.5 MHAEvents::patchbay_t<doasvm_feature_extraction>
doasvm_feature_extraction::patchbay [private]
The documentation for this class was generated from the following files:
doasvm_feature_extraction.h
doasvm_feature_extraction.cpp
5.79 doasvm_feature_extraction_config Class Reference
Public Member Functions
doasvm_feature_extraction_config (algo_comm_t &ac, const mhaconfig_t in_cfg,
doasvm_feature_extraction _doagcc)
doasvm_feature_extraction_config ()
mha_wave_t process (mha_wave_t )
Public Attributes
doasvm_feature_extraction doagcc
unsigned int wndlen
unsigned int fftlen
unsigned int G_length
unsigned int GCC_start
unsigned int GCC_end
MHA_AC::waveform_t vGCC_ac
mha_fft_t fft
mha_fft_t ifft
double hifftwin_sum
MHASignal::waveform_t proc_wave
MHASignal::waveform_t hwin
MHASignal::waveform_t hifftwin
MHASignal::waveform_t vGCC
MHASignal::spectrum_t in_spec
MHASignal::spectrum_t G
© 2005-2019 HörTech gGmbH, Oldenburg
286 CONTENTS
5.79.1 Constructor & Destructor Documentation
5.79.1.1 doasvm_feature_extraction_config::doasvm_feature_extraction_config (
algo_comm_t &ac,
const mhaconfig_t in_cfg,
doasvm_feature_extraction _doagcc )
5.79.1.2 doasvm_feature_extraction_config::doasvm_feature_extraction_config ( )
5.79.2 Member Function Documentation
5.79.2.1 mha_wave_t doasvm_feature_extraction_config::process (
mha_wave_t wave )
5.79.3 Member Data Documentation
5.79.3.1 doasvm_feature_extractiondoasvm_feature_extraction_config::doagcc
5.79.3.2 unsigned int doasvm_feature_extraction_config::wndlen
5.79.3.3 unsigned int doasvm_feature_extraction_config::fftlen
5.79.3.4 unsigned int doasvm_feature_extraction_config::G_length
5.79.3.5 unsigned int doasvm_feature_extraction_config::GCC_start
5.79.3.6 unsigned int doasvm_feature_extraction_config::GCC_end
5.79.3.7 MHA_AC::waveform_t doasvm_feature_extraction_config::vGCC_ac
5.79.3.8 mha_fft_t doasvm_feature_extraction_config::fft
5.79.3.9 mha_fft_t doasvm_feature_extraction_config::ifft
5.79.3.10 double doasvm_feature_extraction_config::hifftwin_sum
5.79.3.11 MHASignal::waveform_t doasvm_feature_extraction_config::proc_wave
5.79.3.12 MHASignal::waveform_t doasvm_feature_extraction_config::hwin
5.79.3.13 MHASignal::waveform_t doasvm_feature_extraction_config::hifftwin
5.79.3.14 MHASignal::waveform_t doasvm_feature_extraction_config::vGCC
5.79.3.15 MHASignal::spectrum_t doasvm_feature_extraction_config::in_spec
5.79.3.16 MHASignal::spectrum_t doasvm_feature_extraction_config::G
The documentation for this class was generated from the following files:
doasvm_feature_extraction.h
doasvm_feature_extraction.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.80 droptect_t Class Reference 287
5.80 droptect_t Class Reference
Detect dropouts in a signal with a constant spectrum.
Inheritance diagram for droptect_t:
droptect_t
MHAPlugin::plugin_t
< int >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< int >
Public Member Functions
droptect_t (algo_comm_t &ac, const std::string &chain_name, const std::string &algo-
_name)
This constructor initializes the configuration language variables and inserts them into the MHA
configuration tree.
void prepare (mhaconfig_t &signal_info)
void release (void)
mha_spec_t process (mha_spec_t signal)
Private Attributes
MHAParser::vint_mon_t dropouts
MHAParser::vint_mon_t consecutive_dropouts
MHAParser::int_mon_t blocks
MHAParser::bool_t reset
MHAParser::float_t threshold
MHASignal::waveform_t current_powspec
© 2005-2019 HörTech gGmbH, Oldenburg
288 CONTENTS
MHASignal::waveform_t filtered_powspec
MHAParser::float_t tau
• std::vector<bool >filter_activated
float period
The period of the process callback.
MHAParser::mfloat_mon_t filtered_powspec_mon
User access to filtered spectrum.
MHAParser::float_mon_t level_mon
Additional Inherited Members
5.80.1 Detailed Description
Detect dropouts in a signal with a constant spectrum.
5.80.2 Constructor & Destructor Documentation
5.80.2.1 droptect_t::droptect_t (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
This constructor initializes the configuration language variables and inserts them into the MHA
configuration tree.
5.80.3 Member Function Documentation
5.80.3.1 void droptect_t::prepare (
mhaconfig_t &signal_info )[virtual]
Implements MHAPlugin::plugin_t<int >(p. 730).
5.80.3.2 void droptect_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<int >(p. 731).
© 2005-2019 HörTech gGmbH, Oldenburg
5.80 droptect_t Class Reference 289
5.80.3.3 mha_spec_t droptect_t::process (
mha_spec_t signal )
5.80.4 Member Data Documentation
5.80.4.1 MHAParser::vint_mon_t droptect_t::dropouts [private]
5.80.4.2 MHAParser::vint_mon_t droptect_t::consecutive_dropouts [private]
5.80.4.3 MHAParser::int_mon_t droptect_t::blocks [private]
5.80.4.4 MHAParser::bool_t droptect_t::reset [private]
5.80.4.5 MHAParser::float_t droptect_t::threshold [private]
5.80.4.6 MHASignal::waveform_tdroptect_t::current_powspec [private]
5.80.4.7 MHASignal::waveform_tdroptect_t::filtered_powspec [private]
5.80.4.8 MHAParser::float_t droptect_t::tau [private]
5.80.4.9 std::vector<bool>droptect_t::filter_activated [private]
5.80.4.10 float droptect_t::period [private]
The period of the process callback.
5.80.4.11 MHAParser::mfloat_mon_t droptect_t::filtered_powspec_mon [private]
User access to filtered spectrum.
5.80.4.12 MHAParser::float_mon_t droptect_t::level_mon [private]
The documentation for this class was generated from the following file:
droptect.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
290 CONTENTS
5.81 ds_t Class Reference
Inheritance diagram for ds_t:
ds_t
MHAPlugin::plugin_t
< MHASignal::waveform_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< MHASignal::waveform_t >
Public Member Functions
ds_t (algo_comm_t, std::string, std::string)
mha_wave_t process (mha_wave_t )
void prepare (mhaconfig_t &)
void release ()
Private Attributes
MHAParser::int_t ratio
MHAFilter::iir_filter_t antialias
Additional Inherited Members
5.81.1 Constructor & Destructor Documentation
© 2005-2019 HörTech gGmbH, Oldenburg
5.82 dynamiclib_t Class Reference 291
5.81.1.1 ds_t::ds_t (
algo_comm_t iac,
std::string ,
std::string )
5.81.2 Member Function Documentation
5.81.2.1 mha_wave_t ds_t::process (
mha_wave_t s)
5.81.2.2 void ds_t::prepare (
mhaconfig_t &cf )[virtual]
Implements MHAPlugin::plugin_t<MHASignal::waveform_t >(p. 730).
5.81.2.3 void ds_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<MHASignal::waveform_t >(p. 731).
5.81.3 Member Data Documentation
5.81.3.1 MHAParser::int_t ds_t::ratio [private]
5.81.3.2 MHAFilter::iir_filter_t ds_t::antialias [private]
The documentation for this class was generated from the following file:
downsample.cpp
5.82 dynamiclib_t Class Reference
Public Member Functions
dynamiclib_t (const std::string &)
void resolve (const std::string &)
void resolve_checked (const std::string &)
dynamiclib_t ()
const std::string & getmodulename () const
const std::string & getname () const
© 2005-2019 HörTech gGmbH, Oldenburg
292 CONTENTS
Private Attributes
std::string fullname
std::string modulename
mha_libhandle_t h
5.82.1 Constructor & Destructor Documentation
5.82.1.1 dynamiclib_t::dynamiclib_t (
const std::string & n)
5.82.1.2 dynamiclib_t::dynamiclib_t ( )
5.82.2 Member Function Documentation
5.82.2.1 void dynamiclib_t::resolve (
const std::string & n)
5.82.2.2 void dynamiclib_t::resolve_checked (
const std::string & n)
5.82.2.3 const std::string& dynamiclib_t::getmodulename ( ) const [inline]
5.82.2.4 const std::string& dynamiclib_t::getname ( ) const [inline]
5.82.3 Member Data Documentation
5.82.3.1 std::string dynamiclib_t::fullname [private]
5.82.3.2 std::string dynamiclib_t::modulename [private]
5.82.3.3 mha_libhandle_t dynamiclib_t::h [private]
The documentation for this class was generated from the following files:
mha_os.h
mha_os.cpp
5.83 DynComp::dc_afterburn_rt_t Class Reference
Real-time class for after burn effect.
© 2005-2019 HörTech gGmbH, Oldenburg
5.83 DynComp::dc_afterburn_rt_t Class Reference 293
Public Member Functions
dc_afterburn_rt_t (const std::vector<float >&cf, unsigned int channels, float srate,
const dc_afterburn_vars_t &vars)
void burn (float &Gin, float Lin, unsigned int band, unsigned int channel)
gain modifier method (afterburn).
Private Attributes
• std::vector<float >drain_inv
• std::vector<float >conflux
• std::vector<float >maxgain
• std::vector<float >mpo_inv
• std::vector<MHAFilter::o1flt_lowpass_t >lp
5.83.1 Detailed Description
Real-time class for after burn effect.
The constructor processes the parameters and creates pre-processed variables for efficient
realtime processing.
5.83.2 Constructor & Destructor Documentation
5.83.2.1 DynComp::dc_afterburn_rt_t::dc_afterburn_rt_t (
const std::vector<float >&cf,
unsigned int channels,
float srate,
const dc_afterburn_vars_t &vars )
5.83.3 Member Function Documentation
5.83.3.1 void DynComp::dc_afterburn_rt_t::burn (
float & Gin,
float Lin,
unsigned int band,
unsigned int channel )[inline]
gain modifier method (afterburn).
Parameters
Gin Linear gain.
Lin Input level (Pascal).
band Filter band number.
channel Channel number.
© 2005-2019 HörTech gGmbH, Oldenburg
294 CONTENTS
Output level for MPO is estimated by Gin Lin.
5.83.4 Member Data Documentation
5.83.4.1 std::vector<float>DynComp::dc_afterburn_rt_t::drain_inv [private]
5.83.4.2 std::vector<float>DynComp::dc_afterburn_rt_t::conflux [private]
5.83.4.3 std::vector<float>DynComp::dc_afterburn_rt_t::maxgain [private]
5.83.4.4 std::vector<float>DynComp::dc_afterburn_rt_t::mpo_inv [private]
5.83.4.5 std::vector<MHAFilter::o1flt_lowpass_t>DynComp::dc_afterburn_rt_t::lp [private]
The documentation for this class was generated from the following files:
dc_afterburn.h
dc_afterburn.cpp
5.84 DynComp::dc_afterburn_t Class Reference
Afterburn class, to be defined as a member of compressors.
Inheritance diagram for DynComp::dc_afterburn_t:
DynComp::dc_afterburn_t
DynComp::dc_afterburn
_vars_t
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< dc_afterburn_rt_t >
© 2005-2019 HörTech gGmbH, Oldenburg
5.84 DynComp::dc_afterburn_t Class Reference 295
Public Member Functions
dc_afterburn_t ()
void set_fb_pars (const std::vector<float >&cf, unsigned int channels, float srate)
void unset_fb_pars ()
void update_burner ()
void burn (float &Gin, float Lin, unsigned int band, unsigned int channel)
Private Member Functions
void update ()
Private Attributes
MHAEvents::patchbay_t<dc_afterburn_t >patchbay
• std::vector<float >_cf
unsigned int _channels
float _srate
bool commit_pending
bool fb_pars_configured
Additional Inherited Members
5.84.1 Detailed Description
Afterburn class, to be defined as a member of compressors.
5.84.2 Constructor & Destructor Documentation
5.84.2.1 DynComp::dc_afterburn_t::dc_afterburn_t ( )
5.84.3 Member Function Documentation
5.84.3.1 void DynComp::dc_afterburn_t::set_fb_pars (
const std::vector<float >&cf,
unsigned int channels,
float srate )
5.84.3.2 void DynComp::dc_afterburn_t::unset_fb_pars ( )
5.84.3.3 void DynComp::dc_afterburn_t::update_burner ( ) [inline]
© 2005-2019 HörTech gGmbH, Oldenburg
296 CONTENTS
5.84.3.4 void DynComp::dc_afterburn_t::burn (
float & Gin,
float Lin,
unsigned int band,
unsigned int channel )[inline]
5.84.3.5 void DynComp::dc_afterburn_t::update ( ) [private]
5.84.4 Member Data Documentation
5.84.4.1 MHAEvents::patchbay_t<dc_afterburn_t>DynComp::dc_afterburn_t::patchbay
[private]
5.84.4.2 std::vector<float>DynComp::dc_afterburn_t::_cf [private]
5.84.4.3 unsigned int DynComp::dc_afterburn_t::_channels [private]
5.84.4.4 float DynComp::dc_afterburn_t::_srate [private]
5.84.4.5 bool DynComp::dc_afterburn_t::commit_pending [private]
5.84.4.6 bool DynComp::dc_afterburn_t::fb_pars_configured [private]
The documentation for this class was generated from the following files:
dc_afterburn.h
dc_afterburn.cpp
5.85 DynComp::dc_afterburn_vars_t Class Reference
Variables for dc_afterburn_t (p. 294) class.
© 2005-2019 HörTech gGmbH, Oldenburg
5.85 DynComp::dc_afterburn_vars_t Class Reference 297
Inheritance diagram for DynComp::dc_afterburn_vars_t:
DynComp::dc_afterburn
_vars_t
DynComp::dc_afterburn_t
MHAParser::parser_t
MHAParser::base_t
Public Member Functions
dc_afterburn_vars_t ()
Public Attributes
MHAParser::vfloat_t f
MHAParser::vfloat_t drain
MHAParser::vfloat_t conflux
MHAParser::vfloat_t maxgain
MHAParser::vfloat_t mpo
MHAParser::float_t taugain
MHAParser::kw_t commit
MHAParser::bool_t bypass
Additional Inherited Members
5.85.1 Detailed Description
Variables for dc_afterburn_t (p. 294) class.
© 2005-2019 HörTech gGmbH, Oldenburg
298 CONTENTS
5.85.2 Constructor & Destructor Documentation
5.85.2.1 DynComp::dc_afterburn_vars_t::dc_afterburn_vars_t ( )
5.85.3 Member Data Documentation
5.85.3.1 MHAParser::vfloat_t DynComp::dc_afterburn_vars_t::f
5.85.3.2 MHAParser::vfloat_t DynComp::dc_afterburn_vars_t::drain
5.85.3.3 MHAParser::vfloat_t DynComp::dc_afterburn_vars_t::conflux
5.85.3.4 MHAParser::vfloat_t DynComp::dc_afterburn_vars_t::maxgain
5.85.3.5 MHAParser::vfloat_t DynComp::dc_afterburn_vars_t::mpo
5.85.3.6 MHAParser::float_t DynComp::dc_afterburn_vars_t::taugain
5.85.3.7 MHAParser::kw_t DynComp::dc_afterburn_vars_t::commit
5.85.3.8 MHAParser::bool_t DynComp::dc_afterburn_vars_t::bypass
The documentation for this class was generated from the following files:
dc_afterburn.h
dc_afterburn.cpp
5.86 DynComp::gaintable_t Class Reference
Gain table class.
© 2005-2019 HörTech gGmbH, Oldenburg
5.86 DynComp::gaintable_t Class Reference 299
Public Member Functions
gaintable_t (const std::vector<mha_real_t >&LInput, const std::vector<mha_real_t
>&FCenter, unsigned int channels)
Constructor.
gaintable_t ()
void update (std::vector<std::vector<std::vector<mha_real_t >>>newGain)
Update gains from an external table.
mha_real_t get_gain (mha_real_t Lin, mha_real_t Fin, unsigned int channel)
Read Gain from gain table.
mha_real_t get_gain (mha_real_t Lin, unsigned int band, unsigned int channel)
Read Gain from gain table.
void get_gain (const mha_wave_t &Lin, mha_wave_t &Gain)
Read Gains from gain table.
unsigned int nbands () const
Return number of frequency bands.
unsigned int nchannels () const
Return number of audio channels.
• std::vector<std::vector<mha_real_t > > get_iofun () const
Return current input-output function.
• std::vector<mha_real_t >get_vL () const
• std::vector<mha_real_t >get_vF () const
Private Attributes
unsigned int num_L
unsigned int num_F
unsigned int num_channels
• std::vector<mha_real_t >vL
• std::vector<mha_real_t >vF
• std::vector<mha_real_t >vFlog
• std::vector<std::vector<std::vector<mha_real_t >>>data
5.86.1 Detailed Description
Gain table class.
This gain table is intended to efficient table lookup, i.e, interpolation of levels, and optional
interpolation of frequencies. Sample input levels and sample frequencies are given in the con-
structor. The gain entries can be updated with the update() (p. 301) member function via a gain
prescription rule from an auditory profile.
© 2005-2019 HörTech gGmbH, Oldenburg
300 CONTENTS
5.86.2 Constructor & Destructor Documentation
5.86.2.1 gaintable_t::gaintable_t (
const std::vector<mha_real_t >&LInput,
const std::vector<mha_real_t >&FCenter,
unsigned int channels )
Constructor.
© 2005-2019 HörTech gGmbH, Oldenburg
5.86 DynComp::gaintable_t Class Reference 301
Parameters
LInput Input level samples, in equivalent LTASS_combined dB SPL.
FCenter Frequency samples in Hz (e.g., center frequencies of filterbank).
channels Number of audio channels (typically 2).
5.86.2.2 gaintable_t::gaintable_t ( )
5.86.3 Member Function Documentation
5.86.3.1 void gaintable_t::update (
std::vector<std::vector<std::vector<mha_real_t >>>newGain )
Update gains from an external table.
Parameters
newGain New gain table entries.
Dimension change is not allowed. The number of entries are checked.
5.86.3.2 mha_real_t gaintable_t::get_gain (
mha_real_t Lin,
mha_real_t Fin,
unsigned int channel )
Read Gain from gain table.
Parameters
Lin Input level
Fin Input frequency (no match required)
channel Audio channel
5.86.3.3 mha_real_t gaintable_t::get_gain (
mha_real_t Lin,
unsigned int band,
unsigned int channel )
Read Gain from gain table.
Parameters
Lin Input level
© 2005-2019 HörTech gGmbH, Oldenburg
302 CONTENTS
Parameters
band Input frequency band
channel Audio channel
5.86.3.4 void gaintable_t::get_gain (
const mha_wave_t &Lin,
mha_wave_t &Gain )
Read Gains from gain table.
Parameters
Lin Input levels.
Gain Output gain.
The number of channels in Lin and Gain must match the number of bands times number of
channels in the gaintable.
5.86.3.5 unsigned int DynComp::gaintable_t::nbands ( ) const [inline]
Return number of frequency bands.
5.86.3.6 unsigned int DynComp::gaintable_t::nchannels ( ) const [inline]
Return number of audio channels.
5.86.3.7 std::vector<std::vector<mha_real_t > > gaintable_t::get_iofun ( ) const
Return current input-output function.
5.86.3.8 std::vector<mha_real_t>DynComp::gaintable_t::get_vL ( ) const [inline]
5.86.3.9 std::vector<mha_real_t>DynComp::gaintable_t::get_vF ( ) const [inline]
5.86.4 Member Data Documentation
5.86.4.1 unsigned int DynComp::gaintable_t::num_L [private]
5.86.4.2 unsigned int DynComp::gaintable_t::num_F [private]
5.86.4.3 unsigned int DynComp::gaintable_t::num_channels [private]
© 2005-2019 HörTech gGmbH, Oldenburg
5.87 example1_t Class Reference 303
5.86.4.4 std::vector<mha_real_t>DynComp::gaintable_t::vL [private]
5.86.4.5 std::vector<mha_real_t>DynComp::gaintable_t::vF [private]
5.86.4.6 std::vector<mha_real_t>DynComp::gaintable_t::vFlog [private]
5.86.4.7 std::vector<std::vector<std::vector<mha_real_t> > > DynComp::gaintable_t::data
[private]
The documentation for this class was generated from the following files:
gaintable.h
gaintable.cpp
5.87 example1_t Class Reference
This C++ class implements the simplest example plugin for the step-by-step tutorial.
Inheritance diagram for example1_t:
example1_t
MHAPlugin::plugin_t
< int >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< int >
© 2005-2019 HörTech gGmbH, Oldenburg
304 CONTENTS
Public Member Functions
example1_t (algo_comm_t &ac, const std::string &chain_name, const std::string
&algo_name)
Do-nothing constructor.
void release (void)
Release may be empty.
void prepare (mhaconfig_t &signal_info)
Plugin preparation.
mha_wave_t process (mha_wave_t signal)
Signal processing performed by the plugin.
Additional Inherited Members
5.87.1 Detailed Description
This C++ class implements the simplest example plugin for the step-by-step tutorial.
It inherits from MHAPlugin::plugin_t (p. 728) for correct integration in the configuration lan-
guage interface.
5.87.2 Constructor & Destructor Documentation
5.87.2.1 example1_t::example1_t (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )[inline]
Do-nothing constructor.
The constructor has to take these three arguments, but it does not have to use them. However,
the base class has to be initialized.
5.87.3 Member Function Documentation
5.87.3.1 void example1_t::release (
void ) [inline],[virtual]
Release may be empty.
Reimplemented from MHAPlugin::plugin_t<int >(p. 731).
5.87.3.2 void example1_t::prepare (
mhaconfig_t &signal_info )[inline],[virtual]
Plugin preparation.
This plugin checks that the input signal has the waveform domain and contains at least one
channel
© 2005-2019 HörTech gGmbH, Oldenburg
5.88 example2_t Class Reference 305
Parameters
signal_info Structure containing a description of the form of the signal (domain, number of
channels, frames per block, sampling rate.
Implements MHAPlugin::plugin_t<int >(p. 730).
5.87.3.3 mha_wave_texample1_t::process (
mha_wave_t signal )[inline]
Signal processing performed by the plugin.
This plugin multiplies the signal in the first audio channel by a factor 0.1.
Parameters
signal Pointer to the input signal structure.
Returns
Returns a pointer to the input signal structure, with a the signal modified by this plugin.
(In-place processing)
The documentation for this class was generated from the following file:
example1.cpp
5.88 example2_t Class Reference
This C++ class implements the second example plugin for the step-by-step tutorial.
© 2005-2019 HörTech gGmbH, Oldenburg
306 CONTENTS
Inheritance diagram for example2_t:
example2_t
MHAPlugin::plugin_t
< int >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< int >
Public Member Functions
example2_t (algo_comm_t &ac, const std::string &chain_name, const std::string
&algo_name)
This constructor initializes the configuration language variables and inserts them into the
openMHA configuration tree.
void prepare (mhaconfig_t &signal_info)
Plugin preparation.
void release (void)
Undo restrictions posed in prepare.
mha_wave_t process (mha_wave_t signal)
Signal processing performed by the plugin.
Private Attributes
MHAParser::int_t scale_ch
Index of audio channel to scale.
MHAParser::float_t factor
The scaling factor applied to the selected channel.
© 2005-2019 HörTech gGmbH, Oldenburg
5.88 example2_t Class Reference 307
Additional Inherited Members
5.88.1 Detailed Description
This C++ class implements the second example plugin for the step-by-step tutorial.
It extends the first example by using configuration language variables to influence the process-
ing.
5.88.2 Constructor & Destructor Documentation
5.88.2.1 example2_t::example2_t (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
This constructor initializes the configuration language variables and inserts them into the
openMHA configuration tree.
5.88.3 Member Function Documentation
5.88.3.1 void example2_t::prepare (
mhaconfig_t &signal_info )[virtual]
Plugin preparation.
This plugin checks that the input signal has the waveform domain and contains enough chan-
nels.
Parameters
signal_info Structure containing a description of the form of the signal (domain, number of
channels, frames per block, sampling rate.
Implements MHAPlugin::plugin_t<int >(p. 730).
5.88.3.2 void example2_t::release (
void ) [virtual]
Undo restrictions posed in prepare.
Reimplemented from MHAPlugin::plugin_t<int >(p. 731).
© 2005-2019 HörTech gGmbH, Oldenburg
308 CONTENTS
5.88.3.3 mha_wave_t example2_t::process (
mha_wave_t signal )
Signal processing performed by the plugin.
This plugin multiplies the signal in the selected audio channel by the configured factor.
Parameters
signal Pointer to the input signal structure.
Returns
Returns a pointer to the input signal structure, with a the signal modified by this plugin.
(In-place processing)
5.88.4 Member Data Documentation
5.88.4.1 MHAParser::int_t example2_t::scale_ch [private]
Index of audio channel to scale.
5.88.4.2 MHAParser::float_t example2_t::factor [private]
The scaling factor applied to the selected channel.
The documentation for this class was generated from the following file:
example2.cpp
5.89 example3_t Class Reference
A Plugin class using the openMHA Event mechanism.
© 2005-2019 HörTech gGmbH, Oldenburg
5.89 example3_t Class Reference 309
Inheritance diagram for example3_t:
example3_t
MHAPlugin::plugin_t
< int >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< int >
Public Member Functions
example3_t (algo_comm_t &ac, const std::string &chain_name, const std::string
&algo_name)
This constructor initializes the configuration language variables and inserts them into the
openMHA configuration tree.
void prepare (mhaconfig_t &signal_info)
Plugin preparation.
void release (void)
Bookkeeping only.
mha_wave_t process (mha_wave_t signal)
Signal processing performed by the plugin.
Private Member Functions
void on_scale_ch_writeaccess ()
void on_scale_ch_valuechanged ()
void on_scale_ch_readaccess ()
void on_prereadaccess ()
© 2005-2019 HörTech gGmbH, Oldenburg
310 CONTENTS
Private Attributes
MHAParser::int_t scale_ch
Index of audio channel to scale.
MHAParser::float_t factor
The scaling factor applied to the selected channel.
MHAParser::int_mon_t prepared
Keep Track of the prepare/release calls.
MHAEvents::patchbay_t<example3_t >patchbay
The Event connector.
Additional Inherited Members
5.89.1 Detailed Description
A Plugin class using the openMHA Event mechanism.
This is the third example plugin for the step-by-step tutorial.
5.89.2 Constructor & Destructor Documentation
5.89.2.1 example3_t::example3_t (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
This constructor initializes the configuration language variables and inserts them into the
openMHA configuration tree.
It connects the openMHA Events triggered by these configuration variables to the respective
callbacks.
5.89.3 Member Function Documentation
5.89.3.1 void example3_t::on_scale_ch_writeaccess ( ) [private]
5.89.3.2 void example3_t::on_scale_ch_valuechanged ( ) [private]
5.89.3.3 void example3_t::on_scale_ch_readaccess ( ) [private]
5.89.3.4 void example3_t::on_prereadaccess ( ) [private]
5.89.3.5 void example3_t::prepare (
mhaconfig_t &signal_info )[virtual]
Plugin preparation.
This plugin checks that the input signal has the waveform domain and contains enough chan-
nels.
© 2005-2019 HörTech gGmbH, Oldenburg
5.89 example3_t Class Reference 311
Parameters
signal_info Structure containing a description of the form of the signal (domain, number of
channels, frames per block, sampling rate.
Implements MHAPlugin::plugin_t<int >(p. 730).
5.89.3.6 void example3_t::release (
void ) [virtual]
Bookkeeping only.
Reimplemented from MHAPlugin::plugin_t<int >(p. 731).
5.89.3.7 mha_wave_t example3_t::process (
mha_wave_t signal )
Signal processing performed by the plugin.
This plugin multiplies the signal in the selected audio channel by the configured factor.
Parameters
signal Pointer to the input signal structure.
Returns
Returns a pointer to the input signal structure, with a the signal modified by this plugin.
(In-place processing)
5.89.4 Member Data Documentation
5.89.4.1 MHAParser::int_t example3_t::scale_ch [private]
Index of audio channel to scale.
5.89.4.2 MHAParser::float_t example3_t::factor [private]
The scaling factor applied to the selected channel.
5.89.4.3 MHAParser::int_mon_t example3_t::prepared [private]
Keep Track of the prepare/release calls.
© 2005-2019 HörTech gGmbH, Oldenburg
312 CONTENTS
5.89.4.4 MHAEvents::patchbay_t<example3_t>example3_t::patchbay [private]
The Event connector.
The documentation for this class was generated from the following file:
example3.cpp
5.90 example4_t Class Reference
A Plugin class using the spectral signal.
Inheritance diagram for example4_t:
example4_t
MHAPlugin::plugin_t
< int >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< int >
Public Member Functions
example4_t (algo_comm_t &ac, const std::string &chain_name, const std::string
&algo_name)
This constructor initializes the configuration language variables and inserts them into the
openMHA configuration tree.
void prepare (mhaconfig_t &signal_info)
Plugin preparation.
void release (void)
Bookkeeping only.
mha_spec_t process (mha_spec_t signal)
Signal processing performed by the plugin.
© 2005-2019 HörTech gGmbH, Oldenburg
5.90 example4_t Class Reference 313
Private Member Functions
void on_scale_ch_writeaccess ()
void on_scale_ch_valuechanged ()
void on_scale_ch_readaccess ()
void on_prereadaccess ()
Private Attributes
MHAParser::int_t scale_ch
Index of audio channel to scale.
MHAParser::float_t factor
The scaling factor applied to the selected channel.
MHAParser::int_mon_t prepared
Keep Track of the prepare/release calls.
MHAEvents::patchbay_t<example4_t >patchbay
The Event connector.
Additional Inherited Members
5.90.1 Detailed Description
A Plugin class using the spectral signal.
This is the fourth example plugin for the step-by-step tutorial.
5.90.2 Constructor & Destructor Documentation
5.90.2.1 example4_t::example4_t (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
This constructor initializes the configuration language variables and inserts them into the
openMHA configuration tree.
It connects the openMHA Events triggered by these configuration variables to the respective
callbacks.
© 2005-2019 HörTech gGmbH, Oldenburg
314 CONTENTS
5.90.3 Member Function Documentation
5.90.3.1 void example4_t::on_scale_ch_writeaccess ( ) [private]
5.90.3.2 void example4_t::on_scale_ch_valuechanged ( ) [private]
5.90.3.3 void example4_t::on_scale_ch_readaccess ( ) [private]
5.90.3.4 void example4_t::on_prereadaccess ( ) [private]
5.90.3.5 void example4_t::prepare (
mhaconfig_t &signal_info )[virtual]
Plugin preparation.
This plugin checks that the input signal has the waveform domain and contains enough chan-
nels.
Parameters
signal_info Structure containing a description of the form of the signal (domain, number of
channels, frames per block, sampling rate.
Implements MHAPlugin::plugin_t<int >(p. 730).
5.90.3.6 void example4_t::release (
void ) [virtual]
Bookkeeping only.
Reimplemented from MHAPlugin::plugin_t<int >(p. 731).
5.90.3.7 mha_spec_t example4_t::process (
mha_spec_t signal )
Signal processing performed by the plugin.
This plugin multiplies the spectral signal in the selected audio channel by the configured factor.
Parameters
signal Pointer to the input signal structure.
© 2005-2019 HörTech gGmbH, Oldenburg
5.91 example5_t Class Reference 315
Returns
Returns a pointer to the input signal structure, with a the signal modified by this plugin.
(In-place processing)
5.90.4 Member Data Documentation
5.90.4.1 MHAParser::int_t example4_t::scale_ch [private]
Index of audio channel to scale.
5.90.4.2 MHAParser::float_t example4_t::factor [private]
The scaling factor applied to the selected channel.
5.90.4.3 MHAParser::int_mon_t example4_t::prepared [private]
Keep Track of the prepare/release calls.
5.90.4.4 MHAEvents::patchbay_t<example4_t>example4_t::patchbay [private]
The Event connector.
The documentation for this class was generated from the following file:
example4.cpp
5.91 example5_t Class Reference
Public Member Functions
example5_t (unsigned int, unsigned int, mha_real_t)
mha_spec_t process (mha_spec_t )
Private Attributes
unsigned int channel
mha_real_t scale
© 2005-2019 HörTech gGmbH, Oldenburg
316 CONTENTS
5.91.1 Constructor & Destructor Documentation
5.91.1.1 example5_t::example5_t (
unsigned int ichannel,
unsigned int numchannels,
mha_real_t iscale )
5.91.2 Member Function Documentation
5.91.2.1 mha_spec_t example5_t::process (
mha_spec_t spec )
5.91.3 Member Data Documentation
5.91.3.1 unsigned int example5_t::channel [private]
5.91.3.2 mha_real_t example5_t::scale [private]
The documentation for this class was generated from the following file:
example5.cpp
5.92 example6_t Class Reference
Inheritance diagram for example6_t:
example6_t
MHAPlugin::plugin_t
< cfg_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< cfg_t >
© 2005-2019 HörTech gGmbH, Oldenburg
5.92 example6_t Class Reference 317
Public Member Functions
example6_t (const algo_comm_t &, const std::string &, const std::string &)
mha_wave_t process (mha_wave_t )
void prepare (mhaconfig_t &)
Private Member Functions
void update_cfg ()
Private Attributes
MHAParser::int_t channel_no
float rmsdb
MHAEvents::patchbay_t<example6_t >patchbay
Additional Inherited Members
5.92.1 Constructor & Destructor Documentation
5.92.1.1 example6_t::example6_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.92.2 Member Function Documentation
5.92.2.1 mha_wave_t example6_t::process (
mha_wave_t wave )
5.92.2.2 void example6_t::prepare (
mhaconfig_t &tfcfg )[virtual]
Implements MHAPlugin::plugin_t<cfg_t >(p. 730).
5.92.2.3 void example6_t::update_cfg ( ) [private]
5.92.3 Member Data Documentation
5.92.3.1 MHAParser::int_t example6_t::channel_no [private]
5.92.3.2 float example6_t::rmsdb [private]
5.92.3.3 MHAEvents::patchbay_t<example6_t>example6_t::patchbay [private]
The documentation for this class was generated from the following file:
example6.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
318 CONTENTS
5.93 expression_t Class Reference
Class for separating a string into a left hand value and a right hand value.
5.93.1 Detailed Description
Class for separating a string into a left hand value and a right hand value.
A list of valid operators can be provided. After construction, the class members lval, rval and
op contain the apropriate contents.
The documentation for this class was generated from the following file:
mha_parser.cpp
5.94 fader_if_t Class Reference
Inheritance diagram for fader_if_t:
fader_if_t
MHAPlugin::plugin_t
< spec_fader_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< spec_fader_t >
Public Member Functions
fader_if_t (const algo_comm_t &, const std::string &, const std::string &)
mha_spec_t process (mha_spec_t )
void prepare (mhaconfig_t &)
© 2005-2019 HörTech gGmbH, Oldenburg
5.94 fader_if_t Class Reference 319
Private Member Functions
void update_cfg ()
Private Attributes
MHAEvents::patchbay_t<fader_if_t >patchbay
MHAParser::float_t tau
MHAParser::vfloat_t newgains
mha_real_t actgains
Additional Inherited Members
5.94.1 Constructor & Destructor Documentation
5.94.1.1 fader_if_t::fader_if_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.94.2 Member Function Documentation
5.94.2.1 mha_spec_t fader_if_t::process (
mha_spec_t s)
5.94.2.2 void fader_if_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<spec_fader_t >(p. 730).
5.94.2.3 void fader_if_t::update_cfg (
void ) [private]
5.94.3 Member Data Documentation
5.94.3.1 MHAEvents::patchbay_t<fader_if_t>fader_if_t::patchbay [private]
5.94.3.2 MHAParser::float_t fader_if_t::tau [private]
5.94.3.3 MHAParser::vfloat_t fader_if_t::newgains [private]
5.94.3.4 mha_real_tfader_if_t::actgains [private]
The documentation for this class was generated from the following file:
fader_spec.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
320 CONTENTS
5.95 fader_wave::fader_wave_if_t Class Reference
Inheritance diagram for fader_wave::fader_wave_if_t:
fader_wave::fader_wave_if_t
level_adaptor
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< runtime_cfg_t >
Public Member Functions
fader_wave_if_t (algo_comm_t, const char , const char )
mha_wave_t process (mha_wave_t )
void prepare (mhaconfig_t &)
void release ()
Private Member Functions
void set_level ()
Private Attributes
MHAParser::vfloat_t gain
MHAParser::float_t ramplen
MHAEvents::patchbay_t<fader_wave_if_t >patchbay
bool prepared
© 2005-2019 HörTech gGmbH, Oldenburg
5.95 fader_wave::fader_wave_if_t Class Reference 321
Additional Inherited Members
5.95.1 Constructor & Destructor Documentation
5.95.1.1 fader_wave::fader_wave_if_t::fader_wave_if_t (
algo_comm_t iac,
const char ,
const char )
5.95.2 Member Function Documentation
5.95.2.1 mha_wave_t fader_wave::fader_wave_if_t::process (
mha_wave_t s)
5.95.2.2 void fader_wave::fader_wave_if_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<runtime_cfg_t >(p. 730).
5.95.2.3 void fader_wave::fader_wave_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<runtime_cfg_t >(p. 731).
5.95.2.4 void fader_wave::fader_wave_if_t::set_level ( ) [private]
5.95.3 Member Data Documentation
5.95.3.1 MHAParser::vfloat_t fader_wave::fader_wave_if_t::gain [private]
5.95.3.2 MHAParser::float_t fader_wave::fader_wave_if_t::ramplen [private]
5.95.3.3 MHAEvents::patchbay_t<fader_wave_if_t>fader_wave::fader_wave_if_t::patchbay
[private]
5.95.3.4 bool fader_wave::fader_wave_if_t::prepared [private]
The documentation for this class was generated from the following file:
fader_wave.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
322 CONTENTS
5.96 fader_wave::level_adapt_t Class Reference
Inheritance diagram for fader_wave::level_adapt_t:
fader_wave::level_adapt_t
MHASignal::waveform_t
mha_wave_t
Public Member Functions
level_adapt_t (mhaconfig_t cf, mha_real_t adapt_len, std::vector<float >l_new_-
, std::vector<float >l_old_)
void update_frame ()
• std::vector<float >get_level () const
bool can_update () const
Private Attributes
unsigned int ilen
unsigned int pos
MHAWindow::fun_t wnd
• std::vector<float >l_new
• std::vector<float >l_old
Additional Inherited Members
5.96.1 Constructor & Destructor Documentation
5.96.1.1 fader_wave::level_adapt_t::level_adapt_t (
mhaconfig_t cf,
mha_real_t adapt_len,
std::vector<float >l_new_,
std::vector<float >l_old_ )
© 2005-2019 HörTech gGmbH, Oldenburg
5.97 fftfbpow::fftfbpow_interface_t Class Reference 323
5.96.2 Member Function Documentation
5.96.2.1 void fader_wave::level_adapt_t::update_frame ( )
5.96.2.2 std::vector<float>fader_wave::level_adapt_t::get_level ( ) const [inline]
5.96.2.3 bool fader_wave::level_adapt_t::can_update ( ) const [inline]
5.96.3 Member Data Documentation
5.96.3.1 unsigned int fader_wave::level_adapt_t::ilen [private]
5.96.3.2 unsigned int fader_wave::level_adapt_t::pos [private]
5.96.3.3 MHAWindow::fun_t fader_wave::level_adapt_t::wnd [private]
5.96.3.4 std::vector<float>fader_wave::level_adapt_t::l_new [private]
5.96.3.5 std::vector<float>fader_wave::level_adapt_t::l_old [private]
The documentation for this class was generated from the following file:
fader_wave.cpp
5.97 fftfbpow::fftfbpow_interface_t Class Reference
Interface class for fftfbpow plugin.
Inheritance diagram for fftfbpow::fftfbpow_interface_t:
fftfbpow::fftfbpow
_interface_t
MHAPlugin::plugin_t
< fftfbpow_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< fftfbpow_t >
MHAOvlFilter::fftfb
_vars_t
© 2005-2019 HörTech gGmbH, Oldenburg
324 CONTENTS
Public Member Functions
fftfbpow_interface_t (const algo_comm_t &ac, const std::string &, const std::string
&algo_name)
Constructor with standard MHA constructor parameters.
void prepare (mhaconfig_t &tf)
Standard MHA plugin prepare function.
mha_spec_t process (mha_spec_t s)
Standard MHA plugin process fct.
Private Member Functions
void update_cfg ()
Constructs new runtime configuration in thread-safe manner.
Private Attributes
std::string name
Configured name of this plugin instance.
MHAEvents::patchbay_t<fftfbpow_interface_t >patchbay
Patchbay to connect to MHA configuration interface.
Additional Inherited Members
5.97.1 Detailed Description
Interface class for fftfbpow plugin.
5.97.2 Constructor & Destructor Documentation
5.97.2.1 fftfbpow::fftfbpow_interface_t::fftfbpow_interface_t (
const algo_comm_t &ac,
const std::string & ,
const std::string & algo_name )
Constructor with standard MHA constructor parameters.
Parameters
ac Handle to algorithm communication variable space
algo_name Configured name of this plugin instance
© 2005-2019 HörTech gGmbH, Oldenburg
5.97 fftfbpow::fftfbpow_interface_t Class Reference 325
5.97.3 Member Function Documentation
5.97.3.1 void fftfbpow::fftfbpow_interface_t::prepare (
mhaconfig_t &tf )[virtual]
Standard MHA plugin prepare function.
Ensures that the input is in the frequency domain, calls update_cfg() (p. 325) and inserts fbpow
into the AC space.
Parameters
tf Incoming mha configuration structure, contains information about input signal
Implements MHAPlugin::plugin_t<fftfbpow_t >(p. 730).
5.97.3.2 mha_spec_t fftfbpow::fftfbpow_interface_t::process (
mha_spec_t s)
Standard MHA plugin process fct.
Polls new config and calls process() (p. 325) of the runtime configuration.
Parameters
sInput spectrum
Returns
Unchanged input spectrum
5.97.3.3 void fftfbpow::fftfbpow_interface_t::update_cfg (
void ) [private]
Constructs new runtime configuration in thread-safe manner.
5.97.4 Member Data Documentation
5.97.4.1 std::string fftfbpow::fftfbpow_interface_t::name [private]
Configured name of this plugin instance.
© 2005-2019 HörTech gGmbH, Oldenburg
326 CONTENTS
5.97.4.2 MHAEvents::patchbay_t<fftfbpow_interface_t>fftfbpow::fftfbpow_interface_t-
::patchbay [private]
Patchbay to connect to MHA configuration interface.
The documentation for this class was generated from the following file:
fftfbpow.cpp
5.98 fftfbpow::fftfbpow_t Class Reference
Run time configuration for the fftfbpow plugin.
Inheritance diagram for fftfbpow::fftfbpow_t:
fftfbpow::fftfbpow_t
MHAOvlFilter::fftfb_t
MHAOvlFilter::fspacing_t MHASignal::waveform_t
mha_wave_t
Public Member Functions
fftfbpow_t (MHAOvlFilter::fftfb_vars_t &vars, unsigned int nch, unsigned int nfft, mha-
_real_t fs, algo_comm_t ac, std::string name)
Constructor of the run time configuration.
Public Attributes
MHA_AC::waveform_t fbpow
AC variable containing the estimated power in each frequency band.
© 2005-2019 HörTech gGmbH, Oldenburg
5.98 fftfbpow::fftfbpow_t Class Reference 327
Additional Inherited Members
5.98.1 Detailed Description
Run time configuration for the fftfbpow plugin.
5.98.2 Constructor & Destructor Documentation
5.98.2.1 fftfbpow::fftfbpow_t::fftfbpow_t (
MHAOvlFilter::fftfb_vars_t &vars,
unsigned int nch,
unsigned int nfft,
mha_real_t fs,
algo_comm_t ac,
std::string name )
Constructor of the run time configuration.
Parameters
vars Set of configuration variables for FFT-based overlapping filters
nch Number of audio input channels
nfft Length of FFT
fs Sampling rate
ac AC space
name Configured name of plugin interface, used as prefix for AC variable names
5.98.3 Member Data Documentation
5.98.3.1 MHA_AC::waveform_t fftfbpow::fftfbpow_t::fbpow
AC variable containing the estimated power in each frequency band.
The documentation for this class was generated from the following file:
fftfbpow.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
328 CONTENTS
5.99 fftfilterbank::fftfb_interface_t Class Reference
Inheritance diagram for fftfilterbank::fftfb_interface_t:
fftfilterbank::fftfb
_interface_t
MHAPlugin::plugin_t
< fftfb_plug_t >
MHAParser::parser_tMHAParser::base_t
MHAPlugin::config_t
< fftfb_plug_t >
MHAOvlFilter::overlap
_save_filterbank_t::vars_t
MHAOvlFilter::fftfb
_vars_t
Public Member Functions
fftfb_interface_t (const algo_comm_t &ac, const std::string &th, const std::string &al)
Default values are set and MHA configuration variables registered into the parser.
void prepare (mhaconfig_t &)
Prepare all variables for processing.
void release ()
mha_spec_t process (mha_spec_t )
mha_wave_t process (mha_wave_t )
Private Member Functions
void update_cfg ()
Private Attributes
MHAParser::bool_t return_imag
MHAEvents::patchbay_t<fftfb_interface_t >patchbay
MHA_AC::int_t nchannels
std::string algo
bool prepared
unsigned int nbands
Additional Inherited Members
5.99.1 Constructor & Destructor Documentation
5.99.1.1 fftfilterbank::fftfb_interface_t::fftfb_interface_t (
const algo_comm_t &ac,
const std::string & th,
const std::string & al )
Default values are set and MHA configuration variables registered into the parser.
© 2005-2019 HörTech gGmbH, Oldenburg
5.99 fftfilterbank::fftfb_interface_t Class Reference 329
Parameters
ac algorithm communication handle
th chain name
al algorithm name
5.99.2 Member Function Documentation
5.99.2.1 void fftfilterbank::fftfb_interface_t::prepare (
mhaconfig_t &tf )[virtual]
Prepare all variables for processing.
In this function, all variables are initialised and the filter shapes for each band are calculated.
The filter shapes W(f)are defined as
W(f) = W(T(S(f))) = W(x), x =T(S(f)) = T(ˆ
f),
W(x)beeing a symmetric window function in the interval [1,1] and S(f)the transformation
from the linear scale to the given frequency scale (see functions in FreqScaleFun). The function
T(ˆ
f)transforms the frequency range between the center frequencies [ˆ
fk1,ˆ
fk]and [ˆ
fk,ˆ
fk+1]
into the interval [1,0] and [0,1], respectively. This function is realised by the function linscale().
Parameters
tf Channel configuration
Implements MHAPlugin::plugin_t<fftfb_plug_t >(p. 730).
5.99.2.2 void fftfilterbank::fftfb_interface_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<fftfb_plug_t >(p. 731).
5.99.2.3 mha_spec_t fftfilterbank::fftfb_interface_t::process (
mha_spec_t s)
5.99.2.4 mha_wave_t fftfilterbank::fftfb_interface_t::process (
mha_wave_t s)
5.99.2.5 void fftfilterbank::fftfb_interface_t::update_cfg (
void ) [private]
© 2005-2019 HörTech gGmbH, Oldenburg
330 CONTENTS
5.99.3 Member Data Documentation
5.99.3.1 MHAParser::bool_t fftfilterbank::fftfb_interface_t::return_imag [private]
5.99.3.2 MHAEvents::patchbay_t<fftfb_interface_t>fftfilterbank::fftfb_interface_t::patchbay
[private]
5.99.3.3 MHA_AC::int_t fftfilterbank::fftfb_interface_t::nchannels [private]
5.99.3.4 std::string fftfilterbank::fftfb_interface_t::algo [private]
5.99.3.5 bool fftfilterbank::fftfb_interface_t::prepared [private]
5.99.3.6 unsigned int fftfilterbank::fftfb_interface_t::nbands [private]
The documentation for this class was generated from the following file:
fftfilterbank.cpp
5.100 fftfilterbank::fftfb_plug_t Class Reference
Inheritance diagram for fftfilterbank::fftfb_plug_t:
fftfilterbank::fftfb
_plug_t
MHAOvlFilter::overlap
_save_filterbank_analytic_t
MHAOvlFilter::overlap
_save_filterbank_t
MHAOvlFilter::fftfb_t
MHAOvlFilter::fspacing_t MHASignal::waveform_t
mha_wave_t
MHAFilter::fftfilterbank_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.100 fftfilterbank::fftfb_plug_t Class Reference 331
Public Member Functions
fftfb_plug_t (MHAOvlFilter::overlap_save_filterbank_t::vars_t &, mhaconfig_-
tchcfg, algo_comm_t ac, std::string alg, bool return_imag)
mha_spec_t process (mha_spec_t )
mha_wave_t process (mha_wave_t )
void insert ()
Private Attributes
MHAOvlFilter::fftfb_ac_info_t fb_acinfo
MHASignal::spectrum_t s_out
MHA_AC::waveform_t imag
bool return_imag_
Additional Inherited Members
5.100.1 Constructor & Destructor Documentation
5.100.1.1 fftfilterbank::fftfb_plug_t::fftfb_plug_t (
MHAOvlFilter::overlap_save_filterbank_t::vars_t &vars,
mhaconfig_t chcfg,
algo_comm_t ac,
std::string alg,
bool return_imag )
5.100.2 Member Function Documentation
5.100.2.1 mha_spec_t fftfilterbank::fftfb_plug_t::process (
mha_spec_t s)
5.100.2.2 mha_wave_t fftfilterbank::fftfb_plug_t::process (
mha_wave_t s)
5.100.2.3 void fftfilterbank::fftfb_plug_t::insert ( )
5.100.3 Member Data Documentation
5.100.3.1 MHAOvlFilter::fftfb_ac_info_t fftfilterbank::fftfb_plug_t::fb_acinfo [private]
5.100.3.2 MHASignal::spectrum_t fftfilterbank::fftfb_plug_t::s_out [private]
5.100.3.3 MHA_AC::waveform_t fftfilterbank::fftfb_plug_t::imag [private]
5.100.3.4 bool fftfilterbank::fftfb_plug_t::return_imag_ [private]
The documentation for this class was generated from the following file:
fftfilterbank.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
332 CONTENTS
5.101 fshift::fshift_config_t Class Reference
fshift runtime config class
Public Member Functions
fshift_config_t (fshift_t const const plug)
C'tor of the fshift plugin runtime configuration class.
fshift_config_t ()=default
mha_spec_t process (mha_spec_t )
Private Attributes
const unsigned int kmin
FFT bin corresponding to fmin.
const unsigned kmax
FFT bin corresponding to fmax.
const int df
Frequency shift expressed in FFT bins.
const mha_complex_t delta_phi
Phase advance per fft frame.
mha_complex_t delta_phi_total
Sum of all phase advances.
5.101.1 Detailed Description
fshift runtime config class
5.101.2 Constructor & Destructor Documentation
5.101.2.1 fshift::fshift_config_t::fshift_config_t (
fshift_t const const plug )[explicit]
C'tor of the fshift plugin runtime configuration class.
Parameters
plug ptr to the plugin interface class. Configuration information is given this way to keep the
argument list small.
© 2005-2019 HörTech gGmbH, Oldenburg
5.101 fshift::fshift_config_t Class Reference 333
5.101.2.2 fshift::fshift_config_t::fshift_config_t ( ) [default]
5.101.3 Member Function Documentation
5.101.3.1 mha_spec_t fshift::fshift_config_t::process (
mha_spec_t in )
5.101.4 Member Data Documentation
5.101.4.1 const unsigned int fshift::fshift_config_t::kmin [private]
FFT bin corresponding to fmin.
5.101.4.2 const unsigned fshift::fshift_config_t::kmax [private]
FFT bin corresponding to fmax.
5.101.4.3 const int fshift::fshift_config_t::df [private]
Frequency shift expressed in FFT bins.
5.101.4.4 const mha_complex_t fshift::fshift_config_t::delta_phi [private]
Phase advance per fft frame.
5.101.4.5 mha_complex_t fshift::fshift_config_t::delta_phi_total [private]
Sum of all phase advances.
The documentation for this class was generated from the following files:
fshift.hh
fshift.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
334 CONTENTS
5.102 fshift::fshift_t Class Reference
fshift plugin interface class
Inheritance diagram for fshift::fshift_t:
fshift::fshift_t
MHAPlugin::plugin_t
< fshift_config_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< fshift_config_t >
Public Member Functions
fshift_t (algo_comm_t &ac, const std::string &chain_name, const std::string &algo_-
name)
Constructs our plugin.
fshift_t ()
mha_spec_t process (mha_spec_t )
Checks for the most recent configuration and defers processing to it.
void prepare (mhaconfig_t &)
Plugin preparation.
void release (void)
mha_real_t fmin () const
mha_real_t fmax () const
mha_real_t df () const
Private Member Functions
void update_cfg ()
© 2005-2019 HörTech gGmbH, Oldenburg
5.102 fshift::fshift_t Class Reference 335
Private Attributes
MHAEvents::patchbay_t<fshift_t >patchbay
patch bay for connecting configuration parser events with local member functions:
MHAParser::float_t m_fmin
MHAParser::float_t m_fmax
upper boundary for frequency shifter
MHAParser::float_t m_df
Shift frequency in Hz.
Additional Inherited Members
5.102.1 Detailed Description
fshift plugin interface class
5.102.2 Constructor & Destructor Documentation
5.102.2.1 fshift::fshift_t::fshift_t (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
5.102.2.2 fshift::fshift_t::fshift_t ( )
5.102.3 Member Function Documentation
5.102.3.1 mha_spec_t fshift::fshift_t::process (
mha_spec_t signal )
Checks for the most recent configuration and defers processing to it.
5.102.3.2 void fshift::fshift_t::prepare (
mhaconfig_t &signal_info )[virtual]
Plugin preparation.
An opportunity to validate configuration parameters before instantiating a configuration.
© 2005-2019 HörTech gGmbH, Oldenburg
336 CONTENTS
Parameters
signal_info Structure containing a description of the form of the signal (domain, number of
channels, frames per block, sampling rate.
Implements MHAPlugin::plugin_t<fshift_config_t >(p. 730).
5.102.3.3 void fshift::fshift_t::release (
void ) [inline],[virtual]
Reimplemented from MHAPlugin::plugin_t<fshift_config_t >(p. 731).
5.102.3.4 mha_real_t fshift::fshift_t::fmin ( ) const [inline]
5.102.3.5 mha_real_t fshift::fshift_t::fmax ( ) const [inline]
5.102.3.6 mha_real_t fshift::fshift_t::df ( ) const [inline]
5.102.3.7 void fshift::fshift_t::update_cfg (
void ) [private]
5.102.4 Member Data Documentation
5.102.4.1 MHAEvents::patchbay_t<fshift_t>fshift::fshift_t::patchbay [private]
patch bay for connecting configuration parser events with local member functions:
5.102.4.2 MHAParser::float_t fshift::fshift_t::m_fmin [private]
5.102.4.3 MHAParser::float_t fshift::fshift_t::m_fmax [private]
upper boundary for frequency shifter
5.102.4.4 MHAParser::float_t fshift::fshift_t::m_df [private]
Shift frequency in Hz.
The documentation for this class was generated from the following files:
fshift.hh
fshift.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.103 fshift_hilbert::frequency_translator_t Class Reference 337
5.103 fshift_hilbert::frequency_translator_t Class Reference
Inheritance diagram for fshift_hilbert::frequency_translator_t:
fshift_hilbert::frequency
_translator_t
MHAPlugin::plugin_t
< hilbert_shifter_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< hilbert_shifter_t >
Public Member Functions
frequency_translator_t (const algo_comm_t &, const std::string &, const std::string &)
mha_spec_t process (mha_spec_t )
void prepare (mhaconfig_t &)
void release ()
Private Member Functions
void update ()
Private Attributes
MHAEvents::patchbay_t<frequency_translator_t >patchbay
MHAParser::vfloat_t df
Vector containing the shift frequencies in Hz.
MHAParser::float_t fmin
Lower boundary for frequency shifter.
© 2005-2019 HörTech gGmbH, Oldenburg
338 CONTENTS
MHAParser::float_t fmax
Upper boundary for frequency shifter.
MHAParser::int_t irslen
Maximum length of cut off filter response.
MHAParser::kw_t phasemode
Mode of gain smoothing.
Additional Inherited Members
5.103.1 Constructor & Destructor Documentation
5.103.1.1 fshift_hilbert::frequency_translator_t::frequency_translator_t (
const algo_comm_t &iac,
const std::string & ith,
const std::string & ial )
5.103.2 Member Function Documentation
5.103.2.1 mha_spec_t fshift_hilbert::frequency_translator_t::process (
mha_spec_t s)
5.103.2.2 void fshift_hilbert::frequency_translator_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<hilbert_shifter_t >(p. 730).
5.103.2.3 void fshift_hilbert::frequency_translator_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<hilbert_shifter_t >(p. 731).
5.103.2.4 void fshift_hilbert::frequency_translator_t::update ( ) [private]
5.103.3 Member Data Documentation
5.103.3.1 MHAEvents::patchbay_t<frequency_translator_t>fshift_hilbert::frequency_-
translator_t::patchbay [private]
5.103.3.2 MHAParser::vfloat_t fshift_hilbert::frequency_translator_t::df [private]
Vector containing the shift frequencies in Hz.
© 2005-2019 HörTech gGmbH, Oldenburg
5.104 fshift_hilbert::hilbert_shifter_t Class Reference 339
5.103.3.3 MHAParser::float_t fshift_hilbert::frequency_translator_t::fmin [private]
Lower boundary for frequency shifter.
5.103.3.4 MHAParser::float_t fshift_hilbert::frequency_translator_t::fmax [private]
Upper boundary for frequency shifter.
5.103.3.5 MHAParser::int_t fshift_hilbert::frequency_translator_t::irslen [private]
Maximum length of cut off filter response.
5.103.3.6 MHAParser::kw_t fshift_hilbert::frequency_translator_t::phasemode [private]
Mode of gain smoothing.
The documentation for this class was generated from the following file:
fshift_hilbert.cpp
5.104 fshift_hilbert::hilbert_shifter_t Class Reference
Inheritance diagram for fshift_hilbert::hilbert_shifter_t:
fshift_hilbert::hilbert
_shifter_t
MHASignal::spectrum_t
mha_spec_t
© 2005-2019 HörTech gGmbH, Oldenburg
340 CONTENTS
Public Member Functions
hilbert_shifter_t (unsigned int fftlen, unsigned int channels,mha_real_t srate, unsigned
int kmin, unsigned int kmax, std::vector<mha_real_t >dphi, unsigned int frameshift,
unsigned int maxirslen, unsigned int phasemode)
hilbert_shifter_t ()
void process (mha_spec_t )
Private Attributes
MHASignal::spectrum_t fullspec
Part of the spectrum to be frequency shifted.
MHASignal::spectrum_t analytic
Analytic signal, defined as a(t)=x(t)+iH(x(t))
MHASignal::waveform_t shifted
The frequency shifted signal in the time domain.
MHASignal::spectrum_t mixw_shift
Helper varaible containing the coefficients used to split the spectrum.
MHASignal::spectrum_t mixw_ref
Helper varaible containing the coefficients used to split the spectrum.
fftw_plan plan_spec2analytic
FFT plan for the transformation of fullspec into the time domain.
mha_fft_t mhafft
MHA wrapper object for fftw.
MHASignal::waveform_t df
Vector holding one delta f value for every channel.
unsigned int kmin
FFT frame that corresponds to f_min.
unsigned int kmax
FFT frame that corresponds to f_max.
unsigned int frameshift
Total phase advance within one fragment.
• std::vector<mha_complex_t >delta_phi
Phase advance per frame.
• std::vector<mha_complex_t >delta_phi_total
Sum of all phase advances.
Additional Inherited Members
5.104.1 Constructor & Destructor Documentation
© 2005-2019 HörTech gGmbH, Oldenburg
5.104 fshift_hilbert::hilbert_shifter_t Class Reference 341
5.104.1.1 fshift_hilbert::hilbert_shifter_t::hilbert_shifter_t (
unsigned int fftlen,
unsigned int channels,
mha_real_t srate,
unsigned int kmin,
unsigned int kmax,
std::vector<mha_real_t >dphi,
unsigned int frameshift,
unsigned int maxirslen,
unsigned int phasemode )
5.104.1.2 fshift_hilbert::hilbert_shifter_t::hilbert_shifter_t ( )
5.104.2 Member Function Documentation
5.104.2.1 void fshift_hilbert::hilbert_shifter_t::process (
mha_spec_t s)
5.104.3 Member Data Documentation
5.104.3.1 MHASignal::spectrum_t fshift_hilbert::hilbert_shifter_t::fullspec [private]
Part of the spectrum to be frequency shifted.
5.104.3.2 MHASignal::spectrum_t fshift_hilbert::hilbert_shifter_t::analytic [private]
Analytic signal, defined as a(t)=x(t)+iH(x(t))
5.104.3.3 MHASignal::waveform_t fshift_hilbert::hilbert_shifter_t::shifted [private]
The frequency shifted signal in the time domain.
5.104.3.4 MHASignal::spectrum_t fshift_hilbert::hilbert_shifter_t::mixw_shift [private]
Helper varaible containing the coefficients used to split the spectrum.
Contains 1 for every fft bin to be frequency shifted, 0 for all others
5.104.3.5 MHASignal::spectrum_t fshift_hilbert::hilbert_shifter_t::mixw_ref [private]
Helper varaible containing the coefficients used to split the spectrum.
Contains 0 for every fft bin to be frequency shifted, 1 for all others
© 2005-2019 HörTech gGmbH, Oldenburg
342 CONTENTS
5.104.3.6 fftw_plan fshift_hilbert::hilbert_shifter_t::plan_spec2analytic [private]
FFT plan for the transformation of fullspec into the time domain.
5.104.3.7 mha_fft_t fshift_hilbert::hilbert_shifter_t::mhafft [private]
MHA wrapper object for fftw.
5.104.3.8 MHASignal::waveform_t fshift_hilbert::hilbert_shifter_t::df [private]
Vector holding one delta f value for every channel.
5.104.3.9 unsigned int fshift_hilbert::hilbert_shifter_t::kmin [private]
FFT frame that corresponds to f_min.
5.104.3.10 unsigned int fshift_hilbert::hilbert_shifter_t::kmax [private]
FFT frame that corresponds to f_max.
5.104.3.11 unsigned int fshift_hilbert::hilbert_shifter_t::frameshift [private]
Total phase advance within one fragment.
5.104.3.12 std::vector<mha_complex_t>fshift_hilbert::hilbert_shifter_t::delta_phi [private]
Phase advance per frame.
5.104.3.13 std::vector<mha_complex_t>fshift_hilbert::hilbert_shifter_t::delta_phi_total
[private]
Sum of all phase advances.
The documentation for this class was generated from the following file:
fshift_hilbert.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.105 fw_t Class Reference 343
5.105 fw_t Class Reference
Inheritance diagram for fw_t:
fw_t
mhaserver_t
MHAParser::parser_t
MHAParser::base_t
Public Member Functions
fw_t ()
fw_t ()
bool exit_request () const
Protected Attributes
int proc_error
int io_error
Private Types
Private Member Functions
void prepare ()
preparation for processing
void start ()
start of processing
void stop ()
© 2005-2019 HörTech gGmbH, Oldenburg
344 CONTENTS
stop/pause of processing
void release ()
release of IO device
void quit ()
controlled quit
void stopped (int, int)
void started ()
int process (mha_wave_t ,mha_wave_t ∗∗)
void exec_fw_command ()
void load_proc_lib ()
void load_io_lib ()
void fw_sleep_cmd ()
void fw_until_cmd ()
void get_input_signal_dimension ()
void async_read ()
void async_poll_msg ()
void get_parserstate ()
Static Private Member Functions
static void stopped (void h, int proc_err, int io_err)
static void started (void h)
static int process (void h, mha_wave_t sIn, mha_wave_t ∗∗sOut)
Private Attributes
fw_vars_t prepare_vars
MHAParser::int_mon_t nchannels_out
MHAParser::string_t proc_name
MHAParser::string_t io_name
MHAParser::bool_t exit_on_stop
MHAParser::int_t fw_sleep
MHAParser::string_t fw_until
MHAParser::kw_t fw_cmd
MHAParser::string_mon_t parserstate
MHAParser::string_t errorlog
MHAParser::string_t fatallog
MHAParser::vstring_t plugins
MHAParser::vstring_t plugin_paths
MHAParser::bool_t dump_mha
MHAParser::string_t inst_name
A variable for naming MHA instances.
MHAKernel::algo_comm_class_t ac
PluginLoader::mhapluginloader_t proc_lib
io_lib_t io_lib
© 2005-2019 HörTech gGmbH, Oldenburg
5.105 fw_t Class Reference 345
mhaconfig_t cfin
mhaconfig_t cfout
state_t state
bool b_exit_request
MHAParser::string_mon_t proc_error_string
MHAEvents::patchbay_t<fw_t >patchbay
Additional Inherited Members
5.105.1 Member Enumeration Documentation
5.105.1.1 enum fw_t::state_t [private]
Enumerator
fw_unprepared
fw_stopped
fw_starting
fw_running
fw_stopping
fw_exiting
5.105.2 Constructor & Destructor Documentation
5.105.2.1 fw_t::fw_t ( )
5.105.2.2 fw_t::fw_t ( )
5.105.3 Member Function Documentation
5.105.3.1 bool fw_t::exit_request ( ) const [inline]
5.105.3.2 void fw_t::prepare (
void ) [private]
preparation for processing
5.105.3.3 void fw_t::start ( ) [private]
start of processing
© 2005-2019 HörTech gGmbH, Oldenburg
346 CONTENTS
5.105.3.4 void fw_t::stop ( ) [private]
stop/pause of processing
5.105.3.5 void fw_t::release ( ) [private]
release of IO device
5.105.3.6 void fw_t::quit ( ) [private]
controlled quit
5.105.3.7 static void fw_t::stopped (
void h,
int proc_err,
int io_err )[inline],[static],[private]
5.105.3.8 static void fw_t::started (
void h)[inline],[static],[private]
5.105.3.9 static int fw_t::process (
void h,
mha_wave_t sIn,
mha_wave_t ∗∗ sOut )[inline],[static],[private]
5.105.3.10 void fw_t::stopped (
int proc_err,
int io_err )[private]
5.105.3.11 void fw_t::started ( ) [private]
5.105.3.12 int fw_t::process (
mha_wave_t s_in,
mha_wave_t ∗∗ s_out )[private]
5.105.3.13 void fw_t::exec_fw_command ( ) [private]
5.105.3.14 void fw_t::load_proc_lib ( ) [private]
5.105.3.15 void fw_t::load_io_lib ( ) [private]
5.105.3.16 void fw_t::fw_sleep_cmd ( ) [private]
5.105.3.17 void fw_t::fw_until_cmd ( ) [private]
© 2005-2019 HörTech gGmbH, Oldenburg
5.105 fw_t Class Reference 347
5.105.3.18 void fw_t::get_input_signal_dimension ( ) [private]
5.105.3.19 void fw_t::async_read ( ) [inline],[private]
5.105.3.20 void fw_t::async_poll_msg ( ) [private]
5.105.3.21 void fw_t::get_parserstate ( ) [private]
5.105.4 Member Data Documentation
5.105.4.1 fw_vars_t fw_t::prepare_vars [private]
5.105.4.2 MHAParser::int_mon_t fw_t::nchannels_out [private]
5.105.4.3 MHAParser::string_t fw_t::proc_name [private]
5.105.4.4 MHAParser::string_t fw_t::io_name [private]
5.105.4.5 MHAParser::bool_t fw_t::exit_on_stop [private]
5.105.4.6 MHAParser::int_t fw_t::fw_sleep [private]
5.105.4.7 MHAParser::string_t fw_t::fw_until [private]
5.105.4.8 MHAParser::kw_t fw_t::fw_cmd [private]
5.105.4.9 MHAParser::string_mon_t fw_t::parserstate [private]
5.105.4.10 MHAParser::string_t fw_t::errorlog [private]
5.105.4.11 MHAParser::string_t fw_t::fatallog [private]
5.105.4.12 MHAParser::vstring_t fw_t::plugins [private]
5.105.4.13 MHAParser::vstring_t fw_t::plugin_paths [private]
5.105.4.14 MHAParser::bool_t fw_t::dump_mha [private]
5.105.4.15 MHAParser::string_t fw_t::inst_name [private]
A variable for naming MHA instances.
© 2005-2019 HörTech gGmbH, Oldenburg
348 CONTENTS
5.105.4.16 MHAKernel::algo_comm_class_t fw_t::ac [private]
5.105.4.17 PluginLoader::mhapluginloader_tfw_t::proc_lib [private]
5.105.4.18 io_lib_tfw_t::io_lib [private]
5.105.4.19 mhaconfig_t fw_t::cfin [private]
5.105.4.20 mhaconfig_t fw_t::cfout [private]
5.105.4.21 state_t fw_t::state [private]
5.105.4.22 bool fw_t::b_exit_request [private]
5.105.4.23 int fw_t::proc_error [protected]
5.105.4.24 int fw_t::io_error [protected]
5.105.4.25 MHAParser::string_mon_t fw_t::proc_error_string [private]
5.105.4.26 MHAEvents::patchbay_t<fw_t>fw_t::patchbay [private]
The documentation for this class was generated from the following files:
mhafw_lib.h
mhafw_lib.cpp
5.106 fw_vars_t Class Reference
Public Member Functions
fw_vars_t (MHAParser::parser_t &)
void lock_srate_fragsize ()
void lock_channels ()
void unlock_srate_fragsize ()
void unlock_channels ()
Public Attributes
MHAParser::int_t pinchannels
MHAParser::int_t pfragmentsize
MHAParser::float_t psrate
© 2005-2019 HörTech gGmbH, Oldenburg
5.106 fw_vars_t Class Reference 349
5.106.1 Constructor & Destructor Documentation
5.106.1.1 fw_vars_t::fw_vars_t (
MHAParser::parser_t &p)
5.106.2 Member Function Documentation
5.106.2.1 void fw_vars_t::lock_srate_fragsize ( )
5.106.2.2 void fw_vars_t::lock_channels ( )
5.106.2.3 void fw_vars_t::unlock_srate_fragsize ( )
5.106.2.4 void fw_vars_t::unlock_channels ( )
5.106.3 Member Data Documentation
5.106.3.1 MHAParser::int_t fw_vars_t::pinchannels
5.106.3.2 MHAParser::int_t fw_vars_t::pfragmentsize
5.106.3.3 MHAParser::float_t fw_vars_t::psrate
The documentation for this class was generated from the following files:
mhafw_lib.h
mhafw_lib.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
350 CONTENTS
5.107 gain::gain_if_t Class Reference
Inheritance diagram for gain::gain_if_t:
gain::gain_if_t
MHAPlugin::plugin_t
< scaler_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< scaler_t >
Public Member Functions
gain_if_t (const algo_comm_t &, const std::string &, const std::string &)
mha_wave_t process (mha_wave_t )
mha_spec_t process (mha_spec_t )
void prepare (mhaconfig_t &)
void release ()
Private Member Functions
void update_gain ()
void update_bbgain ()
void update_minmax ()
Private Attributes
MHAEvents::patchbay_t<gain_if_t >patchbay
MHAParser::vfloat_t gains
MHAParser::float_t bbgain
MHAParser::float_t vmin
MHAParser::float_t vmax
© 2005-2019 HörTech gGmbH, Oldenburg
5.107 gain::gain_if_t Class Reference 351
Additional Inherited Members
5.107.1 Constructor & Destructor Documentation
5.107.1.1 gain::gain_if_t::gain_if_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.107.2 Member Function Documentation
5.107.2.1 mha_wave_t gain::gain_if_t::process (
mha_wave_t s)
5.107.2.2 mha_spec_t gain::gain_if_t::process (
mha_spec_t s)
5.107.2.3 void gain::gain_if_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<scaler_t >(p. 730).
5.107.2.4 void gain::gain_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<scaler_t >(p. 731).
5.107.2.5 void gain::gain_if_t::update_gain ( ) [private]
5.107.2.6 void gain::gain_if_t::update_bbgain ( ) [private]
5.107.2.7 void gain::gain_if_t::update_minmax ( ) [private]
5.107.3 Member Data Documentation
5.107.3.1 MHAEvents::patchbay_t<gain_if_t>gain::gain_if_t::patchbay [private]
5.107.3.2 MHAParser::vfloat_t gain::gain_if_t::gains [private]
5.107.3.3 MHAParser::float_t gain::gain_if_t::bbgain [private]
5.107.3.4 MHAParser::float_t gain::gain_if_t::vmin [private]
5.107.3.5 MHAParser::float_t gain::gain_if_t::vmax [private]
The documentation for this class was generated from the following file:
gain.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
352 CONTENTS
5.108 gain::scaler_t Class Reference
Inheritance diagram for gain::scaler_t:
gain::scaler_t
MHASignal::waveform_t
mha_wave_t
Public Member Functions
scaler_t (const unsigned int &channels, const MHAParser::vfloat_t &gains)
Additional Inherited Members
5.108.1 Constructor & Destructor Documentation
5.108.1.1 gain::scaler_t::scaler_t (
const unsigned int & channels,
const MHAParser::vfloat_t &gains )
The documentation for this class was generated from the following file:
gain.cpp
5.109 gtfb_analyzer::gtfb_analyzer_cfg_t Struct Reference
Configuration for Gammatone Filterbank Analyzer.
© 2005-2019 HörTech gGmbH, Oldenburg
5.109 gtfb_analyzer::gtfb_analyzer_cfg_t Struct Reference 353
Public Member Functions
unsigned bands () const
Each band is split into this number of bands.
unsigned channels () const
The number of separate audio channels.
unsigned frames () const
The number of frames in one chunk.
mha_complex_t states (unsigned channel, unsigned band)
Returns pointer to filter states for that band.
gtfb_analyzer_cfg_t (unsigned ch, unsigned frames, unsigned ord, const std::vector<
mha_complex_t >&_coeff, const std::vector<mha_complex_t >&_norm_phase)
Create a configuration for Gammatone Filterbank Analyzer.
gtfb_analyzer_cfg_t ()
mha_complex_t &cvalue (unsigned frame, unsigned channel, unsigned band)
Public Attributes
unsigned order
The order of the gammatone filters.
• std::vector<mha_complex_t >coeff
The complex coefficients of the gammatone filter bands.
• std::vector<mha_complex_t >norm_phase
Combination of normalization and phase correction factor.
mha_wave_t s_out
Storage for the (complex) output signal.
• std::vector<mha_complex_t >state
Storage for Filter state.
5.109.1 Detailed Description
Configuration for Gammatone Filterbank Analyzer.
5.109.2 Constructor & Destructor Documentation
5.109.2.1 gtfb_analyzer::gtfb_analyzer_cfg_t::gtfb_analyzer_cfg_t (
unsigned ch,
unsigned frames,
unsigned ord,
const std::vector<mha_complex_t >&_coeff,
const std::vector<mha_complex_t >&_norm_phase )[inline]
Create a configuration for Gammatone Filterbank Analyzer.
© 2005-2019 HörTech gGmbH, Oldenburg
354 CONTENTS
Parameters
ch Number of Audio channels.
frames Number of Audio frames per chunk.
ord The order of the gammatone filters.
_coeff Complex gammatone filter coefficients.
_norm_phase Normalization and phase correction factors.
5.109.2.2 gtfb_analyzer::gtfb_analyzer_cfg_t::gtfb_analyzer_cfg_t ( ) [inline]
5.109.3 Member Function Documentation
5.109.3.1 unsigned gtfb_analyzer::gtfb_analyzer_cfg_t::bands ( ) const [inline]
Each band is split into this number of bands.
5.109.3.2 unsigned gtfb_analyzer::gtfb_analyzer_cfg_t::channels ( ) const [inline]
The number of separate audio channels.
5.109.3.3 unsigned gtfb_analyzer::gtfb_analyzer_cfg_t::frames ( ) const [inline]
The number of frames in one chunk.
5.109.3.4 mha_complex_tgtfb_analyzer::gtfb_analyzer_cfg_t::states (
unsigned channel,
unsigned band )[inline]
Returns pointer to filter states for that band.
5.109.3.5 mha_complex_t& gtfb_analyzer::gtfb_analyzer_cfg_t::cvalue (
unsigned frame,
unsigned channel,
unsigned band )[inline]
5.109.4 Member Data Documentation
5.109.4.1 unsigned gtfb_analyzer::gtfb_analyzer_cfg_t::order
The order of the gammatone filters.
5.109.4.2 std::vector<mha_complex_t>gtfb_analyzer::gtfb_analyzer_cfg_t::coeff
The complex coefficients of the gammatone filter bands.
© 2005-2019 HörTech gGmbH, Oldenburg
5.110 gtfb_analyzer::gtfb_analyzer_t Class Reference 355
5.109.4.3 std::vector<mha_complex_t>gtfb_analyzer::gtfb_analyzer_cfg_t::norm_phase
Combination of normalization and phase correction factor.
5.109.4.4 mha_wave_t gtfb_analyzer::gtfb_analyzer_cfg_t::s_out
Storage for the (complex) output signal.
Each of the real input audio channels is split into frequency bands with complex time signal
output. The split complex time signal is again stored in a mha_wave_t (p. 496) buffer. Each
complex time signal is stored as adjacent real and imaginary channels. Complex output from
one source channel is stored in adjacent complex output channels.
Example: If the input has 2 channels ch0 ch1, and gtfb_analyzer (p. 88) splits into 3 bands b0
b1 b2, then the order of output channels in s_out is: ch0_b0_real ch0_b0_imag ch0_b1_real
ch0_b1_imag ch0_b2_real ch0_b2_imag ch1_b0_real ch1_b1_imag ch1_b1_real ch1_b1_-
imag ch1_b2_real ch1_b2_imag
5.109.4.5 std::vector<mha_complex_t>gtfb_analyzer::gtfb_analyzer_cfg_t::state
Storage for Filter state.
Holds channels() (p. 354)bands() (p. 354)order complex filter states. Layout-
: state[(bands() (p. 354)channel+band)order+stage]
The documentation for this struct was generated from the following file:
gtfb_analyzer.cpp
5.110 gtfb_analyzer::gtfb_analyzer_t Class Reference
Gammatone Filterbank Analyzer Plugin.
© 2005-2019 HörTech gGmbH, Oldenburg
356 CONTENTS
Inheritance diagram for gtfb_analyzer::gtfb_analyzer_t:
gtfb_analyzer::gtfb
_analyzer_t
MHAPlugin::plugin_t
< gtfb_analyzer_cfg_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< gtfb_analyzer_cfg_t >
Public Member Functions
gtfb_analyzer_t (const algo_comm_t &, const std::string &thread_name, const std-
::string &algo_name)
mha_wave_t process (mha_wave_t )
void prepare (mhaconfig_t &)
Private Member Functions
void update_cfg ()
Private Attributes
MHAEvents::patchbay_t<gtfb_analyzer_t >patchbay
bool prepared
MHAParser::int_t order
MHAParser::vcomplex_t coeff
MHAParser::vcomplex_t norm_phase
© 2005-2019 HörTech gGmbH, Oldenburg
5.110 gtfb_analyzer::gtfb_analyzer_t Class Reference 357
Additional Inherited Members
5.110.1 Detailed Description
Gammatone Filterbank Analyzer Plugin.
5.110.2 Constructor & Destructor Documentation
5.110.2.1 gtfb_analyzer::gtfb_analyzer_t::gtfb_analyzer_t (
const algo_comm_t &iac,
const std::string & thread_name,
const std::string & algo_name )
5.110.3 Member Function Documentation
5.110.3.1 mha_wave_t gtfb_analyzer::gtfb_analyzer_t::process (
mha_wave_t s)
5.110.3.2 void gtfb_analyzer::gtfb_analyzer_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<gtfb_analyzer_cfg_t >(p. 730).
5.110.3.3 void gtfb_analyzer::gtfb_analyzer_t::update_cfg (
void ) [private]
5.110.4 Member Data Documentation
5.110.4.1 MHAEvents::patchbay_t<gtfb_analyzer_t>gtfb_analyzer::gtfb_analyzer_t::patchbay
[private]
5.110.4.2 bool gtfb_analyzer::gtfb_analyzer_t::prepared [private]
5.110.4.3 MHAParser::int_t gtfb_analyzer::gtfb_analyzer_t::order [private]
5.110.4.4 MHAParser::vcomplex_t gtfb_analyzer::gtfb_analyzer_t::coeff [private]
5.110.4.5 MHAParser::vcomplex_t gtfb_analyzer::gtfb_analyzer_t::norm_phase [private]
The documentation for this class was generated from the following file:
gtfb_analyzer.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
358 CONTENTS
5.111 hanning_ramps_t Class Reference
Public Member Functions
hanning_ramps_t (unsigned int, unsigned int)
hanning_ramps_t ()
void operator() (MHASignal::waveform_t &)
Private Attributes
unsigned int len_a
unsigned int len_b
mha_real_t ramp_a
mha_real_t ramp_b
5.111.1 Constructor & Destructor Documentation
5.111.1.1 hanning_ramps_t::hanning_ramps_t (
unsigned int la,
unsigned int lb )
5.111.1.2 hanning_ramps_t::hanning_ramps_t (
void )
5.111.2 Member Function Documentation
5.111.2.1 void hanning_ramps_t::operator() (
MHASignal::waveform_t &b)
5.111.3 Member Data Documentation
5.111.3.1 unsigned int hanning_ramps_t::len_a [private]
5.111.3.2 unsigned int hanning_ramps_t::len_b [private]
5.111.3.3 mha_real_thanning_ramps_t::ramp_a [private]
5.111.3.4 mha_real_thanning_ramps_t::ramp_b [private]
The documentation for this class was generated from the following file:
spec2wave.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.112 identity_t Class Reference 359
5.112 identity_t Class Reference
Inheritance diagram for identity_t:
identity_t
MHAPlugin::plugin_t
< int >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< int >
Public Member Functions
identity_t (const algo_comm_t &, const std::string &, const std::string &)
mha_wave_t process (mha_wave_t )
mha_spec_t process (mha_spec_t )
void prepare (mhaconfig_t &)
void release ()
Additional Inherited Members
5.112.1 Constructor & Destructor Documentation
5.112.1.1 identity_t::identity_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.112.2 Member Function Documentation
© 2005-2019 HörTech gGmbH, Oldenburg
360 CONTENTS
5.112.2.1 mha_wave_t identity_t::process (
mha_wave_t s)
5.112.2.2 mha_spec_t identity_t::process (
mha_spec_t s)
5.112.2.3 void identity_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<int >(p. 730).
5.112.2.4 void identity_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<int >(p. 731).
The documentation for this class was generated from the following file:
identity.cpp
5.113 iirfilter_t Class Reference
Inheritance diagram for iirfilter_t:
iirfilter_t
MHAFilter::iir_filter_t
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< iir_filter_state_t >
© 2005-2019 HörTech gGmbH, Oldenburg
5.114 io_alsa_t Class Reference 361
Public Member Functions
iirfilter_t (const algo_comm_t &, const std::string &, const std::string &)
void prepare_ (mhaconfig_t &)
void release_ ()
mha_wave_t process (mha_wave_t )
Additional Inherited Members
5.113.1 Constructor & Destructor Documentation
5.113.1.1 iirfilter_t::iirfilter_t (
const algo_comm_t &ac,
const std::string & th,
const std::string & al )
5.113.2 Member Function Documentation
5.113.2.1 void iirfilter_t::prepare_ (
mhaconfig_t &tf )
5.113.2.2 void iirfilter_t::release_ ( ) [inline]
5.113.2.3 mha_wave_t iirfilter_t::process (
mha_wave_t s)
The documentation for this class was generated from the following file:
iirfilter.cpp
5.114 io_alsa_t Class Reference
MHA IO interface class for ALSA IO.
Inheritance diagram for io_alsa_t:
io_alsa_t
MHAParser::parser_t
MHAParser::base_t
© 2005-2019 HörTech gGmbH, Oldenburg
362 CONTENTS
Public Member Functions
io_alsa_t (unsigned int fragsize, float samplerate, IOProcessEvent_t proc_event, void
proc_handle,IOStartedEvent_t start_event, void start_handle,IOStoppedEvent-
_t stop_event, void stop_handle)
Constructor, receives the callback handles to interact with the MHA framework.
template<typename T = void>
void prepare (int, int)
Called after the framework has perpared the processing plugins and the number of input and
output channels are fixed.
void release ()
MHA framework leaves prepared state.
void start ()
MHA framework calls this function when signal processing should start.
void stop ()
MHA framework calls this function when signal processing should stop.
template<>
void prepare (int nch_in, int nch_out)
Static Public Member Functions
static void thread_start (void h)
MHAIOAlsa uses a separate thread that calls the alsa read and write functions to read and
write audio samples, these functions are blocking until samples can be read or written.
Private Member Functions
void process ()
Private Attributes
bool b_process
unsigned int fw_fragsize
unsigned int fw_samplerate
IOProcessEvent_t proc_event
void proc_handle
IOStartedEvent_t start_event
void start_handle
IOStoppedEvent_t stop_event
void stop_handle
alsa_base_t dev_in
alsa_base_t dev_out
pthread_t proc_thread
alsa_dev_par_parser_t p_in
alsa_dev_par_parser_t p_out
MHAParser::bool_t pcmlink
MHAParser::int_t priority
MHAParser::kw_t format
MHAParser::int_mon_t alsa_start_counter
MHAEvents::patchbay_t<io_alsa_t >patchbay
© 2005-2019 HörTech gGmbH, Oldenburg
5.114 io_alsa_t Class Reference 363
Additional Inherited Members
5.114.1 Detailed Description
MHA IO interface class for ALSA IO.
5.114.2 Constructor & Destructor Documentation
5.114.2.1 io_alsa_t::io_alsa_t (
unsigned int fragsize,
float samplerate,
IOProcessEvent_t proc_event,
void proc_handle,
IOStartedEvent_t start_event,
void start_handle,
IOStoppedEvent_t stop_event,
void stop_handle )
Constructor, receives the callback handles to interact with the MHA framework.
5.114.3 Member Function Documentation
5.114.3.1 template<typename T >void io_alsa_t::prepare (
int nch_in,
int nch_out )
Called after the framework has perpared the processing plugins and the number of input and
output channels are fixed.
open pcm streams
5.114.3.2 void io_alsa_t::release (
void )
MHA framework leaves prepared state.
5.114.3.3 void io_alsa_t::start ( )
MHA framework calls this function when signal processing should start.
5.114.3.4 void io_alsa_t::stop ( )
MHA framework calls this function when signal processing should stop.
© 2005-2019 HörTech gGmbH, Oldenburg
364 CONTENTS
5.114.3.5 void io_alsa_t::thread_start (
void h)[static]
MHAIOAlsa uses a separate thread that calls the alsa read and write functions to read and
write audio samples, these functions are blocking until samples can be read or written.
This is the start function of that thread.
5.114.3.6 void io_alsa_t::process (
void ) [private]
5.114.3.7 template<> void io_alsa_t::prepare (
int nch_in,
int nch_out )
5.114.4 Member Data Documentation
5.114.4.1 bool io_alsa_t::b_process [private]
5.114.4.2 unsigned int io_alsa_t::fw_fragsize [private]
5.114.4.3 unsigned int io_alsa_t::fw_samplerate [private]
5.114.4.4 IOProcessEvent_t io_alsa_t::proc_event [private]
5.114.4.5 voidio_alsa_t::proc_handle [private]
5.114.4.6 IOStartedEvent_t io_alsa_t::start_event [private]
5.114.4.7 voidio_alsa_t::start_handle [private]
5.114.4.8 IOStoppedEvent_t io_alsa_t::stop_event [private]
5.114.4.9 voidio_alsa_t::stop_handle [private]
5.114.4.10 alsa_base_tio_alsa_t::dev_in [private]
5.114.4.11 alsa_base_tio_alsa_t::dev_out [private]
5.114.4.12 pthread_t io_alsa_t::proc_thread [private]
5.114.4.13 alsa_dev_par_parser_t io_alsa_t::p_in [private]
5.114.4.14 alsa_dev_par_parser_t io_alsa_t::p_out [private]
5.114.4.15 MHAParser::bool_t io_alsa_t::pcmlink [private]
5.114.4.16 MHAParser::int_t io_alsa_t::priority [private]
5.114.4.17 MHAParser::kw_t io_alsa_t::format [private]
5.114.4.18 MHAParser::int_mon_t io_alsa_t::alsa_start_counter [private]
5.114.4.19 MHAEvents::patchbay_t<io_alsa_t>io_alsa_t::patchbay [private]
The documentation for this class was generated from the following file:
MHAIOalsa.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.115 io_file_t Class Reference 365
5.115 io_file_t Class Reference
File IO.
Inheritance diagram for io_file_t:
io_file_t
MHAParser::parser_t
MHAParser::base_t
Public Member Functions
io_file_t (int fragsize, float samplerate,IOProcessEvent_t proc_event, void proc_-
handle,IOStartedEvent_t start_event, void start_handle,IOStoppedEvent_t stop-
_event, void stop_handle)
io_file_t ()
void prepare (int, int)
Allocate buffers, activate FILE client and install internal ports.
void start ()
void stop ()
void release ()
Remove FILE client and deallocate internal ports and buffers.
Private Member Functions
void stopped (int, int)
void setlock (bool locked)
lock or unlock all parser variables.
© 2005-2019 HörTech gGmbH, Oldenburg
366 CONTENTS
Private Attributes
int fragsize
float samplerate
int nchannels_in
int nchannels_file_in
int nchannels_out
IOProcessEvent_t proc_event
void proc_handle
IOStartedEvent_t start_event
void start_handle
IOStoppedEvent_t stop_event
void stop_handle
MHAParser::string_t filename_input
MHAParser::string_t filename_output
MHAParser::kw_t output_sample_format
MHAParser::int_t startsample
MHAParser::int_t length
MHAParser::bool_t strict_channel_match
MHAParser::bool_t strict_srate_match
MHASignal::waveform_t s_in
MHASignal::waveform_t s_file_in
mha_wave_t s_out
bool b_prepared
SNDFILE sf_in
SNDFILE sf_out
SF_INFO sfinf_in
SF_INFO sfinf_out
sf_count_t total_read
Additional Inherited Members
5.115.1 Detailed Description
File IO.
5.115.2 Constructor & Destructor Documentation
5.115.2.1 io_file_t::io_file_t (
int fragsize,
float samplerate,
IOProcessEvent_t proc_event,
void proc_handle,
IOStartedEvent_t start_event,
void start_handle,
IOStoppedEvent_t stop_event,
void stop_handle )
© 2005-2019 HörTech gGmbH, Oldenburg
5.115 io_file_t Class Reference 367
5.115.2.2 io_file_t::io_file_t ( )
5.115.3 Member Function Documentation
5.115.3.1 void io_file_t::prepare (
int nch_in,
int nch_out )
Allocate buffers, activate FILE client and install internal ports.
5.115.3.2 void io_file_t::start ( )
5.115.3.3 void io_file_t::stop ( )
5.115.3.4 void io_file_t::release (
void )
Remove FILE client and deallocate internal ports and buffers.
5.115.3.5 void io_file_t::stopped (
int proc_err,
int io_err )[private]
5.115.3.6 void io_file_t::setlock (
bool locked )[private]
lock or unlock all parser variables.
Used in prepare/release.
Parameters
locked When true, locks. When false, unlocks.
5.115.4 Member Data Documentation
5.115.4.1 int io_file_t::fragsize [private]
5.115.4.2 float io_file_t::samplerate [private]
5.115.4.3 int io_file_t::nchannels_in [private]
5.115.4.4 int io_file_t::nchannels_file_in [private]
© 2005-2019 HörTech gGmbH, Oldenburg
368 CONTENTS
5.115.4.5 int io_file_t::nchannels_out [private]
5.115.4.6 IOProcessEvent_t io_file_t::proc_event [private]
5.115.4.7 voidio_file_t::proc_handle [private]
5.115.4.8 IOStartedEvent_t io_file_t::start_event [private]
5.115.4.9 voidio_file_t::start_handle [private]
5.115.4.10 IOStoppedEvent_t io_file_t::stop_event [private]
5.115.4.11 voidio_file_t::stop_handle [private]
5.115.4.12 MHAParser::string_t io_file_t::filename_input [private]
5.115.4.13 MHAParser::string_t io_file_t::filename_output [private]
5.115.4.14 MHAParser::kw_t io_file_t::output_sample_format [private]
5.115.4.15 MHAParser::int_t io_file_t::startsample [private]
5.115.4.16 MHAParser::int_t io_file_t::length [private]
5.115.4.17 MHAParser::bool_t io_file_t::strict_channel_match [private]
5.115.4.18 MHAParser::bool_t io_file_t::strict_srate_match [private]
5.115.4.19 MHASignal::waveform_tio_file_t::s_in [private]
5.115.4.20 MHASignal::waveform_tio_file_t::s_file_in [private]
5.115.4.21 mha_wave_tio_file_t::s_out [private]
5.115.4.22 bool io_file_t::b_prepared [private]
5.115.4.23 SNDFILEio_file_t::sf_in [private]
5.115.4.24 SNDFILEio_file_t::sf_out [private]
5.115.4.25 SF_INFO io_file_t::sfinf_in [private]
5.115.4.26 SF_INFO io_file_t::sfinf_out [private]
5.115.4.27 sf_count_t io_file_t::total_read [private]
The documentation for this class was generated from the following file:
MHAIOFile.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.116 io_lib_t Class Reference 369
5.116 io_lib_t Class Reference
Class for loading MHA sound IO module.
Inheritance diagram for io_lib_t:
io_lib_t
MHAParser::c_ifc_parser_t
MHAParser::base_t
Public Member Functions
io_lib_t (int fragsize, float samplerate, IOProcessEvent_t proc_event, void proc_-
handle, IOStartedEvent_t start_event, void start_handle, IOStoppedEvent_t stop_-
event, void stop_handle, std::string libname)
load and initialize MHA sound io module.
io_lib_t ()
Deinitialize and unload this MHA sound io module.
void prepare (unsigned int inch, unsigned int outch)
Prepare the sound io module.
void start ()
Tell the sound io module to start sound processing.
void stop ()
void release ()
std::string lib_str_error (int err)
Protected Member Functions
void test_error ()
© 2005-2019 HörTech gGmbH, Oldenburg
370 CONTENTS
Protected Attributes
int lib_err
dynamiclib_t lib_handle
void lib_data
IOInit_t IOInit_cb
IOPrepare_t IOPrepare_cb
IOStart_t IOStart_cb
IOStop_t IOStop_cb
IORelease_t IORelease_cb
IOSetVar_t IOSetVar_cb
IOStrError_t IOStrError_cb
IODestroy_t IODestroy_cb
Additional Inherited Members
5.116.1 Detailed Description
Class for loading MHA sound IO module.
5.116.2 Constructor & Destructor Documentation
5.116.2.1 io_lib_t::io_lib_t (
int fragsize,
float samplerate,
IOProcessEvent_t proc_event,
void proc_handle,
IOStartedEvent_t start_event,
void start_handle,
IOStoppedEvent_t stop_event,
void stop_handle,
std::string libname )
load and initialize MHA sound io module.
5.116.2.2 io_lib_t::io_lib_t ( )
Deinitialize and unload this MHA sound io module.
5.116.3 Member Function Documentation
5.116.3.1 void io_lib_t::prepare (
unsigned int inch,
unsigned int outch )
Prepare the sound io module.
After preparation, the sound io module may start the sound processing at any time (external
trigger). When the sound processing is started, the sound io module will call the start_event
callback.
© 2005-2019 HörTech gGmbH, Oldenburg
5.116 io_lib_t Class Reference 371
Parameters
inch number of input channels
outch number of output channels
5.116.3.2 void io_lib_t::start ( )
Tell the sound io module to start sound processing.
Some io modules need this, for others that wait for external events this method might do nothing.
5.116.3.3 void io_lib_t::stop ( )
5.116.3.4 void io_lib_t::release ( )
5.116.3.5 std::string io_lib_t::lib_str_error (
int err )
5.116.3.6 void io_lib_t::test_error ( ) [protected]
5.116.4 Member Data Documentation
5.116.4.1 int io_lib_t::lib_err [protected]
5.116.4.2 dynamiclib_t io_lib_t::lib_handle [protected]
5.116.4.3 voidio_lib_t::lib_data [protected]
5.116.4.4 IOInit_t io_lib_t::IOInit_cb [protected]
5.116.4.5 IOPrepare_t io_lib_t::IOPrepare_cb [protected]
5.116.4.6 IOStart_t io_lib_t::IOStart_cb [protected]
5.116.4.7 IOStop_t io_lib_t::IOStop_cb [protected]
5.116.4.8 IORelease_t io_lib_t::IORelease_cb [protected]
5.116.4.9 IOSetVar_t io_lib_t::IOSetVar_cb [protected]
5.116.4.10 IOStrError_t io_lib_t::IOStrError_cb [protected]
5.116.4.11 IODestroy_t io_lib_t::IODestroy_cb [protected]
The documentation for this class was generated from the following files:
mhafw_lib.h
mhafw_lib.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
372 CONTENTS
5.117 io_parser_t Class Reference
Main class for Parser IO.
Inheritance diagram for io_parser_t:
io_parser_t
MHAParser::parser_t
MHAParser::base_t
Public Member Functions
io_parser_t (unsigned int fragsize,IOProcessEvent_t proc_event, void proc_handle,
IOStartedEvent_t start_event, void start_handle,IOStoppedEvent_t stop_event,
void stop_handle)
io_parser_t ()
void prepare (int, int)
Allocate buffers, activate JACK client and install internal ports.
void start ()
void stop ()
void release ()
Remove JACK client and deallocate internal ports and buffers.
Private Member Functions
void stopped (int, int)
void started ()
void process_frame ()
© 2005-2019 HörTech gGmbH, Oldenburg
5.117 io_parser_t Class Reference 373
Private Attributes
unsigned int fragsize
unsigned int nchannels_in
unsigned int nchannels_out
IOProcessEvent_t proc_event
void proc_handle
IOStartedEvent_t start_event
void start_handle
IOStoppedEvent_t stop_event
void stop_handle
MHAParser::mfloat_t input
MHAParser::mfloat_mon_t output
MHASignal::waveform_t s_in
mha_wave_t s_out
bool b_fw_started
bool b_stopped
bool b_prepared
bool b_starting
MHAEvents::patchbay_t<io_parser_t >patchbay
Additional Inherited Members
5.117.1 Detailed Description
Main class for Parser IO.
5.117.2 Constructor & Destructor Documentation
5.117.2.1 io_parser_t::io_parser_t (
unsigned int fragsize,
IOProcessEvent_t proc_event,
void proc_handle,
IOStartedEvent_t start_event,
void start_handle,
IOStoppedEvent_t stop_event,
void stop_handle )
5.117.2.2 io_parser_t::io_parser_t ( )
5.117.3 Member Function Documentation
5.117.3.1 void io_parser_t::prepare (
int nch_in,
int nch_out )
Allocate buffers, activate JACK client and install internal ports.
© 2005-2019 HörTech gGmbH, Oldenburg
374 CONTENTS
5.117.3.2 void io_parser_t::start ( )
5.117.3.3 void io_parser_t::stop ( )
5.117.3.4 void io_parser_t::release (
void )
Remove JACK client and deallocate internal ports and buffers.
5.117.3.5 void io_parser_t::stopped (
int proc_err,
int io_err )[private]
5.117.3.6 void io_parser_t::started ( ) [private]
5.117.3.7 void io_parser_t::process_frame ( ) [private]
5.117.4 Member Data Documentation
5.117.4.1 unsigned int io_parser_t::fragsize [private]
5.117.4.2 unsigned int io_parser_t::nchannels_in [private]
5.117.4.3 unsigned int io_parser_t::nchannels_out [private]
5.117.4.4 IOProcessEvent_t io_parser_t::proc_event [private]
5.117.4.5 voidio_parser_t::proc_handle [private]
5.117.4.6 IOStartedEvent_t io_parser_t::start_event [private]
5.117.4.7 voidio_parser_t::start_handle [private]
5.117.4.8 IOStoppedEvent_t io_parser_t::stop_event [private]
5.117.4.9 voidio_parser_t::stop_handle [private]
5.117.4.10 MHAParser::mfloat_t io_parser_t::input [private]
5.117.4.11 MHAParser::mfloat_mon_t io_parser_t::output [private]
5.117.4.12 MHASignal::waveform_tio_parser_t::s_in [private]
5.117.4.13 mha_wave_tio_parser_t::s_out [private]
5.117.4.14 bool io_parser_t::b_fw_started [private]
5.117.4.15 bool io_parser_t::b_stopped [private]
5.117.4.16 bool io_parser_t::b_prepared [private]
5.117.4.17 bool io_parser_t::b_starting [private]
5.117.4.18 MHAEvents::patchbay_t<io_parser_t>io_parser_t::patchbay [private]
The documentation for this class was generated from the following file:
MHAIOParser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.118 io_tcp_fwcb_t Class Reference 375
5.118 io_tcp_fwcb_t Class Reference
TCP sound-io library's interface to the framework callbacks.
Public Member Functions
io_tcp_fwcb_t (IOProcessEvent_t proc_event, void proc_handle,IOStartedEvent-
_t start_event, void start_handle,IOStoppedEvent_t stop_event, void stop_-
handle)
Constructor stores framework handles and initializes error numbers to 0.
virtual io_tcp_fwcb_t ()
Do-nothing destructor.
virtual void start ()
Call the framework's start callback.
virtual int process (mha_wave_t sIn, mha_wave_t &sOut)
Call the frameworks processing callback.
virtual void set_errnos (int proc_err, int io_err)
Save error numbers to use during.
virtual void stop ()
Call the frameworks stop callback.
Private Attributes
IOProcessEvent_t proc_event
Pointer to signal processing callback function.
IOStartedEvent_t start_event
Pointer to start notification callback function.
IOStoppedEvent_t stop_event
Pointer to stop notification callback function.
void proc_handle
Handles belonging to framework.
void start_handle
void stop_handle
int proc_err
Errors from the processing callback and from the TCP IO itself are stored here before closing
Network handles.
int io_err
5.118.1 Detailed Description
TCP sound-io library's interface to the framework callbacks.
© 2005-2019 HörTech gGmbH, Oldenburg
376 CONTENTS
5.118.2 Constructor & Destructor Documentation
5.118.2.1 io_tcp_fwcb_t::io_tcp_fwcb_t (
IOProcessEvent_t proc_event,
void proc_handle,
IOStartedEvent_t start_event,
void start_handle,
IOStoppedEvent_t stop_event,
void stop_handle )
Constructor stores framework handles and initializes error numbers to 0.
5.118.2.2 virtual io_tcp_fwcb_t::io_tcp_fwcb_t ( ) [inline],[virtual]
Do-nothing destructor.
5.118.3 Member Function Documentation
5.118.3.1 void io_tcp_fwcb_t::start ( ) [virtual]
Call the framework's start callback.
5.118.3.2 int io_tcp_fwcb_t::process (
mha_wave_t sIn,
mha_wave_t &sOut )[virtual]
Call the frameworks processing callback.
Parameters
sIn The input sound data just received from TCP.
sOut A pointer to output sound data. Will point to the output sound data storage when the
callback finishes.
Returns
Status, an error number from the signal processing callback. If this is != 0, then the
connection should be closed.
5.118.3.3 void io_tcp_fwcb_t::set_errnos (
int proc_err,
int io_err )[virtual]
Save error numbers to use during.
© 2005-2019 HörTech gGmbH, Oldenburg
5.118 io_tcp_fwcb_t Class Reference 377
See also
stop (p. 377)
Parameters
proc_err The error number from the
See also
process (p. 376) callback.
Parameters
io_err The error number from the io library itself.
5.118.3.4 void io_tcp_fwcb_t::stop ( ) [virtual]
Call the frameworks stop callback.
Uses the error numbers set previously with
See also
set_errnos (p. 376).
5.118.4 Member Data Documentation
5.118.4.1 IOProcessEvent_t io_tcp_fwcb_t::proc_event [private]
Pointer to signal processing callback function.
5.118.4.2 IOStartedEvent_t io_tcp_fwcb_t::start_event [private]
Pointer to start notification callback function.
Called when a new TCP connection is established or the user issues the start command while
there is a connection.
5.118.4.3 IOStoppedEvent_t io_tcp_fwcb_t::stop_event [private]
Pointer to stop notification callback function.
Called when the connection is closed.
© 2005-2019 HörTech gGmbH, Oldenburg
378 CONTENTS
5.118.4.4 voidio_tcp_fwcb_t::proc_handle [private]
Handles belonging to framework.
5.118.4.5 void io_tcp_fwcb_t::start_handle [private]
5.118.4.6 void io_tcp_fwcb_t::stop_handle [private]
5.118.4.7 int io_tcp_fwcb_t::proc_err [private]
Errors from the processing callback and from the TCP IO itself are stored here before closing
Network handles.
MHAIOTCP is notified by the server when the connection has been taken down, and calls
See also
stop (p. 377) from that callback. Within stop (p. 377), these error numbers are read again
and transmitted to the framework.
5.118.4.8 int io_tcp_fwcb_t::io_err [private]
The documentation for this class was generated from the following file:
MHAIOTCP.cpp
5.119 io_tcp_parser_t Class Reference
The parser interface of the IOTCP library.
Inheritance diagram for io_tcp_parser_t:
io_tcp_parser_t
MHAParser::parser_t
MHAParser::base_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.119 io_tcp_parser_t Class Reference 379
Public Member Functions
virtual const std::string & get_local_address () const
Read parser variable local_address, this is the address of the network interface that should
listen for incoming connections.
virtual unsigned short get_local_port () const
Read parser variable local_port, this is the TCP port that should be used for incoming connec-
tions.
virtual void set_local_port (unsigned short port)
Set parser variable local_port.
virtual bool get_server_port_open () const
Return the status of the server port as it is known to the parser.
virtual void set_server_port_open (bool open)
Inform the parser of the current status of the server socket.
virtual bool get_connected () const
Return the parser's knowledge concerning wether there currently exists an established sound
data TCP connection or not.
virtual void set_connected (bool connected)
Inform the parser about the existance of a sound data connection.
virtual void set_new_peer (unsigned short port, const std::string &host)
Set parser monitor variables peer_port and peer_address, and calls set_connected(true).
io_tcp_parser_t ()
Constructor initializes parser variables.
virtual io_tcp_parser_t ()
Do-nothing destructor.
virtual void debug (const std::string &message)
Private Attributes
MHAParser::string_t local_address
Lets the user set the local network interface to listen on.
MHAParser::int_t local_port
Lets the user choose the local tcp port to listen on.
MHAParser::int_mon_t server_port_open
Indicates wether the TCP server socket is currently open.
MHAParser::int_mon_t connected
Indicator if there currently is a sound data connection over TCP.
MHAParser::string_mon_t peer_address
Display the ip address of the currently connected sound data client.
MHAParser::int_mon_t peer_port
Display the tcp port used by the current sound data client.
MHAParser::string_t debug_filename
filename to write debugging info to (if non-empty)
FILE debug_file
file handle to write debugging info to
© 2005-2019 HörTech gGmbH, Oldenburg
380 CONTENTS
Additional Inherited Members
5.119.1 Detailed Description
The parser interface of the IOTCP library.
5.119.2 Constructor & Destructor Documentation
5.119.2.1 io_tcp_parser_t::io_tcp_parser_t ( )
Constructor initializes parser variables.
5.119.2.2 virtual io_tcp_parser_t::io_tcp_parser_t ( ) [inline],[virtual]
Do-nothing destructor.
5.119.3 Member Function Documentation
5.119.3.1 virtual const std::string& io_tcp_parser_t::get_local_address ( ) const [inline],
[virtual]
Read parser variable local_address, this is the address of the network interface that should
listen for incoming connections.
Returns
A string containing the address of the local interface as it was set by the user.
5.119.3.2 unsigned short io_tcp_parser_t::get_local_port ( ) const [virtual]
Read parser variable local_port, this is the TCP port that should be used for incoming connec-
tions.
Returns
The local tcp port to listen on as it was chosen by the user. The port number is between
MIN_TCP_PORT and MAX_TCP_PORT.
5.119.3.3 void io_tcp_parser_t::set_local_port (
unsigned short port )[virtual]
Set parser variable local_port.
This is needed when it was set to 0 before: In this case, the OS chooses a free port for the TCP
server socket, and the port that it chose has to be published to the user via the parser interface.
© 2005-2019 HörTech gGmbH, Oldenburg
5.119 io_tcp_parser_t Class Reference 381
Parameters
port The TCP port number that is currently used. In the range [MIN_TCP_PORT,
MAX_TCP_PORT], excluding 0.
Precondition
get_local_port() (p. 380) currently returns 0.
5.119.3.4 bool io_tcp_parser_t::get_server_port_open ( ) const [virtual]
Return the status of the server port as it is known to the parser.
Returns
false after initialization, or the value most recently set via
See also
set_server_port_open (p. 381).
5.119.3.5 void io_tcp_parser_t::set_server_port_open (
bool open )[virtual]
Inform the parser of the current status of the server socket.
Parameters
open Indicates wether the server socket has just been opened or closed.
Precondition
open may only have the value true if get_server_port_open() (p. 381) currently returns
false.
Postcondition
See also
get_server_port_open (p. 381) returns the value (p. 53) of open.
© 2005-2019 HörTech gGmbH, Oldenburg
382 CONTENTS
5.119.3.6 bool io_tcp_parser_t::get_connected ( ) const [virtual]
Return the parser's knowledge concerning wether there currently exists an established sound
data TCP connection or not.
Returns
false after initialization, or the value most recently set via
See also
set_connected (p. 382).
5.119.3.7 void io_tcp_parser_t::set_connected (
bool connected )[virtual]
Inform the parser about the existance of a sound data connection.
Parameters
connected Indicates wether there currently is a connection or not.
Precondition
connected must not have the same value that is currently returned by
See also
get_connected (p. 382).
Postcondition
See also
get_connected (p. 382) returns the value (p. 53) of open.
5.119.3.8 void io_tcp_parser_t::set_new_peer (
unsigned short port,
const std::string & host )[virtual]
Set parser monitor variables peer_port and peer_address, and calls set_connected(true).
This method should be called when a new connection is established.
© 2005-2019 HörTech gGmbH, Oldenburg
5.119 io_tcp_parser_t Class Reference 383
Parameters
port The TCP port number used by the peer.
host The Internet host where the peer is located.
Precondition
See also
get_connected (p. 382) currently returns false.
Postcondition
See also
get_connected (p. 382) returns true.
5.119.3.9 virtual void io_tcp_parser_t::debug (
const std::string & message )[inline],[virtual]
5.119.4 Member Data Documentation
5.119.4.1 MHAParser::string_t io_tcp_parser_t::local_address [private]
Lets the user set the local network interface to listen on.
5.119.4.2 MHAParser::int_t io_tcp_parser_t::local_port [private]
Lets the user choose the local tcp port to listen on.
5.119.4.3 MHAParser::int_mon_t io_tcp_parser_t::server_port_open [private]
Indicates wether the TCP server socket is currently open.
5.119.4.4 MHAParser::int_mon_t io_tcp_parser_t::connected [private]
Indicator if there currently is a sound data connection over TCP.
© 2005-2019 HörTech gGmbH, Oldenburg
384 CONTENTS
5.119.4.5 MHAParser::string_mon_t io_tcp_parser_t::peer_address [private]
Display the ip address of the currently connected sound data client.
5.119.4.6 MHAParser::int_mon_t io_tcp_parser_t::peer_port [private]
Display the tcp port used by the current sound data client.
5.119.4.7 MHAParser::string_t io_tcp_parser_t::debug_filename [private]
filename to write debugging info to (if non-empty)
5.119.4.8 FILEio_tcp_parser_t::debug_file [private]
file handle to write debugging info to
The documentation for this class was generated from the following file:
MHAIOTCP.cpp
5.120 io_tcp_sound_t Class Reference
Sound data handling of io tcp library.
Classes
union float_union
This union helps in conversion of floats from host byte order to network byte order and back
again.
Public Member Functions
io_tcp_sound_t (int fragsize, float samplerate)
Initialize sound data handling.
virtual io_tcp_sound_t ()
Do-nothing destructor.
virtual void prepare (int num_inchannels, int num_outchannels)
Called during prepare, sets number of audio channels and allocates sound data storage.
virtual void release ()
Called during release.
virtual int chunkbytes_in () const
Number of bytes that constitute one input sound chunk.
virtual std::string header () const
Create the tcp sound header lines.
virtual mha_wave_t ntoh (const std::string &data)
Copy data received from tcp into mha_wave_t (p. 496) structure.
virtual std::string hton (const mha_wave_t s_out)
Copy sound data from the output sound structure to a string.
© 2005-2019 HörTech gGmbH, Oldenburg
5.120 io_tcp_sound_t Class Reference 385
Static Private Member Functions
static void check_sound_data_type ()
Check if mha_real_t is a usable 32-bit floating point type.
Private Attributes
int fragsize
Number of sound samples in each channel expected and returned from processing callback.
float samplerate
Sampling rate.
int num_inchannels
Number of input channels.
int num_outchannels
MHASignal::waveform_t s_in
Storage for input signal.
5.120.1 Detailed Description
Sound data handling of io tcp library.
5.120.2 Constructor & Destructor Documentation
5.120.2.1 io_tcp_sound_t::io_tcp_sound_t (
int fragsize,
float samplerate )
Initialize sound data handling.
Checks sound data type by calling
See also
check_sound_data_type (p. 386).
Parameters
fragsize Number of sound samples in each channel expected and returned from
processing callback.
samplerate Number of samples per second in each channel.
© 2005-2019 HörTech gGmbH, Oldenburg
386 CONTENTS
5.120.2.2 virtual io_tcp_sound_t::io_tcp_sound_t ( ) [inline],[virtual]
Do-nothing destructor.
5.120.3 Member Function Documentation
5.120.3.1 void io_tcp_sound_t::check_sound_data_type ( ) [static],[private]
Check if mha_real_t is a usable 32-bit floating point type.
Exceptions
MHA_Error (p. 445)if mha_real_t is not compatible to 32-bit float.
5.120.3.2 void io_tcp_sound_t::prepare (
int num_inchannels,
int num_outchannels )[virtual]
Called during prepare, sets number of audio channels and allocates sound data storage.
Parameters
num_inchannels Number of input audio channels.
num_outchannels Number of output audio channels.
5.120.3.3 void io_tcp_sound_t::release (
void ) [virtual]
Called during release.
Deletes sound data storage.
5.120.3.4 int io_tcp_sound_t::chunkbytes_in ( ) const [virtual]
Number of bytes that constitute one input sound chunk.
Returns
Number of bytes to read from TCP connection before invoking signal processing.
5.120.3.5 std::string io_tcp_sound_t::header ( ) const [virtual]
Create the tcp sound header lines.
© 2005-2019 HörTech gGmbH, Oldenburg
5.120 io_tcp_sound_t Class Reference 387
5.120.3.6 mha_wave_t io_tcp_sound_t::ntoh (
const std::string & data )[virtual]
Copy data received from tcp into mha_wave_t (p. 496) structure.
Doing network-to-host byte order swapping in the process.
Parameters
data One chunk (
See also
chunkbytes_in (p. 386)) of sound data to process.
Returns
Pointer to the sound data storage.
5.120.3.7 std::string io_tcp_sound_t::hton (
const mha_wave_t s_out )[virtual]
Copy sound data from the output sound structure to a string.
Doing host-to-network byte order swapping while at it.
Parameters
s_out Pointer to the storage of the sound to put out.
Returns
The sound data in network byte order.
5.120.4 Member Data Documentation
5.120.4.1 int io_tcp_sound_t::fragsize [private]
Number of sound samples in each channel expected and returned from processing callback.
5.120.4.2 float io_tcp_sound_t::samplerate [private]
Sampling rate.
Number of samples per second in each channel.
© 2005-2019 HörTech gGmbH, Oldenburg
388 CONTENTS
5.120.4.3 int io_tcp_sound_t::num_inchannels [private]
Number of input channels.
Number of channels expected from and returned by signal processing callback.
5.120.4.4 int io_tcp_sound_t::num_outchannels [private]
5.120.4.5 MHASignal::waveform_tio_tcp_sound_t::s_in [private]
Storage for input signal.
The documentation for this class was generated from the following file:
MHAIOTCP.cpp
5.121 io_tcp_sound_t::float_union Union Reference
This union helps in conversion of floats from host byte order to network byte order and back
again.
Public Attributes
float f
unsigned int i
char c[4]
5.121.1 Detailed Description
This union helps in conversion of floats from host byte order to network byte order and back
again.
5.121.2 Member Data Documentation
5.121.2.1 float io_tcp_sound_t::float_union::f
5.121.2.2 unsigned int io_tcp_sound_t::float_union::i
5.121.2.3 char io_tcp_sound_t::float_union::c[4]
The documentation for this union was generated from the following file:
MHAIOTCP.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.122 io_tcp_t Class Reference 389
5.122 io_tcp_t Class Reference
The tcp sound io library.
Public Member Functions
io_tcp_t (int fragsize, float samplerate, IOProcessEvent_t proc_event, void proc_-
handle, IOStartedEvent_t start_event, void start_handle, IOStoppedEvent_t stop_-
event, void stop_handle)
void prepare (int num_inchannels, int num_outchannels)
Allocate server socket and start thread waiting for sound data exchange.
void start ()
Call frameworks start callback if there is a sound data connection at the moment.
void stop ()
Close the current connection if there is one.
void release ()
Close the current connection and close the server socket.
virtual void accept_loop ()
IO thread executes this method.
virtual void connection_loop (MHA_TCP::Connection c)
IO thread executes this method for each connection.
virtual void parse (const char cmd, char retval, unsigned int len)
Parser interface.
virtual io_tcp_t ()
Private Attributes
io_tcp_parser_t parser
io_tcp_sound_t sound
io_tcp_fwcb_t fwcb
MHA_TCP::Server server
MHA_TCP::Thread thread
MHA_TCP::Async_Notify notify_start
MHA_TCP::Async_Notify notify_stop
MHA_TCP::Async_Notify notify_release
5.122.1 Detailed Description
The tcp sound io library.
© 2005-2019 HörTech gGmbH, Oldenburg
390 CONTENTS
5.122.2 Constructor & Destructor Documentation
5.122.2.1 io_tcp_t::io_tcp_t (
int fragsize,
float samplerate,
IOProcessEvent_t proc_event,
void proc_handle,
IOStartedEvent_t start_event,
void start_handle,
IOStoppedEvent_t stop_event,
void stop_handle )
5.122.2.2 virtual io_tcp_t::io_tcp_t ( ) [inline],[virtual]
5.122.3 Member Function Documentation
5.122.3.1 void io_tcp_t::prepare (
int num_inchannels,
int num_outchannels )
Allocate server socket and start thread waiting for sound data exchange.
prepare opens the tcp server socket and starts the io thread that listens for audio data on the
tcp socket after doing some sanity checks
5.122.3.2 void io_tcp_t::start ( )
Call frameworks start callback if there is a sound data connection at the moment.
5.122.3.3 void io_tcp_t::stop ( )
Close the current connection if there is one.
stop IO thread
5.122.3.4 void io_tcp_t::release (
void )
Close the current connection and close the server socket.
Stop IO thread and close server socket.
5.122.3.5 void io_tcp_t::accept_loop ( ) [virtual]
IO thread executes this method.
5.122.3.6 void io_tcp_t::connection_loop (
MHA_TCP::Connection c)[virtual]
IO thread executes this method for each connection.
© 2005-2019 HörTech gGmbH, Oldenburg
5.123 latex_doc_t Class Reference 391
Parameters
cpointer to connection. connection_loop deletes connection before exiting.
5.122.3.7 virtual void io_tcp_t::parse (
const char cmd,
char retval,
unsigned int len )[inline],[virtual]
Parser interface.
5.122.4 Member Data Documentation
5.122.4.1 io_tcp_parser_t io_tcp_t::parser [private]
5.122.4.2 io_tcp_sound_t io_tcp_t::sound [private]
5.122.4.3 io_tcp_fwcb_t io_tcp_t::fwcb [private]
5.122.4.4 MHA_TCP::Serverio_tcp_t::server [private]
5.122.4.5 MHA_TCP::Threadio_tcp_t::thread [private]
5.122.4.6 MHA_TCP::Async_Notify io_tcp_t::notify_start [private]
5.122.4.7 MHA_TCP::Async_Notify io_tcp_t::notify_stop [private]
5.122.4.8 MHA_TCP::Async_Notify io_tcp_t::notify_release [private]
The documentation for this class was generated from the following file:
MHAIOTCP.cpp
5.123 latex_doc_t Class Reference
Class to access the information stored in the plugin source code's MHAPLUGIN_DOCUME-
NTATION macro.
© 2005-2019 HörTech gGmbH, Oldenburg
392 CONTENTS
Public Member Functions
latex_doc_t (const std::string &plugname, const std::string &plugin_macro)
Constructor loads the plugin into this process.
std::string get_latex_doc ()
This method accesses the compiled-in contents of the MHAPLUGIN_DOCUMENTATION
macro and the exported interface functions of the loaded plugin to produce latex docuementa-
tion for the plugin.
std::string get_main_category () const
• std::vector<std::string >get_categories () const
Private Member Functions
std::string strdom (mha_domain_t d) const
std::string get_ac (MHAKernel::algo_comm_class_t &ac, std::string txt) const
std::string parsername (std::string s) const
std::string get_parser_var (MHAParser::base_t p, std::string name) const
std::string get_parser_tab (MHAParser::base_t p, const std::string &prefix, const std-
::string &latex_macro) const
Private Attributes
const std::string plugname
const std::string latex_plugname
MHAKernel::algo_comm_class_t ac
PluginLoader::mhapluginloader_t loader
const std::string plugin_macro
5.123.1 Detailed Description
Class to access the information stored in the plugin source code's MHAPLUGIN_DOCUME-
NTATION macro.
5.123.2 Constructor & Destructor Documentation
5.123.2.1 latex_doc_t::latex_doc_t (
const std::string & plugname,
const std::string & plugin_macro )
Constructor loads the plugin into this process.
© 2005-2019 HörTech gGmbH, Oldenburg
5.123 latex_doc_t Class Reference 393
Parameters
plugname Name of the MHA plugin to process
plugin_macro name of the LaTeX section macro that documents a single plugin (e.g.
"section", "subsection", "subsubsection", ...)
5.123.3 Member Function Documentation
5.123.3.1 std::string latex_doc_t::get_latex_doc ( )
This method accesses the compiled-in contents of the MHAPLUGIN_DOCUMENTATION
macro and the exported interface functions of the loaded plugin to produce latex docuementa-
tion for the plugin.
It tentatively prepares the plugin for processing and checks the AC variables registered by the
plugin.
Returns
the complete latex documentation for this plugin
5.123.3.2 std::string latex_doc_t::get_main_category ( ) const
Returns
the first word of the categories string in the MHAPLUGIN_DOCUMENTATION macro
5.123.3.3 std::vector<std::string >latex_doc_t::get_categories ( ) const
Returns
a vector of all words in the categories string in the MHAPLUGIN_DOCUMENTATION
macro
© 2005-2019 HörTech gGmbH, Oldenburg
394 CONTENTS
5.123.3.4 std::string latex_doc_t::strdom (
mha_domain_t d) const [private]
5.123.3.5 std::string latex_doc_t::get_ac (
MHAKernel::algo_comm_class_t &ac,
std::string txt ) const [private]
5.123.3.6 std::string latex_doc_t::parsername (
std::string s) const [private]
5.123.3.7 std::string latex_doc_t::get_parser_var (
MHAParser::base_t p,
std::string name ) const [private]
5.123.3.8 std::string latex_doc_t::get_parser_tab (
MHAParser::base_t p,
const std::string & prefix,
const std::string & latex_macro ) const [private]
5.123.4 Member Data Documentation
5.123.4.1 const std::string latex_doc_t::plugname [private]
5.123.4.2 const std::string latex_doc_t::latex_plugname [private]
5.123.4.3 MHAKernel::algo_comm_class_t latex_doc_t::ac [private]
5.123.4.4 PluginLoader::mhapluginloader_t latex_doc_t::loader [private]
5.123.4.5 const std::string latex_doc_t::plugin_macro [private]
The documentation for this class was generated from the following file:
generatemhaplugindoc.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.124 lpc Class Reference 395
5.124 lpc Class Reference
Inheritance diagram for lpc:
lpc
MHAPlugin::plugin_t
< lpc_config >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< lpc_config >
Public Member Functions
lpc (algo_comm_t &ac, const std::string &chain_name, const std::string &algo_name)
Constructs our plugin.
lpc ()
mha_wave_t process (mha_wave_t )
Checks for the most recent configuration and defers processing to it.
void prepare (mhaconfig_t &)
Plugin preparation.
void release (void)
Private Member Functions
void update_cfg ()
© 2005-2019 HörTech gGmbH, Oldenburg
396 CONTENTS
Private Attributes
std::string algo_name
MHAParser::int_t lpc_order
MHAParser::int_t lpc_buffer_size
MHAParser::bool_t shift
MHAParser::int_t comp_each_iter
MHAParser::bool_t norm
MHAEvents::patchbay_t<lpc >patchbay
Additional Inherited Members
5.124.1 Constructor & Destructor Documentation
5.124.1.1 lpc::lpc (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
5.124.1.2 lpc::lpc ( )
5.124.2 Member Function Documentation
5.124.2.1 mha_wave_t lpc::process (
mha_wave_t signal )
Checks for the most recent configuration and defers processing to it.
5.124.2.2 void lpc::prepare (
mhaconfig_t &signal_info )[virtual]
Plugin preparation.
An opportunity to validate configuration parameters before instantiating a configuration.
Parameters
signal_info Structure containing a description of the form of the signal (domain, number of
channels, frames per block, sampling rate.
Implements MHAPlugin::plugin_t<lpc_config >(p. 730).
© 2005-2019 HörTech gGmbH, Oldenburg
5.124 lpc Class Reference 397
5.124.2.3 void lpc::release (
void ) [inline],[virtual]
Reimplemented from MHAPlugin::plugin_t<lpc_config >(p. 731).
5.124.2.4 void lpc::update_cfg (
void ) [private]
5.124.3 Member Data Documentation
5.124.3.1 std::string lpc::algo_name [private]
5.124.3.2 MHAParser::int_t lpc::lpc_order [private]
5.124.3.3 MHAParser::int_t lpc::lpc_buffer_size [private]
5.124.3.4 MHAParser::bool_t lpc::shift [private]
5.124.3.5 MHAParser::int_t lpc::comp_each_iter [private]
5.124.3.6 MHAParser::bool_t lpc::norm [private]
5.124.3.7 MHAEvents::patchbay_t<lpc>lpc::patchbay [private]
The documentation for this class was generated from the following files:
lpc.h
lpc.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
398 CONTENTS
5.125 lpc_bl_predictor Class Reference
Inheritance diagram for lpc_bl_predictor:
lpc_bl_predictor
MHAPlugin::plugin_t
< lpc_bl_predictor_config >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< lpc_bl_predictor_config >
Public Member Functions
lpc_bl_predictor (algo_comm_t &ac, const std::string &chain_name, const std::string
&algo_name)
Constructs our plugin.
lpc_bl_predictor ()
mha_wave_t process (mha_wave_t )
Checks for the most recent configuration and defers processing to it.
void prepare (mhaconfig_t &)
Plugin preparation.
void release (void)
Public Attributes
MHAParser::int_t lpc_order
MHAParser::string_t name_kappa
MHAParser::string_t name_lpc_f
MHAParser::string_t name_lpc_b
MHAParser::string_t name_f
MHAParser::string_t name_b
© 2005-2019 HörTech gGmbH, Oldenburg
5.125 lpc_bl_predictor Class Reference 399
Private Member Functions
void update_cfg ()
Private Attributes
MHAEvents::patchbay_t<lpc_bl_predictor >patchbay
Additional Inherited Members
5.125.1 Constructor & Destructor Documentation
5.125.1.1 lpc_bl_predictor::lpc_bl_predictor (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
5.125.1.2 lpc_bl_predictor::lpc_bl_predictor ( )
5.125.2 Member Function Documentation
5.125.2.1 mha_wave_t lpc_bl_predictor::process (
mha_wave_t signal )
Checks for the most recent configuration and defers processing to it.
5.125.2.2 void lpc_bl_predictor::prepare (
mhaconfig_t &signal_info )[virtual]
Plugin preparation.
An opportunity to validate configuration parameters before instantiating a configuration.
Parameters
signal_info Structure containing a description of the form of the signal (domain, number of
channels, frames per block, sampling rate.
Implements MHAPlugin::plugin_t<lpc_bl_predictor_config >(p. 730).
© 2005-2019 HörTech gGmbH, Oldenburg
400 CONTENTS
5.125.2.3 void lpc_bl_predictor::release (
void ) [inline],[virtual]
Reimplemented from MHAPlugin::plugin_t<lpc_bl_predictor_config >(p. 731).
5.125.2.4 void lpc_bl_predictor::update_cfg (
void ) [private]
5.125.3 Member Data Documentation
5.125.3.1 MHAParser::int_t lpc_bl_predictor::lpc_order
5.125.3.2 MHAParser::string_t lpc_bl_predictor::name_kappa
5.125.3.3 MHAParser::string_t lpc_bl_predictor::name_lpc_f
5.125.3.4 MHAParser::string_t lpc_bl_predictor::name_lpc_b
5.125.3.5 MHAParser::string_t lpc_bl_predictor::name_f
5.125.3.6 MHAParser::string_t lpc_bl_predictor::name_b
5.125.3.7 MHAEvents::patchbay_t<lpc_bl_predictor>lpc_bl_predictor::patchbay
[private]
The documentation for this class was generated from the following files:
lpc_bl_predictor.h
lpc_bl_predictor.cpp
5.126 lpc_bl_predictor_config Class Reference
Public Member Functions
lpc_bl_predictor_config (algo_comm_t &iac, const mhaconfig_t in_cfg, lpc_bl_-
predictor _lpc)
lpc_bl_predictor_config ()
mha_wave_t process (mha_wave_t )
© 2005-2019 HörTech gGmbH, Oldenburg
5.126 lpc_bl_predictor_config Class Reference 401
Private Attributes
algo_comm_t ac
MHA_AC::waveform_t f_est
MHA_AC::waveform_t b_est
MHASignal::waveform_t forward
MHASignal::waveform_t backward
int lpc_order
std::string name_km
std::string name_f
std::string name_b
mha_wave_t km
mha_wave_t s_f
mha_wave_t s_b
5.126.1 Constructor & Destructor Documentation
5.126.1.1 lpc_bl_predictor_config::lpc_bl_predictor_config (
algo_comm_t &iac,
const mhaconfig_t in_cfg,
lpc_bl_predictor _lpc )
5.126.1.2 lpc_bl_predictor_config::lpc_bl_predictor_config ( )
5.126.2 Member Function Documentation
5.126.2.1 mha_wave_t lpc_bl_predictor_config::process (
mha_wave_t wave )
5.126.3 Member Data Documentation
5.126.3.1 algo_comm_t lpc_bl_predictor_config::ac [private]
5.126.3.2 MHA_AC::waveform_t lpc_bl_predictor_config::f_est [private]
5.126.3.3 MHA_AC::waveform_t lpc_bl_predictor_config::b_est [private]
5.126.3.4 MHASignal::waveform_t lpc_bl_predictor_config::forward [private]
5.126.3.5 MHASignal::waveform_t lpc_bl_predictor_config::backward [private]
5.126.3.6 int lpc_bl_predictor_config::lpc_order [private]
5.126.3.7 std::string lpc_bl_predictor_config::name_km [private]
© 2005-2019 HörTech gGmbH, Oldenburg
402 CONTENTS
5.126.3.8 std::string lpc_bl_predictor_config::name_f [private]
5.126.3.9 std::string lpc_bl_predictor_config::name_b [private]
5.126.3.10 mha_wave_t lpc_bl_predictor_config::km [private]
5.126.3.11 mha_wave_t lpc_bl_predictor_config::s_f [private]
5.126.3.12 mha_wave_t lpc_bl_predictor_config::s_b [private]
The documentation for this class was generated from the following files:
lpc_bl_predictor.h
lpc_bl_predictor.cpp
5.127 lpc_burglattice Class Reference
Inheritance diagram for lpc_burglattice:
lpc_burglattice
MHAPlugin::plugin_t
< lpc_burglattice_config >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< lpc_burglattice_config >
© 2005-2019 HörTech gGmbH, Oldenburg
5.127 lpc_burglattice Class Reference 403
Public Member Functions
lpc_burglattice (algo_comm_t &ac, const std::string &chain_name, const std::string
&algo_name)
Constructs our plugin.
lpc_burglattice ()
mha_wave_t process (mha_wave_t )
Checks for the most recent configuration and defers processing to it.
void prepare (mhaconfig_t &)
Plugin preparation.
void release (void)
Public Attributes
MHAParser::int_t lpc_order
MHAParser::string_t name_kappa
MHAParser::string_t name_f
MHAParser::string_t name_b
MHAParser::float_t lambda
Private Member Functions
void update_cfg ()
Private Attributes
MHAEvents::patchbay_t<lpc_burglattice >patchbay
Additional Inherited Members
5.127.1 Constructor & Destructor Documentation
5.127.1.1 lpc_burglattice::lpc_burglattice (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
© 2005-2019 HörTech gGmbH, Oldenburg
404 CONTENTS
5.127.1.2 lpc_burglattice::lpc_burglattice ( )
5.127.2 Member Function Documentation
5.127.2.1 mha_wave_t lpc_burglattice::process (
mha_wave_t signal )
Checks for the most recent configuration and defers processing to it.
5.127.2.2 void lpc_burglattice::prepare (
mhaconfig_t &signal_info )[virtual]
Plugin preparation.
An opportunity to validate configuration parameters before instantiating a configuration.
Parameters
signal_info Structure containing a description of the form of the signal (domain, number of
channels, frames per block, sampling rate.
Implements MHAPlugin::plugin_t<lpc_burglattice_config >(p. 730).
5.127.2.3 void lpc_burglattice::release (
void ) [inline],[virtual]
Reimplemented from MHAPlugin::plugin_t<lpc_burglattice_config >(p. 731).
5.127.2.4 void lpc_burglattice::update_cfg (
void ) [private]
5.127.3 Member Data Documentation
5.127.3.1 MHAParser::int_t lpc_burglattice::lpc_order
5.127.3.2 MHAParser::string_t lpc_burglattice::name_kappa
5.127.3.3 MHAParser::string_t lpc_burglattice::name_f
5.127.3.4 MHAParser::string_t lpc_burglattice::name_b
5.127.3.5 MHAParser::float_t lpc_burglattice::lambda
5.127.3.6 MHAEvents::patchbay_t<lpc_burglattice>lpc_burglattice::patchbay [private]
The documentation for this class was generated from the following files:
lpc_burg-lattice.h
lpc_burg-lattice.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.128 lpc_burglattice_config Class Reference 405
5.128 lpc_burglattice_config Class Reference
Public Member Functions
lpc_burglattice_config (algo_comm_t &iac, const mhaconfig_t in_cfg, lpc_-
burglattice _lpc)
lpc_burglattice_config ()
mha_wave_t process (mha_wave_t )
Private Attributes
algo_comm_t ac
MHASignal::waveform_t forward
MHASignal::waveform_t backward
MHASignal::waveform_t kappa
MHA_AC::waveform_t kappa_block
MHASignal::waveform_t dm
MHASignal::waveform_t nm
mha_real_t lambda
int lpc_order
std::string name_f
std::string name_b
mha_wave_t s_f
mha_wave_t s_b
5.128.1 Constructor & Destructor Documentation
5.128.1.1 lpc_burglattice_config::lpc_burglattice_config (
algo_comm_t &iac,
const mhaconfig_t in_cfg,
lpc_burglattice _lpc )
5.128.1.2 lpc_burglattice_config::lpc_burglattice_config ( )
5.128.2 Member Function Documentation
5.128.2.1 mha_wave_t lpc_burglattice_config::process (
mha_wave_t wave )
5.128.3 Member Data Documentation
5.128.3.1 algo_comm_t lpc_burglattice_config::ac [private]
© 2005-2019 HörTech gGmbH, Oldenburg
406 CONTENTS
5.128.3.2 MHASignal::waveform_t lpc_burglattice_config::forward [private]
5.128.3.3 MHASignal::waveform_t lpc_burglattice_config::backward [private]
5.128.3.4 MHASignal::waveform_t lpc_burglattice_config::kappa [private]
5.128.3.5 MHA_AC::waveform_t lpc_burglattice_config::kappa_block [private]
5.128.3.6 MHASignal::waveform_t lpc_burglattice_config::dm [private]
5.128.3.7 MHASignal::waveform_t lpc_burglattice_config::nm [private]
5.128.3.8 mha_real_t lpc_burglattice_config::lambda [private]
5.128.3.9 int lpc_burglattice_config::lpc_order [private]
5.128.3.10 std::string lpc_burglattice_config::name_f [private]
5.128.3.11 std::string lpc_burglattice_config::name_b [private]
5.128.3.12 mha_wave_t lpc_burglattice_config::s_f [private]
5.128.3.13 mha_wave_t lpc_burglattice_config::s_b [private]
The documentation for this class was generated from the following files:
lpc_burg-lattice.h
lpc_burg-lattice.cpp
5.129 lpc_config Class Reference
Public Member Functions
lpc_config (algo_comm_t &ac, const mhaconfig_t in_cfg, std::string &algo_name, un-
signed int _order, unsigned int _lpc_buffer_size, bool _shift, unsigned int _comp_each-
_iter, bool _norm)
lpc_config ()
mha_wave_t process (mha_wave_t )
void insert ()
© 2005-2019 HörTech gGmbH, Oldenburg
5.129 lpc_config Class Reference 407
Private Attributes
bool norm
bool shift
unsigned int comp_each_iter
unsigned int order
unsigned int lpc_buffer_size
unsigned int N
unsigned int comp_iter
mha_wave_t sample
• std::vector<mha_real_t >R
• std::vector<mha_real_t >A
MHASignal::ringbuffer_t inwave
MHA_AC::waveform_t lpc_out
MHA_AC::waveform_t corr_out
5.129.1 Constructor & Destructor Documentation
5.129.1.1 lpc_config::lpc_config (
algo_comm_t &ac,
const mhaconfig_t in_cfg,
std::string & algo_name,
unsigned int _order,
unsigned int _lpc_buffer_size,
bool _shift,
unsigned int _comp_each_iter,
bool _norm )
5.129.1.2 lpc_config::lpc_config ( )
5.129.2 Member Function Documentation
5.129.2.1 mha_wave_t lpc_config::process (
mha_wave_t wave )
5.129.2.2 void lpc_config::insert ( )
5.129.3 Member Data Documentation
5.129.3.1 bool lpc_config::norm [private]
5.129.3.2 bool lpc_config::shift [private]
5.129.3.3 unsigned int lpc_config::comp_each_iter [private]
© 2005-2019 HörTech gGmbH, Oldenburg
408 CONTENTS
5.129.3.4 unsigned int lpc_config::order [private]
5.129.3.5 unsigned int lpc_config::lpc_buffer_size [private]
5.129.3.6 unsigned int lpc_config::N [private]
5.129.3.7 unsigned int lpc_config::comp_iter [private]
5.129.3.8 mha_wave_t lpc_config::sample [private]
5.129.3.9 std::vector<mha_real_t>lpc_config::R [private]
5.129.3.10 std::vector<mha_real_t>lpc_config::A [private]
5.129.3.11 MHASignal::ringbuffer_t lpc_config::inwave [private]
5.129.3.12 MHA_AC::waveform_t lpc_config::lpc_out [private]
5.129.3.13 MHA_AC::waveform_t lpc_config::corr_out [private]
The documentation for this class was generated from the following files:
lpc.h
lpc.cpp
5.130 matrixmixer::cfg_t Class Reference
Public Member Functions
cfg_t (std::vector<std::vector<float > > imixer, unsigned int ci, unsigned int co, un-
signed int fragsize, unsigned int nfft)
mha_wave_t process (mha_wave_t )
mha_spec_t process (mha_spec_t )
Private Attributes
MHASignal::waveform_t m
MHASignal::waveform_t wout
MHASignal::spectrum_t sout
© 2005-2019 HörTech gGmbH, Oldenburg
5.130 matrixmixer::cfg_t Class Reference 409
5.130.1 Constructor & Destructor Documentation
5.130.1.1 cfg_t::cfg_t (
std::vector<std::vector<float > > imixer,
unsigned int ci,
unsigned int co,
unsigned int fragsize,
unsigned int nfft )
5.130.2 Member Function Documentation
5.130.2.1 mha_wave_t cfg_t::process (
mha_wave_t s)
5.130.2.2 mha_spec_t cfg_t::process (
mha_spec_t s)
5.130.3 Member Data Documentation
5.130.3.1 MHASignal::waveform_t matrixmixer::cfg_t::m [private]
5.130.3.2 MHASignal::waveform_t matrixmixer::cfg_t::wout [private]
5.130.3.3 MHASignal::spectrum_t matrixmixer::cfg_t::sout [private]
The documentation for this class was generated from the following file:
matrixmixer.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
410 CONTENTS
5.131 matrixmixer::matmix_t Class Reference
Inheritance diagram for matrixmixer::matmix_t:
matrixmixer::matmix_t
MHAPlugin::plugin_t
< cfg_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< cfg_t >
Public Member Functions
matmix_t (const algo_comm_t &, const std::string &, const std::string &)
void prepare (mhaconfig_t &)
mha_wave_t process (mha_wave_t )
mha_spec_t process (mha_spec_t )
Private Member Functions
void update_m ()
Private Attributes
MHAEvents::patchbay_t<matmix_t >patchbay
MHAParser::mfloat_t mixer
unsigned int ci
unsigned int co
© 2005-2019 HörTech gGmbH, Oldenburg
5.131 matrixmixer::matmix_t Class Reference 411
Additional Inherited Members
5.131.1 Constructor & Destructor Documentation
5.131.1.1 matrixmixer::matmix_t::matmix_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.131.2 Member Function Documentation
5.131.2.1 void matrixmixer::matmix_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<cfg_t >(p. 730).
5.131.2.2 mha_wave_t matrixmixer::matmix_t::process (
mha_wave_t s)
5.131.2.3 mha_spec_t matrixmixer::matmix_t::process (
mha_spec_t s)
5.131.2.4 void matrixmixer::matmix_t::update_m (
void ) [private]
5.131.3 Member Data Documentation
5.131.3.1 MHAEvents::patchbay_t<matmix_t>matrixmixer::matmix_t::patchbay [private]
5.131.3.2 MHAParser::mfloat_t matrixmixer::matmix_t::mixer [private]
5.131.3.3 unsigned int matrixmixer::matmix_t::ci [private]
5.131.3.4 unsigned int matrixmixer::matmix_t::co [private]
The documentation for this class was generated from the following file:
matrixmixer.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
412 CONTENTS
5.132 MHA_AC::ac2matrix_helper_t Class Reference
Inheritance diagram for MHA_AC::ac2matrix_helper_t:
MHA_AC::ac2matrix_helper_t
MHA_AC::ac2matrix_t
Public Member Functions
ac2matrix_helper_t (algo_comm_t, const std::string &)
void getvar ()
Public Attributes
algo_comm_t ac
std::string name
std::string username
MHASignal::uint_vector_t size
bool is_complex
Protected Attributes
comm_var_t acvar
5.132.1 Constructor & Destructor Documentation
5.132.1.1 MHA_AC::ac2matrix_helper_t::ac2matrix_helper_t (
algo_comm_t iac,
const std::string & iname )
5.132.2 Member Function Documentation
5.132.2.1 void MHA_AC::ac2matrix_helper_t::getvar ( )
© 2005-2019 HörTech gGmbH, Oldenburg
5.133 MHA_AC::ac2matrix_t Class Reference 413
5.132.3 Member Data Documentation
5.132.3.1 algo_comm_t MHA_AC::ac2matrix_helper_t::ac
5.132.3.2 std::string MHA_AC::ac2matrix_helper_t::name
5.132.3.3 std::string MHA_AC::ac2matrix_helper_t::username
5.132.3.4 MHASignal::uint_vector_t MHA_AC::ac2matrix_helper_t::size
5.132.3.5 bool MHA_AC::ac2matrix_helper_t::is_complex
5.132.3.6 comm_var_t MHA_AC::ac2matrix_helper_t::acvar [protected]
The documentation for this class was generated from the following files:
mha_algo_comm.h
mha_algo_comm.cpp
5.133 MHA_AC::ac2matrix_t Class Reference
Copy AC variable to a matrix.
Inheritance diagram for MHA_AC::ac2matrix_t:
MHA_AC::ac2matrix_t
MHA_AC::ac2matrix_helper_t MHASignal::matrix_t
MHASignal::uint_vector_t
© 2005-2019 HörTech gGmbH, Oldenburg
414 CONTENTS
Public Member Functions
ac2matrix_t (algo_comm_t ac, const std::string &name)
Constructor.
void update ()
Update contents of the matrix from the AC space.
const std::string & getname () const
Return name of AC variable/matrix.
const std::string & getusername () const
Return user specified name of AC variable/matrix.
void insert (algo_comm_t ac)
Insert matrix into an AC space (other than source AC space)
Additional Inherited Members
5.133.1 Detailed Description
Copy AC variable to a matrix.
This class constructs a matrix of same size as an AC variable and can copy the AC variable to
itself. The update() (p. 414) function is real-time safe.
5.133.2 Constructor & Destructor Documentation
5.133.2.1 MHA_AC::ac2matrix_t::ac2matrix_t (
algo_comm_t ac,
const std::string & name )
Constructor.
Parameters
ac AC handle
name Name of AC variable to be copied
5.133.3 Member Function Documentation
5.133.3.1 void MHA_AC::ac2matrix_t::update ( )
Update contents of the matrix from the AC space.
This function is real-time safe. The copy operation performance is of the order of the number
of elements in the matrix.
© 2005-2019 HörTech gGmbH, Oldenburg
5.134 MHA_AC::acspace2matrix_t Class Reference 415
5.133.3.2 const std::string& MHA_AC::ac2matrix_t::getname ( ) const [inline]
Return name of AC variable/matrix.
5.133.3.3 const std::string& MHA_AC::ac2matrix_t::getusername ( ) const [inline]
Return user specified name of AC variable/matrix.
5.133.3.4 void MHA_AC::ac2matrix_t::insert (
algo_comm_t ac )
Insert matrix into an AC space (other than source AC space)
Parameters
ac AC space handle to insert data
Note
The AC variable data buffer points to the data of the matrix. Modifications of the AC
variable directly modify the data of the matrix; after deletion of the matrix, the data buffer
is invalid.
The documentation for this class was generated from the following files:
mha_algo_comm.h
mha_algo_comm.cpp
5.134 MHA_AC::acspace2matrix_t Class Reference
Copy all or a subset of all numeric AC variables into an array of matrixes.
Public Member Functions
acspace2matrix_t (algo_comm_t ac, const std::vector<std::string >&names)
Constructor.
acspace2matrix_t (const MHA_AC::acspace2matrix_t &src)
Constructor with initialization from an instance.
acspace2matrix_t ()
MHA_AC::acspace2matrix_t &operator= (const MHA_AC::acspace2matrix_t &src)
Copy all contents (deep copy).
MHA_AC::ac2matrix_t &operator[ ] (unsigned int k)
Access operator.
© 2005-2019 HörTech gGmbH, Oldenburg
416 CONTENTS
const MHA_AC::ac2matrix_t &operator[ ] (unsigned int k) const
Constant access operator.
void update ()
Update function.
unsigned int size () const
Number of matrixes in AC space.
unsigned int frame () const
Actual frame number.
void insert (algo_comm_t ac)
Insert AC space copy into an AC space (other than source AC space)
Private Attributes
unsigned int len
MHA_AC::ac2matrix_t ∗∗ data
unsigned int frameno
5.134.1 Detailed Description
Copy all or a subset of all numeric AC variables into an array of matrixes.
5.134.2 Constructor & Destructor Documentation
5.134.2.1 MHA_AC::acspace2matrix_t::acspace2matrix_t (
algo_comm_t ac,
const std::vector<std::string >&names )
Constructor.
Scan all given AC variables and allocate corresponding matrixes.
Parameters
ac AC handle.
names Names of AC variables, or empty for all.
5.134.2.2 MHA_AC::acspace2matrix_t::acspace2matrix_t (
const MHA_AC::acspace2matrix_t &src )
Constructor with initialization from an instance.
© 2005-2019 HörTech gGmbH, Oldenburg
5.134 MHA_AC::acspace2matrix_t Class Reference 417
Parameters
src Instance to be copied.
5.134.2.3 MHA_AC::acspace2matrix_t::acspace2matrix_t ( )
5.134.3 Member Function Documentation
5.134.3.1 MHA_AC::acspace2matrix_t & MHA_AC::acspace2matrix_t::operator= (
const MHA_AC::acspace2matrix_t &src )
Copy all contents (deep copy).
Parameters
src Array of matrixes to be copied.
5.134.3.2 MHA_AC::ac2matrix_t& MHA_AC::acspace2matrix_t::operator[ ] (
unsigned int k)[inline]
Access operator.
Parameters
kindex into array; should not exceed size() (p. 418)-1.
Return values
Reference to matrix.
5.134.3.3 const MHA_AC::ac2matrix_t& MHA_AC::acspace2matrix_t::operator[ ] (
unsigned int k) const [inline]
Constant access operator.
Parameters
kindex into array; should not exceed size() (p. 418)-1.
Return values
Constant reference to matrix.
© 2005-2019 HörTech gGmbH, Oldenburg
418 CONTENTS
5.134.3.4 void MHA_AC::acspace2matrix_t::update ( ) [inline]
Update function.
This function updates all matrixes from their corresponding AC variables. It can be called from
the MHA Framework prepare function or in the processing callback.
5.134.3.5 unsigned int MHA_AC::acspace2matrix_t::size ( ) const [inline]
Number of matrixes in AC space.
5.134.3.6 unsigned int MHA_AC::acspace2matrix_t::frame ( ) const [inline]
Actual frame number.
5.134.3.7 void MHA_AC::acspace2matrix_t::insert (
algo_comm_t ac )
Insert AC space copy into an AC space (other than source AC space)
Parameters
ac AC space handle to insert data
5.134.4 Member Data Documentation
5.134.4.1 unsigned int MHA_AC::acspace2matrix_t::len [private]
5.134.4.2 MHA_AC::ac2matrix_t∗∗ MHA_AC::acspace2matrix_t::data [private]
5.134.4.3 unsigned int MHA_AC::acspace2matrix_t::frameno [private]
The documentation for this class was generated from the following files:
mha_algo_comm.h
mha_algo_comm.cpp
5.135 MHA_AC::double_t Class Reference
Insert a double precision floating point variable into the AC space.
© 2005-2019 HörTech gGmbH, Oldenburg
5.135 MHA_AC::double_t Class Reference 419
Public Member Functions
double_t (algo_comm_t, std::string, double=0)
double_t ()
Public Attributes
double data
Floating point value variable.
Private Attributes
algo_comm_t ac
5.135.1 Detailed Description
Insert a double precision floating point variable into the AC space.
The variable is automatically removed on destruction.
5.135.2 Constructor & Destructor Documentation
5.135.2.1 MHA_AC::double_t::double_t (
algo_comm_t iac,
std::string n,
double v = 0)
5.135.2.2 MHA_AC::double_t::double_t ( )
5.135.3 Member Data Documentation
5.135.3.1 double MHA_AC::double_t::data
Floating point value variable.
5.135.3.2 algo_comm_t MHA_AC::double_t::ac [private]
The documentation for this class was generated from the following files:
mha_algo_comm.h
mha_algo_comm.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
420 CONTENTS
5.136 MHA_AC::float_t Class Reference
Insert a float point variable into the AC space.
Public Member Functions
float_t (algo_comm_t, std::string, float=0)
Constructor.
float_t ()
Public Attributes
float data
Floating point value variable.
Private Attributes
algo_comm_t ac
5.136.1 Detailed Description
Insert a float point variable into the AC space.
The variable is automatically removed on destruction.
5.136.2 Constructor & Destructor Documentation
5.136.2.1 MHA_AC::float_t::float_t (
algo_comm_t iac,
std::string n,
float v = 0)
Constructor.
5.136.2.2 MHA_AC::float_t::float_t ( )
5.136.3 Member Data Documentation
5.136.3.1 float MHA_AC::float_t::data
Floating point value variable.
© 2005-2019 HörTech gGmbH, Oldenburg
5.137 MHA_AC::int_t Class Reference 421
5.136.3.2 algo_comm_t MHA_AC::float_t::ac [private]
The documentation for this class was generated from the following files:
mha_algo_comm.h
mha_algo_comm.cpp
5.137 MHA_AC::int_t Class Reference
Insert a integer variable into the AC space.
Public Member Functions
int_t (algo_comm_t, std::string, int=0)
int_t ()
Public Attributes
int data
Integer value variable.
Private Attributes
algo_comm_t ac
5.137.1 Detailed Description
Insert a integer variable into the AC space.
The variable is automatically removed on destruction.
5.137.2 Constructor & Destructor Documentation
5.137.2.1 MHA_AC::int_t::int_t (
algo_comm_t iac,
std::string n,
int v = 0)
5.137.2.2 MHA_AC::int_t::int_t ( )
5.137.3 Member Data Documentation
5.137.3.1 int MHA_AC::int_t::data
Integer value variable.
© 2005-2019 HörTech gGmbH, Oldenburg
422 CONTENTS
5.137.3.2 algo_comm_t MHA_AC::int_t::ac [private]
The documentation for this class was generated from the following files:
mha_algo_comm.h
mha_algo_comm.cpp
5.138 MHA_AC::spectrum_t Class Reference
Insert a MHASignal::spectrum_t (p. 800) class into the AC space.
Inheritance diagram for MHA_AC::spectrum_t:
MHA_AC::spectrum_t
MHAMultiSrc::spectrum_t wave2spec_t
MHASignal::spectrum_t
mha_spec_t
Public Member Functions
spectrum_t (algo_comm_t ac, std::string name, unsigned int bins, unsigned int chan-
nels, bool insert_now)
Create the AC variable.
spectrum_t ()
void insert ()
Insert AC variable into AC space.
Protected Attributes
algo_comm_t ac
std::string name
© 2005-2019 HörTech gGmbH, Oldenburg
5.138 MHA_AC::spectrum_t Class Reference 423
Additional Inherited Members
5.138.1 Detailed Description
Insert a MHASignal::spectrum_t (p. 800) class into the AC space.
The variable is automatically removed on destruction.
5.138.2 Constructor & Destructor Documentation
5.138.2.1 MHA_AC::spectrum_t::spectrum_t (
algo_comm_t ac,
std::string name,
unsigned int bins,
unsigned int channels,
bool insert_now )
Create the AC variable.
Parameters
ac AC handle
name Name of variable in AC space
bins Number of FFT bins in the waveform_t (p. 425) class
channels Number of audio channels in the waveform_t (p. 425) class
insert_now Insert implicitely in the constructor (true) or explicitely in the insert() (p. 423)
function (false)
5.138.2.2 MHA_AC::spectrum_t::spectrum_t (
void ) [virtual]
Reimplemented from MHASignal::spectrum_t (p. 802).
5.138.3 Member Function Documentation
5.138.3.1 void MHA_AC::spectrum_t::insert ( )
Insert AC variable into AC space.
© 2005-2019 HörTech gGmbH, Oldenburg
424 CONTENTS
5.138.4 Member Data Documentation
5.138.4.1 algo_comm_t MHA_AC::spectrum_t::ac [protected]
5.138.4.2 std::string MHA_AC::spectrum_t::name [protected]
The documentation for this class was generated from the following files:
mha_algo_comm.h
mha_algo_comm.cpp
5.139 MHA_AC::stat_t Class Reference
Inheritance diagram for MHA_AC::stat_t:
MHA_AC::stat_t
MHASignal::stat_t
Public Member Functions
stat_t (algo_comm_t ac, const std::string &name, const unsigned int &frames, const
unsigned int &channels, bool insert_now)
void update ()
void insert ()
Private Attributes
MHA_AC::waveform_t mean
MHA_AC::waveform_t std
© 2005-2019 HörTech gGmbH, Oldenburg
5.140 MHA_AC::waveform_t Class Reference 425
5.139.1 Constructor & Destructor Documentation
5.139.1.1 MHA_AC::stat_t::stat_t (
algo_comm_t ac,
const std::string & name,
const unsigned int & frames,
const unsigned int & channels,
bool insert_now )
5.139.2 Member Function Documentation
5.139.2.1 void MHA_AC::stat_t::update ( )
5.139.2.2 void MHA_AC::stat_t::insert ( )
5.139.3 Member Data Documentation
5.139.3.1 MHA_AC::waveform_t MHA_AC::stat_t::mean [private]
5.139.3.2 MHA_AC::waveform_t MHA_AC::stat_t::std [private]
The documentation for this class was generated from the following files:
mha_algo_comm.h
mha_algo_comm.cpp
5.140 MHA_AC::waveform_t Class Reference
Insert a MHASignal::waveform_t (p. 812) class into the AC space.
Inheritance diagram for MHA_AC::waveform_t:
MHA_AC::waveform_t
MHAMultiSrc::waveform_t mon_t
MHASignal::waveform_t
mha_wave_t
© 2005-2019 HörTech gGmbH, Oldenburg
426 CONTENTS
Public Member Functions
waveform_t (algo_comm_t ac, std::string name, unsigned int frames, unsigned int
channels, bool insert_now)
Create the AC variable.
waveform_t ()
void insert ()
Insert AC variable into AC space.
Protected Attributes
algo_comm_t ac
std::string name
Additional Inherited Members
5.140.1 Detailed Description
Insert a MHASignal::waveform_t (p. 812) class into the AC space.
The variable is automatically removed on destruction.
5.140.2 Constructor & Destructor Documentation
5.140.2.1 MHA_AC::waveform_t::waveform_t (
algo_comm_t ac,
std::string name,
unsigned int frames,
unsigned int channels,
bool insert_now )
Create the AC variable.
Parameters
ac AC handle
name Name of variable in AC space
frames Number of frames in the waveform_t (p. 425) class
channels Number of audio channels in the waveform_t (p. 425) class
insert_now Insert implicitely in the constructor (true) or explicitely in the insert() (p. 427)
function (false)
© 2005-2019 HörTech gGmbH, Oldenburg
5.141 mha_audio_descriptor_t Struct Reference 427
5.140.2.2 MHA_AC::waveform_t::waveform_t (
void ) [virtual]
Reimplemented from MHASignal::waveform_t (p. 815).
5.140.3 Member Function Documentation
5.140.3.1 void MHA_AC::waveform_t::insert ( )
Insert AC variable into AC space.
5.140.4 Member Data Documentation
5.140.4.1 algo_comm_t MHA_AC::waveform_t::ac [protected]
5.140.4.2 std::string MHA_AC::waveform_t::name [protected]
The documentation for this class was generated from the following files:
mha_algo_comm.h
mha_algo_comm.cpp
5.141 mha_audio_descriptor_t Struct Reference
Description of an audio fragment (planned as a replacement of mhaconfig_t (p. 504)).
Public Attributes
unsigned int n_samples
Number of samples.
unsigned int n_channels
Number of audio channels.
unsigned int n_freqs
Number of frequency bands.
unsigned int is_complex
Flag about sample type.
mha_real_t dt
Time distance between samples (only equidistant samples allowed)
mha_real_t cf
Center frequencies of frequency bands.
mha_real_t chdir
Hint on source direction of channel, values below zero is left, values above zero is right, zero
means unknown.
© 2005-2019 HörTech gGmbH, Oldenburg
428 CONTENTS
5.141.1 Detailed Description
Description of an audio fragment (planned as a replacement of mhaconfig_t (p. 504)).
5.141.2 Member Data Documentation
5.141.2.1 unsigned int mha_audio_descriptor_t::n_samples
Number of samples.
5.141.2.2 unsigned int mha_audio_descriptor_t::n_channels
Number of audio channels.
5.141.2.3 unsigned int mha_audio_descriptor_t::n_freqs
Number of frequency bands.
5.141.2.4 unsigned int mha_audio_descriptor_t::is_complex
Flag about sample type.
5.141.2.5 mha_real_t mha_audio_descriptor_t::dt
Time distance between samples (only equidistant samples allowed)
5.141.2.6 mha_real_tmha_audio_descriptor_t::cf
Center frequencies of frequency bands.
5.141.2.7 mha_real_tmha_audio_descriptor_t::chdir
Hint on source direction of channel, values below zero is left, values above zero is right, zero
means unknown.
The documentation for this struct was generated from the following file:
mha.hh
5.142 mha_audio_t Struct Reference
An audio fragment in the openMHA (planned as a replacement of mha_wave_t (p. 496) and
mha_spec_t (p. 465)).
© 2005-2019 HörTech gGmbH, Oldenburg
5.143 mha_channel_info_t Struct Reference 429
Public Attributes
mha_audio_descriptor_t descriptor
Dimension and description of the data.
mha_real_t rdata
Data pointer if flag mha_audio_descriptor_t::is_complex (p. 428) is unset.
mha_complex_t cdata
Data pointer if flag mha_audio_descriptor_t::is_complex (p. 428) is set.
5.142.1 Detailed Description
An audio fragment in the openMHA (planned as a replacement of mha_wave_t (p. 496) and
mha_spec_t (p. 465)).
The data alignment is (t0, c0, f0),(t0, c0, f1),...,(t0, c0, ffreqs),(t0, c1, f0), . . .. This allows a di-
rect cast of the current mha_wave_t (p. 496) and mha_spec_t (p. 465) data pointers into cor-
responding mha_audio_t (p. 428) objects.
5.142.2 Member Data Documentation
5.142.2.1 mha_audio_descriptor_t mha_audio_t::descriptor
Dimension and description of the data.
5.142.2.2 mha_real_tmha_audio_t::rdata
Data pointer if flag mha_audio_descriptor_t::is_complex (p. 428) is unset.
5.142.2.3 mha_complex_tmha_audio_t::cdata
Data pointer if flag mha_audio_descriptor_t::is_complex (p. 428) is set.
The documentation for this struct was generated from the following file:
mha.hh
5.143 mha_channel_info_t Struct Reference
Channel information structure.
© 2005-2019 HörTech gGmbH, Oldenburg
430 CONTENTS
Public Attributes
int id
channel id
char idstr [32]
channel id
unsigned int side
side (left/right)
mha_direction_t dir
source direction
mha_real_t peaklevel
Peak level corresponds to this SPL (dB) level.
5.143.1 Detailed Description
Channel information structure.
5.143.2 Member Data Documentation
5.143.2.1 int mha_channel_info_t::id
channel id
5.143.2.2 char mha_channel_info_t::idstr[32]
channel id
5.143.2.3 unsigned int mha_channel_info_t::side
side (left/right)
5.143.2.4 mha_direction_t mha_channel_info_t::dir
source direction
5.143.2.5 mha_real_t mha_channel_info_t::peaklevel
Peak level corresponds to this SPL (dB) level.
The documentation for this struct was generated from the following file:
mha.hh
© 2005-2019 HörTech gGmbH, Oldenburg
5.144 mha_complex_t Struct Reference 431
5.144 mha_complex_t Struct Reference
Type for complex floating point values.
Public Attributes
mha_real_t re
Real part.
mha_real_t im
Imaginary part.
5.144.1 Detailed Description
Type for complex floating point values.
5.144.2 Member Data Documentation
5.144.2.1 mha_real_t mha_complex_t::re
Real part.
5.144.2.2 mha_real_t mha_complex_t::im
Imaginary part.
The documentation for this struct was generated from the following file:
mha.hh
5.145 mha_complex_test_array_t Struct Reference
Several places in MHA rely on the fact that you can cast an array of mha_complex_t (p. 431)
c[] to an array of mha_real_t r[] with r[0] == c[0].re r[1] == c[0].im r[2] == c[1].re ...
Public Attributes
mha_complex_t c [2]
© 2005-2019 HörTech gGmbH, Oldenburg
432 CONTENTS
5.145.1 Detailed Description
Several places in MHA rely on the fact that you can cast an array of mha_complex_t (p. 431)
c[] to an array of mha_real_t r[] with r[0] == c[0].re r[1] == c[0].im r[2] == c[1].re ...
Check these expectations in static asserts.
5.145.2 Member Data Documentation
5.145.2.1 mha_complex_t mha_complex_test_array_t::c[2]
The documentation for this struct was generated from the following file:
mha.hh
5.146 mha_dblbuf_t<FIFO >Class Template Reference
The doublebuffer adapts blocksizes between an outer process, which provides input data and
takes output data, and an inner process, which processes the input signal and generates output
data using a different block size than the outer process.
Public Types
typedef FIFO::value_type value_type
The datatype exchanged by the FIFO and this doublebuffer.
Public Member Functions
virtual unsigned get_inner_size () const
virtual unsigned get_outer_size () const
virtual unsigned get_delay () const
virtual unsigned get_fifo_size () const
virtual unsigned get_input_channels () const
virtual unsigned get_output_channels () const
virtual unsigned get_input_fifo_fill_count () const
virtual unsigned get_output_fifo_fill_count () const
virtual unsigned get_input_fifo_space () const
virtual unsigned get_output_fifo_space () const
virtual MHA_Error get_inner_error () const
virtual void provoke_inner_error (const MHA_Error &)
virtual void provoke_outer_error (const MHA_Error &)
© 2005-2019 HörTech gGmbH, Oldenburg
5.146 mha_dblbuf_t<FIFO >Class Template Reference 433
mha_dblbuf_t (unsigned outer_size, unsigned inner_size, unsigned delay, unsigned
input_channels, unsigned output_channels, const value_type &delay_data)
Constructor creates FIFOs with specified delay.
virtual mha_dblbuf_t ()
virtual void process (const value_type input_signal, value_type output_signal, un-
signed count)
The outer process has to call this method to propagate the input signal to the inner process,
and receives back the output signal.
virtual void input (value_type input_signal)
The inner process has to call this method to receive its input signal.
virtual void output (const value_type output_signal)
The outer process has to call this method to deliver its output signal.
Private Attributes
unsigned outer_size
The block size used by the outer process.
unsigned inner_size
The block size used by the inner process.
unsigned delay
The delay introduced by bidirectional buffer size adaptation.
unsigned fifo_size
The size of each of the FIFOs.
unsigned input_channels
The number of input channels.
unsigned output_channels
The number of output channels.
FIFO input_fifo
The FIFO for transporting the input signal from the outer process to the inner process.
FIFO output_fifo
The FIFO for transporting the output signal from the inner process to the outer process.
MHA_Error inner_error
Owned copy of exception to be thrown in inner thread.
MHA_Error outer_error
Owned copy of exception to be thrown in outer thread.
5.146.1 Detailed Description
template<class FIFO>
class mha_dblbuf_t<FIFO >
The doublebuffer adapts blocksizes between an outer process, which provides input data and
takes output data, and an inner process, which processes the input signal and generates output
data using a different block size than the outer process.
This class introduces the channels concept. Input and output may have different channel
counts.
© 2005-2019 HörTech gGmbH, Oldenburg
434 CONTENTS
5.146.2 Member Typedef Documentation
5.146.2.1 template<class FIFO >typedef FIFO::value_type mha_dblbuf_t<FIFO >::value_type
The datatype exchanged by the FIFO and this doublebuffer.
5.146.3 Constructor & Destructor Documentation
5.146.3.1 template<class FIFO >mha_dblbuf_t<FIFO >::mha_dblbuf_t (
unsigned outer_size,
unsigned inner_size,
unsigned delay,
unsigned input_channels,
unsigned output_channels,
const value_type &delay_data )
Constructor creates FIFOs with specified delay.
Warning
The doublebuffer may block or raise an exception if the delay is too small. To avoid this,
the delay should be
delay >= (inner_size gcd(inner_size, outer_size))
.
Parameters
outer_size The block size used by the outer process.
inner_size The block size used by the inner process.
delay The total delay
input_channels Number of input channels
output_channels Number of output channels
delay_data The delay consists of copies of this value.
5.146.3.2 template<class FIFO >mha_dblbuf_t<FIFO >::mha_dblbuf_t ( ) [virtual]
5.146.4 Member Function Documentation
5.146.4.1 template<class FIFO >virtual unsigned mha_dblbuf_t<FIFO >::get_inner_size ( ) const
[inline],[virtual]
© 2005-2019 HörTech gGmbH, Oldenburg
5.146 mha_dblbuf_t<FIFO >Class Template Reference 435
5.146.4.2 template<class FIFO >virtual unsigned mha_dblbuf_t<FIFO >::get_outer_size ( ) const
[inline],[virtual]
5.146.4.3 template<class FIFO >virtual unsigned mha_dblbuf_t<FIFO >::get_delay ( ) const
[inline],[virtual]
5.146.4.4 template<class FIFO >virtual unsigned mha_dblbuf_t<FIFO >::get_fifo_size ( ) const
[inline],[virtual]
5.146.4.5 template<class FIFO >virtual unsigned mha_dblbuf_t<FIFO >::get_input_channels ( )
const [inline],[virtual]
5.146.4.6 template<class FIFO >virtual unsigned mha_dblbuf_t<FIFO >::get_output_channels ( )
const [inline],[virtual]
5.146.4.7 template<class FIFO >virtual unsigned mha_dblbuf_t<FIFO >::get_input_fifo_fill_count (
) const [inline],[virtual]
5.146.4.8 template<class FIFO >virtual unsigned mha_dblbuf_t<FIFO >::get_output_fifo_fill_count
( ) const [inline],[virtual]
5.146.4.9 template<class FIFO >virtual unsigned mha_dblbuf_t<FIFO >::get_input_fifo_space ( )
const [inline],[virtual]
5.146.4.10 template<class FIFO >virtual unsigned mha_dblbuf_t<FIFO >::get_output_fifo_space (
) const [inline],[virtual]
5.146.4.11 template<class FIFO >virtual MHA_Errormha_dblbuf_t<FIFO >::get_inner_error (
) const [inline],[virtual]
5.146.4.12 template<class FIFO >void mha_dblbuf_t<FIFO >::provoke_inner_error (
const MHA_Error &error )[virtual]
5.146.4.13 template<class FIFO >void mha_dblbuf_t<FIFO >::provoke_outer_error (
const MHA_Error &error )[virtual]
5.146.4.14 template<class FIFO >void mha_dblbuf_t<FIFO >::process (
const value_type input_signal,
value_type output_signal,
unsigned count )[virtual]
The outer process has to call this method to propagate the input signal to the inner process,
and receives back the output signal.
© 2005-2019 HörTech gGmbH, Oldenburg
436 CONTENTS
Parameters
input_signal Pointer to the input signal array.
output_signal Pointer to the output signal array.
count The number of data instances provided and expected, lower or equal to
inner_size given to constructor.
Exceptions
MHA_Error (p. 445)When count is >outer_size as given to constructor or the underlying
fifo implementation detects an error.
5.146.4.15 template<class FIFO >void mha_dblbuf_t<FIFO >::input (
value_type input_signal )[virtual]
The inner process has to call this method to receive its input signal.
Parameters
input_signal Array where the doublebuffer can store the signal.
Exceptions
MHA_Error (p. 445)When the underlying fifo implementation detects an error.
5.146.4.16 template<class FIFO >void mha_dblbuf_t<FIFO >::output (
const value_type output_signal )[virtual]
The outer process has to call this method to deliver its output signal.
Parameters
output_signal Array from which doublebuffer reads outputsignal.
Exceptions
MHA_Error (p. 445)When the underlying fifo implementation detects an error.
5.146.5 Member Data Documentation
© 2005-2019 HörTech gGmbH, Oldenburg
5.146 mha_dblbuf_t<FIFO >Class Template Reference 437
5.146.5.1 template<class FIFO >unsigned mha_dblbuf_t<FIFO >::outer_size [private]
The block size used by the outer process.
5.146.5.2 template<class FIFO >unsigned mha_dblbuf_t<FIFO >::inner_size [private]
The block size used by the inner process.
5.146.5.3 template<class FIFO >unsigned mha_dblbuf_t<FIFO >::delay [private]
The delay introduced by bidirectional buffer size adaptation.
5.146.5.4 template<class FIFO >unsigned mha_dblbuf_t<FIFO >::fifo_size [private]
The size of each of the FIFOs.
5.146.5.5 template<class FIFO >unsigned mha_dblbuf_t<FIFO >::input_channels [private]
The number of input channels.
5.146.5.6 template<class FIFO >unsigned mha_dblbuf_t<FIFO >::output_channels [private]
The number of output channels.
5.146.5.7 template<class FIFO >FIFO mha_dblbuf_t<FIFO >::input_fifo [private]
The FIFO for transporting the input signal from the outer process to the inner process.
5.146.5.8 template<class FIFO >FIFO mha_dblbuf_t<FIFO >::output_fifo [private]
The FIFO for transporting the output signal from the inner process to the outer process.
5.146.5.9 template<class FIFO >MHA_Errormha_dblbuf_t<FIFO >::inner_error [private]
Owned copy of exception to be thrown in inner thread.
5.146.5.10 template<class FIFO >MHA_Errormha_dblbuf_t<FIFO >::outer_error
[private]
Owned copy of exception to be thrown in outer thread.
The documentation for this class was generated from the following files:
mha_fifo.h
mha_fifo.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
438 CONTENTS
5.147 mha_direction_t Struct Reference
Channel source direction structure.
Public Attributes
mha_real_t azimuth
azimuth in radiants
mha_real_t elevation
elevation in radiants
mha_real_t distance
distance in meters
5.147.1 Detailed Description
Channel source direction structure.
5.147.2 Member Data Documentation
5.147.2.1 mha_real_t mha_direction_t::azimuth
azimuth in radiants
5.147.2.2 mha_real_t mha_direction_t::elevation
elevation in radiants
5.147.2.3 mha_real_t mha_direction_t::distance
distance in meters
The documentation for this struct was generated from the following file:
mha.hh
© 2005-2019 HörTech gGmbH, Oldenburg
5.148 mha_drifter_fifo_t<T>Class Template Reference 439
5.148 mha_drifter_fifo_t<T>Class Template Reference
A FIFO class for blocksize adaptation without Synchronization.
Inheritance diagram for mha_drifter_fifo_t<T>:
mha_drifter_fifo_t< T >
mha_fifo_t< T >
Public Member Functions
virtual void write (const T data, unsigned count)
write data to fifo
virtual void read (T buf, unsigned count)
Read data from fifo.
virtual unsigned get_fill_count () const
Return fill_count, adding mha_drifter_fifo_t<T>::startup_zeros (p. 445) to the number of
samples actually in the fifo's buffer.
virtual unsigned get_available_space () const
Return available space, subtracting number of mha_drifter_fifo_t<T>::startup_zeros
(p. 445) from the available_space actually present in the fifo's buffer.
virtual unsigned get_des_fill_count () const
The desired fill count of this fifo.
virtual unsigned get_min_fill_count () const
The minimum fill count of this fifo.
virtual void stop ()
Called by mha_drifter_fifo_t<T>::read (p. 441) or mha_drifter_fifo_t<T>::write (p. 441)
when their xrun in succession counter exceeds its limit.
virtual void starting ()
Called by mha_drifter_fifo_t<T>::read (p. 441) or mha_drifter_fifo_t<T>::write (p. 441)
when the respective flag (mha_drifter_fifo_t<T>::reader_started (p. 443) or mha_drifter-
_fifo_t<T>::writer_started (p. 443)) is about to be toggled from false to true.
mha_drifter_fifo_t (unsigned min_fill_count, unsigned desired_fill_count, unsigned
max_fill_count)
Create drifter FIFO.
mha_drifter_fifo_t (unsigned min_fill_count, unsigned desired_fill_count, unsigned
max_fill_count, const T &t)
Create drifter FIFO where all (initially unused) copies of T are initialized as copies of t.
© 2005-2019 HörTech gGmbH, Oldenburg
440 CONTENTS
Private Attributes
const unsigned minimum_fill_count
The minimum fill count of this fifo.
const unsigned desired_fill_count
The desired fill count of the fifo.
bool writer_started
Flag set to true when write is called the first time.
bool reader_started
Flag set to true when read is called for the first time.
unsigned writer_xruns_total
The number of xruns seen by the writer since object instantiation.
unsigned reader_xruns_total
The number of xruns seen by the reader since object instantiation.
unsigned writer_xruns_since_start
The number of xruns seen by the writer since the last start of processing.
unsigned reader_xruns_since_start
The number of xruns seen by the reader since the last start of processing.
unsigned writer_xruns_in_succession
The number of xruns seen by the writer in succession.
unsigned reader_xruns_in_succession
The number of xruns seen by the reader in succession.
unsigned maximum_writer_xruns_in_succession_before_stop
A limit to the number of xruns seen in succession during write before the data transmission
through the FIFO is stopped.
unsigned maximum_reader_xruns_in_succession_before_stop
A limit to the number of xruns seen in succession during read before the data transmission
through the FIFO is stopped.
mha_fifo_t<T>::value_type null_data
The value used in place of missing data.
unsigned startup_zeros
When processing starts, that is when both mha_drifter_fifo_t<T>::reader_started (p. 443)
and mha_drifter_fifo_t<T>::writer_started (p. 443) are true, then first mha_drifter_fifo-
_t<T>::desired_fill_count (p. 443) instances of mha_drifter_fifo_t<T>::null_data (p. 444)
are delivered to the reader.
Additional Inherited Members
5.148.1 Detailed Description
template<class T>
class mha_drifter_fifo_t<T>
A FIFO class for blocksize adaptation without Synchronization.
Features: delay concept (desired, minimum and maximum delay), drifting support by throwing
away data or inserting zeroes.
© 2005-2019 HörTech gGmbH, Oldenburg
5.148 mha_drifter_fifo_t<T>Class Template Reference 441
5.148.2 Constructor & Destructor Documentation
5.148.2.1 template<class T >mha_drifter_fifo_t<T>::mha_drifter_fifo_t (
unsigned min_fill_count,
unsigned desired_fill_count,
unsigned max_fill_count )
Create drifter FIFO.
5.148.2.2 template<class T >mha_drifter_fifo_t<T>::mha_drifter_fifo_t (
unsigned min_fill_count,
unsigned desired_fill_count,
unsigned max_fill_count,
const T & t)
Create drifter FIFO where all (initially unused) copies of T are initialized as copies of t.
5.148.3 Member Function Documentation
5.148.3.1 template<class T >void mha_drifter_fifo_t<T>::write (
const T data,
unsigned count )[virtual]
write data to fifo
Sets writer_started (p. 443) to true.
When processing has started, i.e. both reader_started (p. 443) and writer_started (p. 443)
are true, write specified ammount of data to the fifo. If there is not enough space available, then
the exceeding data is lost and the writer xrun counters are increased.
Processing is stopped when writer_xruns_in_succession (p. 444) exceeds maximum_-
writer_xruns_in_succession_before_stop (p. 444).
Parameters
data Pointer to source data.
count Number of instances to copy
Reimplemented from mha_fifo_t<T>(p. 454).
5.148.3.2 template<class T >void mha_drifter_fifo_t<T>::read (
Tbuf,
unsigned count )[virtual]
Read data from fifo.
© 2005-2019 HörTech gGmbH, Oldenburg
442 CONTENTS
Sets reader_started (p. 443) to true.
When processing has started, i.e. both reader_started (p. 443) and writer_started (p. 443)
are true, then read specified ammount of data from the fifo. As long as startup_zeros (p. 445)
is >0, null_data (p. 444) is delivered to the reader and startup_zeros (p. 445) is diminished.
Only when startup_zeros (p. 445) has reached 0, data is actually read from the fifo's buffer.
If the read would cause the fifo's fill count to drop below minimum_fill_count (p. 443), then
only so much data are read that minimum_fill_count (p. 443) entries remain in the fifo, the
missing data is replaced with null_data (p. 444), and the reader xrun counters are increased.
Processing is stopped when reader_xruns_in_succession (p. 444) exceeds maximum_-
reader_xruns_in_succession_before_stop (p. 444).
Parameters
buf Pointer to the target buffer
count Number of instances to copy
Reimplemented from mha_fifo_t<T>(p. 455).
5.148.3.3 template<class T >unsigned mha_drifter_fifo_t<T>::get_fill_count ( ) const
[virtual]
Return fill_count, adding mha_drifter_fifo_t<T>::startup_zeros (p. 445) to the number of
samples actually in the fifo's buffer.
Reimplemented from mha_fifo_t<T>(p. 455).
5.148.3.4 template<class T >unsigned mha_drifter_fifo_t<T>::get_available_space ( ) const
[virtual]
Return available space, subtracting number of mha_drifter_fifo_t<T>::startup_zeros
(p. 445) from the available_space actually present in the fifo's buffer.
TODO: uncertain if this is a good idea.
Reimplemented from mha_fifo_t<T>(p. 455).
5.148.3.5 template<class T >virtual unsigned mha_drifter_fifo_t<T>::get_des_fill_count ( )
const [inline],[virtual]
The desired fill count of this fifo.
5.148.3.6 template<class T >virtual unsigned mha_drifter_fifo_t<T>::get_min_fill_count ( )
const [inline],[virtual]
The minimum fill count of this fifo.
© 2005-2019 HörTech gGmbH, Oldenburg
5.148 mha_drifter_fifo_t<T>Class Template Reference 443
5.148.3.7 template<class T >void mha_drifter_fifo_t<T>::stop ( ) [virtual]
Called by mha_drifter_fifo_t<T>::read (p. 441) or mha_drifter_fifo_t<T>::write (p. 441)
when their xrun in succession counter exceeds its limit.
Called by read (p. 441) or write (p. 441) when their xrun in succession counter exceeds its limit.
May also be called explicitly.
5.148.3.8 template<class T >void mha_drifter_fifo_t<T>::starting ( ) [virtual]
Called by mha_drifter_fifo_t<T>::read (p. 441) or mha_drifter_fifo_t<T>::write (p. 441)
when the respective flag (mha_drifter_fifo_t<T>::reader_started (p. 443) or mha_drifter_-
fifo_t<T>::writer_started (p. 443)) is about to be toggled from false to true.
The fifo's buffer is emptied, this method resets startup_zeros (p. 445) to desired_fill_count
(p. 443), and it also resets reader_xruns_since_start (p. 444) and writer_xruns_since_start
(p. 444) to 0.
5.148.4 Member Data Documentation
5.148.4.1 template<class T >const unsigned mha_drifter_fifo_t<T>::minimum_fill_count
[private]
The minimum fill count of this fifo.
5.148.4.2 template<class T >const unsigned mha_drifter_fifo_t<T>::desired_fill_count
[private]
The desired fill count of the fifo.
The fifo is initialized with this ammount of data when data transmission starts.
5.148.4.3 template<class T >bool mha_drifter_fifo_t<T>::writer_started [private]
Flag set to true when write is called the first time.
5.148.4.4 template<class T >bool mha_drifter_fifo_t<T>::reader_started [private]
Flag set to true when read is called for the first time.
5.148.4.5 template<class T >unsigned mha_drifter_fifo_t<T>::writer_xruns_total [private]
The number of xruns seen by the writer since object instantiation.
© 2005-2019 HörTech gGmbH, Oldenburg
444 CONTENTS
5.148.4.6 template<class T >unsigned mha_drifter_fifo_t<T>::reader_xruns_total [private]
The number of xruns seen by the reader since object instantiation.
5.148.4.7 template<class T >unsigned mha_drifter_fifo_t<T>::writer_xruns_since_start
[private]
The number of xruns seen by the writer since the last start of processing.
5.148.4.8 template<class T >unsigned mha_drifter_fifo_t<T>::reader_xruns_since_start
[private]
The number of xruns seen by the reader since the last start of processing.
5.148.4.9 template<class T >unsigned mha_drifter_fifo_t<T>::writer_xruns_in_succession
[private]
The number of xruns seen by the writer in succession.
Reset to 0 every time a write succeeds without xrun.
5.148.4.10 template<class T >unsigned mha_drifter_fifo_t<T>::reader_xruns_in_succession
[private]
The number of xruns seen by the reader in succession.
Reset to 0 every time a read succeeds without xrun.
5.148.4.11 template<class T >unsigned mha_drifter_fifo_t<T>::maximum_writer_xruns_in_-
succession_before_stop [private]
A limit to the number of xruns seen in succession during write before the data transmission
through the FIFO is stopped.
5.148.4.12 template<class T >unsigned mha_drifter_fifo_t<T>::maximum_reader_xruns_in_-
succession_before_stop [private]
A limit to the number of xruns seen in succession during read before the data transmission
through the FIFO is stopped.
5.148.4.13 template<class T >mha_fifo_t<T>::value_type mha_drifter_fifo_t<T>::null_data
[private]
The value used in place of missing data.
© 2005-2019 HörTech gGmbH, Oldenburg
5.149 MHA_Error Class Reference 445
5.148.4.14 template<class T >unsigned mha_drifter_fifo_t<T>::startup_zeros [private]
When processing starts, that is when both mha_drifter_fifo_t<T>::reader_started (p. 443)
and mha_drifter_fifo_t<T>::writer_started (p. 443) are true, then first mha_drifter_fifo_t<-
T>::desired_fill_count (p. 443) instances of mha_drifter_fifo_t<T>::null_data (p. 444) are
delivered to the reader.
These null_data (p. 444) instances are not transmitted through the fifo because filling the fifo
with enough null_data (p. 444) might not be realtime safe and this filling has to be initiated by
starting (p. 443) or stop (p. 443) (this implementation: starting (p. 443)) which are be called
with realtime constraints.
The documentation for this class was generated from the following file:
mha_fifo.h
5.149 MHA_Error Class Reference
Error reporting exception class.
Inherits exception.
Public Member Functions
MHA_Error (const char file, int line, const char fmt,...)
Create an instance of a MHA_Error (p. 445).
MHA_Error (const MHA_Error &)
MHA_Error &operator= (const MHA_Error &)
MHA_Error () throw ()
const char get_msg () const
Return the error message without source position.
const char get_longmsg () const
Return the error message with source position.
const char what () const throw ()
overwrite std::execption::what()
Private Attributes
char msg
char longmsg
© 2005-2019 HörTech gGmbH, Oldenburg
446 CONTENTS
5.149.1 Detailed Description
Error reporting exception class.
This class is used for error handling in the openMHA. It is used by the openMHA kernel and by
the openMHA toolbox library. Please note that exceptions should not be used accross ANSI-C
interfaces. It is necessary to catch exceptions within the library.
The MHA_Error (p. 445) class holds source file name, line number and an error message.
5.149.2 Constructor & Destructor Documentation
5.149.2.1 MHA_Error::MHA_Error (
const char s_file,
int l,
const char fmt,
... )
Create an instance of a MHA_Error (p. 445).
Parameters
s_file source file name (FILE)
lsource line (LINE)
fmt format string for error message (as in printf)
5.149.2.2 MHA_Error::MHA_Error (
const MHA_Error &p)
5.149.2.3 MHA_Error::MHA_Error ( ) throw )
5.149.3 Member Function Documentation
5.149.3.1 MHA_Error & MHA_Error::operator= (
const MHA_Error &p)
5.149.3.2 const charMHA_Error::get_msg ( ) const [inline]
Return the error message without source position.
5.149.3.3 const charMHA_Error::get_longmsg ( ) const [inline]
Return the error message with source position.
© 2005-2019 HörTech gGmbH, Oldenburg
5.150 mha_fifo_lw_t<T>Class Template Reference 447
5.149.3.4 const charMHA_Error::what ( ) const throw ) [inline]
overwrite std::execption::what()
5.149.4 Member Data Documentation
5.149.4.1 charMHA_Error::msg [private]
5.149.4.2 charMHA_Error::longmsg [private]
The documentation for this class was generated from the following files:
mha_error.hh
mha_error.cpp
5.150 mha_fifo_lw_t<T>Class Template Reference
This FIFO uses locks to synchronize access.
Inheritance diagram for mha_fifo_lw_t<T>:
mha_fifo_lw_t< T >
mha_fifo_t< T >
Public Member Functions
virtual void write (const T data, unsigned count)
write specified ammount of data to the fifo.
virtual void read (T buf, unsigned count)
read data from fifo.
mha_fifo_lw_t (unsigned max_fill_count)
Create FIFO with fixed buffer size.
virtual mha_fifo_lw_t ()
release synchronization object
virtual void set_error (unsigned index, MHA_Error error)
Process waiting for more data or space should bail out, throwing this error.
© 2005-2019 HörTech gGmbH, Oldenburg
448 CONTENTS
Private Attributes
mha_fifo_thread_platform_t sync
platform specific thread synchronization
MHA_Error error [2]
If waiting for synchronization should be aborted then exception to be thrown by reader process
(index 0) or writer process (index 1) has to be placed here.
Additional Inherited Members
5.150.1 Detailed Description
template<class T>
class mha_fifo_lw_t<T>
This FIFO uses locks to synchronize access.
Reading and writing can block until the operation can be executed.
5.150.2 Constructor & Destructor Documentation
5.150.2.1 template<class T >mha_fifo_lw_t<T>::mha_fifo_lw_t (
unsigned max_fill_count )[explicit]
Create FIFO with fixed buffer size.
5.150.2.2 template<class T >mha_fifo_lw_t<T>::mha_fifo_lw_t ( ) [virtual]
release synchronization object
5.150.3 Member Function Documentation
5.150.3.1 template<class T >void mha_fifo_lw_t<T>::write (
const T data,
unsigned count )[virtual]
write specified ammount of data to the fifo.
If there is not enough space, then wait for more space.
© 2005-2019 HörTech gGmbH, Oldenburg
5.150 mha_fifo_lw_t<T>Class Template Reference 449
Parameters
data Pointer to source data.
count Number of instances to copy.
Exceptions
MHA_Error (p. 445)when detecting a deadlock situation.
Reimplemented from mha_fifo_t<T>(p. 454).
5.150.3.2 template<class T >void mha_fifo_lw_t<T>::read (
Tbuf,
unsigned count )[virtual]
read data from fifo.
If there is not enough data, then wait for more data.
Parameters
buf Pointer to the target buffer.
count Number of instances to copy.
Exceptions
MHA_Error (p. 445)when detecting a deadlock situation.
Reimplemented from mha_fifo_t<T>(p. 455).
5.150.3.3 template<class T >void mha_fifo_lw_t<T>::set_error (
unsigned index,
MHA_Error error )[virtual]
Process waiting for more data or space should bail out, throwing this error.
Parameters
index Use 0 for terminating reader, 1 for terminating writer.
error MHA_Error (p. 445) to be thrown
5.150.4 Member Data Documentation
© 2005-2019 HörTech gGmbH, Oldenburg
450 CONTENTS
5.150.4.1 template<class T >mha_fifo_thread_platform_tmha_fifo_lw_t<T>::sync
[private]
platform specific thread synchronization
5.150.4.2 template<class T >MHA_Errormha_fifo_lw_t<T>::error[2] [private]
If waiting for synchronization should be aborted then exception to be thrown by reader process
(index 0) or writer process (index 1) has to be placed here.
The documentation for this class was generated from the following files:
mha_fifo.h
mha_fifo.cpp
5.151 mha_fifo_posix_threads_t Class Reference
Inheritance diagram for mha_fifo_posix_threads_t:
mha_fifo_posix_threads_t
mha_fifo_thread_platform_t
Public Member Functions
mha_fifo_posix_threads_t ()
virtual void aquire_mutex ()
virtual void release_mutex ()
virtual void wait_for_decrease ()
virtual void wait_for_increase ()
virtual void increment ()
virtual void decrement ()
virtual mha_fifo_posix_threads_t ()
© 2005-2019 HörTech gGmbH, Oldenburg
5.151 mha_fifo_posix_threads_t Class Reference 451
Private Attributes
pthread_mutex_t mutex
pthread_cond_t decrease_condition
pthread_cond_t increase_condition
5.151.1 Constructor & Destructor Documentation
5.151.1.1 mha_fifo_posix_threads_t::mha_fifo_posix_threads_t ( ) [inline]
5.151.1.2 virtual mha_fifo_posix_threads_t::mha_fifo_posix_threads_t ( ) [inline],
[virtual]
5.151.2 Member Function Documentation
5.151.2.1 virtual void mha_fifo_posix_threads_t::aquire_mutex ( ) [inline],[virtual]
Implements mha_fifo_thread_platform_t (p. 459).
5.151.2.2 virtual void mha_fifo_posix_threads_t::release_mutex ( ) [inline],[virtual]
Implements mha_fifo_thread_platform_t (p. 459).
5.151.2.3 virtual void mha_fifo_posix_threads_t::wait_for_decrease ( ) [inline],[virtual]
Implements mha_fifo_thread_platform_t (p. 459).
5.151.2.4 virtual void mha_fifo_posix_threads_t::wait_for_increase ( ) [inline],[virtual]
Implements mha_fifo_thread_platform_t (p. 459).
5.151.2.5 virtual void mha_fifo_posix_threads_t::increment ( ) [inline],[virtual]
Implements mha_fifo_thread_platform_t (p. 459).
5.151.2.6 virtual void mha_fifo_posix_threads_t::decrement ( ) [inline],[virtual]
Implements mha_fifo_thread_platform_t (p. 460).
© 2005-2019 HörTech gGmbH, Oldenburg
452 CONTENTS
5.151.3 Member Data Documentation
5.151.3.1 pthread_mutex_t mha_fifo_posix_threads_t::mutex [private]
5.151.3.2 pthread_cond_t mha_fifo_posix_threads_t::decrease_condition [private]
5.151.3.3 pthread_cond_t mha_fifo_posix_threads_t::increase_condition [private]
The documentation for this class was generated from the following file:
mha_fifo.h
5.152 mha_fifo_t<T>Class Template Reference
A FIFO class for blocksize adaptation Synchronization: None.
Inheritance diagram for mha_fifo_t<T>:
mha_fifo_t< T >
mha_drifter_fifo_t< T > mha_fifo_lw_t< T >
Public Types
typedef T value_type
The data type exchanged by this fifo.
© 2005-2019 HörTech gGmbH, Oldenburg
5.152 mha_fifo_t<T>Class Template Reference 453
Public Member Functions
virtual void write (const T data, unsigned count)
write specified ammount of data to the fifo.
virtual void read (T buf, unsigned count)
read data from fifo
virtual unsigned get_fill_count () const
Read-only access to fill_count.
virtual unsigned get_available_space () const
Read-only access to available_space.
virtual unsigned get_max_fill_count () const
The capacity of this fifo.
mha_fifo_t (unsigned max_fill_count)
Create FIFO with fixed buffer size.
mha_fifo_t (unsigned max_fill_count, const T &t)
Create FIFO with fixed buffer size, where all (initially unused) copies of T are initialized as
copies of t.
mha_fifo_t (const mha_fifo_t &src)
Copy constructor.
virtual mha_fifo_t ()
Destroy FIFO.
mha_fifo_t<T>&operator= (const mha_fifo_t<T>&)
Assignment operator.
Protected Member Functions
void clear ()
Empty the fifo at once.
Private Attributes
const unsigned max_fill_count
The maximum fill count of this FIFO.
T buf
The memory allocated to store the data.
T write_ptr
points to location where to write next
const T read_ptr
points to location where to read next
bool buf_uses_placement_new
wether buf was allocated using placement new or array new.
© 2005-2019 HörTech gGmbH, Oldenburg
454 CONTENTS
5.152.1 Detailed Description
template<class T>
class mha_fifo_t<T>
A FIFO class for blocksize adaptation Synchronization: None.
Use external synchronisation or synchronization in inheriting class.
5.152.2 Member Typedef Documentation
5.152.2.1 template<class T>typedef T mha_fifo_t<T>::value_type
The data type exchanged by this fifo.
5.152.3 Constructor & Destructor Documentation
5.152.3.1 template<class T >mha_fifo_t<T>::mha_fifo_t (
unsigned max_fill_count )[explicit]
Create FIFO with fixed buffer size.
5.152.3.2 template<class T>mha_fifo_t<T>::mha_fifo_t (
unsigned max_fill_count,
const T & t)
Create FIFO with fixed buffer size, where all (initially unused) copies of T are initialized as
copies of t.
5.152.3.3 template<class T>mha_fifo_t<T>::mha_fifo_t (
const mha_fifo_t<T>&src )
Copy constructor.
5.152.3.4 template<class T >mha_fifo_t<T>::mha_fifo_t ( ) [virtual]
Destroy FIFO.
5.152.4 Member Function Documentation
5.152.4.1 template<class T>void mha_fifo_t<T>::write (
const T data,
unsigned count )[virtual]
write specified ammount of data to the fifo.
© 2005-2019 HörTech gGmbH, Oldenburg
5.152 mha_fifo_t<T>Class Template Reference 455
Parameters
data Pointer to source data.
count Number of instances to copy
Exceptions
MHA_Error (p. 445)when there is not enough space available.
Reimplemented in mha_fifo_lw_t<T>(p. 448), and mha_drifter_fifo_t<T>(p. 441).
5.152.4.2 template<class T>void mha_fifo_t<T>::read (
Tbuf,
unsigned count )[virtual]
read data from fifo
Parameters
buf Pointer to the target buffer
count Number of instances to copy
Exceptions
MHA_Error (p. 445)when there is not enough data available.
Reimplemented in mha_fifo_lw_t<T>(p. 449), and mha_drifter_fifo_t<T>(p. 441).
5.152.4.3 template<class T >unsigned mha_fifo_t<T>::get_fill_count ( ) const [virtual]
Read-only access to fill_count.
Reimplemented in mha_drifter_fifo_t<T>(p. 442).
5.152.4.4 template<class T >unsigned mha_fifo_t<T>::get_available_space ( ) const
[virtual]
Read-only access to available_space.
Reimplemented in mha_drifter_fifo_t<T>(p. 442).
5.152.4.5 template<class T>virtual unsigned mha_fifo_t<T>::get_max_fill_count ( ) const
[inline],[virtual]
The capacity of this fifo.
© 2005-2019 HörTech gGmbH, Oldenburg
456 CONTENTS
5.152.4.6 template<class T>mha_fifo_t<T>&mha_fifo_t<T>::operator= (
const mha_fifo_t<T>&src )
Assignment operator.
5.152.4.7 template<class T>void mha_fifo_t<T>::clear ( ) [inline],[protected]
Empty the fifo at once.
Should be called by the reader, or when the reader is inactive.
5.152.5 Member Data Documentation
5.152.5.1 template<class T>const unsigned mha_fifo_t<T>::max_fill_count [private]
The maximum fill count of this FIFO.
5.152.5.2 template<class T>Tmha_fifo_t<T>::buf [private]
The memory allocated to store the data.
max_fill_count + 1 locations are allocated: At least one location is always unused, because we
have max_fill_count + 1 possible fillcounts [0:max_fill_count] that we need to distinguish.
5.152.5.3 template<class T>Tmha_fifo_t<T>::write_ptr [private]
points to location where to write next
5.152.5.4 template<class T>const Tmha_fifo_t<T>::read_ptr [private]
points to location where to read next
5.152.5.5 template<class T>bool mha_fifo_t<T>::buf_uses_placement_new [private]
wether buf was allocated using placement new or array new.
The documentation for this class was generated from the following file:
mha_fifo.h
5.153 mha_fifo_thread_guard_t Class Reference
Simple Mutex Guard Class.
© 2005-2019 HörTech gGmbH, Oldenburg
5.154 mha_fifo_thread_platform_t Class Reference 457
Public Member Functions
mha_fifo_thread_guard_t (mha_fifo_thread_platform_t sync)
mha_fifo_thread_guard_t ()
Private Attributes
mha_fifo_thread_platform_t sync
5.153.1 Detailed Description
Simple Mutex Guard Class.
5.153.2 Constructor & Destructor Documentation
5.153.2.1 mha_fifo_thread_guard_t::mha_fifo_thread_guard_t (
mha_fifo_thread_platform_t sync )[inline]
5.153.2.2 mha_fifo_thread_guard_t::mha_fifo_thread_guard_t ( ) [inline]
5.153.3 Member Data Documentation
5.153.3.1 mha_fifo_thread_platform_tmha_fifo_thread_guard_t::sync [private]
The documentation for this class was generated from the following file:
mha_fifo.h
5.154 mha_fifo_thread_platform_t Class Reference
Abstract base class for synchronizing multithreaded (producer/consumer) fifo operations.
Inheritance diagram for mha_fifo_thread_platform_t:
mha_fifo_thread_platform_t
mha_fifo_posix_threads_t
© 2005-2019 HörTech gGmbH, Oldenburg
458 CONTENTS
Public Member Functions
virtual void aquire_mutex ()=0
Calling thread waits until it aquires the lock.
virtual void release_mutex ()=0
Calling thread releases the lock.
virtual void wait_for_decrease ()=0
Calling producer thread must own the lock.
virtual void wait_for_increase ()=0
Calling consumer thread must own the lock.
virtual void increment ()=0
To be called by producer thread after producing.
virtual void decrement ()=0
To be called by consumer thread after consuming.
virtual mha_fifo_thread_platform_t ()
Make destructor virtual.
mha_fifo_thread_platform_t ()
Make default constructor accessible.
Private Member Functions
mha_fifo_thread_platform_t (const mha_fifo_thread_platform_t &)
mha_fifo_thread_platform_t &operator= (const mha_fifo_thread_platform_t &)
5.154.1 Detailed Description
Abstract base class for synchronizing multithreaded (producer/consumer) fifo operations.
Works only with single producer and single consumer.
5.154.2 Constructor & Destructor Documentation
5.154.2.1 virtual mha_fifo_thread_platform_t::mha_fifo_thread_platform_t ( ) [inline],
[virtual]
Make destructor virtual.
5.154.2.2 mha_fifo_thread_platform_t::mha_fifo_thread_platform_t (
const mha_fifo_thread_platform_t & ) [private]
5.154.2.3 mha_fifo_thread_platform_t::mha_fifo_thread_platform_t ( ) [inline]
Make default constructor accessible.
© 2005-2019 HörTech gGmbH, Oldenburg
5.154 mha_fifo_thread_platform_t Class Reference 459
5.154.3 Member Function Documentation
5.154.3.1 virtual void mha_fifo_thread_platform_t::aquire_mutex ( ) [pure virtual]
Calling thread waits until it aquires the lock.
Must not be called when the lock is already aquired.
Implemented in mha_fifo_posix_threads_t (p. 451).
5.154.3.2 virtual void mha_fifo_thread_platform_t::release_mutex ( ) [pure virtual]
Calling thread releases the lock.
May only be called when lock is owned.
Implemented in mha_fifo_posix_threads_t (p. 451).
5.154.3.3 virtual void mha_fifo_thread_platform_t::wait_for_decrease ( ) [pure virtual]
Calling producer thread must own the lock.
Method releases lock, and waits for consumer thread to call decrease(). Then reaquires lock
and returns
Implemented in mha_fifo_posix_threads_t (p. 451).
5.154.3.4 virtual void mha_fifo_thread_platform_t::wait_for_increase ( ) [pure virtual]
Calling consumer thread must own the lock.
Method releases lock, and waits for producer thread to call increase(). Then reaquires lock and
returns
Implemented in mha_fifo_posix_threads_t (p. 451).
5.154.3.5 virtual void mha_fifo_thread_platform_t::increment ( ) [pure virtual]
To be called by producer thread after producing.
Producer thread needs to own the lock to call this method.
Implemented in mha_fifo_posix_threads_t (p. 451).
© 2005-2019 HörTech gGmbH, Oldenburg
460 CONTENTS
5.154.3.6 virtual void mha_fifo_thread_platform_t::decrement ( ) [pure virtual]
To be called by consumer thread after consuming.
Consumer thread needs to own the lock to call this method.
Implemented in mha_fifo_posix_threads_t (p. 451).
5.154.3.7 mha_fifo_thread_platform_t& mha_fifo_thread_platform_t::operator= (
const mha_fifo_thread_platform_t & ) [private]
The documentation for this class was generated from the following file:
mha_fifo.h
5.155 mha_real_test_array_t Struct Reference
Public Attributes
mha_real_t r [4]
5.155.1 Member Data Documentation
5.155.1.1 mha_real_t mha_real_test_array_t::r[4]
The documentation for this struct was generated from the following file:
mha.hh
5.156 mha_rt_fifo_element_t<T>Class Template Reference
Object wrapper for mha_rt_fifo_t (p. 462).
Public Member Functions
mha_rt_fifo_element_t (T data)
Constructor.
mha_rt_fifo_element_t ()
© 2005-2019 HörTech gGmbH, Oldenburg
5.156 mha_rt_fifo_element_t<T>Class Template Reference 461
Public Attributes
mha_rt_fifo_element_t<T>next
Pointer to next fifo element. NULL for the last (newest) fifo element.
bool abandonned
Indicates that this element will no longer be used and may be deleted.
T data
Pointer to user data.
5.156.1 Detailed Description
template<class T>
class mha_rt_fifo_element_t<T>
Object wrapper for mha_rt_fifo_t (p. 462).
5.156.2 Constructor & Destructor Documentation
5.156.2.1 template<class T >mha_rt_fifo_element_t<T>::mha_rt_fifo_element_t (
Tdata )[inline]
Constructor.
This element assumes ownership of user data.
Parameters
data User data. Has to be allocated on the heap with standard operator new, because it
will be deleted in this element's destructor.
5.156.2.2 template<class T >mha_rt_fifo_element_t<T>::mha_rt_fifo_element_t ( )
[inline]
5.156.3 Member Data Documentation
5.156.3.1 template<class T >mha_rt_fifo_element_t<T>mha_rt_fifo_element_t<T>::next
Pointer to next fifo element. NULL for the last (newest) fifo element.
5.156.3.2 template<class T >bool mha_rt_fifo_element_t<T>::abandonned
Indicates that this element will no longer be used and may be deleted.
© 2005-2019 HörTech gGmbH, Oldenburg
462 CONTENTS
5.156.3.3 template<class T >Tmha_rt_fifo_element_t<T>::data
Pointer to user data.
The documentation for this class was generated from the following file:
mha_fifo.h
5.157 mha_rt_fifo_t<T>Class Template Reference
Template class for thread safe, half real time safe fifo without explixit locks.
Public Member Functions
mha_rt_fifo_t ()
Construct empty fifo.
mha_rt_fifo_t ()
Destructor will delete all data currently in the fifo.
T poll ()
Retrieve the latest element in the Fifo.
T poll_1 ()
Retrieve the next element in the Fifo, if there is one, and mark the previous element as aban-
donned.
void push (T data)
Add element to the Fifo.
Private Member Functions
void remove_abandonned ()
Deletes abandonned elements.
void remove_all ()
Deletes all elements.
Private Attributes
mha_rt_fifo_element_t<T>root
The first element in the fifo. Deleting elements starts here.
mha_rt_fifo_element_t<T>current
The element most recently returned by poll (p. 463) or poll_1 (p. 464).
© 2005-2019 HörTech gGmbH, Oldenburg
5.157 mha_rt_fifo_t<T>Class Template Reference 463
5.157.1 Detailed Description
template<class T>
class mha_rt_fifo_t<T>
Template class for thread safe, half real time safe fifo without explixit locks.
Reading from this fifo is realtime safe, writing to it is not. This fifo is designed for objects that
were constructed on the heap. It assumes ownership of these objects and calls delete on them
when they are no longer used. Objects remain inside the Fifo while being used by the reader.
A new fifo element is inserted by using push (p. 464). The push operation is not real time safe,
it allocates and deallocates memory. The latest element is retrieved by calling poll (p. 463).
This operation will skip fifo elements if more than one push (p. 464) has been occured since
the last poll. To avoid skipping, call the poll_1 (p. 464) operation instead.
5.157.2 Constructor & Destructor Documentation
5.157.2.1 template<class T >mha_rt_fifo_t<T>::mha_rt_fifo_t ( ) [inline]
Construct empty fifo.
5.157.2.2 template<class T >mha_rt_fifo_t<T>::mha_rt_fifo_t ( ) [inline]
Destructor will delete all data currently in the fifo.
5.157.3 Member Function Documentation
5.157.3.1 template<class T >Tmha_rt_fifo_t<T>::poll ( ) [inline]
Retrieve the latest element in the Fifo.
Will skip fifo elements if more than one element has been added since last poll invocation. Will
return the same element as on last call if no elements have been added in the mean time.
Marks former elements as abandonned.
Returns
The latest element in this Fifo. Returns NULL if the Fifo is empty.
© 2005-2019 HörTech gGmbH, Oldenburg
464 CONTENTS
5.157.3.2 template<class T >Tmha_rt_fifo_t<T>::poll_1 ( ) [inline]
Retrieve the next element in the Fifo, if there is one, and mark the previous element as aban-
donned.
Else, if there is no newer element, returns the same element as on last poll() (p. 463) or poll_1()
(p. 464) invocation.
Returns
The next element in this Fifo, if there is one, or the same as before. Returns NULL if the
Fifo is empty.
5.157.3.3 template<class T >void mha_rt_fifo_t<T>::push (
Tdata )[inline]
Add element to the Fifo.
Deletes abandonned elements in the fifo.
Parameters
data The new user data to place at the end of the fifo. After this invocation, the fifo is the
owner of this object and will delete it when it is no longer used. data must have been
allocated on the heap with standard operator new.
5.157.3.4 template<class T >void mha_rt_fifo_t<T>::remove_abandonned ( ) [inline],
[private]
Deletes abandonned elements.
5.157.3.5 template<class T >void mha_rt_fifo_t<T>::remove_all ( ) [inline],[private]
Deletes all elements.
5.157.4 Member Data Documentation
5.157.4.1 template<class T >mha_rt_fifo_element_t<T>mha_rt_fifo_t<T>::root
[private]
The first element in the fifo. Deleting elements starts here.
© 2005-2019 HörTech gGmbH, Oldenburg
5.158 mha_spec_t Struct Reference 465
5.157.4.2 template<class T >mha_rt_fifo_element_t<T>mha_rt_fifo_t<T>::current
[private]
The element most recently returned by poll (p. 463) or poll_1 (p. 464).
Searching for new elements starts here.
The documentation for this class was generated from the following file:
mha_fifo.h
5.158 mha_spec_t Struct Reference
Spectrum signal structure.
Inheritance diagram for mha_spec_t:
mha_spec_t
MHASignal::spectrum_t
fshift_hilbert::hilbert
_shifter_t MHA_AC::spectrum_t
MHAMultiSrc::spectrum_t wave2spec_t
Public Attributes
mha_complex_t buf
signal buffer
unsigned int num_channels
number of channels
unsigned int num_frames
number of frames in each channel
mha_channel_info_t channel_info
detailed channel description
© 2005-2019 HörTech gGmbH, Oldenburg
466 CONTENTS
5.158.1 Detailed Description
Spectrum signal structure.
This structure contains the short time fourier transform output of the windowed input signal.
The member num_frames describes the number of frequency bins in each channel. For an
even FFT length N, this is N/2+1. With odd FFT lengths, it is (N+ 1)/2. The imaginary part
of the first bin is zero. For even FFT lengths, also the imaginary part at the Nyquist frequency
is zero.
buf[k].re Re(0) Re(1) Re(2) Re(3) Re(4) ... Re(n/2−1) Re(n/2)
buf[k].im Im(1) Im(2) Im(3) Im(4) ... Im(n/2−1)
k0 1 2 3 4 n/2−1 n/2
Figure 4 Data order of FFT spectrum.
5.158.2 Member Data Documentation
5.158.2.1 mha_complex_tmha_spec_t::buf
signal buffer
5.158.2.2 unsigned int mha_spec_t::num_channels
number of channels
5.158.2.3 unsigned int mha_spec_t::num_frames
number of frames in each channel
5.158.2.4 mha_channel_info_tmha_spec_t::channel_info
detailed channel description
The documentation for this struct was generated from the following file:
mha.hh
5.159 mha_stash_environment_variable_t Class Reference
This class changes the value of an environment variable when constructed and restores the
original state of the environment variable when destroyed.
© 2005-2019 HörTech gGmbH, Oldenburg
5.159 mha_stash_environment_variable_t Class Reference 467
Public Member Functions
mha_stash_environment_variable_t (const std::string &variable_name, const std-
::string &new_content)
mha_stash_environment_variable_t ()
Private Attributes
const bool existed_before
Flag indicates if the environment variable existed before constructor.
const std::string variable_name
Name of environment variable.
const std::string original_content
Content of environment variable before constructor executed.
5.159.1 Detailed Description
This class changes the value of an environment variable when constructed and restores the
original state of the environment variable when destroyed.
Can be used for testing functionality related to environment variables.
Todo Move to collection of unit-test support classes when we have one.
5.159.2 Constructor & Destructor Documentation
5.159.2.1 mha_stash_environment_variable_t::mha_stash_environment_variable_t (
const std::string & variable_name,
const std::string & new_content )[inline]
5.159.2.2 mha_stash_environment_variable_t::mha_stash_environment_variable_t ( ) [inline]
5.159.3 Member Data Documentation
5.159.3.1 const bool mha_stash_environment_variable_t::existed_before [private]
Flag indicates if the environment variable existed before constructor.
5.159.3.2 const std::string mha_stash_environment_variable_t::variable_name [private]
Name of environment variable.
© 2005-2019 HörTech gGmbH, Oldenburg
468 CONTENTS
5.159.3.3 const std::string mha_stash_environment_variable_t::original_content [private]
Content of environment variable before constructor executed.
The documentation for this class was generated from the following file:
mha_os.h
5.160 MHA_TCP::Async_Notify Class Reference
Portable Multiplexable cross-thread notification.
Inheritance diagram for MHA_TCP::Async_Notify:
MHA_TCP::Async_Notify
MHA_TCP::Wakeup_Event
Public Member Functions
Async_Notify ()
virtual void reset ()
virtual void set ()
virtual Async_Notify ()
Private Attributes
int pipe [2]
Additional Inherited Members
5.160.1 Detailed Description
Portable Multiplexable cross-thread notification.
© 2005-2019 HörTech gGmbH, Oldenburg
5.161 MHA_TCP::Client Class Reference 469
5.160.2 Constructor & Destructor Documentation
5.160.2.1 Async_Notify::Async_Notify ( )
5.160.2.2 Async_Notify::Async_Notify ( ) [virtual]
5.160.3 Member Function Documentation
5.160.3.1 void Async_Notify::reset ( ) [virtual]
Reimplemented from MHA_TCP::Wakeup_Event (p. 495).
5.160.3.2 void Async_Notify::set ( ) [virtual]
5.160.4 Member Data Documentation
5.160.4.1 int MHA_TCP::Async_Notify::pipe[2] [private]
The documentation for this class was generated from the following files:
mha_tcp.hh
mha_tcp.cpp
5.161 MHA_TCP::Client Class Reference
A portable class for a tcp client connections.
Inheritance diagram for MHA_TCP::Client:
MHA_TCP::Client
MHA_TCP::Connection
© 2005-2019 HörTech gGmbH, Oldenburg
470 CONTENTS
Public Member Functions
Client (const std::string &host, unsigned short port)
Constructor connects to host, port via TCP.
Client (const std::string &host, unsigned short port, Timeout_Watcher &timeout_-
watcher)
Constructor connects to host, port via TCP, using a timeout.
Additional Inherited Members
5.161.1 Detailed Description
A portable class for a tcp client connections.
5.161.2 Constructor & Destructor Documentation
5.161.2.1 Client::Client (
const std::string & host,
unsigned short port )
Constructor connects to host, port via TCP.
Parameters
host The hostname of the TCP Server (p. 481).
port The port or the TCP Server (p. 481).
5.161.2.2 Client::Client (
const std::string & host,
unsigned short port,
Timeout_Watcher &timeout_watcher )
Constructor connects to host, port via TCP, using a timeout.
Parameters
host The hostname of the TCP Server (p. 481).
port The port or the TCP Server (p. 481).
timeout_watcher an Event watcher that implements a timeout.
The documentation for this class was generated from the following files:
mha_tcp.hh
© 2005-2019 HörTech gGmbH, Oldenburg
5.162 MHA_TCP::Connection Class Reference 471
mha_tcp.cpp
5.162 MHA_TCP::Connection Class Reference
Connection (p. 471) handles Communication between client and server, is used on both sides.
Inheritance diagram for MHA_TCP::Connection:
MHA_TCP::Connection
MHA_TCP::Client
Public Member Functions
Sockread_Event get_read_event ()
Sockwrite_Event get_write_event ()
std::string get_peer_address ()
Get peer's IP Address.
unsigned short get_peer_port ()
Get peer's TCP port.
SOCKET get_fd () const
Return the (protected) file descriptor of the connection.
virtual Connection ()
Destructor closes the underlying file descriptor.
bool eof ()
Checks if the peer has closed the connection.
bool can_read_line (char delim= '\n')
Checks if a full line of text has arrived by now.
bool can_read_bytes (unsigned howmany)
Checks if the specified ammount of data can be read.
std::string read_line (char delim= '\n')
Reads a single line of data from the socket.
std::string read_bytes (unsigned howmany)
Reads the specified ammount of dat from the socket.
void try_write (const std::string &data="")
© 2005-2019 HörTech gGmbH, Oldenburg
472 CONTENTS
Adds data to the internal "outgoing" buffer, and then tries to write as much data from that buffer
to the socket as possible without blocking.
void write (const std::string &data="")
Adds data to the internal "outgoing" buffer, and then writes that that buffer to the socket, re-
gardless of blocking.
bool needs_write ()
Checks if the internal "outgoing" buffer contains data.
unsigned buffered_incoming_bytes () const
Returns the number of bytes in the internal "incoming" buffer.
unsigned buffered_outgoing_bytes () const
Returns the number of bytes in the internal "outgoing" buffer.
Protected Member Functions
Connection (SOCKET _fd)
Create a connection instance from a socket filedescriptor.
Protected Attributes
SOCKET fd
The file descriptor of the TCP Socket.
Private Member Functions
void init_peer_data ()
determine peer address and port
bool can_sysread ()
Determine wether at least 1 byte can be read without blocking.
bool can_syswrite ()
Determine wether at least 1 byte can be written without blocking.
std::string sysread (unsigned bytes)
Call the system's read function and try to read bytes.
std::string syswrite (const std::string &data)
Call the system's write function and try to write all characters in the string data.
Private Attributes
std::string outbuf
std::string inbuf
Sockread_Event read_event
Sockwrite_Event write_event
bool closed
struct sockaddr_in peer_addr
© 2005-2019 HörTech gGmbH, Oldenburg
5.162 MHA_TCP::Connection Class Reference 473
5.162.1 Detailed Description
Connection (p. 471) handles Communication between client and server, is used on both sides.
5.162.2 Constructor & Destructor Documentation
5.162.2.1 MHA_TCP::Connection::Connection (
SOCKET _fd )[protected]
Create a connection instance from a socket filedescriptor.
Parameters
-
_-
fd
The file descriptor of the TCP Socket. This file descriptor is closed again in the
destructor.
Exceptions
MHA_Error (p. 445)If the file descriptor is <0.
5.162.2.2 Connection::Connection ( ) [virtual]
Destructor closes the underlying file descriptor.
5.162.3 Member Function Documentation
5.162.3.1 void MHA_TCP::Connection::init_peer_data ( ) [private]
determine peer address and port
5.162.3.2 bool Connection::can_sysread ( ) [private]
Determine wether at least 1 byte can be read without blocking.
5.162.3.3 bool Connection::can_syswrite ( ) [private]
Determine wether at least 1 byte can be written without blocking.
5.162.3.4 std::string Connection::sysread (
unsigned bytes )[private]
Call the system's read function and try to read bytes.
This will block in a situation where can_sysread returns false.
© 2005-2019 HörTech gGmbH, Oldenburg
474 CONTENTS
Parameters
bytes The desired number of characters.
Returns
The characters read from the socket. The result may have fewer characters than specified
by bytes. If the result is an empty string, then the socket has been closed by the peer.
5.162.3.5 std::string Connection::syswrite (
const std::string & data )[private]
Call the system's write function and try to write all characters in the string data.
May write fewer characters, but will at least write one character.
Parameters
data A string of characters to write to the socket.
Returns
The rest of the characters that have not yet been written.
5.162.3.6 Sockread_Event Connection::get_read_event ( )
5.162.3.7 Sockwrite_Event Connection::get_write_event ( )
5.162.3.8 std::string Connection::get_peer_address ( )
Get peer's IP Address.
5.162.3.9 unsigned short Connection::get_peer_port ( )
Get peer's TCP port.
5.162.3.10 SOCKET MHA_TCP::Connection::get_fd ( ) const [inline]
Return the (protected) file descriptor of the connection.
Will be required for SSL.
© 2005-2019 HörTech gGmbH, Oldenburg
5.162 MHA_TCP::Connection Class Reference 475
5.162.3.11 bool Connection::eof ( )
Checks if the peer has closed the connection.
As a side effect, this method fills the internal "incoming" buffer if it was empty and the socket is
readable and not eof.
5.162.3.12 bool Connection::can_read_line (
char delim = '\n' )
Checks if a full line of text has arrived by now.
This method reads data from the socket into the internal "incoming" buffer if it can be done
without blocking.
Parameters
delim The line delimiter.
Returns
true if at least one full line of text is present in the internal buffer after this method call,
false otherwise.
5.162.3.13 bool Connection::can_read_bytes (
unsigned howmany )
Checks if the specified ammount of data can be read.
This method reads data from the socket into an internal "incoming" buffer if it can be done
without blocking.
Parameters
howmany The number of bytes that the caller wants to have checked.
Returns
true if at least the specified ammount of data is present in the internal buffer after this
method call, false otherwise
5.162.3.14 std::string Connection::read_line (
char delim = '\n' )
Reads a single line of data from the socket.
Blocks if necessary.
© 2005-2019 HörTech gGmbH, Oldenburg
476 CONTENTS
Parameters
delim The line delimiter.
Returns
The string of characters in this line, including the trailing delimiter. The delimiter may be
missing if the last line before EOF does not have a delimiter.
5.162.3.15 std::string Connection::read_bytes (
unsigned howmany )
Reads the specified ammount of dat from the socket.
Blocks if necessary.
Parameters
howmany The number of bytes to read.
Returns
The string of characters read. The string may be shorter if EOF is encountered.
5.162.3.16 void Connection::try_write (
const std::string & data = "" )
Adds data to the internal "outgoing" buffer, and then tries to write as much data from that buffer
to the socket as possible without blocking.
Parameters
data data to send over the socket.
5.162.3.17 void Connection::write (
const std::string & data = "" )
Adds data to the internal "outgoing" buffer, and then writes that that buffer to the socket, re-
gardless of blocking.
Parameters
data data to send over the socket.
© 2005-2019 HörTech gGmbH, Oldenburg
5.162 MHA_TCP::Connection Class Reference 477
5.162.3.18 bool Connection::needs_write ( )
Checks if the internal "outgoing" buffer contains data.
5.162.3.19 unsigned Connection::buffered_incoming_bytes ( ) const
Returns the number of bytes in the internal "incoming" buffer.
5.162.3.20 unsigned Connection::buffered_outgoing_bytes ( ) const
Returns the number of bytes in the internal "outgoing" buffer.
5.162.4 Member Data Documentation
5.162.4.1 std::string MHA_TCP::Connection::outbuf [private]
5.162.4.2 std::string MHA_TCP::Connection::inbuf [private]
5.162.4.3 Sockread_EventMHA_TCP::Connection::read_event [private]
5.162.4.4 Sockwrite_EventMHA_TCP::Connection::write_event [private]
5.162.4.5 bool MHA_TCP::Connection::closed [private]
5.162.4.6 struct sockaddr_in MHA_TCP::Connection::peer_addr [private]
5.162.4.7 SOCKET MHA_TCP::Connection::fd [protected]
The file descriptor of the TCP Socket.
The documentation for this class was generated from the following files:
mha_tcp.hh
mha_tcp.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
478 CONTENTS
5.163 MHA_TCP::Event_Watcher Class Reference
OS-independent event watcher, uses select on Unix and WaitForMultipleObjects on Windows.
Inheritance diagram for MHA_TCP::Event_Watcher:
MHA_TCP::Event_Watcher
MHA_TCP::Timeout_Watcher
Public Types
typedef std::set<Wakeup_Event >Events
typedef std::set<Wakeup_Event >::iterator iterator
Public Member Functions
void observe (Wakeup_Event event)
Add an event to this observer.
void ignore (Wakeup_Event event)
Remove an event from this observer.
std::set<Wakeup_Event >wait ()
\ Wait for some event to occur.
virtual Event_Watcher ()
Private Attributes
std::set<Wakeup_Event >events
The list of events to watch.
5.163.1 Detailed Description
OS-independent event watcher, uses select on Unix and WaitForMultipleObjects on Windows.
© 2005-2019 HörTech gGmbH, Oldenburg
5.163 MHA_TCP::Event_Watcher Class Reference 479
5.163.2 Member Typedef Documentation
5.163.2.1 typedef std::set<Wakeup_Event>MHA_TCP::Event_Watcher::Events
5.163.2.2 typedef std::set<Wakeup_Event>::iterator MHA_TCP::Event_Watcher::iterator
5.163.3 Constructor & Destructor Documentation
5.163.3.1 Event_Watcher::Event_Watcher ( ) [virtual]
5.163.4 Member Function Documentation
5.163.4.1 void Event_Watcher::observe (
Wakeup_Event event )
Add an event to this observer.
5.163.4.2 void Event_Watcher::ignore (
Wakeup_Event event )
Remove an event from this observer.
5.163.4.3 std::set<Wakeup_Event >Event_Watcher::wait ( )
\ Wait for some event to occur.
Return all events that are ready
5.163.5 Member Data Documentation
5.163.5.1 std::set<Wakeup_Event>MHA_TCP::Event_Watcher::events [private]
The list of events to watch.
The documentation for this class was generated from the following files:
mha_tcp.hh
mha_tcp.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
480 CONTENTS
5.164 MHA_TCP::OS_EVENT_TYPE Struct Reference
Public Types
Public Attributes
enum MHA_TCP::OS_EVENT_TYPE:: { ... } mode
union {
int fd
double timeout
};
5.164.1 Member Enumeration Documentation
5.164.1.1 anonymous enum
Enumerator
R
W
X
T
5.164.2 Member Data Documentation
5.164.2.1 enum { ... } MHA_TCP::OS_EVENT_TYPE::mode
5.164.2.2 int MHA_TCP::OS_EVENT_TYPE::fd
5.164.2.3 double MHA_TCP::OS_EVENT_TYPE::timeout
5.164.2.4 union { ... }
The documentation for this struct was generated from the following file:
mha_tcp.hh
© 2005-2019 HörTech gGmbH, Oldenburg
5.165 MHA_TCP::Server Class Reference 481
5.165 MHA_TCP::Server Class Reference
Public Member Functions
Server (unsigned short port=0, const std::string &iface="0.0.0.0")
Create a TCP server socket.
Server (const std::string &iface, unsigned short port=0)
Create a TCP server socket.
Server ()
Close the TCP server socket.
std::string get_interface () const
Get the name given in the constructor for the network interface.
unsigned short get_port () const
Get the port that the TCP server socket currently listens to.
Sockaccept_Event get_accept_event ()
Produces an event that can be observed by an Event_Watcher (p. 478).
Connection accept ()
Accept an incoming connection.
Connection try_accept ()
Accept an incoming connection if it can be done without blocking.
Private Member Functions
void initialize (const std::string &iface, unsigned short port)
Private Attributes
sockaddr_in sock_addr
SOCKET serversocket
std::string iface
unsigned short port
Sockaccept_Event accept_event
5.165.1 Constructor & Destructor Documentation
5.165.1.1 Server::Server (
unsigned short port = 0,
const std::string & iface = "0.0.0.0" )
Create a TCP server socket.
© 2005-2019 HörTech gGmbH, Oldenburg
482 CONTENTS
Parameters
port The TCP port to listen to.
iface The network interface to bind to.
5.165.1.2 Server::Server (
const std::string & iface,
unsigned short port = 0)
Create a TCP server socket.
Parameters
port The TCP port to listen to.
iface The network interface to bind to.
5.165.1.3 Server::Server ( )
Close the TCP server socket.
5.165.2 Member Function Documentation
5.165.2.1 void Server::initialize (
const std::string & iface,
unsigned short port )[private]
5.165.2.2 std::string Server::get_interface ( ) const
Get the name given in the constructor for the network interface.
5.165.2.3 unsigned short Server::get_port ( ) const
Get the port that the TCP server socket currently listens to.
5.165.2.4 Sockaccept_Event Server::get_accept_event ( )
Produces an event that can be observed by an Event_Watcher (p. 478).
This event signals incoming connections that can be accepted.
© 2005-2019 HörTech gGmbH, Oldenburg
5.166 MHA_TCP::sock_init_t Class Reference 483
5.165.2.5 Connection Server::accept ( )
Accept an incoming connection.
blocks if necessary.
Returns
The new TCP connection. The connection has to be deleted by the caller.
5.165.2.6 Connection Server::try_accept ( )
Accept an incoming connection if it can be done without blocking.
Returns
The new TCP connection or 0 if there is no immediate connection. The connection has to
be deleted by the caller.
5.165.3 Member Data Documentation
5.165.3.1 sockaddr_in MHA_TCP::Server::sock_addr [private]
5.165.3.2 SOCKET MHA_TCP::Server::serversocket [private]
5.165.3.3 std::string MHA_TCP::Server::iface [private]
5.165.3.4 unsigned short MHA_TCP::Server::port [private]
5.165.3.5 Sockaccept_EventMHA_TCP::Server::accept_event [private]
The documentation for this class was generated from the following files:
mha_tcp.hh
mha_tcp.cpp
5.166 MHA_TCP::sock_init_t Class Reference
Public Member Functions
sock_init_t ()
© 2005-2019 HörTech gGmbH, Oldenburg
484 CONTENTS
5.166.1 Constructor & Destructor Documentation
5.166.1.1 MHA_TCP::sock_init_t::sock_init_t ( ) [inline]
The documentation for this class was generated from the following file:
mha_tcp.cpp
5.167 MHA_TCP::Sockaccept_Event Class Reference
Inheritance diagram for MHA_TCP::Sockaccept_Event:
MHA_TCP::Sockaccept
_Event
MHA_TCP::Wakeup_Event
Public Member Functions
Sockaccept_Event (SOCKET)
Additional Inherited Members
5.167.1 Constructor & Destructor Documentation
5.167.1.1 MHA_TCP::Sockaccept_Event::Sockaccept_Event (
SOCKET s)
The documentation for this class was generated from the following files:
mha_tcp.hh
mha_tcp.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.168 MHA_TCP::Sockread_Event Class Reference 485
5.168 MHA_TCP::Sockread_Event Class Reference
Watch socket for incoming data.
Inheritance diagram for MHA_TCP::Sockread_Event:
MHA_TCP::Sockread_Event
MHA_TCP::Wakeup_Event
Public Member Functions
Sockread_Event (SOCKET s)
Set socket to watch for.
Additional Inherited Members
5.168.1 Detailed Description
Watch socket for incoming data.
5.168.2 Constructor & Destructor Documentation
5.168.2.1 MHA_TCP::Sockread_Event::Sockread_Event (
SOCKET s)
Set socket to watch for.
Parameters
sThe socket to observe incoming data on.
The documentation for this class was generated from the following files:
© 2005-2019 HörTech gGmbH, Oldenburg
486 CONTENTS
mha_tcp.hh
mha_tcp.cpp
5.169 MHA_TCP::Sockwrite_Event Class Reference
Inheritance diagram for MHA_TCP::Sockwrite_Event:
MHA_TCP::Sockwrite
_Event
MHA_TCP::Wakeup_Event
Public Member Functions
Sockwrite_Event (SOCKET s)
Additional Inherited Members
5.169.1 Constructor & Destructor Documentation
5.169.1.1 MHA_TCP::Sockwrite_Event::Sockwrite_Event (
SOCKET s)
The documentation for this class was generated from the following files:
mha_tcp.hh
mha_tcp.cpp
5.170 MHA_TCP::Thread Class Reference
A very simple class for portable threads.
© 2005-2019 HörTech gGmbH, Oldenburg
5.170 MHA_TCP::Thread Class Reference 487
Public Types
typedef void (thr_f) (void )
The thread function signature to use with this class.
Public Member Functions
Thread (thr_f func, void arg=0)
Constructor starts a new thread.
virtual Thread ()
The destructor should only be called when the Thread (p. 486) is finished.
virtual void run ()
The internal method that delegated the new thread to the registered Thread (p. 486) function.
Public Attributes
Async_Notify thread_finish_event
Event will be triggered when the thread exits.
enum MHA_TCP::Thread:: { ... } state
The current state of the thread.
thr_f thread_func
The thread function that the client has registered.
void thread_arg
The argument that the client wants to be handed through to the thread function.
MHA_Error error
The MHA_Error (p. 445) that caused the thread to abort, if any.
Protected Member Functions
Thread ()
Default constructor may only be used by derived classes that want to start the thread them-
selves.
Protected Attributes
void arg
The argument for the client's thread function.
void return_value
The return value from the client's thread function is stored here When that function returns.
© 2005-2019 HörTech gGmbH, Oldenburg
488 CONTENTS
Private Attributes
pthread_t thread_handle
The posix thread handle.
pthread_attr_t thread_attr
The posix thread attribute structure.
5.170.1 Detailed Description
A very simple class for portable threads.
5.170.2 Member Typedef Documentation
5.170.2.1 typedef void(MHA_TCP::Thread::thr_f) (void )
The thread function signature to use with this class.
Derive from this class and call protected standard constructor to start threads differently.
5.170.3 Member Enumeration Documentation
5.170.3.1 anonymous enum
The current state of the thread.
Enumerator
PREPARED
RUNNING
FINISHED
5.170.4 Constructor & Destructor Documentation
5.170.4.1 MHA_TCP::Thread::Thread ( ) [protected]
Default constructor may only be used by derived classes that want to start the thread them-
selves.
5.170.4.2 Thread::Thread (
Thread::thr_f func,
void arg = 0)
Constructor starts a new thread.
© 2005-2019 HörTech gGmbH, Oldenburg
5.170 MHA_TCP::Thread Class Reference 489
Parameters
func The function to be executed by the thread.
arg The argument given to pass to the thread function.
5.170.4.3 Thread::Thread ( ) [virtual]
The destructor should only be called when the Thread (p. 486) is finished.
There is preliminary support for forceful thread cancellation in the destructor, but probably not
very robust or portable..
5.170.5 Member Function Documentation
5.170.5.1 void Thread::run ( ) [virtual]
The internal method that delegated the new thread to the registered Thread (p. 486) function.
5.170.6 Member Data Documentation
5.170.6.1 pthread_t MHA_TCP::Thread::thread_handle [private]
The posix thread handle.
5.170.6.2 pthread_attr_t MHA_TCP::Thread::thread_attr [private]
The posix thread attribute structure.
Required for starting a thread in detached state. Detachment is required to eliminate the need
for joining this thread.
5.170.6.3 voidMHA_TCP::Thread::arg [protected]
The argument for the client's thread function.
5.170.6.4 voidMHA_TCP::Thread::return_value [protected]
The return value from the client's thread function is stored here When that function returns.
5.170.6.5 Async_Notify MHA_TCP::Thread::thread_finish_event
Event will be triggered when the thread exits.
© 2005-2019 HörTech gGmbH, Oldenburg
490 CONTENTS
5.170.6.6 enum { ... } MHA_TCP::Thread::state
The current state of the thread.
5.170.6.7 thr_f MHA_TCP::Thread::thread_func
The thread function that the client has registered.
5.170.6.8 voidMHA_TCP::Thread::thread_arg
The argument that the client wants to be handed through to the thread function.
5.170.6.9 MHA_ErrorMHA_TCP::Thread::error
The MHA_Error (p. 445) that caused the thread to abort, if any.
The documentation for this class was generated from the following files:
mha_tcp.hh
mha_tcp.cpp
5.171 MHA_TCP::Timeout_Event Class Reference
Inheritance diagram for MHA_TCP::Timeout_Event:
MHA_TCP::Timeout_Event
MHA_TCP::Wakeup_Event
Public Member Functions
Timeout_Event (double interval)
virtual OS_EVENT_TYPE get_os_event ()
© 2005-2019 HörTech gGmbH, Oldenburg
5.172 MHA_TCP::Timeout_Watcher Class Reference 491
Private Attributes
double end_time
Additional Inherited Members
5.171.1 Constructor & Destructor Documentation
5.171.1.1 Timeout_Event::Timeout_Event (
double interval )
5.171.2 Member Function Documentation
5.171.2.1 OS_EVENT_TYPE Timeout_Event::get_os_event ( ) [virtual]
Reimplemented from MHA_TCP::Wakeup_Event (p. 494).
5.171.3 Member Data Documentation
5.171.3.1 double MHA_TCP::Timeout_Event::end_time [private]
The documentation for this class was generated from the following files:
mha_tcp.hh
mha_tcp.cpp
5.172 MHA_TCP::Timeout_Watcher Class Reference
OS-independent event watcher with internal fixed-end-time timeout.
Inheritance diagram for MHA_TCP::Timeout_Watcher:
MHA_TCP::Timeout_Watcher
MHA_TCP::Event_Watcher
© 2005-2019 HörTech gGmbH, Oldenburg
492 CONTENTS
Public Member Functions
Timeout_Watcher (double interval)
virtual Timeout_Watcher ()
Private Attributes
Timeout_Event timeout
Additional Inherited Members
5.172.1 Detailed Description
OS-independent event watcher with internal fixed-end-time timeout.
5.172.2 Constructor & Destructor Documentation
5.172.2.1 Timeout_Watcher::Timeout_Watcher (
double interval )[explicit]
5.172.2.2 Timeout_Watcher::Timeout_Watcher ( ) [virtual]
5.172.3 Member Data Documentation
5.172.3.1 Timeout_Event MHA_TCP::Timeout_Watcher::timeout [private]
The documentation for this class was generated from the following files:
mha_tcp.hh
mha_tcp.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.173 MHA_TCP::Wakeup_Event Class Reference 493
5.173 MHA_TCP::Wakeup_Event Class Reference
A base class for asynchronous wakeup events.
Inheritance diagram for MHA_TCP::Wakeup_Event:
MHA_TCP::Wakeup_Event
MHA_TCP::Async_Notify
MHA_TCP::Sockaccept
_Event
MHA_TCP::Sockread_Event
MHA_TCP::Sockwrite
_Event
MHA_TCP::Timeout_Event
Public Member Functions
Wakeup_Event ()
Event Constructor.
virtual void observed_by (Event_Watcher observer)
Called by the Event_Watcher (p. 478) when this event is added to its list of observed events.
virtual void ignored_by (Event_Watcher observer)
Called by the Event_Watcher (p. 478) when this event is removed from its list of observed
events.
virtual Wakeup_Event ()
Destructor deregisters from observers.
virtual OS_EVENT_TYPE get_os_event ()
Get necessary information for the Event Watcher.
virtual void reset ()
For pure notification events, reset the "signalled" status.
virtual bool status ()
Query wether the event is in signalled state now.
Protected Attributes
OS_EVENT_TYPE os_event
bool os_event_valid
© 2005-2019 HörTech gGmbH, Oldenburg
494 CONTENTS
Private Attributes
std::set<class Event_Watcher >observers
A list of all Event_Watcher (p. 478) instances that this Wakeup_Event (p. 493) is observed by
(stored here for proper deregistering).
5.173.1 Detailed Description
A base class for asynchronous wakeup events.
5.173.2 Constructor & Destructor Documentation
5.173.2.1 Wakeup_Event::Wakeup_Event ( )
Event Constructor.
The new event has invalid state.
5.173.2.2 Wakeup_Event::Wakeup_Event ( ) [virtual]
Destructor deregisters from observers.
5.173.3 Member Function Documentation
5.173.3.1 void Wakeup_Event::observed_by (
Event_Watcher observer )[virtual]
Called by the Event_Watcher (p. 478) when this event is added to its list of observed events.
5.173.3.2 void Wakeup_Event::ignored_by (
Event_Watcher observer )[virtual]
Called by the Event_Watcher (p. 478) when this event is removed from its list of observed
events.
5.173.3.3 OS_EVENT_TYPE Wakeup_Event::get_os_event ( ) [virtual]
Get necessary information for the Event Watcher.
Reimplemented in MHA_TCP::Timeout_Event (p. 491).
© 2005-2019 HörTech gGmbH, Oldenburg
5.174 mha_tictoc_t Struct Reference 495
5.173.3.4 void Wakeup_Event::reset ( ) [virtual]
For pure notification events, reset the "signalled" status.
Reimplemented in MHA_TCP::Async_Notify (p. 469).
5.173.3.5 bool Wakeup_Event::status ( ) [virtual]
Query wether the event is in signalled state now.
5.173.4 Member Data Documentation
5.173.4.1 std::set<class Event_Watcher >MHA_TCP::Wakeup_Event::observers [private]
A list of all Event_Watcher (p. 478) instances that this Wakeup_Event (p. 493) is observed by
(stored here for proper deregistering).
5.173.4.2 OS_EVENT_TYPE MHA_TCP::Wakeup_Event::os_event [protected]
5.173.4.3 bool MHA_TCP::Wakeup_Event::os_event_valid [protected]
The documentation for this class was generated from the following files:
mha_tcp.hh
mha_tcp.cpp
5.174 mha_tictoc_t Struct Reference
Public Attributes
struct timeval tv1
struct timeval tv2
struct timezone tz
float t
5.174.1 Member Data Documentation
5.174.1.1 struct timeval mha_tictoc_t::tv1
5.174.1.2 struct timeval mha_tictoc_t::tv2
5.174.1.3 struct timezone mha_tictoc_t::tz
5.174.1.4 float mha_tictoc_t::t
The documentation for this struct was generated from the following file:
mha_profiling.h
© 2005-2019 HörTech gGmbH, Oldenburg
496 CONTENTS
5.175 mha_wave_t Struct Reference
Waveform signal structure.
Inheritance diagram for mha_wave_t:
mha_wave_t MHASignal::waveform_t
addsndfile::level_adapt_t
addsndfile::waveform
_proxy_t
fader_wave::level_adapt_t
gain::scaler_t
MHA_AC::waveform_t
MHAFilter::o1_ar_filter_t
MHAOvlFilter::fftfb_t
MHASignal::async_rmslevel_t
MHASignal::loop_wavefragment_t
MHASignal::ringbuffer_t
MHASignal::schroeder_t
MHASndFile::sf_wave_t
MHAWindow::base_t
speechnoise_t
addsndfile::resampled
_soundfile_t
MHAMultiSrc::waveform_t
mon_t
MHAFilter::o1flt_lowpass_t
MHAFilter::o1flt_maxtrack_t
MHAFilter::o1flt_mintrack_t
coherence::cohflt_t
fftfbpow::fftfbpow_t
MHAOvlFilter::overlap
_save_filterbank_t
multibandcompressor
::fftfb_plug_t
MHAOvlFilter::overlap
_save_filterbank_analytic_t fftfilterbank::fftfb
_plug_t
addsndfile::sndfile_t
MHAWindow::fun_t
MHAWindow::user_t
MHAWindow::bartlett_t
MHAWindow::blackman_t
MHAWindow::hamming_t
MHAWindow::hanning_t
MHAWindow::rect_t
Public Attributes
mha_real_t buf
signal buffer
unsigned int num_channels
number of channels
unsigned int num_frames
number of frames in each channel
mha_channel_info_t channel_info
detailed channel description
5.175.1 Detailed Description
Waveform signal structure.
This structure contains one fragment of a waveform signal. The member num_frames describes
the number of audio samples in each audio channel.
The field channel_info must be an array of num_channels entries or NULL.
© 2005-2019 HörTech gGmbH, Oldenburg
5.176 mhachain::chain_base_t Class Reference 497
5.175.2 Member Data Documentation
5.175.2.1 mha_real_tmha_wave_t::buf
signal buffer
5.175.2.2 unsigned int mha_wave_t::num_channels
number of channels
5.175.2.3 unsigned int mha_wave_t::num_frames
number of frames in each channel
5.175.2.4 mha_channel_info_tmha_wave_t::channel_info
detailed channel description
The documentation for this struct was generated from the following file:
mha.hh
5.176 mhachain::chain_base_t Class Reference
Inheritance diagram for mhachain::chain_base_t:
mhachain::chain_base_t
mhachain::mhachain_t
MHAPlugin::plugin_t
< mhachain::plugs_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< mhachain::plugs_t >
© 2005-2019 HörTech gGmbH, Oldenburg
498 CONTENTS
Public Member Functions
chain_base_t (algo_comm_t, const std::string &, const std::string &)
void process (mha_wave_t ,mha_wave_t ∗∗)
void process (mha_spec_t ,mha_wave_t ∗∗)
void process (mha_wave_t ,mha_spec_t ∗∗)
void process (mha_spec_t ,mha_spec_t ∗∗)
void prepare (mhaconfig_t &)
void release ()
Protected Attributes
MHAParser::bool_t bprofiling
MHAParser::vstring_t algos
Private Member Functions
void update ()
Private Attributes
• std::vector<std::string >old_algos
MHAEvents::patchbay_t<mhachain::chain_base_t >patchbay
mhaconfig_t cfin
mhaconfig_t cfout
bool b_prepared
std::string chain
Additional Inherited Members
5.176.1 Constructor & Destructor Documentation
5.176.1.1 mhachain::chain_base_t::chain_base_t (
algo_comm_t iac,
const std::string & ichain,
const std::string & ialgo )
5.176.2 Member Function Documentation
5.176.2.1 void mhachain::chain_base_t::process (
mha_wave_t sin,
mha_wave_t ∗∗ sout )
© 2005-2019 HörTech gGmbH, Oldenburg
5.176 mhachain::chain_base_t Class Reference 499
5.176.2.2 void mhachain::chain_base_t::process (
mha_spec_t sin,
mha_wave_t ∗∗ sout )
5.176.2.3 void mhachain::chain_base_t::process (
mha_wave_t sin,
mha_spec_t ∗∗ sout )
5.176.2.4 void mhachain::chain_base_t::process (
mha_spec_t sin,
mha_spec_t ∗∗ sout )
5.176.2.5 void mhachain::chain_base_t::prepare (
mhaconfig_t &cf )[virtual]
Implements MHAPlugin::plugin_t<mhachain::plugs_t >(p. 730).
5.176.2.6 void mhachain::chain_base_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<mhachain::plugs_t >(p. 731).
5.176.2.7 void mhachain::chain_base_t::update ( ) [private]
5.176.3 Member Data Documentation
5.176.3.1 MHAParser::bool_t mhachain::chain_base_t::bprofiling [protected]
5.176.3.2 MHAParser::vstring_t mhachain::chain_base_t::algos [protected]
5.176.3.3 std::vector<std::string>mhachain::chain_base_t::old_algos [private]
5.176.3.4 MHAEvents::patchbay_t<mhachain::chain_base_t >
mhachain::chain_base_t::patchbay [private]
5.176.3.5 mhaconfig_t mhachain::chain_base_t::cfin [private]
5.176.3.6 mhaconfig_t mhachain::chain_base_t::cfout [private]
5.176.3.7 bool mhachain::chain_base_t::b_prepared [private]
5.176.3.8 std::string mhachain::chain_base_t::chain [private]
The documentation for this class was generated from the following files:
mha_generic_chain.h
mha_generic_chain.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
500 CONTENTS
5.177 mhachain::mhachain_t Class Reference
Inheritance diagram for mhachain::mhachain_t:
mhachain::mhachain_t
mhachain::chain_base_t
MHAPlugin::plugin_t
< mhachain::plugs_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< mhachain::plugs_t >
Public Member Functions
mhachain_t (algo_comm_t iac, const std::string &ichain, const std::string &ialgo)
Additional Inherited Members
5.177.1 Constructor & Destructor Documentation
5.177.1.1 mhachain::mhachain_t::mhachain_t (
algo_comm_t iac,
const std::string & ichain,
const std::string & ialgo )
The documentation for this class was generated from the following file:
mhachain.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.178 mhachain::plugs_t Class Reference 501
5.178 mhachain::plugs_t Class Reference
Public Member Functions
plugs_t (std::vector<std::string >algos,mhaconfig_t cfin, mhaconfig_t cfout, bool
do_prepare, MHAParser::parser_t &p, algo_comm_t iac, std::string ichain, bool use_-
profiling)
plugs_t ()
void prepare (mhaconfig_t &)
void release ()
void process (mha_wave_t ,mha_spec_t ,mha_wave_t ∗∗,mha_spec_t ∗∗)
bool prepared () const
Private Member Functions
void alloc_plugs (std::vector<std::string >algos)
void cleanup_plugs ()
void update_proc_load ()
Private Attributes
bool b_prepared
• std::vector<PluginLoader::mhapluginloader_t >algos
MHAParser::parser_t &parser
algo_comm_t ac
std::string chain
MHAParser::parser_t profiling
MHAParser::vstring_mon_t prof_algos
MHAParser::vfloat_mon_t prof_init
MHAParser::vfloat_mon_t prof_prepare
MHAParser::vfloat_mon_t prof_release
MHAParser::vfloat_mon_t prof_process
MHAParser::float_mon_t prof_process_tt
MHAParser::vfloat_mon_t prof_process_load
unsigned int proc_cnt
mhaconfig_t prof_cfg
MHAEvents::connector_t<mhachain::plugs_t >prof_load_con
MHAEvents::connector_t<mhachain::plugs_t >prof_tt_con
bool b_use_profiling
mha_platform_tictoc_t tictoc
© 2005-2019 HörTech gGmbH, Oldenburg
502 CONTENTS
5.178.1 Constructor & Destructor Documentation
5.178.1.1 mhachain::plugs_t::plugs_t (
std::vector<std::string >algos,
mhaconfig_t cfin,
mhaconfig_t cfout,
bool do_prepare,
MHAParser::parser_t &p,
algo_comm_t iac,
std::string ichain,
bool use_profiling )
5.178.1.2 mhachain::plugs_t::plugs_t ( )
5.178.2 Member Function Documentation
5.178.2.1 void mhachain::plugs_t::prepare (
mhaconfig_t &tf )
5.178.2.2 void mhachain::plugs_t::release (
void )
5.178.2.3 void mhachain::plugs_t::process (
mha_wave_t win,
mha_spec_t sin,
mha_wave_t ∗∗ wout,
mha_spec_t ∗∗ sout )
5.178.2.4 bool mhachain::plugs_t::prepared ( ) const [inline]
5.178.2.5 void mhachain::plugs_t::alloc_plugs (
std::vector<std::string >algos )[private]
5.178.2.6 void mhachain::plugs_t::cleanup_plugs ( ) [private]
5.178.2.7 void mhachain::plugs_t::update_proc_load ( ) [private]
5.178.3 Member Data Documentation
5.178.3.1 bool mhachain::plugs_t::b_prepared [private]
5.178.3.2 std::vector<PluginLoader::mhapluginloader_t>mhachain::plugs_t::algos
[private]
5.178.3.3 MHAParser::parser_t& mhachain::plugs_t::parser [private]
© 2005-2019 HörTech gGmbH, Oldenburg
5.178 mhachain::plugs_t Class Reference 503
5.178.3.4 algo_comm_t mhachain::plugs_t::ac [private]
5.178.3.5 std::string mhachain::plugs_t::chain [private]
5.178.3.6 MHAParser::parser_t mhachain::plugs_t::profiling [private]
5.178.3.7 MHAParser::vstring_mon_t mhachain::plugs_t::prof_algos [private]
5.178.3.8 MHAParser::vfloat_mon_t mhachain::plugs_t::prof_init [private]
5.178.3.9 MHAParser::vfloat_mon_t mhachain::plugs_t::prof_prepare [private]
5.178.3.10 MHAParser::vfloat_mon_t mhachain::plugs_t::prof_release [private]
5.178.3.11 MHAParser::vfloat_mon_t mhachain::plugs_t::prof_process [private]
5.178.3.12 MHAParser::float_mon_t mhachain::plugs_t::prof_process_tt [private]
5.178.3.13 MHAParser::vfloat_mon_t mhachain::plugs_t::prof_process_load [private]
5.178.3.14 unsigned int mhachain::plugs_t::proc_cnt [private]
5.178.3.15 mhaconfig_t mhachain::plugs_t::prof_cfg [private]
5.178.3.16 MHAEvents::connector_t<mhachain::plugs_t>mhachain::plugs_t::prof_load_con
[private]
5.178.3.17 MHAEvents::connector_t<mhachain::plugs_t>mhachain::plugs_t::prof_tt_con
[private]
5.178.3.18 bool mhachain::plugs_t::b_use_profiling [private]
5.178.3.19 mha_platform_tictoc_t mhachain::plugs_t::tictoc [private]
The documentation for this class was generated from the following files:
mha_generic_chain.h
mha_generic_chain.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
504 CONTENTS
5.179 mhaconfig_t Struct Reference
MHA prepare configuration structure.
Inheritance diagram for mhaconfig_t:
mhaconfig_t
coherence::cohflt_t
Public Attributes
unsigned int channels
Number of audio channels.
unsigned int domain
Signal domain (MHA_WAVEFORM or MHA_SPECTRUM)
unsigned int fragsize
Fragment size of waveform data.
unsigned int wndlen
Window length of spectral data.
unsigned int fftlen
FFT length of spectral data.
mha_real_t srate
Sampling rate in Hz.
5.179.1 Detailed Description
MHA prepare configuration structure.
This structure contains information about channel number and domain for input and output
signals of a openMHA Plugin. Each plugin can change any of these parameters, e.g. by
resampling of the signal. The only limitation is that the callback frequency is fixed (except for
the plugins db and dbasync).
Todo Add information on number of bands and on center frequencies, or replace by mha_-
audio_descriptor_t (p. 427).
© 2005-2019 HörTech gGmbH, Oldenburg
5.179 mhaconfig_t Struct Reference 505
5.179.2 Member Data Documentation
5.179.2.1 unsigned int mhaconfig_t::channels
Number of audio channels.
5.179.2.2 unsigned int mhaconfig_t::domain
Signal domain (MHA_WAVEFORM or MHA_SPECTRUM)
5.179.2.3 unsigned int mhaconfig_t::fragsize
Fragment size of waveform data.
5.179.2.4 unsigned int mhaconfig_t::wndlen
Window length of spectral data.
5.179.2.5 unsigned int mhaconfig_t::fftlen
FFT length of spectral data.
5.179.2.6 mha_real_t mhaconfig_t::srate
Sampling rate in Hz.
The documentation for this struct was generated from the following file:
mha.hh
© 2005-2019 HörTech gGmbH, Oldenburg
506 CONTENTS
5.180 MHAEvents::connector_base_t Class Reference
Inheritance diagram for MHAEvents::connector_base_t:
MHAEvents::connector
_base_t
MHAEvents::connector
_t< mhachain::mhachain
::plugs_t >
MHAEvents::connector
_t< MHAOvlFilter::fscale
_bw_t >
MHAEvents::connector
_t< MHAOvlFilter::fscale_t >
MHAEvents::connector
_t< MHAParser::mhapluginloader_t >
MHAEvents::connector
_t< receiver_t >
Public Member Functions
connector_base_t ()
virtual connector_base_t ()
virtual void emit_event ()
virtual void emit_event (const std::string &)
virtual void emit_event (const std::string &, unsigned int, unsigned int)
void emitter_die ()
Protected Attributes
bool emitter_is_alive
5.180.1 Constructor & Destructor Documentation
5.180.1.1 MHAEvents::connector_base_t::connector_base_t ( )
5.180.1.2 MHAEvents::connector_base_t::connector_base_t ( ) [virtual]
© 2005-2019 HörTech gGmbH, Oldenburg
5.180 MHAEvents::connector_base_t Class Reference 507
5.180.2 Member Function Documentation
5.180.2.1 void MHAEvents::connector_base_t::emit_event ( ) [virtual]
Reimplemented in MHAEvents::connector_t<receiver_t >(p. 509), MHAEvents-
::connector_t<MHAOvlFilter::fscale_bw_t >(p. 509), MHAEvents::connector_t<
MHAParser::mhapluginloader_t >(p. 509), MHAEvents::connector_t<mhachain-
::mhachain::plugs_t >(p. 509), and MHAEvents::connector_t<MHAOvlFilter::fscale_t >
(p. 509).
5.180.2.2 void MHAEvents::connector_base_t::emit_event (
const std::string & ) [virtual]
Reimplemented in MHAEvents::connector_t<receiver_t >(p. 509), MHAEvents-
::connector_t<MHAOvlFilter::fscale_bw_t >(p. 509), MHAEvents::connector_t<
MHAParser::mhapluginloader_t >(p. 509), MHAEvents::connector_t<mhachain-
::mhachain::plugs_t >(p. 509), and MHAEvents::connector_t<MHAOvlFilter::fscale_t >
(p. 509).
5.180.2.3 void MHAEvents::connector_base_t::emit_event (
const std::string & ,
unsigned int ,
unsigned int ) [virtual]
Reimplemented in MHAEvents::connector_t<receiver_t >(p. 509), MHAEvents-
::connector_t<MHAOvlFilter::fscale_bw_t >(p. 509), MHAEvents::connector_t<
MHAParser::mhapluginloader_t >(p. 509), MHAEvents::connector_t<mhachain-
::mhachain::plugs_t >(p. 509), and MHAEvents::connector_t<MHAOvlFilter::fscale_t >
(p. 509).
5.180.2.4 void MHAEvents::connector_base_t::emitter_die ( )
5.180.3 Member Data Documentation
5.180.3.1 bool MHAEvents::connector_base_t::emitter_is_alive [protected]
The documentation for this class was generated from the following files:
mha_event_emitter.h
mha_events.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
508 CONTENTS
5.181 MHAEvents::connector_t<receiver_t >Class Template Reference
Inheritance diagram for MHAEvents::connector_t<receiver_t >:
MHAEvents::connector
_t< receiver_t >
MHAEvents::connector
_base_t
Public Member Functions
connector_t (emitter_t , receiver_t , void(receiver_t::)())
connector_t (emitter_t , receiver_t , void(receiver_t::)(const std::string &))
connector_t (emitter_t , receiver_t , void(receiver_t::)(const std::string &, unsigned
int, unsigned int))
connector_t ()
Private Member Functions
void emit_event ()
void emit_event (const std::string &)
void emit_event (const std::string &, unsigned int, unsigned int)
Private Attributes
emitter_t emitter
receiver_t receiver
• void(receiver_t::eventhandler )()
• void(receiver_t::eventhandler_s )(const std::string &)
• void(receiver_t::eventhandler_suu )(const std::string &, unsigned int, unsigned int)
© 2005-2019 HörTech gGmbH, Oldenburg
5.181 MHAEvents::connector_t<receiver_t >Class Template
Reference 509
Additional Inherited Members
5.181.1 Constructor & Destructor Documentation
5.181.1.1 template<class receiver_t>MHAEvents::connector_t<receiver_t >::connector_t (
emitter_t e,
receiver_t r,
void(receiver_t::)() rfun )
5.181.1.2 template<class receiver_t>MHAEvents::connector_t<receiver_t >::connector_t (
emitter_t e,
receiver_t r,
void(receiver_t::)(const std::string &) rfun )
5.181.1.3 template<class receiver_t>MHAEvents::connector_t<receiver_t >::connector_t (
emitter_t e,
receiver_t r,
void(receiver_t::)(const std::string &, unsigned int, unsigned int) rfun )
5.181.1.4 template<class receiver_t >MHAEvents::connector_t<receiver_t >::connector_t (
)
5.181.2 Member Function Documentation
5.181.2.1 template<class receiver_t >void MHAEvents::connector_t<receiver_t >::emit_event (
)[private],[virtual]
Reimplemented from MHAEvents::connector_base_t (p. 507).
5.181.2.2 template<class receiver_t >void MHAEvents::connector_t<receiver_t >::emit_event (
const std::string & arg )[private],[virtual]
Reimplemented from MHAEvents::connector_base_t (p. 507).
5.181.2.3 template<class receiver_t >void MHAEvents::connector_t<receiver_t >::emit_event (
const std::string & arg,
unsigned int arg2,
unsigned int arg3 )[private],[virtual]
Reimplemented from MHAEvents::connector_base_t (p. 507).
© 2005-2019 HörTech gGmbH, Oldenburg
510 CONTENTS
5.181.3 Member Data Documentation
5.181.3.1 template<class receiver_t>emitter_tMHAEvents::connector_t<receiver_t
>::emitter [private]
5.181.3.2 template<class receiver_t>receiver_tMHAEvents::connector_t<receiver_t
>::receiver [private]
5.181.3.3 template<class receiver_t>void(receiver_t::MHAEvents::connector_t<receiver_t
>::eventhandler) () [private]
5.181.3.4 template<class receiver_t>void(receiver_t::MHAEvents::connector_t<receiver_t
>::eventhandler_s) (const std::string &) [private]
5.181.3.5 template<class receiver_t>void(receiver_t::MHAEvents::connector_t<receiver_t
>::eventhandler_suu) (const std::string &, unsigned int, unsigned int) [private]
The documentation for this class was generated from the following file:
mha_events.h
5.182 MHAEvents::emitter_t Class Reference
Class for emitting openMHA events.
Public Member Functions
emitter_t ()
void operator() ()
Emit an event without parameter.
void operator() (const std::string &)
Emit an event with string parameter.
void operator() (const std::string &, unsigned int, unsigned int)
Emit an event with string parameter and two unsigned int parameters.
void connect (connector_base_t )
void disconnect (connector_base_t )
Private Attributes
• std::list<connector_base_t >connections
© 2005-2019 HörTech gGmbH, Oldenburg
5.182 MHAEvents::emitter_t Class Reference 511
5.182.1 Detailed Description
Class for emitting openMHA events.
Use the template claas MHAEvents::patchbay_t (p. 512) for connecting to an emitter.
5.182.2 Constructor & Destructor Documentation
5.182.2.1 MHAEvents::emitter_t::emitter_t ( )
5.182.3 Member Function Documentation
5.182.3.1 void MHAEvents::emitter_t::operator() ( )
Emit an event without parameter.
5.182.3.2 void MHAEvents::emitter_t::operator() (
const std::string & arg )
Emit an event with string parameter.
5.182.3.3 void MHAEvents::emitter_t::operator() (
const std::string & arg,
unsigned int arg2,
unsigned int arg3 )
Emit an event with string parameter and two unsigned int parameters.
5.182.3.4 void MHAEvents::emitter_t::connect (
connector_base_t c)
5.182.3.5 void MHAEvents::emitter_t::disconnect (
connector_base_t c)
5.182.4 Member Data Documentation
5.182.4.1 std::list<connector_base_t>MHAEvents::emitter_t::connections [private]
The documentation for this class was generated from the following files:
mha_event_emitter.h
mha_events.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
512 CONTENTS
5.183 MHAEvents::patchbay_t<receiver_t >Class Template Reference
Patchbay which connects any event emitter with any member function of the parameter class.
Public Member Functions
patchbay_t ()
void connect (emitter_t , receiver_t , void(receiver_t::)())
Connect a receiver member function void (receiver_t::)() with an event emitter.
void connect (emitter_t , receiver_t , void(receiver_t::)(const std::string &))
Connect a receiver member function void (receiver_t::)(const std::string&) with an event emit-
ter.
void connect (emitter_t , receiver_t , void(receiver_t::)(const std::string &, unsigned
int, unsigned int))
Private Attributes
• std::list<connector_t<receiver_t >>cons
5.183.1 Detailed Description
template<class receiver_t>
class MHAEvents::patchbay_t<receiver_t >
Patchbay which connects any event emitter with any member function of the parameter class.
The connections created by the connect() (p. 512) function are hold until the destructor is
called. To avoid access to invalid function pointers, it is required to destruct the patchbay
before the receiver, usually by declaring the patchbay as a member of the receiver.
The receiver can be any claas or structure; the event callback can be either a member function
without arguments or with const std::string& argument.
5.183.2 Constructor & Destructor Documentation
5.183.2.1 template<class receiver_t >MHAEvents::patchbay_t<receiver_t >::patchbay_t ( )
5.183.3 Member Function Documentation
5.183.3.1 template<class receiver_t>void MHAEvents::patchbay_t<receiver_t >::connect (
emitter_t e,
receiver_t r,
void(receiver_t::)() rfun )
Connect a receiver member function void (receiver_t::)() with an event emitter.
Create a connection.
The connection is removed when the patchbay is destructed.
© 2005-2019 HörTech gGmbH, Oldenburg
5.184 MHAFilter::adapt_filter_param_t Class Reference 513
Parameters
ePointer to an event emitter
rPointer to the receiver
rfun Pointer to a member function of the receiver class
5.183.3.2 template<class receiver_t>void MHAEvents::patchbay_t<receiver_t >::connect (
emitter_t e,
receiver_t r,
void(receiver_t::)(const std::string &) rfun )
Connect a receiver member function void (receiver_t::)(const std::string&) with an event emit-
ter.
Create a connection.
The connection is removed when the patchbay is destructed.
Parameters
ePointer to an event emitter
rPointer to the receiver
rfun Pointer to a member function of the receiver class
5.183.3.3 template<class receiver_t>void MHAEvents::patchbay_t<receiver_t >::connect (
emitter_t e,
receiver_t r,
void(receiver_t::)(const std::string &, unsigned int, unsigned int) rfun )
5.183.4 Member Data Documentation
5.183.4.1 template<class receiver_t>std::list<connector_t<receiver_t>>
MHAEvents::patchbay_t<receiver_t >::cons [private]
The documentation for this class was generated from the following file:
mha_events.h
5.184 MHAFilter::adapt_filter_param_t Class Reference
Public Member Functions
adapt_filter_param_t (mha_real_t imu, bool ierr_in)
© 2005-2019 HörTech gGmbH, Oldenburg
514 CONTENTS
Public Attributes
mha_real_t mu
bool err_in
5.184.1 Constructor & Destructor Documentation
5.184.1.1 MHAFilter::adapt_filter_param_t::adapt_filter_param_t (
mha_real_t imu,
bool ierr_in )
5.184.2 Member Data Documentation
5.184.2.1 mha_real_t MHAFilter::adapt_filter_param_t::mu
5.184.2.2 bool MHAFilter::adapt_filter_param_t::err_in
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
5.185 MHAFilter::adapt_filter_state_t Class Reference
Public Member Functions
adapt_filter_state_t (int ntaps, int nchannels)
void filter (mha_wave_t y, mha_wave_t e, mha_wave_t x, mha_wave_t d, mha_real-
_t mu, bool err_in)
Private Attributes
int ntaps
int nchannels
MHASignal::waveform_t W
MHASignal::waveform_t X
MHASignal::waveform_t od
MHASignal::waveform_t oy
© 2005-2019 HörTech gGmbH, Oldenburg
5.186 MHAFilter::adapt_filter_t Class Reference 515
5.185.1 Constructor & Destructor Documentation
5.185.1.1 MHAFilter::adapt_filter_state_t::adapt_filter_state_t (
int ntaps,
int nchannels )
5.185.2 Member Function Documentation
5.185.2.1 void MHAFilter::adapt_filter_state_t::filter (
mha_wave_t y,
mha_wave_t e,
mha_wave_t x,
mha_wave_t d,
mha_real_t mu,
bool err_in )
5.185.3 Member Data Documentation
5.185.3.1 int MHAFilter::adapt_filter_state_t::ntaps [private]
5.185.3.2 int MHAFilter::adapt_filter_state_t::nchannels [private]
5.185.3.3 MHASignal::waveform_t MHAFilter::adapt_filter_state_t::W [private]
5.185.3.4 MHASignal::waveform_t MHAFilter::adapt_filter_state_t::X [private]
5.185.3.5 MHASignal::waveform_t MHAFilter::adapt_filter_state_t::od [private]
5.185.3.6 MHASignal::waveform_t MHAFilter::adapt_filter_state_t::oy [private]
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
5.186 MHAFilter::adapt_filter_t Class Reference
Adaptive filter.
Inheritance diagram for MHAFilter::adapt_filter_t:
MHAFilter::adapt_filter_t
MHAParser::parser_tMHAParser::base_t
MHAPlugin::config_t
< adapt_filter_state_t >
MHAPlugin::config_t
< adapt_filter_param_t >
© 2005-2019 HörTech gGmbH, Oldenburg
516 CONTENTS
Public Member Functions
adapt_filter_t (std::string)
void filter (mha_wave_t y, mha_wave_t e, mha_wave_t x, mha_wave_t d)
void set_channelcnt (unsigned int)
Private Member Functions
void update_mu ()
void update_ntaps ()
Private Attributes
MHAParser::float_t mu
MHAParser::int_t ntaps
MHAParser::bool_t err_in
MHAEvents::patchbay_t<adapt_filter_t >connector
unsigned int nchannels
Additional Inherited Members
5.186.1 Detailed Description
Adaptive filter.
5.186.2 Constructor & Destructor Documentation
5.186.2.1 MHAFilter::adapt_filter_t::adapt_filter_t (
std::string help )
5.186.3 Member Function Documentation
5.186.3.1 void MHAFilter::adapt_filter_t::filter (
mha_wave_t y,
mha_wave_t e,
mha_wave_t x,
mha_wave_t d)
5.186.3.2 void MHAFilter::adapt_filter_t::set_channelcnt (
unsigned int nch )
5.186.3.3 void MHAFilter::adapt_filter_t::update_mu ( ) [private]
© 2005-2019 HörTech gGmbH, Oldenburg
5.187 MHAFilter::blockprocessing_polyphase_resampling_t Class
Reference 517
5.186.3.4 void MHAFilter::adapt_filter_t::update_ntaps ( ) [private]
5.186.4 Member Data Documentation
5.186.4.1 MHAParser::float_t MHAFilter::adapt_filter_t::mu [private]
5.186.4.2 MHAParser::int_t MHAFilter::adapt_filter_t::ntaps [private]
5.186.4.3 MHAParser::bool_t MHAFilter::adapt_filter_t::err_in [private]
5.186.4.4 MHAEvents::patchbay_t<adapt_filter_t>MHAFilter::adapt_filter_t::connector
[private]
5.186.4.5 unsigned int MHAFilter::adapt_filter_t::nchannels [private]
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
5.187 MHAFilter::blockprocessing_polyphase_resampling_t Class Reference
A class that does polyphase resampling and takes into account block processing.
Public Member Functions
blockprocessing_polyphase_resampling_t (float source_srate, unsigned source_-
fragsize, float target_srate, unsigned target_fragsize, float nyquist_ratio, float irslen, un-
signed nchannels, bool add_delay)
Contructs a polyphase resampling filter that can be used for blockprocessing with the given
parameters.
virtual blockprocessing_polyphase_resampling_t ()
void write (mha_wave_t &signal)
Write signal to the ringbuffer.
void read (mha_wave_t &signal)
Read resampled signal.
bool can_read () const
Checks if the resampling ring buffer can produce another output signal block.
Private Attributes
polyphase_resampling_t resampling
unsigned fragsize_in
unsigned fragsize_out
unsigned num_channels
© 2005-2019 HörTech gGmbH, Oldenburg
518 CONTENTS
5.187.1 Detailed Description
A class that does polyphase resampling and takes into account block processing.
5.187.2 Constructor & Destructor Documentation
5.187.2.1 MHAFilter::blockprocessing_polyphase_resampling_t::blockprocessing_polyphase_-
resampling_t (
float source_srate,
unsigned source_fragsize,
float target_srate,
unsigned target_fragsize,
float nyquist_ratio,
float irslen,
unsigned nchannels,
bool add_delay )
Contructs a polyphase resampling filter that can be used for blockprocessing with the given
parameters.
Parameters
source_srate Source sampling rate / Hz
source_fragsize Fragment size of incoming audio blocks / frames at source_srate
target_srate Target sampling rate / Hz
target_fragsize Fragment size of produced audio blocks / frames at target_srate
nyquist_ratio Low pass filter cutoff frequency relative to the nyquist frequency of the
smaller of the two sampling rates. Example values: 0.8, 0.9
irslen Impulse response length used for low pass filtering / s
nchannels Number of audio channels
add_delay To avoid underruns, a delay is generally necessary for round trip block
size adaptations. It is only necessary to add this delay to one of the two
resampling chains. Set this parameter to true for the first resampling
object of a round trip pair. It will add the necessary delay, and calculate
the size of the ring buffer appropriately, When set to false, only the
ringbuffer size will be set sufficiently.
5.187.2.2 virtual MHAFilter::blockprocessing_polyphase_resampling_t::blockprocessing_polyphase-
_resampling_t ( ) [inline],[virtual]
5.187.3 Member Function Documentation
5.187.3.1 void MHAFilter::blockprocessing_polyphase_resampling_t::write (
mha_wave_t &signal )
Write signal to the ringbuffer.
© 2005-2019 HörTech gGmbH, Oldenburg
5.187 MHAFilter::blockprocessing_polyphase_resampling_t Class
Reference 519
Parameters
signal input signal in original sampling rate
Exceptions
MHA_Error (p. 445)Raises exception if there is not enough room, if the number of
channels does not match, or if the number of frames is not equal to
the number specified in the constructor
5.187.3.2 void MHAFilter::blockprocessing_polyphase_resampling_t::read (
mha_wave_t &signal )
Read resampled signal.
Will perform the resampling and remove no longer needed samples from the input buffer.
Parameters
signal buffer to write the resampled signal to.
Exceptions
MHA_Error (p. 445)Raises exception if there is not enough input signal, if the number of
channels of frames does not match.
5.187.3.3 bool MHAFilter::blockprocessing_polyphase_resampling_t::can_read ( ) const [inline]
Checks if the resampling ring buffer can produce another output signal block.
5.187.4 Member Data Documentation
5.187.4.1 polyphase_resampling_tMHAFilter::blockprocessing_polyphase_resampling_t-
::resampling [private]
5.187.4.2 unsigned MHAFilter::blockprocessing_polyphase_resampling_t::fragsize_in [private]
5.187.4.3 unsigned MHAFilter::blockprocessing_polyphase_resampling_t::fragsize_out [private]
5.187.4.4 unsigned MHAFilter::blockprocessing_polyphase_resampling_t::num_channels
[private]
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
520 CONTENTS
5.188 MHAFilter::complex_bandpass_t Class Reference
Complex bandpass filter.
Public Member Functions
complex_bandpass_t (std::vector<mha_complex_t >A, std::vector<mha_-
complex_t >B)
Constructor with filter coefficients (one per channel)
void set_state (mha_real_t val)
void set_state (std::vector<mha_real_t >val)
void set_state (mha_complex_t val)
void set_weights (std::vector<mha_complex_t >new_B)
Allow to modify the input weights at a later stage.
• std::vector<mha_complex_t >get_weights () const
void filter (const mha_wave_t &X, mha_spec_t &Y)
Filter method for real value input.
void filter (const mha_wave_t &X, mha_wave_t &Yre, mha_wave_t &Yim)
Filter method for real value input.
void filter (const mha_spec_t &X, mha_spec_t &Y)
Filter method for complex value input.
• void filter (const mha_wave_t &Xre, const mha_wave_t &Xim, mha_wave_t &Yre,
mha_wave_t &Yim)
Filter method for complex value input.
std::string inspect () const
Static Public Member Functions
static std::vector<mha_complex_t >creator_A (std::vector<mha_real_t >cf, std-
::vector<mha_real_t >bw, mha_real_t srate, unsigned int order)
static std::vector<mha_complex_t >creator_B (std::vector<mha_complex_t >A,
unsigned int order)
Private Attributes
• std::vector<mha_complex_t >A_
• std::vector<mha_complex_t >B_
• std::vector<mha_complex_t >Yn
5.188.1 Detailed Description
Complex bandpass filter.
© 2005-2019 HörTech gGmbH, Oldenburg
5.188 MHAFilter::complex_bandpass_t Class Reference 521
5.188.2 Constructor & Destructor Documentation
5.188.2.1 MHAFilter::complex_bandpass_t::complex_bandpass_t (
std::vector<mha_complex_t >A,
std::vector<mha_complex_t >B)
Constructor with filter coefficients (one per channel)
Parameters
Acomplex filter coefficients, one per band
Bcomplex weights
5.188.3 Member Function Documentation
5.188.3.1 std::vector<mha_complex_t >MHAFilter::complex_bandpass_t::creator_A (
std::vector<mha_real_t >cf,
std::vector<mha_real_t >bw,
mha_real_t srate,
unsigned int order )[static]
5.188.3.2 std::vector<mha_complex_t >MHAFilter::complex_bandpass_t::creator_B (
std::vector<mha_complex_t >A,
unsigned int order )[static]
5.188.3.3 void MHAFilter::complex_bandpass_t::set_state (
mha_real_t val )
5.188.3.4 void MHAFilter::complex_bandpass_t::set_state (
std::vector<mha_real_t >val )
5.188.3.5 void MHAFilter::complex_bandpass_t::set_state (
mha_complex_t val )
5.188.3.6 void MHAFilter::complex_bandpass_t::set_weights (
std::vector<mha_complex_t >new_B )
Allow to modify the input weights at a later stage.
5.188.3.7 std::vector<mha_complex_t>MHAFilter::complex_bandpass_t::get_weights ( ) const
[inline]
5.188.3.8 void MHAFilter::complex_bandpass_t::filter (
const mha_wave_t &X,
mha_spec_t &Y)[inline]
Filter method for real value input.
© 2005-2019 HörTech gGmbH, Oldenburg
522 CONTENTS
5.188.3.9 void MHAFilter::complex_bandpass_t::filter (
const mha_wave_t &X,
mha_wave_t &Yre,
mha_wave_t &Yim )[inline]
Filter method for real value input.
5.188.3.10 void MHAFilter::complex_bandpass_t::filter (
const mha_spec_t &X,
mha_spec_t &Y)[inline]
Filter method for complex value input.
5.188.3.11 void MHAFilter::complex_bandpass_t::filter (
const mha_wave_t &Xre,
const mha_wave_t &Xim,
mha_wave_t &Yre,
mha_wave_t &Yim )[inline]
Filter method for complex value input.
5.188.3.12 std::string MHAFilter::complex_bandpass_t::inspect ( ) const [inline]
5.188.4 Member Data Documentation
5.188.4.1 std::vector<mha_complex_t>MHAFilter::complex_bandpass_t::A_ [private]
5.188.4.2 std::vector<mha_complex_t>MHAFilter::complex_bandpass_t::B_ [private]
5.188.4.3 std::vector<mha_complex_t>MHAFilter::complex_bandpass_t::Yn [private]
The documentation for this class was generated from the following files:
complex_filter.h
complex_filter.cpp
5.189 MHAFilter::diff_t Class Reference
Differentiator class (non-normalized)
Inheritance diagram for MHAFilter::diff_t:
MHAFilter::diff_t
MHAFilter::filter_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.190 MHAFilter::fftfilter_t Class Reference 523
Public Member Functions
diff_t (unsigned int ch)
Additional Inherited Members
5.189.1 Detailed Description
Differentiator class (non-normalized)
5.189.2 Constructor & Destructor Documentation
5.189.2.1 MHAFilter::diff_t::diff_t (
unsigned int ch )
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
5.190 MHAFilter::fftfilter_t Class Reference
FFT based FIR filter implementation.
Inheritance diagram for MHAFilter::fftfilter_t:
MHAFilter::fftfilter_t
MHAFilter::resampling
_filter_t
© 2005-2019 HörTech gGmbH, Oldenburg
524 CONTENTS
Public Member Functions
fftfilter_t (unsigned int fragsize, unsigned int channels, unsigned int fftlen)
Constructor.
fftfilter_t ()
void update_coeffs (const mha_wave_t pwIRS)
Update the set of coefficients.
void filter (const mha_wave_t pwIn, mha_wave_t ∗∗ppwOut, const mha_wave_t pw-
IRS)
Apply filter with changing coefficients to a waveform fragment.
void filter (const mha_wave_t pwIn, mha_wave_t ∗∗ppwOut)
Apply filter to waveform fragment, without changing the coefficients.
void filter (const mha_wave_t pwIn, mha_wave_t ∗∗ppwOut, const mha_spec_t ps-
Weights)
Apply filter with changing coefficients to a waveform fragment.
Private Attributes
unsigned int fragsize
unsigned int channels
unsigned int fftlen
MHASignal::waveform_t wInput_fft
mha_wave_t wInput
MHASignal::waveform_t wOutput_fft
mha_wave_t wOutput
MHASignal::spectrum_t sInput
MHASignal::spectrum_t sWeights
MHASignal::waveform_t wIRS_fft
mha_fft_t fft
5.190.1 Detailed Description
FFT based FIR filter implementation.
The maximal number of coefficients can be FFT length - fragsize + 1.
5.190.2 Constructor & Destructor Documentation
5.190.2.1 MHAFilter::fftfilter_t::fftfilter_t (
unsigned int fragsize,
unsigned int channels,
unsigned int fftlen )
Constructor.
© 2005-2019 HörTech gGmbH, Oldenburg
5.190 MHAFilter::fftfilter_t Class Reference 525
Parameters
fragsize Number of frames expected in input signal (each cycle).
channels Number of channels expected in input signal.
fftlen FFT length of filter.
5.190.2.2 MHAFilter::fftfilter_t::fftfilter_t ( )
5.190.3 Member Function Documentation
5.190.3.1 void MHAFilter::fftfilter_t::update_coeffs (
const mha_wave_t pwIRS )
Update the set of coefficients.
Parameters
pwIRS Coefficients structure
Note
The number of channels in h must match the number of channels given in the constructor.
The filter length is limited to fftlen-fragsize+1 (longer IRS will be shortened).
5.190.3.2 void MHAFilter::fftfilter_t::filter (
const mha_wave_t pwIn,
mha_wave_t ∗∗ ppwOut,
const mha_wave_t pwIRS )
Apply filter with changing coefficients to a waveform fragment.
Parameters
pw-
In
Input signal pointer.
Return values
ppwOut Pointer to output signal pointer, will be set to a valid signal.
Parameters
pwIRS Pointer to FIR coefficients structure.
© 2005-2019 HörTech gGmbH, Oldenburg
526 CONTENTS
5.190.3.3 void MHAFilter::fftfilter_t::filter (
const mha_wave_t pwIn,
mha_wave_t ∗∗ ppwOut )
Apply filter to waveform fragment, without changing the coefficients.
Parameters
pw-
In
Input signal pointer.
Return values
ppwOut Pointer to output signal pointer, will be set to a valid signal
5.190.3.4 void MHAFilter::fftfilter_t::filter (
const mha_wave_t pwIn,
mha_wave_t ∗∗ ppwOut,
const mha_spec_t psWeights )
Apply filter with changing coefficients to a waveform fragment.
Parameters
pw-
In
Input signal pointer.
Return values
ppwOut Pointer to output signal pointer, will be set to a valid signal.
Parameters
psWeights Pointer to filter weights structure.
5.190.4 Member Data Documentation
5.190.4.1 unsigned int MHAFilter::fftfilter_t::fragsize [private]
5.190.4.2 unsigned int MHAFilter::fftfilter_t::channels [private]
5.190.4.3 unsigned int MHAFilter::fftfilter_t::fftlen [private]
© 2005-2019 HörTech gGmbH, Oldenburg
5.191 MHAFilter::fftfilterbank_t Class Reference 527
5.190.4.4 MHASignal::waveform_t MHAFilter::fftfilter_t::wInput_fft [private]
5.190.4.5 mha_wave_t MHAFilter::fftfilter_t::wInput [private]
5.190.4.6 MHASignal::waveform_t MHAFilter::fftfilter_t::wOutput_fft [private]
5.190.4.7 mha_wave_t MHAFilter::fftfilter_t::wOutput [private]
5.190.4.8 MHASignal::spectrum_t MHAFilter::fftfilter_t::sInput [private]
5.190.4.9 MHASignal::spectrum_t MHAFilter::fftfilter_t::sWeights [private]
5.190.4.10 MHASignal::waveform_t MHAFilter::fftfilter_t::wIRS_fft [private]
5.190.4.11 mha_fft_t MHAFilter::fftfilter_t::fft [private]
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
5.191 MHAFilter::fftfilterbank_t Class Reference
FFT based FIR filterbank implementation.
Inheritance diagram for MHAFilter::fftfilterbank_t:
MHAFilter::fftfilterbank_t
MHAOvlFilter::overlap
_save_filterbank_t
MHAOvlFilter::overlap
_save_filterbank_analytic_t
fftfilterbank::fftfb
_plug_t
© 2005-2019 HörTech gGmbH, Oldenburg
528 CONTENTS
Public Member Functions
fftfilterbank_t (unsigned int fragsize, unsigned int inputchannels, unsigned int firchan-
nels, unsigned int fftlen)
Constructor.
fftfilterbank_t ()
void update_coeffs (const mha_wave_t h)
Update the set of coefficients.
void filter (const mha_wave_t s_in, mha_wave_t ∗∗s_out, const mha_wave_t h)
Apply filter with changing coefficients to a waveform fragment.
void filter (const mha_wave_t s_in, mha_wave_t ∗∗s_out)
Apply filter to waveform fragment, without changing the coefficients.
const mha_wave_t get_irs () const
Return the current IRS.
Private Attributes
unsigned int fragsize
unsigned int inputchannels
unsigned int firchannels
unsigned int outputchannels
unsigned int fftlen
MHASignal::waveform_t hw
MHASignal::spectrum_t Hs
MHASignal::waveform_t xw
MHASignal::spectrum_t Xs
MHASignal::waveform_t yw
MHASignal::spectrum_t Ys
MHASignal::waveform_t yw_temp
MHASignal::waveform_t tail
mha_fft_t fft
5.191.1 Detailed Description
FFT based FIR filterbank implementation.
This class convolves n input channels with m filter coefficient sets and returns nm output
channels.
The maximal number of coefficients can be FFT length - fragsize + 1.
5.191.2 Constructor & Destructor Documentation
5.191.2.1 MHAFilter::fftfilterbank_t::fftfilterbank_t (
unsigned int fragsize,
unsigned int inputchannels,
unsigned int firchannels,
unsigned int fftlen )
Constructor.
© 2005-2019 HörTech gGmbH, Oldenburg
5.191 MHAFilter::fftfilterbank_t Class Reference 529
Parameters
fragsize Number of frames expected in input signal (each cycle).
inputchannels Number of channels expected in input signal.
firchannels Number of channels expected in FIR filter coefficients (= number of bands).
fftlen FFT length of filter.
The number of output channels is inputchannelsfirchannels.
5.191.2.2 MHAFilter::fftfilterbank_t::fftfilterbank_t ( )
5.191.3 Member Function Documentation
5.191.3.1 void MHAFilter::fftfilterbank_t::update_coeffs (
const mha_wave_t h)
Update the set of coefficients.
Parameters
hCoefficients structure
Note
The number of channels in h must match the number of channels given in the constructor,
and the number of frames can not be more than fftlen-fragsize+1.
5.191.3.2 void MHAFilter::fftfilterbank_t::filter (
const mha_wave_t s_in,
mha_wave_t ∗∗ s_out,
const mha_wave_t h)
Apply filter with changing coefficients to a waveform fragment.
Parameters
s-
_in
Input signal pointer.
Return values
s_out Pointer to output signal pointer, will be set to a valid signal
© 2005-2019 HörTech gGmbH, Oldenburg
530 CONTENTS
Parameters
hFIR coefficients
5.191.3.3 void MHAFilter::fftfilterbank_t::filter (
const mha_wave_t s_in,
mha_wave_t ∗∗ s_out )
Apply filter to waveform fragment, without changing the coefficients.
Parameters
s-
_in
Input signal pointer.
Return values
s_out Pointer to output signal pointer, will be set to a valid signal
5.191.3.4 const mha_wave_tMHAFilter::fftfilterbank_t::get_irs ( ) const [inline]
Return the current IRS.
5.191.4 Member Data Documentation
5.191.4.1 unsigned int MHAFilter::fftfilterbank_t::fragsize [private]
5.191.4.2 unsigned int MHAFilter::fftfilterbank_t::inputchannels [private]
5.191.4.3 unsigned int MHAFilter::fftfilterbank_t::firchannels [private]
5.191.4.4 unsigned int MHAFilter::fftfilterbank_t::outputchannels [private]
5.191.4.5 unsigned int MHAFilter::fftfilterbank_t::fftlen [private]
5.191.4.6 MHASignal::waveform_t MHAFilter::fftfilterbank_t::hw [private]
5.191.4.7 MHASignal::spectrum_t MHAFilter::fftfilterbank_t::Hs [private]
5.191.4.8 MHASignal::waveform_t MHAFilter::fftfilterbank_t::xw [private]
5.191.4.9 MHASignal::spectrum_t MHAFilter::fftfilterbank_t::Xs [private]
© 2005-2019 HörTech gGmbH, Oldenburg
5.192 MHAFilter::filter_t Class Reference 531
5.191.4.10 MHASignal::waveform_t MHAFilter::fftfilterbank_t::yw [private]
5.191.4.11 MHASignal::spectrum_t MHAFilter::fftfilterbank_t::Ys [private]
5.191.4.12 MHASignal::waveform_t MHAFilter::fftfilterbank_t::yw_temp [private]
5.191.4.13 MHASignal::waveform_t MHAFilter::fftfilterbank_t::tail [private]
5.191.4.14 mha_fft_t MHAFilter::fftfilterbank_t::fft [private]
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
5.192 MHAFilter::filter_t Class Reference
Generic IIR filter class.
Inheritance diagram for MHAFilter::filter_t:
MHAFilter::filter_t
MHAFilter::diff_t MHAFilter::iir_filter
_state_t
Public Member Functions
filter_t (unsigned int ch, unsigned int lena, unsigned int lenb)
Constructor.
filter_t (unsigned int ch, const std::vector<mha_real_t >&vA, const std::vector<mha-
_real_t >&vB)
Constructor with initialization of coefficients.
filter_t (const MHAFilter::filter_t &src)
filter_t ()
void filter (mha_wave_t out, const mha_wave_t in)
© 2005-2019 HörTech gGmbH, Oldenburg
532 CONTENTS
Filter all channels in a waveform structure.
void filter (mha_real_t dest, const mha_real_t src, unsigned int dframes, unsigned
int frame_dist, unsigned int channel_dist, unsigned int channel_begin, unsigned int
channel_end)
Filter parts of a waveform structure.
mha_real_t filter (mha_real_t x, unsigned int ch)
Filter one sample.
unsigned int get_len_A () const
Return length of recursive coefficients.
unsigned int get_len_B () const
Return length of non-recursive coefficients.
Public Attributes
double A
Pointer to recursive coefficients.
double B
Pointer to non-recursive coefficients.
Private Attributes
unsigned int len_A
unsigned int len_B
unsigned int len
unsigned int channels
double state
5.192.1 Detailed Description
Generic IIR filter class.
This class implements a generic multichannel IIR filter. It is realized as direct form II. It can
work on any float array or on mha_wave_t (p. 496) structs. The filter coefficients can be directly
accessed.
Todo Implement a more robust filter form.
5.192.2 Constructor & Destructor Documentation
5.192.2.1 MHAFilter::filter_t::filter_t (
unsigned int ch,
unsigned int lena,
unsigned int lenb )
Constructor.
© 2005-2019 HörTech gGmbH, Oldenburg
5.192 MHAFilter::filter_t Class Reference 533
Parameters
ch Number of channels
lena Number of recursive coefficients
lenb Number of non-recursive coefficients
5.192.2.2 MHAFilter::filter_t::filter_t (
unsigned int ch,
const std::vector<mha_real_t >&vA,
const std::vector<mha_real_t >&vB )
Constructor with initialization of coefficients.
Parameters
ch Number of channels.
vA Recursive coefficients.
vB Non-recursive coefficients.
5.192.2.3 MHAFilter::filter_t::filter_t (
const MHAFilter::filter_t &src )
5.192.2.4 MHAFilter::filter_t::filter_t ( )
5.192.3 Member Function Documentation
5.192.3.1 void MHAFilter::filter_t::filter (
mha_wave_t out,
const mha_wave_t in )
Filter all channels in a waveform structure.
Parameters
out Output signal
in Input signal
© 2005-2019 HörTech gGmbH, Oldenburg
534 CONTENTS
5.192.3.2 void MHAFilter::filter_t::filter (
mha_real_t dest,
const mha_real_t src,
unsigned int dframes,
unsigned int frame_dist,
unsigned int channel_dist,
unsigned int channel_begin,
unsigned int channel_end )
Filter parts of a waveform structure.
Parameters
dest Output signal.
src Input signal.
dframes Number of frames to be filtered.
frame_dist Index distance between frames of one channel
channel_dist Index distance between audio channels
channel_begin Number of first channel to be processed
channel_end Number of last channel to be processed
5.192.3.3 mha_real_t MHAFilter::filter_t::filter (
mha_real_t x,
unsigned int ch )
Filter one sample.
Parameters
xInput value
ch Channel number to use in filter state
5.192.3.4 unsigned int MHAFilter::filter_t::get_len_A ( ) const [inline]
Return length of recursive coefficients.
5.192.3.5 unsigned int MHAFilter::filter_t::get_len_B ( ) const [inline]
Return length of non-recursive coefficients.
5.192.4 Member Data Documentation
5.192.4.1 doubleMHAFilter::filter_t::A
Pointer to recursive coefficients.
© 2005-2019 HörTech gGmbH, Oldenburg
5.193 MHAFilter::gamma_flt_t Class Reference 535
5.192.4.2 doubleMHAFilter::filter_t::B
Pointer to non-recursive coefficients.
5.192.4.3 unsigned int MHAFilter::filter_t::len_A [private]
5.192.4.4 unsigned int MHAFilter::filter_t::len_B [private]
5.192.4.5 unsigned int MHAFilter::filter_t::len [private]
5.192.4.6 unsigned int MHAFilter::filter_t::channels [private]
5.192.4.7 doubleMHAFilter::filter_t::state [private]
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
5.193 MHAFilter::gamma_flt_t Class Reference
Class for gammatone filter.
Public Member Functions
gamma_flt_t (std::vector<mha_real_t >cf, std::vector<mha_real_t >bw, mha_real-
_t srate, unsigned int order)
Constructor.
gamma_flt_t ()
void operator() (mha_wave_t &X, mha_spec_t &Y)
Filter method.
void operator() (mha_wave_t &X, mha_wave_t &Yre, mha_wave_t &Yim)
Filter method.
void operator() (mha_wave_t &Yre, mha_wave_t &Yim, unsigned int stage)
Filter method for specific stage.
void phase_correction (unsigned int desired_delay, unsigned int inchannels)
void set_weights (std::vector<mha_complex_t >new_B)
void set_weights (unsigned int stage, std::vector<mha_complex_t >new_B)
• std::vector<mha_complex_t >get_weights () const
• std::vector<mha_complex_t >get_weights (unsigned int stage) const
• std::vector<mha_real_t >get_resynthesis_gain () const
void reset_state ()
const std::vector<mha_complex_t >&get_A ()
std::string inspect () const
© 2005-2019 HörTech gGmbH, Oldenburg
536 CONTENTS
Private Attributes
• std::vector<mha_complex_t >A
• std::vector<complex_bandpass_t >GF
MHASignal::delay_t delay
• std::vector<int >envelope_delay
• std::vector<mha_real_t >resynthesis_gain
• std::vector<mha_real_t >cf_
• std::vector<mha_real_t >bw_
mha_real_t srate_
5.193.1 Detailed Description
Class for gammatone filter.
5.193.2 Constructor & Destructor Documentation
5.193.2.1 MHAFilter::gamma_flt_t::gamma_flt_t (
std::vector<mha_real_t >cf,
std::vector<mha_real_t >bw,
mha_real_t srate,
unsigned int order )
Constructor.
Parameters
cf Center frequency in Hz.
bw Bandwidth in Hz (same number of entries as in cf).
srate Sampling frequency in Hz.
order Filter order.
5.193.2.2 MHAFilter::gamma_flt_t::gamma_flt_t ( )
5.193.3 Member Function Documentation
5.193.3.1 void MHAFilter::gamma_flt_t::operator() (
mha_wave_t &X,
mha_spec_t &Y)[inline]
Filter method.
© 2005-2019 HörTech gGmbH, Oldenburg
5.193 MHAFilter::gamma_flt_t Class Reference 537
5.193.3.2 void MHAFilter::gamma_flt_t::operator() (
mha_wave_t &X,
mha_wave_t &Yre,
mha_wave_t &Yim )[inline]
Filter method.
5.193.3.3 void MHAFilter::gamma_flt_t::operator() (
mha_wave_t &Yre,
mha_wave_t &Yim,
unsigned int stage )[inline]
Filter method for specific stage.
5.193.3.4 void MHAFilter::gamma_flt_t::phase_correction (
unsigned int desired_delay,
unsigned int inchannels )
5.193.3.5 void MHAFilter::gamma_flt_t::set_weights (
std::vector<mha_complex_t >new_B )
5.193.3.6 void MHAFilter::gamma_flt_t::set_weights (
unsigned int stage,
std::vector<mha_complex_t >new_B )
5.193.3.7 std::vector<mha_complex_t>MHAFilter::gamma_flt_t::get_weights ( ) const
[inline]
5.193.3.8 std::vector<mha_complex_t>MHAFilter::gamma_flt_t::get_weights (
unsigned int stage ) const [inline]
5.193.3.9 std::vector<mha_real_t>MHAFilter::gamma_flt_t::get_resynthesis_gain ( ) const
[inline]
5.193.3.10 void MHAFilter::gamma_flt_t::reset_state ( )
5.193.3.11 const std::vector<mha_complex_t>& MHAFilter::gamma_flt_t::get_A ( ) [inline]
5.193.3.12 std::string MHAFilter::gamma_flt_t::inspect ( ) const [inline]
5.193.4 Member Data Documentation
5.193.4.1 std::vector<mha_complex_t>MHAFilter::gamma_flt_t::A [private]
5.193.4.2 std::vector<complex_bandpass_t>MHAFilter::gamma_flt_t::GF [private]
© 2005-2019 HörTech gGmbH, Oldenburg
538 CONTENTS
5.193.4.3 MHASignal::delay_tMHAFilter::gamma_flt_t::delay [private]
5.193.4.4 std::vector<int>MHAFilter::gamma_flt_t::envelope_delay [private]
5.193.4.5 std::vector<mha_real_t>MHAFilter::gamma_flt_t::resynthesis_gain [private]
5.193.4.6 std::vector<mha_real_t>MHAFilter::gamma_flt_t::cf_ [private]
5.193.4.7 std::vector<mha_real_t>MHAFilter::gamma_flt_t::bw_ [private]
5.193.4.8 mha_real_t MHAFilter::gamma_flt_t::srate_ [private]
The documentation for this class was generated from the following files:
complex_filter.h
complex_filter.cpp
5.194 MHAFilter::iir_filter_state_t Class Reference
Inheritance diagram for MHAFilter::iir_filter_state_t:
MHAFilter::iir_filter
_state_t
MHAFilter::filter_t
Public Member Functions
iir_filter_state_t (unsigned int channels, std::vector<float >cf_A, std::vector<float >
cf_B)
© 2005-2019 HörTech gGmbH, Oldenburg
5.195 MHAFilter::iir_filter_t Class Reference 539
Additional Inherited Members
5.194.1 Constructor & Destructor Documentation
5.194.1.1 MHAFilter::iir_filter_state_t::iir_filter_state_t (
unsigned int channels,
std::vector<float >cf_A,
std::vector<float >cf_B )
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
5.195 MHAFilter::iir_filter_t Class Reference
IIR filter class wrapper for integration into parser structure.
Inheritance diagram for MHAFilter::iir_filter_t:
MHAFilter::iir_filter_t
iirfilter_t
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< iir_filter_state_t >
© 2005-2019 HörTech gGmbH, Oldenburg
540 CONTENTS
Public Member Functions
iir_filter_t (std::string help="IIR filter structure", std::string def_A="[1]", std::string def-
_B="[1]", unsigned int channels=1)
Constructor of the IIR filter.
void filter (mha_wave_t y, const mha_wave_t x)
The filter processes the audio signal.
mha_real_t filter (mha_real_t x, unsigned int ch)
Filter a single audio sample.
void resize (unsigned int channels)
Change the number of channels after object creation.
Private Member Functions
void update_filter ()
Private Attributes
MHAParser::vfloat_t A
MHAParser::vfloat_t B
MHAEvents::patchbay_t<iir_filter_t >connector
unsigned int nchannels
Additional Inherited Members
5.195.1 Detailed Description
IIR filter class wrapper for integration into parser structure.
This class implements an infinite impulse response filter. Since it inherits from MHAParser-
::parser_t (p. 688), it can easily be integrated in the openMHA configuration tree. It provides
the configuration language variables "A" (vector of recursive filter coefficients) and "B" (vector
of non-recursive filter coefficients).
The filter instance reacts to changes in filter coefficients through the openMHA configuration
language, and uses the updated coefficients in the next invocation of the filter method.
Update of the coefficients is thread-safe and non-blocking. Simply add this subparser to your
parser items and use the "filter" member function. Filter states are reset to all 0 on update.
5.195.2 Constructor & Destructor Documentation
5.195.2.1 MHAFilter::iir_filter_t::iir_filter_t (
std::string help = "IIR filter structure",
std::string def_A = "[1]",
std::string def_B = "[1]",
unsigned int channels = 1)
Constructor of the IIR filter.
Initialises the sub-parser structure and the memory for holding the filter's state.
© 2005-2019 HörTech gGmbH, Oldenburg
5.195 MHAFilter::iir_filter_t Class Reference 541
Parameters
help The help string for the parser that groups the configuration variables of this filter.
Could be used to describe the purpose of this IIR filter.
def_A The initial value of the vector of the recursive filter coefficients, represented as
string.
def_B The initial value of the vector of the non-recursive filter coefficients, represented
as string.
channels The number of indipendent audio channels to process with this filter. Needed to
allocate a state vector for each audio channel.
5.195.3 Member Function Documentation
5.195.3.1 void MHAFilter::iir_filter_t::filter (
mha_wave_t y,
const mha_wave_t x)
The filter processes the audio signal.
All channels in the audio signal are processed using the same filter coefficients. Indipendent
state is stored between calls for each audio channel.
Parameters
yPointer to output signal holder. The output signal is stored here. Has to have the same
signal dimensions as the input signal x. In-place processing (y and x pointing to the
same signal holder) is possible.
xPointer to input signal holder. Number of channels has to be the same as given to the
constructor, or to the resize (p. 542) method.
5.195.3.2 mha_real_t MHAFilter::iir_filter_t::filter (
mha_real_t x,
unsigned int ch )
Filter a single audio sample.
Parameters
xThe single audio sample
ch Zero-based channel index. Use and change the state of channel ch. ch has to be less
than the number of channels given to the constructor or the resize (p. 542) method.
© 2005-2019 HörTech gGmbH, Oldenburg
542 CONTENTS
Returns
the filtered result sample.
5.195.3.3 void MHAFilter::iir_filter_t::resize (
unsigned int channels )
Change the number of channels after object creation.
Parameters
channels The new number of channels. Old filter states are lost.
5.195.3.4 void MHAFilter::iir_filter_t::update_filter ( ) [private]
5.195.4 Member Data Documentation
5.195.4.1 MHAParser::vfloat_t MHAFilter::iir_filter_t::A [private]
5.195.4.2 MHAParser::vfloat_t MHAFilter::iir_filter_t::B [private]
5.195.4.3 MHAEvents::patchbay_t<iir_filter_t>MHAFilter::iir_filter_t::connector [private]
5.195.4.4 unsigned int MHAFilter::iir_filter_t::nchannels [private]
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
5.196 MHAFilter::iir_ord1_real_t Class Reference
First order recursive filter.
© 2005-2019 HörTech gGmbH, Oldenburg
5.196 MHAFilter::iir_ord1_real_t Class Reference 543
Public Member Functions
iir_ord1_real_t (std::vector<mha_real_t >A, std::vector<mha_real_t >B)
Constructor with filter coefficients (one per channel)
iir_ord1_real_t (std::vector<mha_real_t >tau, mha_real_t srate)
Constructor for low pass filter (one time constant per channel)
void set_state (mha_real_t val)
void set_state (std::vector<mha_real_t >val)
void set_state (mha_complex_t val)
mha_real_t operator() (unsigned int ch, mha_real_t x)
Filter method for real value input, one element.
mha_complex_t operator() (unsigned int ch, mha_complex_t x)
Filter method for complex input, one element.
void operator() (const mha_wave_t &X, mha_wave_t &Y)
Filter method for real value input.
void operator() (const mha_spec_t &X, mha_spec_t &Y)
Filter method for complex value input.
void operator() (const mha_wave_t &Xre, const mha_wave_t &Xim, mha_wave_t &Yre,
mha_wave_t &Yim)
Filter method for complex value input.
Private Attributes
• std::vector<mha_real_t >A_
• std::vector<mha_real_t >B_
• std::vector<mha_complex_t >Yn
5.196.1 Detailed Description
First order recursive filter.
5.196.2 Constructor & Destructor Documentation
5.196.2.1 MHAFilter::iir_ord1_real_t::iir_ord1_real_t (
std::vector<mha_real_t >A,
std::vector<mha_real_t >B)
Constructor with filter coefficients (one per channel)
5.196.2.2 MHAFilter::iir_ord1_real_t::iir_ord1_real_t (
std::vector<mha_real_t >tau,
mha_real_t srate )
Constructor for low pass filter (one time constant per channel)
© 2005-2019 HörTech gGmbH, Oldenburg
544 CONTENTS
5.196.3 Member Function Documentation
5.196.3.1 void MHAFilter::iir_ord1_real_t::set_state (
mha_real_t val )
5.196.3.2 void MHAFilter::iir_ord1_real_t::set_state (
std::vector<mha_real_t >val )
5.196.3.3 void MHAFilter::iir_ord1_real_t::set_state (
mha_complex_t val )
5.196.3.4 mha_real_t MHAFilter::iir_ord1_real_t::operator() (
unsigned int ch,
mha_real_t x)[inline]
Filter method for real value input, one element.
5.196.3.5 mha_complex_t MHAFilter::iir_ord1_real_t::operator() (
unsigned int ch,
mha_complex_t x)[inline]
Filter method for complex input, one element.
5.196.3.6 void MHAFilter::iir_ord1_real_t::operator() (
const mha_wave_t &X,
mha_wave_t &Y)[inline]
Filter method for real value input.
5.196.3.7 void MHAFilter::iir_ord1_real_t::operator() (
const mha_spec_t &X,
mha_spec_t &Y)[inline]
Filter method for complex value input.
5.196.3.8 void MHAFilter::iir_ord1_real_t::operator() (
const mha_wave_t &Xre,
const mha_wave_t &Xim,
mha_wave_t &Yre,
mha_wave_t &Yim )[inline]
Filter method for complex value input.
© 2005-2019 HörTech gGmbH, Oldenburg
5.197 MHAFilter::o1_ar_filter_t Class Reference 545
5.196.4 Member Data Documentation
5.196.4.1 std::vector<mha_real_t>MHAFilter::iir_ord1_real_t::A_ [private]
5.196.4.2 std::vector<mha_real_t>MHAFilter::iir_ord1_real_t::B_ [private]
5.196.4.3 std::vector<mha_complex_t>MHAFilter::iir_ord1_real_t::Yn [private]
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
5.197 MHAFilter::o1_ar_filter_t Class Reference
First order attack-release lowpass filter.
Inheritance diagram for MHAFilter::o1_ar_filter_t:
MHAFilter::o1_ar_filter_t
MHAFilter::o1flt_lowpass_t
MHASignal::waveform_t
mha_wave_t
MHAFilter::o1flt_maxtrack_t MHAFilter::o1flt_mintrack_t
© 2005-2019 HörTech gGmbH, Oldenburg
546 CONTENTS
Public Member Functions
o1_ar_filter_t (unsigned int channels,mha_real_t fs=1.0f, std::vector<mha_real_t >
tau_a=std::vector<float >(1, 0.0f), std::vector<mha_real_t >tau_r=std::vector<float
>(1, 0.0f))
Constructor, setting all taus to zero.
void set_tau_attack (unsigned int ch, mha_real_t tau)
Set the attack time constant.
void set_tau_release (unsigned int ch, mha_real_t tau)
Set the release time constant.
mha_real_t operator() (unsigned int ch, mha_real_t x)
Apply filter to value x, using state channel ch.
void operator() (const mha_wave_t &in, mha_wave_t &out)
Apply filter to a mha_wave_t (p. 496) data.
Protected Attributes
MHASignal::waveform_t c1_a
MHASignal::waveform_t c2_a
MHASignal::waveform_t c1_r
MHASignal::waveform_t c2_r
mha_real_t fs
Additional Inherited Members
5.197.1 Detailed Description
First order attack-release lowpass filter.
This filter is the base of first order lowpass filter, maximum tracker and minimum tracker.
5.197.2 Constructor & Destructor Documentation
5.197.2.1 MHAFilter::o1_ar_filter_t::o1_ar_filter_t (
unsigned int channels,
mha_real_t fs = 1.0f,
std::vector<mha_real_t >tau_a = std::vector<float>(1,0.0f),
std::vector<mha_real_t >tau_r = std::vector<float>(1,0.0f) )
Constructor, setting all taus to zero.
The filter state can be accessed through the member functions of MHASignal::waveform_t
(p. 812).
© 2005-2019 HörTech gGmbH, Oldenburg
5.197 MHAFilter::o1_ar_filter_t Class Reference 547
Parameters
channels Number of independent filters
fs Sampling rate (optional, default = 1)
tau_a Attack time constants (optional, default = 0)
tau_r Release time constants (optional, default = 0)
5.197.3 Member Function Documentation
5.197.3.1 void MHAFilter::o1_ar_filter_t::set_tau_attack (
unsigned int ch,
mha_real_t tau )
Set the attack time constant.
Parameters
ch Channel number
tau Time constant
5.197.3.2 void MHAFilter::o1_ar_filter_t::set_tau_release (
unsigned int ch,
mha_real_t tau )
Set the release time constant.
Parameters
ch Channel number
tau Time constant
5.197.3.3 mha_real_t MHAFilter::o1_ar_filter_t::operator() (
unsigned int ch,
mha_real_t x)[inline]
Apply filter to value x, using state channel ch.
Parameters
ch Cannel number
xInput value
© 2005-2019 HörTech gGmbH, Oldenburg
548 CONTENTS
Returns
Output value
5.197.3.4 void MHAFilter::o1_ar_filter_t::operator() (
const mha_wave_t &in,
mha_wave_t &out )[inline]
Apply filter to a mha_wave_t (p. 496) data.
Parameters
in Input signal
out Output signal
The number of channels must match the number of filter bands.
5.197.4 Member Data Documentation
5.197.4.1 MHASignal::waveform_t MHAFilter::o1_ar_filter_t::c1_a [protected]
5.197.4.2 MHASignal::waveform_t MHAFilter::o1_ar_filter_t::c2_a [protected]
5.197.4.3 MHASignal::waveform_t MHAFilter::o1_ar_filter_t::c1_r [protected]
5.197.4.4 MHASignal::waveform_t MHAFilter::o1_ar_filter_t::c2_r [protected]
5.197.4.5 mha_real_t MHAFilter::o1_ar_filter_t::fs [protected]
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
5.198 MHAFilter::o1flt_lowpass_t Class Reference
First order low pass filter.
© 2005-2019 HörTech gGmbH, Oldenburg
5.198 MHAFilter::o1flt_lowpass_t Class Reference 549
Inheritance diagram for MHAFilter::o1flt_lowpass_t:
MHAFilter::o1flt_lowpass_t
MHAFilter::o1flt_maxtrack_t MHAFilter::o1flt_mintrack_t
MHAFilter::o1_ar_filter_t
MHASignal::waveform_t
mha_wave_t
Public Member Functions
o1flt_lowpass_t (const std::vector<mha_real_t >&, mha_real_t,mha_real_t=0)
Constructor of low pass filter, sets sampling rate and time constants.
void set_tau (unsigned int ch, mha_real_t tau)
change the time constant in one channel
void set_tau (mha_real_t tau)
set time constant in all channels to tau
mha_real_t get_c1 (unsigned int ch) const
mha_real_t get_last_output (unsigned int ch) const
Additional Inherited Members
5.198.1 Detailed Description
First order low pass filter.
© 2005-2019 HörTech gGmbH, Oldenburg
550 CONTENTS
5.198.2 Constructor & Destructor Documentation
5.198.2.1 MHAFilter::o1flt_lowpass_t::o1flt_lowpass_t (
const std::vector<mha_real_t >&tau,
mha_real_t fs,
mha_real_t startval = 0)
Constructor of low pass filter, sets sampling rate and time constants.
Parameters
tau Vector of time constants
fs Sampling rate
startval Initial internal state value
5.198.3 Member Function Documentation
5.198.3.1 void MHAFilter::o1flt_lowpass_t::set_tau (
unsigned int ch,
mha_real_t tau )
change the time constant in one channel
5.198.3.2 void MHAFilter::o1flt_lowpass_t::set_tau (
mha_real_t tau )
set time constant in all channels to tau
5.198.3.3 mha_real_t MHAFilter::o1flt_lowpass_t::get_c1 (
unsigned int ch ) const [inline]
5.198.3.4 mha_real_t MHAFilter::o1flt_lowpass_t::get_last_output (
unsigned int ch ) const [inline]
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.199 MHAFilter::o1flt_maxtrack_t Class Reference 551
5.199 MHAFilter::o1flt_maxtrack_t Class Reference
First order maximum tracker.
Inheritance diagram for MHAFilter::o1flt_maxtrack_t:
MHAFilter::o1flt_maxtrack_t
MHAFilter::o1flt_lowpass_t
MHAFilter::o1_ar_filter_t
MHASignal::waveform_t
mha_wave_t
Public Member Functions
o1flt_maxtrack_t (const std::vector<mha_real_t >&, mha_real_t,mha_real_t=0)
Constructor of low pass filter, sets sampling rate and time constants.
void set_tau (unsigned int ch, mha_real_t tau)
change the time constant in one channel
void set_tau (mha_real_t tau)
set time constant in all channels to tau
Additional Inherited Members
5.199.1 Detailed Description
First order maximum tracker.
© 2005-2019 HörTech gGmbH, Oldenburg
552 CONTENTS
5.199.2 Constructor & Destructor Documentation
5.199.2.1 MHAFilter::o1flt_maxtrack_t::o1flt_maxtrack_t (
const std::vector<mha_real_t >&tau,
mha_real_t fs,
mha_real_t startval = 0)
Constructor of low pass filter, sets sampling rate and time constants.
Parameters
tau Vector of time constants
fs Sampling rate
startval Initial internal state value
5.199.3 Member Function Documentation
5.199.3.1 void MHAFilter::o1flt_maxtrack_t::set_tau (
unsigned int ch,
mha_real_t tau )
change the time constant in one channel
5.199.3.2 void MHAFilter::o1flt_maxtrack_t::set_tau (
mha_real_t tau )
set time constant in all channels to tau
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
5.200 MHAFilter::o1flt_mintrack_t Class Reference
First order minimum tracker.
© 2005-2019 HörTech gGmbH, Oldenburg
5.200 MHAFilter::o1flt_mintrack_t Class Reference 553
Inheritance diagram for MHAFilter::o1flt_mintrack_t:
MHAFilter::o1flt_mintrack_t
MHAFilter::o1flt_lowpass_t
MHAFilter::o1_ar_filter_t
MHASignal::waveform_t
mha_wave_t
Public Member Functions
o1flt_mintrack_t (const std::vector<mha_real_t >&, mha_real_t,mha_real_t=0)
void set_tau (unsigned int ch, mha_real_t tau)
change the time constant in one channel
void set_tau (mha_real_t tau)
set time constant in all channels to tau
Additional Inherited Members
5.200.1 Detailed Description
First order minimum tracker.
© 2005-2019 HörTech gGmbH, Oldenburg
554 CONTENTS
5.200.2 Constructor & Destructor Documentation
5.200.2.1 MHAFilter::o1flt_mintrack_t::o1flt_mintrack_t (
const std::vector<mha_real_t >&tau,
mha_real_t fs_,
mha_real_t startval = 0)
5.200.3 Member Function Documentation
5.200.3.1 void MHAFilter::o1flt_mintrack_t::set_tau (
unsigned int ch,
mha_real_t tau )
change the time constant in one channel
5.200.3.2 void MHAFilter::o1flt_mintrack_t::set_tau (
mha_real_t tau )
set time constant in all channels to tau
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
5.201 MHAFilter::partitioned_convolution_t Class Reference
A filter class for partitioned convolution.
Classes
struct index_t
Bookkeeping class.
Public Member Functions
partitioned_convolution_t (unsigned int fragsize, unsigned int nchannels_in, unsigned
int nchannels_out, const transfer_matrix_t &transfer)
Create a new partitioned convolver.
partitioned_convolution_t ()
Free fftw resource allocated in constructor.
mha_wave_t process (const mha_wave_t s_in)
processing
© 2005-2019 HörTech gGmbH, Oldenburg
5.201 MHAFilter::partitioned_convolution_t Class Reference 555
Public Attributes
unsigned int fragsize
Audio fragment size, always equal to partition size.
unsigned int nchannels_in
Number of audio input channels.
unsigned int nchannels_out
Number of audio output channels.
unsigned int output_partitions
The maximum number of partitions in any of the impulse responses.
unsigned int filter_partitions
The total number of non-zero impulse response partitions.
MHASignal::waveform_t input_signal_wave
Buffer for input signal.
unsigned int current_input_signal_buffer_half_index
A counter modulo 2.
MHASignal::spectrum_t input_signal_spec
Buffer for FFT transformed input signal.
MHASignal::spectrum_t frequency_response
Buffers for frequency response spectra of impulse response partitions.
• std::vector<index_t >bookkeeping
Keeps track of input channels, output channels, impulse response partition, and delay.
• std::vector<MHASignal::spectrum_t >output_signal_spec
Buffers for FFT transformed output signal.
unsigned int current_output_partition_index
A counter modulo output_partitions, indexing the "current" output partition.
MHASignal::waveform_t output_signal_wave
Buffer for the wave output signal.
mha_fft_t fft
The FFT transformer.
5.201.1 Detailed Description
A filter class for partitioned convolution.
Impulse responses are partitioned into sections of fragment size. Audio signal is convolved with
every partition and delayed as needed. Convolution is done according to overlap-save. FFT
length used is 2 times fragment size.
5.201.2 Constructor & Destructor Documentation
5.201.2.1 MHAFilter::partitioned_convolution_t::partitioned_convolution_t (
unsigned int fragsize,
unsigned int nchannels_in,
unsigned int nchannels_out,
const transfer_matrix_t &transfer )
Create a new partitioned convolver.
© 2005-2019 HörTech gGmbH, Oldenburg
556 CONTENTS
Parameters
fragsize Audio fragment size, equal to partition size.
nchannels_in Number of input audio channels.
nchannels_out Number of output audio channels.
transfer A sparse matrix of impulse responses.
5.201.2.2 MHAFilter::partitioned_convolution_t::partitioned_convolution_t ( )
Free fftw resource allocated in constructor.
5.201.3 Member Function Documentation
5.201.3.1 mha_wave_t MHAFilter::partitioned_convolution_t::process (
const mha_wave_t s_in )
processing
5.201.4 Member Data Documentation
5.201.4.1 unsigned int MHAFilter::partitioned_convolution_t::fragsize
Audio fragment size, always equal to partition size.
5.201.4.2 unsigned int MHAFilter::partitioned_convolution_t::nchannels_in
Number of audio input channels.
5.201.4.3 unsigned int MHAFilter::partitioned_convolution_t::nchannels_out
Number of audio output channels.
5.201.4.4 unsigned int MHAFilter::partitioned_convolution_t::output_partitions
The maximum number of partitions in any of the impulse responses.
Determines the size if the delay line.
5.201.4.5 unsigned int MHAFilter::partitioned_convolution_t::filter_partitions
The total number of non-zero impulse response partitions.
© 2005-2019 HörTech gGmbH, Oldenburg
5.201 MHAFilter::partitioned_convolution_t Class Reference 557
5.201.4.6 MHASignal::waveform_t MHAFilter::partitioned_convolution_t::input_signal_wave
Buffer for input signal.
Has nchannels_in channels and fragsize2 frames
5.201.4.7 unsigned int MHAFilter::partitioned_convolution_t::current_input_signal_buffer_half_index
A counter modulo 2.
Indicates the buffer half in input signal wave into which to copy the current input signal.
5.201.4.8 MHASignal::spectrum_t MHAFilter::partitioned_convolution_t::input_signal_spec
Buffer for FFT transformed input signal.
Has nchannels_in channels and fragsize+1 frames (fft bins).
5.201.4.9 MHASignal::spectrum_t MHAFilter::partitioned_convolution_t::frequency_response
Buffers for frequency response spectra of impulse response partitions.
Each "channel" contains another partition of some impulse response. The bookkeeping array
is used to keep track what to do with these frequency responses. This container has filter_-
partitions channels and fragsize+1 frames (fft bins).
5.201.4.10 std::vector<index_t>MHAFilter::partitioned_convolution_t::bookkeeping
Keeps track of input channels, output channels, impulse response partition, and delay.
The index into this array is the same as the "channel" index into the frequency_response array.
Array has filter_partitions entries.
5.201.4.11 std::vector<MHASignal::spectrum_t>MHAFilter::partitioned_convolution_t::output_-
signal_spec
Buffers for FFT transformed output signal.
For each array member, Number of channels is equal to nchannels_out, number of frames (fft
bins) is equal to fragsize+1. Array size is equal to output_partitions.
5.201.4.12 unsigned int MHAFilter::partitioned_convolution_t::current_output_partition_index
A counter modulo output_partitions, indexing the "current" output partition.
© 2005-2019 HörTech gGmbH, Oldenburg
558 CONTENTS
5.201.4.13 MHASignal::waveform_t MHAFilter::partitioned_convolution_t::output_signal_wave
Buffer for the wave output signal.
Number of channels is equal to nchannels_out, number of frames is equal to fragsize
5.201.4.14 mha_fft_t MHAFilter::partitioned_convolution_t::fft
The FFT transformer.
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
5.202 MHAFilter::partitioned_convolution_t::index_t Struct Reference
Bookkeeping class.
Public Member Functions
index_t (unsigned int src, unsigned int tgt, unsigned int dly)
Data constructor.
index_t ()
Default constructor for STL compatibility.
Public Attributes
unsigned int source_channel_index
The input channel index to apply the current partition to.
unsigned int target_channel_index
The index of the output channel to which the filter result should go.
unsigned int delay
The delay (in blocks) of this partition.
5.202.1 Detailed Description
Bookkeeping class.
For each impulse response partition, keeps track of which input to filter, which output channel
to filter to, and the delay in blocks. Objects of class Index should be kept in an array with the
same indices as the corresponding inpulse response partitions.
5.202.2 Constructor & Destructor Documentation
5.202.2.1 MHAFilter::partitioned_convolution_t::index_t::index_t (
unsigned int src,
unsigned int tgt,
unsigned int dly )[inline]
Data constructor.
© 2005-2019 HörTech gGmbH, Oldenburg
5.203 MHAFilter::polyphase_resampling_t Class Reference 559
Parameters
src The input channel index to apply the current partition to.
tgt The index of the output channel to which the filter result should go.
dly The delay (in blocks) of this partition
5.202.2.2 MHAFilter::partitioned_convolution_t::index_t::index_t ( ) [inline]
Default constructor for STL compatibility.
5.202.3 Member Data Documentation
5.202.3.1 unsigned int MHAFilter::partitioned_convolution_t::index_t::source_channel_index
The input channel index to apply the current partition to.
5.202.3.2 unsigned int MHAFilter::partitioned_convolution_t::index_t::target_channel_index
The index of the output channel to which the filter result should go.
5.202.3.3 unsigned int MHAFilter::partitioned_convolution_t::index_t::delay
The delay (in blocks) of this partition.
The documentation for this struct was generated from the following file:
mha_filter.hh
5.203 MHAFilter::polyphase_resampling_t Class Reference
A class that performs polyphase resampling.
Public Member Functions
polyphase_resampling_t (unsigned n_up, unsigned n_down, mha_real_t nyquist_ratio,
unsigned n_irs, unsigned n_ringbuffer, unsigned n_channels, unsigned n_prefill)
Construct a polyphase resampler instance.
void write (mha_wave_t &signal)
Write signal to the ringbuffer.
void read (mha_wave_t &signal)
Read resampled signal.
unsigned readable_frames () const
Number of frames at target sampling rate that can be produced.
© 2005-2019 HörTech gGmbH, Oldenburg
560 CONTENTS
Private Attributes
unsigned upsampling_factor
Integer upsampling factor.
unsigned downsampling_factor
Integer downsampling factor.
unsigned now_index
Index of "now" in the interpolated sampling rate.
bool underflow
Set to true when an underflow has occurred.
MHAWindow::hanning_t impulse_response
Contains the impulse response of the lowpass filter needed for anti-aliasing.
MHASignal::ringbuffer_t ringbuffer
Storage of input signal.
5.203.1 Detailed Description
A class that performs polyphase resampling.
Background information: When resampling from one sampling rate to another, it helps when
one sampling rate is a multiple of the other sampling rate: In the case of upsampling, the
samples at the original rate are copied to the upsampled signal spread out with a constant
number of zero samples between the originally adjacent samples. The signal is then low-pass
filtered to avoid frequency aliasing and to fill the zero-samples with interpolated values. In the
case of down-sampling, the signal is first low-pass filtered for anti-aliasing, and only every nth
sample of the filtered output is used for the signal at the new sample rate. Of course, for finite-
impulse-response (FIR) filters this means that only every nth sample needs to be computed.
When resampling from one sampling rate to another where neither is a multiple of the other,
the signal first needs to be upsampled to a sampling rate that is a multiple of both (source and
target) sampling rates, and then downsampled again to the target sampling rate. Instead of
applying two separate lowpass filters directly after each other (one filter for upsampling and
another for downsampling), it is sufficient to apply only one low-pass filter, when producing
the output at the final target rate, with a cut-off frequency equal to the lower cut-off-frequency
of the replaced two low-pass filters. Not filtering to produce a filtered signal already at the
common multiple sampling rate has the side effect that this intermediate signal at the common
multiple sampling rate keeps its filler zero samples unaltered. These zero samples can be taken
advantage of when filtering to produce the output at the target rate: The zeros do not need to
be multiplied with their corresponding filter coefficients, because the result is known to be zero
again, and this zero product has no effect on the summation operation to compute a target
sample at the target rate. To summarize, the following optimization techniques are available:
The signal does not need to be stored in memory at the interpolation rate. It is sufficient
to have the signal available at the source rate and to know where the zeros would be.
The signal needs to be low-pass-filtered only once.
The FIR low-pass filtering can take advantage of
© 2005-2019 HörTech gGmbH, Oldenburg
5.203 MHAFilter::polyphase_resampling_t Class Reference 561
computing only filter outputs for the required samples at the target rate,
skipping over zero-samples at the interpolation rate.
The procedure that takes advantage of these optimization possibilites is known as polyphase
resampling.
This class implements polyphase resampling in this way for a source sampling rate and a
target sampling rate that have common multiple, the interpolation sampling rate. Non-rational
and drifting sample rates are outside the scope of this resampler.
5.203.2 Constructor & Destructor Documentation
5.203.2.1 MHAFilter::polyphase_resampling_t::polyphase_resampling_t (
unsigned n_up,
unsigned n_down,
mha_real_t nyquist_ratio,
unsigned n_irs,
unsigned n_ringbuffer,
unsigned n_channels,
unsigned n_prefill )
Construct a polyphase resampler instance.
Allocates a ringbuffer with the given capacity n_ringbuffer. Client that triggers the constructor
must ensure that the capacity n_ringbuffer and the delay n_prefill are sufficient, i.e. enough
old and new samples are always available to compute sufficient samples in using an impulse
response of length n_irs. Audio block sizes at both sides of the resampler have to be taken into
account. Class MHASignal::blockprocessing_polyphase_resampling_t takes care
of this, and it is recommended to use this class for block-based processing.
Based on n_up,n_down,n_irs and nyquist_ratio, a suitable sinc impulse response is computed
and windowed with a hanning window to limit its extent.
The actual source sampling rate, target sampling rate, and interpolation sampling rate are not
parameters to this constructors, because only their ratios matter.
Parameters
n_up upsampling factor, ratio between interpolation rate and source rate.
n_down downsampling factor, ratio between interpolation rate and target rate.
nyquist_ratio low pass filter cutoff frequency relative to the nyquist frequency of the
smaller of the two sampling rates. Example values: E.g. 0.8, 0.9
n_irs length of impulse response (in samples at interpolation rate)
n_ringbuffer length of ringbuffer, in samples at source sampling rate
n_channels audio channels count
n_prefill Prefill the ringbuffer with this many zero frames in samples at source
sampling rate
© 2005-2019 HörTech gGmbH, Oldenburg
562 CONTENTS
5.203.3 Member Function Documentation
5.203.3.1 void MHAFilter::polyphase_resampling_t::write (
mha_wave_t &signal )
Write signal to the ringbuffer.
Signal contained in signal is appended to the audio frames already present in the ringbuffer.
Parameters
signal input signal in original sampling rate
Exceptions
MHA_Error (p. 445)Raises exception if there is not enough room or if the number of
channels does not match.
5.203.3.2 void MHAFilter::polyphase_resampling_t::read (
mha_wave_t &signal )
Read resampled signal.
Will perform the resampling and remove no longer needed samples from the input buffer.
Parameters
signal buffer to write the resampled signal to.
Exceptions
MHA_Error (p. 445)Raises exception if there is not enough input signal or if the number
of channels is too high.
5.203.3.3 unsigned MHAFilter::polyphase_resampling_t::readable_frames ( ) const [inline]
Number of frames at target sampling rate that can be produced.
This method only checks for enough future samples present, therefore, this number can be
positive and a read operation can still fail if there are not enough past samples present to
perform the filtering for the first output sample. This could only happen if the constructor pa-
rameters n_ringbuffer or n_prefill have been chosen too small, because otherwise the method
read (p. 562) ensures that enough past samples are present to compute the next target sample.
© 2005-2019 HörTech gGmbH, Oldenburg
5.203 MHAFilter::polyphase_resampling_t Class Reference 563
5.203.4 Member Data Documentation
5.203.4.1 unsigned MHAFilter::polyphase_resampling_t::upsampling_factor [private]
Integer upsampling factor.
Interpolation rate divided by source rate.
5.203.4.2 unsigned MHAFilter::polyphase_resampling_t::downsampling_factor [private]
Integer downsampling factor.
Interpolation rate divided by target rate.
5.203.4.3 unsigned MHAFilter::polyphase_resampling_t::now_index [private]
Index of "now" in the interpolated sampling rate.
Todo Index into what? What is the meaning of now?
5.203.4.4 bool MHAFilter::polyphase_resampling_t::underflow [private]
Set to true when an underflow has occurred.
When this is true, then the object can no longer be used. Underflows have to be avoided by
clients, e.g. by checking that enough readable_frames (p. 562) are present before calling read
(p. 562)
5.203.4.5 MHAWindow::hanning_t MHAFilter::polyphase_resampling_t::impulse_response
[private]
Contains the impulse response of the lowpass filter needed for anti-aliasing.
The impulse response is stored at the interpolation sampling rate. We use an instance of M-
HAWindow::hanning_t (p. 840) here because we are limiting the sinc impulse response with
a Hanning window (otherwise the impulse response would extend indefinitely into past and
future). And the samples inside an MHAWindow::hanning_t (p. 840) can be altered with =,
which our constructor does.
5.203.4.6 MHASignal::ringbuffer_t MHAFilter::polyphase_resampling_t::ringbuffer [private]
Storage of input signal.
Part of the polyphase resampling optimization is that apart from the FIR impulse response,
nothing is stored at the interpolation rate, saving memory and computation cycles.
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
564 CONTENTS
5.204 MHAFilter::resampling_filter_t Class Reference
Hann shaped low pass filter for resampling.
Inheritance diagram for MHAFilter::resampling_filter_t:
MHAFilter::resampling
_filter_t
MHAFilter::fftfilter_t
Public Member Functions
resampling_filter_t (unsigned int fftlen, unsigned int irslen, unsigned int channels, un-
signed int Nup, unsigned int Ndown, double fCutOff)
Constructor.
Static Public Member Functions
static unsigned int fragsize_validator (unsigned int fftlen, unsigned int irslen)
Private Attributes
unsigned int fragsize
5.204.1 Detailed Description
Hann shaped low pass filter for resampling.
This class uses FFT filter at upsampled rate.
5.204.2 Constructor & Destructor Documentation
5.204.2.1 MHAFilter::resampling_filter_t::resampling_filter_t (
unsigned int fftlen,
unsigned int irslen,
unsigned int channels,
unsigned int Nup,
unsigned int Ndown,
double fCutOff )
Constructor.
© 2005-2019 HörTech gGmbH, Oldenburg
5.205 MHAFilter::smoothspec_t Class Reference 565
Parameters
fftlen FFT length.
irslen Length of filter.
channels Number of channels to be filtered.
Nup Upsampling ratio.
Ndown Downsampling ratio.
fCutOff Cut off frequency (relative to lower Nyquist Frequency)
5.204.3 Member Function Documentation
5.204.3.1 unsigned int MHAFilter::resampling_filter_t::fragsize_validator (
unsigned int fftlen,
unsigned int irslen )[static]
5.204.4 Member Data Documentation
5.204.4.1 unsigned int MHAFilter::resampling_filter_t::fragsize [private]
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
5.205 MHAFilter::smoothspec_t Class Reference
Smooth spectral gains, create a windowed impulse response.
Public Member Functions
smoothspec_t (unsigned int fftlen, unsigned int nchannels, const MHAWindow-
::base_t &window, bool minphase, bool linphase_asym=false)
Constructor.
void smoothspec (const mha_spec_t &s_in, mha_spec_t &s_out)
Create a smoothed spectrum.
void smoothspec (mha_spec_t &spec)
Create a smoothed spectrum (in place)
void spec2fir (const mha_spec_t &spec, mha_wave_t &fir)
Return FIR coefficients.
smoothspec_t ()
© 2005-2019 HörTech gGmbH, Oldenburg
566 CONTENTS
Private Member Functions
void internal_fir (const mha_spec_t &)
Private Attributes
unsigned int fftlen
unsigned int nchannels
MHAWindow::base_t window
MHASignal::waveform_t tmp_wave
MHASignal::spectrum_t tmp_spec
MHASignal::minphase_t minphase
bool _linphase_asym
mha_fft_t fft
5.205.1 Detailed Description
Smooth spectral gains, create a windowed impulse response.
Spectral gains are smoothed by multiplicating the impulse response with a window function.
If a minimal phase is used, then the original phase is discarded and replaced by the minimal
phase function. In this case, the window is applied to the beginning of the inverse Fourier
transform of the input spectrum, and the remaining signal set to zero. If the original phase
is kept, the window is applied symmetrical arround zero, i.e. to the first and last samples of
the inverse Fourier transform of the input spectrum. The spec2fir() (p. 567) function creates a
causal impulse response by circular shifting the impulse response by half of the window length.
The signal dimensions of the arguments of smoothspec() (p. 567) must correspond to the FFT
length and number of channels provided in the constructor. The function spec2fir() (p. 567)
can fill signal structures with more than window length frames.
5.205.2 Constructor & Destructor Documentation
5.205.2.1 MHAFilter::smoothspec_t::smoothspec_t (
unsigned int fftlen,
unsigned int nchannels,
const MHAWindow::base_t &window,
bool minphase,
bool linphase_asym = false )
Constructor.
© 2005-2019 HörTech gGmbH, Oldenburg
5.205 MHAFilter::smoothspec_t Class Reference 567
Parameters
fftlen FFT length of input spectrum (fftlen/2+1 bins)
nchannels Number of channels in input spectrum
window Window used for smoothing
minphase Use minimal phase (true) or original phase (false)
linphase_asym Keep phase, but apply full window at beginning of IRS
5.205.2.2 MHAFilter::smoothspec_t::smoothspec_t ( )
5.205.3 Member Function Documentation
5.205.3.1 void MHAFilter::smoothspec_t::smoothspec (
const mha_spec_t &s_in,
mha_spec_t &s_out )
Create a smoothed spectrum.
Parameters
s-
_in
Input spectrum
Return values
s_out Output spectrum
5.205.3.2 void MHAFilter::smoothspec_t::smoothspec (
mha_spec_t &spec )[inline]
Create a smoothed spectrum (in place)
Parameters
spec Spectrum to be smoothed.
5.205.3.3 void MHAFilter::smoothspec_t::spec2fir (
const mha_spec_t &spec,
mha_wave_t &fir )
Return FIR coefficients.
© 2005-2019 HörTech gGmbH, Oldenburg
568 CONTENTS
Parameters
spec Input spectrum
Return values
fir FIR coefficients, minimum length is window length
5.205.3.4 void MHAFilter::smoothspec_t::internal_fir (
const mha_spec_t &s_in )[private]
5.205.4 Member Data Documentation
5.205.4.1 unsigned int MHAFilter::smoothspec_t::fftlen [private]
5.205.4.2 unsigned int MHAFilter::smoothspec_t::nchannels [private]
5.205.4.3 MHAWindow::base_t MHAFilter::smoothspec_t::window [private]
5.205.4.4 MHASignal::waveform_t MHAFilter::smoothspec_t::tmp_wave [private]
5.205.4.5 MHASignal::spectrum_t MHAFilter::smoothspec_t::tmp_spec [private]
5.205.4.6 MHASignal::minphase_tMHAFilter::smoothspec_t::minphase [private]
5.205.4.7 bool MHAFilter::smoothspec_t::_linphase_asym [private]
5.205.4.8 mha_fft_t MHAFilter::smoothspec_t::fft [private]
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
5.206 MHAFilter::thirdoctave_analyzer_t Class Reference
Public Member Functions
thirdoctave_analyzer_t (mhaconfig_t cfg)
mha_wave_t process (mha_wave_t )
unsigned int nbands ()
unsigned int nchannels ()
• std::vector<mha_real_t >get_cf_hz ()
© 2005-2019 HörTech gGmbH, Oldenburg
5.206 MHAFilter::thirdoctave_analyzer_t Class Reference 569
Static Public Member Functions
static std::vector<mha_real_t >cf_generator (mhaconfig_t cfg)
static std::vector<mha_real_t >bw_generator (mhaconfig_t cfg)
static std::vector<mha_real_t >dup (std::vector<mha_real_t >,mhaconfig_t cfg)
Private Attributes
mhaconfig_t cfg_
• std::vector<mha_real_t >cf
MHAFilter::gamma_flt_t fb
MHASignal::waveform_t out_chunk
MHASignal::waveform_t out_chunk_im
5.206.1 Constructor & Destructor Documentation
5.206.1.1 MHAFilter::thirdoctave_analyzer_t::thirdoctave_analyzer_t (
mhaconfig_t cfg )
5.206.2 Member Function Documentation
5.206.2.1 mha_wave_t MHAFilter::thirdoctave_analyzer_t::process (
mha_wave_t sIn )
5.206.2.2 unsigned int MHAFilter::thirdoctave_analyzer_t::nbands ( )
5.206.2.3 unsigned int MHAFilter::thirdoctave_analyzer_t::nchannels ( )
5.206.2.4 std::vector<mha_real_t >MHAFilter::thirdoctave_analyzer_t::get_cf_hz ( )
5.206.2.5 std::vector<mha_real_t >MHAFilter::thirdoctave_analyzer_t::cf_generator (
mhaconfig_t cfg )[static]
5.206.2.6 std::vector<mha_real_t >MHAFilter::thirdoctave_analyzer_t::bw_generator (
mhaconfig_t cfg )[static]
5.206.2.7 std::vector<mha_real_t >MHAFilter::thirdoctave_analyzer_t::dup (
std::vector<mha_real_t >vec,
mhaconfig_t cfg )[static]
5.206.3 Member Data Documentation
5.206.3.1 mhaconfig_t MHAFilter::thirdoctave_analyzer_t::cfg_ [private]
© 2005-2019 HörTech gGmbH, Oldenburg
570 CONTENTS
5.206.3.2 std::vector<mha_real_t>MHAFilter::thirdoctave_analyzer_t::cf [private]
5.206.3.3 MHAFilter::gamma_flt_t MHAFilter::thirdoctave_analyzer_t::fb [private]
5.206.3.4 MHASignal::waveform_t MHAFilter::thirdoctave_analyzer_t::out_chunk [private]
5.206.3.5 MHASignal::waveform_t MHAFilter::thirdoctave_analyzer_t::out_chunk_im
[private]
The documentation for this class was generated from the following files:
complex_filter.h
complex_filter.cpp
5.207 MHAFilter::transfer_function_t Struct Reference
a structure containing a source channel number, a target channel number, and an impulse
response.
Public Member Functions
transfer_function_t ()
Default constructor for STL conformity.
transfer_function_t (unsigned int source_channel_index, unsigned int target_-
channel_index, const std::vector<float >&impulse_response)
Data constructor.
unsigned int partitions (unsigned int fragsize) const
for the given partition size, return the number of partitions of the impulse response.
unsigned int non_empty_partitions (unsigned int fragsize) const
for the given partition size, return the number of non-empty partitions of the impulse response.
bool isempty (unsigned int fragsize, unsigned int index) const
checks if the partition contains only zeros
Public Attributes
unsigned int source_channel_index
Source audio channel index for this transfer function.
unsigned int target_channel_index
Target audio channel index for this transfer function.
• std::vector<float >impulse_response
Impulse response of transfer from source to target channel.
© 2005-2019 HörTech gGmbH, Oldenburg
5.207 MHAFilter::transfer_function_t Struct Reference 571
5.207.1 Detailed Description
a structure containing a source channel number, a target channel number, and an impulse
response.
5.207.2 Constructor & Destructor Documentation
5.207.2.1 MHAFilter::transfer_function_t::transfer_function_t ( ) [inline]
Default constructor for STL conformity.
Not used.
5.207.2.2 MHAFilter::transfer_function_t::transfer_function_t (
unsigned int source_channel_index,
unsigned int target_channel_index,
const std::vector<float >&impulse_response )
Data constructor.
Parameters
source_channel_index Source audio channel index for this transfer function
target_channel_index Target audio channel index for this transfer function
impulse_response Impulse response of transfer from source to target channel
5.207.3 Member Function Documentation
5.207.3.1 unsigned int MHAFilter::transfer_function_t::partitions (
unsigned int fragsize ) const [inline]
for the given partition size, return the number of partitions of the impulse response.
Parameters
fragsize partition size
Returns
number of partitions occupied by the impulse response
© 2005-2019 HörTech gGmbH, Oldenburg
572 CONTENTS
5.207.3.2 unsigned int MHAFilter::transfer_function_t::non_empty_partitions (
unsigned int fragsize ) const [inline]
for the given partition size, return the number of non-empty partitions of the impulse response.
Parameters
fragsize partition size
Returns
the number of non-empty partitions of the impulse response, i.e. partitions containing
only zeros are not counted.
5.207.3.3 bool MHAFilter::transfer_function_t::isempty (
unsigned int fragsize,
unsigned int index ) const [inline]
checks if the partition contains only zeros
Parameters
fragsize partition size
index partition index
Returns
true when this partition of the impulse response contains only zeros.
5.207.4 Member Data Documentation
5.207.4.1 unsigned int MHAFilter::transfer_function_t::source_channel_index
Source audio channel index for this transfer function.
5.207.4.2 unsigned int MHAFilter::transfer_function_t::target_channel_index
Target audio channel index for this transfer function.
5.207.4.3 std::vector<float>MHAFilter::transfer_function_t::impulse_response
Impulse response of transfer from source to target channel.
The documentation for this struct was generated from the following files:
mha_filter.hh
mha_filter.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.208 MHAFilter::transfer_matrix_t Struct Reference 573
5.208 MHAFilter::transfer_matrix_t Struct Reference
A sparse matrix of transfer function partitionss.
Inherits vector<transfer_function_t >.
Public Member Functions
• std::valarray<unsigned int >partitions (unsigned fragsize) const
Returns an array of the results of calling the partitions() (p. 573) method on every matrix
member.
• std::valarray<unsigned int >non_empty_partitions (unsigned int fragsize) const
Returns an array of the results of calling the non_empty_partitions() (p. 573) method on every
matrix member.
5.208.1 Detailed Description
A sparse matrix of transfer function partitionss.
Each matrix element knows its position in the matrix, so they can be stored as a vector.
5.208.2 Member Function Documentation
5.208.2.1 std::valarray<unsigned int>MHAFilter::transfer_matrix_t::partitions (
unsigned fragsize ) const [inline]
Returns an array of the results of calling the partitions() (p. 573) method on every matrix mem-
ber.
5.208.2.2 std::valarray<unsigned int>MHAFilter::transfer_matrix_t::non_empty_partitions (
unsigned int fragsize ) const [inline]
Returns an array of the results of calling the non_empty_partitions() (p. 573) method on every
matrix member.
The documentation for this struct was generated from the following file:
mha_filter.hh
© 2005-2019 HörTech gGmbH, Oldenburg
574 CONTENTS
5.209 MHAIOJack::io_jack_t Class Reference
Main class for JACK IO.
Inheritance diagram for MHAIOJack::io_jack_t:
MHAIOJack::io_jack_t
MHAParser::parser_t
MHAParser::base_t
MHAJack::client_t
Public Member Functions
io_jack_t (unsigned int fragsize, float samplerate,IOProcessEvent_t proc_event, void
proc_handle,IOStartedEvent_t start_event, void start_handle,IOStoppedEvent-
_t stop_event, void stop_handle)
void prepare (int, int)
Allocate buffers, activate JACK client and install internal ports.
void release ()
Private Member Functions
void reconnect_inports ()
Connect the input ports when connection variable is accessed.
void reconnect_outports ()
Connect the output ports when connection variable is accessed.
void get_physical_input_ports ()
void get_physical_output_ports ()
void get_all_input_ports ()
void get_all_output_ports ()
void get_delays_in ()
void get_delays_out ()
void read_get_cpu_load ()
void read_get_xruns ()
void read_get_scheduler ()
© 2005-2019 HörTech gGmbH, Oldenburg
5.209 MHAIOJack::io_jack_t Class Reference 575
Private Attributes
unsigned int fw_fragsize
float fw_samplerate
MHAParser::string_t servername
MHAParser::string_t clientname
MHAParser::vstring_t connections_in
MHAParser::vint_mon_t delays_in
MHAParser::vstring_t connections_out
MHAParser::vint_mon_t delays_out
MHAParser::vstring_t portnames_in
MHAParser::vstring_t portnames_out
MHAParser::vstring_mon_t ports_in_physical
MHAParser::vstring_mon_t ports_out_physical
MHAParser::vstring_mon_t ports_in_all
MHAParser::vstring_mon_t ports_out_all
MHAParser::parser_t ports_parser
MHAParser::float_mon_t state_cpuload
MHAParser::int_mon_t state_xruns
MHAParser::int_mon_t state_priority
MHAParser::string_mon_t state_scheduler
MHAParser::parser_t state_parser
MHAEvents::patchbay_t<io_jack_t >patchbay
Additional Inherited Members
5.209.1 Detailed Description
Main class for JACK IO.
This class registers a JACK client. JACK and framework states are managed by this class.
5.209.2 Constructor & Destructor Documentation
5.209.2.1 io_jack_t::io_jack_t (
unsigned int fragsize,
float samplerate,
IOProcessEvent_t proc_event,
void proc_handle,
IOStartedEvent_t start_event,
void start_handle,
IOStoppedEvent_t stop_event,
void stop_handle )
5.209.3 Member Function Documentation
5.209.3.1 void io_jack_t::prepare (
int nch_in,
int nch_out )
Allocate buffers, activate JACK client and install internal ports.
© 2005-2019 HörTech gGmbH, Oldenburg
576 CONTENTS
5.209.3.2 void io_jack_t::release (
void )
5.209.3.3 void io_jack_t::reconnect_inports ( ) [private]
Connect the input ports when connection variable is accessed.
5.209.3.4 void io_jack_t::reconnect_outports ( ) [private]
Connect the output ports when connection variable is accessed.
5.209.3.5 void io_jack_t::get_physical_input_ports ( ) [private]
5.209.3.6 void io_jack_t::get_physical_output_ports ( ) [private]
5.209.3.7 void io_jack_t::get_all_input_ports ( ) [private]
5.209.3.8 void io_jack_t::get_all_output_ports ( ) [private]
5.209.3.9 void io_jack_t::get_delays_in ( ) [private]
5.209.3.10 void io_jack_t::get_delays_out ( ) [private]
5.209.3.11 void io_jack_t::read_get_cpu_load ( ) [private]
5.209.3.12 void io_jack_t::read_get_xruns ( ) [private]
5.209.3.13 void io_jack_t::read_get_scheduler ( ) [private]
5.209.4 Member Data Documentation
5.209.4.1 unsigned int MHAIOJack::io_jack_t::fw_fragsize [private]
5.209.4.2 float MHAIOJack::io_jack_t::fw_samplerate [private]
5.209.4.3 MHAParser::string_t MHAIOJack::io_jack_t::servername [private]
5.209.4.4 MHAParser::string_t MHAIOJack::io_jack_t::clientname [private]
5.209.4.5 MHAParser::vstring_t MHAIOJack::io_jack_t::connections_in [private]
5.209.4.6 MHAParser::vint_mon_t MHAIOJack::io_jack_t::delays_in [private]
© 2005-2019 HörTech gGmbH, Oldenburg
5.209 MHAIOJack::io_jack_t Class Reference 577
5.209.4.7 MHAParser::vstring_t MHAIOJack::io_jack_t::connections_out [private]
5.209.4.8 MHAParser::vint_mon_t MHAIOJack::io_jack_t::delays_out [private]
5.209.4.9 MHAParser::vstring_t MHAIOJack::io_jack_t::portnames_in [private]
5.209.4.10 MHAParser::vstring_t MHAIOJack::io_jack_t::portnames_out [private]
5.209.4.11 MHAParser::vstring_mon_t MHAIOJack::io_jack_t::ports_in_physical [private]
5.209.4.12 MHAParser::vstring_mon_t MHAIOJack::io_jack_t::ports_out_physical [private]
5.209.4.13 MHAParser::vstring_mon_t MHAIOJack::io_jack_t::ports_in_all [private]
5.209.4.14 MHAParser::vstring_mon_t MHAIOJack::io_jack_t::ports_out_all [private]
5.209.4.15 MHAParser::parser_t MHAIOJack::io_jack_t::ports_parser [private]
5.209.4.16 MHAParser::float_mon_t MHAIOJack::io_jack_t::state_cpuload [private]
5.209.4.17 MHAParser::int_mon_t MHAIOJack::io_jack_t::state_xruns [private]
5.209.4.18 MHAParser::int_mon_t MHAIOJack::io_jack_t::state_priority [private]
5.209.4.19 MHAParser::string_mon_t MHAIOJack::io_jack_t::state_scheduler [private]
5.209.4.20 MHAParser::parser_t MHAIOJack::io_jack_t::state_parser [private]
5.209.4.21 MHAEvents::patchbay_t<io_jack_t>MHAIOJack::io_jack_t::patchbay [private]
The documentation for this class was generated from the following file:
MHAIOJack.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
578 CONTENTS
5.210 MHAIOJackdb::io_jack_t Class Reference
Main class for JACK IO.
Inheritance diagram for MHAIOJackdb::io_jack_t:
MHAIOJackdb::io_jack_t
MHAParser::parser_t
MHAParser::base_t
MHAJack::client_t
Public Member Functions
io_jack_t (unsigned int fragsize, float samplerate,IOProcessEvent_t proc_event, void
proc_handle,IOStartedEvent_t start_event, void start_handle,IOStoppedEvent-
_t stop_event, void stop_handle)
void prepare (int, int)
Allocate buffers, activate JACK client and install internal ports.
void release ()
bool fail_on_async_jackerror () const
Private Member Functions
int IOProcessEvent_inner (mha_wave_t sIn, mha_wave_t ∗∗sOut)
void reconnect_inports ()
Connect the input ports when connection variable is accessed.
void reconnect_outports ()
Connect the output ports when connection variable is accessed.
void get_physical_input_ports ()
void get_physical_output_ports ()
void get_all_input_ports ()
void get_all_output_ports ()
void read_get_cpu_load ()
void read_get_xruns ()
void read_get_scheduler ()
void set_use_jack_transport ()
void set_locate ()
© 2005-2019 HörTech gGmbH, Oldenburg
5.210 MHAIOJackdb::io_jack_t Class Reference 579
Static Private Member Functions
static int IOProcessEvent_inner (void handle, mha_wave_t sIn, mha_wave_t ∗∗s-
Out)
Private Attributes
IOProcessEvent_t proc_event
void proc_handle
unsigned int mha_fragsize
float mha_samplerate
unsigned int fragsize_ratio
MHAParser::string_t servername
MHAParser::string_t clientname
MHAParser::vstring_t connections_in
MHAParser::vstring_t connections_out
MHAParser::vstring_t portnames_in
MHAParser::vstring_t portnames_out
MHAParser::bool_t fail_on_async_jackerr
MHAParser::bool_t use_jack_transport
MHAParser::float_t locate
MHAParser::float_mon_t server_srate
MHAParser::int_mon_t server_fragsize
MHAParser::vstring_mon_t ports_in_physical
MHAParser::vstring_mon_t ports_out_physical
MHAParser::vstring_mon_t ports_in_all
MHAParser::vstring_mon_t ports_out_all
MHAParser::parser_t ports_parser
MHAParser::float_mon_t state_cpuload
MHAParser::int_mon_t state_xruns
MHAParser::int_mon_t state_priority
MHAParser::string_mon_t state_scheduler
MHAParser::parser_t state_parser
MHASignal::waveform_t pwinner_out
MHAEvents::patchbay_t<io_jack_t >patchbay
Additional Inherited Members
5.210.1 Detailed Description
Main class for JACK IO.
This class registers a JACK client. JACK and framework states are managed by this class.
© 2005-2019 HörTech gGmbH, Oldenburg
580 CONTENTS
5.210.2 Constructor & Destructor Documentation
5.210.2.1 io_jack_t::io_jack_t (
unsigned int fragsize,
float samplerate,
IOProcessEvent_t proc_event,
void proc_handle,
IOStartedEvent_t start_event,
void start_handle,
IOStoppedEvent_t stop_event,
void stop_handle )
5.210.3 Member Function Documentation
5.210.3.1 void io_jack_t::prepare (
int nch_in,
int nch_out )
Allocate buffers, activate JACK client and install internal ports.
5.210.3.2 void io_jack_t::release (
void )
5.210.3.3 bool MHAIOJackdb::io_jack_t::fail_on_async_jackerror ( ) const [inline]
5.210.3.4 int io_jack_t::IOProcessEvent_inner (
void handle,
mha_wave_t sIn,
mha_wave_t ∗∗ sOut )[static],[private]
5.210.3.5 int io_jack_t::IOProcessEvent_inner (
mha_wave_t sIn,
mha_wave_t ∗∗ sOut )[private]
5.210.3.6 void io_jack_t::reconnect_inports ( ) [private]
Connect the input ports when connection variable is accessed.
5.210.3.7 void io_jack_t::reconnect_outports ( ) [private]
Connect the output ports when connection variable is accessed.
© 2005-2019 HörTech gGmbH, Oldenburg
5.210 MHAIOJackdb::io_jack_t Class Reference 581
5.210.3.8 void io_jack_t::get_physical_input_ports ( ) [private]
5.210.3.9 void io_jack_t::get_physical_output_ports ( ) [private]
5.210.3.10 void io_jack_t::get_all_input_ports ( ) [private]
5.210.3.11 void io_jack_t::get_all_output_ports ( ) [private]
5.210.3.12 void io_jack_t::read_get_cpu_load ( ) [private]
5.210.3.13 void io_jack_t::read_get_xruns ( ) [private]
5.210.3.14 void io_jack_t::read_get_scheduler ( ) [private]
5.210.3.15 void io_jack_t::set_use_jack_transport ( ) [private]
5.210.3.16 void io_jack_t::set_locate ( ) [private]
5.210.4 Member Data Documentation
5.210.4.1 IOProcessEvent_t MHAIOJackdb::io_jack_t::proc_event [private]
5.210.4.2 voidMHAIOJackdb::io_jack_t::proc_handle [private]
5.210.4.3 unsigned int MHAIOJackdb::io_jack_t::mha_fragsize [private]
5.210.4.4 float MHAIOJackdb::io_jack_t::mha_samplerate [private]
5.210.4.5 unsigned int MHAIOJackdb::io_jack_t::fragsize_ratio [private]
5.210.4.6 MHAParser::string_t MHAIOJackdb::io_jack_t::servername [private]
5.210.4.7 MHAParser::string_t MHAIOJackdb::io_jack_t::clientname [private]
5.210.4.8 MHAParser::vstring_t MHAIOJackdb::io_jack_t::connections_in [private]
5.210.4.9 MHAParser::vstring_t MHAIOJackdb::io_jack_t::connections_out [private]
5.210.4.10 MHAParser::vstring_t MHAIOJackdb::io_jack_t::portnames_in [private]
5.210.4.11 MHAParser::vstring_t MHAIOJackdb::io_jack_t::portnames_out [private]
5.210.4.12 MHAParser::bool_t MHAIOJackdb::io_jack_t::fail_on_async_jackerr [private]
© 2005-2019 HörTech gGmbH, Oldenburg
582 CONTENTS
5.210.4.13 MHAParser::bool_t MHAIOJackdb::io_jack_t::use_jack_transport [private]
5.210.4.14 MHAParser::float_t MHAIOJackdb::io_jack_t::locate [private]
5.210.4.15 MHAParser::float_mon_t MHAIOJackdb::io_jack_t::server_srate [private]
5.210.4.16 MHAParser::int_mon_t MHAIOJackdb::io_jack_t::server_fragsize [private]
5.210.4.17 MHAParser::vstring_mon_t MHAIOJackdb::io_jack_t::ports_in_physical [private]
5.210.4.18 MHAParser::vstring_mon_t MHAIOJackdb::io_jack_t::ports_out_physical
[private]
5.210.4.19 MHAParser::vstring_mon_t MHAIOJackdb::io_jack_t::ports_in_all [private]
5.210.4.20 MHAParser::vstring_mon_t MHAIOJackdb::io_jack_t::ports_out_all [private]
5.210.4.21 MHAParser::parser_t MHAIOJackdb::io_jack_t::ports_parser [private]
5.210.4.22 MHAParser::float_mon_t MHAIOJackdb::io_jack_t::state_cpuload [private]
5.210.4.23 MHAParser::int_mon_t MHAIOJackdb::io_jack_t::state_xruns [private]
5.210.4.24 MHAParser::int_mon_t MHAIOJackdb::io_jack_t::state_priority [private]
5.210.4.25 MHAParser::string_mon_t MHAIOJackdb::io_jack_t::state_scheduler [private]
5.210.4.26 MHAParser::parser_t MHAIOJackdb::io_jack_t::state_parser [private]
5.210.4.27 MHASignal::waveform_tMHAIOJackdb::io_jack_t::pwinner_out [private]
5.210.4.28 MHAEvents::patchbay_t<io_jack_t>MHAIOJackdb::io_jack_t::patchbay
[private]
The documentation for this class was generated from the following file:
MHAIOJackdb.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.211 MHAIOPortAudio::device_info_t Class Reference 583
5.211 MHAIOPortAudio::device_info_t Class Reference
Inheritance diagram for MHAIOPortAudio::device_info_t:
MHAIOPortAudio::device
_info_t
MHAParser::parser_t
MHAParser::base_t
Public Member Functions
device_info_t ()
void fill_info ()
Public Attributes
MHAParser::int_mon_t numDevices
MHAParser::vint_mon_t structVersion
MHAParser::vstring_mon_t name
MHAParser::vint_mon_t hostApi
MHAParser::vint_mon_t maxInputChannels
MHAParser::vint_mon_t maxOutputChannels
MHAParser::vfloat_mon_t defaultLowInputLatency
MHAParser::vfloat_mon_t defaultLowOutputLatency
MHAParser::vfloat_mon_t defaultHighInputLatency
MHAParser::vfloat_mon_t defaultHighOutputLatency
MHAParser::vfloat_mon_t defaultSampleRate
© 2005-2019 HörTech gGmbH, Oldenburg
584 CONTENTS
Additional Inherited Members
5.211.1 Constructor & Destructor Documentation
5.211.1.1 MHAIOPortAudio::device_info_t::device_info_t ( ) [inline]
5.211.2 Member Function Documentation
5.211.2.1 void MHAIOPortAudio::device_info_t::fill_info ( ) [inline]
5.211.3 Member Data Documentation
5.211.3.1 MHAParser::int_mon_t MHAIOPortAudio::device_info_t::numDevices
5.211.3.2 MHAParser::vint_mon_t MHAIOPortAudio::device_info_t::structVersion
5.211.3.3 MHAParser::vstring_mon_t MHAIOPortAudio::device_info_t::name
5.211.3.4 MHAParser::vint_mon_t MHAIOPortAudio::device_info_t::hostApi
5.211.3.5 MHAParser::vint_mon_t MHAIOPortAudio::device_info_t::maxInputChannels
5.211.3.6 MHAParser::vint_mon_t MHAIOPortAudio::device_info_t::maxOutputChannels
5.211.3.7 MHAParser::vfloat_mon_t MHAIOPortAudio::device_info_t::defaultLowInputLatency
5.211.3.8 MHAParser::vfloat_mon_t MHAIOPortAudio::device_info_t::defaultLowOutputLatency
5.211.3.9 MHAParser::vfloat_mon_t MHAIOPortAudio::device_info_t::defaultHighInputLatency
5.211.3.10 MHAParser::vfloat_mon_t MHAIOPortAudio::device_info_t::defaultHighOutputLatency
5.211.3.11 MHAParser::vfloat_mon_t MHAIOPortAudio::device_info_t::defaultSampleRate
The documentation for this class was generated from the following file:
MHAIOPortAudio.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.212 MHAIOPortAudio::io_portaudio_t Class Reference 585
5.212 MHAIOPortAudio::io_portaudio_t Class Reference
Main class for Portaudio sound IO.
Inheritance diagram for MHAIOPortAudio::io_portaudio_t:
MHAIOPortAudio::io
_portaudio_t
MHAParser::parser_t
MHAParser::base_t
Public Member Functions
io_portaudio_t (unsigned int fragsize, float samplerate,IOProcessEvent_t proc_-
event, void proc_handle,IOStartedEvent_t start_event, void start_handle,IO-
StoppedEvent_t stop_event, void stop_handle)
void device_name_updated ()
void device_index_updated ()
io_portaudio_t ()
void cmd_prepare (int, int)
void cmd_start ()
void cmd_stop ()
void cmd_release ()
int portaudio_callback (const void input, void output, unsigned long frame_count,
const PaStreamCallbackTimeInfo time_info, PaStreamCallbackFlags status_flags)
Private Attributes
device_info_t device_info
MHASignal::waveform_t s_in
mha_wave_t s_out
float samplerate
unsigned int nchannels_out
unsigned int nchannels_in
© 2005-2019 HörTech gGmbH, Oldenburg
586 CONTENTS
unsigned int fragsize
IOProcessEvent_t proc_event
void proc_handle
IOStartedEvent_t start_event
void start_handle
IOStoppedEvent_t stop_event
void stop_handle
PaStream portaudio_stream
MHAParser::string_t device_name
MHAParser::int_t device_index
MHAEvents::patchbay_t<io_portaudio_t >patchbay
Additional Inherited Members
5.212.1 Detailed Description
Main class for Portaudio sound IO.
5.212.2 Constructor & Destructor Documentation
5.212.2.1 MHAIOPortAudio::io_portaudio_t::io_portaudio_t (
unsigned int fragsize,
float samplerate,
IOProcessEvent_t proc_event,
void proc_handle,
IOStartedEvent_t start_event,
void start_handle,
IOStoppedEvent_t stop_event,
void stop_handle )[inline]
5.212.2.2 MHAIOPortAudio::io_portaudio_t::io_portaudio_t ( ) [inline]
5.212.3 Member Function Documentation
5.212.3.1 void MHAIOPortAudio::io_portaudio_t::device_name_updated ( ) [inline]
5.212.3.2 void MHAIOPortAudio::io_portaudio_t::device_index_updated ( ) [inline]
5.212.3.3 void MHAIOPortAudio::io_portaudio_t::cmd_prepare (
int nchannels_in,
int nchannels_out )
5.212.3.4 void MHAIOPortAudio::io_portaudio_t::cmd_start ( )
© 2005-2019 HörTech gGmbH, Oldenburg
5.212 MHAIOPortAudio::io_portaudio_t Class Reference 587
5.212.3.5 void MHAIOPortAudio::io_portaudio_t::cmd_stop ( )
5.212.3.6 void MHAIOPortAudio::io_portaudio_t::cmd_release ( )
5.212.3.7 int MHAIOPortAudio::io_portaudio_t::portaudio_callback (
const void input,
void output,
unsigned long frame_count,
const PaStreamCallbackTimeInfo time_info,
PaStreamCallbackFlags status_flags )
5.212.4 Member Data Documentation
5.212.4.1 device_info_t MHAIOPortAudio::io_portaudio_t::device_info [private]
5.212.4.2 MHASignal::waveform_tMHAIOPortAudio::io_portaudio_t::s_in [private]
5.212.4.3 mha_wave_tMHAIOPortAudio::io_portaudio_t::s_out [private]
5.212.4.4 float MHAIOPortAudio::io_portaudio_t::samplerate [private]
5.212.4.5 unsigned int MHAIOPortAudio::io_portaudio_t::nchannels_out [private]
5.212.4.6 unsigned int MHAIOPortAudio::io_portaudio_t::nchannels_in [private]
5.212.4.7 unsigned int MHAIOPortAudio::io_portaudio_t::fragsize [private]
5.212.4.8 IOProcessEvent_t MHAIOPortAudio::io_portaudio_t::proc_event [private]
5.212.4.9 voidMHAIOPortAudio::io_portaudio_t::proc_handle [private]
5.212.4.10 IOStartedEvent_t MHAIOPortAudio::io_portaudio_t::start_event [private]
5.212.4.11 voidMHAIOPortAudio::io_portaudio_t::start_handle [private]
5.212.4.12 IOStoppedEvent_t MHAIOPortAudio::io_portaudio_t::stop_event [private]
5.212.4.13 voidMHAIOPortAudio::io_portaudio_t::stop_handle [private]
5.212.4.14 PaStreamMHAIOPortAudio::io_portaudio_t::portaudio_stream [private]
5.212.4.15 MHAParser::string_t MHAIOPortAudio::io_portaudio_t::device_name [private]
5.212.4.16 MHAParser::int_t MHAIOPortAudio::io_portaudio_t::device_index [private]
5.212.4.17 MHAEvents::patchbay_t<io_portaudio_t>MHAIOPortAudio::io_portaudio_t-
::patchbay [private]
The documentation for this class was generated from the following file:
MHAIOPortAudio.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
588 CONTENTS
5.213 MHAJack::client_avg_t Class Reference
Generic JACK client for averaging a system response across time.
Inheritance diagram for MHAJack::client_avg_t:
MHAJack::client_avg_t
MHAJack::client_t
Public Member Functions
client_avg_t (const std::string &name, const unsigned int &nrep_)
Constructor for averaging client.
• void io (mha_wave_t s_out,mha_wave_t s_in, const std::vector<std::string
>&p_out, const std::vector<std::string >&p_in, float srate=NULL, unsigned int
fragsize=NULL)
Recording function.
Private Member Functions
void proc (mha_wave_t sIn, mha_wave_t ∗∗sOut)
void IOStoppedEvent ()
Static Private Member Functions
static int proc (void handle, mha_wave_t sIn, mha_wave_t ∗∗sOut)
static void IOStoppedEvent (void handle, int proc_err, int io_err)
Private Attributes
bool b_stopped
unsigned int pos
mha_wave_t sn_in
mha_wave_t sn_out
std::string name
MHASignal::waveform_t frag_out
const unsigned int nrep
unsigned int n
bool b_ready
© 2005-2019 HörTech gGmbH, Oldenburg
5.213 MHAJack::client_avg_t Class Reference 589
Additional Inherited Members
5.213.1 Detailed Description
Generic JACK client for averaging a system response across time.
5.213.2 Constructor & Destructor Documentation
5.213.2.1 MHAJack::client_avg_t::client_avg_t (
const std::string & name_,
const unsigned int & nrep_ )
Constructor for averaging client.
Parameters
name-
_
Name of JACK client
nrep-
_
Number of repetitions
5.213.3 Member Function Documentation
5.213.3.1 void MHAJack::client_avg_t::io (
mha_wave_t is_out,
mha_wave_t is_in,
const std::vector<std::string >&p_out,
const std::vector<std::string >&p_in,
float srate = NULL,
unsigned int fragsize = NULL )
Recording function.
long-description
Parameters
is_out Input (test) signal, which will be repeated
is_in System response (averaged, same length as input required)
p_out Ports to play back the test signal
p_in Ports to record from the system response
srate Pointer to sampling rate variable, will be filled with server sampling rate
fragsize Pointer to fragment size variable, will be filled with server fragment size
© 2005-2019 HörTech gGmbH, Oldenburg
590 CONTENTS
5.213.3.2 int MHAJack::client_avg_t::proc (
void handle,
mha_wave_t sIn,
mha_wave_t ∗∗ sOut )[static],[private]
5.213.3.3 void MHAJack::client_avg_t::IOStoppedEvent (
void handle,
int proc_err,
int io_err )[static],[private]
5.213.3.4 void MHAJack::client_avg_t::proc (
mha_wave_t sIn,
mha_wave_t ∗∗ sOut )[private]
5.213.3.5 void MHAJack::client_avg_t::IOStoppedEvent ( ) [private]
5.213.4 Member Data Documentation
5.213.4.1 bool MHAJack::client_avg_t::b_stopped [private]
5.213.4.2 unsigned int MHAJack::client_avg_t::pos [private]
5.213.4.3 mha_wave_tMHAJack::client_avg_t::sn_in [private]
5.213.4.4 mha_wave_tMHAJack::client_avg_t::sn_out [private]
5.213.4.5 std::string MHAJack::client_avg_t::name [private]
5.213.4.6 MHASignal::waveform_tMHAJack::client_avg_t::frag_out [private]
5.213.4.7 const unsigned int MHAJack::client_avg_t::nrep [private]
5.213.4.8 unsigned int MHAJack::client_avg_t::n [private]
5.213.4.9 bool MHAJack::client_avg_t::b_ready [private]
The documentation for this class was generated from the following files:
mhajack.h
mhajack.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.214 MHAJack::client_noncont_t Class Reference 591
5.214 MHAJack::client_noncont_t Class Reference
Generic client for synchronous playback and recording of waveform fragments.
Inheritance diagram for MHAJack::client_noncont_t:
MHAJack::client_noncont_t
MHAJack::client_t
Public Member Functions
client_noncont_t (const std::string &name, bool use_jack_transport=false)
• void io (mha_wave_t s_out,mha_wave_t s_in, const std::vector<std::string
>&p_out, const std::vector<std::string >&p_in, float srate=NULL, unsigned int
fragsize=NULL)
Private Member Functions
void proc (mha_wave_t sIn, mha_wave_t ∗∗sOut)
void IOStoppedEvent ()
Static Private Member Functions
static int proc (void handle, mha_wave_t sIn, mha_wave_t ∗∗sOut)
static void IOStoppedEvent (void handle, int proc_err, int io_err)
Private Attributes
bool b_stopped
unsigned int pos
mha_wave_t sn_in
mha_wave_t sn_out
std::string name
MHASignal::waveform_t frag_out
© 2005-2019 HörTech gGmbH, Oldenburg
592 CONTENTS
Additional Inherited Members
5.214.1 Detailed Description
Generic client for synchronous playback and recording of waveform fragments.
5.214.2 Constructor & Destructor Documentation
5.214.2.1 MHAJack::client_noncont_t::client_noncont_t (
const std::string & name,
bool use_jack_transport = false )
5.214.3 Member Function Documentation
5.214.3.1 void MHAJack::client_noncont_t::io (
mha_wave_t s_out,
mha_wave_t s_in,
const std::vector<std::string >&p_out,
const std::vector<std::string >&p_in,
float srate = NULL,
unsigned int fragsize = NULL )
5.214.3.2 int MHAJack::client_noncont_t::proc (
void handle,
mha_wave_t sIn,
mha_wave_t ∗∗ sOut )[static],[private]
5.214.3.3 void MHAJack::client_noncont_t::IOStoppedEvent (
void handle,
int proc_err,
int io_err )[static],[private]
5.214.3.4 void MHAJack::client_noncont_t::proc (
mha_wave_t sIn,
mha_wave_t ∗∗ sOut )[private]
5.214.3.5 void MHAJack::client_noncont_t::IOStoppedEvent ( ) [private]
5.214.4 Member Data Documentation
5.214.4.1 bool MHAJack::client_noncont_t::b_stopped [private]
5.214.4.2 unsigned int MHAJack::client_noncont_t::pos [private]
© 2005-2019 HörTech gGmbH, Oldenburg
5.215 MHAJack::client_t Class Reference 593
5.214.4.3 mha_wave_tMHAJack::client_noncont_t::sn_in [private]
5.214.4.4 mha_wave_tMHAJack::client_noncont_t::sn_out [private]
5.214.4.5 std::string MHAJack::client_noncont_t::name [private]
5.214.4.6 MHASignal::waveform_tMHAJack::client_noncont_t::frag_out [private]
The documentation for this class was generated from the following files:
mhajack.h
mhajack.cpp
5.215 MHAJack::client_t Class Reference
Generic asynchronous JACK client.
Inheritance diagram for MHAJack::client_t:
MHAJack::client_t
MHAIOJack::io_jack_t
MHAIOJackdb::io_jack_t
MHAJack::client_avg_t
MHAJack::client_noncont_t
Public Member Functions
client_t (IOProcessEvent_t proc_event, void proc_handle=NULL, IOStartedEvent-
_t start_event=NULL, void start_handle=NULL, IOStoppedEvent_t stop_event=N-
ULL, void stop_handle=NULL, bool use_jack_transport=false)
void prepare (const std::string &client_name, const unsigned int &nchannels_in, const
unsigned int &nchannels_out)
Allocate buffers, activate JACK client and install internal ports.
© 2005-2019 HörTech gGmbH, Oldenburg
594 CONTENTS
void prepare (const std::string &server_name, const std::string &client_name, const un-
signed int &nchannels_in, const unsigned int &nchannels_out)
Allocate buffers, ports, and activates JACK client.
void release ()
Remove JACK client and deallocate internal ports and buffers.
void start (bool fail_on_async_jack_error=true)
void stop ()
void connect_input (const std::vector<std::string >&)
Connect the input ports when connection variable is accessed.
void connect_output (const std::vector<std::string >&)
Connect the output ports when connection variable is accessed.
unsigned int get_fragsize () const
float get_srate () const
unsigned long get_xruns ()
unsigned long get_xruns_reset ()
std::string str_error (int err)
void get_ports (std::vector<std::string >&, unsigned long jack_flags)
Get a list of Jack ports.
• std::vector<std::string >get_my_input_ports ()
• std::vector<std::string >get_my_output_ports ()
void set_input_portnames (const std::vector<std::string >&)
void set_output_portnames (const std::vector<std::string >&)
float get_cpu_load ()
void set_use_jack_transport (bool ut)
Protected Attributes
jack_client_t jc
Private Member Functions
void prepare_impl (const char server_name, const char client_name, const unsigned
int &nchannels_in, const unsigned int &nchannels_out)
Allocate buffers, activate JACK client and allocates jack ports Registers the jack client with the
given server and activates it.
void internal_start ()
void internal_stop ()
void stopped (int, int)
int jack_proc_cb (jack_nframes_t)
This is the main processing callback.
int jack_xrun_cb ()
Static Private Member Functions
static int jack_proc_cb (jack_nframes_t, void )
static int jack_xrun_cb (void )
© 2005-2019 HörTech gGmbH, Oldenburg
5.215 MHAJack::client_t Class Reference 595
Private Attributes
unsigned long num_xruns
unsigned int fragsize
float samplerate
unsigned int nchannels_in
unsigned int nchannels_out
IOProcessEvent_t proc_event
void proc_handle
IOStartedEvent_t start_event
void start_handle
IOStoppedEvent_t stop_event
void stop_handle
MHASignal::waveform_t s_in
mha_wave_t s_out
MHAJack::port_t ∗∗ inch
MHAJack::port_t ∗∗ outch
unsigned int flags
bool b_prepared
bool use_jack_transport
jack_transport_state_t jstate_prev
• std::vector<std::string >input_portnames
• std::vector<std::string >output_portnames
bool fail_on_async_jackerror
5.215.1 Detailed Description
Generic asynchronous JACK client.
5.215.2 Constructor & Destructor Documentation
5.215.2.1 MHAJack::client_t::client_t (
IOProcessEvent_t proc_event,
void proc_handle = NULL,
IOStartedEvent_t start_event = NULL,
void start_handle = NULL,
IOStoppedEvent_t stop_event = NULL,
void stop_handle = NULL,
bool use_jack_transport = false )
5.215.3 Member Function Documentation
5.215.3.1 void MHAJack::client_t::prepare (
const std::string & client_name,
const unsigned int & nch_in,
const unsigned int & nch_out )
Allocate buffers, activate JACK client and install internal ports.
Registers the jack client with the default jack server and activates it.
© 2005-2019 HörTech gGmbH, Oldenburg
596 CONTENTS
Parameters
client_name Name of this jack client
nch_in Input ports to register
nch_out Output ports to register
5.215.3.2 void MHAJack::client_t::prepare (
const std::string & server_name,
const std::string & client_name,
const unsigned int & nch_in,
const unsigned int & nch_out )
Allocate buffers, ports, and activates JACK client.
Registers the jack client with specified jack server and activates it.
Parameters
server_name Name of the jack server to register with
client_name Name of this jack client
nch_in Input ports to register
nch_out Output ports to register
5.215.3.3 void MHAJack::client_t::release (
void )
Remove JACK client and deallocate internal ports and buffers.
5.215.3.4 void MHAJack::client_t::start (
bool fail_on_async_jack_error = true )
5.215.3.5 void MHAJack::client_t::stop ( )
5.215.3.6 void MHAJack::client_t::connect_input (
const std::vector<std::string >&con )
Connect the input ports when connection variable is accessed.
5.215.3.7 void MHAJack::client_t::connect_output (
const std::vector<std::string >&con )
Connect the output ports when connection variable is accessed.
© 2005-2019 HörTech gGmbH, Oldenburg
5.215 MHAJack::client_t Class Reference 597
5.215.3.8 unsigned int MHAJack::client_t::get_fragsize ( ) const [inline]
5.215.3.9 float MHAJack::client_t::get_srate ( ) const [inline]
5.215.3.10 unsigned long MHAJack::client_t::get_xruns ( ) [inline]
5.215.3.11 unsigned long MHAJack::client_t::get_xruns_reset ( )
5.215.3.12 std::string MHAJack::client_t::str_error (
int err )
5.215.3.13 void MHAJack::client_t::get_ports (
std::vector<std::string >&res,
unsigned long jack_flags )
Get a list of Jack ports.
Parameters
res Result string vector
jack_flags Jack port flags (JackPortInput etc.)
5.215.3.14 std::vector<std::string >MHAJack::client_t::get_my_input_ports ( )
5.215.3.15 std::vector<std::string >MHAJack::client_t::get_my_output_ports ( )
5.215.3.16 void MHAJack::client_t::set_input_portnames (
const std::vector<std::string >&names )
5.215.3.17 void MHAJack::client_t::set_output_portnames (
const std::vector<std::string >&names )
5.215.3.18 float MHAJack::client_t::get_cpu_load ( )
5.215.3.19 void MHAJack::client_t::set_use_jack_transport (
bool ut )[inline]
5.215.3.20 void MHAJack::client_t::prepare_impl (
const char server_name,
const char client_name,
const unsigned int & nch_in,
const unsigned int & nch_out )[private]
Allocate buffers, activate JACK client and allocates jack ports Registers the jack client with the
given server and activates it.
© 2005-2019 HörTech gGmbH, Oldenburg
598 CONTENTS
Parameters
server_name Name of the jack server to register with
client_name Name of this jack client
nch_in Input ports to register
nch_out Output ports to register
5.215.3.21 void MHAJack::client_t::internal_start ( ) [private]
5.215.3.22 void MHAJack::client_t::internal_stop ( ) [private]
5.215.3.23 void MHAJack::client_t::stopped (
int proc_err,
int io_err )[private]
5.215.3.24 int MHAJack::client_t::jack_proc_cb (
jack_nframes_t n,
void h)[static],[private]
5.215.3.25 int MHAJack::client_t::jack_proc_cb (
jack_nframes_t n)[private]
This is the main processing callback.
Here happens double buffering and downsampling.
5.215.3.26 int MHAJack::client_t::jack_xrun_cb (
void h)[static],[private]
5.215.3.27 int MHAJack::client_t::jack_xrun_cb ( ) [inline],[private]
5.215.4 Member Data Documentation
5.215.4.1 unsigned long MHAJack::client_t::num_xruns [private]
5.215.4.2 unsigned int MHAJack::client_t::fragsize [private]
5.215.4.3 float MHAJack::client_t::samplerate [private]
5.215.4.4 unsigned int MHAJack::client_t::nchannels_in [private]
5.215.4.5 unsigned int MHAJack::client_t::nchannels_out [private]
5.215.4.6 IOProcessEvent_t MHAJack::client_t::proc_event [private]
© 2005-2019 HörTech gGmbH, Oldenburg
5.216 MHAJack::port_t Class Reference 599
5.215.4.7 voidMHAJack::client_t::proc_handle [private]
5.215.4.8 IOStartedEvent_t MHAJack::client_t::start_event [private]
5.215.4.9 voidMHAJack::client_t::start_handle [private]
5.215.4.10 IOStoppedEvent_t MHAJack::client_t::stop_event [private]
5.215.4.11 voidMHAJack::client_t::stop_handle [private]
5.215.4.12 MHASignal::waveform_tMHAJack::client_t::s_in [private]
5.215.4.13 mha_wave_tMHAJack::client_t::s_out [private]
5.215.4.14 MHAJack::port_t∗∗ MHAJack::client_t::inch [private]
5.215.4.15 MHAJack::port_t∗∗ MHAJack::client_t::outch [private]
5.215.4.16 jack_client_tMHAJack::client_t::jc [protected]
5.215.4.17 unsigned int MHAJack::client_t::flags [private]
5.215.4.18 bool MHAJack::client_t::b_prepared [private]
5.215.4.19 bool MHAJack::client_t::use_jack_transport [private]
5.215.4.20 jack_transport_state_t MHAJack::client_t::jstate_prev [private]
5.215.4.21 std::vector<std::string>MHAJack::client_t::input_portnames [private]
5.215.4.22 std::vector<std::string>MHAJack::client_t::output_portnames [private]
5.215.4.23 bool MHAJack::client_t::fail_on_async_jackerror [private]
The documentation for this class was generated from the following files:
mhajack.h
mhajack.cpp
5.216 MHAJack::port_t Class Reference
Class for one channel/port.
© 2005-2019 HörTech gGmbH, Oldenburg
600 CONTENTS
Public Types
Public Member Functions
port_t (jack_client_t jc,dir_t dir, int id)
port_t (jack_client_t jc,dir_t dir, const std::string &id)
Constructor to create port with specific name.
port_t ()
void read (mha_wave_t s, unsigned int ch)
void write (mha_wave_t s, unsigned int ch)
void mute (unsigned int n)
void connect_to (const char pn)
const char get_short_name ()
Return the port name.
Private Attributes
dir_t dir_type
jack_port_t port
jack_default_audio_sample_t iob
jack_client_t jc
5.216.1 Detailed Description
Class for one channel/port.
This class represents one JACK port. Double buffering for asynchronous process callbacks is
managed by this class.
5.216.2 Member Enumeration Documentation
5.216.2.1 enum MHAJack::port_t::dir_t
Enumerator
input
output
5.216.3 Constructor & Destructor Documentation
5.216.3.1 MHAJack::port_t::port_t (
jack_client_t jc,
dir_t dir,
int id )
© 2005-2019 HörTech gGmbH, Oldenburg
5.216 MHAJack::port_t Class Reference 601
Parameters
jc JACK client.
dir Direction (input/output).
id Number in port name (starting with 1).
5.216.3.2 MHAJack::port_t::port_t (
jack_client_t jc,
dir_t dir,
const std::string & id )
Constructor to create port with specific name.
Parameters
jc JACK client.
dir Direction (input/output).
id Port name.
5.216.3.3 MHAJack::port_t::port_t ( )
5.216.4 Member Function Documentation
5.216.4.1 void MHAJack::port_t::read (
mha_wave_t s,
unsigned int ch )
Parameters
sSignal structure to store the audio data.
ch Channel number in audio data structure to be used.
5.216.4.2 void MHAJack::port_t::write (
mha_wave_t s,
unsigned int ch )
Parameters
sSignal structure from which the audio data is read.
ch Channel number in audio data structure to be used.
5.216.4.3 void MHAJack::port_t::mute (
unsigned int n)
© 2005-2019 HörTech gGmbH, Oldenburg
602 CONTENTS
Parameters
nNumber of samples to be muted (must be the same as reported by Jack processing
callback).
5.216.4.4 void MHAJack::port_t::connect_to (
const char pn )
Parameters
pn Port name to connect to
5.216.4.5 const char MHAJack::port_t::get_short_name ( )
Return the port name.
5.216.5 Member Data Documentation
5.216.5.1 dir_t MHAJack::port_t::dir_type [private]
5.216.5.2 jack_port_tMHAJack::port_t::port [private]
5.216.5.3 jack_default_audio_sample_tMHAJack::port_t::iob [private]
5.216.5.4 jack_client_tMHAJack::port_t::jc [private]
The documentation for this class was generated from the following files:
mhajack.h
mhajack.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.217 MHAKernel::algo_comm_class_t Class Reference 603
5.217 MHAKernel::algo_comm_class_t Class Reference
Inheritance diagram for MHAKernel::algo_comm_class_t:
MHAKernel::algo_comm
_class_t
mhaplug_cfg_t
MHAPlugin_Split::splitted
_part_t
plug_t
pluginloader_t
testplugin::ac_parser_t
Public Member Functions
algo_comm_class_t ()
virtual algo_comm_class_t ()
algo_comm_t get_c_handle ()
virtual void local_insert_var (const char ,comm_var_t)
virtual void local_remove_var (const char )
virtual void local_remove_ref (void )
virtual bool local_is_var (const char )
virtual void local_get_var (const char ,comm_var_t )
virtual std::string local_get_entries ()
virtual comm_var_map_t::size_type size () const
Static Public Member Functions
static int insert_var (void , const char ,comm_var_t)
static int insert_var_int (void , const char , int )
static int insert_var_float (void , const char , float )
static int remove_var (void , const char )
static int remove_ref (void , void )
static int is_var (void , const char )
static int get_var (void , const char ,comm_var_t )
static int get_var_int (void , const char , int )
static int get_var_float (void , const char , float )
static int get_entries (void , char , unsigned int)
static const char get_error (int)
© 2005-2019 HörTech gGmbH, Oldenburg
604 CONTENTS
Public Attributes
char algo_comm_id_string
Private Attributes
algo_comm_t ac
int algo_comm_id_string_len
comm_var_map_t vars
5.217.1 Constructor & Destructor Documentation
5.217.1.1 MHAKernel::algo_comm_class_t::algo_comm_class_t ( )
5.217.1.2 MHAKernel::algo_comm_class_t::algo_comm_class_t ( ) [virtual]
5.217.2 Member Function Documentation
5.217.2.1 algo_comm_t MHAKernel::algo_comm_class_t::get_c_handle ( )
5.217.2.2 int MHAKernel::algo_comm_class_t::insert_var (
void handle,
const char name,
comm_var_t var )[static]
5.217.2.3 int MHAKernel::algo_comm_class_t::insert_var_int (
void handle,
const char name,
int ivar )[static]
5.217.2.4 int MHAKernel::algo_comm_class_t::insert_var_float (
void handle,
const char name,
float ivar )[static]
5.217.2.5 int MHAKernel::algo_comm_class_t::remove_var (
void handle,
const char name )[static]
5.217.2.6 int MHAKernel::algo_comm_class_t::remove_ref (
void handle,
void ref )[static]
© 2005-2019 HörTech gGmbH, Oldenburg
5.217 MHAKernel::algo_comm_class_t Class Reference 605
5.217.2.7 int MHAKernel::algo_comm_class_t::is_var (
void handle,
const char name )[static]
5.217.2.8 int MHAKernel::algo_comm_class_t::get_var (
void handle,
const char name,
comm_var_t var )[static]
5.217.2.9 int MHAKernel::algo_comm_class_t::get_var_int (
void handle,
const char name,
int ivar )[static]
5.217.2.10 int MHAKernel::algo_comm_class_t::get_var_float (
void handle,
const char name,
float ivar )[static]
5.217.2.11 int MHAKernel::algo_comm_class_t::get_entries (
void handle,
char ret,
unsigned int len )[static]
5.217.2.12 const char MHAKernel::algo_comm_class_t::get_error (
int e)[static]
5.217.2.13 void MHAKernel::algo_comm_class_t::local_insert_var (
const char name,
comm_var_t var )[virtual]
5.217.2.14 void MHAKernel::algo_comm_class_t::local_remove_var (
const char name )[virtual]
5.217.2.15 void MHAKernel::algo_comm_class_t::local_remove_ref (
void addr )[virtual]
5.217.2.16 bool MHAKernel::algo_comm_class_t::local_is_var (
const char name )[virtual]
5.217.2.17 void MHAKernel::algo_comm_class_t::local_get_var (
const char name,
comm_var_t var )[virtual]
5.217.2.18 std::string MHAKernel::algo_comm_class_t::local_get_entries ( ) [virtual]
© 2005-2019 HörTech gGmbH, Oldenburg
606 CONTENTS
5.217.2.19 MHAKernel::comm_var_map_t::size_type MHAKernel::algo_comm_class_t::size ( ) const
[virtual]
5.217.3 Member Data Documentation
5.217.3.1 charMHAKernel::algo_comm_class_t::algo_comm_id_string
5.217.3.2 algo_comm_t MHAKernel::algo_comm_class_t::ac [private]
5.217.3.3 int MHAKernel::algo_comm_class_t::algo_comm_id_string_len [private]
5.217.3.4 comm_var_map_t MHAKernel::algo_comm_class_t::vars [private]
The documentation for this class was generated from the following files:
mha_algo_comm.hh
mha_algo_comm.cpp
5.218 MHAKernel::comm_var_map_t Class Reference
Inherits map<std::string, comm_var_t >.
Public Member Functions
bool has_key (const std::string &name)
5.218.1 Member Function Documentation
5.218.1.1 bool MHAKernel::comm_var_map_t::has_key (
const std::string & name )[inline]
The documentation for this class was generated from the following file:
mha_algo_comm.hh
© 2005-2019 HörTech gGmbH, Oldenburg
5.219 MHAMultiSrc::base_t Class Reference 607
5.219 MHAMultiSrc::base_t Class Reference
Base class for source selection.
Inheritance diagram for MHAMultiSrc::base_t:
MHAMultiSrc::base_t
MHAMultiSrc::spectrum_t MHAMultiSrc::waveform_t
MHAPlugin::config_t
< MHAMultiSrc::channels_t >
Public Member Functions
base_t (algo_comm_t iac)
void select_source (const std::vector<std::string >&src, int in_channels)
Change the selection of input sources.
Protected Attributes
algo_comm_t ac
Additional Inherited Members
5.219.1 Detailed Description
Base class for source selection.
See also
MHAMultiSrc::channel_t (p. 608)
MHAMultiSrc::channels_t (p. 609)
© 2005-2019 HörTech gGmbH, Oldenburg
608 CONTENTS
5.219.2 Constructor & Destructor Documentation
5.219.2.1 MHAMultiSrc::base_t::base_t (
algo_comm_t iac )
5.219.3 Member Function Documentation
5.219.3.1 void MHAMultiSrc::base_t::select_source (
const std::vector<std::string >&src,
int in_channels )
Change the selection of input sources.
This function is real-time and thread safe.
Parameters
src List of input sources
in_channels Number of input channels in direct input (the processed signal)
5.219.4 Member Data Documentation
5.219.4.1 algo_comm_t MHAMultiSrc::base_t::ac [protected]
The documentation for this class was generated from the following files:
mha_multisrc.h
mha_multisrc.cpp
5.220 MHAMultiSrc::channel_t Class Reference
Public Attributes
std::string name
int channel
5.220.1 Member Data Documentation
5.220.1.1 std::string MHAMultiSrc::channel_t::name
5.220.1.2 int MHAMultiSrc::channel_t::channel
The documentation for this class was generated from the following file:
mha_multisrc.h
© 2005-2019 HörTech gGmbH, Oldenburg
5.221 MHAMultiSrc::channels_t Class Reference 609
5.221 MHAMultiSrc::channels_t Class Reference
Inherits vector<MHAMultiSrc::channel_t >.
Public Member Functions
channels_t (const std::vector<std::string >&src, int in_channels)
Separate a list of input sources into a parsable channel list.
5.221.1 Constructor & Destructor Documentation
5.221.1.1 MHAMultiSrc::channels_t::channels_t (
const std::vector<std::string >&route,
int in_channels )
Separate a list of input sources into a parsable channel list.
The number of input channels if verified, a list of MHAMultiSrc::channel_t (p. 608) is filled.
Parameters
route vector of source channel ids
in_channels number of channels in the processed input signal
The documentation for this class was generated from the following files:
mha_multisrc.h
mha_multisrc.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
610 CONTENTS
5.222 MHAMultiSrc::spectrum_t Class Reference
Inheritance diagram for MHAMultiSrc::spectrum_t:
MHAMultiSrc::spectrum_t
MHA_AC::spectrum_t
MHASignal::spectrum_t
mha_spec_t
MHAMultiSrc::base_t
MHAPlugin::config_t
< MHAMultiSrc::channels_t >
Public Member Functions
spectrum_t (algo_comm_t iac, std::string name, unsigned int frames, unsigned int
channels)
mha_spec_t update (mha_spec_t s)
Update data of spectrum to hold actual input data.
Additional Inherited Members
5.222.1 Constructor & Destructor Documentation
5.222.1.1 MHAMultiSrc::spectrum_t::spectrum_t (
algo_comm_t iac,
std::string name,
unsigned int frames,
unsigned int channels )
5.222.2 Member Function Documentation
5.222.2.1 mha_spec_t MHAMultiSrc::spectrum_t::update (
mha_spec_t s)
Update data of spectrum to hold actual input data.
© 2005-2019 HörTech gGmbH, Oldenburg
5.223 MHAMultiSrc::waveform_t Class Reference 611
Parameters
sInput signal chunk
Returns
Return pointer to spectrum structure
The documentation for this class was generated from the following files:
mha_multisrc.h
mha_multisrc.cpp
5.223 MHAMultiSrc::waveform_t Class Reference
Inheritance diagram for MHAMultiSrc::waveform_t:
MHAMultiSrc::waveform_t
MHA_AC::waveform_t
MHASignal::waveform_t
mha_wave_t
MHAMultiSrc::base_t
MHAPlugin::config_t
< MHAMultiSrc::channels_t >
Public Member Functions
waveform_t (algo_comm_t iac, std::string name, unsigned int frames, unsigned int
channels)
mha_wave_t update (mha_wave_t s)
Update data of waveform to hold actual input data.
© 2005-2019 HörTech gGmbH, Oldenburg
612 CONTENTS
Additional Inherited Members
5.223.1 Constructor & Destructor Documentation
5.223.1.1 MHAMultiSrc::waveform_t::waveform_t (
algo_comm_t iac,
std::string name,
unsigned int frames,
unsigned int channels )
5.223.2 Member Function Documentation
5.223.2.1 mha_wave_t MHAMultiSrc::waveform_t::update (
mha_wave_t s)
Update data of waveform to hold actual input data.
Parameters
sInput signal chunk
Returns
Return pointer to waveform structure
The documentation for this class was generated from the following files:
mha_multisrc.h
mha_multisrc.cpp
5.224 MHAOvlFilter::band_descriptor_t Class Reference
Public Attributes
mha_real_t cf_l
mha_real_t ef_l
mha_real_t cf
mha_real_t ef_h
mha_real_t cf_h
bool low_side_flat
bool high_side_flat
© 2005-2019 HörTech gGmbH, Oldenburg
5.225 MHAOvlFilter::barkscale::bark2hz_t Class Reference 613
5.224.1 Member Data Documentation
5.224.1.1 mha_real_t MHAOvlFilter::band_descriptor_t::cf_l
5.224.1.2 mha_real_t MHAOvlFilter::band_descriptor_t::ef_l
5.224.1.3 mha_real_t MHAOvlFilter::band_descriptor_t::cf
5.224.1.4 mha_real_t MHAOvlFilter::band_descriptor_t::ef_h
5.224.1.5 mha_real_t MHAOvlFilter::band_descriptor_t::cf_h
5.224.1.6 bool MHAOvlFilter::band_descriptor_t::low_side_flat
5.224.1.7 bool MHAOvlFilter::band_descriptor_t::high_side_flat
The documentation for this class was generated from the following file:
mha_fftfb.hh
5.225 MHAOvlFilter::barkscale::bark2hz_t Class Reference
Inheritance diagram for MHAOvlFilter::barkscale::bark2hz_t:
MHAOvlFilter::barkscale
::bark2hz_t
MHATableLookup::xy
_table_t
MHATableLookup::table_t
© 2005-2019 HörTech gGmbH, Oldenburg
614 CONTENTS
Public Member Functions
bark2hz_t ()
bark2hz_t ()
Additional Inherited Members
5.225.1 Constructor & Destructor Documentation
5.225.1.1 MHAOvlFilter::barkscale::bark2hz_t::bark2hz_t ( )
5.225.1.2 MHAOvlFilter::barkscale::bark2hz_t::bark2hz_t ( )
The documentation for this class was generated from the following file:
mha_fftfb.cpp
5.226 MHAOvlFilter::barkscale::hz2bark_t Class Reference
Inheritance diagram for MHAOvlFilter::barkscale::hz2bark_t:
MHAOvlFilter::barkscale
::hz2bark_t
MHATableLookup::xy
_table_t
MHATableLookup::table_t
Public Member Functions
hz2bark_t ()
hz2bark_t ()
© 2005-2019 HörTech gGmbH, Oldenburg
5.227 MHAOvlFilter::fftfb_ac_info_t Class Reference 615
Additional Inherited Members
5.226.1 Constructor & Destructor Documentation
5.226.1.1 MHAOvlFilter::barkscale::hz2bark_t::hz2bark_t ( )
5.226.1.2 MHAOvlFilter::barkscale::hz2bark_t::hz2bark_t ( )
The documentation for this class was generated from the following file:
mha_fftfb.cpp
5.227 MHAOvlFilter::fftfb_ac_info_t Class Reference
Public Member Functions
fftfb_ac_info_t (const MHAOvlFilter::fftfb_t &fb, algo_comm_t ac, const std::string
&prefix)
void insert ()
Private Attributes
MHA_AC::waveform_t cfv
vector of nominal center frequencies / Hz
MHA_AC::waveform_t efv
vector of edge frequencies / Hz
MHA_AC::waveform_t bwv
vector of band-weigths (sum of squared fft-bin-weigths)/num_frames
MHA_AC::waveform_t cLTASS
vector of LTASS correction
5.227.1 Constructor & Destructor Documentation
5.227.1.1 MHAOvlFilter::fftfb_ac_info_t::fftfb_ac_info_t (
const MHAOvlFilter::fftfb_t &fb,
algo_comm_t ac,
const std::string & prefix )
5.227.2 Member Function Documentation
5.227.2.1 void MHAOvlFilter::fftfb_ac_info_t::insert ( )
5.227.3 Member Data Documentation
5.227.3.1 MHA_AC::waveform_t MHAOvlFilter::fftfb_ac_info_t::cfv [private]
vector of nominal center frequencies / Hz
© 2005-2019 HörTech gGmbH, Oldenburg
616 CONTENTS
5.227.3.2 MHA_AC::waveform_t MHAOvlFilter::fftfb_ac_info_t::efv [private]
vector of edge frequencies / Hz
5.227.3.3 MHA_AC::waveform_t MHAOvlFilter::fftfb_ac_info_t::bwv [private]
vector of band-weigths (sum of squared fft-bin-weigths)/num_frames
5.227.3.4 MHA_AC::waveform_t MHAOvlFilter::fftfb_ac_info_t::cLTASS [private]
vector of LTASS correction
The documentation for this class was generated from the following files:
mha_fftfb.hh
mha_fftfb.cpp
5.228 MHAOvlFilter::fftfb_t Class Reference
FFT based overlapping filter bank.
Inheritance diagram for MHAOvlFilter::fftfb_t:
MHAOvlFilter::fftfb_t
coherence::cohflt_t
fftfbpow::fftfbpow_t
MHAOvlFilter::overlap
_save_filterbank_t
multibandcompressor
::fftfb_plug_t
MHAOvlFilter::fspacing_t
MHASignal::waveform_tmha_wave_t MHAOvlFilter::overlap
_save_filterbank_analytic_t fftfilterbank::fftfb
_plug_t
Public Member Functions
fftfb_t (MHAOvlFilter::fftfb_vars_t &par, unsigned int nfft, mha_real_t fs)
Constructor for a FFT-based overlapping filter bank.
fftfb_t ()
void apply_gains (mha_spec_t s_out, const mha_spec_t s_in, const mha_wave_t
gains)
void get_fbpower (mha_wave_t fbpow, const mha_spec_t s_in)
void get_fbpower_db (mha_wave_t fbpow, const mha_spec_t s_in)
• std::vector<mha_real_t >get_ltass_gain_db () const
unsigned int bin1 (unsigned int band) const
Return index of first non-zero filter shape window.
unsigned int bin2 (unsigned int band) const
Return index of first zero filter shape window above center frequency.
unsigned int get_fftlen () const
Return fft length.
mha_real_t w (unsigned int k, unsigned int b) const
Return filter shape window at index k in band b.
© 2005-2019 HörTech gGmbH, Oldenburg
5.228 MHAOvlFilter::fftfb_t Class Reference 617
Private Attributes
unsigned int vbin1
unsigned int vbin2
mha_real_t(shape )(mha_real_t)
unsigned int fftlen
mha_real_t samplingrate
Additional Inherited Members
5.228.1 Detailed Description
FFT based overlapping filter bank.
5.228.2 Constructor & Destructor Documentation
5.228.2.1 MHAOvlFilter::fftfb_t::fftfb_t (
MHAOvlFilter::fftfb_vars_t &par,
unsigned int nfft,
mha_real_t fs )
Constructor for a FFT-based overlapping filter bank.
Parameters
par Parameters for the FFT filterbank that can not be deduced from the signal dimensions
are taken from this set of configuration variables.
nfft FFT length
fs Sampling rate / Hz
5.228.2.2 MHAOvlFilter::fftfb_t::fftfb_t ( )
5.228.3 Member Function Documentation
5.228.3.1 void MHAOvlFilter::fftfb_t::apply_gains (
mha_spec_t s_out,
const mha_spec_t s_in,
const mha_wave_t gains )
5.228.3.2 void MHAOvlFilter::fftfb_t::get_fbpower (
mha_wave_t fbpow,
const mha_spec_t s_in )
© 2005-2019 HörTech gGmbH, Oldenburg
618 CONTENTS
5.228.3.3 void MHAOvlFilter::fftfb_t::get_fbpower_db (
mha_wave_t fbpow,
const mha_spec_t s_in )
5.228.3.4 std::vector<float >MHAOvlFilter::fftfb_t::get_ltass_gain_db ( ) const
5.228.3.5 unsigned int MHAOvlFilter::fftfb_t::bin1 (
unsigned int band ) const [inline]
Return index of first non-zero filter shape window.
5.228.3.6 unsigned int MHAOvlFilter::fftfb_t::bin2 (
unsigned int band ) const [inline]
Return index of first zero filter shape window above center frequency.
5.228.3.7 unsigned int MHAOvlFilter::fftfb_t::get_fftlen ( ) const [inline]
Return fft length.
5.228.3.8 mha_real_t MHAOvlFilter::fftfb_t::w (
unsigned int k,
unsigned int b) const [inline]
Return filter shape window at index k in band b.
Parameters
kFrequency index
bBand index
5.228.4 Member Data Documentation
5.228.4.1 unsigned intMHAOvlFilter::fftfb_t::vbin1 [private]
5.228.4.2 unsigned intMHAOvlFilter::fftfb_t::vbin2 [private]
5.228.4.3 mha_real_t(MHAOvlFilter::fftfb_t::shape) (mha_real_t)[private]
5.228.4.4 unsigned int MHAOvlFilter::fftfb_t::fftlen [private]
5.228.4.5 mha_real_t MHAOvlFilter::fftfb_t::samplingrate [private]
The documentation for this class was generated from the following files:
mha_fftfb.hh
mha_fftfb.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.229 MHAOvlFilter::fftfb_vars_t Class Reference 619
5.229 MHAOvlFilter::fftfb_vars_t Class Reference
Set of configuration variables for FFT-based overlapping filters.
Inheritance diagram for MHAOvlFilter::fftfb_vars_t:
MHAOvlFilter::fftfb
_vars_t
coherence::vars_t
fftfbpow::fftfbpow
_interface_t
MHAOvlFilter::overlap
_save_filterbank_t::vars_t
multibandcompressor
::interface_t
fftfilterbank::fftfb
_interface_t
Public Member Functions
fftfb_vars_t (MHAParser::parser_t &p)
construct a set of openMHA configuration language variables suitable for configuring the FFT-
based overlapping filterbank.
Public Attributes
scale_var_t fscale
Frequency scale type (lin/bark/log/erb).
scale_var_t ovltype
Filter shape (rect/lin/hann).
MHAParser::float_t plateau
relative plateau width.
MHAParser::kw_t ftype
Flag to decide wether edge or center frequencies are used.
fscale_t f
Frequency.
MHAParser::bool_t normalize
Normalize sum of channels.
MHAParser::bool_t fail_on_nonmonotonic
Fail if frequency entries are non-monotonic (otherwise sort)
MHAParser::bool_t fail_on_unique_bins
Fail if center frequencies share the same FFT bin.
© 2005-2019 HörTech gGmbH, Oldenburg
620 CONTENTS
MHAParser::vfloat_mon_t cf
Final center frequencies in Hz.
MHAParser::vfloat_mon_t ef
Final edge frequencies in Hz.
MHAParser::vfloat_mon_t cLTASS
Bandwidth correction for LTASS noise (level of 0 dB RMS LTASS noise)
MHAParser::mfloat_mon_t shapes
5.229.1 Detailed Description
Set of configuration variables for FFT-based overlapping filters.
This class enables easy configuration of the FFT-based overlapping filterbank. An instance of
fftfb_vars_t (p. 619) creates openMHA configuration language variables needed for configuring
the filterbank, and inserts these variables in the openMHA configuration tree.
This way, the variables are visible to the user and can be configured using the openMHA con-
figuration language.
5.229.2 Constructor & Destructor Documentation
5.229.2.1 MHAOvlFilter::fftfb_vars_t::fftfb_vars_t (
MHAParser::parser_t &p)
construct a set of openMHA configuration language variables suitable for configuring the FFT-
based overlapping filterbank.
Parameters
pThe node of the configuration tree where the variables created by this instance are
inserted.
5.229.3 Member Data Documentation
5.229.3.1 scale_var_t MHAOvlFilter::fftfb_vars_t::fscale
Frequency scale type (lin/bark/log/erb).
5.229.3.2 scale_var_t MHAOvlFilter::fftfb_vars_t::ovltype
Filter shape (rect/lin/hann).
© 2005-2019 HörTech gGmbH, Oldenburg
5.229 MHAOvlFilter::fftfb_vars_t Class Reference 621
5.229.3.3 MHAParser::float_t MHAOvlFilter::fftfb_vars_t::plateau
relative plateau width.
5.229.3.4 MHAParser::kw_t MHAOvlFilter::fftfb_vars_t::ftype
Flag to decide wether edge or center frequencies are used.
5.229.3.5 fscale_t MHAOvlFilter::fftfb_vars_t::f
Frequency.
5.229.3.6 MHAParser::bool_t MHAOvlFilter::fftfb_vars_t::normalize
Normalize sum of channels.
5.229.3.7 MHAParser::bool_t MHAOvlFilter::fftfb_vars_t::fail_on_nonmonotonic
Fail if frequency entries are non-monotonic (otherwise sort)
5.229.3.8 MHAParser::bool_t MHAOvlFilter::fftfb_vars_t::fail_on_unique_bins
Fail if center frequencies share the same FFT bin.
5.229.3.9 MHAParser::vfloat_mon_t MHAOvlFilter::fftfb_vars_t::cf
Final center frequencies in Hz.
5.229.3.10 MHAParser::vfloat_mon_t MHAOvlFilter::fftfb_vars_t::ef
Final edge frequencies in Hz.
5.229.3.11 MHAParser::vfloat_mon_t MHAOvlFilter::fftfb_vars_t::cLTASS
Bandwidth correction for LTASS noise (level of 0 dB RMS LTASS noise)
5.229.3.12 MHAParser::mfloat_mon_t MHAOvlFilter::fftfb_vars_t::shapes
The documentation for this class was generated from the following files:
mha_fftfb.hh
mha_fftfb.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
622 CONTENTS
5.230 MHAOvlFilter::fscale_bw_t Class Reference
Inheritance diagram for MHAOvlFilter::fscale_bw_t:
MHAOvlFilter::fscale_bw_t
MHAOvlFilter::fscale_t
Public Member Functions
fscale_bw_t (MHAParser::parser_t &parent)
• std::vector<mha_real_t >get_bw_hz () const
Protected Attributes
MHAParser::vfloat_t bw
MHAParser::vfloat_mon_t bw_hz
Private Member Functions
void update_hz ()
Private Attributes
MHAEvents::connector_t<fscale_bw_t >updater
© 2005-2019 HörTech gGmbH, Oldenburg
5.231 MHAOvlFilter::fscale_t Class Reference 623
Additional Inherited Members
5.230.1 Constructor & Destructor Documentation
5.230.1.1 MHAOvlFilter::fscale_bw_t::fscale_bw_t (
MHAParser::parser_t &parent )
5.230.2 Member Function Documentation
5.230.2.1 std::vector<mha_real_t >MHAOvlFilter::fscale_bw_t::get_bw_hz ( ) const
5.230.2.2 void MHAOvlFilter::fscale_bw_t::update_hz ( ) [private]
5.230.3 Member Data Documentation
5.230.3.1 MHAParser::vfloat_t MHAOvlFilter::fscale_bw_t::bw [protected]
5.230.3.2 MHAParser::vfloat_mon_t MHAOvlFilter::fscale_bw_t::bw_hz [protected]
5.230.3.3 MHAEvents::connector_t<fscale_bw_t>MHAOvlFilter::fscale_bw_t::updater
[private]
The documentation for this class was generated from the following files:
mha_fftfb.hh
mha_fftfb.cpp
5.231 MHAOvlFilter::fscale_t Class Reference
Inheritance diagram for MHAOvlFilter::fscale_t:
MHAOvlFilter::fscale_t
MHAOvlFilter::fscale_bw_t
© 2005-2019 HörTech gGmbH, Oldenburg
624 CONTENTS
Public Member Functions
fscale_t (MHAParser::parser_t &parent)
• std::vector<mha_real_t >get_f_hz () const
Public Attributes
scale_var_t unit
MHAParser::vfloat_t f
MHAParser::vfloat_mon_t f_hz
Private Member Functions
void update_hz ()
Private Attributes
MHAEvents::connector_t<fscale_t >updater
5.231.1 Constructor & Destructor Documentation
5.231.1.1 MHAOvlFilter::fscale_t::fscale_t (
MHAParser::parser_t &parent )
5.231.2 Member Function Documentation
5.231.2.1 std::vector<mha_real_t >MHAOvlFilter::fscale_t::get_f_hz ( ) const
5.231.2.2 void MHAOvlFilter::fscale_t::update_hz ( ) [private]
5.231.3 Member Data Documentation
5.231.3.1 scale_var_t MHAOvlFilter::fscale_t::unit
5.231.3.2 MHAParser::vfloat_t MHAOvlFilter::fscale_t::f
5.231.3.3 MHAParser::vfloat_mon_t MHAOvlFilter::fscale_t::f_hz
5.231.3.4 MHAEvents::connector_t<fscale_t>MHAOvlFilter::fscale_t::updater [private]
The documentation for this class was generated from the following files:
mha_fftfb.hh
mha_fftfb.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.232 MHAOvlFilter::fspacing_t Class Reference 625
5.232 MHAOvlFilter::fspacing_t Class Reference
Class for frequency spacing, used by filterbank shape generator class.
Inheritance diagram for MHAOvlFilter::fspacing_t:
MHAOvlFilter::fspacing_t MHAOvlFilter::fftfb_t
coherence::cohflt_t
fftfbpow::fftfbpow_t
MHAOvlFilter::overlap
_save_filterbank_t
multibandcompressor
::fftfb_plug_t
MHAOvlFilter::overlap
_save_filterbank_analytic_t fftfilterbank::fftfb
_plug_t
Public Member Functions
fspacing_t (const MHAOvlFilter::fftfb_vars_t &par, unsigned int nfft, mha_real_t fs)
• std::vector<unsigned int >get_cf_fftbin () const
• std::vector<mha_real_t >get_cf_hz () const
• std::vector<mha_real_t >get_ef_hz () const
unsigned int nbands () const
Return number of bands in filter bank.
Protected Member Functions
void fail_on_nonmonotonic_cf ()
void fail_on_unique_fftbins ()
Protected Attributes
• std::vector<MHAOvlFilter::band_descriptor_t >bands
mha_real_t(symmetry_scale )(mha_real_t)
Private Member Functions
void ef2bands (std::vector<mha_real_t >vef)
void cf2bands (std::vector<mha_real_t >vcf)
void equidist2bands (std::vector<mha_real_t >vcf)
Private Attributes
unsigned int nfft_
mha_real_t fs_
© 2005-2019 HörTech gGmbH, Oldenburg
626 CONTENTS
5.232.1 Detailed Description
Class for frequency spacing, used by filterbank shape generator class.
5.232.2 Constructor & Destructor Documentation
5.232.2.1 MHAOvlFilter::fspacing_t::fspacing_t (
const MHAOvlFilter::fftfb_vars_t &par,
unsigned int nfft,
mha_real_t fs )
5.232.3 Member Function Documentation
5.232.3.1 std::vector<unsigned int >MHAOvlFilter::fspacing_t::get_cf_fftbin ( ) const
5.232.3.2 std::vector<mha_real_t >MHAOvlFilter::fspacing_t::get_cf_hz ( ) const
5.232.3.3 std::vector<mha_real_t >MHAOvlFilter::fspacing_t::get_ef_hz ( ) const
5.232.3.4 unsigned int MHAOvlFilter::fspacing_t::nbands ( ) const [inline]
Return number of bands in filter bank.
5.232.3.5 void MHAOvlFilter::fspacing_t::fail_on_nonmonotonic_cf ( ) [protected]
5.232.3.6 void MHAOvlFilter::fspacing_t::fail_on_unique_fftbins ( ) [protected]
5.232.3.7 void MHAOvlFilter::fspacing_t::ef2bands (
std::vector<mha_real_t >vef )[private]
5.232.3.8 void MHAOvlFilter::fspacing_t::cf2bands (
std::vector<mha_real_t >vcf )[private]
5.232.3.9 void MHAOvlFilter::fspacing_t::equidist2bands (
std::vector<mha_real_t >vcf )[private]
5.232.4 Member Data Documentation
5.232.4.1 std::vector<MHAOvlFilter::band_descriptor_t>MHAOvlFilter::fspacing_t::bands
[protected]
5.232.4.2 mha_real_t(MHAOvlFilter::fspacing_t::symmetry_scale) (mha_real_t)[protected]
5.232.4.3 unsigned int MHAOvlFilter::fspacing_t::nfft_ [private]
5.232.4.4 mha_real_t MHAOvlFilter::fspacing_t::fs_ [private]
The documentation for this class was generated from the following files:
mha_fftfb.hh
mha_fftfb.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.233 MHAOvlFilter::overlap_save_filterbank_analytic_t Class
Reference 627
5.233 MHAOvlFilter::overlap_save_filterbank_analytic_t Class Reference
Inheritance diagram for MHAOvlFilter::overlap_save_filterbank_analytic_t:
MHAOvlFilter::overlap
_save_filterbank_analytic_t
fftfilterbank::fftfb
_plug_t
MHAOvlFilter::overlap
_save_filterbank_t
MHAOvlFilter::fftfb_t
MHAOvlFilter::fspacing_t MHASignal::waveform_t
mha_wave_t
MHAFilter::fftfilterbank_t
Public Member Functions
overlap_save_filterbank_analytic_t (MHAOvlFilter::overlap_save_filterbank_t-
::vars_t &fbpar, mhaconfig_t channelconfig_in)
void filter_analytic (const mha_wave_t sIn, mha_wave_t ∗∗fltRe, mha_wave_t ∗∗flt-
Im)
Private Attributes
MHAFilter::fftfilterbank_t imagfb
© 2005-2019 HörTech gGmbH, Oldenburg
628 CONTENTS
Additional Inherited Members
5.233.1 Constructor & Destructor Documentation
5.233.1.1 MHAOvlFilter::overlap_save_filterbank_analytic_t::overlap_save_filterbank_analytic_t (
MHAOvlFilter::overlap_save_filterbank_t::vars_t &fbpar,
mhaconfig_t channelconfig_in )
5.233.2 Member Function Documentation
5.233.2.1 void MHAOvlFilter::overlap_save_filterbank_analytic_t::filter_analytic (
const mha_wave_t sIn,
mha_wave_t ∗∗ fltRe,
mha_wave_t ∗∗ fltIm )
5.233.3 Member Data Documentation
5.233.3.1 MHAFilter::fftfilterbank_t MHAOvlFilter::overlap_save_filterbank_analytic_t::imagfb
[private]
The documentation for this class was generated from the following files:
mha_fftfb.hh
mha_fftfb.cpp
5.234 MHAOvlFilter::overlap_save_filterbank_t Class Reference
A time-domain minimal phase filter bank with frequency shapes from MHAOvlFilter::fftfb_t
(p. 616).
© 2005-2019 HörTech gGmbH, Oldenburg
5.234 MHAOvlFilter::overlap_save_filterbank_t Class Reference 629
Inheritance diagram for MHAOvlFilter::overlap_save_filterbank_t:
MHAOvlFilter::overlap
_save_filterbank_t
MHAOvlFilter::overlap
_save_filterbank_analytic_t
MHAOvlFilter::fftfb_t
MHAOvlFilter::fspacing_t MHASignal::waveform_t
mha_wave_t
MHAFilter::fftfilterbank_t
fftfilterbank::fftfb
_plug_t
Classes
class vars_t
Public Member Functions
overlap_save_filterbank_t (MHAOvlFilter::overlap_save_filterbank_t::vars_t &fbpar,
mhaconfig_t channelconfig_in)
mhaconfig_t get_channelconfig () const
Private Attributes
mhaconfig_t channelconfig_out_
Additional Inherited Members
5.234.1 Detailed Description
A time-domain minimal phase filter bank with frequency shapes from MHAOvlFilter::fftfb_t
(p. 616).
© 2005-2019 HörTech gGmbH, Oldenburg
630 CONTENTS
5.234.2 Constructor & Destructor Documentation
5.234.2.1 MHAOvlFilter::overlap_save_filterbank_t::overlap_save_filterbank_t (
MHAOvlFilter::overlap_save_filterbank_t::vars_t &fbpar,
mhaconfig_t channelconfig_in )
5.234.3 Member Function Documentation
5.234.3.1 mhaconfig_t MHAOvlFilter::overlap_save_filterbank_t::get_channelconfig ( ) const
[inline]
5.234.4 Member Data Documentation
5.234.4.1 mhaconfig_t MHAOvlFilter::overlap_save_filterbank_t::channelconfig_out_ [private]
The documentation for this class was generated from the following files:
mha_fftfb.hh
mha_fftfb.cpp
5.235 MHAOvlFilter::overlap_save_filterbank_t::vars_t Class Reference
Inheritance diagram for MHAOvlFilter::overlap_save_filterbank_t::vars_t:
MHAOvlFilter::overlap
_save_filterbank_t::vars_t
fftfilterbank::fftfb
_interface_t
MHAOvlFilter::fftfb
_vars_t
Public Member Functions
vars_t (MHAParser::parser_t &p)
© 2005-2019 HörTech gGmbH, Oldenburg
5.235 MHAOvlFilter::overlap_save_filterbank_t::vars_t Class
Reference 631
Public Attributes
MHAParser::int_t fftlen
MHAParser::kw_t phasemodel
MHAParser::window_t irswnd
5.235.1 Constructor & Destructor Documentation
5.235.1.1 MHAOvlFilter::overlap_save_filterbank_t::vars_t::vars_t (
MHAParser::parser_t &p)
5.235.2 Member Data Documentation
5.235.2.1 MHAParser::int_t MHAOvlFilter::overlap_save_filterbank_t::vars_t::fftlen
5.235.2.2 MHAParser::kw_t MHAOvlFilter::overlap_save_filterbank_t::vars_t::phasemodel
5.235.2.3 MHAParser::window_t MHAOvlFilter::overlap_save_filterbank_t::vars_t::irswnd
The documentation for this class was generated from the following files:
mha_fftfb.hh
mha_fftfb.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
632 CONTENTS
5.236 MHAOvlFilter::scale_var_t Class Reference
Inheritance diagram for MHAOvlFilter::scale_var_t:
MHAOvlFilter::scale
_var_t
MHAParser::kw_t
MHAParser::variable_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
scale_var_t (const std::string &help)
void add_fun (const std::string &name, scale_fun_t fun)
std::string get_name () const
scale_fun_t get_fun () const
mha_real_t hz2unit (mha_real_t x) const
mha_real_t unit2hz (mha_real_t x) const
Private Attributes
• std::vector<std::string >names
• std::vector<scale_fun_t >funs
© 2005-2019 HörTech gGmbH, Oldenburg
5.236 MHAOvlFilter::scale_var_t Class Reference 633
Additional Inherited Members
5.236.1 Constructor & Destructor Documentation
5.236.1.1 MHAOvlFilter::scale_var_t::scale_var_t (
const std::string & help )
5.236.2 Member Function Documentation
5.236.2.1 void MHAOvlFilter::scale_var_t::add_fun (
const std::string & name,
scale_fun_t fun )
5.236.2.2 std::string MHAOvlFilter::scale_var_t::get_name ( ) const [inline]
5.236.2.3 scale_fun_tMHAOvlFilter::scale_var_t::get_fun ( ) const [inline]
5.236.2.4 mha_real_t MHAOvlFilter::scale_var_t::hz2unit (
mha_real_t x) const
5.236.2.5 mha_real_t MHAOvlFilter::scale_var_t::unit2hz (
mha_real_t x) const
5.236.3 Member Data Documentation
5.236.3.1 std::vector<std::string>MHAOvlFilter::scale_var_t::names [private]
5.236.3.2 std::vector<scale_fun_t>MHAOvlFilter::scale_var_t::funs [private]
The documentation for this class was generated from the following files:
mha_fftfb.hh
mha_fftfb.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
634 CONTENTS
5.237 MHAParser::base_t Class Reference
Base class for all parser items.
Inheritance diagram for MHAParser::base_t:
MHAParser::base_t
MHAParser::c_ifc_parser_t
MHAParser::monitor_t
MHAParser::parser_t
io_lib_t
PluginLoader::mhapluginloader_t
MHAParser::bool_mon_t
MHAParser::complex
_mon_t
MHAParser::float_mon_t
MHAParser::int_mon_t
MHAParser::mcomplex
_mon_t
MHAParser::mfloat_mon_t
MHAParser::mint_mon_t
MHAParser::string_mon_t
MHAParser::variable_t
MHAParser::vcomplex
_mon_t
MHAParser::vfloat_mon_t
MHAParser::vint_mon_t
MHAParser::vstring
_mon_t
alsa_dev_par_parser_t
AuditoryProfile::parser_t
AuditoryProfile::parser
_t::ear_t
AuditoryProfile::parser
_t::fmap_t
dc::wideband_inhib
_vars_t
DynComp::dc_afterburn
_vars_t
fw_t
io_alsa_t
io_file_t
io_parser_t
io_tcp_parser_t
MHAFilter::adapt_filter_t
MHAFilter::iir_filter_t
MHAIOJack::io_jack_t
MHAIOJackdb::io_jack_t
MHAIOPortAudio::device
_info_t
MHAIOPortAudio::io
_portaudio_t
MHAParser::mhaconfig
_mon_t
MHAParser::window_t
MHAPlugin::plugin_t
< runtime_cfg_t >
MHAPlugin_Split::split_t
MHAPlugin::plugin_t
< ac2wave_t >
MHAPlugin::plugin_t
< acConcat_wave_config >
MHAPlugin::plugin_t
< acPooling_wave_config >
MHAPlugin::plugin_t
< acSteer_config >
MHAPlugin::plugin_t
< acTransform_wave_config >
MHAPlugin::plugin_t
< adm_rtconfig_t >
MHAPlugin::plugin_t
< analysepath_t >
MHAPlugin::plugin_t
< cfg_t >
MHAPlugin::plugin_t
< cohflt_t >
Classes
class replace_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.237 MHAParser::base_t Class Reference 635
Public Member Functions
base_t (const std::string &)
Constructor for base class of all parser nodes.
base_t (const base_t &)
virtual base_t ()
virtual std::string parse (const std::string &)
Causes this node to process a command in the openMHA configuration language.
virtual void parse (const char , char , unsigned int)
This function parses a command and writes the parsing result into a C character array.
virtual void parse (const std::vector<std::string >&, std::vector<std::string >&)
virtual std::string op_subparse (expression_t &)
virtual std::string op_setval (expression_t &)
virtual std::string op_query (expression_t &)
virtual std::string query_dump (const std::string &)
virtual std::string query_entries (const std::string &)
virtual std::string query_perm (const std::string &)
virtual std::string query_range (const std::string &)
virtual std::string query_type (const std::string &)
virtual std::string query_val (const std::string &)
virtual std::string query_readfile (const std::string &)
virtual std::string query_savefile (const std::string &)
virtual std::string query_savefile_compact (const std::string &)
virtual std::string query_savemons (const std::string &)
virtual std::string query_listids (const std::string &)
std::string query_version (const std::string &)
std::string query_id (const std::string &)
std::string query_subst (const std::string &)
std::string query_addsubst (const std::string &)
std::string query_help (const std::string &)
std::string query_cmds (const std::string &)
void set_node_id (const std::string &)
Set the identification string of this parser node.
void set_help (const std::string &)
Set the help comment of a variable or parser.
void add_parent_on_insert (parser_t , std::string)
void rm_parent_on_remove (parser_t )
const std::string & fullname () const
Return the full dot-separated path name of this parser node in the openMHA configuration tree.
Public Attributes
MHAEvents::emitter_t writeaccess
Event emitted on write access.
MHAEvents::emitter_t valuechanged
Event emitted if the value has changed.
© 2005-2019 HörTech gGmbH, Oldenburg
636 CONTENTS
MHAEvents::emitter_t readaccess
Event emitted on read access.
MHAEvents::emitter_t prereadaccess
Event emitted on read access, before the data field is accessed.
Protected Member Functions
void activate_query (const std::string &, query_t)
void notify ()
Protected Attributes
query_map_t queries
bool data_is_initialized
Private Types
typedef std::vector<replace_t >repl_list_t
Private Member Functions
void add_replace_pair (const std::string &, const std::string &)
std::string oplist ()
Private Attributes
std::string help
std::string id_str
opact_map_t operators
repl_list_t repl_list
bool nested_lock
parser_t parent
std::string thefullname
5.237.1 Detailed Description
Base class for all parser items.
The key method of the parser base class is the std::string parse(const std::string&) (p. 637)
method. Parser proxy derivatives which overwrite any of the other parse() (p. 637) methods to
be the key method must make sure that the original parse() (p. 637) method utilizes the new
key method.
© 2005-2019 HörTech gGmbH, Oldenburg
5.237 MHAParser::base_t Class Reference 637
5.237.2 Member Typedef Documentation
5.237.2.1 typedef std::vector<replace_t>MHAParser::base_t::repl_list_t [private]
5.237.3 Constructor & Destructor Documentation
5.237.3.1 MHAParser::base_t::base_t (
const std::string & h)
Constructor for base class of all parser nodes.
Parameters
hHelp text describing this parser node. This help text is accessible to the configuration
language through the "?help" query command.
5.237.3.2 MHAParser::base_t::base_t (
const base_t &src )
5.237.3.3 MHAParser::base_t::base_t ( ) [virtual]
5.237.4 Member Function Documentation
5.237.4.1 std::string MHAParser::base_t::parse (
const std::string & cs )[virtual]
Causes this node to process a command in the openMHA configuration language.
Parameters
cs The command to parse
Returns
The response to the command, if successful
Exceptions
MHA_Error (p. 445)If the command cannot be executed successfully. The reason for
failure is given in the message string of the exception.
Reimplemented in PluginLoader::mhapluginloader_t (p. 883), and altplugs_t (p. 215).
© 2005-2019 HörTech gGmbH, Oldenburg
638 CONTENTS
5.237.4.2 void MHAParser::base_t::parse (
const char cmd,
char retv,
unsigned int len )[virtual]
This function parses a command and writes the parsing result into a C character array.
This base class implementation delegates to parse(const std::string &) (p. 637).
Parameters
cmd Command to be parsed
retv Buffer for the result
len Length of buffer
Reimplemented in altplugs_t (p. 215).
5.237.4.3 void MHAParser::base_t::parse (
const std::vector<std::string >&cs,
std::vector<std::string >&retv )[virtual]
5.237.4.4 std::string MHAParser::base_t::op_subparse (
expression_t & ) [virtual]
Reimplemented in MHAParser::c_ifc_parser_t (p. 649), and MHAParser::parser_t (p. 691).
5.237.4.5 std::string MHAParser::base_t::op_setval (
expression_t & ) [virtual]
Reimplemented in MHAParser::mcomplex_t (p. 675), MHAParser::mfloat_t (p. 679), MH-
AParser::vcomplex_t (p. 706), MHAParser::vfloat_t (p. 710), MHAParser::vint_t (p. 714),
MHAParser::complex_t (p. 655), MHAParser::float_t (p. 661), MHAParser::int_t (p. 666),
MHAParser::bool_t (p. 647), MHAParser::vstring_t (p. 718), MHAParser::string_t (p. 699),
MHAParser::kw_t (p. 671), MHAParser::variable_t (p. 701), MHAParser::c_ifc_parser_-
t(p. 649), and MHAParser::parser_t (p. 691).
5.237.4.6 std::string MHAParser::base_t::op_query (
expression_t & ) [virtual]
Reimplemented in MHAParser::monitor_t (p. 687), MHAParser::c_ifc_parser_t (p. 649),
and MHAParser::parser_t (p. 691).
5.237.4.7 std::string MHAParser::base_t::query_dump (
const std::string & s)[virtual]
Reimplemented in MHAParser::monitor_t (p. 687), and MHAParser::parser_t (p. 691).
© 2005-2019 HörTech gGmbH, Oldenburg
5.237 MHAParser::base_t Class Reference 639
5.237.4.8 std::string MHAParser::base_t::query_entries (
const std::string & s)[virtual]
Reimplemented in MHAParser::parser_t (p. 691).
5.237.4.9 std::string MHAParser::base_t::query_perm (
const std::string & s)[virtual]
Reimplemented in MHAParser::variable_t (p. 701), and MHAParser::monitor_t (p. 687).
5.237.4.10 std::string MHAParser::base_t::query_range (
const std::string & s)[virtual]
Reimplemented in MHAParser::kw_t (p. 671), and MHAParser::range_var_t (p. 694).
5.237.4.11 std::string MHAParser::base_t::query_type (
const std::string & s)[virtual]
Reimplemented in MHAParser::mcomplex_mon_t (p. 673), MHAParser::vcomplex_mon-
_t (p. 704), MHAParser::complex_mon_t (p. 653), MHAParser::float_mon_t (p. 659), MH-
AParser::mfloat_mon_t (p. 677), MHAParser::vfloat_mon_t (p. 708), MHAParser::mint-
_mon_t (p. 686), MHAParser::vint_mon_t (p. 712), MHAParser::vstring_mon_t (p. 716),
MHAParser::string_mon_t (p. 697), MHAParser::bool_mon_t (p. 645), MHAParser::int-
_mon_t (p. 663), MHAParser::mcomplex_t (p. 675), MHAParser::mfloat_t (p. 679), MH-
AParser::vcomplex_t (p. 706), MHAParser::vfloat_t (p. 710), MHAParser::vint_t (p. 714),
MHAParser::complex_t (p. 655), MHAParser::float_t (p. 661), MHAParser::int_t (p. 666),
MHAParser::bool_t (p. 647), MHAParser::vstring_t (p. 718), MHAParser::string_t (p. 699),
MHAParser::kw_t (p. 671), and MHAParser::parser_t (p. 691).
5.237.4.12 std::string MHAParser::base_t::query_val (
const std::string & s)[virtual]
Reimplemented in MHAParser::mcomplex_mon_t (p. 673), MHAParser::vcomplex_mon-
_t (p. 704), MHAParser::complex_mon_t (p. 653), MHAParser::float_mon_t (p. 659), MH-
AParser::mfloat_mon_t (p. 677), MHAParser::vfloat_mon_t (p. 708), MHAParser::mint-
_mon_t (p. 686), MHAParser::vint_mon_t (p. 712), MHAParser::vstring_mon_t (p. 716),
MHAParser::string_mon_t (p. 697), MHAParser::bool_mon_t (p. 645), MHAParser::int-
_mon_t (p. 663), MHAParser::mcomplex_t (p. 675), MHAParser::mfloat_t (p. 679), MH-
AParser::vcomplex_t (p. 706), MHAParser::vfloat_t (p. 710), MHAParser::vint_t (p. 714),
MHAParser::complex_t (p. 655), MHAParser::float_t (p. 661), MHAParser::int_t (p. 666),
MHAParser::bool_t (p. 647), MHAParser::vstring_t (p. 718), MHAParser::string_t (p. 699),
MHAParser::kw_t (p. 671), and MHAParser::parser_t (p. 692).
5.237.4.13 std::string MHAParser::base_t::query_readfile (
const std::string & s)[virtual]
Reimplemented in MHAParser::parser_t (p. 691).
© 2005-2019 HörTech gGmbH, Oldenburg
640 CONTENTS
5.237.4.14 std::string MHAParser::base_t::query_savefile (
const std::string & s)[virtual]
Reimplemented in MHAParser::parser_t (p. 692).
5.237.4.15 std::string MHAParser::base_t::query_savefile_compact (
const std::string & s)[virtual]
Reimplemented in MHAParser::parser_t (p. 692).
5.237.4.16 std::string MHAParser::base_t::query_savemons (
const std::string & s)[virtual]
Reimplemented in MHAParser::parser_t (p. 692).
5.237.4.17 std::string MHAParser::base_t::query_listids (
const std::string & s)[virtual]
Reimplemented in MHAParser::parser_t (p. 692).
5.237.4.18 std::string MHAParser::base_t::query_version (
const std::string & )
5.237.4.19 std::string MHAParser::base_t::query_id (
const std::string & )
5.237.4.20 std::string MHAParser::base_t::query_subst (
const std::string & s)
5.237.4.21 std::string MHAParser::base_t::query_addsubst (
const std::string & s)
5.237.4.22 std::string MHAParser::base_t::query_help (
const std::string & s)
5.237.4.23 std::string MHAParser::base_t::query_cmds (
const std::string & s)
5.237.4.24 void MHAParser::base_t::set_node_id (
const std::string & s)
Set the identification string of this parser node.
The id can be queried from the configuration language using the ?id query command. Nodes
can be found by id using the ?listid query command on a containing parser node.
© 2005-2019 HörTech gGmbH, Oldenburg
5.237 MHAParser::base_t Class Reference 641
Parameters
sThe new identification string.
5.237.4.25 void MHAParser::base_t::set_help (
const std::string & s)
Set the help comment of a variable or parser.
Parameters
sNew help comment.
5.237.4.26 void MHAParser::base_t::add_parent_on_insert (
parser_t p,
std::string n)
5.237.4.27 void MHAParser::base_t::rm_parent_on_remove (
parser_t )
5.237.4.28 const std::string & MHAParser::base_t::fullname ( ) const
Return the full dot-separated path name of this parser node in the openMHA configuration tree.
5.237.4.29 void MHAParser::base_t::activate_query (
const std::string & n,
query_t a)[protected]
5.237.4.30 void MHAParser::base_t::notify ( ) [protected]
5.237.4.31 void MHAParser::base_t::add_replace_pair (
const std::string & a,
const std::string & b)[private]
5.237.4.32 std::string MHAParser::base_t::oplist ( ) [private]
5.237.5 Member Data Documentation
5.237.5.1 MHAEvents::emitter_t MHAParser::base_t::writeaccess
Event emitted on write access.
To connect a callback that is invoked on write access to this parser variable, use MHAEvents-
::patchbay_t<receiver_t>method connect(&writeaccess,&receiver_t::callback) where callback
is a method that expects no parameters and returns void.
© 2005-2019 HörTech gGmbH, Oldenburg
642 CONTENTS
5.237.5.2 MHAEvents::emitter_t MHAParser::base_t::valuechanged
Event emitted if the value has changed.
To connect a callback that is invoked when write access to this parser variable actually changes
its value, use MHAEvents::patchbay_t<receiver_t>method connect(&valuechanged,&receiver-
_t::callback) where callback is a method that expects no parameters and returns void.
5.237.5.3 MHAEvents::emitter_t MHAParser::base_t::readaccess
Event emitted on read access.
To connect a callback that is invoked after the value of this variable has been read
through the configuration interface, use MHAEvents::patchbay_t<receiver_t>method
connect(&readaccess,&receiver_t::callback) where callback is a method that expects no pa-
rameters and returns void.
5.237.5.4 MHAEvents::emitter_t MHAParser::base_t::prereadaccess
Event emitted on read access, before the data field is accessed.
To connect a callback that is invoked when the value of this variable is about to be read through
the configuration interface, so that the callback can influence the value that is reported, use
MHAEvents::patchbay_t<receiver_t>method connect(&prereadaccess,&receiver_t::callback)
where callback is a method that expects no parameters and returns void.
5.237.5.5 query_map_t MHAParser::base_t::queries [protected]
5.237.5.6 bool MHAParser::base_t::data_is_initialized [protected]
5.237.5.7 std::string MHAParser::base_t::help [private]
5.237.5.8 std::string MHAParser::base_t::id_str [private]
5.237.5.9 opact_map_t MHAParser::base_t::operators [private]
5.237.5.10 repl_list_t MHAParser::base_t::repl_list [private]
5.237.5.11 bool MHAParser::base_t::nested_lock [private]
5.237.5.12 parser_tMHAParser::base_t::parent [private]
5.237.5.13 std::string MHAParser::base_t::thefullname [private]
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.238 MHAParser::base_t::replace_t Class Reference 643
5.238 MHAParser::base_t::replace_t Class Reference
Public Member Functions
replace_t (const std::string &, const std::string &)
void replace (std::string &)
const std::string & get_a () const
const std::string & get_b () const
Private Attributes
std::string a
std::string b
5.238.1 Constructor & Destructor Documentation
5.238.1.1 MHAParser::base_t::replace_t::replace_t (
const std::string & ia,
const std::string & ib )
5.238.2 Member Function Documentation
5.238.2.1 void MHAParser::base_t::replace_t::replace (
std::string & s)
5.238.2.2 const std::string& MHAParser::base_t::replace_t::get_a ( ) const [inline]
5.238.2.3 const std::string& MHAParser::base_t::replace_t::get_b ( ) const [inline]
5.238.3 Member Data Documentation
5.238.3.1 std::string MHAParser::base_t::replace_t::a [private]
5.238.3.2 std::string MHAParser::base_t::replace_t::b [private]
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
644 CONTENTS
5.239 MHAParser::bool_mon_t Class Reference
Monitor with string value.
Inheritance diagram for MHAParser::bool_mon_t:
MHAParser::bool_mon_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
bool_mon_t (const std::string &hlp)
Create a monitor variable for string values.
Public Attributes
bool data
Data field.
Protected Member Functions
std::string query_val (const std::string &)
std::string query_type (const std::string &)
Additional Inherited Members
5.239.1 Detailed Description
Monitor with string value.
5.239.2 Constructor & Destructor Documentation
5.239.2.1 MHAParser::bool_mon_t::bool_mon_t (
const std::string & hlp )
Create a monitor variable for string values.
© 2005-2019 HörTech gGmbH, Oldenburg
5.240 MHAParser::bool_t Class Reference 645
Parameters
hlp A help text describing this monitor variable.
5.239.3 Member Function Documentation
5.239.3.1 std::string MHAParser::bool_mon_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.239.3.2 std::string MHAParser::bool_mon_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.239.4 Member Data Documentation
5.239.4.1 bool MHAParser::bool_mon_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.240 MHAParser::bool_t Class Reference
Variable with a boolean value ("yes"/"no")
© 2005-2019 HörTech gGmbH, Oldenburg
646 CONTENTS
Inheritance diagram for MHAParser::bool_t:
MHAParser::bool_t
MHAParser::variable_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
bool_t (const std::string &help_text, const std::string &initial_value)
Constructor for a configuration language variable for boolean values.
Public Attributes
bool data
Data field.
Protected Member Functions
std::string op_setval (expression_t &)
std::string query_type (const std::string &)
std::string query_val (const std::string &)
Additional Inherited Members
5.240.1 Detailed Description
Variable with a boolean value ("yes"/"no")
© 2005-2019 HörTech gGmbH, Oldenburg
5.240 MHAParser::bool_t Class Reference 647
5.240.2 Constructor & Destructor Documentation
5.240.2.1 MHAParser::bool_t::bool_t (
const std::string & help_text,
const std::string & initial_value )
Constructor for a configuration language variable for boolean values.
Parameters
help_text A human-readable text describing the purpose of this configuration variable.
initial_value The initial value for this variable as a string. The string representation of 'true'
is either "yes" or "1". The string representation of 'false' is either "no" or "0".
5.240.3 Member Function Documentation
5.240.3.1 std::string MHAParser::bool_t::op_setval (
expression_t &x)[protected],[virtual]
Reimplemented from MHAParser::variable_t (p. 701).
5.240.3.2 std::string MHAParser::bool_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.240.3.3 std::string MHAParser::bool_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.240.4 Member Data Documentation
5.240.4.1 bool MHAParser::bool_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
648 CONTENTS
5.241 MHAParser::c_ifc_parser_t Class Reference
Inheritance diagram for MHAParser::c_ifc_parser_t:
MHAParser::c_ifc_parser_t
io_lib_t PluginLoader::mhapluginloader_t
MHAParser::base_t
mhaplug_cfg_t plug_t pluginloader_t
Public Member Functions
c_ifc_parser_t (const std::string &modulename_)
c_ifc_parser_t ()
void set_parse_cb (c_parse_cmd_t,c_parse_err_t, void )
Protected Member Functions
std::string op_subparse (MHAParser::expression_t &)
std::string op_setval (MHAParser::expression_t &)
std::string op_query (MHAParser::expression_t &)
Private Member Functions
void test_error ()
© 2005-2019 HörTech gGmbH, Oldenburg
5.241 MHAParser::c_ifc_parser_t Class Reference 649
Private Attributes
std::string modulename
c_parse_cmd_t c_parse_cmd
c_parse_err_t c_parse_err
int liberr
void libdata
unsigned int ret_size
char retv
Additional Inherited Members
5.241.1 Constructor & Destructor Documentation
5.241.1.1 MHAParser::c_ifc_parser_t::c_ifc_parser_t (
const std::string & modulename_ )
5.241.1.2 MHAParser::c_ifc_parser_t::c_ifc_parser_t ( )
5.241.2 Member Function Documentation
5.241.2.1 void MHAParser::c_ifc_parser_t::set_parse_cb (
MHAParser::c_parse_cmd_t cb,
MHAParser::c_parse_err_t strerr,
void d)
5.241.2.2 std::string MHAParser::c_ifc_parser_t::op_subparse (
MHAParser::expression_t &x)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 638).
5.241.2.3 std::string MHAParser::c_ifc_parser_t::op_setval (
MHAParser::expression_t &x)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 638).
5.241.2.4 std::string MHAParser::c_ifc_parser_t::op_query (
MHAParser::expression_t &x)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 638).
© 2005-2019 HörTech gGmbH, Oldenburg
650 CONTENTS
5.241.2.5 void MHAParser::c_ifc_parser_t::test_error ( ) [private]
5.241.3 Member Data Documentation
5.241.3.1 std::string MHAParser::c_ifc_parser_t::modulename [private]
5.241.3.2 c_parse_cmd_t MHAParser::c_ifc_parser_t::c_parse_cmd [private]
5.241.3.3 c_parse_err_t MHAParser::c_ifc_parser_t::c_parse_err [private]
5.241.3.4 int MHAParser::c_ifc_parser_t::liberr [private]
5.241.3.5 voidMHAParser::c_ifc_parser_t::libdata [private]
5.241.3.6 unsigned int MHAParser::c_ifc_parser_t::ret_size [private]
5.241.3.7 charMHAParser::c_ifc_parser_t::retv [private]
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.242 MHAParser::commit_t<receiver_t >Class Template Reference
Parser variable with event-emission functionality.
© 2005-2019 HörTech gGmbH, Oldenburg
5.242 MHAParser::commit_t<receiver_t >Class Template
Reference 651
Inheritance diagram for MHAParser::commit_t<receiver_t >:
MHAParser::commit_t
< receiver_t >
MHAParser::kw_t
MHAParser::variable_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
commit_t (receiver_t , void(receiver_t::)(), const std::string &help="Variable changes
action")
Private Attributes
MHAEvents::connector_t<receiver_t >extern_connector
Additional Inherited Members
5.242.1 Detailed Description
template<class receiver_t>
class MHAParser::commit_t<receiver_t >
Parser variable with event-emission functionality.
The commit_t (p. 650) variable can register an event receiver in its constructor, which is called
whenever the variable is set to "commit".
© 2005-2019 HörTech gGmbH, Oldenburg
652 CONTENTS
5.242.2 Constructor & Destructor Documentation
5.242.2.1 template<class receiver_t >MHAParser::commit_t<receiver_t >::commit_t (
receiver_t r,
void(receiver_t::)() rfun,
const std::string & help = "Variable changes action" )
5.242.3 Member Data Documentation
5.242.3.1 template<class receiver_t >MHAEvents::connector_t<receiver_t>
MHAParser::commit_t<receiver_t >::extern_connector [private]
The documentation for this class was generated from the following file:
mha_parser.hh
5.243 MHAParser::complex_mon_t Class Reference
Monitor with complex value.
Inheritance diagram for MHAParser::complex_mon_t:
MHAParser::complex
_mon_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
complex_mon_t (const std::string &hlp)
Create a complex monitor variable.
© 2005-2019 HörTech gGmbH, Oldenburg
5.243 MHAParser::complex_mon_t Class Reference 653
Public Attributes
mha_complex_t data
Data field.
Protected Member Functions
std::string query_val (const std::string &)
std::string query_type (const std::string &)
Additional Inherited Members
5.243.1 Detailed Description
Monitor with complex value.
5.243.2 Constructor & Destructor Documentation
5.243.2.1 MHAParser::complex_mon_t::complex_mon_t (
const std::string & hlp )
Create a complex monitor variable.
Parameters
hlp A help text describing this monitor variable.
5.243.3 Member Function Documentation
5.243.3.1 std::string MHAParser::complex_mon_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.243.3.2 std::string MHAParser::complex_mon_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
© 2005-2019 HörTech gGmbH, Oldenburg
654 CONTENTS
5.243.4 Member Data Documentation
5.243.4.1 mha_complex_t MHAParser::complex_mon_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.244 MHAParser::complex_t Class Reference
Variable with complex value.
Inheritance diagram for MHAParser::complex_t:
MHAParser::complex_t
MHAParser::range_var_t
MHAParser::variable_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
complex_t (const std::string &, const std::string &, const std::string &="")
© 2005-2019 HörTech gGmbH, Oldenburg
5.244 MHAParser::complex_t Class Reference 655
Public Attributes
mha_complex_t data
Data field.
Protected Member Functions
std::string op_setval (expression_t &)
std::string query_type (const std::string &)
std::string query_val (const std::string &)
Additional Inherited Members
5.244.1 Detailed Description
Variable with complex value.
5.244.2 Constructor & Destructor Documentation
5.244.2.1 MHAParser::complex_t::complex_t (
const std::string & h,
const std::string & v,
const std::string & rg = "" )
5.244.3 Member Function Documentation
5.244.3.1 std::string MHAParser::complex_t::op_setval (
expression_t &x)[protected],[virtual]
Reimplemented from MHAParser::variable_t (p. 701).
5.244.3.2 std::string MHAParser::complex_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.244.3.3 std::string MHAParser::complex_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
© 2005-2019 HörTech gGmbH, Oldenburg
656 CONTENTS
5.244.4 Member Data Documentation
5.244.4.1 mha_complex_t MHAParser::complex_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.245 MHAParser::entry_t Class Reference
Public Member Functions
entry_t (const std::string &, base_t )
Public Attributes
std::string name
base_t entry
5.245.1 Constructor & Destructor Documentation
5.245.1.1 MHAParser::entry_t::entry_t (
const std::string & n,
base_t e)
5.245.2 Member Data Documentation
5.245.2.1 std::string MHAParser::entry_t::name
5.245.2.2 base_tMHAParser::entry_t::entry
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.246 MHAParser::expression_t Class Reference 657
5.246 MHAParser::expression_t Class Reference
Public Member Functions
expression_t (const std::string &, const std::string &)
Constructor.
expression_t ()
Public Attributes
std::string lval
std::string rval
std::string op
5.246.1 Constructor & Destructor Documentation
5.246.1.1 expression_t::expression_t (
const std::string & s,
const std::string & o)
Constructor.
Parameters
sString to be splitted
oList of valid operators (single character only)
5.246.1.2 expression_t::expression_t ( )
5.246.2 Member Data Documentation
5.246.2.1 std::string MHAParser::expression_t::lval
5.246.2.2 std::string MHAParser::expression_t::rval
5.246.2.3 std::string MHAParser::expression_t::op
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
658 CONTENTS
5.247 MHAParser::float_mon_t Class Reference
Monitor with float value.
Inheritance diagram for MHAParser::float_mon_t:
MHAParser::float_mon_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
float_mon_t (const std::string &hlp)
Initialize a floating point (32 bits) monitor variable.
Public Attributes
float data
Data field.
Protected Member Functions
std::string query_val (const std::string &)
std::string query_type (const std::string &)
Additional Inherited Members
5.247.1 Detailed Description
Monitor with float value.
5.247.2 Constructor & Destructor Documentation
5.247.2.1 MHAParser::float_mon_t::float_mon_t (
const std::string & hlp )
Initialize a floating point (32 bits) monitor variable.
© 2005-2019 HörTech gGmbH, Oldenburg
5.248 MHAParser::float_t Class Reference 659
Parameters
hlp A help text describing this monitor variable.
5.247.3 Member Function Documentation
5.247.3.1 std::string MHAParser::float_mon_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.247.3.2 std::string MHAParser::float_mon_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.247.4 Member Data Documentation
5.247.4.1 float MHAParser::float_mon_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.248 MHAParser::float_t Class Reference
Variable with float value.
© 2005-2019 HörTech gGmbH, Oldenburg
660 CONTENTS
Inheritance diagram for MHAParser::float_t:
MHAParser::float_t
MHAParser::range_var_t
MHAParser::variable_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
float_t (const std::string &help_text, const std::string &initial_value, const std::string
&range="")
Constructor for a configuration language variable for 32bit ieee floating-point values.
Public Attributes
float data
Data field.
Protected Member Functions
std::string op_setval (expression_t &)
std::string query_type (const std::string &)
std::string query_val (const std::string &)
© 2005-2019 HörTech gGmbH, Oldenburg
5.248 MHAParser::float_t Class Reference 661
Additional Inherited Members
5.248.1 Detailed Description
Variable with float value.
5.248.2 Constructor & Destructor Documentation
5.248.2.1 MHAParser::float_t::float_t (
const std::string & help_text,
const std::string & initial_value,
const std::string & range = "" )
Constructor for a configuration language variable for 32bit ieee floating-point values.
Parameters
help_text A human-readable text describing the purpose of this configuration variable.
initial_value The initial value for this variable as a string (decimal representation of the
floating-point variable). If a range is given in the third parameter, then the
initial value has to be within the range. A human-readable text describing the
purpose of this configuration variable.
range The range of values that this variable can hold can be restricted. A range is a
string of the form "[a,b]", where a and b are decimal representations of the
inclusive boundaries of the range. a<=b. In a range of the form "]a,b[", both
boundaries are excluded. Mixed forms are permitted. a or b can also be
omitted if there is no lower or upper limit. The range of values is always
restricted by the representable range of the underlying C data type.
5.248.3 Member Function Documentation
5.248.3.1 std::string MHAParser::float_t::op_setval (
expression_t &x)[protected],[virtual]
Reimplemented from MHAParser::variable_t (p. 701).
5.248.3.2 std::string MHAParser::float_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.248.3.3 std::string MHAParser::float_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
© 2005-2019 HörTech gGmbH, Oldenburg
662 CONTENTS
5.248.4 Member Data Documentation
5.248.4.1 float MHAParser::float_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.249 MHAParser::int_mon_t Class Reference
Monitor variable with int value.
Inheritance diagram for MHAParser::int_mon_t:
MHAParser::int_mon_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
int_mon_t (const std::string &hlp)
Create a monitor variable for integral values.
Public Attributes
int data
Data field.
© 2005-2019 HörTech gGmbH, Oldenburg
5.249 MHAParser::int_mon_t Class Reference 663
Protected Member Functions
std::string query_val (const std::string &)
std::string query_type (const std::string &)
Additional Inherited Members
5.249.1 Detailed Description
Monitor variable with int value.
Monitor variables can be of many types. These variables can be queried through the parser.
The public data element contains the monitored state. Write access is only possible from the
C++ code by direct access to the data field.
5.249.2 Constructor & Destructor Documentation
5.249.2.1 MHAParser::int_mon_t::int_mon_t (
const std::string & hlp )
Create a monitor variable for integral values.
Parameters
hlp A help text describing this monitor variable.
5.249.3 Member Function Documentation
5.249.3.1 std::string MHAParser::int_mon_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.249.3.2 std::string MHAParser::int_mon_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
© 2005-2019 HörTech gGmbH, Oldenburg
664 CONTENTS
5.249.4 Member Data Documentation
5.249.4.1 int MHAParser::int_mon_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.250 MHAParser::int_t Class Reference
Variable with integer value.
Inheritance diagram for MHAParser::int_t:
MHAParser::int_t
parser_int_dyn
MHAParser::range_var_t
MHAParser::variable_t
MHAParser::monitor_t
MHAParser::base_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.250 MHAParser::int_t Class Reference 665
Public Member Functions
int_t (const std::string &help_text, const std::string &initial_value, const std::string
&range="")
Constructor for a configuration language variable for integral values.
Public Attributes
int data
Data field.
Protected Member Functions
std::string op_setval (expression_t &)
std::string query_type (const std::string &)
std::string query_val (const std::string &)
Additional Inherited Members
5.250.1 Detailed Description
Variable with integer value.
5.250.2 Constructor & Destructor Documentation
5.250.2.1 MHAParser::int_t::int_t (
const std::string & help_text,
const std::string & initial_value,
const std::string & range = "" )
Constructor for a configuration language variable for integral values.
Parameters
help_text A human-readable text describing the purpose of this configuration variable.
initial_value The initial value for this variable as a string (decimal representation of the
integer variable). If a range is given in the third parameter, then the initial
value has to be within the range.
range The range of values that this variable can hold can be restricted. A range is a
string of the form "[a,b]", where a and b are decimal representations of the
integral inclusive boundaries of the range. a<=b. In a range of the form
"]a,b[", both boundaries are excluded. Mixed forms are permitted. a or b can
also be omitted if there is no lower or upper limit. The range of values is
always restricted by the representable range of the underlying C data type
(usually 32 bits, [-2147483648,2147483647]).
© 2005-2019 HörTech gGmbH, Oldenburg
666 CONTENTS
5.250.3 Member Function Documentation
5.250.3.1 std::string MHAParser::int_t::op_setval (
expression_t &x)[protected],[virtual]
Reimplemented from MHAParser::variable_t (p. 701).
5.250.3.2 std::string MHAParser::int_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.250.3.3 std::string MHAParser::int_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.250.4 Member Data Documentation
5.250.4.1 int MHAParser::int_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.251 MHAParser::keyword_list_t Class Reference
Keyword list class.
Public Types
typedef std::vector<std::string >::size_type size_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.251 MHAParser::keyword_list_t Class Reference 667
Public Member Functions
void set_value (const std::string &)
Select a value from keyword list.
void set_entries (const std::string &)
Set keyword list entries.
const std::string & get_value () const
Return selected value.
const std::vector<std::string >&get_entries () const
Return keyword list.
const size_t &get_index () const
Return index of selected value.
void set_index (unsigned int)
void validate () const
Check if index of selected value is valid.
void add_entry (const std::string &en)
keyword_list_t ()
Constructor.
Private Attributes
size_t index
Index into list.
• std::vector<std::string >entries
List of valid entries.
std::string empty_string
5.251.1 Detailed Description
Keyword list class.
The stucture keyword_list_t (p. 666) defines a keyword list (vector of strings) with an index into
the list. Used as MHAParser::kw_t (p. 669), it can be used to access a set of valid keywords
through the parser (i.e. one of "pear apple banana").
5.251.2 Member Typedef Documentation
5.251.2.1 typedef std::vector<std::string>::size_type MHAParser::keyword_list_t::size_t
5.251.3 Constructor & Destructor Documentation
5.251.3.1 MHAParser::keyword_list_t::keyword_list_t ( )
Constructor.
© 2005-2019 HörTech gGmbH, Oldenburg
668 CONTENTS
5.251.4 Member Function Documentation
5.251.4.1 void MHAParser::keyword_list_t::set_value (
const std::string & s)
Select a value from keyword list.
This function selects a value from the keyword list. The index is set to the last matching entry.
Parameters
sValue to be selected.
5.251.4.2 void MHAParser::keyword_list_t::set_entries (
const std::string & s)
Set keyword list entries.
With this function, the keyword list can be set from a space separated string list.
Parameters
sSpace separated entry list.
5.251.4.3 const std::string & MHAParser::keyword_list_t::get_value ( ) const
Return selected value.
5.251.4.4 const std::vector<std::string >& MHAParser::keyword_list_t::get_entries ( ) const
Return keyword list.
5.251.4.5 const MHAParser::keyword_list_t::size_t & MHAParser::keyword_list_t::get_index ( )
const
Return index of selected value.
5.251.4.6 void MHAParser::keyword_list_t::set_index (
unsigned int idx )
5.251.4.7 void MHAParser::keyword_list_t::validate ( ) const
Check if index of selected value is valid.
© 2005-2019 HörTech gGmbH, Oldenburg
5.252 MHAParser::kw_t Class Reference 669
5.251.4.8 void MHAParser::keyword_list_t::add_entry (
const std::string & en )[inline]
5.251.5 Member Data Documentation
5.251.5.1 size_t MHAParser::keyword_list_t::index [private]
Index into list.
5.251.5.2 std::vector<std::string>MHAParser::keyword_list_t::entries [private]
List of valid entries.
5.251.5.3 std::string MHAParser::keyword_list_t::empty_string [private]
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.252 MHAParser::kw_t Class Reference
Variable with keyword list value.
Inheritance diagram for MHAParser::kw_t:
MHAParser::kw_t
MHAOvlFilter::scale
_var_t MHAParser::commit_t
< receiver_t >
MHAParser::variable_t
MHAParser::monitor_t
MHAParser::base_t
© 2005-2019 HörTech gGmbH, Oldenburg
670 CONTENTS
Public Member Functions
kw_t (const std::string &, const std::string &, const std::string &)
Constructor of a keyword list openMHA configuration variable.
kw_t (const kw_t &)
Copy constructor.
void set_range (const std::string &)
Set/change the list of valid entries.
bool isval (const std::string &) const
Test if the given value is selected.
Public Attributes
keyword_list_t data
Variable data in its native type.
Protected Member Functions
void validate (const keyword_list_t &)
std::string op_setval (expression_t &)
std::string query_range (const std::string &)
std::string query_val (const std::string &)
std::string query_type (const std::string &)
Additional Inherited Members
5.252.1 Detailed Description
Variable with keyword list value.
5.252.2 Constructor & Destructor Documentation
5.252.2.1 MHAParser::kw_t::kw_t (
const std::string & h,
const std::string & v,
const std::string & rg )
Constructor of a keyword list openMHA configuration variable.
Parameters
hA help string describing the purpose of this variable.
vThe initial value, has to be a value from the list of possible values given in the last
parameter.
rg A string containing the list of valid entries. The entries have to be separated by spaces.
The list of entries has to be delimited by brackets "[", "]".
© 2005-2019 HörTech gGmbH, Oldenburg
5.252 MHAParser::kw_t Class Reference 671
5.252.2.2 MHAParser::kw_t::kw_t (
const kw_t &src )
Copy constructor.
5.252.3 Member Function Documentation
5.252.3.1 void MHAParser::kw_t::set_range (
const std::string & r)
Set/change the list of valid entries.
Parameters
rA string containing the list of valid entries. The entries have to be separated by spaces.
The list of entries has to be delimited by brackets "[", "]".
5.252.3.2 bool MHAParser::kw_t::isval (
const std::string & testval ) const
Test if the given value is selected.
5.252.3.3 void MHAParser::kw_t::validate (
const keyword_list_t &s)[protected]
5.252.3.4 std::string MHAParser::kw_t::op_setval (
expression_t &x)[protected],[virtual]
Reimplemented from MHAParser::variable_t (p. 701).
5.252.3.5 std::string MHAParser::kw_t::query_range (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.252.3.6 std::string MHAParser::kw_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.252.3.7 std::string MHAParser::kw_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
© 2005-2019 HörTech gGmbH, Oldenburg
672 CONTENTS
5.252.4 Member Data Documentation
5.252.4.1 keyword_list_t MHAParser::kw_t::data
Variable data in its native type.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.253 MHAParser::mcomplex_mon_t Class Reference
Matrix of complex numbers monitor.
Inheritance diagram for MHAParser::mcomplex_mon_t:
MHAParser::mcomplex
_mon_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
mcomplex_mon_t (const std::string &hlp)
Create a matrix of complex floating point monitor values.
Public Attributes
• std::vector<std::vector<mha_complex_t > > data
Data field.
© 2005-2019 HörTech gGmbH, Oldenburg
5.253 MHAParser::mcomplex_mon_t Class Reference 673
Protected Member Functions
std::string query_val (const std::string &)
std::string query_type (const std::string &)
Additional Inherited Members
5.253.1 Detailed Description
Matrix of complex numbers monitor.
5.253.2 Constructor & Destructor Documentation
5.253.2.1 MHAParser::mcomplex_mon_t::mcomplex_mon_t (
const std::string & hlp )
Create a matrix of complex floating point monitor values.
Parameters
hlp A help text describing this monitor variable.
5.253.3 Member Function Documentation
5.253.3.1 std::string MHAParser::mcomplex_mon_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.253.3.2 std::string MHAParser::mcomplex_mon_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.253.4 Member Data Documentation
5.253.4.1 std::vector<std::vector<mha_complex_t> > MHAParser::mcomplex_mon_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
674 CONTENTS
5.254 MHAParser::mcomplex_t Class Reference
Matrix variable with complex value.
Inheritance diagram for MHAParser::mcomplex_t:
MHAParser::mcomplex_t
MHAParser::range_var_t
MHAParser::variable_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
mcomplex_t (const std::string &, const std::string &, const std::string &="")
Public Attributes
• std::vector<std::vector<mha_complex_t > > data
Data field.
Protected Member Functions
std::string op_setval (expression_t &)
std::string query_type (const std::string &)
std::string query_val (const std::string &)
© 2005-2019 HörTech gGmbH, Oldenburg
5.254 MHAParser::mcomplex_t Class Reference 675
Additional Inherited Members
5.254.1 Detailed Description
Matrix variable with complex value.
5.254.2 Constructor & Destructor Documentation
5.254.2.1 MHAParser::mcomplex_t::mcomplex_t (
const std::string & h,
const std::string & v,
const std::string & rg = "" )
5.254.3 Member Function Documentation
5.254.3.1 std::string MHAParser::mcomplex_t::op_setval (
expression_t &x)[protected],[virtual]
Reimplemented from MHAParser::variable_t (p. 701).
5.254.3.2 std::string MHAParser::mcomplex_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.254.3.3 std::string MHAParser::mcomplex_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.254.4 Member Data Documentation
5.254.4.1 std::vector<std::vector<mha_complex_t> > MHAParser::mcomplex_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
676 CONTENTS
5.255 MHAParser::mfloat_mon_t Class Reference
Matrix of floats monitor.
Inheritance diagram for MHAParser::mfloat_mon_t:
MHAParser::mfloat_mon_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
mfloat_mon_t (const std::string &hlp)
Create a matrix of floating point monitor values.
Public Attributes
• std::vector<std::vector<float > > data
Data field.
Protected Member Functions
std::string query_val (const std::string &)
std::string query_type (const std::string &)
Additional Inherited Members
5.255.1 Detailed Description
Matrix of floats monitor.
5.255.2 Constructor & Destructor Documentation
5.255.2.1 MHAParser::mfloat_mon_t::mfloat_mon_t (
const std::string & hlp )
Create a matrix of floating point monitor values.
© 2005-2019 HörTech gGmbH, Oldenburg
5.256 MHAParser::mfloat_t Class Reference 677
Parameters
hlp A help text describing this monitor variable.
5.255.3 Member Function Documentation
5.255.3.1 std::string MHAParser::mfloat_mon_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.255.3.2 std::string MHAParser::mfloat_mon_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.255.4 Member Data Documentation
5.255.4.1 std::vector<std::vector<float> > MHAParser::mfloat_mon_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.256 MHAParser::mfloat_t Class Reference
Matrix variable with float value.
© 2005-2019 HörTech gGmbH, Oldenburg
678 CONTENTS
Inheritance diagram for MHAParser::mfloat_t:
MHAParser::mfloat_t
MHAParser::range_var_t
MHAParser::variable_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
mfloat_t (const std::string &, const std::string &, const std::string &="")
Create a float matrix parser variable.
Public Attributes
• std::vector<std::vector<float > > data
Data field.
Protected Member Functions
std::string op_setval (expression_t &)
std::string query_type (const std::string &)
std::string query_val (const std::string &)
© 2005-2019 HörTech gGmbH, Oldenburg
5.256 MHAParser::mfloat_t Class Reference 679
Additional Inherited Members
5.256.1 Detailed Description
Matrix variable with float value.
5.256.2 Constructor & Destructor Documentation
5.256.2.1 MHAParser::mfloat_t::mfloat_t (
const std::string & h,
const std::string & v,
const std::string & rg = "" )
Create a float matrix parser variable.
Parameters
hA human-readable text describing the purpose of this configuration variable.
vThe initial value of the variable, as a string, in openMHA configuration language: (e.g. "[[0
1]; [2 3]]" for a matrix), described in the "Multidimensional Variables" s2.1.3 section of the
openMHA User Manual.
rg The numeric range to enforce on all members of the matrix.
5.256.3 Member Function Documentation
5.256.3.1 std::string MHAParser::mfloat_t::op_setval (
expression_t &x)[protected],[virtual]
Reimplemented from MHAParser::variable_t (p. 701).
5.256.3.2 std::string MHAParser::mfloat_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.256.3.3 std::string MHAParser::mfloat_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
© 2005-2019 HörTech gGmbH, Oldenburg
680 CONTENTS
5.256.4 Member Data Documentation
5.256.4.1 std::vector<std::vector<float> > MHAParser::mfloat_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.257 MHAParser::mhaconfig_mon_t Class Reference
Inheritance diagram for MHAParser::mhaconfig_mon_t:
MHAParser::mhaconfig
_mon_t
MHAParser::parser_t
MHAParser::base_t
Public Member Functions
mhaconfig_mon_t (const std::string &help="")
void update (const mhaconfig_t &cf)
© 2005-2019 HörTech gGmbH, Oldenburg
5.257 MHAParser::mhaconfig_mon_t Class Reference 681
Private Attributes
MHAParser::int_mon_t channels
Number of audio channels.
MHAParser::string_mon_t domain
Signal domain (MHA_WAVEFORM or MHA_SPECTRUM)
MHAParser::int_mon_t fragsize
Fragment size of waveform data.
MHAParser::int_mon_t wndlen
Window length of spectral data.
MHAParser::int_mon_t fftlen
FFT length of spectral data.
MHAParser::float_mon_t srate
Sampling rate in Hz.
Additional Inherited Members
5.257.1 Constructor & Destructor Documentation
5.257.1.1 MHAParser::mhaconfig_mon_t::mhaconfig_mon_t (
const std::string & help = "" )
5.257.2 Member Function Documentation
5.257.2.1 void MHAParser::mhaconfig_mon_t::update (
const mhaconfig_t &cf )
5.257.3 Member Data Documentation
5.257.3.1 MHAParser::int_mon_t MHAParser::mhaconfig_mon_t::channels [private]
Number of audio channels.
5.257.3.2 MHAParser::string_mon_t MHAParser::mhaconfig_mon_t::domain [private]
Signal domain (MHA_WAVEFORM or MHA_SPECTRUM)
5.257.3.3 MHAParser::int_mon_t MHAParser::mhaconfig_mon_t::fragsize [private]
Fragment size of waveform data.
5.257.3.4 MHAParser::int_mon_t MHAParser::mhaconfig_mon_t::wndlen [private]
Window length of spectral data.
© 2005-2019 HörTech gGmbH, Oldenburg
682 CONTENTS
5.257.3.5 MHAParser::int_mon_t MHAParser::mhaconfig_mon_t::fftlen [private]
FFT length of spectral data.
5.257.3.6 MHAParser::float_mon_t MHAParser::mhaconfig_mon_t::srate [private]
Sampling rate in Hz.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.258 MHAParser::mhapluginloader_t Class Reference
Class to create a plugin loader in a parser, including the load logic.
Public Member Functions
mhapluginloader_t (MHAParser::parser_t &parent, algo_comm_t ac, const std::string
&plugname_name="plugin_name", const std::string &prefix="")
mhapluginloader_t ()
void prepare (mhaconfig_t &cf)
void release ()
void process (mha_wave_t sIn, mha_wave_t ∗∗sOut)
void process (mha_spec_t sIn, mha_spec_t ∗∗sOut)
void process (mha_wave_t sIn, mha_spec_t ∗∗sOut)
void process (mha_spec_t sIn, mha_wave_t ∗∗sOut)
mhaconfig_t get_cfin () const
mhaconfig_t get_cfout () const
const std::string & get_last_name () const
Protected Attributes
PluginLoader::mhapluginloader_t plug
Private Member Functions
void load_plug ()
© 2005-2019 HörTech gGmbH, Oldenburg
5.258 MHAParser::mhapluginloader_t Class Reference 683
Private Attributes
MHAParser::parser_t &parent_
MHAParser::string_t plugname
std::string prefix_
MHAEvents::connector_t<mhapluginloader_t >connector
algo_comm_t ac_
std::string last_name
std::string plugname_name_
mhaconfig_t cf_in_
mhaconfig_t cf_out_
Static Private Attributes
static double bookkeeping
5.258.1 Detailed Description
Class to create a plugin loader in a parser, including the load logic.
5.258.2 Constructor & Destructor Documentation
5.258.2.1 MHAParser::mhapluginloader_t::mhapluginloader_t (
MHAParser::parser_t &parent,
algo_comm_t ac,
const std::string & plugname_name = "plugin_name",
const std::string & prefix = "" )
5.258.2.2 MHAParser::mhapluginloader_t::mhapluginloader_t ( )
5.258.3 Member Function Documentation
5.258.3.1 void MHAParser::mhapluginloader_t::prepare (
mhaconfig_t &cf )
5.258.3.2 void MHAParser::mhapluginloader_t::release ( )
5.258.3.3 void MHAParser::mhapluginloader_t::process (
mha_wave_t sIn,
mha_wave_t ∗∗ sOut )[inline]
5.258.3.4 void MHAParser::mhapluginloader_t::process (
mha_spec_t sIn,
mha_spec_t ∗∗ sOut )[inline]
© 2005-2019 HörTech gGmbH, Oldenburg
684 CONTENTS
5.258.3.5 void MHAParser::mhapluginloader_t::process (
mha_wave_t sIn,
mha_spec_t ∗∗ sOut )[inline]
5.258.3.6 void MHAParser::mhapluginloader_t::process (
mha_spec_t sIn,
mha_wave_t ∗∗ sOut )[inline]
5.258.3.7 mhaconfig_t MHAParser::mhapluginloader_t::get_cfin ( ) const [inline]
5.258.3.8 mhaconfig_t MHAParser::mhapluginloader_t::get_cfout ( ) const [inline]
5.258.3.9 const std::string& MHAParser::mhapluginloader_t::get_last_name ( ) const [inline]
5.258.3.10 void MHAParser::mhapluginloader_t::load_plug ( ) [private]
5.258.4 Member Data Documentation
5.258.4.1 PluginLoader::mhapluginloader_tMHAParser::mhapluginloader_t::plug
[protected]
5.258.4.2 MHAParser::parser_t& MHAParser::mhapluginloader_t::parent_ [private]
5.258.4.3 MHAParser::string_t MHAParser::mhapluginloader_t::plugname [private]
5.258.4.4 std::string MHAParser::mhapluginloader_t::prefix_ [private]
5.258.4.5 MHAEvents::connector_t<mhapluginloader_t>MHAParser::mhapluginloader_t-
::connector [private]
5.258.4.6 algo_comm_t MHAParser::mhapluginloader_t::ac_ [private]
5.258.4.7 std::string MHAParser::mhapluginloader_t::last_name [private]
5.258.4.8 std::string MHAParser::mhapluginloader_t::plugname_name_ [private]
5.258.4.9 mhaconfig_t MHAParser::mhapluginloader_t::cf_in_ [private]
5.258.4.10 mhaconfig_t MHAParser::mhapluginloader_t::cf_out_ [private]
5.258.4.11 double MHAParser::mhapluginloader_t::bookkeeping [static],[private]
The documentation for this class was generated from the following files:
mhapluginloader.h
mhapluginloader.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.259 MHAParser::mint_mon_t Class Reference 685
5.259 MHAParser::mint_mon_t Class Reference
Matrix of ints monitor.
Inheritance diagram for MHAParser::mint_mon_t:
MHAParser::mint_mon_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
mint_mon_t (const std::string &hlp)
Create a matrix of integer monitor values.
Public Attributes
• std::vector<std::vector<int > > data
Data field.
Protected Member Functions
std::string query_val (const std::string &)
std::string query_type (const std::string &)
Additional Inherited Members
5.259.1 Detailed Description
Matrix of ints monitor.
5.259.2 Constructor & Destructor Documentation
5.259.2.1 MHAParser::mint_mon_t::mint_mon_t (
const std::string & hlp )
Create a matrix of integer monitor values.
© 2005-2019 HörTech gGmbH, Oldenburg
686 CONTENTS
Parameters
hlp A help text describing this monitor variable.
5.259.3 Member Function Documentation
5.259.3.1 std::string MHAParser::mint_mon_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.259.3.2 std::string MHAParser::mint_mon_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.259.4 Member Data Documentation
5.259.4.1 std::vector<std::vector<int> > MHAParser::mint_mon_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.260 MHAParser::monitor_t Class Reference
Base class for monitors and variable nodes.
Inheritance diagram for MHAParser::monitor_t:
MHAParser::monitor_t
MHAParser::bool_mon_t
MHAParser::complex
_mon_t
MHAParser::float_mon_t
MHAParser::int_mon_t
MHAParser::mcomplex
_mon_t
MHAParser::mfloat_mon_t
MHAParser::mint_mon_t
MHAParser::string_mon_t
MHAParser::variable_t
MHAParser::vcomplex
_mon_t
MHAParser::vfloat_mon_t
MHAParser::vint_mon_t
MHAParser::vstring
_mon_t
MHAParser::base_t
MHAParser::bool_t
MHAParser::kw_t
MHAParser::range_var_t
MHAParser::string_t
MHAParser::vstring_t
MHAOvlFilter::scale
_var_t
MHAParser::commit_t
< receiver_t >
MHAParser::complex_t
MHAParser::float_t
MHAParser::int_t
MHAParser::mcomplex_t
MHAParser::mfloat_t
MHAParser::vcomplex_t
MHAParser::vfloat_t
MHAParser::vint_t
parser_int_dyn
mon_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.260 MHAParser::monitor_t Class Reference 687
Public Member Functions
monitor_t (const std::string &)
monitor_t (const monitor_t &)
std::string op_query (expression_t &)
std::string query_dump (const std::string &)
std::string query_perm (const std::string &)
Additional Inherited Members
5.260.1 Detailed Description
Base class for monitors and variable nodes.
5.260.2 Constructor & Destructor Documentation
5.260.2.1 MHAParser::monitor_t::monitor_t (
const std::string & h)
5.260.2.2 MHAParser::monitor_t::monitor_t (
const monitor_t &src )
5.260.3 Member Function Documentation
5.260.3.1 std::string MHAParser::monitor_t::op_query (
expression_t &x)[virtual]
Reimplemented from MHAParser::base_t (p. 638).
5.260.3.2 std::string MHAParser::monitor_t::query_dump (
const std::string & s)[virtual]
Reimplemented from MHAParser::base_t (p. 638).
5.260.3.3 std::string MHAParser::monitor_t::query_perm (
const std::string & s)[virtual]
Reimplemented from MHAParser::base_t (p. 639).
Reimplemented in MHAParser::variable_t (p. 701).
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
688 CONTENTS
5.261 MHAParser::parser_t Class Reference
Parser node class.
Inherits MHAParser::base_t.
Inherited by alsa_dev_par_parser_t,AuditoryProfile::parser_t,AuditoryProfile::parser-
_t::ear_t,AuditoryProfile::parser_t::fmap_t,dc::wideband_inhib_vars_t,DynComp-
::dc_afterburn_vars_t,fw_t,io_alsa_t,io_file_t,io_parser_t,io_tcp_parser_t,MHA-
Filter::adapt_filter_t,MHAFilter::iir_filter_t,MHAIOJack::io_jack_t,MHAIOJackdb::io_-
jack_t,MHAIOPortAudio::device_info_t,MHAIOPortAudio::io_portaudio_t,MHAParser-
::mhaconfig_mon_t,MHAParser::window_t,MHAPlugin::plugin_t<runtime_cfg_t >,
MHAPlugin_Split::split_t,MHAPlugin::plugin_t<ac2wave_t >,MHAPlugin::plugin_t<
acConcat_wave_config >,MHAPlugin::plugin_t<acPooling_wave_config >,MHA-
Plugin::plugin_t<acSteer_config >,MHAPlugin::plugin_t<acTransform_wave_config
>,MHAPlugin::plugin_t<adm_rtconfig_t >,MHAPlugin::plugin_t<analysepath_t >,
MHAPlugin::plugin_t<cfg_t >,MHAPlugin::plugin_t<cohflt_t >,MHAPlugin::plugin-
_t<combc_t >,MHAPlugin::plugin_t<db_t >,MHAPlugin::plugin_t<dc_t >,M-
HAPlugin::plugin_t<delaysum_t >,MHAPlugin::plugin_t<doasvm_classification_-
config >,MHAPlugin::plugin_t<doasvm_feature_extraction_config >,MHAPlugin-
::plugin_t<example5_t >,MHAPlugin::plugin_t<fftfb_plug_t >,MHAPlugin::plugin_t<
fftfbpow_t >,MHAPlugin::plugin_t<float >,MHAPlugin::plugin_t<fshift_config_-
t>,MHAPlugin::plugin_t<gtfb_analyzer_cfg_t >,MHAPlugin::plugin_t<hilbert_-
shifter_t >,MHAPlugin::plugin_t<int >,MHAPlugin::plugin_t<lpc_bl_predictor_config
>,MHAPlugin::plugin_t<lpc_burglattice_config >,MHAPlugin::plugin_t<lpc_config
>,MHAPlugin::plugin_t<MHA_AC::spectrum_t >,MHAPlugin::plugin_t<MHA_AC-
::waveform_t >,MHAPlugin::plugin_t<mhachain::plugs_t >,MHAPlugin::plugin_t<
MHASignal::delay_t >,MHAPlugin::plugin_t<MHASignal::waveform_t >,MHAPlugin-
::plugin_t<MHAWindow::fun_t >,MHAPlugin::plugin_t<noisePowProposed >,M-
HAPlugin::plugin_t<overlapadd_t >,MHAPlugin::plugin_t<plingploing_t >,MHA-
Plugin::plugin_t<prediction_error_config >,MHAPlugin::plugin_t<resampling_t >,
MHAPlugin::plugin_t<rmslevel_t >,MHAPlugin::plugin_t<route::process_t >,MHA-
Plugin::plugin_t<rt_nlms_t >,MHAPlugin::plugin_t<scaler_t >,MHAPlugin::plugin-
_t<sine_cfg_t >,MHAPlugin::plugin_t<smoothspec_wrap_t >,MHAPlugin::plugin_t<
spec2wave_t >,MHAPlugin::plugin_t<spec_fader_t >,MHAPlugin::plugin_t<steerbf-
_config >,MHAPlugin::plugin_t<timoConfig >,MHAPlugin::plugin_t<wave2spec_t >,
MHAPlugin::plugin_t<wavwriter_t >,softclipper_variables_t,testplugin::ac_parser_t,
testplugin::config_parser_t, and testplugin::signal_parser_t.
Public Member Functions
parser_t (const std::string &help_text="")
Construct detached node to be used in the configuration tree.
parser_t ()
void insert_item (const std::string &, base_t )
Register a parser item into this sub-parser.
void remove_item (const std::string &)
Remove an item by name.
void force_remove_item (const std::string &)
Remove an item by name.
void remove_item (const base_t )
Remove an item by address.
© 2005-2019 HörTech gGmbH, Oldenburg
5.261 MHAParser::parser_t Class Reference 689
Protected Member Functions
std::string op_subparse (expression_t &)
std::string op_setval (expression_t &)
std::string op_query (expression_t &)
std::string query_type (const std::string &)
std::string query_dump (const std::string &)
std::string query_entries (const std::string &)
std::string query_readfile (const std::string &)
std::string query_savefile (const std::string &)
std::string query_savefile_compact (const std::string &)
std::string query_savemons (const std::string &)
std::string query_val (const std::string &)
std::string query_listids (const std::string &)
void set_id_string (const std::string &)
Private Attributes
entry_map_t entries
std::string id_string
identification string
std::string srcfile
unsigned int srcline
std::string last_errormsg
Additional Inherited Members
5.261.1 Detailed Description
Parser node class.
Aparser_t (p. 688) instance is a node in the configuration tree. A parser node can contain any
number of other parser_t (p. 688) instances or configuration language variables. These items
are inserted into a parser node using the parser_t::insert_item (p. 690) method.
5.261.2 Constructor & Destructor Documentation
5.261.2.1 MHAParser::parser_t::parser_t (
const std::string & help_text = "" )
Construct detached node to be used in the configuration tree.
© 2005-2019 HörTech gGmbH, Oldenburg
690 CONTENTS
Parameters
help_text A text describing this node. E.g. if this node lives at the root of some openMHA
plugin, then the help text should describe the functionality of the plugin.
5.261.2.2 MHAParser::parser_t::parser_t ( )
5.261.3 Member Function Documentation
5.261.3.1 void MHAParser::parser_t::insert_item (
const std::string & n,
MHAParser::base_t e)
Register a parser item into this sub-parser.
This function registers an item under a given name into this sub-parser and makes it accessible
to the parser interface.
Parameters
nName of the item in the configuration tree
eC++ pointer to the item instance. e can either point to a variable, to a monitor, or to
another sub-parser.
5.261.3.2 void MHAParser::parser_t::remove_item (
const std::string & n)
Remove an item by name.
If the item does not exist, an error is being reported.
Parameters
nName of parser item to be removed from list.
5.261.3.3 void MHAParser::parser_t::force_remove_item (
const std::string & n)
Remove an item by name.
Non-existing items are ignored.
Parameters
nName of parser item to be removed from list.
© 2005-2019 HörTech gGmbH, Oldenburg
5.261 MHAParser::parser_t Class Reference 691
5.261.3.4 void MHAParser::parser_t::remove_item (
const base_t addr )
Remove an item by address.
The item belonging to an address is being removed from the list of items.
Parameters
addr Address of parser item to be removed.
5.261.3.5 std::string MHAParser::parser_t::op_subparse (
expression_t &x)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 638).
5.261.3.6 std::string MHAParser::parser_t::op_setval (
expression_t &x)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 638).
5.261.3.7 std::string MHAParser::parser_t::op_query (
expression_t &x)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 638).
5.261.3.8 std::string MHAParser::parser_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.261.3.9 std::string MHAParser::parser_t::query_dump (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 638).
5.261.3.10 std::string MHAParser::parser_t::query_entries (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.261.3.11 std::string MHAParser::parser_t::query_readfile (
const std::string & fname )[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
© 2005-2019 HörTech gGmbH, Oldenburg
692 CONTENTS
5.261.3.12 std::string MHAParser::parser_t::query_savefile (
const std::string & fname )[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 640).
5.261.3.13 std::string MHAParser::parser_t::query_savefile_compact (
const std::string & fname )[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 640).
5.261.3.14 std::string MHAParser::parser_t::query_savemons (
const std::string & fname )[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 640).
5.261.3.15 std::string MHAParser::parser_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.261.3.16 std::string MHAParser::parser_t::query_listids (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 640).
5.261.3.17 void MHAParser::parser_t::set_id_string (
const std::string & s)[protected]
5.261.4 Member Data Documentation
5.261.4.1 entry_map_t MHAParser::parser_t::entries [private]
5.261.4.2 std::string MHAParser::parser_t::id_string [private]
identification string
5.261.4.3 std::string MHAParser::parser_t::srcfile [private]
5.261.4.4 unsigned int MHAParser::parser_t::srcline [private]
5.261.4.5 std::string MHAParser::parser_t::last_errormsg [private]
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.262 MHAParser::range_var_t Class Reference 693
5.262 MHAParser::range_var_t Class Reference
Base class for all variables with a numeric value range.
Inheritance diagram for MHAParser::range_var_t:
MHAParser::range_var_t
MHAParser::complex_t
MHAParser::float_t
MHAParser::int_t
MHAParser::mcomplex_t
MHAParser::mfloat_t
MHAParser::vcomplex_t
MHAParser::vfloat_t
MHAParser::vint_t
MHAParser::variable_tMHAParser::monitor_tMHAParser::base_t
parser_int_dyn
Public Member Functions
range_var_t (const std::string &, const std::string &="")
range_var_t (const range_var_t &)
std::string query_range (const std::string &)
void set_range (const std::string &r)
Change the valid range of a variable.
void validate (const int &)
void validate (const float &)
void validate (const mha_complex_t &)
void validate (const std::vector<int >&)
void validate (const std::vector<float >&)
void validate (const std::vector<mha_complex_t >&)
void validate (const std::vector<std::vector<float > > &)
void validate (const std::vector<std::vector<mha_complex_t > > &)
Protected Attributes
float low_limit
Lower limit of range.
float up_limit
Upper limit of range.
bool low_incl
Lower limit is included (or excluded) in range.
bool up_incl
Upper limit is included (or excluded) in range.
bool check_low
Check lower limit.
bool check_up
Check upper limit.
bool check_range
Range checking is active.
© 2005-2019 HörTech gGmbH, Oldenburg
694 CONTENTS
Additional Inherited Members
5.262.1 Detailed Description
Base class for all variables with a numeric value range.
5.262.2 Constructor & Destructor Documentation
5.262.2.1 MHAParser::range_var_t::range_var_t (
const std::string & h,
const std::string & r = "" )
5.262.2.2 MHAParser::range_var_t::range_var_t (
const range_var_t &src )
5.262.3 Member Function Documentation
5.262.3.1 std::string MHAParser::range_var_t::query_range (
const std::string & s)[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.262.3.2 void MHAParser::range_var_t::set_range (
const std::string & r)
Change the valid range of a variable.
Parameters
rNew range of the variable (string representation)
5.262.3.3 void MHAParser::range_var_t::validate (
const int & v)
5.262.3.4 void MHAParser::range_var_t::validate (
const float & v)
5.262.3.5 void MHAParser::range_var_t::validate (
const mha_complex_t &v)
5.262.3.6 void MHAParser::range_var_t::validate (
const std::vector<int >&v)
© 2005-2019 HörTech gGmbH, Oldenburg
5.262 MHAParser::range_var_t Class Reference 695
5.262.3.7 void MHAParser::range_var_t::validate (
const std::vector<float >&v)
5.262.3.8 void MHAParser::range_var_t::validate (
const std::vector<mha_complex_t >&v)
5.262.3.9 void MHAParser::range_var_t::validate (
const std::vector<std::vector<float > > &v)
5.262.3.10 void MHAParser::range_var_t::validate (
const std::vector<std::vector<mha_complex_t > > &v)
5.262.4 Member Data Documentation
5.262.4.1 float MHAParser::range_var_t::low_limit [protected]
Lower limit of range.
5.262.4.2 float MHAParser::range_var_t::up_limit [protected]
Upper limit of range.
5.262.4.3 bool MHAParser::range_var_t::low_incl [protected]
Lower limit is included (or excluded) in range.
5.262.4.4 bool MHAParser::range_var_t::up_incl [protected]
Upper limit is included (or excluded) in range.
5.262.4.5 bool MHAParser::range_var_t::check_low [protected]
Check lower limit.
5.262.4.6 bool MHAParser::range_var_t::check_up [protected]
Check upper limit.
5.262.4.7 bool MHAParser::range_var_t::check_range [protected]
Range checking is active.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
696 CONTENTS
5.263 MHAParser::string_mon_t Class Reference
Monitor with string value.
Inheritance diagram for MHAParser::string_mon_t:
MHAParser::string_mon_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
string_mon_t (const std::string &hlp)
Create a monitor variable for string values.
Public Attributes
std::string data
Data field.
Protected Member Functions
std::string query_val (const std::string &)
std::string query_type (const std::string &)
Additional Inherited Members
5.263.1 Detailed Description
Monitor with string value.
5.263.2 Constructor & Destructor Documentation
5.263.2.1 MHAParser::string_mon_t::string_mon_t (
const std::string & hlp )
Create a monitor variable for string values.
© 2005-2019 HörTech gGmbH, Oldenburg
5.264 MHAParser::string_t Class Reference 697
Parameters
hlp A help text describing this monitor variable.
5.263.3 Member Function Documentation
5.263.3.1 std::string MHAParser::string_mon_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.263.3.2 std::string MHAParser::string_mon_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.263.4 Member Data Documentation
5.263.4.1 std::string MHAParser::string_mon_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.264 MHAParser::string_t Class Reference
Variable with a string value.
© 2005-2019 HörTech gGmbH, Oldenburg
698 CONTENTS
Inheritance diagram for MHAParser::string_t:
MHAParser::string_t
MHAParser::variable_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
string_t (const std::string &, const std::string &)
Constructor of a openMHA configuration variable for string values.
Public Attributes
std::string data
Data field.
Protected Member Functions
std::string op_setval (expression_t &)
std::string query_type (const std::string &)
std::string query_val (const std::string &)
Additional Inherited Members
5.264.1 Detailed Description
Variable with a string value.
© 2005-2019 HörTech gGmbH, Oldenburg
5.264 MHAParser::string_t Class Reference 699
5.264.2 Constructor & Destructor Documentation
5.264.2.1 MHAParser::string_t::string_t (
const std::string & h,
const std::string & v)
Constructor of a openMHA configuration variable for string values.
Parameters
hA help string describing the purpose of this variable.
vThe initial string value
5.264.3 Member Function Documentation
5.264.3.1 std::string MHAParser::string_t::op_setval (
expression_t &x)[protected],[virtual]
Reimplemented from MHAParser::variable_t (p. 701).
5.264.3.2 std::string MHAParser::string_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.264.3.3 std::string MHAParser::string_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.264.4 Member Data Documentation
5.264.4.1 std::string MHAParser::string_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
700 CONTENTS
5.265 MHAParser::variable_t Class Reference
Base class for variable nodes.
Inheritance diagram for MHAParser::variable_t:
MHAParser::variable_t
MHAParser::bool_t
MHAParser::kw_t
MHAParser::range_var_t
MHAParser::string_t
MHAParser::vstring_t
MHAParser::monitor_tMHAParser::base_t
MHAOvlFilter::scale
_var_t
MHAParser::commit_t
< receiver_t >
MHAParser::complex_t
MHAParser::float_t
MHAParser::int_t
MHAParser::mcomplex_t
MHAParser::mfloat_t
MHAParser::vcomplex_t
MHAParser::vfloat_t
MHAParser::vint_t
parser_int_dyn
Public Member Functions
variable_t (const std::string &)
std::string op_setval (expression_t &)
std::string query_perm (const std::string &)
void setlock (const bool &)
Lock a variable against write access.
Private Attributes
bool locked
Additional Inherited Members
5.265.1 Detailed Description
Base class for variable nodes.
© 2005-2019 HörTech gGmbH, Oldenburg
5.265 MHAParser::variable_t Class Reference 701
5.265.2 Constructor & Destructor Documentation
5.265.2.1 MHAParser::variable_t::variable_t (
const std::string & h)
5.265.3 Member Function Documentation
5.265.3.1 std::string MHAParser::variable_t::op_setval (
expression_t &x)[virtual]
Reimplemented from MHAParser::base_t (p. 638).
Reimplemented in MHAParser::mcomplex_t (p. 675), MHAParser::mfloat_t (p. 679), MH-
AParser::vcomplex_t (p. 706), MHAParser::vfloat_t (p. 710), MHAParser::vint_t (p. 714),
MHAParser::complex_t (p. 655), MHAParser::float_t (p. 661), MHAParser::int_t (p. 666),
MHAParser::bool_t (p. 647), MHAParser::vstring_t (p. 718), MHAParser::string_t (p. 699),
and MHAParser::kw_t (p. 671).
5.265.3.2 std::string MHAParser::variable_t::query_perm (
const std::string & s)[virtual]
Reimplemented from MHAParser::monitor_t (p. 687).
5.265.3.3 void MHAParser::variable_t::setlock (
const bool & b)
Lock a variable against write access.
Parameters
bLock state
5.265.4 Member Data Documentation
5.265.4.1 bool MHAParser::variable_t::locked [private]
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
702 CONTENTS
5.266 MHAParser::vcomplex_mon_t Class Reference
Monitor with vector of complex values.
Inheritance diagram for MHAParser::vcomplex_mon_t:
MHAParser::vcomplex
_mon_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
vcomplex_mon_t (const std::string &hlp)
Create a vector of complex monitor values.
Public Attributes
• std::vector<mha_complex_t >data
Data field.
Protected Member Functions
std::string query_val (const std::string &)
std::string query_type (const std::string &)
Additional Inherited Members
5.266.1 Detailed Description
Monitor with vector of complex values.
© 2005-2019 HörTech gGmbH, Oldenburg
5.266 MHAParser::vcomplex_mon_t Class Reference 703
5.266.2 Constructor & Destructor Documentation
5.266.2.1 MHAParser::vcomplex_mon_t::vcomplex_mon_t (
const std::string & hlp )
Create a vector of complex monitor values.
© 2005-2019 HörTech gGmbH, Oldenburg
704 CONTENTS
Parameters
hlp A help text describing this monitor variable.
5.266.3 Member Function Documentation
5.266.3.1 std::string MHAParser::vcomplex_mon_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.266.3.2 std::string MHAParser::vcomplex_mon_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.266.4 Member Data Documentation
5.266.4.1 std::vector<mha_complex_t>MHAParser::vcomplex_mon_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.267 MHAParser::vcomplex_t Class Reference
Vector variable with complex value.
© 2005-2019 HörTech gGmbH, Oldenburg
5.267 MHAParser::vcomplex_t Class Reference 705
Inheritance diagram for MHAParser::vcomplex_t:
MHAParser::vcomplex_t
MHAParser::range_var_t
MHAParser::variable_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
vcomplex_t (const std::string &, const std::string &, const std::string &="")
Public Attributes
• std::vector<mha_complex_t >data
Data field.
Protected Member Functions
std::string op_setval (expression_t &)
std::string query_type (const std::string &)
std::string query_val (const std::string &)
Additional Inherited Members
5.267.1 Detailed Description
Vector variable with complex value.
© 2005-2019 HörTech gGmbH, Oldenburg
706 CONTENTS
5.267.2 Constructor & Destructor Documentation
5.267.2.1 MHAParser::vcomplex_t::vcomplex_t (
const std::string & h,
const std::string & v,
const std::string & rg = "" )
5.267.3 Member Function Documentation
5.267.3.1 std::string MHAParser::vcomplex_t::op_setval (
expression_t &x)[protected],[virtual]
Reimplemented from MHAParser::variable_t (p. 701).
5.267.3.2 std::string MHAParser::vcomplex_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.267.3.3 std::string MHAParser::vcomplex_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.267.4 Member Data Documentation
5.267.4.1 std::vector<mha_complex_t>MHAParser::vcomplex_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.268 MHAParser::vfloat_mon_t Class Reference 707
5.268 MHAParser::vfloat_mon_t Class Reference
Vector of floats monitor.
Inheritance diagram for MHAParser::vfloat_mon_t:
MHAParser::vfloat_mon_t
mon_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
vfloat_mon_t (const std::string &hlp)
Create a vector of floating point monitor values.
Public Attributes
• std::vector<float >data
Data field.
Protected Member Functions
std::string query_val (const std::string &)
std::string query_type (const std::string &)
Additional Inherited Members
5.268.1 Detailed Description
Vector of floats monitor.
© 2005-2019 HörTech gGmbH, Oldenburg
708 CONTENTS
5.268.2 Constructor & Destructor Documentation
5.268.2.1 MHAParser::vfloat_mon_t::vfloat_mon_t (
const std::string & hlp )
Create a vector of floating point monitor values.
Parameters
hlp A help text describing this monitor variable.
5.268.3 Member Function Documentation
5.268.3.1 std::string MHAParser::vfloat_mon_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.268.3.2 std::string MHAParser::vfloat_mon_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.268.4 Member Data Documentation
5.268.4.1 std::vector<float>MHAParser::vfloat_mon_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.269 MHAParser::vfloat_t Class Reference 709
5.269 MHAParser::vfloat_t Class Reference
Vector variable with float value.
Inheritance diagram for MHAParser::vfloat_t:
MHAParser::vfloat_t
MHAParser::range_var_t
MHAParser::variable_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
vfloat_t (const std::string &, const std::string &, const std::string &="")
Create a float vector parser variable.
Public Attributes
• std::vector<float >data
Data field.
Protected Member Functions
std::string op_setval (expression_t &)
std::string query_type (const std::string &)
std::string query_val (const std::string &)
© 2005-2019 HörTech gGmbH, Oldenburg
710 CONTENTS
Additional Inherited Members
5.269.1 Detailed Description
Vector variable with float value.
5.269.2 Constructor & Destructor Documentation
5.269.2.1 MHAParser::vfloat_t::vfloat_t (
const std::string & h,
const std::string & v,
const std::string & rg = "" )
Create a float vector parser variable.
Parameters
hA human-readable text describing the purpose of this configuration variable.
vThe initial value of the variable, as a string, in openMHA configuration language:
(e.g. "[0 1 2.1 3]" for a vector), described in the "Multidimensional Variables"
s2.1.3 section of the openMHA User Manual.
rg The numeric range to enforce on all members of the vector.
5.269.3 Member Function Documentation
5.269.3.1 std::string MHAParser::vfloat_t::op_setval (
expression_t &x)[protected],[virtual]
Reimplemented from MHAParser::variable_t (p. 701).
5.269.3.2 std::string MHAParser::vfloat_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.269.3.3 std::string MHAParser::vfloat_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
© 2005-2019 HörTech gGmbH, Oldenburg
5.270 MHAParser::vint_mon_t Class Reference 711
5.269.4 Member Data Documentation
5.269.4.1 std::vector<float>MHAParser::vfloat_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.270 MHAParser::vint_mon_t Class Reference
Vector of ints monitor.
Inheritance diagram for MHAParser::vint_mon_t:
MHAParser::vint_mon_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
vint_mon_t (const std::string &hlp)
Create a vector of integer monitor values.
Public Attributes
• std::vector<int >data
Data field.
© 2005-2019 HörTech gGmbH, Oldenburg
712 CONTENTS
Protected Member Functions
std::string query_val (const std::string &)
std::string query_type (const std::string &)
Additional Inherited Members
5.270.1 Detailed Description
Vector of ints monitor.
5.270.2 Constructor & Destructor Documentation
5.270.2.1 MHAParser::vint_mon_t::vint_mon_t (
const std::string & hlp )
Create a vector of integer monitor values.
Parameters
hlp A help text describing this monitor variable.
5.270.3 Member Function Documentation
5.270.3.1 std::string MHAParser::vint_mon_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.270.3.2 std::string MHAParser::vint_mon_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.270.4 Member Data Documentation
5.270.4.1 std::vector<int>MHAParser::vint_mon_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.271 MHAParser::vint_t Class Reference 713
5.271 MHAParser::vint_t Class Reference
Variable with vector<int>value.
Inheritance diagram for MHAParser::vint_t:
MHAParser::vint_t
MHAParser::range_var_t
MHAParser::variable_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
vint_t (const std::string &, const std::string &, const std::string &="")
Constructor.
Public Attributes
• std::vector<int >data
Data field.
Protected Member Functions
std::string op_setval (expression_t &)
std::string query_type (const std::string &)
std::string query_val (const std::string &)
© 2005-2019 HörTech gGmbH, Oldenburg
714 CONTENTS
Additional Inherited Members
5.271.1 Detailed Description
Variable with vector<int>value.
5.271.2 Constructor & Destructor Documentation
5.271.2.1 MHAParser::vint_t::vint_t (
const std::string & h,
const std::string & v,
const std::string & rg = "" )
Constructor.
Parameters
hhelp string
vinitial value
rg optional: range constraint for all elements
5.271.3 Member Function Documentation
5.271.3.1 std::string MHAParser::vint_t::op_setval (
expression_t &x)[protected],[virtual]
Reimplemented from MHAParser::variable_t (p. 701).
5.271.3.2 std::string MHAParser::vint_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.271.3.3 std::string MHAParser::vint_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
© 2005-2019 HörTech gGmbH, Oldenburg
5.272 MHAParser::vstring_mon_t Class Reference 715
5.271.4 Member Data Documentation
5.271.4.1 std::vector<int>MHAParser::vint_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.272 MHAParser::vstring_mon_t Class Reference
Vector of monitors with string value.
Inheritance diagram for MHAParser::vstring_mon_t:
MHAParser::vstring
_mon_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
vstring_mon_t (const std::string &hlp)
Create a vector of string monitor values.
Public Attributes
• std::vector<std::string >data
Data field.
© 2005-2019 HörTech gGmbH, Oldenburg
716 CONTENTS
Protected Member Functions
std::string query_val (const std::string &)
std::string query_type (const std::string &)
Additional Inherited Members
5.272.1 Detailed Description
Vector of monitors with string value.
5.272.2 Constructor & Destructor Documentation
5.272.2.1 MHAParser::vstring_mon_t::vstring_mon_t (
const std::string & hlp )
Create a vector of string monitor values.
Parameters
hlp A help text describing this monitor variable.
5.272.3 Member Function Documentation
5.272.3.1 std::string MHAParser::vstring_mon_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.272.3.2 std::string MHAParser::vstring_mon_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.272.4 Member Data Documentation
5.272.4.1 std::vector<std::string>MHAParser::vstring_mon_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.273 MHAParser::vstring_t Class Reference 717
5.273 MHAParser::vstring_t Class Reference
Vector variable with string values.
Inheritance diagram for MHAParser::vstring_t:
MHAParser::vstring_t
MHAParser::variable_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
vstring_t (const std::string &, const std::string &)
Public Attributes
• std::vector<std::string >data
Data field.
Protected Member Functions
std::string op_setval (expression_t &)
std::string query_type (const std::string &)
std::string query_val (const std::string &)
Additional Inherited Members
5.273.1 Detailed Description
Vector variable with string values.
© 2005-2019 HörTech gGmbH, Oldenburg
718 CONTENTS
5.273.2 Constructor & Destructor Documentation
5.273.2.1 MHAParser::vstring_t::vstring_t (
const std::string & h,
const std::string & v)
5.273.3 Member Function Documentation
5.273.3.1 std::string MHAParser::vstring_t::op_setval (
expression_t &x)[protected],[virtual]
Reimplemented from MHAParser::variable_t (p. 701).
5.273.3.2 std::string MHAParser::vstring_t::query_type (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.273.3.3 std::string MHAParser::vstring_t::query_val (
const std::string & s)[protected],[virtual]
Reimplemented from MHAParser::base_t (p. 639).
5.273.4 Member Data Documentation
5.273.4.1 std::vector<std::string>MHAParser::vstring_t::data
Data field.
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.274 MHAParser::window_t Class Reference 719
5.274 MHAParser::window_t Class Reference
MHA configuration interface for a window function generator.
Inheritance diagram for MHAParser::window_t:
MHAParser::window_t
MHAParser::parser_t
MHAParser::base_t
Public Types
Public Member Functions
window_t (const std::string &help="Window type configuration.")
Constructor to create parser class.
MHAWindow::base_t get_window (unsigned int len) const
Create a window instance, use default parameters.
MHAWindow::base_t get_window (unsigned int len, float xmin) const
Create a window instance.
MHAWindow::base_t get_window (unsigned int len, float xmin, float xmax) const
Create a window instance.
MHAWindow::base_t get_window (unsigned int len, float xmin, float xmax, bool minin-
cluded) const
Create a window instance.
MHAWindow::base_t get_window (unsigned int len, float xmin, float xmax, bool minin-
cluded, bool maxincluded) const
Create a window instance.
MHAParser::window_t::wtype_t get_type () const
Return currently selected window type.
Private Attributes
MHAParser::kw_t wtype
MHAParser::vfloat_t user
© 2005-2019 HörTech gGmbH, Oldenburg
720 CONTENTS
Additional Inherited Members
5.274.1 Detailed Description
MHA configuration interface for a window function generator.
This class implements a configuration interface (sub-parser) for window type selection and
user-defined window type. It provides member functions to generate an instance of MHA-
Window::base_t (p. 835) based on the values provided by the configuration interface.
The configuration interface is derived from MHAParser::parser_t (p. 688) and can thus be
inserted into the configuration tree using the insert_item() (p. 690) method of the parent parser.
If one of the pre-defined window types is used, then the window is generated using the MHA-
Window::fun_t (p. 838) class constructor; for the user-defined type the values from the "user"
variable are copied.
5.274.2 Member Enumeration Documentation
5.274.2.1 enum MHAParser::window_t::wtype_t
Enumerator
wnd_rect
wnd_hann
wnd_hamming
wnd_blackman
wnd_bartlett
wnd_user
5.274.3 Constructor & Destructor Documentation
5.274.3.1 MHAParser::window_t::window_t (
const std::string & help = "Window type configuration." )
Constructor to create parser class.
5.274.4 Member Function Documentation
5.274.4.1 MHAWindow::base_t MHAParser::window_t::get_window (
unsigned int len ) const
Create a window instance, use default parameters.
© 2005-2019 HörTech gGmbH, Oldenburg
5.274 MHAParser::window_t Class Reference 721
5.274.4.2 MHAWindow::base_t MHAParser::window_t::get_window (
unsigned int len,
float xmin ) const
Create a window instance.
5.274.4.3 MHAWindow::base_t MHAParser::window_t::get_window (
unsigned int len,
float xmin,
float xmax ) const
Create a window instance.
5.274.4.4 MHAWindow::base_t MHAParser::window_t::get_window (
unsigned int len,
float xmin,
float xmax,
bool minincluded ) const
Create a window instance.
5.274.4.5 MHAWindow::base_t MHAParser::window_t::get_window (
unsigned int len,
float xmin,
float xmax,
bool minincluded,
bool maxincluded ) const
Create a window instance.
5.274.4.6 MHAParser::window_t::wtype_t MHAParser::window_t::get_type ( ) const
Return currently selected window type.
5.274.5 Member Data Documentation
5.274.5.1 MHAParser::kw_t MHAParser::window_t::wtype [private]
5.274.5.2 MHAParser::vfloat_t MHAParser::window_t::user [private]
The documentation for this class was generated from the following files:
mha_windowparser.h
mha_windowparser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
722 CONTENTS
5.275 mhaplug_cfg_t Class Reference
Inheritance diagram for mhaplug_cfg_t:
mhaplug_cfg_t
MHAKernel::algo_comm
_class_t
PluginLoader::mhapluginloader_t
PluginLoader::config
_file_splitter_t
MHAParser::c_ifc_parser_tMHAParser::base_t
PluginLoader::fourway
_processor_t
Public Member Functions
mhaplug_cfg_t (algo_comm_t iac, const std::string &libname, bool use_own_ac)
mhaplug_cfg_t () throw ()
Additional Inherited Members
5.275.1 Constructor & Destructor Documentation
5.275.1.1 mhaplug_cfg_t::mhaplug_cfg_t (
algo_comm_t iac,
const std::string & libname,
bool use_own_ac )
5.275.1.2 mhaplug_cfg_t::mhaplug_cfg_t ( ) throw ) [inline]
The documentation for this class was generated from the following file:
altplugs.cpp
5.276 MHAPlugin::cfg_chain_t<runtime_cfg_t >Class Template Reference
Public Member Functions
cfg_chain_t (runtime_cfg_t id)
cfg_chain_t ()
© 2005-2019 HörTech gGmbH, Oldenburg
5.277 MHAPlugin::config_t<runtime_cfg_t >Class Template
Reference 723
Public Attributes
cfg_chain_t<runtime_cfg_t >next
bool not_in_use
runtime_cfg_t data
5.276.1 Constructor & Destructor Documentation
5.276.1.1 template<class runtime_cfg_t>MHAPlugin::cfg_chain_t<runtime_cfg_t
>::cfg_chain_t (
runtime_cfg_t id )
5.276.1.2 template<class runtime_cfg_t >MHAPlugin::cfg_chain_t<runtime_cfg_t
>::cfg_chain_t ( )
5.276.2 Member Data Documentation
5.276.2.1 template<class runtime_cfg_t>cfg_chain_t<runtime_cfg_t >
MHAPlugin::cfg_chain_t<runtime_cfg_t >::next
5.276.2.2 template<class runtime_cfg_t>bool MHAPlugin::cfg_chain_t<runtime_cfg_t
>::not_in_use
5.276.2.3 template<class runtime_cfg_t>runtime_cfg_tMHAPlugin::cfg_chain_t<
runtime_cfg_t >::data
The documentation for this class was generated from the following file:
mha_plugin.hh
5.277 MHAPlugin::config_t<runtime_cfg_t >Class Template Reference
Template class for thread safe configuration.
© 2005-2019 HörTech gGmbH, Oldenburg
724 CONTENTS
Inheritance diagram for MHAPlugin::config_t<runtime_cfg_t >:
MHAPlugin::config_t
< runtime_cfg_t >
addsndfile::addsndfile
_if_t< level_adapt_t >
calibrator_t
dc_simple::dc_if_t
< level_smoother_t >
MHAPlugin::plugin_t
< runtime_cfg_t >
addsndfile::addsndfile
_if_t< sndfile_t >
calibrator_t< calibrator
_runtime_layer_t >
dc_simple::dc_if_t
< dc_t >
fader_wave::fader_wave
_if_t< level_adapt_t >
Public Member Functions
config_t ()
config_t ()
Protected Member Functions
runtime_cfg_t poll_config ()
Receive the latest run time configuration.
runtime_cfg_t last_config ()
Receive the latest run time configuration.
void push_config (runtime_cfg_t ncfg)
Push a new run time configuration into the configuration fifo.
void cleanup_unused_cfg ()
Protected Attributes
runtime_cfg_t cfg
Private Member Functions
void remove_all_cfg ()
© 2005-2019 HörTech gGmbH, Oldenburg
5.277 MHAPlugin::config_t<runtime_cfg_t >Class Template
Reference 725
Private Attributes
MHAPlugin::cfg_chain_t<runtime_cfg_t >cfg_chain
MHAPlugin::cfg_chain_t<runtime_cfg_t >cfg_chain_current
5.277.1 Detailed Description
template<class runtime_cfg_t>
class MHAPlugin::config_t<runtime_cfg_t >
Template class for thread safe configuration.
This template class provides a mechanism for the handling of thread safe configuration which
is required for run time configuration changes of the openMHA plugins.
The template parameter runtime_cfg_t is the run time configuration class of the openMHA
plugin. The constructor of that class should transform the MHAParser (p. 107) variables into
derived runtime configuration. The constructor should fail if the configuration is invalid by any
reason.
A new runtime configuration is provided by the function push_config() (p. 726). In the process-
ing thread, the actual configuration can be received by a call of poll_config() (p. 726).
in_use next
configuration
current configuration
in_use next
configuration
Figure 5 Schematic drawing of runtime configuration update: configuration updated,
but not used yet.
in_use next
configuration
current configuration
in_use next
configuration
Figure 6 Schematic drawing of runtime configuration update: configuration in use.
© 2005-2019 HörTech gGmbH, Oldenburg
726 CONTENTS
5.277.2 Constructor & Destructor Documentation
5.277.2.1 template<class runtime_cfg_t >MHAPlugin::config_t<runtime_cfg_t >::config_t ( )
5.277.2.2 template<class runtime_cfg_t >MHAPlugin::config_t<runtime_cfg_t >::config_t ( )
5.277.3 Member Function Documentation
5.277.3.1 template<class runtime_cfg_t >runtime_cfg_t MHAPlugin::config_t<runtime_cfg_t
>::poll_config ( ) [protected]
Receive the latest run time configuration.
This function stores the latest run time configuration into the protected class member variable
‘cfg'. If no configuration exists, then an exception will be thrown. If no changes occured, then
the value of ‘cfg' will be untouched. This function should be called before any access to the
‘cfg' variable, typically once in each signal processing call.
This function should be only called from the processing thread.
Exceptions
MHA_Error (p. 445)if the resulting runtime configuration is NULL. This usually means
that no push_config has occured.
5.277.3.2 template<class runtime_cfg_t >runtime_cfg_t MHAPlugin::config_t<runtime_cfg_t
>::last_config ( ) [protected]
Receive the latest run time configuration.
This function stores the latest run time configuration into the protected class member variable
‘cfg'. If no configuration exists, then an exception will be thrown. If no changes occured, then
the value of ‘cfg' will be untouched. This function may be called instead of poll_config.
The difference between poll_config and last_config is that poll_config marks previous config-
urations as ready for deletion, while this function does not. Therefore, memory usage of all
runtime configurations will accumulate if only this function is called, but it enables safe access
to previous runtime configurations.
Also, last_config does not raise an Exception when the latest run time configuration is NULL.
5.277.3.3 template<class runtime_cfg_t>void MHAPlugin::config_t<runtime_cfg_t
>::push_config (
runtime_cfg_t ncfg )[protected]
Push a new run time configuration into the configuration fifo.
© 2005-2019 HörTech gGmbH, Oldenburg
5.277 MHAPlugin::config_t<runtime_cfg_t >Class Template
Reference 727
This function adds a new run time configuration. The next time poll_config (p. 726) is called,
this configuration will be available. Configurations which are not in use or are outdated will be
removed.
This function should be only called from the configuration thread.
© 2005-2019 HörTech gGmbH, Oldenburg
728 CONTENTS
Parameters
ncfg pointer on a new configuration
Warning
The runtime configuration passed to this function will be removed by the internal garbage
collector. Do not free manually.
5.277.3.4 template<class runtime_cfg_t >void MHAPlugin::config_t<runtime_cfg_t
>::cleanup_unused_cfg ( ) [protected]
5.277.3.5 template<class runtime_cfg_t >void MHAPlugin::config_t<runtime_cfg_t
>::remove_all_cfg ( ) [private]
5.277.4 Member Data Documentation
5.277.4.1 template<class runtime_cfg_t>runtime_cfg_tMHAPlugin::config_t<runtime_cfg_t
>::cfg [protected]
5.277.4.2 template<class runtime_cfg_t>MHAPlugin::cfg_chain_t<runtime_cfg_t>
MHAPlugin::config_t<runtime_cfg_t >::cfg_chain [private]
5.277.4.3 template<class runtime_cfg_t>MHAPlugin::cfg_chain_t<runtime_cfg_t>
MHAPlugin::config_t<runtime_cfg_t >::cfg_chain_current [private]
The documentation for this class was generated from the following file:
mha_plugin.hh
5.278 MHAPlugin::plugin_t<runtime_cfg_t >Class Template Reference
The template class for C++ openMHA plugins.
Inheritance diagram for MHAPlugin::plugin_t<runtime_cfg_t >:
MHAPlugin::plugin_t
< runtime_cfg_t >
addsndfile::addsndfile
_if_t< sndfile_t >
calibrator_t< calibrator
_runtime_layer_t >
dc_simple::dc_if_t
< dc_t >
fader_wave::fader_wave
_if_t< level_adapt_t >
MHAParser::parser_tMHAParser::base_t
MHAPlugin::config_t
< runtime_cfg_t >
© 2005-2019 HörTech gGmbH, Oldenburg
5.278 MHAPlugin::plugin_t<runtime_cfg_t >Class Template
Reference 729
Public Member Functions
plugin_t (const std::string &, const algo_comm_t &)
Constructor of plugin template.
virtual plugin_t ()
virtual void prepare (mhaconfig_t &)=0
virtual void release ()
void prepare_ (mhaconfig_t &)
void release_ ()
bool is_prepared () const
Flag, if the prepare method is successfully called (or currently evaluated)
mhaconfig_t input_cfg () const
Current input channel configuration.
mhaconfig_t output_cfg () const
Current output channel configuration.
Protected Attributes
mhaconfig_t tftype
Member for storage of plugin interface configuration.
algo_comm_t ac
AC handle of the chain.
Private Attributes
bool is_prepared_
mhaconfig_t input_cfg_
mhaconfig_t output_cfg_
MHAParser::mhaconfig_mon_t mhaconfig_in
MHAParser::mhaconfig_mon_t mhaconfig_out
Additional Inherited Members
5.278.1 Detailed Description
template<class runtime_cfg_t>
class MHAPlugin::plugin_t<runtime_cfg_t >
The template class for C++ openMHA plugins.
© 2005-2019 HörTech gGmbH, Oldenburg
730 CONTENTS
Template Parameters
runtime_-
cfg_t
run-time configuration.
Todo Describe all services provided by this class, so that the reason why it is recommended
that all plugins use this class as their base is evident. Document all relevant methods
and fields.
This template class provides thread safe configuration handling and standard methods to be
compatible to the C++ openMHA plugin wrapper macro MHAPLUGIN_CALLBACKS (p. 10).
The template parameter runtime_cfg_t should be the runtime configuration of the plugin.
See MHAPlugin::config_t (p. 723) for details on the thread safe communication update mech-
anism.
5.278.2 Constructor & Destructor Documentation
5.278.2.1 template<class runtime_cfg_t >MHAPlugin::plugin_t<runtime_cfg_t >::plugin_t (
const std::string & help,
const algo_comm_t &iac )
Constructor of plugin template.
Parameters
help Help comment to provide some general information about the plugin.
iac AC space handle (will be stored into the member variable ac).
5.278.2.2 template<class runtime_cfg_t >MHAPlugin::plugin_t<runtime_cfg_t >::plugin_t (
)[virtual]
5.278.3 Member Function Documentation
5.278.3.1 template<class runtime_cfg_t>virtual void MHAPlugin::plugin_t<runtime_cfg_t
>::prepare (
mhaconfig_t & ) [pure virtual]
Implemented in bbcalib_interface_t (p. 229), calibrator_t (p. 232), addsndfile-
::addsndfile_if_t (p. 181), testplugin::if_t (p. 935), analysispath_if_t (p. 220), adm_-
if_t (p. 196), ac2lsl::ac2lsl_t (p. 132), overlapadd::overlapadd_if_t (p. 860), noisePow-
ProposedScale::interface_t (p. 856), dc_simple::dc_if_t (p. 264), dc::dc_if_t (p. 254),
© 2005-2019 HörTech gGmbH, Oldenburg
5.278 MHAPlugin::plugin_t<runtime_cfg_t >Class Template
Reference 731
multibandcompressor::interface_t (p. 848), plingploing::if_t (p. 866), combc_if_-
t(p. 244), gtfb_analyzer::gtfb_analyzer_t (p. 357), coherence::cohflt_if_t (p. 238),
plugin_interface_t (p. 873), example6_t (p. 317), smoothgains_bridge::overlapadd-
_if_t (p. 913), MHAPlugin_Resampling::resampling_if_t (p. 734), shadowfilter_end-
::shadowfilter_end_t (p. 909), ac2wave_if_t (p. 149), noise_t (p. 854), nlms_t (p. 852),
prediction_error (p. 888), fshift_hilbert::frequency_translator_t (p. 338), acPooling_wave
(p. 161), spec2wave_if_t (p. 921), mhachain::chain_base_t (p. 499), acsave::acsave_-
t(p. 166), fader_wave::fader_wave_if_t (p. 321), doasvm_feature_extraction (p. 284),
fshift::fshift_t (p. 335), rmslevel_if_t (p. 893), shadowfilter_begin::shadowfilter_begin_t
(p. 906), example3_t (p. 310), example4_t (p. 314), lpc_bl_predictor (p. 399), lpc_-
burglattice (p. 404), steerbf (p. 927), delaysum::delaysum_if_t (p. 276), lpc (p. 396), db-
_if_t (p. 250), fader_if_t (p. 319), acConcat_wave (p. 153), acSteer (p. 173), acTransform-
_wave (p. 177), wave2spec_if_t (p. 950), fftfbpow::fftfbpow_interface_t (p. 325), gain-
::gain_if_t (p. 351), droptect_t (p. 288), example1_t (p. 304), sine_t (p. 911), example2_t
(p. 307), doasvm_classification (p. 280), fftfilterbank::fftfb_interface_t (p. 329), wavrec_t
(p. 954), matrixmixer::matmix_t (p. 411), route::interface_t (p. 896), altplugs_t (p. 214),
softclip_t (p. 917), ac2osc_t (p. 146), save_spec_t (p. 902), save_wave_t (p. 903),
acmon::acmon_t (p. 158), timoSmooth (p. 946), identity_t (p. 360), cpuload_t (p. 248),
delay::interface_t (p. 274), ds_t (p. 291), and us_t (p. 948).
5.278.3.2 template<class runtime_cfg_t >void MHAPlugin::plugin_t<runtime_cfg_t >::release (
)[virtual]
Reimplemented in bbcalib_interface_t (p. 229), calibrator_t (p. 232), addsndfile-
::addsndfile_if_t (p. 181), analysispath_if_t (p. 220), ac2lsl::ac2lsl_t (p. 132), adm-
_if_t (p. 196), overlapadd::overlapadd_if_t (p. 861), dc_simple::dc_if_t (p. 264),
multibandcompressor::interface_t (p. 848), coherence::cohflt_if_t (p. 238), smoothgains-
_bridge::overlapadd_if_t (p. 913), MHAPlugin_Resampling::resampling_if_t (p. 734),
ac2wave_if_t (p. 149), nlms_t (p. 852), prediction_error (p. 888), fshift_hilbert-
::frequency_translator_t (p. 338), acPooling_wave (p. 162), mhachain::chain_base_t
(p. 499), acsave::acsave_t (p. 166), fader_wave::fader_wave_if_t (p. 321), doasvm_-
feature_extraction (p. 285), fshift::fshift_t (p. 336), example3_t (p. 311), example4_t
(p. 314), lpc_bl_predictor (p. 400), lpc_burglattice (p. 404), steerbf (p. 928), delaysum-
::delaysum_if_t (p. 276), lpc (p. 397), db_if_t (p. 250), acConcat_wave (p. 153), ac-
Steer (p. 174), acTransform_wave (p. 178), droptect_t (p. 288), gain::gain_if_t (p. 351),
example2_t (p. 307), doasvm_classification (p. 281), fftfilterbank::fftfb_interface_-
t(p. 329), wavrec_t (p. 954), route::interface_t (p. 896), ac2osc_t (p. 146), example1_t
(p. 304), altplugs_t (p. 215), acmon::acmon_t (p. 159), timoSmooth (p. 946), identity_t
(p. 360), ds_t (p. 291), and us_t (p. 948).
5.278.3.3 template<class runtime_cfg_t >void MHAPlugin::plugin_t<runtime_cfg_t >::prepare_ (
mhaconfig_t &cf )
5.278.3.4 template<class runtime_cfg_t >void MHAPlugin::plugin_t<runtime_cfg_t >::release_ (
)
5.278.3.5 template<class runtime_cfg_t>bool MHAPlugin::plugin_t<runtime_cfg_t
>::is_prepared ( ) const [inline]
Flag, if the prepare method is successfully called (or currently evaluated)
© 2005-2019 HörTech gGmbH, Oldenburg
732 CONTENTS
5.278.3.6 template<class runtime_cfg_t>mhaconfig_t MHAPlugin::plugin_t<runtime_cfg_t
>::input_cfg ( ) const [inline]
Current input channel configuration.
5.278.3.7 template<class runtime_cfg_t>mhaconfig_t MHAPlugin::plugin_t<runtime_cfg_t
>::output_cfg ( ) const [inline]
Current output channel configuration.
5.278.4 Member Data Documentation
5.278.4.1 template<class runtime_cfg_t>mhaconfig_t MHAPlugin::plugin_t<runtime_cfg_t
>::tftype [protected]
Member for storage of plugin interface configuration.
This member is defined for convenience of the developer. Typically, the actual contents of
mhaconfig_t (p. 504) are stored in this member in the prepare() (p. 730) method.
Note
This member is likely to be removed in later versions, use input_cfg() (p. 732) and
output_cfg() (p. 732) instead.
5.278.4.2 template<class runtime_cfg_t>algo_comm_t MHAPlugin::plugin_t<runtime_cfg_t
>::ac [protected]
AC handle of the chain.
This variable is initialized in the constructor and can be used by derived plugins to access the
AC space. Its contents should not be modified.
5.278.4.3 template<class runtime_cfg_t>bool MHAPlugin::plugin_t<runtime_cfg_t
>::is_prepared_ [private]
5.278.4.4 template<class runtime_cfg_t>mhaconfig_t MHAPlugin::plugin_t<runtime_cfg_t
>::input_cfg_ [private]
5.278.4.5 template<class runtime_cfg_t>mhaconfig_t MHAPlugin::plugin_t<runtime_cfg_t
>::output_cfg_ [private]
5.278.4.6 template<class runtime_cfg_t>MHAParser::mhaconfig_mon_t
MHAPlugin::plugin_t<runtime_cfg_t >::mhaconfig_in [private]
5.278.4.7 template<class runtime_cfg_t>MHAParser::mhaconfig_mon_t
MHAPlugin::plugin_t<runtime_cfg_t >::mhaconfig_out [private]
The documentation for this class was generated from the following file:
mha_plugin.hh
© 2005-2019 HörTech gGmbH, Oldenburg
5.279 MHAPlugin_Resampling::resampling_if_t Class Reference733
5.279 MHAPlugin_Resampling::resampling_if_t Class Reference
Inheritance diagram for MHAPlugin_Resampling::resampling_if_t:
MHAPlugin_Resampling
::resampling_if_t
MHAPlugin::plugin_t
< resampling_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< resampling_t >
Public Member Functions
resampling_if_t (algo_comm_t, std::string, std::string)
mha_wave_t process (mha_wave_t )
void prepare (mhaconfig_t &)
void release ()
Private Attributes
MHAParser::float_t srate
MHAParser::int_t fragsize
MHAParser::float_t nyquist_ratio
MHAParser::float_t irslen_outer2inner
MHAParser::float_t irslen_inner2outer
MHAParser::mhapluginloader_t plugloader
std::string chain
std::string algo
© 2005-2019 HörTech gGmbH, Oldenburg
734 CONTENTS
Additional Inherited Members
5.279.1 Constructor & Destructor Documentation
5.279.1.1 MHAPlugin_Resampling::resampling_if_t::resampling_if_t (
algo_comm_t iac,
std::string th,
std::string al )
5.279.2 Member Function Documentation
5.279.2.1 mha_wave_t MHAPlugin_Resampling::resampling_if_t::process (
mha_wave_t s)
5.279.2.2 void MHAPlugin_Resampling::resampling_if_t::prepare (
mhaconfig_t &conf )[virtual]
Implements MHAPlugin::plugin_t<resampling_t >(p. 730).
5.279.2.3 void MHAPlugin_Resampling::resampling_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<resampling_t >(p. 731).
5.279.3 Member Data Documentation
5.279.3.1 MHAParser::float_t MHAPlugin_Resampling::resampling_if_t::srate [private]
5.279.3.2 MHAParser::int_t MHAPlugin_Resampling::resampling_if_t::fragsize [private]
5.279.3.3 MHAParser::float_t MHAPlugin_Resampling::resampling_if_t::nyquist_ratio
[private]
5.279.3.4 MHAParser::float_t MHAPlugin_Resampling::resampling_if_t::irslen_outer2inner
[private]
5.279.3.5 MHAParser::float_t MHAPlugin_Resampling::resampling_if_t::irslen_inner2outer
[private]
5.279.3.6 MHAParser::mhapluginloader_t MHAPlugin_Resampling::resampling_if_t::plugloader
[private]
5.279.3.7 std::string MHAPlugin_Resampling::resampling_if_t::chain [private]
5.279.3.8 std::string MHAPlugin_Resampling::resampling_if_t::algo [private]
The documentation for this class was generated from the following file:
resampling.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.280 MHAPlugin_Resampling::resampling_t Class Reference 735
5.280 MHAPlugin_Resampling::resampling_t Class Reference
Public Member Functions
resampling_t (unsigned int outer_fragsize, float outer_srate, unsigned int inner_-
fragsize, float inner_scrate, unsigned int nch_in, float filter_length_in, unsigned int nch-
_out, float filter_length_out, float nyquist_ratio, MHAParser::mhapluginloader_t &plug)
mha_wave_t process (mha_wave_t )
Private Attributes
unsigned outer_fragsize
unsigned inner_fragsize
float outer_srate
float inner_srate
unsigned nchannels_in
unsigned nchannels_out
MHAFilter::blockprocessing_polyphase_resampling_t outer2inner_resampling
MHAFilter::blockprocessing_polyphase_resampling_t inner2outer_resampling
MHAParser::mhapluginloader_t &plugloader
MHASignal::waveform_t inner_signal
MHASignal::waveform_t output_signal
5.280.1 Constructor & Destructor Documentation
5.280.1.1 MHAPlugin_Resampling::resampling_t::resampling_t (
unsigned int outer_fragsize,
float outer_srate,
unsigned int inner_fragsize,
float inner_scrate,
unsigned int nch_in,
float filter_length_in,
unsigned int nch_out,
float filter_length_out,
float nyquist_ratio,
MHAParser::mhapluginloader_t &plug )
5.280.2 Member Function Documentation
5.280.2.1 mha_wave_t MHAPlugin_Resampling::resampling_t::process (
mha_wave_t s)
5.280.3 Member Data Documentation
© 2005-2019 HörTech gGmbH, Oldenburg
736 CONTENTS
5.280.3.1 unsigned MHAPlugin_Resampling::resampling_t::outer_fragsize [private]
5.280.3.2 unsigned MHAPlugin_Resampling::resampling_t::inner_fragsize [private]
5.280.3.3 float MHAPlugin_Resampling::resampling_t::outer_srate [private]
5.280.3.4 float MHAPlugin_Resampling::resampling_t::inner_srate [private]
5.280.3.5 unsigned MHAPlugin_Resampling::resampling_t::nchannels_in [private]
5.280.3.6 unsigned MHAPlugin_Resampling::resampling_t::nchannels_out [private]
5.280.3.7 MHAFilter::blockprocessing_polyphase_resampling_t
MHAPlugin_Resampling::resampling_t::outer2inner_resampling [private]
5.280.3.8 MHAFilter::blockprocessing_polyphase_resampling_t
MHAPlugin_Resampling::resampling_t::inner2outer_resampling [private]
5.280.3.9 MHAParser::mhapluginloader_t& MHAPlugin_Resampling::resampling_t::plugloader
[private]
5.280.3.10 MHASignal::waveform_t MHAPlugin_Resampling::resampling_t::inner_signal
[private]
5.280.3.11 MHASignal::waveform_t MHAPlugin_Resampling::resampling_t::output_signal
[private]
The documentation for this class was generated from the following file:
resampling.cpp
5.281 MHAPlugin_Split::domain_handler_t Class Reference
Handles domain-specific partial input and output signal.
Inheritance diagram for MHAPlugin_Split::domain_handler_t:
MHAPlugin_Split::domain
_handler_t
MHAPlugin_Split::uni
_processor_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.281 MHAPlugin_Split::domain_handler_t Class Reference 737
Public Member Functions
void set_input_domain (const mhaconfig_t &settings_in)
Set parameters of input signal.
void set_output_domain (const mhaconfig_t &settings_out)
Set output signal parameters.
void deallocate_domains ()
Deallocate domain indicators and signal holders.
domain_handler_t (const mhaconfig_t &settings_in, const mhaconfig_t &settings_out,
PluginLoader::fourway_processor_t processor)
Construct a new domain handler once the domains and dimensions of input and output signal
of one of the child plugins of split are known.
virtual domain_handler_t ()
Deallocation of signal holders.
unsigned put_signal (mha_wave_t s_in, unsigned start_channel)
Store the relevant channels from the input signal for processing.
unsigned put_signal (mha_spec_t s_in, unsigned start_channel)
Store the relevant channels from the input signal for processing.
unsigned get_signal (MHASignal::waveform_t s_out, unsigned start_channel)
Store all partial signal output channels in the combined waveform signal with the given channel
offset.
unsigned get_signal (MHASignal::spectrum_t s_out, unsigned start_channel)
Store all partial signal output channels in the combined spectrum signal with the given channel
offset.
void process ()
Call the processing method of the processor with configured input/output signal domains.
Public Attributes
MHASignal::waveform_t wave_in
Partial wave input signal.
mha_wave_t ∗∗ wave_out
Partial wave output signal.
MHASignal::spectrum_t spec_in
Partial spec input signal.
mha_spec_t ∗∗ spec_out
Partial spec input signal.
PluginLoader::fourway_processor_t processor
The domain-specific signal processing methods are implemented here.
Private Member Functions
domain_handler_t (const domain_handler_t &)
Disallow copy constructor.
domain_handler_t &operator= (const domain_handler_t &)
Disallow assignment operator.
© 2005-2019 HörTech gGmbH, Oldenburg
738 CONTENTS
5.281.1 Detailed Description
Handles domain-specific partial input and output signal.
5.281.2 Constructor & Destructor Documentation
5.281.2.1 MHAPlugin_Split::domain_handler_t::domain_handler_t (
const domain_handler_t & ) [private]
Disallow copy constructor.
5.281.2.2 MHAPlugin_Split::domain_handler_t::domain_handler_t (
const mhaconfig_t &settings_in,
const mhaconfig_t &settings_out,
PluginLoader::fourway_processor_t processor )[inline]
Construct a new domain handler once the domains and dimensions of input and output signal
of one of the child plugins of split are known.
5.281.2.3 virtual MHAPlugin_Split::domain_handler_t::domain_handler_t ( ) [inline],
[virtual]
Deallocation of signal holders.
5.281.3 Member Function Documentation
5.281.3.1 domain_handler_t& MHAPlugin_Split::domain_handler_t::operator= (
const domain_handler_t & ) [private]
Disallow assignment operator.
5.281.3.2 void MHAPlugin_Split::domain_handler_t::set_input_domain (
const mhaconfig_t &settings_in )[inline]
Set parameters of input signal.
Parameters
settings-
_in
domain and dimensions of partial input signal
© 2005-2019 HörTech gGmbH, Oldenburg
5.281 MHAPlugin_Split::domain_handler_t Class Reference 739
5.281.3.3 void MHAPlugin_Split::domain_handler_t::set_output_domain (
const mhaconfig_t &settings_out )[inline]
Set output signal parameters.
Parameters
settings_out domain and dimensions of partial output signal
5.281.3.4 void MHAPlugin_Split::domain_handler_t::deallocate_domains ( ) [inline]
Deallocate domain indicators and signal holders.
5.281.3.5 unsigned MHAPlugin_Split::domain_handler_t::put_signal (
mha_wave_t s_in,
unsigned start_channel )[inline]
Store the relevant channels from the input signal for processing.
The number of channels to store is taken from the dimensions of the partial input signal holder
wave_in (p. 741).
Parameters
s_in The combined waveform input signal.
start_channel The index (0-based) of the first channel in s_in to be copied to the partial
input signal.
Returns
The number of channels that were copied from the input signal
5.281.3.6 unsigned MHAPlugin_Split::domain_handler_t::put_signal (
mha_spec_t s_in,
unsigned start_channel )[inline]
Store the relevant channels from the input signal for processing.
The number of channels to store is taken from the dimensions of the partial input signal holder
spec_in (p. 741).
Parameters
s_in The combined spectrum input signal.
start_channel The index (0-based) of the first channel in s_in to be copied to the partial
input signal.
© 2005-2019 HörTech gGmbH, Oldenburg
740 CONTENTS
Returns
The number of channels that were copied from the input signal
5.281.3.7 unsigned MHAPlugin_Split::domain_handler_t::get_signal (
MHASignal::waveform_t s_out,
unsigned start_channel )[inline]
Store all partial signal output channels in the combined waveform signal with the given channel
offset.
All channels present in wave_out (p. 741) will be copied. Caller may use (wave_out)->num-
_channels to check the number of channels in advance.
Parameters
s_out The combined waveform output signal.
start_channel The channel offset (0-based) in s_out.
Returns
The number of channels that were copied to the output signal
5.281.3.8 unsigned MHAPlugin_Split::domain_handler_t::get_signal (
MHASignal::spectrum_t s_out,
unsigned start_channel )[inline]
Store all partial signal output channels in the combined spectrum signal with the given channel
offset.
All channels present in spec_out (p. 741) will be copied. Caller may use (spec_out)->num-
_channels to check the number of channels in advance.
Parameters
s_out The combined spectrum output signal.
start_channel The channel offset (0-based) in s_out.
Returns
The number of channels that were copied to the output signal
5.281.3.9 void MHAPlugin_Split::domain_handler_t::process (
void ) [inline],[virtual]
Call the processing method of the processor with configured input/output signal domains.
© 2005-2019 HörTech gGmbH, Oldenburg
5.282 MHAPlugin_Split::dummy_threads_t Class Reference 741
The input signal has to be stored using put_signal (p. 739) before this method may be called.
Implements MHAPlugin_Split::uni_processor_t (p. 760).
5.281.4 Member Data Documentation
5.281.4.1 MHASignal::waveform_tMHAPlugin_Split::domain_handler_t::wave_in
Partial wave input signal.
5.281.4.2 mha_wave_t∗∗ MHAPlugin_Split::domain_handler_t::wave_out
Partial wave output signal.
5.281.4.3 MHASignal::spectrum_tMHAPlugin_Split::domain_handler_t::spec_in
Partial spec input signal.
5.281.4.4 mha_spec_t∗∗ MHAPlugin_Split::domain_handler_t::spec_out
Partial spec input signal.
5.281.4.5 PluginLoader::fourway_processor_tMHAPlugin_Split::domain_handler_t::processor
The domain-specific signal processing methods are implemented here.
The documentation for this class was generated from the following file:
split.cpp
5.282 MHAPlugin_Split::dummy_threads_t Class Reference
Dummy specification of a thread platform: This class implements everything in a single thread.
Inheritance diagram for MHAPlugin_Split::dummy_threads_t:
MHAPlugin_Split::dummy
_threads_t
MHAPlugin_Split::thread
_platform_t
© 2005-2019 HörTech gGmbH, Oldenburg
742 CONTENTS
Public Member Functions
void kick_thread ()
perform signal processing immediately (no multiple threads in this dummy class)
void catch_thread ()
No implementation needed: Processing has been completed during ummy_threads_t::kick_-
thread.
dummy_threads_t (uni_processor_t proc, const std::string &thread_scheduler, int
thread_priority)
Constructor.
Additional Inherited Members
5.282.1 Detailed Description
Dummy specification of a thread platform: This class implements everything in a single thread.
5.282.2 Constructor & Destructor Documentation
5.282.2.1 MHAPlugin_Split::dummy_threads_t::dummy_threads_t (
uni_processor_t proc,
const std::string & thread_scheduler,
int thread_priority )[inline]
Constructor.
Parameters
proc Pointer to the associated plugin loader
thread_scheduler Unused in dummy thread platform
thread_priority Unused in dummy thread platform
5.282.3 Member Function Documentation
5.282.3.1 void MHAPlugin_Split::dummy_threads_t::kick_thread ( ) [inline],[virtual]
perform signal processing immediately (no multiple threads in this dummy class)
Implements MHAPlugin_Split::thread_platform_t (p. 758).
© 2005-2019 HörTech gGmbH, Oldenburg
5.283 MHAPlugin_Split::posix_threads_t Class Reference 743
5.282.3.2 void MHAPlugin_Split::dummy_threads_t::catch_thread ( ) [inline],[virtual]
No implementation needed: Processing has been completed during ummy_threads_t::kick_-
thread.
Implements MHAPlugin_Split::thread_platform_t (p. 758).
The documentation for this class was generated from the following file:
split.cpp
5.283 MHAPlugin_Split::posix_threads_t Class Reference
Posix threads specification of thread platform.
Inheritance diagram for MHAPlugin_Split::posix_threads_t:
MHAPlugin_Split::posix
_threads_t
MHAPlugin_Split::thread
_platform_t
Public Member Functions
void kick_thread ()
Start signal processing in separate thread.
void catch_thread ()
Wait for signal processing to finish.
posix_threads_t (uni_processor_t proc, const std::string &thread_scheduler, int
thread_priority)
Constructor.
posix_threads_t ()
Terminate thread.
void main ()
Thread main loop. Wait for process/termination trigger, then act.
© 2005-2019 HörTech gGmbH, Oldenburg
744 CONTENTS
Static Public Member Functions
static void thread_start (void thr)
Thread start function.
static std::string current_thread_scheduler ()
static int current_thread_priority ()
Private Attributes
pthread_mutex_t mutex
The mutex.
pthread_cond_t kick_condition
The condition for signalling the kicking and termination.
pthread_cond_t catch_condition
The condition for signalling the processing is finished.
pthread_attr_t attr
Thread attributes.
struct sched_param priority
Thread scheduling priority.
int scheduler
pthread_t thread
The thread object.
bool kicked
A flag that is set to true by kick_thread and to false by the thread after it has woken up from
the kicking.
bool processing_done
A flag that is set to true by the thread when it returns from processing and to false by catch_-
thread after it has waited for that return.
bool termination_request
Set to true by the destructor.
Additional Inherited Members
5.283.1 Detailed Description
Posix threads specification of thread platform.
5.283.2 Constructor & Destructor Documentation
5.283.2.1 MHAPlugin_Split::posix_threads_t::posix_threads_t (
uni_processor_t proc,
const std::string & thread_scheduler,
int thread_priority )[inline]
Constructor.
© 2005-2019 HörTech gGmbH, Oldenburg
5.283 MHAPlugin_Split::posix_threads_t Class Reference 745
Parameters
proc Pointer to the associated signal processor instance
thread_scheduler A string describing the posix thread scheduler. Possible values:
"SCHED_OTHER", "SCHED_RR", "SCHED_FIFO".
thread_priority The scheduling priority of the new thread.
5.283.2.2 MHAPlugin_Split::posix_threads_t::posix_threads_t ( ) [inline]
Terminate thread.
5.283.3 Member Function Documentation
5.283.3.1 void MHAPlugin_Split::posix_threads_t::kick_thread ( ) [inline],[virtual]
Start signal processing in separate thread.
Implements MHAPlugin_Split::thread_platform_t (p. 758).
5.283.3.2 void MHAPlugin_Split::posix_threads_t::catch_thread ( ) [inline],[virtual]
Wait for signal processing to finish.
Implements MHAPlugin_Split::thread_platform_t (p. 758).
5.283.3.3 static voidMHAPlugin_Split::posix_threads_t::thread_start (
void thr )[inline],[static]
Thread start function.
5.283.3.4 void MHAPlugin_Split::posix_threads_t::main ( ) [inline]
Thread main loop. Wait for process/termination trigger, then act.
5.283.3.5 static std::string MHAPlugin_Split::posix_threads_t::current_thread_scheduler ( )
[inline],[static]
5.283.3.6 static int MHAPlugin_Split::posix_threads_t::current_thread_priority ( ) [inline],
[static]
5.283.4 Member Data Documentation
5.283.4.1 pthread_mutex_t MHAPlugin_Split::posix_threads_t::mutex [private]
The mutex.
© 2005-2019 HörTech gGmbH, Oldenburg
746 CONTENTS
5.283.4.2 pthread_cond_t MHAPlugin_Split::posix_threads_t::kick_condition [private]
The condition for signalling the kicking and termination.
5.283.4.3 pthread_cond_t MHAPlugin_Split::posix_threads_t::catch_condition [private]
The condition for signalling the processing is finished.
5.283.4.4 pthread_attr_t MHAPlugin_Split::posix_threads_t::attr [private]
Thread attributes.
5.283.4.5 struct sched_param MHAPlugin_Split::posix_threads_t::priority [private]
Thread scheduling priority.
5.283.4.6 int MHAPlugin_Split::posix_threads_t::scheduler [private]
5.283.4.7 pthread_t MHAPlugin_Split::posix_threads_t::thread [private]
The thread object.
5.283.4.8 bool MHAPlugin_Split::posix_threads_t::kicked [private]
A flag that is set to true by kick_thread and to false by the thread after it has woken up from the
kicking.
5.283.4.9 bool MHAPlugin_Split::posix_threads_t::processing_done [private]
A flag that is set to true by the thread when it returns from processing and to false by catch_-
thread after it has waited for that return.
5.283.4.10 bool MHAPlugin_Split::posix_threads_t::termination_request [private]
Set to true by the destructor.
The documentation for this class was generated from the following file:
split.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.284 MHAPlugin_Split::split_t Class Reference 747
5.284 MHAPlugin_Split::split_t Class Reference
Implements split plugin.
Inheritance diagram for MHAPlugin_Split::split_t:
MHAPlugin_Split::split_t
MHAParser::parser_t
MHAParser::base_t
Public Member Functions
split_t (algo_comm_t iac, const std::string &chain_name, const std::string &algo_name)
Plugin constructor.
split_t ()
Plugin destructor. Unloads nested plugins.
void prepare_ (mhaconfig_t &)
Check signal parameters, prepare chains, and allocate output signal holders.
void release_ ()
Delete output signal holder and release chains.
template<class SigTypeIn , class SigTypeOut >
void process (SigTypeIn , SigTypeOut ∗∗)
Let the parallel plugins process channel groups of the input signal.
Private Member Functions
void update ()
Load plugins in response to a value change in the algos variable.
void clear_chains ()
Unload the plugins.
mha_wave_t copy_output_wave ()
mha_spec_t copy_output_spec ()
© 2005-2019 HörTech gGmbH, Oldenburg
748 CONTENTS
template<class SigType >
void trigger_processing (SigType s_in)
Split the argument input signal to groups of channels for the plugins and initiate signal process-
ing.
template<class SigType >
void collect_result (SigType s_out)
Combine the output signal from the plugins.
MHASignal::waveform_t signal_out (mha_wave_t ∗∗)
Waveform domain output signal structure accessor.
MHASignal::spectrum_t signal_out (mha_spec_t ∗∗)
Spectrum domain output signal structure. Parameter is ignored.
Private Attributes
MHAEvents::patchbay_t<split_t >patchbay
Reload plugins when the algos variable changes.
MHAParser::vstring_t algos
Vector of plugins to load in parallel.
MHAParser::vint_t channels
Number of channels to route through each plugin.
MHAParser::kw_t thread_platform
Thread platform chooser.
MHAParser::kw_t worker_thread_scheduler
Scheduler used for worker threads.
MHAParser::int_t worker_thread_priority
Priority of worker threads.
MHAParser::string_mon_t framework_thread_scheduler
Scheduler of the signal processing thread.
MHAParser::int_mon_t framework_thread_priority
Priority of signal processing thread.
MHAParser::bool_t delay
Switch to activate parallel processing of plugins at the cost of one block of additional delay.
• std::vector<splitted_part_t >chains
Interfaces to parallel plugins.
MHASignal::waveform_t wave_out
Combined output waveforms structure.
MHASignal::spectrum_t spec_out
Combined output spectra structure.
Additional Inherited Members
5.284.1 Detailed Description
Implements split plugin.
An instance of class split_t (p. 747) implements the split plugin functionality: The audio chan-
nels are splitted and groups of audio channels are processed by different plugins in parallel.
© 2005-2019 HörTech gGmbH, Oldenburg
5.284 MHAPlugin_Split::split_t Class Reference 749
5.284.2 Constructor & Destructor Documentation
5.284.2.1 MHAPlugin_Split::split_t::split_t (
algo_comm_t iac,
const std::string & chain_name,
const std::string & algo_name )
Plugin constructor.
5.284.2.2 MHAPlugin_Split::split_t::split_t ( )
Plugin destructor. Unloads nested plugins.
5.284.3 Member Function Documentation
5.284.3.1 void MHAPlugin_Split::split_t::prepare_ (
mhaconfig_t &signal_parameters )
Check signal parameters, prepare chains, and allocate output signal holders.
5.284.3.2 void MHAPlugin_Split::split_t::release_ ( )
Delete output signal holder and release chains.
5.284.3.3 template<class SigTypeIn , class SigTypeOut >void MHAPlugin_Split::split_t::process (
SigTypeIn s_in,
SigTypeOut ∗∗ s_out )
Let the parallel plugins process channel groups of the input signal.
5.284.3.4 void MHAPlugin_Split::split_t::update ( ) [private]
Load plugins in response to a value change in the algos variable.
5.284.3.5 void MHAPlugin_Split::split_t::clear_chains ( ) [private]
Unload the plugins.
5.284.3.6 mha_wave_tMHAPlugin_Split::split_t::copy_output_wave ( ) [private]
5.284.3.7 mha_spec_tMHAPlugin_Split::split_t::copy_output_spec ( ) [private]
5.284.3.8 template<class SigType >void MHAPlugin_Split::split_t::trigger_processing (
SigType s_in )[private]
Split the argument input signal to groups of channels for the plugins and initiate signal process-
ing.
© 2005-2019 HörTech gGmbH, Oldenburg
750 CONTENTS
5.284.3.9 template<class SigType >void MHAPlugin_Split::split_t::collect_result (
SigType s_out )[private]
Combine the output signal from the plugins.
5.284.3.10 MHASignal::waveform_tMHAPlugin_Split::split_t::signal_out (
mha_wave_t ∗∗ )[inline],[private]
Waveform domain output signal structure accessor.
Parameter is only for domain disambiguation and is ignored.
5.284.3.11 MHASignal::spectrum_tMHAPlugin_Split::split_t::signal_out (
mha_spec_t ∗∗ )[inline],[private]
Spectrum domain output signal structure. Parameter is ignored.
5.284.4 Member Data Documentation
5.284.4.1 MHAEvents::patchbay_t<split_t>MHAPlugin_Split::split_t::patchbay [private]
Reload plugins when the algos variable changes.
5.284.4.2 MHAParser::vstring_t MHAPlugin_Split::split_t::algos [private]
Vector of plugins to load in parallel.
5.284.4.3 MHAParser::vint_t MHAPlugin_Split::split_t::channels [private]
Number of channels to route through each plugin.
5.284.4.4 MHAParser::kw_t MHAPlugin_Split::split_t::thread_platform [private]
Thread platform chooser.
5.284.4.5 MHAParser::kw_t MHAPlugin_Split::split_t::worker_thread_scheduler [private]
Scheduler used for worker threads.
5.284.4.6 MHAParser::int_t MHAPlugin_Split::split_t::worker_thread_priority [private]
Priority of worker threads.
© 2005-2019 HörTech gGmbH, Oldenburg
5.285 MHAPlugin_Split::splitted_part_t Class Reference 751
5.284.4.7 MHAParser::string_mon_t MHAPlugin_Split::split_t::framework_thread_scheduler
[private]
Scheduler of the signal processing thread.
5.284.4.8 MHAParser::int_mon_t MHAPlugin_Split::split_t::framework_thread_priority
[private]
Priority of signal processing thread.
5.284.4.9 MHAParser::bool_t MHAPlugin_Split::split_t::delay [private]
Switch to activate parallel processing of plugins at the cost of one block of additional delay.
5.284.4.10 std::vector<splitted_part_t>MHAPlugin_Split::split_t::chains [private]
Interfaces to parallel plugins.
5.284.4.11 MHASignal::waveform_tMHAPlugin_Split::split_t::wave_out [private]
Combined output waveforms structure.
5.284.4.12 MHASignal::spectrum_tMHAPlugin_Split::split_t::spec_out [private]
Combined output spectra structure.
The documentation for this class was generated from the following file:
split.cpp
5.285 MHAPlugin_Split::splitted_part_t Class Reference
The splitted_part_t (p. 751) instance manages the plugin that performs processing on the
reduced set of channels.
Inheritance diagram for MHAPlugin_Split::splitted_part_t:
MHAPlugin_Split::splitted
_part_t
MHAKernel::algo_comm
_class_t
© 2005-2019 HörTech gGmbH, Oldenburg
752 CONTENTS
Public Member Functions
splitted_part_t (const std::string &plugname, MHAParser::parser_t parent)
Load the plugin for this partial signal path.
splitted_part_t (PluginLoader::fourway_processor_t plugin)
Create the handler for the partial signal.
splitted_part_t () throw ()
Destructor. Deletes the plugin plug (p. 755).
• void prepare (mhaconfig_t &signal_parameters, const std::string &thread_platform,
const std::string &thread_scheduler, int thread_priority)
Delegates the prepare method to the plugin and allocates a suitable MHAPlugin_Split-
::domain_handler_t (p. 736) instance.
void release ()
Delegates the release method to the plugin and deletes the MHAPlugin_Split::domain_-
handler_t (p. 736) instance.
std::string parse (const std::string &str)
Delegates parser incovation to plugin.
template<class SigType >
unsigned trigger_processing (SigType s_in, unsigned start_channel)
The domain handler copies the input signal channels.
template<class SigType >
unsigned collect_result (SigType s_out, unsigned start_channel)
Wait until processing is finished, then copy the output data.
Private Member Functions
splitted_part_t (const splitted_part_t &)
Disallow copy constructor.
splitted_part_t &operator= (const splitted_part_t &)
Disallow assignment operator.
Private Attributes
PluginLoader::fourway_processor_t plug
The plugin that performs the signal processing on the prepared channels.
domain_handler_t domain
The domain specific signal handler, allocated from prepare when input and output domains
and signal parameters are known.
thread_platform_t thread
The platform-dependent thread synchronization implementation.
© 2005-2019 HörTech gGmbH, Oldenburg
5.285 MHAPlugin_Split::splitted_part_t Class Reference 753
Additional Inherited Members
5.285.1 Detailed Description
The splitted_part_t (p. 751) instance manages the plugin that performs processing on the
reduced set of channels.
The signal is split by channels by this instance, but the signal is combined again by the calling
class.
5.285.2 Constructor & Destructor Documentation
5.285.2.1 MHAPlugin_Split::splitted_part_t::splitted_part_t (
const splitted_part_t & ) [private]
Disallow copy constructor.
5.285.2.2 MHAPlugin_Split::splitted_part_t::splitted_part_t (
const std::string & plugname,
MHAParser::parser_t parent )
Load the plugin for this partial signal path.
Loads the MHA plugin for a signal path of these audio channels.
Parameters
plugname The name of the MHA plugin, optionally followed by a colon and the algorithm
name.
parent The parser node where the configuration of the new plugin is inserted. The
plugin's parser name is the configured name (colon syntax).
5.285.2.3 MHAPlugin_Split::splitted_part_t::splitted_part_t (
PluginLoader::fourway_processor_t plugin )
Create the handler for the partial signal.
The plugin is loaded by the caller, but it will be deleted by the destructor of this class. This
constructor exists solely for testing purposes.
Parameters
plugin The plugin used for processing the signal. The new splitted_part_t (p. 753)
instance will take ownership of this instance and release it in the destructor.
© 2005-2019 HörTech gGmbH, Oldenburg
754 CONTENTS
5.285.2.4 MHAPlugin_Split::splitted_part_t::splitted_part_t ( ) throw )
Destructor. Deletes the plugin plug (p. 755).
5.285.3 Member Function Documentation
5.285.3.1 splitted_part_t& MHAPlugin_Split::splitted_part_t::operator= (
const splitted_part_t & ) [private]
Disallow assignment operator.
5.285.3.2 void MHAPlugin_Split::splitted_part_t::prepare (
mhaconfig_t &signal_parameters,
const std::string & thread_platform,
const std::string & thread_scheduler,
int thread_priority )
Delegates the prepare method to the plugin and allocates a suitable MHAPlugin_Split-
::domain_handler_t (p. 736) instance.
Prepare the loaded plugin.
Plugin preparation.
Parameters
signal_parameters The signal description parameters for this path.
thread_platform The name of the thread platform to use. Possible values: "posix",
"win32", "dummy".
thread_scheduler The name of the scheduler to use. Posix threads support
"SCHED_OTHER", "SCHED_RR", "SCHED_FIFO". The other thread
platforms do not support different thread schedulers. This value is not
used for platforms other than "posix".
thread_priority The new thread priority. Interpretation and permitted range depend on
the thread platform and possibly on the scheduler.
5.285.3.3 void MHAPlugin_Split::splitted_part_t::release (
void )
Delegates the release method to the plugin and deletes the MHAPlugin_Split::domain_-
handler_t (p. 736) instance.
Release the loaded plugin.
Plugin release.
© 2005-2019 HörTech gGmbH, Oldenburg
5.285 MHAPlugin_Split::splitted_part_t Class Reference 755
5.285.3.4 std::string MHAPlugin_Split::splitted_part_t::parse (
const std::string & str )[inline]
Delegates parser incovation to plugin.
5.285.3.5 template<class SigType >unsigned MHAPlugin_Split::splitted_part_t::trigger_processing (
SigType s_in,
unsigned start_channel )[inline]
The domain handler copies the input signal channels.
Then, processing is initiated.
Parameters
s_in The combined input signal.
start_channel The index (0-based) of the first channel in s_in to be copied to the partial
input signal.
Returns
The number of channels that were copied from the input signal
5.285.3.6 template<class SigType >unsigned MHAPlugin_Split::splitted_part_t::collect_result (
SigType s_out,
unsigned start_channel )[inline]
Wait until processing is finished, then copy the output data.
Parameters
s_out The combined waveform output signal.
start_channel The channel offset (0-based) in s_out.
Returns
The number of channels that were copied to the output signal
5.285.4 Member Data Documentation
5.285.4.1 PluginLoader::fourway_processor_tMHAPlugin_Split::splitted_part_t::plug
[private]
The plugin that performs the signal processing on the prepared channels.
© 2005-2019 HörTech gGmbH, Oldenburg
756 CONTENTS
5.285.4.2 domain_handler_tMHAPlugin_Split::splitted_part_t::domain [private]
The domain specific signal handler, allocated from prepare when input and output domains and
signal parameters are known.
5.285.4.3 thread_platform_tMHAPlugin_Split::splitted_part_t::thread [private]
The platform-dependent thread synchronization implementation.
The documentation for this class was generated from the following file:
split.cpp
5.286 MHAPlugin_Split::thread_platform_t Class Reference
Basic interface for encapsulating thread creation, thread priority setting, and synchronization
on any threading platform (i.e., pthreads or win32threads).
Inheritance diagram for MHAPlugin_Split::thread_platform_t:
MHAPlugin_Split::thread
_platform_t
MHAPlugin_Split::dummy
_threads_t MHAPlugin_Split::posix
_threads_t
Public Member Functions
thread_platform_t (uni_processor_t proc)
Constructor.
virtual thread_platform_t ()
Make derived classes destructable via pointer to this base class.
virtual void kick_thread ()=0
Derived classes notify their processing thread that it should call processor->process().
virtual void catch_thread ()=0
Derived classes wait for their signal processing thread to return from the call to part-
>process().
© 2005-2019 HörTech gGmbH, Oldenburg
5.286 MHAPlugin_Split::thread_platform_t Class Reference 757
Protected Attributes
uni_processor_t processor
A pointer to the plugin loader that processes the sound data in the channels for which this
thread was created.
Private Member Functions
thread_platform_t (const thread_platform_t &)
Disallow copy constructor.
thread_platform_t &operator= (const thread_platform_t &)
Disallow assignment operator.
5.286.1 Detailed Description
Basic interface for encapsulating thread creation, thread priority setting, and synchronization
on any threading platform (i.e., pthreads or win32threads).
Derived classes specialize in the actual thread platform.
5.286.2 Constructor & Destructor Documentation
5.286.2.1 MHAPlugin_Split::thread_platform_t::thread_platform_t (
const thread_platform_t & ) [private]
Disallow copy constructor.
5.286.2.2 MHAPlugin_Split::thread_platform_t::thread_platform_t (
uni_processor_t proc )[inline]
Constructor.
Derived classes create the thread in the constructor.
Parameters
proc Pointer to the associated plugin loader. This plugin loader has to live at least as long
as this instance. This instance does not take possession of the plugin loader. In
production code, this thread platform and the plugin loader are both created and
destroyed by the MHAPlugin_Split::splitted_part_t (p. 751) instance.
© 2005-2019 HörTech gGmbH, Oldenburg
758 CONTENTS
5.286.2.3 virtual MHAPlugin_Split::thread_platform_t::thread_platform_t ( ) [inline],
[virtual]
Make derived classes destructable via pointer to this base class.
Derived classes' destructors notify the thread that it should terminate itself, and wait for the
termination to occur.
5.286.3 Member Function Documentation
5.286.3.1 thread_platform_t& MHAPlugin_Split::thread_platform_t::operator= (
const thread_platform_t & ) [private]
Disallow assignment operator.
5.286.3.2 virtual void MHAPlugin_Split::thread_platform_t::kick_thread ( ) [pure virtual]
Derived classes notify their processing thread that it should call processor->process().
Implemented in MHAPlugin_Split::posix_threads_t (p. 745), and MHAPlugin_Split-
::dummy_threads_t (p. 742).
5.286.3.3 virtual void MHAPlugin_Split::thread_platform_t::catch_thread ( ) [pure virtual]
Derived classes wait for their signal processing thread to return from the call to part->process().
Implemented in MHAPlugin_Split::posix_threads_t (p. 745), and MHAPlugin_Split-
::dummy_threads_t (p. 743).
5.286.4 Member Data Documentation
5.286.4.1 uni_processor_tMHAPlugin_Split::thread_platform_t::processor [protected]
A pointer to the plugin loader that processes the sound data in the channels for which this
thread was created.
Using the MHAPlugin_Split::uni_processor_t (p. 759) interface instead of the mhaplugin-
loader class directly for testability (no need to load real plugins for testing the thread platform).
The documentation for this class was generated from the following file:
split.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.287 MHAPlugin_Split::uni_processor_t Class Reference 759
5.287 MHAPlugin_Split::uni_processor_t Class Reference
An interface to a class that sports a process method with no parameters and no return value.
Inheritance diagram for MHAPlugin_Split::uni_processor_t:
MHAPlugin_Split::uni
_processor_t
MHAPlugin_Split::domain
_handler_t
Public Member Functions
virtual void process ()=0
This method uses some input signal, performs processing and stores the output signal some-
where.
virtual uni_processor_t ()
Classes containing virtual methods need virtual destructors.
5.287.1 Detailed Description
An interface to a class that sports a process method with no parameters and no return value.
No signal transfer occurs through this interface, because the signal transfer is performed in
another thread than the processing.
5.287.2 Constructor & Destructor Documentation
5.287.2.1 virtual MHAPlugin_Split::uni_processor_t::uni_processor_t ( ) [inline],[virtual]
Classes containing virtual methods need virtual destructors.
© 2005-2019 HörTech gGmbH, Oldenburg
760 CONTENTS
5.287.3 Member Function Documentation
5.287.3.1 virtual void MHAPlugin_Split::uni_processor_t::process ( ) [pure virtual]
This method uses some input signal, performs processing and stores the output signal some-
where.
This method also has to dispatch the process call based on the configured domains.
Signal transfer and domain configuration have to be done in derived class in different methods.
Implemented in MHAPlugin_Split::domain_handler_t (p. 740).
The documentation for this class was generated from the following file:
split.cpp
5.288 mhaserver_t Class Reference
MHA Framework listening on TCP port for commands.
Inheritance diagram for mhaserver_t:
mhaserver_t
fw_t
MHAParser::parser_t
MHAParser::base_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.288 mhaserver_t Class Reference 761
Public Member Functions
mhaserver_t (const std::string &ao, const std::string &af, const std::string &lf)
mhaserver_t ()
virtual std::string received_group (const std::string &line)
A line of text was received from network client.
virtual void acceptor_started (int status)
Notification: "TCP port is open".
virtual void set_announce_port (unsigned short announce_port)
If set to nonzero, the spawning process has asked to be notified of the TCP port used by this
process.
void logstring (const std::string &)
Log a message to log file.
int run (unsigned short port, const std::string &_interface)
Accept network connections and act on commands.
Public Attributes
MHAParser::int_t port
Private Attributes
MHA_TCP::Server tcpserver
std::string ack_ok
std::string ack_fail
std::string logfile
unsigned short announce_port
MHAParser::int_mon_t pid_mon
Additional Inherited Members
5.288.1 Detailed Description
MHA Framework listening on TCP port for commands.
5.288.2 Constructor & Destructor Documentation
5.288.2.1 mhaserver_t::mhaserver_t (
const std::string & ao,
const std::string & af,
const std::string & lf )
© 2005-2019 HörTech gGmbH, Oldenburg
762 CONTENTS
Parameters
ao Acknowledgement string at end of successful command responses
af Achknoledgement string at end of failed command responses
lf File system path of file to use as log file. MHA appends.
5.288.2.2 mhaserver_t::mhaserver_t ( )
5.288.3 Member Function Documentation
5.288.3.1 std::string mhaserver_t::received_group (
const std::string & line )[virtual]
A line of text was received from network client.
5.288.3.2 void mhaserver_t::acceptor_started (
int status )[virtual]
Notification: "TCP port is open".
5.288.3.3 void mhaserver_t::set_announce_port (
unsigned short announce_port )[virtual]
If set to nonzero, the spawning process has asked to be notified of the TCP port used by this
process.
5.288.3.4 void mhaserver_t::logstring (
const std::string & s)[inline]
Log a message to log file.
5.288.3.5 int mhaserver_t::run (
unsigned short port,
const std::string & _interface )
Accept network connections and act on commands.
Calls acceptor_started() (p. 762) when the TCP port is opened. Calls received_group for every
line received.
Returns
exit code that can be used as process exit code
© 2005-2019 HörTech gGmbH, Oldenburg
5.289 MHASignal::async_rmslevel_t Class Reference 763
5.288.4 Member Data Documentation
5.288.4.1 MHA_TCP::Servermhaserver_t::tcpserver [private]
5.288.4.2 std::string mhaserver_t::ack_ok [private]
5.288.4.3 std::string mhaserver_t::ack_fail [private]
5.288.4.4 std::string mhaserver_t::logfile [private]
5.288.4.5 unsigned short mhaserver_t::announce_port [private]
5.288.4.6 MHAParser::int_mon_t mhaserver_t::pid_mon [private]
5.288.4.7 MHAParser::int_t mhaserver_t::port
The documentation for this class was generated from the following file:
mhamain.cpp
5.289 MHASignal::async_rmslevel_t Class Reference
Class for asynchronous level metering.
Inheritance diagram for MHASignal::async_rmslevel_t:
MHASignal::async_rmslevel_t
MHASignal::waveform_t
mha_wave_t
© 2005-2019 HörTech gGmbH, Oldenburg
764 CONTENTS
Public Member Functions
async_rmslevel_t (unsigned int frames, unsigned int channels)
Constructor for level metering class.
• std::vector<float >rmslevel () const
Read-only function for querying the current RMS level.
• std::vector<float >peaklevel () const
Read-only function for querying the current peak level.
void process (mha_wave_t s)
Function to store a chunk of audio in the level meter.
Private Attributes
unsigned int pos
unsigned int filled
Additional Inherited Members
5.289.1 Detailed Description
Class for asynchronous level metering.
5.289.2 Constructor & Destructor Documentation
5.289.2.1 MHASignal::async_rmslevel_t::async_rmslevel_t (
unsigned int frames,
unsigned int channels )
Constructor for level metering class.
Allocate memory for metering. The RMS integration time corresponds to the number of frames
in the buffer.
Parameters
frames Number of frames to integrate.
channels Number of channels used for level-metering.
5.289.3 Member Function Documentation
© 2005-2019 HörTech gGmbH, Oldenburg
5.290 MHASignal::delay_spec_t Class Reference 765
5.289.3.1 std::vector<float >MHASignal::async_rmslevel_t::rmslevel ( ) const
Read-only function for querying the current RMS level.
Returns
Vector of floats, one value for each channel, containing the RMS level in dB (SPL if cali-
brated properly).
5.289.3.2 std::vector<float >MHASignal::async_rmslevel_t::peaklevel ( ) const
Read-only function for querying the current peak level.
Returns
Vector of floats, one value for each channel, containing the peak level in dB (SPL if cali-
brated properly).
5.289.3.3 void MHASignal::async_rmslevel_t::process (
mha_wave_t s)
Function to store a chunk of audio in the level meter.
Parameters
sAudio chunk (same number of channels required as given in the constructor).
5.289.4 Member Data Documentation
5.289.4.1 unsigned int MHASignal::async_rmslevel_t::pos [private]
5.289.4.2 unsigned int MHASignal::async_rmslevel_t::filled [private]
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
5.290 MHASignal::delay_spec_t Class Reference
Public Member Functions
delay_spec_t (unsigned int delay, unsigned int frames, unsigned int channels)
delay_spec_t ()
mha_spec_t process (mha_spec_t )
© 2005-2019 HörTech gGmbH, Oldenburg
766 CONTENTS
Private Attributes
unsigned int delay
MHASignal::spectrum_t ∗∗ buffer
unsigned int pos
5.290.1 Constructor & Destructor Documentation
5.290.1.1 MHASignal::delay_spec_t::delay_spec_t (
unsigned int delay,
unsigned int frames,
unsigned int channels )
5.290.1.2 MHASignal::delay_spec_t::delay_spec_t ( )
5.290.2 Member Function Documentation
5.290.2.1 mha_spec_t MHASignal::delay_spec_t::process (
mha_spec_t s)
5.290.3 Member Data Documentation
5.290.3.1 unsigned int MHASignal::delay_spec_t::delay [private]
5.290.3.2 MHASignal::spectrum_t∗∗ MHASignal::delay_spec_t::buffer [private]
5.290.3.3 unsigned int MHASignal::delay_spec_t::pos [private]
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
5.291 MHASignal::delay_t Class Reference
Class to realize a simple delay of waveform streams.
Inheritance diagram for MHASignal::delay_t:
MHASignal::delay_t
delaysum::delaysum_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.291 MHASignal::delay_t Class Reference 767
Public Member Functions
delay_t (std::vector<int >delays, unsigned int channels)
Constructor.
mha_wave_t process (mha_wave_t s)
Processing method.
delay_t ()
std::string inspect () const
Private Attributes
unsigned int channels
unsigned int delays
unsigned int pos
mha_real_t ∗∗ buffer
5.291.1 Detailed Description
Class to realize a simple delay of waveform streams.
5.291.2 Constructor & Destructor Documentation
5.291.2.1 MHASignal::delay_t::delay_t (
std::vector<int >delays,
unsigned int channels )
Constructor.
Parameters
delays Vector of delays, one entry for each channel.
channels Number of channels expected.
5.291.2.2 MHASignal::delay_t::delay_t ( )
5.291.3 Member Function Documentation
5.291.3.1 mha_wave_t MHASignal::delay_t::process (
mha_wave_t s)
Processing method.
© 2005-2019 HörTech gGmbH, Oldenburg
768 CONTENTS
Parameters
sInput waveform fragment, with number of channels provided in constructor.
Returns
Output waveform fragment.
5.291.3.2 std::string MHASignal::delay_t::inspect ( ) const [inline]
5.291.4 Member Data Documentation
5.291.4.1 unsigned int MHASignal::delay_t::channels [private]
5.291.4.2 unsigned intMHASignal::delay_t::delays [private]
5.291.4.3 unsigned intMHASignal::delay_t::pos [private]
5.291.4.4 mha_real_t∗∗ MHASignal::delay_t::buffer [private]
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
5.292 MHASignal::delay_wave_t Class Reference
Delayline containing wave fragments.
Public Member Functions
delay_wave_t (unsigned int delay, unsigned int frames, unsigned int channels)
delay_wave_t ()
mha_wave_t process (mha_wave_t )
Private Attributes
unsigned int delay
MHASignal::waveform_t ∗∗ buffer
unsigned int pos
© 2005-2019 HörTech gGmbH, Oldenburg
5.293 MHASignal::doublebuffer_t Class Reference 769
5.292.1 Detailed Description
Delayline containing wave fragments.
The delayline contains waveform fragments. The delay can be configured in integer fragments
(sample delay or sub-sample delay is not possible).
5.292.2 Constructor & Destructor Documentation
5.292.2.1 MHASignal::delay_wave_t::delay_wave_t (
unsigned int delay,
unsigned int frames,
unsigned int channels )
5.292.2.2 MHASignal::delay_wave_t::delay_wave_t ( )
5.292.3 Member Function Documentation
5.292.3.1 mha_wave_t MHASignal::delay_wave_t::process (
mha_wave_t s)
5.292.4 Member Data Documentation
5.292.4.1 unsigned int MHASignal::delay_wave_t::delay [private]
5.292.4.2 MHASignal::waveform_t∗∗ MHASignal::delay_wave_t::buffer [private]
5.292.4.3 unsigned int MHASignal::delay_wave_t::pos [private]
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
5.293 MHASignal::doublebuffer_t Class Reference
Double-buffering class.
Inheritance diagram for MHASignal::doublebuffer_t:
MHASignal::doublebuffer_t
db_t
© 2005-2019 HörTech gGmbH, Oldenburg
770 CONTENTS
Public Member Functions
doublebuffer_t (unsigned int nchannels_in, unsigned int nchannels_out, unsigned int
outer_fragsize, unsigned int inner_fragsize)
Constructor of double buffer.
virtual doublebuffer_t ()
mha_wave_t outer_process (mha_wave_t s)
Method to pass audio fragments into the inner layer.
Protected Member Functions
virtual mha_wave_t inner_process (mha_wave_t s)=0
Method to realize inner processing callback.
Private Member Functions
unsigned int min (unsigned int a, unsigned int b)
Private Attributes
waveform_t outer_out
mha_wave_t this_outer_out
waveform_t inner_in
waveform_t inner_out
unsigned int k_inner
unsigned int k_outer
unsigned int ch
5.293.1 Detailed Description
Double-buffering class.
This class has two layers: The outer layer, with an outer fragment size, and an inner layer,
with its own fragment size. Data is passed into the inner layer through the doublebuffer_t-
::outr_process() callback. The pure virtual method doublebuffer_t::inner_process() (p. 771)
is called whenever enough data is available.
5.293.2 Constructor & Destructor Documentation
5.293.2.1 MHASignal::doublebuffer_t::doublebuffer_t (
unsigned int nchannels_in,
unsigned int nchannels_out,
unsigned int outer_fragsize,
unsigned int inner_fragsize )
Constructor of double buffer.
© 2005-2019 HörTech gGmbH, Oldenburg
5.293 MHASignal::doublebuffer_t Class Reference 771
Parameters
nchannels_in Number of channels at the input (both layers).
nchannels_out Number of channels at the output (both layers).
outer_fragsize Fragment size of the outer layer (e.g., hardware fragment size)
inner_fragsize Fragment size of the inner layer (e.g., software fragment size)
5.293.2.2 MHASignal::doublebuffer_t::doublebuffer_t ( ) [virtual]
5.293.3 Member Function Documentation
5.293.3.1 mha_wave_t MHASignal::doublebuffer_t::outer_process (
mha_wave_t s)
Method to pass audio fragments into the inner layer.
Parameters
sPointer to input waveform fragment.
Returns
Pointer to output waveform fragment.
5.293.3.2 virtual mha_wave_tMHASignal::doublebuffer_t::inner_process (
mha_wave_t s)[protected],[pure virtual]
Method to realize inner processing callback.
To be overwritten by derived classes.
Parameters
sPointer to input waveform fragment.
Returns
Pointer to output waveform fragment.
Implemented in db_t (p. 252).
© 2005-2019 HörTech gGmbH, Oldenburg
772 CONTENTS
5.293.3.3 unsigned int MHASignal::doublebuffer_t::min (
unsigned int a,
unsigned int b)[inline],[private]
5.293.4 Member Data Documentation
5.293.4.1 waveform_t MHASignal::doublebuffer_t::outer_out [private]
5.293.4.2 mha_wave_t MHASignal::doublebuffer_t::this_outer_out [private]
5.293.4.3 waveform_t MHASignal::doublebuffer_t::inner_in [private]
5.293.4.4 waveform_t MHASignal::doublebuffer_t::inner_out [private]
5.293.4.5 unsigned int MHASignal::doublebuffer_t::k_inner [private]
5.293.4.6 unsigned int MHASignal::doublebuffer_t::k_outer [private]
5.293.4.7 unsigned int MHASignal::doublebuffer_t::ch [private]
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
5.294 MHASignal::fft_t Class Reference
Public Member Functions
fft_t (const unsigned int &)
fft_t ()
void wave2spec (const mha_wave_t ,mha_spec_t , bool swap)
fast fourier transform.
void spec2wave (const mha_spec_t ,mha_wave_t )
void spec2wave (const mha_spec_t ,mha_wave_t , unsigned int offset)
wave may have fewer number of frames than needed for a complete iFFT.
void forward (mha_spec_t sIn, mha_spec_t sOut)
void backward (mha_spec_t sIn, mha_spec_t sOut)
void wave2spec_scale (const mha_wave_t ,mha_spec_t , bool swap)
void spec2wave_scale (const mha_spec_t ,mha_wave_t )
void forward_scale (mha_spec_t sIn, mha_spec_t sOut)
void backward_scale (mha_spec_t sIn, mha_spec_t sOut)
© 2005-2019 HörTech gGmbH, Oldenburg
5.294 MHASignal::fft_t Class Reference 773
Private Member Functions
void sort_fftw2spec (fftw_real s_fftw, mha_spec_t s_spec, unsigned int ch)
Arrange the order of an fftw spectrum to the internal order.
void sort_spec2fftw (fftw_real s_fftw, const mha_spec_t s_spec, unsigned int ch)
Arrange the order of an internal spectrum to the fftw order.
Private Attributes
unsigned int nfft
unsigned int n_re
unsigned int n_im
mha_real_t scale
mha_real_t buf_in
mha_real_t buf_out
rfftw_plan fftw_plan_wave2spec
rfftw_plan fftw_plan_spec2wave
fftw_plan fftw_plan_fft
fftw_plan fftw_plan_ifft
5.294.1 Constructor & Destructor Documentation
5.294.1.1 MHASignal::fft_t::fft_t (
const unsigned int & n)
5.294.1.2 MHASignal::fft_t::fft_t ( )
5.294.2 Member Function Documentation
5.294.2.1 void MHASignal::fft_t::wave2spec (
const mha_wave_t wave,
mha_spec_t spec,
bool swap )
fast fourier transform.
if swap is set, the buffer halfes of the wave signal are exchanged before computing the fft.
5.294.2.2 void MHASignal::fft_t::spec2wave (
const mha_spec_t spec,
mha_wave_t wave )
5.294.2.3 void MHASignal::fft_t::spec2wave (
const mha_spec_t spec,
mha_wave_t wave,
unsigned int offset )
wave may have fewer number of frames than needed for a complete iFFT.
Only as many frames are written into wave as fit, starting with offset offset of the complete iFFT.
© 2005-2019 HörTech gGmbH, Oldenburg
774 CONTENTS
5.294.2.4 void MHASignal::fft_t::forward (
mha_spec_t sIn,
mha_spec_t sOut )
5.294.2.5 void MHASignal::fft_t::backward (
mha_spec_t sIn,
mha_spec_t sOut )
5.294.2.6 void MHASignal::fft_t::wave2spec_scale (
const mha_wave_t wave,
mha_spec_t spec,
bool swap )
5.294.2.7 void MHASignal::fft_t::spec2wave_scale (
const mha_spec_t spec,
mha_wave_t wave )
5.294.2.8 void MHASignal::fft_t::forward_scale (
mha_spec_t sIn,
mha_spec_t sOut )
5.294.2.9 void MHASignal::fft_t::backward_scale (
mha_spec_t sIn,
mha_spec_t sOut )
5.294.2.10 void MHASignal::fft_t::sort_fftw2spec (
fftw_real s_fftw,
mha_spec_t s_spec,
unsigned int ch )[private]
Arrange the order of an fftw spectrum to the internal order.
The fftw spectrum is arranged [r0 r1 r2 ... rn-1 in in-1 ... i1], while the interal order is [r0 – r1 i1
r2 i2 ... rn-1 in-1 rn –].
5.294.2.11 void MHASignal::fft_t::sort_spec2fftw (
fftw_real s_fftw,
const mha_spec_t s_spec,
unsigned int ch )[private]
Arrange the order of an internal spectrum to the fftw order.
© 2005-2019 HörTech gGmbH, Oldenburg
5.295 MHASignal::hilbert_fftw_t Class Reference 775
5.294.3 Member Data Documentation
5.294.3.1 unsigned int MHASignal::fft_t::nfft [private]
5.294.3.2 unsigned int MHASignal::fft_t::n_re [private]
5.294.3.3 unsigned int MHASignal::fft_t::n_im [private]
5.294.3.4 mha_real_t MHASignal::fft_t::scale [private]
5.294.3.5 mha_real_tMHASignal::fft_t::buf_in [private]
5.294.3.6 mha_real_tMHASignal::fft_t::buf_out [private]
5.294.3.7 rfftw_plan MHASignal::fft_t::fftw_plan_wave2spec [private]
5.294.3.8 rfftw_plan MHASignal::fft_t::fftw_plan_spec2wave [private]
5.294.3.9 fftw_plan MHASignal::fft_t::fftw_plan_fft [private]
5.294.3.10 fftw_plan MHASignal::fft_t::fftw_plan_ifft [private]
The documentation for this class was generated from the following files:
mha_signal_fft.h
mha_signal.cpp
5.295 MHASignal::hilbert_fftw_t Class Reference
Public Member Functions
hilbert_fftw_t (unsigned int len)
void hilbert (const mha_wave_t ,mha_wave_t )
Private Attributes
unsigned int n
rfftw_plan p1
fftw_plan p2
fftw_real buf_r_in
fftw_real buf_r_out
fftw_complex buf_c_in
fftw_complex buf_c_out
mha_real_t sc
© 2005-2019 HörTech gGmbH, Oldenburg
776 CONTENTS
5.295.1 Constructor & Destructor Documentation
5.295.1.1 MHASignal::hilbert_fftw_t::hilbert_fftw_t (
unsigned int len )
5.295.2 Member Function Documentation
5.295.2.1 void MHASignal::hilbert_fftw_t::hilbert (
const mha_wave_t s_in,
mha_wave_t s_out )
5.295.3 Member Data Documentation
5.295.3.1 unsigned int MHASignal::hilbert_fftw_t::n [private]
5.295.3.2 rfftw_plan MHASignal::hilbert_fftw_t::p1 [private]
5.295.3.3 fftw_plan MHASignal::hilbert_fftw_t::p2 [private]
5.295.3.4 fftw_realMHASignal::hilbert_fftw_t::buf_r_in [private]
5.295.3.5 fftw_realMHASignal::hilbert_fftw_t::buf_r_out [private]
5.295.3.6 fftw_complexMHASignal::hilbert_fftw_t::buf_c_in [private]
5.295.3.7 fftw_complexMHASignal::hilbert_fftw_t::buf_c_out [private]
5.295.3.8 mha_real_t MHASignal::hilbert_fftw_t::sc [private]
The documentation for this class was generated from the following file:
mha_signal.cpp
5.296 MHASignal::hilbert_t Class Reference
Hilbert transformation of a waveform segment.
Inheritance diagram for MHASignal::hilbert_t:
MHASignal::hilbert_t
MHASignal::minphase_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.296 MHASignal::hilbert_t Class Reference 777
Public Member Functions
hilbert_t (unsigned int len)
hilbert_t ()
void operator() (const mha_wave_t ,mha_wave_t )
Apply Hilbert transformation on a waveform segment.
Private Attributes
void h
5.296.1 Detailed Description
Hilbert transformation of a waveform segment.
Returns the imaginary part of the inverse Fourier transformation of the Fourier transformed
input signal with negative frequencies set to zero.
5.296.2 Constructor & Destructor Documentation
5.296.2.1 MHASignal::hilbert_t::hilbert_t (
unsigned int len )
Parameters
len Length of waveform segment
5.296.2.2 MHASignal::hilbert_t::hilbert_t ( )
5.296.3 Member Function Documentation
5.296.3.1 void MHASignal::hilbert_t::operator() (
const mha_wave_t s_in,
mha_wave_t s_out )
Apply Hilbert transformation on a waveform segment.
5.296.4 Member Data Documentation
5.296.4.1 voidMHASignal::hilbert_t::h [private]
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
778 CONTENTS
5.297 MHASignal::loop_wavefragment_t Class Reference
Copy a fixed waveform fragment to a series of waveform fragments of other size.
Inheritance diagram for MHASignal::loop_wavefragment_t:
MHASignal::loop_wavefragment_t
addsndfile::sndfile_t
MHASignal::waveform_t
mha_wave_t
Public Types
Public Member Functions
loop_wavefragment_t (const mha_wave_t &src, bool loop, level_mode_t level_mode,
std::vector<int >channels, unsigned int startpos=0)
Constructor to create an instance of loop_wavefragment_t (p. 778) based on an existing
waveform block.
• std::vector<int >get_mapping (unsigned int channels)
• void playback (mha_wave_t s, playback_mode_t pmode, mha_wave_t level_pa,
const std::vector<int >&channels)
Add source waveform block to an output block.
void playback (mha_wave_t s, playback_mode_t pmode, mha_wave_t level_pa)
Add source waveform block to an output block.
void playback (mha_wave_t s, playback_mode_t pmode)
Add source waveform block to an output block.
void set_level_lin (mha_real_t l)
void set_level_db (mha_real_t l)
void rewind ()
void locate_end ()
bool is_playback_active () const
© 2005-2019 HörTech gGmbH, Oldenburg
5.297 MHASignal::loop_wavefragment_t Class Reference 779
Private Attributes
• std::vector<int >playback_channels
bool b_loop
unsigned int pos
MHASignal::waveform_t intern_level
Additional Inherited Members
5.297.1 Detailed Description
Copy a fixed waveform fragment to a series of waveform fragments of other size.
This class is designed to continously play back a waveform to an output stream, with variable
output block size.
5.297.2 Member Enumeration Documentation
5.297.2.1 enum MHASignal::loop_wavefragment_t::level_mode_t
Switch for playback level mode.
Enumerator
relative The nominal level is applied as a gain to the source signal.
peak The nominal level is the peak level of source signal in Pascal.
rms The nominal level is the RMS level of the source signal in Pascal.
rms_limit40
5.297.2.2 enum MHASignal::loop_wavefragment_t::playback_mode_t
Switch for playback mode.
Enumerator
add Add source signal to output stream.
replace Replace output stream by source signal.
input Do nothing, keep output stream (source position is unchanged).
mute Mute output stream (source position is unchanged).
5.297.3 Constructor & Destructor Documentation
5.297.3.1 MHASignal::loop_wavefragment_t::loop_wavefragment_t (
const mha_wave_t &src,
bool loop,
level_mode_t level_mode,
std::vector<int >channels,
unsigned int startpos = 0)
Constructor to create an instance of loop_wavefragment_t (p. 778) based on an existing wave-
form block.
© 2005-2019 HörTech gGmbH, Oldenburg
780 CONTENTS
Parameters
src Waveform block to copy data from.
loop Flag whether the block should be looped or played once.
level_mode Configuration of playback level (see
MHASignal::loop_wavefragment_t::level_mode_t (p. 779) for details)
channels Mapping of input to output channels.
startpos Starting position
5.297.4 Member Function Documentation
5.297.4.1 std::vector<int >MHASignal::loop_wavefragment_t::get_mapping (
unsigned int channels )
5.297.4.2 void MHASignal::loop_wavefragment_t::playback (
mha_wave_t s,
playback_mode_t pmode,
mha_wave_t level_pa,
const std::vector<int >&channels )
Add source waveform block to an output block.
Parameters
sOutput block (streamed signal).
pmode Playback mode (add, replace, input, mute).
level_pa Linear output level/gain (depending on level_mode parameter in constructor);
one value for each sample in output block.
channels Output channels
5.297.4.3 void MHASignal::loop_wavefragment_t::playback (
mha_wave_t s,
playback_mode_t pmode,
mha_wave_t level_pa )
Add source waveform block to an output block.
Parameters
sOutput block (streamed signal).
pmode Playback mode (add, replace, input, mute).
level_pa Linear output level/gain (depending on level_mode parameter in constructor);
one value for each sample in output block.
© 2005-2019 HörTech gGmbH, Oldenburg
5.297 MHASignal::loop_wavefragment_t Class Reference 781
5.297.4.4 void MHASignal::loop_wavefragment_t::playback (
mha_wave_t s,
playback_mode_t pmode )
Add source waveform block to an output block.
Parameters
sOutput block (streamed signal).
pmode Playback mode (add, replace, input, mute).
5.297.4.5 void MHASignal::loop_wavefragment_t::set_level_lin (
mha_real_t l)
5.297.4.6 void MHASignal::loop_wavefragment_t::set_level_db (
mha_real_t l)
5.297.4.7 void MHASignal::loop_wavefragment_t::rewind ( ) [inline]
5.297.4.8 void MHASignal::loop_wavefragment_t::locate_end ( ) [inline]
5.297.4.9 bool MHASignal::loop_wavefragment_t::is_playback_active ( ) const [inline]
5.297.5 Member Data Documentation
5.297.5.1 std::vector<int>MHASignal::loop_wavefragment_t::playback_channels [private]
5.297.5.2 bool MHASignal::loop_wavefragment_t::b_loop [private]
5.297.5.3 unsigned int MHASignal::loop_wavefragment_t::pos [private]
5.297.5.4 MHASignal::waveform_t MHASignal::loop_wavefragment_t::intern_level [private]
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
782 CONTENTS
5.298 MHASignal::matrix_t Class Reference
n-dimensional matrix with real or complex floating point values.
Inheritance diagram for MHASignal::matrix_t:
MHASignal::matrix_t
MHA_AC::ac2matrix_t
MHASignal::uint_vector_t
Public Member Functions
matrix_t (unsigned int nrows, unsigned int ncols, bool b_is_complex=true)
Create a two-dimensional matrix.
matrix_t (const mha_spec_t &spec)
Create a two-dimensional matrix from a spectrum, copy values.
matrix_t (const MHASignal::uint_vector_t &size, bool b_is_complex=true)
Create n-dimensional matrix, descriped by size argument.
matrix_t (const MHASignal::matrix_t &)
matrix_t (const uint8_t buf, unsigned int len)
Construct from memory area.
matrix_t ()
MHASignal::matrix_t &operator= (const MHASignal::matrix_t &)
MHASignal::matrix_t &operator= (const comm_var_t &v)
Fill matrix with data of an AC variable object.
comm_var_t get_comm_var ()
Return a AC communication variable pointing to the data of the current matrix.
unsigned int dimension () const
Return the dimension of the matrix.
unsigned int size (unsigned int k) const
Return the size of the matrix.
unsigned int get_nelements () const
Return total number of elements.
© 2005-2019 HörTech gGmbH, Oldenburg
5.298 MHASignal::matrix_t Class Reference 783
bool is_same_size (const MHASignal::matrix_t &)
Test if matrix has same size as other.
bool iscomplex () const
Return information about complexity.
mha_real_t &real (const MHASignal::uint_vector_t &index)
Access real part of an element in a n-dimensional matrix.
mha_real_t &imag (const MHASignal::uint_vector_t &index)
Access imaginary part of an element in a n-dimensional matrix.
mha_complex_t &operator() (const MHASignal::uint_vector_t &index)
Access complex value of an element in a n-dimensional matrix.
const mha_real_t &real (const MHASignal::uint_vector_t &index) const
Access real part of an element in a n-dimensional matrix.
const mha_real_t &imag (const MHASignal::uint_vector_t &index) const
Access imaginary part of an element in a n-dimensional matrix.
const mha_complex_t &operator() (const MHASignal::uint_vector_t &index) const
Access complex value of an element in a n-dimensional matrix.
mha_real_t &real (unsigned int row, unsigned int col)
Access real part of an element in a two-dimensional matrix.
mha_real_t &imag (unsigned int row, unsigned int col)
Access imaginary part of an element in a two-dimensional matrix.
mha_complex_t &operator() (unsigned int row, unsigned int col)
Access complex value of an element in a two-dimensional matrix.
const mha_real_t &real (unsigned int row, unsigned int col) const
Access real part of an element in a two-dimensional matrix.
const mha_real_t &imag (unsigned int row, unsigned int col) const
Access imaginary part of an element in a two-dimensional matrix.
const mha_complex_t &operator() (unsigned int row, unsigned int col) const
Access complex value of an element in a two-dimensional matrix.
unsigned int get_nreals () const
unsigned int get_index (unsigned int row, unsigned int col) const
unsigned int get_index (const MHASignal::uint_vector_t &index) const
unsigned int numbytes () const
Return number of bytes needed to store into memory.
unsigned int write (uint8_t buf, unsigned int len) const
Copy to memory area.
const mha_real_t get_rdata () const
Return pointer of real data.
const mha_complex_t get_cdata () const
Return pointer of complex data.
© 2005-2019 HörTech gGmbH, Oldenburg
784 CONTENTS
Private Attributes
uint32_t complex_ofs
uint32_t nelements
union {
mha_real_t rdata
mha_complex_t cdata
};
Additional Inherited Members
5.298.1 Detailed Description
n-dimensional matrix with real or complex floating point values.
Warning
The member functions imag() (p. 787) and operator() should only be called if the matrix
is defined to hold complex values.
5.298.2 Constructor & Destructor Documentation
5.298.2.1 MHASignal::matrix_t::matrix_t (
unsigned int nrows,
unsigned int ncols,
bool b_is_complex = true )
Create a two-dimensional matrix.
Parameters
nrows Number of rows
ncols Number of columns
b_is_complex Add space for complex values
5.298.2.2 MHASignal::matrix_t::matrix_t (
const mha_spec_t &spec )
Create a two-dimensional matrix from a spectrum, copy values.
Parameters
spec Source spectrum structure
© 2005-2019 HörTech gGmbH, Oldenburg
5.298 MHASignal::matrix_t Class Reference 785
5.298.2.3 MHASignal::matrix_t::matrix_t (
const MHASignal::uint_vector_t &size,
bool b_is_complex = true )
Create n-dimensional matrix, descriped by size argument.
Parameters
size Size vector
b_is_complex Add space for complex values
5.298.2.4 MHASignal::matrix_t::matrix_t (
const MHASignal::matrix_t &src )
5.298.2.5 MHASignal::matrix_t::matrix_t (
const uint8_t buf,
unsigned int len )
Construct from memory area.
Warning
This constructor is not real time safe
5.298.2.6 MHASignal::matrix_t::matrix_t ( )
5.298.3 Member Function Documentation
5.298.3.1 matrix_t & MHASignal::matrix_t::operator= (
const MHASignal::matrix_t &src )
5.298.3.2 MHASignal::matrix_t & MHASignal::matrix_t::operator= (
const comm_var_t &v)
Fill matrix with data of an AC variable object.
Parameters
vSource AC variable (comm_var_t (p. 246))
Note
The type and dimension of the AC variable must match the type and dimension of the
matrix.
© 2005-2019 HörTech gGmbH, Oldenburg
786 CONTENTS
5.298.3.3 comm_var_t MHASignal::matrix_t::get_comm_var ( )
Return a AC communication variable pointing to the data of the current matrix.
Returns
AC variable object (comm_var_t (p. 246)), valid for the life time of the matrix.
5.298.3.4 unsigned int MHASignal::matrix_t::dimension ( ) const [inline]
Return the dimension of the matrix.
Returns
Dimension of the matrix
5.298.3.5 unsigned int MHASignal::matrix_t::size (
unsigned int k) const [inline]
Return the size of the matrix.
Parameters
kDimension
Returns
Size of the matrix in dimension k
5.298.3.6 unsigned int MHASignal::matrix_t::get_nelements ( ) const
Return total number of elements.
5.298.3.7 bool MHASignal::matrix_t::is_same_size (
const MHASignal::matrix_t &src )
Test if matrix has same size as other.
5.298.3.8 bool MHASignal::matrix_t::iscomplex ( ) const [inline]
Return information about complexity.
5.298.3.9 mha_real_t& MHASignal::matrix_t::real (
const MHASignal::uint_vector_t &index )[inline]
Access real part of an element in a n-dimensional matrix.
© 2005-2019 HörTech gGmbH, Oldenburg
5.298 MHASignal::matrix_t Class Reference 787
Parameters
index Index vector
5.298.3.10 mha_real_t& MHASignal::matrix_t::imag (
const MHASignal::uint_vector_t &index )[inline]
Access imaginary part of an element in a n-dimensional matrix.
Parameters
index Index vector
5.298.3.11 mha_complex_t& MHASignal::matrix_t::operator() (
const MHASignal::uint_vector_t &index )[inline]
Access complex value of an element in a n-dimensional matrix.
Parameters
index Index vector
5.298.3.12 const mha_real_t& MHASignal::matrix_t::real (
const MHASignal::uint_vector_t &index ) const [inline]
Access real part of an element in a n-dimensional matrix.
Parameters
index Index vector
5.298.3.13 const mha_real_t& MHASignal::matrix_t::imag (
const MHASignal::uint_vector_t &index ) const [inline]
Access imaginary part of an element in a n-dimensional matrix.
Parameters
index Index vector
© 2005-2019 HörTech gGmbH, Oldenburg
788 CONTENTS
5.298.3.14 const mha_complex_t& MHASignal::matrix_t::operator() (
const MHASignal::uint_vector_t &index ) const [inline]
Access complex value of an element in a n-dimensional matrix.
Parameters
index Index vector
5.298.3.15 mha_real_t& MHASignal::matrix_t::real (
unsigned int row,
unsigned int col )[inline]
Access real part of an element in a two-dimensional matrix.
Parameters
row Row number of element
col Column number of element
5.298.3.16 mha_real_t& MHASignal::matrix_t::imag (
unsigned int row,
unsigned int col )[inline]
Access imaginary part of an element in a two-dimensional matrix.
Parameters
row Row number of element
col Column number of element
5.298.3.17 mha_complex_t& MHASignal::matrix_t::operator() (
unsigned int row,
unsigned int col )[inline]
Access complex value of an element in a two-dimensional matrix.
Parameters
row Row number of element
col Column number of element
© 2005-2019 HörTech gGmbH, Oldenburg
5.298 MHASignal::matrix_t Class Reference 789
5.298.3.18 const mha_real_t& MHASignal::matrix_t::real (
unsigned int row,
unsigned int col ) const [inline]
Access real part of an element in a two-dimensional matrix.
Parameters
row Row number of element
col Column number of element
5.298.3.19 const mha_real_t& MHASignal::matrix_t::imag (
unsigned int row,
unsigned int col ) const [inline]
Access imaginary part of an element in a two-dimensional matrix.
Parameters
row Row number of element
col Column number of element
5.298.3.20 const mha_complex_t& MHASignal::matrix_t::operator() (
unsigned int row,
unsigned int col ) const [inline]
Access complex value of an element in a two-dimensional matrix.
Parameters
row Row number of element
col Column number of element
5.298.3.21 unsigned int MHASignal::matrix_t::get_nreals ( ) const [inline]
5.298.3.22 unsigned int MHASignal::matrix_t::get_index (
unsigned int row,
unsigned int col ) const
5.298.3.23 unsigned int MHASignal::matrix_t::get_index (
const MHASignal::uint_vector_t &index ) const
5.298.3.24 unsigned int MHASignal::matrix_t::numbytes ( ) const
Return number of bytes needed to store into memory.
© 2005-2019 HörTech gGmbH, Oldenburg
790 CONTENTS
5.298.3.25 unsigned int MHASignal::matrix_t::write (
uint8_t buf,
unsigned int len ) const
Copy to memory area.
5.298.3.26 const mha_real_tMHASignal::matrix_t::get_rdata ( ) const [inline]
Return pointer of real data.
5.298.3.27 const mha_complex_tMHASignal::matrix_t::get_cdata ( ) const [inline]
Return pointer of complex data.
5.298.4 Member Data Documentation
5.298.4.1 uint32_t MHASignal::matrix_t::complex_ofs [private]
5.298.4.2 uint32_t MHASignal::matrix_t::nelements [private]
5.298.4.3 mha_real_tMHASignal::matrix_t::rdata
5.298.4.4 mha_complex_tMHASignal::matrix_t::cdata
5.298.4.5 union { ... } [private]
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
5.299 MHASignal::minphase_t Class Reference
Minimal phase function.
Inheritance diagram for MHASignal::minphase_t:
MHASignal::minphase_t
MHASignal::hilbert_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.299 MHASignal::minphase_t Class Reference 791
Public Member Functions
minphase_t (unsigned int fftlen, unsigned int ch)
Constructor.
void operator() (mha_spec_t s)
Transform input spectrum to a minimal-phase spectrum, discarding the original phase.
Private Attributes
MHASignal::waveform_t phase
Additional Inherited Members
5.299.1 Detailed Description
Minimal phase function.
The output spectrum Y(f)is
Y(f) = |X(f)|eiH{log |X(f)|},
with the input spectrum X(f)and the Hilbert transformation H{· · ·}.
5.299.2 Constructor & Destructor Documentation
5.299.2.1 MHASignal::minphase_t::minphase_t (
unsigned int fftlen,
unsigned int ch )
Constructor.
Parameters
fftlen FFT length
ch Number of channels
5.299.3 Member Function Documentation
5.299.3.1 void MHASignal::minphase_t::operator() (
mha_spec_t s)
Transform input spectrum to a minimal-phase spectrum, discarding the original phase.
© 2005-2019 HörTech gGmbH, Oldenburg
792 CONTENTS
Parameters
sSpectrum to operate on.
5.299.4 Member Data Documentation
5.299.4.1 MHASignal::waveform_t MHASignal::minphase_t::phase [private]
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
5.300 MHASignal::quantizer_t Class Reference
Simple simulation of fixpoint quantization.
Public Member Functions
quantizer_t (unsigned int num_bits)
Constructor.
void operator() (mha_wave_t &s)
Quantization of a waveform fragment.
Private Attributes
bool limit
mha_real_t upscale
mha_real_t downscale
mha_real_t up_limit
5.300.1 Detailed Description
Simple simulation of fixpoint quantization.
5.300.2 Constructor & Destructor Documentation
5.300.2.1 MHASignal::quantizer_t::quantizer_t (
unsigned int num_bits )
Constructor.
© 2005-2019 HörTech gGmbH, Oldenburg
5.301 MHASignal::ringbuffer_t Class Reference 793
Parameters
num_bits Number of bits to simulate, or zero for limiting to [-1,1] only.
5.300.3 Member Function Documentation
5.300.3.1 void MHASignal::quantizer_t::operator() (
mha_wave_t &s)
Quantization of a waveform fragment.
Parameters
sWaveform fragment to be quantized.
5.300.4 Member Data Documentation
5.300.4.1 bool MHASignal::quantizer_t::limit [private]
5.300.4.2 mha_real_t MHASignal::quantizer_t::upscale [private]
5.300.4.3 mha_real_t MHASignal::quantizer_t::downscale [private]
5.300.4.4 mha_real_t MHASignal::quantizer_t::up_limit [private]
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
5.301 MHASignal::ringbuffer_t Class Reference
A ringbuffer class for time domain audio signal, which makes no assumptions with respect to
fragment size.
© 2005-2019 HörTech gGmbH, Oldenburg
794 CONTENTS
Inheritance diagram for MHASignal::ringbuffer_t:
MHASignal::ringbuffer_t
MHASignal::waveform_t
mha_wave_t
Public Member Functions
ringbuffer_t (unsigned frames, unsigned channels, unsigned prefilled_frames)
Creates new ringbuffer for time domain signal.
unsigned contained_frames () const
number of currently contained frames
mha_real_t &value (unsigned frame, unsigned channel)
Access to value stored in ringbuffer.
void discard (unsigned frames)
Discards the oldest frames.
void write (mha_wave_t &signal)
Copies the contents of the signal into the ringbuffer if there is enough space.
Private Attributes
unsigned next_read_frame_index
Index of oldest frame in underlying storage for the ringbuffer.
unsigned next_write_frame_index
Index of first free frame in underlying storage.
Additional Inherited Members
5.301.1 Detailed Description
A ringbuffer class for time domain audio signal, which makes no assumptions with respect to
fragment size.
Blocks of audio signal can be placed into the ringbuffer using the write (p. 796) method. Indi-
vidual audio samples can be accessed and altered using the value (p. 795) method. Blocks of
audio data can be deleted from the ringbuffer using the discard (p. 796) method.
© 2005-2019 HörTech gGmbH, Oldenburg
5.301 MHASignal::ringbuffer_t Class Reference 795
5.301.2 Constructor & Destructor Documentation
5.301.2.1 ringbuffer_t::ringbuffer_t (
unsigned frames,
unsigned channels,
unsigned prefilled_frames )
Creates new ringbuffer for time domain signal.
Constructor allocates enough storage so that frames audio samples can be stored in the ring-
buffer.
Parameters
frames Size of ringbuffer in samples per channel. Maximum number of frames
that can be stored in the ringbuffer at one time. This number cannot be
changed after instance creation.
channels Number of audio channels.
prefilled_frames Number of frames to be prefilled with zero values. Many applications of a
ringbuffer require the introduction of a delay. In practice, this delay is
achieved by inserting silence audio samples (zeros) into the ringbuffer
before the start of the actual signal is inserted for the first time.
Exceptions
MHA_Error (p. 445)if prefilled_frames >frames
5.301.3 Member Function Documentation
5.301.3.1 unsigned MHASignal::ringbuffer_t::contained_frames ( ) const [inline]
number of currently contained frames
5.301.3.2 mha_real_t& MHASignal::ringbuffer_t::value (
unsigned frame,
unsigned channel )[inline]
Access to value stored in ringbuffer.
frame index is relative to the oldest frame stored in the ringbuffer, therefore, the meaning of the
frame changes when the discard (p. 796) method is called.
Parameters
frame frame index, 0 corresponds to oldest frame stored.
channel audio channel
© 2005-2019 HörTech gGmbH, Oldenburg
796 CONTENTS
Returns
reference to contained sample value
Exceptions
MHA_Error (p. 445)if channel or frame out of bounds.
5.301.3.3 void MHASignal::ringbuffer_t::discard (
unsigned frames )[inline]
Discards the oldest frames.
Makes room for new write (p. 796), alters base frame index for value (p. 795)
Parameters
frames how many frames to discard.
Exceptions
MHA_Error (p. 445)if frames >contained_frames (p. 795)
5.301.3.4 void MHASignal::ringbuffer_t::write (
mha_wave_t &signal )[inline]
Copies the contents of the signal into the ringbuffer if there is enough space.
Parameters
signal New signal to be appended to the signal already present in the ringbuffer
Exceptions
MHA_Error (p. 445)if there is not enough space or if the channel count mismatches.
Nothing is copied if the space is insufficient.
5.301.4 Member Data Documentation
5.301.4.1 unsigned MHASignal::ringbuffer_t::next_read_frame_index [private]
Index of oldest frame in underlying storage for the ringbuffer.
© 2005-2019 HörTech gGmbH, Oldenburg
5.302 MHASignal::schroeder_t Class Reference 797
This value is added to the frame parameter of the value (p. 795) method, and this value is
altered when discard (p. 796) is called.
5.301.4.2 unsigned MHASignal::ringbuffer_t::next_write_frame_index [private]
Index of first free frame in underlying storage.
Next frame to be stored will be placed here.
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
5.302 MHASignal::schroeder_t Class Reference
Schroeder tone complex class.
Inheritance diagram for MHASignal::schroeder_t:
MHASignal::schroeder_t
MHASignal::waveform_t
mha_wave_t
Public Types
typedef float(groupdelay_t) (float f, float fmin, float fmax)
Function type for group delay definition.
© 2005-2019 HörTech gGmbH, Oldenburg
798 CONTENTS
Public Member Functions
schroeder_t (unsigned int len, unsigned int channels=1, schroeder_t::sign_t sign=up,
mha_real_t speed=1)
Constructor.
schroeder_t (unsigned int len, unsigned int channels=1, schroeder_t::groupdelay_t
freqfun=MHASignal::schroeder_t::identity, float fmin=0, float fmax=1, float eps=1e-10)
Construct create Schroeder tone complex from a given frequency function.
Static Public Member Functions
static float identity (float x, float, float)
static float log_up (float x, float fmin, float fmax)
static float log_down (float x, float fmin, float fmax)
Additional Inherited Members
5.302.1 Detailed Description
Schroeder tone complex class.
The Schroeder tone complex is a sweep defined in the sampled spectrum:
Φ(f) = σ2πτ(2f/fs)2α, S(f) = eiΦ(f)
fis the sampled frequency in Hz, σis the sign of the sweep (-1 for up sweep, +1 for down
sweep), τis the sweep duration in samples, fsis the sampling rate in Hz and αis the relative
sweep speed.
5.302.2 Member Typedef Documentation
5.302.2.1 typedef float(MHASignal::schroeder_t::groupdelay_t) (float f, float fmin, float fmax)
Function type for group delay definition.
Parameters
fFrequency relative to Nyquist frequency.
fmin Minimum frequency relative to Nyquist frequency.
fmax Maximum frequency relative to Nyquist frequency.
© 2005-2019 HörTech gGmbH, Oldenburg
5.302 MHASignal::schroeder_t Class Reference 799
5.302.3 Member Enumeration Documentation
5.302.3.1 enum MHASignal::schroeder_t::sign_t
Enumerator for sign of Schroeder tone complex sweep direction.
Enumerator
up Sweep from zero to Nyquist frequency ( σ=1)
down Sweep from Nyquist frequency to zero ( σ= +1)
5.302.4 Constructor & Destructor Documentation
5.302.4.1 MHASignal::schroeder_t::schroeder_t (
unsigned int len,
unsigned int channels = 1,
schroeder_t::sign_t sign = up,
mha_real_t speed = 1)
Constructor.
Parameters of the Schroeder tone complex are configured in the constructor.
Parameters
len Length τof the Schroeder tone complex in samples
channels Number of channels
sign Sign σof Schroeder sweep
speed Relative speed α(curvature of phase function)
5.302.4.2 MHASignal::schroeder_t::schroeder_t (
unsigned int len,
unsigned int channels = 1,
schroeder_t::groupdelay_t freqfun = MHASignal::schroeder_t-
::identity,
float fmin = 0,
float fmax = 1,
float eps = 1e-10 )
Construct create Schroeder tone complex from a given frequency function.
The frequency function g(f)defines the sweep speed and sign (based on the group delay). It
must be defined in the interval [0,1) and should return values in the interval [0,1].
Φ(f) = 4πτ
τ
Z
0
g(f)df, S(f) = eiΦ(f)
© 2005-2019 HörTech gGmbH, Oldenburg
800 CONTENTS
Parameters
len Length τof the Schroeder tone complex in samples.
channels Number of channels.
freqfun Frequency function g(f).
fmin Start frequency (relative to Nyquist frequency).
fmax End frequency (relative to Nyquist frequency).
eps Stability constant for frequency ranges not covered by Schroeder tone complex.
5.302.5 Member Function Documentation
5.302.5.1 static float MHASignal::schroeder_t::identity (
float x,
float ,
float ) [inline],[static]
5.302.5.2 static float MHASignal::schroeder_t::log_up (
float x,
float fmin,
float fmax )[inline],[static]
5.302.5.3 static float MHASignal::schroeder_t::log_down (
float x,
float fmin,
float fmax )[inline],[static]
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
5.303 MHASignal::spectrum_t Class Reference
a signal processing class for spectral data (based on mha_spec_t (p. 465))
© 2005-2019 HörTech gGmbH, Oldenburg
5.303 MHASignal::spectrum_t Class Reference 801
Inheritance diagram for MHASignal::spectrum_t:
MHASignal::spectrum_t
fshift_hilbert::hilbert
_shifter_t MHA_AC::spectrum_t
mha_spec_t
MHAMultiSrc::spectrum_t wave2spec_t
Public Member Functions
spectrum_t (const unsigned int &frames, const unsigned int &channels)
constructor of spectrum class
spectrum_t (const mha_spec_t &)
Copy constructor.
spectrum_t (const MHASignal::spectrum_t &)
Copy constructor.
spectrum_t (const std::vector<mha_complex_t >&)
virtual spectrum_t (void)
mha_complex_t &operator() (unsigned int f, unsigned int ch)
Access to element.
mha_complex_t &operator[ ] (unsigned int k)
Access to a single element, direct index into data buffer.
mha_complex_t &value (unsigned int f, unsigned int ch)
Access to element.
void copy (const mha_spec_t &)
copy all elements from a spectrum
void copy_channel (const mha_spec_t &s, unsigned sch, unsigned dch)
Copy one channel of a given spectrum signal to a target channel.
void export_to (mha_spec_t &)
copy elements to spectrum structure
© 2005-2019 HörTech gGmbH, Oldenburg
802 CONTENTS
void scale (const unsigned int &, const unsigned int &, const unsigned int &, const mha-
_real_t &)
scale section [a,b) in channel "ch" by "val"
void scale_channel (const unsigned int &, const mha_real_t &)
scale all elements in one channel
Additional Inherited Members
5.303.1 Detailed Description
a signal processing class for spectral data (based on mha_spec_t (p. 465))
5.303.2 Constructor & Destructor Documentation
5.303.2.1 spectrum_t::spectrum_t (
const unsigned int & frames,
const unsigned int & channels )
constructor of spectrum class
Allocates buffers and initializes memory to zeros.
Parameters
frames number of frames (fft bins) in one channel. Number of Frames is usually fftlen /
2+1
channels number of channels
5.303.2.2 spectrum_t::spectrum_t (
const mha_spec_t &src )[explicit]
Copy constructor.
5.303.2.3 spectrum_t::spectrum_t (
const MHASignal::spectrum_t &src )
Copy constructor.
5.303.2.4 spectrum_t::spectrum_t (
const std::vector<mha_complex_t >&src )
5.303.2.5 spectrum_t::spectrum_t (
void ) [virtual]
Reimplemented in MHA_AC::spectrum_t (p. 423).
© 2005-2019 HörTech gGmbH, Oldenburg
5.303 MHASignal::spectrum_t Class Reference 803
5.303.3 Member Function Documentation
5.303.3.1 mha_complex_t& MHASignal::spectrum_t::operator() (
unsigned int f,
unsigned int ch )[inline]
Access to element.
Parameters
fBin number
ch Channel number
Returns
Reference to element
5.303.3.2 mha_complex_t& MHASignal::spectrum_t::operator[ ] (
unsigned int k)[inline]
Access to a single element, direct index into data buffer.
Parameters
kBuffer index
Returns
Reference to element
5.303.3.3 mha_complex_t& MHASignal::spectrum_t::value (
unsigned int f,
unsigned int ch )[inline]
Access to element.
Parameters
fBin number
ch Channel number
Returns
Reference to element
© 2005-2019 HörTech gGmbH, Oldenburg
804 CONTENTS
5.303.3.4 void spectrum_t::copy (
const mha_spec_t &src )
copy all elements from a spectrum
Parameters
src input spectrum
5.303.3.5 void spectrum_t::copy_channel (
const mha_spec_t &s,
unsigned sch,
unsigned dch )
Copy one channel of a given spectrum signal to a target channel.
Parameters
sInput spectrum signal
sch Channel index in source signal
dch Channel index in destination (this) signal
5.303.3.6 void spectrum_t::export_to (
mha_spec_t &dest )
copy elements to spectrum structure
Parameters
dest destination spectrum structure
5.303.3.7 void spectrum_t::scale (
const unsigned int & a,
const unsigned int & b,
const unsigned int & ch,
const mha_real_t &val )
scale section [a,b) in channel "ch" by "val"
Parameters
astarting frame
bend frame (excluded)
ch channel number
val scale factor
© 2005-2019 HörTech gGmbH, Oldenburg
5.304 MHASignal::stat_t Class Reference 805
5.303.3.8 void spectrum_t::scale_channel (
const unsigned int & ch,
const mha_real_t &src )
scale all elements in one channel
Parameters
ch channel number
src scale factor
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
5.304 MHASignal::stat_t Class Reference
Inheritance diagram for MHASignal::stat_t:
MHASignal::stat_t
MHA_AC::stat_t
Public Member Functions
stat_t (const unsigned int &frames, const unsigned int &channels)
void mean (mha_wave_t &m)
void mean_std (mha_wave_t &m, mha_wave_t &s)
void push (const mha_wave_t &)
void push (const mha_real_t &x, const unsigned int &k, const unsigned int &ch)
Private Attributes
MHASignal::waveform_t n
MHASignal::waveform_t sum
MHASignal::waveform_t sum2
© 2005-2019 HörTech gGmbH, Oldenburg
806 CONTENTS
5.304.1 Constructor & Destructor Documentation
5.304.1.1 MHASignal::stat_t::stat_t (
const unsigned int & frames,
const unsigned int & channels )
5.304.2 Member Function Documentation
5.304.2.1 void MHASignal::stat_t::mean (
mha_wave_t &m)
5.304.2.2 void MHASignal::stat_t::mean_std (
mha_wave_t &m,
mha_wave_t &s)
5.304.2.3 void MHASignal::stat_t::push (
const mha_wave_t &x)
5.304.2.4 void MHASignal::stat_t::push (
const mha_real_t &x,
const unsigned int & k,
const unsigned int & ch )
5.304.3 Member Data Documentation
5.304.3.1 MHASignal::waveform_t MHASignal::stat_t::n [private]
5.304.3.2 MHASignal::waveform_t MHASignal::stat_t::sum [private]
5.304.3.3 MHASignal::waveform_t MHASignal::stat_t::sum2 [private]
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
5.305 MHASignal::subsample_delay_t Class Reference
implements subsample delay in spectral domain.
© 2005-2019 HörTech gGmbH, Oldenburg
5.305 MHASignal::subsample_delay_t Class Reference 807
Public Member Functions
subsample_delay_t (const std::vector<float >&subsample_delay, unsigned fftlen)
Constructor computes complex phase factors to apply to achieve subsample delay.
void process (mha_spec_t s)
Apply the phase_gains to s to achieve the subsample delay.
void process (mha_spec_t s, unsigned idx)
Apply the pase gains to channel idx in s to achieve the subsample delay in channel idx.
Public Attributes
spectrum_t phase_gains
The complex factors to apply to achieve the necessary phase shift.
Private Attributes
unsigned last_complex_bin
index of the last complex fft bin for the used fft length.
5.305.1 Detailed Description
implements subsample delay in spectral domain.
When transformed back to the time domain, the signal is delayed by the configured fraction of
a sample. This operation must not be used in a smoothgains bracket.
5.305.2 Constructor & Destructor Documentation
5.305.2.1 MHASignal::subsample_delay_t::subsample_delay_t (
const std::vector<float >&subsample_delay,
unsigned fftlen )
Constructor computes complex phase factors to apply to achieve subsample delay.
Parameters
subsample_delay The subsample delay to apply. -0.5 <= subsample_delay <= 0.5
fftlen FFT length
Exceptions
MHA_Error (p. 445)if the parameters are out of range
© 2005-2019 HörTech gGmbH, Oldenburg
808 CONTENTS
5.305.3 Member Function Documentation
5.305.3.1 void MHASignal::subsample_delay_t::process (
mha_spec_t s)
Apply the phase_gains to s to achieve the subsample delay.
5.305.3.2 void MHASignal::subsample_delay_t::process (
mha_spec_t s,
unsigned idx )
Apply the pase gains to channel idx in s to achieve the subsample delay in channel idx.
Parameters
ssignal
idx channel index, 0-based
Exceptions
MHA_Error (p. 445)if idx >= s->num_channels
5.305.4 Member Data Documentation
5.305.4.1 spectrum_t MHASignal::subsample_delay_t::phase_gains
The complex factors to apply to achieve the necessary phase shift.
5.305.4.2 unsigned MHASignal::subsample_delay_t::last_complex_bin [private]
index of the last complex fft bin for the used fft length.
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.306 MHASignal::uint_vector_t Class Reference 809
5.306 MHASignal::uint_vector_t Class Reference
Vector of unsigned values, used for size and index description of n-dimensional matrixes.
Inheritance diagram for MHASignal::uint_vector_t:
MHASignal::uint_vector_t
MHASignal::matrix_t
MHA_AC::ac2matrix_t
Public Member Functions
uint_vector_t (unsigned int len)
Constructor, initializes all elements to zero.
uint_vector_t (const uint_vector_t &)
uint_vector_t (const uint8_t buf, unsigned int len)
Construct from memory area.
uint_vector_t ()
bool operator== (const uint_vector_t &) const
Check for equality.
uint_vector_t &operator= (const uint_vector_t &)
Assign from other uint_vector_t (p. 809).
unsigned int get_length () const
Return the length of the vector.
const uint32_t & operator[ ] (unsigned int k) const
Read-only access to elements.
uint32_t & operator[ ] (unsigned int k)
Access to elements.
unsigned int numbytes () const
Return number of bytes needed to store into memory.
unsigned int write (uint8_t buf, unsigned int len) const
Copy to memory area.
const uint32_t getdata () const
Return pointer to the data field.
© 2005-2019 HörTech gGmbH, Oldenburg
810 CONTENTS
Protected Attributes
uint32_t length
uint32_t data
5.306.1 Detailed Description
Vector of unsigned values, used for size and index description of n-dimensional matrixes.
5.306.2 Constructor & Destructor Documentation
5.306.2.1 MHASignal::uint_vector_t::uint_vector_t (
unsigned int len )
Constructor, initializes all elements to zero.
Parameters
len Length of vector.
5.306.2.2 MHASignal::uint_vector_t::uint_vector_t (
const uint_vector_t &src )
5.306.2.3 MHASignal::uint_vector_t::uint_vector_t (
const uint8_t buf,
unsigned int len )
Construct from memory area.
Warning
This constructor is not real time safe
5.306.2.4 MHASignal::uint_vector_t::uint_vector_t ( )
5.306.3 Member Function Documentation
5.306.3.1 bool MHASignal::uint_vector_t::operator== (
const uint_vector_t &src ) const
Check for equality.
© 2005-2019 HörTech gGmbH, Oldenburg
5.306 MHASignal::uint_vector_t Class Reference 811
5.306.3.2 uint_vector_t & MHASignal::uint_vector_t::operator= (
const uint_vector_t &src )
Assign from other uint_vector_t (p. 809).
Warning
This assignment will fail if the lengths mismatch.
5.306.3.3 unsigned int MHASignal::uint_vector_t::get_length ( ) const [inline]
Return the length of the vector.
5.306.3.4 const uint32_t& MHASignal::uint_vector_t::operator[ ] (
unsigned int k) const [inline]
Read-only access to elements.
5.306.3.5 uint32_t& MHASignal::uint_vector_t::operator[ ] (
unsigned int k)[inline]
Access to elements.
5.306.3.6 unsigned int MHASignal::uint_vector_t::numbytes ( ) const
Return number of bytes needed to store into memory.
5.306.3.7 unsigned int MHASignal::uint_vector_t::write (
uint8_t buf,
unsigned int len ) const
Copy to memory area.
5.306.3.8 const uint32_tMHASignal::uint_vector_t::getdata ( ) const [inline]
Return pointer to the data field.
5.306.4 Member Data Documentation
5.306.4.1 uint32_t MHASignal::uint_vector_t::length [protected]
5.306.4.2 uint32_tMHASignal::uint_vector_t::data [protected]
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
812 CONTENTS
5.307 MHASignal::waveform_t Class Reference
signal processing class for waveform data (based on mha_wave_t (p. 496))
Inheritance diagram for MHASignal::waveform_t:
MHASignal::waveform_t
addsndfile::level_adapt_t
addsndfile::waveform
_proxy_t
fader_wave::level_adapt_t
gain::scaler_t
MHA_AC::waveform_t
MHAFilter::o1_ar_filter_t
MHAOvlFilter::fftfb_t
MHASignal::async_rmslevel_t
MHASignal::loop_wavefragment_t
MHASignal::ringbuffer_t
MHASignal::schroeder_t
MHASndFile::sf_wave_t
MHAWindow::base_t
speechnoise_t
mha_wave_t
addsndfile::resampled
_soundfile_t
MHAMultiSrc::waveform_t
mon_t
MHAFilter::o1flt_lowpass_t
MHAFilter::o1flt_maxtrack_t
MHAFilter::o1flt_mintrack_t
coherence::cohflt_t
fftfbpow::fftfbpow_t
MHAOvlFilter::overlap
_save_filterbank_t
multibandcompressor
::fftfb_plug_t
MHAOvlFilter::overlap
_save_filterbank_analytic_t fftfilterbank::fftfb
_plug_t
addsndfile::sndfile_t
MHAWindow::fun_t
MHAWindow::user_t
MHAWindow::bartlett_t
MHAWindow::blackman_t
MHAWindow::hamming_t
MHAWindow::hanning_t
MHAWindow::rect_t
Public Member Functions
waveform_t (const unsigned int &frames, const unsigned int &channels)
constructor of waveform_t (p. 812)
waveform_t (const mhaconfig_t &cf)
Constructor to create a waveform from plugin configuration.
waveform_t (const mha_wave_t &src)
Copy contructor for mha_wave_t (p. 496) source.
waveform_t (const MHASignal::waveform_t &src)
Copy contructor.
waveform_t (const std::vector<mha_real_t >&src)
Copy contructor for std::vector<mha_real_t>source.
virtual waveform_t (void)
void operator= (const mha_real_t &v)
mha_real_t &operator[ ] (unsigned int k)
const mha_real_t &operator[ ] (unsigned int k) const
mha_real_t &value (unsigned int t, unsigned int ch)
Element accessor.
mha_real_t &operator() (unsigned int t, unsigned int ch)
Element accessor.
const mha_real_t &value (unsigned int t, unsigned int ch) const
© 2005-2019 HörTech gGmbH, Oldenburg
5.307 MHASignal::waveform_t Class Reference 813
Constant element accessor.
const mha_real_t &operator() (unsigned int t, unsigned int ch) const
Constant element accessor.
mha_real_t sum (const unsigned int &a, const unsigned int &b)
sum of all elements between [a,b) in all channels
mha_real_t sum (const unsigned int &a, const unsigned int &b, const unsigned int &ch)
sum of all elements between [a,b) in channel ch
mha_real_t sum ()
sum of all elements
mha_real_t sumsqr ()
sum of square of all elements
mha_real_t sum_channel (const unsigned int &)
return sum of all elements in one channel
void assign (const unsigned int &k, const unsigned int &ch, const mha_real_t &val)
set frame "k" in channel "ch" to value "val"
void assign (const mha_real_t &)
set all elements to value
void assign_frame (const unsigned int &k, const mha_real_t &val)
assign value "val" to frame k in all channels
void assign_channel (const unsigned int &c, const mha_real_t &val)
assign value "val" to channel ch in all frames
void copy (const std::vector<mha_real_t >&v)
void copy (const mha_wave_t &)
copy data from source into current waveform
void copy (const mha_wave_t )
void copy_channel (const mha_wave_t &, unsigned int, unsigned int)
Copy one channel of a given waveform signal to a target channel.
void copy_from_at (unsigned int, unsigned int, const mha_wave_t &, unsigned int)
Copy part of the source signal into part of this waveform object.
void export_to (mha_wave_t &)
copy data into allocated mha_wave_t (p. 496) structure
void limit (const mha_real_t &min, const mha_real_t &max)
limit target to range [min,max]
void power (const waveform_t &)
transform waveform signal (in Pa) to squared signal (in W/m2)
void powspec (const mha_spec_t &)
get the power spectrum (in W/m2) from a complex spectrum
void scale (const unsigned int &a, const unsigned int &b, const unsigned int &ch, const
mha_real_t &val)
scale section [a,b) in channel "ch" by "val"
void scale (const unsigned int &k, const unsigned int &ch, const mha_real_t &val)
scale one element
void scale_channel (const unsigned int &, const mha_real_t &)
scale one channel of target with a scalar
void scale_frame (const unsigned int &, const mha_real_t &)
unsigned int get_size () const
© 2005-2019 HörTech gGmbH, Oldenburg
814 CONTENTS
Additional Inherited Members
5.307.1 Detailed Description
signal processing class for waveform data (based on mha_wave_t (p. 496))
5.307.2 Constructor & Destructor Documentation
5.307.2.1 waveform_t::waveform_t (
const unsigned int & frames,
const unsigned int & channels )
constructor of waveform_t (p. 812)
Allocates buffer memory and initializes values to zero.
Parameters
frames number of frames in each channel
channels number of channels
5.307.2.2 waveform_t::waveform_t (
const mhaconfig_t &cf )[explicit]
Constructor to create a waveform from plugin configuration.
Parameters
cf Plugin configuration
5.307.2.3 waveform_t::waveform_t (
const mha_wave_t &src )[explicit]
Copy contructor for mha_wave_t (p. 496) source.
5.307.2.4 waveform_t::waveform_t (
const MHASignal::waveform_t &src )
Copy contructor.
5.307.2.5 waveform_t::waveform_t (
const std::vector<mha_real_t >&src )
Copy contructor for std::vector<mha_real_t>source.
A waveform structure with a single channel is created, the length is equal to the number of
elements in the source vector.
© 2005-2019 HörTech gGmbH, Oldenburg
5.307 MHASignal::waveform_t Class Reference 815
5.307.2.6 waveform_t::waveform_t (
void ) [virtual]
Reimplemented in MHA_AC::waveform_t (p. 427).
5.307.3 Member Function Documentation
5.307.3.1 void MHASignal::waveform_t::operator= (
const mha_real_t &v)[inline]
5.307.3.2 mha_real_t& MHASignal::waveform_t::operator[ ] (
unsigned int k)[inline]
5.307.3.3 const mha_real_t& MHASignal::waveform_t::operator[ ] (
unsigned int k) const [inline]
5.307.3.4 mha_real_t& MHASignal::waveform_t::value (
unsigned int t,
unsigned int ch )[inline]
Element accessor.
Parameters
tFrame number
ch Channel number
Returns
Reference to element
5.307.3.5 mha_real_t& MHASignal::waveform_t::operator() (
unsigned int t,
unsigned int ch )[inline]
Element accessor.
Parameters
tFrame number
ch Channel number
© 2005-2019 HörTech gGmbH, Oldenburg
816 CONTENTS
Returns
Reference to element
5.307.3.6 const mha_real_t& MHASignal::waveform_t::value (
unsigned int t,
unsigned int ch ) const [inline]
Constant element accessor.
Parameters
tFrame number
ch Channel number
Returns
Reference to element
5.307.3.7 const mha_real_t& MHASignal::waveform_t::operator() (
unsigned int t,
unsigned int ch ) const [inline]
Constant element accessor.
Parameters
tFrame number
ch Channel number
Returns
Reference to element
5.307.3.8 mha_real_t waveform_t::sum (
const unsigned int & a,
const unsigned int & b)
sum of all elements between [a,b) in all channels
Parameters
astarting frame
bend frame (excluded)
© 2005-2019 HörTech gGmbH, Oldenburg
5.307 MHASignal::waveform_t Class Reference 817
Returns
sum
5.307.3.9 mha_real_t waveform_t::sum (
const unsigned int & a,
const unsigned int & b,
const unsigned int & ch )
sum of all elements between [a,b) in channel ch
Parameters
astarting frame
bend frame (exluded)
ch channel number
Returns
sum
5.307.3.10 mha_real_t waveform_t::sum ( )
sum of all elements
Returns
sum of all elements
5.307.3.11 mha_real_t waveform_t::sumsqr ( )
sum of square of all elements
Returns
sum of square of all elements
5.307.3.12 mha_real_t waveform_t::sum_channel (
const unsigned int & ch )
return sum of all elements in one channel
© 2005-2019 HörTech gGmbH, Oldenburg
818 CONTENTS
Parameters
ch channel number
Returns
sum
5.307.3.13 void waveform_t::assign (
const unsigned int & k,
const unsigned int & ch,
const mha_real_t &val )
set frame "k" in channel "ch" to value "val"
Parameters
kframe number
ch channel number
val new value
5.307.3.14 void waveform_t::assign (
const mha_real_t &val )
set all elements to value
Parameters
val new value
5.307.3.15 void waveform_t::assign_frame (
const unsigned int & k,
const mha_real_t &val )
assign value "val" to frame k in all channels
Parameters
kframe number
val new value
© 2005-2019 HörTech gGmbH, Oldenburg
5.307 MHASignal::waveform_t Class Reference 819
5.307.3.16 void waveform_t::assign_channel (
const unsigned int & ch,
const mha_real_t &val )
assign value "val" to channel ch in all frames
Parameters
ch channel number
val new value
5.307.3.17 void waveform_t::copy (
const std::vector<mha_real_t >&v)
5.307.3.18 void waveform_t::copy (
const mha_wave_t &src )
copy data from source into current waveform
Parameters
src input data (need to be same size as target)
5.307.3.19 void waveform_t::copy (
const mha_wave_t src )
5.307.3.20 void waveform_t::copy_channel (
const mha_wave_t &src,
unsigned int src_channel,
unsigned int dest_channel )
Copy one channel of a given waveform signal to a target channel.
Parameters
src Input waveform signal
src_channel Channel in source signal
dest_channel Channel number in destination signal
© 2005-2019 HörTech gGmbH, Oldenburg
820 CONTENTS
5.307.3.21 void waveform_t::copy_from_at (
unsigned int to_pos,
unsigned int len,
const mha_wave_t &src,
unsigned int from_pos )
Copy part of the source signal into part of this waveform object.
Source and target have to have the same number of channels.
Parameters
to_pos Offset in target
len Number of frames copied
src Source
from_pos Offset in source
5.307.3.22 void waveform_t::export_to (
mha_wave_t &dest )
copy data into allocated mha_wave_t (p. 496) structure
Parameters
dest destination structure
5.307.3.23 void waveform_t::limit (
const mha_real_t &min,
const mha_real_t &max )
limit target to range [min,max]
Parameters
min lower limit
max upper limit
5.307.3.24 void waveform_t::power (
const waveform_t &src )
transform waveform signal (in Pa) to squared signal (in W/m2)
Parameters
src linear waveform signal (in Pa)
© 2005-2019 HörTech gGmbH, Oldenburg
5.307 MHASignal::waveform_t Class Reference 821
5.307.3.25 void waveform_t::powspec (
const mha_spec_t &src )
get the power spectrum (in W/m2) from a complex spectrum
Parameters
src complex spectrum (normalized to Pa)
5.307.3.26 void waveform_t::scale (
const unsigned int & a,
const unsigned int & b,
const unsigned int & ch,
const mha_real_t &val )
scale section [a,b) in channel "ch" by "val"
Parameters
astarting frame
bend frame (excluded)
ch channel number
val scale factor
5.307.3.27 void waveform_t::scale (
const unsigned int & k,
const unsigned int & ch,
const mha_real_t &val )
scale one element
Parameters
kframe number
ch channel number
val scale factor
5.307.3.28 void waveform_t::scale_channel (
const unsigned int & ch,
const mha_real_t &src )
scale one channel of target with a scalar
© 2005-2019 HörTech gGmbH, Oldenburg
822 CONTENTS
Parameters
ch channel number
src factor
5.307.3.29 void waveform_t::scale_frame (
const unsigned int & frame,
const mha_real_t &val )
5.307.3.30 unsigned int MHASignal::waveform_t::get_size ( ) const [inline]
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
5.308 MHASndFile::sf_t Class Reference
Inheritance diagram for MHASndFile::sf_t:
MHASndFile::sf_t
MHASndFile::sf_wave_t
addsndfile::resampled
_soundfile_t
Public Member Functions
sf_t (const std::string &fname)
sf_t ()
© 2005-2019 HörTech gGmbH, Oldenburg
5.309 MHASndFile::sf_wave_t Class Reference 823
Public Attributes
SNDFILE sf
5.308.1 Constructor & Destructor Documentation
5.308.1.1 MHASndFile::sf_t::sf_t (
const std::string & fname )
5.308.1.2 MHASndFile::sf_t::sf_t ( )
5.308.2 Member Data Documentation
5.308.2.1 SNDFILEMHASndFile::sf_t::sf
The documentation for this class was generated from the following files:
mhasndfile.h
mhasndfile.cpp
5.309 MHASndFile::sf_wave_t Class Reference
Inheritance diagram for MHASndFile::sf_wave_t:
MHASndFile::sf_wave_t
addsndfile::resampled
_soundfile_t
MHASndFile::sf_t MHASignal::waveform_t
mha_wave_t
© 2005-2019 HörTech gGmbH, Oldenburg
824 CONTENTS
Public Member Functions
sf_wave_t (const std::string &fname, mha_real_t peaklevel_db, unsigned int
maxlen=std::numeric_limits<unsigned int >::max(), unsigned int startpos=0, std-
::vector<int >channel_map=std::vector<int >())
Additional Inherited Members
5.309.1 Constructor & Destructor Documentation
5.309.1.1 MHASndFile::sf_wave_t::sf_wave_t (
const std::string & fname,
mha_real_t peaklevel_db,
unsigned int maxlen = std::numeric_limits<unsigned int>:-
:max(),
unsigned int startpos = 0,
std::vector<int >channel_map = std::vector<int>() )
The documentation for this class was generated from the following files:
mhasndfile.h
mhasndfile.cpp
5.310 MHATableLookup::linear_table_t Class Reference
Class for interpolation with equidistant x values.
Inheritance diagram for MHATableLookup::linear_table_t:
MHATableLookup::linear
_table_t
MHATableLookup::table_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.310 MHATableLookup::linear_table_t Class Reference 825
Public Member Functions
linear_table_t (void)
contructor creates an empty linear_table_t (p. 824) object.
mha_real_t lookup (mha_real_t x) const
look up the y value that is stored for the mesh point where x is lower than or equal to the x
value given here.
mha_real_t interp (mha_real_t x) const
interpolate y value for the given x value.
linear_table_t (void)
destructor
void set_xmin (mha_real_t xmin)
set the x value for the first mesh point.
void add_entry (mha_real_t y)
set the y value for the next mesh point.
void set_xmax (mha_real_t xmax)
this sets the x value for a past-the-end, not added mesh point.
void prepare (void)
prepare computes the x distance of the mesh points based on the values given to set_xmin,
set_xmax, and the number of times that add_entry was called.
void clear (void)
clear resets the state of this object to the state directly after construction.
Protected Attributes
mha_real_t vy
unsigned int len
Private Attributes
• vector<mha_real_t >vec_y
mha_real_t xmin
mha_real_t xmax
mha_real_t scalefac
Additional Inherited Members
5.310.1 Detailed Description
Class for interpolation with equidistant x values.
This class can be used for linear interpolation tasks where the mesh points are known for
equidistant x values.
Before the class can be used for interpolation, it has to be filled with the y values for the mesh
points, the x range has to be specified, and when all values are given, the prepare method has
to be called so that the object can determine the distance between x values from the range and
the number of mesh points given.
Only after prepare has returned, the object may be used for interpolation.
© 2005-2019 HörTech gGmbH, Oldenburg
826 CONTENTS
5.310.2 Constructor & Destructor Documentation
5.310.2.1 linear_table_t::linear_table_t (
void )
contructor creates an empty linear_table_t (p. 824) object.
add_entry, set_xmin, set_xmax and prepare methods have to be called before the object can
be used to lookup and interpolate values.
5.310.2.2 linear_table_t::linear_table_t (
void )
destructor
5.310.3 Member Function Documentation
5.310.3.1 mha_real_t linear_table_t::lookup (
mha_real_t x) const [virtual]
look up the y value that is stored for the mesh point where x is lower than or equal to the x value
given here.
This method does not extrapolate, so for x <xmin, the y value for xmin is returned. For all x
greater than the x of the last mesh point, the y value of the last mesh point is returned.
Precondition
prepare must have been called before lookup may be called.
Implements MHATableLookup::table_t (p. 829).
5.310.3.2 mha_real_t linear_table_t::interp (
mha_real_t x) const [virtual]
interpolate y value for the given x value.
The y values for the neighbouring mesh points are looked up and linearly interpolated. For x
values outside the range of mesh points, the y value is extrapolated from the nearest two mesh
points.
Precondition
prepare must have been called before interp may be called.
Implements MHATableLookup::table_t (p. 829).
© 2005-2019 HörTech gGmbH, Oldenburg
5.310 MHATableLookup::linear_table_t Class Reference 827
5.310.3.3 void linear_table_t::set_xmin (
mha_real_t xmin )
set the x value for the first mesh point.
Must be called before prepare can be called.
5.310.3.4 void linear_table_t::add_entry (
mha_real_t y)
set the y value for the next mesh point.
Must be called at least twice before prepare can be called.
5.310.3.5 void linear_table_t::set_xmax (
mha_real_t xmax )
this sets the x value for a past-the-end, not added mesh point.
Example:
t.set_xmin(100);
t.add_entry(0); // mesh point {100,0}
t.add_entry(1); // mesh point {110,1}
// the next mesh point would be at x=120, but we do not add this
t.set_xmax(120); // the x where the next mesh point would be
t.prepare();
now, t.interp(100) == 0; t.interp(110) == 1; t.interp(105) == 0.5;
5.310.3.6 void linear_table_t::prepare (
void )
prepare computes the x distance of the mesh points based on the values given to set_xmin,
set_xmax, and the number of times that add_entry was called.
Precondition
set_xmin, set_xmax, add_entry functions must have been called before calling prepare,
add_entry must have been called at least twice.
Only after this method has been called, interp or lookup may be called.
© 2005-2019 HörTech gGmbH, Oldenburg
828 CONTENTS
5.310.3.7 void linear_table_t::clear (
void ) [virtual]
clear resets the state of this object to the state directly after construction.
mesh entries and x range are deleted.
interp and lookup may not be called after this function has been called unless prepare and
before that its precondition methods are called again.
Implements MHATableLookup::table_t (p. 829).
5.310.4 Member Data Documentation
5.310.4.1 mha_real_tMHATableLookup::linear_table_t::vy [protected]
5.310.4.2 unsigned int MHATableLookup::linear_table_t::len [protected]
5.310.4.3 vector<mha_real_t>MHATableLookup::linear_table_t::vec_y [private]
5.310.4.4 mha_real_t MHATableLookup::linear_table_t::xmin [private]
5.310.4.5 mha_real_t MHATableLookup::linear_table_t::xmax [private]
5.310.4.6 mha_real_t MHATableLookup::linear_table_t::scalefac [private]
The documentation for this class was generated from the following files:
mha_tablelookup.hh
mha_tablelookup.cpp
5.311 MHATableLookup::table_t Class Reference
Inheritance diagram for MHATableLookup::table_t:
MHATableLookup::table_t
MHATableLookup::linear
_table_t MHATableLookup::xy
_table_t
MHAOvlFilter::barkscale
::bark2hz_t MHAOvlFilter::barkscale
::hz2bark_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.311 MHATableLookup::table_t Class Reference 829
Public Member Functions
table_t (void)
virtual table_t (void)
virtual mha_real_t lookup (mha_real_t) const =0
virtual mha_real_t interp (mha_real_t) const =0
Protected Member Functions
virtual void clear (void)=0
5.311.1 Constructor & Destructor Documentation
5.311.1.1 table_t::table_t (
void )
5.311.1.2 table_t::table_t (
void ) [virtual]
5.311.2 Member Function Documentation
5.311.2.1 virtual mha_real_t MHATableLookup::table_t::lookup (
mha_real_t ) const [pure virtual]
Implemented in MHATableLookup::xy_table_t (p. 831), and MHATableLookup::linear_-
table_t (p. 826).
5.311.2.2 virtual mha_real_t MHATableLookup::table_t::interp (
mha_real_t ) const [pure virtual]
Implemented in MHATableLookup::xy_table_t (p. 832), and MHATableLookup::linear_-
table_t (p. 826).
5.311.2.3 virtual void MHATableLookup::table_t::clear (
void ) [protected],[pure virtual]
Implemented in MHATableLookup::xy_table_t (p. 832), and MHATableLookup::linear_-
table_t (p. 828).
The documentation for this class was generated from the following files:
mha_tablelookup.hh
mha_tablelookup.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
830 CONTENTS
5.312 MHATableLookup::xy_table_t Class Reference
Class for interpolation with non-equidistant x values.
Inheritance diagram for MHATableLookup::xy_table_t:
MHATableLookup::xy
_table_t
MHAOvlFilter::barkscale
::bark2hz_t MHAOvlFilter::barkscale
::hz2bark_t
MHATableLookup::table_t
Public Member Functions
xy_table_t ()
mha_real_t lookup (mha_real_t x) const
Return the y-value at the position of the nearest x value below input.
mha_real_t interp (mha_real_t x) const
Linear interpolation function.
void add_entry (mha_real_t x, mha_real_t y)
Add a single x-y pair entry.
void add_entry (mha_real_t pVX, mha_real_t pVY, unsigned int len)
Add multiple entries at once.
void clear ()
Clear the table and transformation functions.
void set_xfun (float(pXFun)(float))
Set transformation function for x values.
void set_yfun (float(pYFun)(float))
Set transformation function for y values during insertion.
void set_xyfun (float(pYFun)(float, float))
Set transformation function for y values during insertion, based on x and y values.
• std::pair<mha_real_t,mha_real_t >get_xlimits () const
returns the min and max x of all mesh points that are stored in the lookup table, i.e.
© 2005-2019 HörTech gGmbH, Oldenburg
5.312 MHATableLookup::xy_table_t Class Reference 831
Private Attributes
• std::map<mha_real_t,mha_real_t >mXY
• float(xfun )(float)
• float(yfun )(float)
• float(xyfun )(float, float)
Additional Inherited Members
5.312.1 Detailed Description
Class for interpolation with non-equidistant x values.
Linear interpolation of the x-y table is performed. A transformation of x and y-values is possible;
if a transformation function is provided for the x-values, the same function is applied to the ar-
gument of xy_table_t::interp() (p. 832) and xy_table_t::lookup() (p. 831). The transformation
of y values is applied only during insertion into the table. Two functions for y-transformation
can be provided: a simple transformation which depends only on the y values, or a transfor-
mation which takes both (non-transformed) x and y value as an argument. The two-argument
transformation is applied before the one-argument transformation.
5.312.2 Constructor & Destructor Documentation
5.312.2.1 xy_table_t::xy_table_t ( )
5.312.3 Member Function Documentation
5.312.3.1 mha_real_t xy_table_t::lookup (
mha_real_t x) const [virtual]
Return the y-value at the position of the nearest x value below input.
Parameters
xInput value
Returns
y value at nearest x value below input.
Implements MHATableLookup::table_t (p. 829).
© 2005-2019 HörTech gGmbH, Oldenburg
832 CONTENTS
5.312.3.2 mha_real_t xy_table_t::interp (
mha_real_t x) const [virtual]
Linear interpolation function.
Parameters
xx value
Returns
interpolated y value
Implements MHATableLookup::table_t (p. 829).
5.312.3.3 void xy_table_t::add_entry (
mha_real_t x,
mha_real_t y)
Add a single x-y pair entry.
Parameters
xx value
ycorresponding y value
5.312.3.4 void xy_table_t::add_entry (
mha_real_t pVX,
mha_real_t pVY,
unsigned int uLength )
Add multiple entries at once.
Parameters
pVX array of x values
pVY array of y values
uLength Length of x and y arrays
5.312.3.5 void xy_table_t::clear (
void ) [virtual]
Clear the table and transformation functions.
Implements MHATableLookup::table_t (p. 829).
© 2005-2019 HörTech gGmbH, Oldenburg
5.312 MHATableLookup::xy_table_t Class Reference 833
5.312.3.6 void xy_table_t::set_xfun (
float()(float) fun )
Set transformation function for x values.
Parameters
fun Transformation function.
5.312.3.7 void xy_table_t::set_yfun (
float()(float) fun )
Set transformation function for y values during insertion.
Parameters
fun Transformation function.
5.312.3.8 void xy_table_t::set_xyfun (
float()(float, float) fun )
Set transformation function for y values during insertion, based on x and y values.
Parameters
fun Transformation function.
5.312.3.9 std::pair<mha_real_t,mha_real_t>MHATableLookup::xy_table_t::get_xlimits ( ) const
[inline]
returns the min and max x of all mesh points that are stored in the lookup table, i.e.
after transformation with xfun, if any. Not real-time safe
5.312.4 Member Data Documentation
5.312.4.1 std::map<mha_real_t,mha_real_t>MHATableLookup::xy_table_t::mXY [private]
5.312.4.2 float(MHATableLookup::xy_table_t::xfun) (float) [private]
5.312.4.3 float(MHATableLookup::xy_table_t::yfun) (float) [private]
5.312.4.4 float(MHATableLookup::xy_table_t::xyfun) (float, float) [private]
The documentation for this class was generated from the following files:
mha_tablelookup.hh
mha_tablelookup.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
834 CONTENTS
5.313 MHAWindow::bartlett_t Class Reference
Bartlett window.
Inheritance diagram for MHAWindow::bartlett_t:
MHAWindow::bartlett_t
MHAWindow::fun_t
MHAWindow::base_t
MHASignal::waveform_t
mha_wave_t
Public Member Functions
bartlett_t (unsigned int n)
Additional Inherited Members
5.313.1 Detailed Description
Bartlett window.
5.313.2 Constructor & Destructor Documentation
5.313.2.1 MHAWindow::bartlett_t::bartlett_t (
unsigned int n)[inline]
The documentation for this class was generated from the following file:
mha_windowparser.h
© 2005-2019 HörTech gGmbH, Oldenburg
5.314 MHAWindow::base_t Class Reference 835
5.314 MHAWindow::base_t Class Reference
Common base for window types.
Inheritance diagram for MHAWindow::base_t:
MHAWindow::base_t
MHAWindow::fun_t
MHAWindow::user_t
MHASignal::waveform_tmha_wave_t
MHAWindow::bartlett_t
MHAWindow::blackman_t
MHAWindow::hamming_t
MHAWindow::hanning_t
MHAWindow::rect_t
Public Member Functions
base_t (unsigned int len)
Constructor.
base_t (const MHAWindow::base_t &src)
Copy constructor.
void operator() (mha_wave_t &) const
Apply window to waveform segment (reference)
void operator() (mha_wave_t ) const
Apply window to waveform segment (pointer)
void ramp_begin (mha_wave_t &) const
Apply a ramp at the begining.
void ramp_end (mha_wave_t &) const
Apply a ramp at the end.
Additional Inherited Members
5.314.1 Detailed Description
Common base for window types.
5.314.2 Constructor & Destructor Documentation
5.314.2.1 MHAWindow::base_t::base_t (
unsigned int len )
Constructor.
© 2005-2019 HörTech gGmbH, Oldenburg
836 CONTENTS
Parameters
len Window length in samples.
5.314.2.2 MHAWindow::base_t::base_t (
const MHAWindow::base_t &src )
Copy constructor.
Parameters
src Source to be copied
5.314.3 Member Function Documentation
5.314.3.1 void MHAWindow::base_t::operator() (
mha_wave_t &s) const
Apply window to waveform segment (reference)
5.314.3.2 void MHAWindow::base_t::operator() (
mha_wave_t s) const
Apply window to waveform segment (pointer)
5.314.3.3 void MHAWindow::base_t::ramp_begin (
mha_wave_t &s) const
Apply a ramp at the begining.
5.314.3.4 void MHAWindow::base_t::ramp_end (
mha_wave_t &s) const
Apply a ramp at the end.
The documentation for this class was generated from the following files:
mha_windowparser.h
mha_windowparser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.315 MHAWindow::blackman_t Class Reference 837
5.315 MHAWindow::blackman_t Class Reference
Blackman window.
Inheritance diagram for MHAWindow::blackman_t:
MHAWindow::blackman_t
MHAWindow::fun_t
MHAWindow::base_t
MHASignal::waveform_t
mha_wave_t
Public Member Functions
blackman_t (unsigned int n)
Additional Inherited Members
5.315.1 Detailed Description
Blackman window.
5.315.2 Constructor & Destructor Documentation
5.315.2.1 MHAWindow::blackman_t::blackman_t (
unsigned int n)[inline]
The documentation for this class was generated from the following file:
mha_windowparser.h
© 2005-2019 HörTech gGmbH, Oldenburg
838 CONTENTS
5.316 MHAWindow::fun_t Class Reference
Generic window based on a generator function.
Inheritance diagram for MHAWindow::fun_t:
MHAWindow::fun_t
MHAWindow::bartlett_t
MHAWindow::blackman_t
MHAWindow::hamming_t
MHAWindow::hanning_t
MHAWindow::rect_t
MHAWindow::base_tMHASignal::waveform_tmha_wave_t
Public Member Functions
fun_t (unsigned int n, float(fun)(float), float xmin=-1, float xmax=1, bool min_-
included=true, bool max_included=false)
Constructor.
Additional Inherited Members
5.316.1 Detailed Description
Generic window based on a generator function.
The generator function should return a valid window function in the interval [-1,1[.
5.316.2 Constructor & Destructor Documentation
5.316.2.1 MHAWindow::fun_t::fun_t (
unsigned int n,
float()(float) fun,
float xmin = -1,
float xmax = 1,
bool min_included = true,
bool max_included = false )
Constructor.
© 2005-2019 HörTech gGmbH, Oldenburg
5.317 MHAWindow::hamming_t Class Reference 839
Parameters
nWindow length
fun Generator function, i.e. MHAWindow::hanning() (p. 127)
xmin Start value of window, i.e. -1 for full window or 0 for fade-out ramp.
xmax Last value of window, i.e. 1 for full window
min_included Flag if minimum value is included
max_included Flag if maximum value is included
The documentation for this class was generated from the following files:
mha_windowparser.h
mha_windowparser.cpp
5.317 MHAWindow::hamming_t Class Reference
Hamming window.
Inheritance diagram for MHAWindow::hamming_t:
MHAWindow::hamming_t
MHAWindow::fun_t
MHAWindow::base_t
MHASignal::waveform_t
mha_wave_t
© 2005-2019 HörTech gGmbH, Oldenburg
840 CONTENTS
Public Member Functions
hamming_t (unsigned int n)
Additional Inherited Members
5.317.1 Detailed Description
Hamming window.
5.317.2 Constructor & Destructor Documentation
5.317.2.1 MHAWindow::hamming_t::hamming_t (
unsigned int n)[inline]
The documentation for this class was generated from the following file:
mha_windowparser.h
5.318 MHAWindow::hanning_t Class Reference
von-Hann window
Inheritance diagram for MHAWindow::hanning_t:
MHAWindow::hanning_t
MHAWindow::fun_t
MHAWindow::base_t
MHASignal::waveform_t
mha_wave_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.319 MHAWindow::rect_t Class Reference 841
Public Member Functions
hanning_t (unsigned int n)
Additional Inherited Members
5.318.1 Detailed Description
von-Hann window
5.318.2 Constructor & Destructor Documentation
5.318.2.1 MHAWindow::hanning_t::hanning_t (
unsigned int n)[inline]
The documentation for this class was generated from the following file:
mha_windowparser.h
5.319 MHAWindow::rect_t Class Reference
Rectangular window.
Inheritance diagram for MHAWindow::rect_t:
MHAWindow::rect_t
MHAWindow::fun_t
MHAWindow::base_t
MHASignal::waveform_t
mha_wave_t
© 2005-2019 HörTech gGmbH, Oldenburg
842 CONTENTS
Public Member Functions
rect_t (unsigned int n)
Additional Inherited Members
5.319.1 Detailed Description
Rectangular window.
5.319.2 Constructor & Destructor Documentation
5.319.2.1 MHAWindow::rect_t::rect_t (
unsigned int n)[inline]
The documentation for this class was generated from the following file:
mha_windowparser.h
5.320 MHAWindow::user_t Class Reference
User defined window.
Inheritance diagram for MHAWindow::user_t:
MHAWindow::user_t
MHAWindow::base_t
MHASignal::waveform_t
mha_wave_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.320 MHAWindow::user_t Class Reference 843
Public Member Functions
user_t (const std::vector<mha_real_t >&wnd)
Constructor.
Additional Inherited Members
5.320.1 Detailed Description
User defined window.
5.320.2 Constructor & Destructor Documentation
5.320.2.1 MHAWindow::user_t::user_t (
const std::vector<mha_real_t >&wnd )
Constructor.
Parameters
wnd User defined window
The documentation for this class was generated from the following files:
mha_windowparser.h
mha_windowparser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
844 CONTENTS
5.321 mon_t Class Reference
Inheritance diagram for mon_t:
mon_t
MHA_AC::waveform_t
MHASignal::waveform_t
mha_wave_t
MHAParser::vfloat_mon_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
mon_t (unsigned int nch, std::string name,algo_comm_t ac, std::string base, MHA-
Parser::parser_t &p, std::string help)
void store ()
Additional Inherited Members
5.321.1 Constructor & Destructor Documentation
5.321.1.1 mon_t::mon_t (
unsigned int nch,
std::string name,
algo_comm_t ac,
std::string base,
MHAParser::parser_t &p,
std::string help )
5.321.2 Member Function Documentation
5.321.2.1 void mon_t::store ( )
The documentation for this class was generated from the following file:
rmslevel.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.322 multibandcompressor::fftfb_plug_t Class Reference 845
5.322 multibandcompressor::fftfb_plug_t Class Reference
Inheritance diagram for multibandcompressor::fftfb_plug_t:
multibandcompressor
::fftfb_plug_t
MHAOvlFilter::fftfb_t
MHAOvlFilter::fspacing_t MHASignal::waveform_t
mha_wave_t
Public Member Functions
fftfb_plug_t (MHAOvlFilter::fftfb_vars_t &, const mhaconfig_t &cfg, algo_comm_-
tac, std::string alg)
void insert ()
Private Attributes
MHA_AC::waveform_t cfv
vector of nominal center frequencies / Hz
MHA_AC::waveform_t efv
vector of edge frequencies / Hz
MHA_AC::waveform_t bwv
vector of band-weigths (sum of squared fft-bin-weigths)/num_frames
© 2005-2019 HörTech gGmbH, Oldenburg
846 CONTENTS
Additional Inherited Members
5.322.1 Constructor & Destructor Documentation
5.322.1.1 multibandcompressor::fftfb_plug_t::fftfb_plug_t (
MHAOvlFilter::fftfb_vars_t &vars,
const mhaconfig_t &cfg,
algo_comm_t ac,
std::string alg )
5.322.2 Member Function Documentation
5.322.2.1 void multibandcompressor::fftfb_plug_t::insert ( )
5.322.3 Member Data Documentation
5.322.3.1 MHA_AC::waveform_t multibandcompressor::fftfb_plug_t::cfv [private]
vector of nominal center frequencies / Hz
5.322.3.2 MHA_AC::waveform_t multibandcompressor::fftfb_plug_t::efv [private]
vector of edge frequencies / Hz
5.322.3.3 MHA_AC::waveform_t multibandcompressor::fftfb_plug_t::bwv [private]
vector of band-weigths (sum of squared fft-bin-weigths)/num_frames
The documentation for this class was generated from the following file:
multibandcompressor.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.323 multibandcompressor::interface_t Class Reference 847
5.323 multibandcompressor::interface_t Class Reference
Inheritance diagram for multibandcompressor::interface_t:
multibandcompressor
::interface_t
MHAPlugin::plugin_t
< fftfb_plug_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< fftfb_plug_t >
MHAOvlFilter::fftfb
_vars_t
Public Member Functions
interface_t (const algo_comm_t &, const std::string &, const std::string &)
void prepare (mhaconfig_t &)
void release ()
mha_spec_t process (mha_spec_t )
Private Member Functions
void update_cfg ()
Private Attributes
int num_channels
DynComp::dc_afterburn_t burn
MHAEvents::patchbay_t<interface_t >patchbay
std::string algo
MHAParser::mhapluginloader_t plug
plugin_signals_t plug_sigs
© 2005-2019 HörTech gGmbH, Oldenburg
848 CONTENTS
Additional Inherited Members
5.323.1 Constructor & Destructor Documentation
5.323.1.1 multibandcompressor::interface_t::interface_t (
const algo_comm_t &ac_,
const std::string & th,
const std::string & al )
Default values are set and MHA configuration variables registered into the parser.
Parameters
ac-
_
algorithm communication handle
th chain name
al algorithm name
5.323.2 Member Function Documentation
5.323.2.1 void multibandcompressor::interface_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<fftfb_plug_t >(p. 730).
5.323.2.2 void multibandcompressor::interface_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<fftfb_plug_t >(p. 731).
5.323.2.3 mha_spec_t multibandcompressor::interface_t::process (
mha_spec_t s)
5.323.2.4 void multibandcompressor::interface_t::update_cfg (
void ) [private]
5.323.3 Member Data Documentation
5.323.3.1 int multibandcompressor::interface_t::num_channels [private]
5.323.3.2 DynComp::dc_afterburn_t multibandcompressor::interface_t::burn [private]
© 2005-2019 HörTech gGmbH, Oldenburg
5.324 multibandcompressor::plugin_signals_t Class Reference 849
5.323.3.3 MHAEvents::patchbay_t<interface_t>multibandcompressor::interface_t::patchbay
[private]
5.323.3.4 std::string multibandcompressor::interface_t::algo [private]
5.323.3.5 MHAParser::mhapluginloader_t multibandcompressor::interface_t::plug [private]
5.323.3.6 plugin_signals_tmultibandcompressor::interface_t::plug_sigs [private]
The documentation for this class was generated from the following file:
multibandcompressor.cpp
5.324 multibandcompressor::plugin_signals_t Class Reference
Public Member Functions
plugin_signals_t (unsigned int channels, unsigned int bands)
void update_levels (MHAOvlFilter::fftfb_t ,mha_spec_t s_in)
void apply_gains (MHAOvlFilter::fftfb_t ,DynComp::dc_afterburn_t &burn, mha_-
spec_t s_out)
Public Attributes
mha_wave_t plug_output
Private Attributes
MHASignal::waveform_t plug_level
MHASignal::waveform_t gain
© 2005-2019 HörTech gGmbH, Oldenburg
850 CONTENTS
5.324.1 Constructor & Destructor Documentation
5.324.1.1 multibandcompressor::plugin_signals_t::plugin_signals_t (
unsigned int channels,
unsigned int bands )
5.324.2 Member Function Documentation
5.324.2.1 void multibandcompressor::plugin_signals_t::update_levels (
MHAOvlFilter::fftfb_t pFb,
mha_spec_t s_in )
5.324.2.2 void multibandcompressor::plugin_signals_t::apply_gains (
MHAOvlFilter::fftfb_t pFb,
DynComp::dc_afterburn_t &burn,
mha_spec_t s_out )
5.324.3 Member Data Documentation
5.324.3.1 MHASignal::waveform_t multibandcompressor::plugin_signals_t::plug_level
[private]
5.324.3.2 MHASignal::waveform_t multibandcompressor::plugin_signals_t::gain [private]
5.324.3.3 mha_wave_tmultibandcompressor::plugin_signals_t::plug_output
The documentation for this class was generated from the following file:
multibandcompressor.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.325 nlms_t Class Reference 851
5.325 nlms_t Class Reference
Inheritance diagram for nlms_t:
nlms_t
MHAPlugin::plugin_t
< rt_nlms_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< rt_nlms_t >
Public Member Functions
nlms_t (algo_comm_t, const char , const char )
void prepare (mhaconfig_t &)
void release ()
mha_wave_t process (mha_wave_t )
Private Member Functions
void update ()
Private Attributes
MHAParser::float_t rho
MHAParser::float_t c
MHAParser::int_t ntaps
MHAParser::string_t name_u
MHAParser::string_t name_d
MHAParser::kw_t normtype
© 2005-2019 HörTech gGmbH, Oldenburg
852 CONTENTS
MHAParser::kw_t estimtype
MHAParser::float_t lambda_smoothing_power
MHAParser::string_t name_e
MHAParser::string_t name_f
MHAParser::int_t n_no_update
std::string algo
MHAEvents::patchbay_t<nlms_t >patchbay
Additional Inherited Members
5.325.1 Constructor & Destructor Documentation
5.325.1.1 nlms_t::nlms_t (
algo_comm_t ac,
const char ,
const char ialg )
5.325.2 Member Function Documentation
5.325.2.1 void nlms_t::prepare (
mhaconfig_t &cf )[virtual]
Implements MHAPlugin::plugin_t<rt_nlms_t >(p. 730).
5.325.2.2 void nlms_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<rt_nlms_t >(p. 731).
5.325.2.3 mha_wave_t nlms_t::process (
mha_wave_t s)
5.325.2.4 void nlms_t::update ( ) [private]
5.325.3 Member Data Documentation
5.325.3.1 MHAParser::float_t nlms_t::rho [private]
5.325.3.2 MHAParser::float_t nlms_t::c [private]
5.325.3.3 MHAParser::int_t nlms_t::ntaps [private]
5.325.3.4 MHAParser::string_t nlms_t::name_u [private]
© 2005-2019 HörTech gGmbH, Oldenburg
5.326 noise_t Class Reference 853
5.325.3.5 MHAParser::string_t nlms_t::name_d [private]
5.325.3.6 MHAParser::kw_t nlms_t::normtype [private]
5.325.3.7 MHAParser::kw_t nlms_t::estimtype [private]
5.325.3.8 MHAParser::float_t nlms_t::lambda_smoothing_power [private]
5.325.3.9 MHAParser::string_t nlms_t::name_e [private]
5.325.3.10 MHAParser::string_t nlms_t::name_f [private]
5.325.3.11 MHAParser::int_t nlms_t::n_no_update [private]
5.325.3.12 std::string nlms_t::algo [private]
5.325.3.13 MHAEvents::patchbay_t<nlms_t>nlms_t::patchbay [private]
The documentation for this class was generated from the following file:
nlms_wave.cpp
5.326 noise_t Class Reference
Inheritance diagram for noise_t:
noise_t
MHAPlugin::plugin_t
< cfg_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< cfg_t >
© 2005-2019 HörTech gGmbH, Oldenburg
854 CONTENTS
Public Member Functions
noise_t (const algo_comm_t &, const std::string &, const std::string &)
mha_wave_t process (mha_wave_t )
mha_spec_t process (mha_spec_t )
void prepare (mhaconfig_t &)
void update_cfg ()
Private Attributes
MHAParser::float_t lev
MHAParser::kw_t mode
MHAParser::float_t frozennoise_length
MHAEvents::patchbay_t<noise_t >patchbay
Additional Inherited Members
5.326.1 Constructor & Destructor Documentation
5.326.1.1 noise_t::noise_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.326.2 Member Function Documentation
5.326.2.1 mha_wave_t noise_t::process (
mha_wave_t s)
5.326.2.2 mha_spec_t noise_t::process (
mha_spec_t s)
5.326.2.3 void noise_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<cfg_t >(p. 730).
© 2005-2019 HörTech gGmbH, Oldenburg
5.327 noisePowProposedScale::interface_t Class Reference 855
5.326.2.4 void noise_t::update_cfg (
void )
5.326.3 Member Data Documentation
5.326.3.1 MHAParser::float_t noise_t::lev [private]
5.326.3.2 MHAParser::kw_t noise_t::mode [private]
5.326.3.3 MHAParser::float_t noise_t::frozennoise_length [private]
5.326.3.4 MHAEvents::patchbay_t<noise_t>noise_t::patchbay [private]
The documentation for this class was generated from the following file:
noise.cpp
5.327 noisePowProposedScale::interface_t Class Reference
Inheritance diagram for noisePowProposedScale::interface_t:
noisePowProposedScale
::interface_t
MHAPlugin::plugin_t
< noisePowProposed >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< noisePowProposed >
© 2005-2019 HörTech gGmbH, Oldenburg
856 CONTENTS
Public Member Functions
interface_t (const algo_comm_t &, const std::string &, const std::string &)
mha_spec_t process (mha_spec_t )
void prepare (mhaconfig_t &)
Private Member Functions
void update_cfg ()
Private Attributes
MHAParser::float_t alphaPH1mean
MHAParser::float_t alphaPSD
MHAParser::float_t q
MHAParser::float_t xiOptDb
std::string name
MHAEvents::patchbay_t<interface_t >patchbay
Additional Inherited Members
5.327.1 Constructor & Destructor Documentation
5.327.1.1 noisePowProposedScale::interface_t::interface_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & iname )
5.327.2 Member Function Documentation
5.327.2.1 mha_spec_t noisePowProposedScale::interface_t::process (
mha_spec_t s)
5.327.2.2 void noisePowProposedScale::interface_t::prepare (
mhaconfig_t &cf )[virtual]
Implements MHAPlugin::plugin_t<noisePowProposed >(p. 730).
© 2005-2019 HörTech gGmbH, Oldenburg
5.328 noisePowProposedScale::noisePowProposed Class
Reference 857
5.327.2.3 void noisePowProposedScale::interface_t::update_cfg (
void ) [private]
5.327.3 Member Data Documentation
5.327.3.1 MHAParser::float_t noisePowProposedScale::interface_t::alphaPH1mean [private]
5.327.3.2 MHAParser::float_t noisePowProposedScale::interface_t::alphaPSD [private]
5.327.3.3 MHAParser::float_t noisePowProposedScale::interface_t::q [private]
5.327.3.4 MHAParser::float_t noisePowProposedScale::interface_t::xiOptDb [private]
5.327.3.5 std::string noisePowProposedScale::interface_t::name [private]
5.327.3.6 MHAEvents::patchbay_t<interface_t>noisePowProposedScale::interface_t::patchbay
[private]
The documentation for this class was generated from the following file:
noisePowProposedScale.cpp
5.328 noisePowProposedScale::noisePowProposed Class Reference
Public Member Functions
noisePowProposed (const mhaconfig_t &cf, algo_comm_t ac, const std::string
&name, float alphaPH1mean, float alphaPSD, float q, float xiOptDb)
void process (mha_spec_t noisyDftFrame)
void insert ()
Private Attributes
MHASignal::waveform_t noisyPer
MHASignal::waveform_t PH1mean
MHA_AC::waveform_t noisePow
MHA_AC::waveform_t inputPow
MHA_AC::waveform_t snrPost1Debug
MHA_AC::waveform_t GLRDebug
MHA_AC::waveform_t PH1Debug
MHA_AC::waveform_t estimateDebug
MHA_AC::spectrum_t inputSpec
float alphaPH1mean_
float alphaPSD_
float priorFact
float xiOpt
float logGLRFact
float GLRexp
int frameno
© 2005-2019 HörTech gGmbH, Oldenburg
858 CONTENTS
5.328.1 Constructor & Destructor Documentation
5.328.1.1 noisePowProposedScale::noisePowProposed::noisePowProposed (
const mhaconfig_t &cf,
algo_comm_t ac,
const std::string & name,
float alphaPH1mean,
float alphaPSD,
float q,
float xiOptDb )
5.328.2 Member Function Documentation
5.328.2.1 void noisePowProposedScale::noisePowProposed::process (
mha_spec_t noisyDftFrame )
5.328.2.2 void noisePowProposedScale::noisePowProposed::insert ( ) [inline]
5.328.3 Member Data Documentation
5.328.3.1 MHASignal::waveform_t noisePowProposedScale::noisePowProposed::noisyPer
[private]
5.328.3.2 MHASignal::waveform_t noisePowProposedScale::noisePowProposed::PH1mean
[private]
5.328.3.3 MHA_AC::waveform_t noisePowProposedScale::noisePowProposed::noisePow
[private]
5.328.3.4 MHA_AC::waveform_t noisePowProposedScale::noisePowProposed::inputPow
[private]
5.328.3.5 MHA_AC::waveform_t noisePowProposedScale::noisePowProposed::snrPost1Debug
[private]
5.328.3.6 MHA_AC::waveform_t noisePowProposedScale::noisePowProposed::GLRDebug
[private]
5.328.3.7 MHA_AC::waveform_t noisePowProposedScale::noisePowProposed::PH1Debug
[private]
5.328.3.8 MHA_AC::waveform_t noisePowProposedScale::noisePowProposed::estimateDebug
[private]
5.328.3.9 MHA_AC::spectrum_t noisePowProposedScale::noisePowProposed::inputSpec
[private]
© 2005-2019 HörTech gGmbH, Oldenburg
5.329 overlapadd::overlapadd_if_t Class Reference 859
5.328.3.10 float noisePowProposedScale::noisePowProposed::alphaPH1mean_ [private]
5.328.3.11 float noisePowProposedScale::noisePowProposed::alphaPSD_ [private]
5.328.3.12 float noisePowProposedScale::noisePowProposed::priorFact [private]
5.328.3.13 float noisePowProposedScale::noisePowProposed::xiOpt [private]
5.328.3.14 float noisePowProposedScale::noisePowProposed::logGLRFact [private]
5.328.3.15 float noisePowProposedScale::noisePowProposed::GLRexp [private]
5.328.3.16 int noisePowProposedScale::noisePowProposed::frameno [private]
The documentation for this class was generated from the following file:
noisePowProposedScale.cpp
5.329 overlapadd::overlapadd_if_t Class Reference
Inheritance diagram for overlapadd::overlapadd_if_t:
overlapadd::overlapadd_if_t
MHAPlugin::plugin_t
< overlapadd_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< overlapadd_t >
© 2005-2019 HörTech gGmbH, Oldenburg
860 CONTENTS
Public Member Functions
overlapadd_if_t (const algo_comm_t &, const std::string &, const std::string &)
overlapadd_if_t ()
void prepare (mhaconfig_t &)
void release ()
mha_wave_t process (mha_wave_t )
Private Member Functions
void update ()
Private Attributes
MHAEvents::patchbay_t<overlapadd_if_t >patchbay
MHAParser::int_t nfft
FFT length to be used, zero-padding is FFT length-wndlength.
MHAParser::int_t nwnd
Window length to be used (overlap is 1-fragsize/wndlength)
MHAParser::float_t wndpos
Relative position of zero padding (0 end, 0.5 center, 1 start)
MHAParser::window_t window
MHAParser::float_t wndexp
MHAParser::window_t zerowindow
MHAParser::mhapluginloader_t plugloader
MHAParser::float_mon_t prescale
MHAParser::float_mon_t postscale
std::string algo
mhaconfig_t cf_in
mhaconfig_t cf_out
Additional Inherited Members
5.329.1 Constructor & Destructor Documentation
5.329.1.1 overlapadd::overlapadd_if_t::overlapadd_if_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & ialg )
5.329.1.2 overlapadd::overlapadd_if_t::overlapadd_if_t ( )
5.329.2 Member Function Documentation
5.329.2.1 void overlapadd::overlapadd_if_t::prepare (
mhaconfig_t &t)[virtual]
Implements MHAPlugin::plugin_t<overlapadd_t >(p. 730).
© 2005-2019 HörTech gGmbH, Oldenburg
5.329 overlapadd::overlapadd_if_t Class Reference 861
5.329.2.2 void overlapadd::overlapadd_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<overlapadd_t >(p. 731).
5.329.2.3 mha_wave_t overlapadd::overlapadd_if_t::process (
mha_wave_t wave_in )
5.329.2.4 void overlapadd::overlapadd_if_t::update ( ) [private]
5.329.3 Member Data Documentation
5.329.3.1 MHAEvents::patchbay_t<overlapadd_if_t>overlapadd::overlapadd_if_t::patchbay
[private]
5.329.3.2 MHAParser::int_t overlapadd::overlapadd_if_t::nfft [private]
FFT length to be used, zero-padding is FFT length-wndlength.
5.329.3.3 MHAParser::int_t overlapadd::overlapadd_if_t::nwnd [private]
Window length to be used (overlap is 1-fragsize/wndlength)
5.329.3.4 MHAParser::float_t overlapadd::overlapadd_if_t::wndpos [private]
Relative position of zero padding (0 end, 0.5 center, 1 start)
5.329.3.5 MHAParser::window_t overlapadd::overlapadd_if_t::window [private]
5.329.3.6 MHAParser::float_t overlapadd::overlapadd_if_t::wndexp [private]
5.329.3.7 MHAParser::window_t overlapadd::overlapadd_if_t::zerowindow [private]
5.329.3.8 MHAParser::mhapluginloader_t overlapadd::overlapadd_if_t::plugloader [private]
5.329.3.9 MHAParser::float_mon_t overlapadd::overlapadd_if_t::prescale [private]
5.329.3.10 MHAParser::float_mon_t overlapadd::overlapadd_if_t::postscale [private]
5.329.3.11 std::string overlapadd::overlapadd_if_t::algo [private]
5.329.3.12 mhaconfig_t overlapadd::overlapadd_if_t::cf_in [private]
5.329.3.13 mhaconfig_t overlapadd::overlapadd_if_t::cf_out [private]
The documentation for this class was generated from the following file:
overlapadd.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
862 CONTENTS
5.330 overlapadd::overlapadd_t Class Reference
Public Member Functions
overlapadd_t (mhaconfig_t spar_in, mhaconfig_t spar_out, float wexp, float wnd-
pos, const MHAParser::window_t &window, const MHAParser::window_t &zerowin-
dow, float &prescale_fac, float &postscale_fac)
overlapadd_t ()
mha_spec_t ola1 (mha_wave_t )
mha_wave_t ola2 (mha_spec_t )
Private Attributes
mha_fft_t fft
MHAWindow::base_t prewnd
MHAWindow::base_t postwnd
MHASignal::waveform_t wave_in1
MHASignal::waveform_t wave_out1
MHASignal::spectrum_t spec_in
MHASignal::waveform_t calc_out
MHASignal::waveform_t out_buf
MHASignal::waveform_t write_buf
unsigned int n_zero
unsigned int n_pad1
unsigned int n_pad2
5.330.1 Constructor & Destructor Documentation
5.330.1.1 overlapadd::overlapadd_t::overlapadd_t (
mhaconfig_t spar_in,
mhaconfig_t spar_out,
float wexp,
float wndpos,
const MHAParser::window_t &window,
const MHAParser::window_t &zerowindow,
float & prescale_fac,
float & postscale_fac )
5.330.1.2 overlapadd::overlapadd_t::overlapadd_t ( )
5.330.2 Member Function Documentation
5.330.2.1 mha_spec_t overlapadd::overlapadd_t::ola1 (
mha_wave_t s)
© 2005-2019 HörTech gGmbH, Oldenburg
5.330 overlapadd::overlapadd_t Class Reference 863
5.330.2.2 mha_wave_t overlapadd::overlapadd_t::ola2 (
mha_spec_t s)
5.330.3 Member Data Documentation
5.330.3.1 mha_fft_t overlapadd::overlapadd_t::fft [private]
5.330.3.2 MHAWindow::base_t overlapadd::overlapadd_t::prewnd [private]
5.330.3.3 MHAWindow::base_t overlapadd::overlapadd_t::postwnd [private]
5.330.3.4 MHASignal::waveform_t overlapadd::overlapadd_t::wave_in1 [private]
5.330.3.5 MHASignal::waveform_t overlapadd::overlapadd_t::wave_out1 [private]
5.330.3.6 MHASignal::spectrum_t overlapadd::overlapadd_t::spec_in [private]
5.330.3.7 MHASignal::waveform_t overlapadd::overlapadd_t::calc_out [private]
5.330.3.8 MHASignal::waveform_t overlapadd::overlapadd_t::out_buf [private]
5.330.3.9 MHASignal::waveform_t overlapadd::overlapadd_t::write_buf [private]
5.330.3.10 unsigned int overlapadd::overlapadd_t::n_zero [private]
5.330.3.11 unsigned int overlapadd::overlapadd_t::n_pad1 [private]
5.330.3.12 unsigned int overlapadd::overlapadd_t::n_pad2 [private]
The documentation for this class was generated from the following file:
overlapadd.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
864 CONTENTS
5.331 parser_int_dyn Class Reference
Inheritance diagram for parser_int_dyn:
parser_int_dyn
MHAParser::int_t
MHAParser::range_var_t
MHAParser::variable_t
MHAParser::monitor_t
MHAParser::base_t
Public Member Functions
parser_int_dyn (const std::string &help_text, const std::string &initial_value, const std-
::string &range)
void set_max_angle_ind (unsigned int max_ind)
Additional Inherited Members
5.331.1 Constructor & Destructor Documentation
5.331.1.1 parser_int_dyn::parser_int_dyn (
const std::string & help_text,
const std::string & initial_value,
const std::string & range )[inline]
© 2005-2019 HörTech gGmbH, Oldenburg
5.332 plingploing::if_t Class Reference 865
5.331.2 Member Function Documentation
5.331.2.1 void parser_int_dyn::set_max_angle_ind (
unsigned int max_ind )[inline]
The documentation for this class was generated from the following file:
steerbf.h
5.332 plingploing::if_t Class Reference
Plugin class of the plingploing music generator.
Inheritance diagram for plingploing::if_t:
plingploing::if_t
MHAPlugin::plugin_t
< plingploing_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< plingploing_t >
Public Member Functions
if_t (algo_comm_t, const char , const char )
mha_wave_t process (mha_wave_t )
void prepare (mhaconfig_t &cf)
Private Member Functions
void update ()
© 2005-2019 HörTech gGmbH, Oldenburg
866 CONTENTS
Private Attributes
MHAEvents::patchbay_t<if_t >patchbay
MHAParser::float_t level
Output level in dB SPL.
MHAParser::float_t pitch
Bass pitch in Hz.
MHAParser::float_t fun1_key
Key1.
MHAParser::float_t fun1_range
Range1.
MHAParser::float_t fun2_key
Key 2.
MHAParser::float_t fun2_range
Range 2.
MHAParser::float_t bpm
Speed in beats per minute (bpm)
MHAParser::float_t minlen
Minimum note length in beats.
MHAParser::float_t maxlen
Maximum note length in beats.
MHAParser::float_t bassmod
Bass key modulation depth.
MHAParser::float_t bassperiod
Bass key modulation period.
Additional Inherited Members
5.332.1 Detailed Description
Plugin class of the plingploing music generator.
5.332.2 Constructor & Destructor Documentation
5.332.2.1 plingploing::if_t::if_t (
algo_comm_t iac,
const char ,
const char )
5.332.3 Member Function Documentation
5.332.3.1 mha_wave_t plingploing::if_t::process (
mha_wave_t s)
5.332.3.2 void plingploing::if_t::prepare (
mhaconfig_t &cf )[virtual]
Implements MHAPlugin::plugin_t<plingploing_t >(p. 730).
© 2005-2019 HörTech gGmbH, Oldenburg
5.332 plingploing::if_t Class Reference 867
5.332.3.3 void plingploing::if_t::update ( ) [private]
5.332.4 Member Data Documentation
5.332.4.1 MHAEvents::patchbay_t<if_t>plingploing::if_t::patchbay [private]
5.332.4.2 MHAParser::float_t plingploing::if_t::level [private]
Output level in dB SPL.
5.332.4.3 MHAParser::float_t plingploing::if_t::pitch [private]
Bass pitch in Hz.
5.332.4.4 MHAParser::float_t plingploing::if_t::fun1_key [private]
Key1.
5.332.4.5 MHAParser::float_t plingploing::if_t::fun1_range [private]
Range1.
5.332.4.6 MHAParser::float_t plingploing::if_t::fun2_key [private]
Key 2.
5.332.4.7 MHAParser::float_t plingploing::if_t::fun2_range [private]
Range 2.
5.332.4.8 MHAParser::float_t plingploing::if_t::bpm [private]
Speed in beats per minute (bpm)
5.332.4.9 MHAParser::float_t plingploing::if_t::minlen [private]
Minimum note length in beats.
5.332.4.10 MHAParser::float_t plingploing::if_t::maxlen [private]
Maximum note length in beats.
© 2005-2019 HörTech gGmbH, Oldenburg
868 CONTENTS
5.332.4.11 MHAParser::float_t plingploing::if_t::bassmod [private]
Bass key modulation depth.
5.332.4.12 MHAParser::float_t plingploing::if_t::bassperiod [private]
Bass key modulation period.
The documentation for this class was generated from the following file:
plingploing.cpp
5.333 plingploing::plingploing_t Class Reference
Run-time configuration of the plingploing music generator.
Public Member Functions
plingploing_t (mhaconfig_t,mha_real_t level,mha_real_t pitch, mha_real_t k1,
mha_real_t k2, mha_real_t i1, mha_real_t i2, mha_real_t bpm, mha_real_t minlen,
mha_real_t maxlen, mha_real_t bassmod, mha_real_t bassperiod)
void process (mha_wave_t )
Private Attributes
mhaconfig_t cf
mha_real_t pitch_
unsigned int bt
unsigned int t
unsigned int len
mha_real_t dur_
mha_real_t minlen_
mha_real_t maxlen_
mha_real_t bass
mha_real_t freq
mha_real_t fun1_key
mha_real_t fun1_range
mha_real_t fun1
mha_real_t fun2
mha_real_t fun2_key
mha_real_t fun2_range
mha_real_t dist
mha_real_t dist1
mha_real_t alph
mha_real_t rms
mha_real_t bassmod_
mha_real_t bassperiod_
MHAWindow::hanning_t hann1
MHAWindow::hanning_t hann2
mha_real_t level
© 2005-2019 HörTech gGmbH, Oldenburg
5.333 plingploing::plingploing_t Class Reference 869
5.333.1 Detailed Description
Run-time configuration of the plingploing music generator.
5.333.2 Constructor & Destructor Documentation
5.333.2.1 plingploing::plingploing_t::plingploing_t (
mhaconfig_t c,
mha_real_t level,
mha_real_t pitch,
mha_real_t k1,
mha_real_t k2,
mha_real_t i1,
mha_real_t i2,
mha_real_t bpm,
mha_real_t minlen,
mha_real_t maxlen,
mha_real_t bassmod,
mha_real_t bassperiod )
5.333.3 Member Function Documentation
5.333.3.1 void plingploing::plingploing_t::process (
mha_wave_t s)
5.333.4 Member Data Documentation
5.333.4.1 mhaconfig_t plingploing::plingploing_t::cf [private]
5.333.4.2 mha_real_t plingploing::plingploing_t::pitch_ [private]
5.333.4.3 unsigned int plingploing::plingploing_t::bt [private]
5.333.4.4 unsigned int plingploing::plingploing_t::t [private]
5.333.4.5 unsigned int plingploing::plingploing_t::len [private]
5.333.4.6 mha_real_t plingploing::plingploing_t::dur_ [private]
5.333.4.7 mha_real_t plingploing::plingploing_t::minlen_ [private]
5.333.4.8 mha_real_t plingploing::plingploing_t::maxlen_ [private]
5.333.4.9 mha_real_t plingploing::plingploing_t::bass [private]
© 2005-2019 HörTech gGmbH, Oldenburg
870 CONTENTS
5.333.4.10 mha_real_t plingploing::plingploing_t::freq [private]
5.333.4.11 mha_real_t plingploing::plingploing_t::fun1_key [private]
5.333.4.12 mha_real_t plingploing::plingploing_t::fun1_range [private]
5.333.4.13 mha_real_t plingploing::plingploing_t::fun1 [private]
5.333.4.14 mha_real_t plingploing::plingploing_t::fun2 [private]
5.333.4.15 mha_real_t plingploing::plingploing_t::fun2_key [private]
5.333.4.16 mha_real_t plingploing::plingploing_t::fun2_range [private]
5.333.4.17 mha_real_t plingploing::plingploing_t::dist [private]
5.333.4.18 mha_real_t plingploing::plingploing_t::dist1 [private]
5.333.4.19 mha_real_t plingploing::plingploing_t::alph [private]
5.333.4.20 mha_real_t plingploing::plingploing_t::rms [private]
5.333.4.21 mha_real_t plingploing::plingploing_t::bassmod_ [private]
5.333.4.22 mha_real_t plingploing::plingploing_t::bassperiod_ [private]
5.333.4.23 MHAWindow::hanning_t plingploing::plingploing_t::hann1 [private]
5.333.4.24 MHAWindow::hanning_t plingploing::plingploing_t::hann2 [private]
5.333.4.25 mha_real_t plingploing::plingploing_t::level [private]
The documentation for this class was generated from the following file:
plingploing.cpp
5.334 plug_t Class Reference
Inheritance diagram for plug_t:
plug_t
MHAKernel::algo_comm
_class_t
PluginLoader::mhapluginloader_t
PluginLoader::config
_file_splitter_t
MHAParser::c_ifc_parser_tMHAParser::base_t
PluginLoader::fourway
_processor_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.334 plug_t Class Reference 871
Public Member Functions
plug_t (const std::string &libname, const std::string &chain, const std::string &algo)
plug_t () throw ()
MHAProc_wave2wave_t get_process_wave ()
MHAProc_wave2spec_t get_process_spec ()
void get_handle ()
algo_comm_t get_ac ()
Additional Inherited Members
5.334.1 Constructor & Destructor Documentation
5.334.1.1 plug_t::plug_t (
const std::string & libname,
const std::string & chain,
const std::string & algo )
5.334.1.2 plug_t::plug_t ( ) throw ) [inline]
5.334.2 Member Function Documentation
5.334.2.1 MHAProc_wave2wave_t plug_t::get_process_wave ( )
5.334.2.2 MHAProc_wave2spec_t plug_t::get_process_spec ( )
5.334.2.3 void plug_t::get_handle ( )
5.334.2.4 algo_comm_t plug_t::get_ac ( ) [inline]
The documentation for this class was generated from the following file:
analysispath.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
872 CONTENTS
5.335 plugin_interface_t Class Reference
Inheritance diagram for plugin_interface_t:
plugin_interface_t
MHAPlugin::plugin_t
< example5_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< example5_t >
Public Member Functions
plugin_interface_t (const algo_comm_t &, const std::string &, const std::string &)
mha_spec_t process (mha_spec_t )
void prepare (mhaconfig_t &)
Private Member Functions
void update_cfg ()
Private Attributes
MHAParser::int_t scale_ch
MHAParser::float_t factor
MHAEvents::patchbay_t<plugin_interface_t >patchbay
© 2005-2019 HörTech gGmbH, Oldenburg
5.336 pluginbrowser_t Class Reference 873
Additional Inherited Members
5.335.1 Constructor & Destructor Documentation
5.335.1.1 plugin_interface_t::plugin_interface_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.335.2 Member Function Documentation
5.335.2.1 mha_spec_t plugin_interface_t::process (
mha_spec_t spec )
5.335.2.2 void plugin_interface_t::prepare (
mhaconfig_t &tfcfg )[virtual]
Implements MHAPlugin::plugin_t<example5_t >(p. 730).
5.335.2.3 void plugin_interface_t::update_cfg ( ) [private]
5.335.3 Member Data Documentation
5.335.3.1 MHAParser::int_t plugin_interface_t::scale_ch [private]
5.335.3.2 MHAParser::float_t plugin_interface_t::factor [private]
5.335.3.3 MHAEvents::patchbay_t<plugin_interface_t>plugin_interface_t::patchbay
[private]
The documentation for this class was generated from the following file:
example5.cpp
5.336 pluginbrowser_t Class Reference
Public Member Functions
pluginbrowser_t ()
void get_paths ()
plugindescription_t scan_plugin (const std::string &name)
void add_plugins ()
void clear_plugins ()
void scan_plugins ()
void add_plugin (const std::string &name)
• std::list<plugindescription_t >get_plugins () const
© 2005-2019 HörTech gGmbH, Oldenburg
874 CONTENTS
Private Attributes
std::string plugin_extension
• std::list<std::string >library_paths
• std::list<plugindescription_t >plugins
• std::map<std::string, pluginloader_t >p
5.336.1 Constructor & Destructor Documentation
5.336.1.1 pluginbrowser_t::pluginbrowser_t ( )
5.336.2 Member Function Documentation
5.336.2.1 void pluginbrowser_t::get_paths ( )
5.336.2.2 plugindescription_t pluginbrowser_t::scan_plugin (
const std::string & name )
5.336.2.3 void pluginbrowser_t::add_plugins ( )
5.336.2.4 void pluginbrowser_t::clear_plugins ( )
5.336.2.5 void pluginbrowser_t::scan_plugins ( )
5.336.2.6 void pluginbrowser_t::add_plugin (
const std::string & name )
5.336.2.7 std::list<plugindescription_t>pluginbrowser_t::get_plugins ( ) const [inline]
5.336.3 Member Data Documentation
5.336.3.1 std::string pluginbrowser_t::plugin_extension [private]
5.336.3.2 std::list<std::string>pluginbrowser_t::library_paths [private]
5.336.3.3 std::list<plugindescription_t>pluginbrowser_t::plugins [private]
5.336.3.4 std::map<std::string,pluginloader_t>pluginbrowser_t::p [private]
The documentation for this class was generated from the following files:
pluginbrowser.h
pluginbrowser.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.337 plugindescription_t Class Reference 875
5.337 plugindescription_t Class Reference
Public Attributes
std::string name
std::string fullname
std::string documentation
• std::vector<std::string >categories
bool wave2wave
bool wave2spec
bool spec2wave
bool spec2spec
• std::vector<std::string >query_cmds
• std::map<std::string, std::string >queries
5.337.1 Member Data Documentation
5.337.1.1 std::string plugindescription_t::name
5.337.1.2 std::string plugindescription_t::fullname
5.337.1.3 std::string plugindescription_t::documentation
5.337.1.4 std::vector<std::string>plugindescription_t::categories
5.337.1.5 bool plugindescription_t::wave2wave
5.337.1.6 bool plugindescription_t::wave2spec
5.337.1.7 bool plugindescription_t::spec2wave
5.337.1.8 bool plugindescription_t::spec2spec
5.337.1.9 std::vector<std::string>plugindescription_t::query_cmds
5.337.1.10 std::map<std::string,std::string>plugindescription_t::queries
The documentation for this class was generated from the following file:
pluginbrowser.h
© 2005-2019 HörTech gGmbH, Oldenburg
876 CONTENTS
5.338 PluginLoader::config_file_splitter_t Class Reference
Inheritance diagram for PluginLoader::config_file_splitter_t:
PluginLoader::config
_file_splitter_t
PluginLoader::mhapluginloader_t
mhaplug_cfg_t plug_t pluginloader_t
Public Member Functions
config_file_splitter_t (const std::string &name)
const std::string & get_configname () const
const std::string & get_libname () const
const std::string & get_origname () const
const std::string & get_configfile () const
Private Attributes
std::string libname
std::string configname
std::string origname
std::string configfile
5.338.1 Constructor & Destructor Documentation
5.338.1.1 PluginLoader::config_file_splitter_t::config_file_splitter_t (
const std::string & name )
5.338.2 Member Function Documentation
© 2005-2019 HörTech gGmbH, Oldenburg
5.339 PluginLoader::fourway_processor_t Class Reference 877
5.338.2.1 const std::string& PluginLoader::config_file_splitter_t::get_configname ( ) const
[inline]
5.338.2.2 const std::string& PluginLoader::config_file_splitter_t::get_libname ( ) const [inline]
5.338.2.3 const std::string& PluginLoader::config_file_splitter_t::get_origname ( ) const [inline]
5.338.2.4 const std::string& PluginLoader::config_file_splitter_t::get_configfile ( ) const [inline]
5.338.3 Member Data Documentation
5.338.3.1 std::string PluginLoader::config_file_splitter_t::libname [private]
5.338.3.2 std::string PluginLoader::config_file_splitter_t::configname [private]
5.338.3.3 std::string PluginLoader::config_file_splitter_t::origname [private]
5.338.3.4 std::string PluginLoader::config_file_splitter_t::configfile [private]
The documentation for this class was generated from the following files:
mhapluginloader.h
mhapluginloader.cpp
5.339 PluginLoader::fourway_processor_t Class Reference
This abstract class defines the interface for classes that implement all types of signal domain
processing supported by the MHA: wave2wave, spec2spec, wave2spec, and spec2wave.
Inheritance diagram for PluginLoader::fourway_processor_t:
PluginLoader::fourway
_processor_t
PluginLoader::mhapluginloader_t
mhaplug_cfg_t plug_t pluginloader_t
© 2005-2019 HörTech gGmbH, Oldenburg
878 CONTENTS
Public Member Functions
virtual void process (mha_wave_t s_in, mha_wave_t ∗∗s_out)=0
Pure waveform processing.
virtual void process (mha_spec_t s_in, mha_spec_t ∗∗s_out)=0
Pure spectrum processing.
virtual void process (mha_wave_t s_in, mha_spec_t ∗∗s_out)=0
Signal processing with domain transformation from waveform to spectrum.
virtual void process (mha_spec_t s_in, mha_wave_t ∗∗s_out)=0
Signal processing with domain transformation from spectrum to waveform.
virtual void prepare (mhaconfig_t &settings)=0
Prepares the processor for signal processing.
virtual void release ()=0
Resources allocated for signal processing in fourway_processor_t::prepare (p. 880) are re-
leased here in fourway_processor_t::release (p. 880).
virtual std::string parse (const std::string &query)=0
Parser interface.
virtual fourway_processor_t ()
Classes with virtual methods need virtual destructor.
5.339.1 Detailed Description
This abstract class defines the interface for classes that implement all types of signal domain
processing supported by the MHA: wave2wave, spec2spec, wave2spec, and spec2wave.
For supporting different output domains for the same input domain, the processing methods
are overloaded with respect to input domain and output domain.
5.339.2 Constructor & Destructor Documentation
5.339.2.1 virtual PluginLoader::fourway_processor_t::fourway_processor_t ( ) [inline],
[virtual]
Classes with virtual methods need virtual destructor.
This destructor is empty.
5.339.3 Member Function Documentation
5.339.3.1 virtual void PluginLoader::fourway_processor_t::process (
mha_wave_t s_in,
mha_wave_t ∗∗ s_out )[pure virtual]
Pure waveform processing.
© 2005-2019 HörTech gGmbH, Oldenburg
5.339 PluginLoader::fourway_processor_t Class Reference 879
Parameters
s_in input waveform signal
s_out output waveform signal
Implemented in PluginLoader::mhapluginloader_t (p. 883).
5.339.3.2 virtual void PluginLoader::fourway_processor_t::process (
mha_spec_t s_in,
mha_spec_t ∗∗ s_out )[pure virtual]
Pure spectrum processing.
Parameters
s_in input spectrum signal
s_out output spectrum signal
Implemented in PluginLoader::mhapluginloader_t (p. 883).
5.339.3.3 virtual void PluginLoader::fourway_processor_t::process (
mha_wave_t s_in,
mha_spec_t ∗∗ s_out )[pure virtual]
Signal processing with domain transformation from waveform to spectrum.
Parameters
s_in input waveform signal
s_out output spectrum signal
Implemented in PluginLoader::mhapluginloader_t (p. 883).
5.339.3.4 virtual void PluginLoader::fourway_processor_t::process (
mha_spec_t s_in,
mha_wave_t ∗∗ s_out )[pure virtual]
Signal processing with domain transformation from spectrum to waveform.
Parameters
s_in input spectrum signal
s_out output waveform signal
© 2005-2019 HörTech gGmbH, Oldenburg
880 CONTENTS
Implemented in PluginLoader::mhapluginloader_t (p. 883).
5.339.3.5 virtual void PluginLoader::fourway_processor_t::prepare (
mhaconfig_t &settings )[pure virtual]
Prepares the processor for signal processing.
Parameters
settings domain and dimensions of the signal. The contents of settings may be modified
by the prepare implementation. Upon calling fourway_processor_t::prepare
(p. 880), settings reflects domain and dimensions of the input signal. When
fourway_processor_t::prepare (p. 880) returns, settings reflects domain and
dimensions of the output signal.
Implemented in PluginLoader::mhapluginloader_t (p. 883).
5.339.3.6 virtual void PluginLoader::fourway_processor_t::release ( ) [pure virtual]
Resources allocated for signal processing in fourway_processor_t::prepare (p. 880) are re-
leased here in fourway_processor_t::release (p. 880).
Implemented in PluginLoader::mhapluginloader_t (p. 883).
5.339.3.7 virtual std::string PluginLoader::fourway_processor_t::parse (
const std::string & query )[pure virtual]
Parser interface.
Implemented in PluginLoader::mhapluginloader_t (p. 883).
The documentation for this class was generated from the following file:
mhapluginloader.h
5.340 PluginLoader::mhapluginloader_t Class Reference
Inheritance diagram for PluginLoader::mhapluginloader_t:
PluginLoader::mhapluginloader_t
mhaplug_cfg_t
plug_t
pluginloader_t
PluginLoader::config
_file_splitter_t
MHAParser::c_ifc_parser_tMHAParser::base_t
PluginLoader::fourway
_processor_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.340 PluginLoader::mhapluginloader_t Class Reference 881
Public Member Functions
std::string parse (const std::string &str)
mhapluginloader_t (algo_comm_t iac, const std::string &libname, bool check_-
version=true)
Loads and initializes mha plugin and establishes interface.
mhapluginloader_t () throw ()
bool has_process (mha_domain_t in, mha_domain_t out) const
bool has_parser () const
mha_domain_t input_domain () const
mha_domain_t output_domain () const
void prepare (mhaconfig_t &)
void release ()
void process (mha_wave_t ,mha_wave_t ∗∗)
void process (mha_spec_t ,mha_spec_t ∗∗)
void process (mha_wave_t ,mha_spec_t ∗∗)
void process (mha_spec_t ,mha_wave_t ∗∗)
std::string getfullname () const
std::string get_documentation () const
• std::vector<std::string >get_categories () const
bool is_prepared () const
Protected Member Functions
void test_error ()
void test_version ()
void mha_test_struct_size (unsigned int s)
void resolve_and_init ()
Protected Attributes
int lib_err
algo_comm_t ac
dynamiclib_t lib_handle
void lib_data
MHAGetVersion_t MHAGetVersion_cb
MHAInit_t MHAInit_cb
MHADestroy_t MHADestroy_cb
MHAPrepare_t MHAPrepare_cb
MHARelease_t MHARelease_cb
MHAProc_wave2wave_t MHAProc_wave2wave_cb
MHAProc_spec2spec_t MHAProc_spec2spec_cb
MHAProc_wave2spec_t MHAProc_wave2spec_cb
MHAProc_spec2wave_t MHAProc_spec2wave_cb
MHASet_t MHASet_cb
MHAStrError_t MHAStrError_cb
© 2005-2019 HörTech gGmbH, Oldenburg
882 CONTENTS
mhaconfig_t cf_input
mhaconfig_t cf_output
std::string plugin_documentation
• std::vector<std::string >plugin_categories
bool b_check_version
bool b_is_prepared
Additional Inherited Members
5.340.1 Constructor & Destructor Documentation
5.340.1.1 PluginLoader::mhapluginloader_t::mhapluginloader_t (
algo_comm_t iac,
const std::string & libname,
bool check_version = true )
Loads and initializes mha plugin and establishes interface.
Parameters
iac AC space (algorithm communication variables)
libname Either file name of MHA plugin without platform-specific extension (i.e. "identity"
for "identity.so" or "identity.dll") to be found on the MHA_LIBRARY_PATH (which
is an environment variable). Or the same file name without extension followed by
a colon ":" followed by the "configuration name" of the MHA plugin, which may be
used to differentiate between multiple identical MHA plugins or to give the plugin
a self-documenting name that fits its purpose. The library name - configuration
name expression can be followed by a "<" followed by a configuration file name,
which will be read after initialization of the plugin.
Example: "overlapadd:agc<compression.cfg" will load the plugin "overlapadd.so" or
"overlapadd.dll", insert it as the configuration node "agc", and reads the configuration file
"compression.cfg" into that node.
Parameters
check_version Pluginloader will not check that the plugin was built using a known
compatible MHA version if this flag is set to false. Disabling version check
is discouraged.
5.340.1.2 PluginLoader::mhapluginloader_t::mhapluginloader_t ( ) throw )
5.340.2 Member Function Documentation
© 2005-2019 HörTech gGmbH, Oldenburg
5.340 PluginLoader::mhapluginloader_t Class Reference 883
5.340.2.1 std::string PluginLoader::mhapluginloader_t::parse (
const std::string & str )[inline],[virtual]
Implements PluginLoader::fourway_processor_t (p. 880).
5.340.2.2 bool PluginLoader::mhapluginloader_t::has_process (
mha_domain_t in,
mha_domain_t out ) const
5.340.2.3 bool PluginLoader::mhapluginloader_t::has_parser ( ) const
5.340.2.4 mha_domain_t PluginLoader::mhapluginloader_t::input_domain ( ) const
5.340.2.5 mha_domain_t PluginLoader::mhapluginloader_t::output_domain ( ) const
5.340.2.6 void PluginLoader::mhapluginloader_t::prepare (
mhaconfig_t &tf )[virtual]
Implements PluginLoader::fourway_processor_t (p. 880).
5.340.2.7 void PluginLoader::mhapluginloader_t::release ( ) [virtual]
Implements PluginLoader::fourway_processor_t (p. 880).
5.340.2.8 void PluginLoader::mhapluginloader_t::process (
mha_wave_t s_in,
mha_wave_t ∗∗ s_out )[virtual]
Implements PluginLoader::fourway_processor_t (p. 878).
5.340.2.9 void PluginLoader::mhapluginloader_t::process (
mha_spec_t s_in,
mha_spec_t ∗∗ s_out )[virtual]
Implements PluginLoader::fourway_processor_t (p. 879).
5.340.2.10 void PluginLoader::mhapluginloader_t::process (
mha_wave_t s_in,
mha_spec_t ∗∗ s_out )[virtual]
Implements PluginLoader::fourway_processor_t (p. 879).
5.340.2.11 void PluginLoader::mhapluginloader_t::process (
mha_spec_t s_in,
mha_wave_t ∗∗ s_out )[virtual]
Implements PluginLoader::fourway_processor_t (p. 879).
© 2005-2019 HörTech gGmbH, Oldenburg
884 CONTENTS
5.340.2.12 std::string PluginLoader::mhapluginloader_t::getfullname ( ) const [inline]
5.340.2.13 std::string PluginLoader::mhapluginloader_t::get_documentation ( ) const [inline]
5.340.2.14 std::vector<std::string>PluginLoader::mhapluginloader_t::get_categories ( ) const
[inline]
5.340.2.15 bool PluginLoader::mhapluginloader_t::is_prepared ( ) const [inline]
5.340.2.16 void PluginLoader::mhapluginloader_t::test_error ( ) [protected]
5.340.2.17 void PluginLoader::mhapluginloader_t::test_version ( ) [protected]
5.340.2.18 void PluginLoader::mhapluginloader_t::mha_test_struct_size (
unsigned int s)[protected]
5.340.2.19 void PluginLoader::mhapluginloader_t::resolve_and_init ( ) [protected]
5.340.3 Member Data Documentation
5.340.3.1 int PluginLoader::mhapluginloader_t::lib_err [protected]
5.340.3.2 algo_comm_t PluginLoader::mhapluginloader_t::ac [protected]
5.340.3.3 dynamiclib_t PluginLoader::mhapluginloader_t::lib_handle [protected]
5.340.3.4 voidPluginLoader::mhapluginloader_t::lib_data [protected]
5.340.3.5 MHAGetVersion_t PluginLoader::mhapluginloader_t::MHAGetVersion_cb
[protected]
5.340.3.6 MHAInit_t PluginLoader::mhapluginloader_t::MHAInit_cb [protected]
5.340.3.7 MHADestroy_t PluginLoader::mhapluginloader_t::MHADestroy_cb [protected]
5.340.3.8 MHAPrepare_t PluginLoader::mhapluginloader_t::MHAPrepare_cb [protected]
5.340.3.9 MHARelease_t PluginLoader::mhapluginloader_t::MHARelease_cb [protected]
5.340.3.10 MHAProc_wave2wave_t PluginLoader::mhapluginloader_t::MHAProc_wave2wave_cb
[protected]
5.340.3.11 MHAProc_spec2spec_t PluginLoader::mhapluginloader_t::MHAProc_spec2spec_cb
[protected]
© 2005-2019 HörTech gGmbH, Oldenburg
5.341 pluginloader_t Class Reference 885
5.340.3.12 MHAProc_wave2spec_t PluginLoader::mhapluginloader_t::MHAProc_wave2spec_cb
[protected]
5.340.3.13 MHAProc_spec2wave_t PluginLoader::mhapluginloader_t::MHAProc_spec2wave_cb
[protected]
5.340.3.14 MHASet_t PluginLoader::mhapluginloader_t::MHASet_cb [protected]
5.340.3.15 MHAStrError_t PluginLoader::mhapluginloader_t::MHAStrError_cb [protected]
5.340.3.16 mhaconfig_t PluginLoader::mhapluginloader_t::cf_input [protected]
5.340.3.17 mhaconfig_t PluginLoader::mhapluginloader_t::cf_output [protected]
5.340.3.18 std::string PluginLoader::mhapluginloader_t::plugin_documentation [protected]
5.340.3.19 std::vector<std::string>PluginLoader::mhapluginloader_t::plugin_categories
[protected]
5.340.3.20 bool PluginLoader::mhapluginloader_t::b_check_version [protected]
5.340.3.21 bool PluginLoader::mhapluginloader_t::b_is_prepared [protected]
The documentation for this class was generated from the following files:
mhapluginloader.h
mhapluginloader.cpp
5.341 pluginloader_t Class Reference
Inheritance diagram for pluginloader_t:
pluginloader_t
MHAKernel::algo_comm
_class_t
PluginLoader::mhapluginloader_t
PluginLoader::config
_file_splitter_t
MHAParser::c_ifc_parser_tMHAParser::base_t
PluginLoader::fourway
_processor_t
Public Member Functions
pluginloader_t (const std::string &name)
pluginloader_t () throw ()
© 2005-2019 HörTech gGmbH, Oldenburg
886 CONTENTS
Additional Inherited Members
5.341.1 Constructor & Destructor Documentation
5.341.1.1 pluginloader_t::pluginloader_t (
const std::string & name )
5.341.1.2 pluginloader_t::pluginloader_t ( ) throw )
The documentation for this class was generated from the following files:
pluginbrowser.h
pluginbrowser.cpp
5.342 prediction_error Class Reference
Inheritance diagram for prediction_error:
prediction_error
MHAPlugin::plugin_t
< prediction_error_config >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< prediction_error_config >
© 2005-2019 HörTech gGmbH, Oldenburg
5.342 prediction_error Class Reference 887
Public Member Functions
prediction_error (algo_comm_t &ac, const std::string &chain_name, const std::string
&algo_name)
Constructs our plugin.
prediction_error ()
mha_wave_t process (mha_wave_t )
Checks for the most recent configuration and defers processing to it.
void prepare (mhaconfig_t &)
Plugin preparation.
void release (void)
Public Attributes
MHAParser::float_t rho
MHAParser::float_t c
MHAParser::int_t ntaps
MHAParser::vfloat_t gains
MHAParser::string_t name_e
MHAParser::string_t name_f
MHAParser::string_t name_lpc
MHAParser::int_t lpc_order
MHAParser::vint_t pred_err_delay
MHAParser::vint_t delay_w
MHAParser::vint_t delay_d
MHAParser::int_t n_no_update
Private Member Functions
void update_cfg ()
Private Attributes
MHAEvents::patchbay_t<prediction_error >patchbay
Additional Inherited Members
5.342.1 Constructor & Destructor Documentation
5.342.1.1 prediction_error::prediction_error (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
© 2005-2019 HörTech gGmbH, Oldenburg
888 CONTENTS
5.342.1.2 prediction_error::prediction_error ( )
5.342.2 Member Function Documentation
5.342.2.1 mha_wave_t prediction_error::process (
mha_wave_t signal )
Checks for the most recent configuration and defers processing to it.
5.342.2.2 void prediction_error::prepare (
mhaconfig_t &signal_info )[virtual]
Plugin preparation.
An opportunity to validate configuration parameters before instantiating a configuration.
Parameters
signal_info Structure containing a description of the form of the signal (domain, number of
channels, frames per block, sampling rate.
Implements MHAPlugin::plugin_t<prediction_error_config >(p. 730).
5.342.2.3 void prediction_error::release (
void ) [inline],[virtual]
Reimplemented from MHAPlugin::plugin_t<prediction_error_config >(p. 731).
5.342.2.4 void prediction_error::update_cfg (
void ) [private]
5.342.3 Member Data Documentation
5.342.3.1 MHAParser::float_t prediction_error::rho
5.342.3.2 MHAParser::float_t prediction_error::c
5.342.3.3 MHAParser::int_t prediction_error::ntaps
5.342.3.4 MHAParser::vfloat_t prediction_error::gains
5.342.3.5 MHAParser::string_t prediction_error::name_e
5.342.3.6 MHAParser::string_t prediction_error::name_f
© 2005-2019 HörTech gGmbH, Oldenburg
5.343 prediction_error_config Class Reference 889
5.342.3.7 MHAParser::string_t prediction_error::name_lpc
5.342.3.8 MHAParser::int_t prediction_error::lpc_order
5.342.3.9 MHAParser::vint_t prediction_error::pred_err_delay
5.342.3.10 MHAParser::vint_t prediction_error::delay_w
5.342.3.11 MHAParser::vint_t prediction_error::delay_d
5.342.3.12 MHAParser::int_t prediction_error::n_no_update
5.342.3.13 MHAEvents::patchbay_t<prediction_error>prediction_error::patchbay
[private]
The documentation for this class was generated from the following files:
prediction_error.h
prediction_error.cpp
5.343 prediction_error_config Class Reference
Public Member Functions
prediction_error_config (algo_comm_t &ac, const mhaconfig_t in_cfg, prediction-
_error pred_err)
prediction_error_config ()
mha_wave_t process (mha_wave_t s_Y, mha_real_t rho, mha_real_t c)
void insert ()
Private Attributes
algo_comm_t ac
unsigned int ntaps
unsigned int frames
unsigned int channels
MHA_AC::waveform_t s_E
MHA_AC::waveform_t F
MHASignal::waveform_t Pu
Power of input signal delayline.
std::string name_d_
std::string name_lpc_
int n_no_update_
int no_iter
© 2005-2019 HörTech gGmbH, Oldenburg
890 CONTENTS
int iter
MHASignal::waveform_t v_G
MHASignal::waveform_t s_U
MHASignal::delay_t s_E_pred_err_delay
MHASignal::delay_t s_W
MHASignal::ringbuffer_t s_Wflt
MHASignal::delay_t s_U_delay
MHASignal::ringbuffer_t s_U_delayflt
MHASignal::waveform_t F_Uflt
MHASignal::delay_t s_Y_delay
MHASignal::ringbuffer_t s_Y_delayflt
MHASignal::ringbuffer_t UbufferPrew
mha_wave_t s_LPC
mha_wave_t UPrew
mha_wave_t YPrew
mha_wave_t EPrew
mha_wave_t UPrewW
mha_wave_t smpl
mha_wave_t s_Usmpl
5.343.1 Constructor & Destructor Documentation
5.343.1.1 prediction_error_config::prediction_error_config (
algo_comm_t &ac,
const mhaconfig_t in_cfg,
prediction_error pred_err )
5.343.1.2 prediction_error_config::prediction_error_config ( )
5.343.2 Member Function Documentation
5.343.2.1 mha_wave_t prediction_error_config::process (
mha_wave_t s_Y,
mha_real_t rho,
mha_real_t c)
5.343.2.2 void prediction_error_config::insert ( )
5.343.3 Member Data Documentation
5.343.3.1 algo_comm_t prediction_error_config::ac [private]
5.343.3.2 unsigned int prediction_error_config::ntaps [private]
© 2005-2019 HörTech gGmbH, Oldenburg
5.343 prediction_error_config Class Reference 891
5.343.3.3 unsigned int prediction_error_config::frames [private]
5.343.3.4 unsigned int prediction_error_config::channels [private]
5.343.3.5 MHA_AC::waveform_t prediction_error_config::s_E [private]
5.343.3.6 MHA_AC::waveform_t prediction_error_config::F [private]
5.343.3.7 MHASignal::waveform_t prediction_error_config::Pu [private]
Power of input signal delayline.
5.343.3.8 std::string prediction_error_config::name_d_ [private]
5.343.3.9 std::string prediction_error_config::name_lpc_ [private]
5.343.3.10 int prediction_error_config::n_no_update_ [private]
5.343.3.11 int prediction_error_config::no_iter [private]
5.343.3.12 int prediction_error_config::iter [private]
5.343.3.13 MHASignal::waveform_t prediction_error_config::v_G [private]
5.343.3.14 MHASignal::waveform_t prediction_error_config::s_U [private]
5.343.3.15 MHASignal::delay_t prediction_error_config::s_E_pred_err_delay [private]
5.343.3.16 MHASignal::delay_t prediction_error_config::s_W [private]
5.343.3.17 MHASignal::ringbuffer_t prediction_error_config::s_Wflt [private]
5.343.3.18 MHASignal::delay_t prediction_error_config::s_U_delay [private]
5.343.3.19 MHASignal::ringbuffer_t prediction_error_config::s_U_delayflt [private]
5.343.3.20 MHASignal::waveform_t prediction_error_config::F_Uflt [private]
5.343.3.21 MHASignal::delay_t prediction_error_config::s_Y_delay [private]
5.343.3.22 MHASignal::ringbuffer_t prediction_error_config::s_Y_delayflt [private]
5.343.3.23 MHASignal::ringbuffer_t prediction_error_config::UbufferPrew [private]
© 2005-2019 HörTech gGmbH, Oldenburg
892 CONTENTS
5.343.3.24 mha_wave_t prediction_error_config::s_LPC [private]
5.343.3.25 mha_wave_t prediction_error_config::UPrew [private]
5.343.3.26 mha_wave_t prediction_error_config::YPrew [private]
5.343.3.27 mha_wave_t prediction_error_config::EPrew [private]
5.343.3.28 mha_wave_t prediction_error_config::UPrewW [private]
5.343.3.29 mha_wave_t prediction_error_config::smpl [private]
5.343.3.30 mha_wave_tprediction_error_config::s_Usmpl [private]
The documentation for this class was generated from the following files:
prediction_error.h
prediction_error.cpp
5.344 rmslevel_if_t Class Reference
Inheritance diagram for rmslevel_if_t:
rmslevel_if_t
MHAPlugin::plugin_t
< rmslevel_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< rmslevel_t >
© 2005-2019 HörTech gGmbH, Oldenburg
5.344 rmslevel_if_t Class Reference 893
Public Member Functions
rmslevel_if_t (const algo_comm_t &, const std::string &, const std::string &)
mha_spec_t process (mha_spec_t )
mha_wave_t process (mha_wave_t )
void prepare (mhaconfig_t &)
Private Attributes
std::string name
Additional Inherited Members
5.344.1 Constructor & Destructor Documentation
5.344.1.1 rmslevel_if_t::rmslevel_if_t (
const algo_comm_t &iac,
const std::string & ith,
const std::string & ial )
5.344.2 Member Function Documentation
5.344.2.1 mha_spec_t rmslevel_if_t::process (
mha_spec_t s)
5.344.2.2 mha_wave_t rmslevel_if_t::process (
mha_wave_t s)
5.344.2.3 void rmslevel_if_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<rmslevel_t >(p. 730).
5.344.3 Member Data Documentation
5.344.3.1 std::string rmslevel_if_t::name [private]
The documentation for this class was generated from the following file:
rmslevel.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
894 CONTENTS
5.345 rmslevel_t Class Reference
Public Member Functions
rmslevel_t (unsigned int nch, algo_comm_t ac, std::string name, MHAParser::parser-
_t &p, unsigned int fftlen_)
mha_spec_t process (mha_spec_t )
mha_wave_t process (mha_wave_t )
void insert ()
Private Attributes
mon_t level_db
mon_t peak_db
mon_t level
mon_t peak
unsigned int fftlen
5.345.1 Constructor & Destructor Documentation
5.345.1.1 rmslevel_t::rmslevel_t (
unsigned int nch,
algo_comm_t ac,
std::string name,
MHAParser::parser_t &p,
unsigned int fftlen_ )
5.345.2 Member Function Documentation
5.345.2.1 mha_spec_t rmslevel_t::process (
mha_spec_t s)
5.345.2.2 mha_wave_t rmslevel_t::process (
mha_wave_t s)
5.345.2.3 void rmslevel_t::insert ( )
5.345.3 Member Data Documentation
5.345.3.1 mon_t rmslevel_t::level_db [private]
5.345.3.2 mon_t rmslevel_t::peak_db [private]
5.345.3.3 mon_t rmslevel_t::level [private]
5.345.3.4 mon_t rmslevel_t::peak [private]
5.345.3.5 unsigned int rmslevel_t::fftlen [private]
The documentation for this class was generated from the following file:
rmslevel.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.346 route::interface_t Class Reference 895
5.346 route::interface_t Class Reference
Inheritance diagram for route::interface_t:
route::interface_t
MHAPlugin::plugin_t
< route::process_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< route::process_t >
Public Member Functions
interface_t (algo_comm_t iac, const std::string &, const std::string &)
void prepare (mhaconfig_t &)
void release ()
mha_wave_t process (mha_wave_t )
mha_spec_t process (mha_spec_t )
Private Member Functions
void update ()
Private Attributes
MHAEvents::patchbay_t<route::interface_t >patchbay
MHAParser::vstring_t route_out
MHAParser::vstring_t route_ac
mhaconfig_t cfin
mhaconfig_t cfout
mhaconfig_t cfac
bool prepared
bool stopped
std::string algo
© 2005-2019 HörTech gGmbH, Oldenburg
896 CONTENTS
Additional Inherited Members
5.346.1 Constructor & Destructor Documentation
5.346.1.1 route::interface_t::interface_t (
algo_comm_t iac,
const std::string & ,
const std::string & ialg )
5.346.2 Member Function Documentation
5.346.2.1 void route::interface_t::prepare (
mhaconfig_t &cf )[virtual]
Implements MHAPlugin::plugin_t<route::process_t >(p. 730).
5.346.2.2 void route::interface_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<route::process_t >(p. 731).
5.346.2.3 mha_wave_t route::interface_t::process (
mha_wave_t s)
5.346.2.4 mha_spec_t route::interface_t::process (
mha_spec_t s)
5.346.2.5 void route::interface_t::update ( ) [private]
5.346.3 Member Data Documentation
5.346.3.1 MHAEvents::patchbay_t<route::interface_t>route::interface_t::patchbay
[private]
5.346.3.2 MHAParser::vstring_t route::interface_t::route_out [private]
5.346.3.3 MHAParser::vstring_t route::interface_t::route_ac [private]
5.346.3.4 mhaconfig_t route::interface_t::cfin [private]
5.346.3.5 mhaconfig_t route::interface_t::cfout [private]
5.346.3.6 mhaconfig_t route::interface_t::cfac [private]
5.346.3.7 bool route::interface_t::prepared [private]
5.346.3.8 bool route::interface_t::stopped [private]
5.346.3.9 std::string route::interface_t::algo [private]
The documentation for this class was generated from the following file:
route.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.347 route::process_t Class Reference 897
5.347 route::process_t Class Reference
Public Member Functions
process_t (algo_comm_t iac, const std::string acname, const std::vector<std::string
>&r_out, const std::vector<std::string >&r_ac, const mhaconfig_t &cf_in, const
mhaconfig_t &cf_out, const mhaconfig_t &cf_ac, bool sync)
mha_wave_t process (mha_wave_t )
mha_spec_t process (mha_spec_t )
Private Attributes
MHAMultiSrc::waveform_t wout
MHAMultiSrc::spectrum_t sout
MHAMultiSrc::waveform_t wout_ac
MHAMultiSrc::spectrum_t sout_ac
5.347.1 Constructor & Destructor Documentation
5.347.1.1 route::process_t::process_t (
algo_comm_t iac,
const std::string acname,
const std::vector<std::string >&r_out,
const std::vector<std::string >&r_ac,
const mhaconfig_t &cf_in,
const mhaconfig_t &cf_out,
const mhaconfig_t &cf_ac,
bool sync )
5.347.2 Member Function Documentation
5.347.2.1 mha_wave_t route::process_t::process (
mha_wave_t s)
5.347.2.2 mha_spec_t route::process_t::process (
mha_spec_t s)
5.347.3 Member Data Documentation
5.347.3.1 MHAMultiSrc::waveform_t route::process_t::wout [private]
5.347.3.2 MHAMultiSrc::spectrum_t route::process_t::sout [private]
5.347.3.3 MHAMultiSrc::waveform_t route::process_t::wout_ac [private]
5.347.3.4 MHAMultiSrc::spectrum_t route::process_t::sout_ac [private]
The documentation for this class was generated from the following file:
route.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
898 CONTENTS
5.348 rt_nlms_t Class Reference
Public Member Functions
rt_nlms_t (algo_comm_t iac, const std::string &name, const mhaconfig_t &cfg, un-
signed int ntaps_, const std::string &name_u, const std::string &name_d, const std::string
&name_e, const std::string &name_f, const int n_no_update)
rt_nlms_t ()
mha_wave_t process (mha_wave_t sUD, mha_real_t rho, mha_real_t c, unsigned
int norm_type, unsigned int estim_type, mha_real_t lambda_smooth)
void insert ()
Private Attributes
algo_comm_t ac
unsigned int ntaps
unsigned int frames
unsigned int channels
MHA_AC::waveform_t F
MHASignal::waveform_t U
Input signal cache.
MHASignal::waveform_t Uflt
Input signal cache (second filter)
MHASignal::waveform_t Pu
Power of input signal delayline.
MHASignal::waveform_t fu
Filtered input signal.
MHASignal::waveform_t fuflt
Filtered input signal.
MHASignal::waveform_t fu_previous
MHASignal::waveform_t y_previous
MHASignal::waveform_t P_Sum
std::string name_u_
std::string name_d_
std::string name_e_
int n_no_update_
int no_iter
mha_wave_t s_E
© 2005-2019 HörTech gGmbH, Oldenburg
5.348 rt_nlms_t Class Reference 899
5.348.1 Constructor & Destructor Documentation
5.348.1.1 rt_nlms_t::rt_nlms_t (
algo_comm_t iac,
const std::string & name,
const mhaconfig_t &cfg,
unsigned int ntaps_,
const std::string & name_u,
const std::string & name_d,
const std::string & name_e,
const std::string & name_f,
const int n_no_update )
5.348.1.2 rt_nlms_t::rt_nlms_t ( ) [inline]
5.348.2 Member Function Documentation
5.348.2.1 mha_wave_t rt_nlms_t::process (
mha_wave_t sUD,
mha_real_t rho,
mha_real_t c,
unsigned int norm_type,
unsigned int estim_type,
mha_real_t lambda_smooth )
5.348.2.2 void rt_nlms_t::insert ( )
5.348.3 Member Data Documentation
5.348.3.1 algo_comm_t rt_nlms_t::ac [private]
5.348.3.2 unsigned int rt_nlms_t::ntaps [private]
5.348.3.3 unsigned int rt_nlms_t::frames [private]
5.348.3.4 unsigned int rt_nlms_t::channels [private]
5.348.3.5 MHA_AC::waveform_t rt_nlms_t::F [private]
5.348.3.6 MHASignal::waveform_t rt_nlms_t::U [private]
Input signal cache.
5.348.3.7 MHASignal::waveform_t rt_nlms_t::Uflt [private]
Input signal cache (second filter)
© 2005-2019 HörTech gGmbH, Oldenburg
900 CONTENTS
5.348.3.8 MHASignal::waveform_t rt_nlms_t::Pu [private]
Power of input signal delayline.
5.348.3.9 MHASignal::waveform_t rt_nlms_t::fu [private]
Filtered input signal.
5.348.3.10 MHASignal::waveform_t rt_nlms_t::fuflt [private]
Filtered input signal.
5.348.3.11 MHASignal::waveform_t rt_nlms_t::fu_previous [private]
5.348.3.12 MHASignal::waveform_t rt_nlms_t::y_previous [private]
5.348.3.13 MHASignal::waveform_t rt_nlms_t::P_Sum [private]
5.348.3.14 std::string rt_nlms_t::name_u_ [private]
5.348.3.15 std::string rt_nlms_t::name_d_ [private]
5.348.3.16 std::string rt_nlms_t::name_e_ [private]
5.348.3.17 int rt_nlms_t::n_no_update_ [private]
5.348.3.18 int rt_nlms_t::no_iter [private]
5.348.3.19 mha_wave_t rt_nlms_t::s_E [private]
The documentation for this class was generated from the following file:
nlms_wave.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.349 save_spec_t Class Reference 901
5.349 save_spec_t Class Reference
Inheritance diagram for save_spec_t:
save_spec_t
MHAPlugin::plugin_t
< MHA_AC::spectrum_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< MHA_AC::spectrum_t >
Public Member Functions
save_spec_t (const algo_comm_t &iac, const std::string &ith, const std::string &ial)
mha_spec_t process (mha_spec_t s)
void prepare (mhaconfig_t &tf)
Private Attributes
std::string basename
Additional Inherited Members
5.349.1 Constructor & Destructor Documentation
5.349.1.1 save_spec_t::save_spec_t (
const algo_comm_t &iac,
const std::string & ith,
const std::string & ial )[inline]
© 2005-2019 HörTech gGmbH, Oldenburg
902 CONTENTS
5.349.2 Member Function Documentation
5.349.2.1 mha_spec_tsave_spec_t::process (
mha_spec_t s)[inline]
5.349.2.2 void save_spec_t::prepare (
mhaconfig_t &tf )[inline],[virtual]
Implements MHAPlugin::plugin_t<MHA_AC::spectrum_t >(p. 730).
5.349.3 Member Data Documentation
5.349.3.1 std::string save_spec_t::basename [private]
The documentation for this class was generated from the following file:
save_spec.cpp
5.350 save_wave_t Class Reference
Inheritance diagram for save_wave_t:
save_wave_t
MHAPlugin::plugin_t
< MHA_AC::waveform_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< MHA_AC::waveform_t >
© 2005-2019 HörTech gGmbH, Oldenburg
5.351 shadowfilter_begin::cfg_t Class Reference 903
Public Member Functions
save_wave_t (const algo_comm_t &iac, const std::string &ith, const std::string &ial)
mha_wave_t process (mha_wave_t s)
void prepare (mhaconfig_t &tf)
Private Attributes
std::string basename
Additional Inherited Members
5.350.1 Constructor & Destructor Documentation
5.350.1.1 save_wave_t::save_wave_t (
const algo_comm_t &iac,
const std::string & ith,
const std::string & ial )[inline]
5.350.2 Member Function Documentation
5.350.2.1 mha_wave_tsave_wave_t::process (
mha_wave_t s)[inline]
5.350.2.2 void save_wave_t::prepare (
mhaconfig_t &tf )[inline],[virtual]
Implements MHAPlugin::plugin_t<MHA_AC::waveform_t >(p. 730).
5.350.3 Member Data Documentation
5.350.3.1 std::string save_wave_t::basename [private]
The documentation for this class was generated from the following file:
save_wave.cpp
5.351 shadowfilter_begin::cfg_t Class Reference
Public Member Functions
cfg_t (int nfft, int inch, int outch, algo_comm_t ac, std::string name)
mha_spec_t process (mha_spec_t )
© 2005-2019 HörTech gGmbH, Oldenburg
904 CONTENTS
Private Attributes
MHA_AC::spectrum_t in_spec_copy
MHASignal::spectrum_t out_spec
MHA_AC::int_t nch
MHA_AC::int_t ntracks
5.351.1 Constructor & Destructor Documentation
5.351.1.1 cfg_t::cfg_t (
int nfft,
int inch,
int outch,
algo_comm_t ac,
std::string name )
5.351.2 Member Function Documentation
5.351.2.1 mha_spec_t cfg_t::process (
mha_spec_t s)
5.351.3 Member Data Documentation
5.351.3.1 MHA_AC::spectrum_t shadowfilter_begin::cfg_t::in_spec_copy [private]
5.351.3.2 MHASignal::spectrum_t shadowfilter_begin::cfg_t::out_spec [private]
5.351.3.3 MHA_AC::int_t shadowfilter_begin::cfg_t::nch [private]
5.351.3.4 MHA_AC::int_t shadowfilter_begin::cfg_t::ntracks [private]
The documentation for this class was generated from the following file:
shadowfilter_begin.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.352 shadowfilter_begin::shadowfilter_begin_t Class Reference905
5.352 shadowfilter_begin::shadowfilter_begin_t Class Reference
Inheritance diagram for shadowfilter_begin::shadowfilter_begin_t:
shadowfilter_begin
::shadowfilter_begin_t
MHAPlugin::plugin_t
< cfg_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< cfg_t >
Public Member Functions
shadowfilter_begin_t (const algo_comm_t &, const std::string &, const std::string &)
mha_spec_t process (mha_spec_t )
void prepare (mhaconfig_t &)
Private Attributes
std::string basename
MHAParser::int_t nch
MHAParser::int_t ntracks
Additional Inherited Members
5.352.1 Constructor & Destructor Documentation
© 2005-2019 HörTech gGmbH, Oldenburg
906 CONTENTS
5.352.1.1 shadowfilter_begin::shadowfilter_begin_t::shadowfilter_begin_t (
const algo_comm_t &iac,
const std::string & ith,
const std::string & ial )
5.352.2 Member Function Documentation
5.352.2.1 mha_spec_t shadowfilter_begin::shadowfilter_begin_t::process (
mha_spec_t s)
5.352.2.2 void shadowfilter_begin::shadowfilter_begin_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<cfg_t >(p. 730).
5.352.3 Member Data Documentation
5.352.3.1 std::string shadowfilter_begin::shadowfilter_begin_t::basename [private]
5.352.3.2 MHAParser::int_t shadowfilter_begin::shadowfilter_begin_t::nch [private]
5.352.3.3 MHAParser::int_t shadowfilter_begin::shadowfilter_begin_t::ntracks [private]
The documentation for this class was generated from the following file:
shadowfilter_begin.cpp
5.353 shadowfilter_end::cfg_t Class Reference
Public Member Functions
cfg_t (int nfft_, algo_comm_t ac_, std::string name_)
mha_spec_t process (mha_spec_t )
Private Attributes
algo_comm_t ac
std::string name
int nfft
int ntracks
int nch_out
mha_spec_t in_spec
MHASignal::spectrum_t out_spec
MHA_AC::spectrum_t gains
© 2005-2019 HörTech gGmbH, Oldenburg
5.353 shadowfilter_end::cfg_t Class Reference 907
5.353.1 Constructor & Destructor Documentation
5.353.1.1 cfg_t::cfg_t (
int nfft_,
algo_comm_t ac_,
std::string name_ )
5.353.2 Member Function Documentation
5.353.2.1 mha_spec_t cfg_t::process (
mha_spec_t s)
5.353.3 Member Data Documentation
5.353.3.1 algo_comm_t shadowfilter_end::cfg_t::ac [private]
5.353.3.2 std::string shadowfilter_end::cfg_t::name [private]
5.353.3.3 int shadowfilter_end::cfg_t::nfft [private]
5.353.3.4 int shadowfilter_end::cfg_t::ntracks [private]
5.353.3.5 int shadowfilter_end::cfg_t::nch_out [private]
5.353.3.6 mha_spec_t shadowfilter_end::cfg_t::in_spec [private]
5.353.3.7 MHASignal::spectrum_t shadowfilter_end::cfg_t::out_spec [private]
5.353.3.8 MHA_AC::spectrum_t shadowfilter_end::cfg_t::gains [private]
The documentation for this class was generated from the following file:
shadowfilter_end.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
908 CONTENTS
5.354 shadowfilter_end::shadowfilter_end_t Class Reference
Inheritance diagram for shadowfilter_end::shadowfilter_end_t:
shadowfilter_end::shadowfilter
_end_t
MHAPlugin::plugin_t
< cfg_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< cfg_t >
Public Member Functions
shadowfilter_end_t (const algo_comm_t &, const std::string &, const std::string &)
mha_spec_t process (mha_spec_t )
void prepare (mhaconfig_t &)
Private Attributes
MHAParser::string_t basename
Additional Inherited Members
5.354.1 Constructor & Destructor Documentation
5.354.1.1 shadowfilter_end::shadowfilter_end_t::shadowfilter_end_t (
const algo_comm_t &iac,
const std::string & ith,
const std::string & ial )
© 2005-2019 HörTech gGmbH, Oldenburg
5.355 sine_cfg_t Struct Reference 909
5.354.2 Member Function Documentation
5.354.2.1 mha_spec_t shadowfilter_end::shadowfilter_end_t::process (
mha_spec_t s)
5.354.2.2 void shadowfilter_end::shadowfilter_end_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<cfg_t >(p. 730).
5.354.3 Member Data Documentation
5.354.3.1 MHAParser::string_t shadowfilter_end::shadowfilter_end_t::basename [private]
The documentation for this class was generated from the following file:
shadowfilter_end.cpp
5.355 sine_cfg_t Struct Reference
Public Member Functions
sine_cfg_t (double sampling_rate, mha_real_t frequency, mha_real_t newlev, int _mix,
const std::vector<int >&_channels)
Public Attributes
double phase_increment_div_2pi
double amplitude
int mix
const std::vector<int >channels
© 2005-2019 HörTech gGmbH, Oldenburg
910 CONTENTS
5.355.1 Constructor & Destructor Documentation
5.355.1.1 sine_cfg_t::sine_cfg_t (
double sampling_rate,
mha_real_t frequency,
mha_real_t newlev,
int _mix,
const std::vector<int >&_channels )[inline]
5.355.2 Member Data Documentation
5.355.2.1 double sine_cfg_t::phase_increment_div_2pi
5.355.2.2 double sine_cfg_t::amplitude
5.355.2.3 int sine_cfg_t::mix
5.355.2.4 const std::vector<int>sine_cfg_t::channels
The documentation for this struct was generated from the following file:
sine.cpp
5.356 sine_t Class Reference
Inheritance diagram for sine_t:
sine_t
MHAPlugin::plugin_t
< sine_cfg_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< sine_cfg_t >
© 2005-2019 HörTech gGmbH, Oldenburg
5.356 sine_t Class Reference 911
Public Member Functions
sine_t (const algo_comm_t &, const std::string &chain_name, const std::string &algo-
_name)
sine_t ()
mha_wave_t process (mha_wave_t )
void prepare (mhaconfig_t &)
Private Member Functions
void update_cfg ()
Private Attributes
MHAParser::float_t lev
MHAParser::float_t frequency
MHAParser::kw_t mode
MHAParser::vint_t channels
double phase_div_2pi
MHAEvents::patchbay_t<sine_t >patchbay
Additional Inherited Members
5.356.1 Constructor & Destructor Documentation
5.356.1.1 sine_t::sine_t (
const algo_comm_t &iac,
const std::string & chain_name,
const std::string & algo_name )
5.356.1.2 sine_t::sine_t ( )
5.356.2 Member Function Documentation
5.356.2.1 mha_wave_t sine_t::process (
mha_wave_t s)
5.356.2.2 void sine_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<sine_cfg_t >(p. 730).
© 2005-2019 HörTech gGmbH, Oldenburg
912 CONTENTS
5.356.2.3 void sine_t::update_cfg (
void ) [private]
5.356.3 Member Data Documentation
5.356.3.1 MHAParser::float_t sine_t::lev [private]
5.356.3.2 MHAParser::float_t sine_t::frequency [private]
5.356.3.3 MHAParser::kw_t sine_t::mode [private]
5.356.3.4 MHAParser::vint_t sine_t::channels [private]
5.356.3.5 double sine_t::phase_div_2pi [private]
5.356.3.6 MHAEvents::patchbay_t<sine_t>sine_t::patchbay [private]
The documentation for this class was generated from the following file:
sine.cpp
5.357 smoothgains_bridge::overlapadd_if_t Class Reference
Inheritance diagram for smoothgains_bridge::overlapadd_if_t:
smoothgains_bridge
::overlapadd_if_t
MHAPlugin::plugin_t
< smoothspec_wrap_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< smoothspec_wrap_t >
© 2005-2019 HörTech gGmbH, Oldenburg
5.357 smoothgains_bridge::overlapadd_if_t Class Reference 913
Public Member Functions
overlapadd_if_t (const algo_comm_t &, const std::string &, const std::string &)
overlapadd_if_t ()
void prepare (mhaconfig_t &)
void release ()
mha_spec_t process (mha_spec_t )
Private Member Functions
void update ()
Private Attributes
MHAEvents::patchbay_t<overlapadd_if_t >patchbay
MHAParser::kw_t mode
MHAParser::window_t irswnd
MHAParser::float_t epsilon
MHAParser::mhapluginloader_t plugloader
std::string algo
mhaconfig_t cf_in
mhaconfig_t cf_out
Additional Inherited Members
5.357.1 Constructor & Destructor Documentation
5.357.1.1 smoothgains_bridge::overlapadd_if_t::overlapadd_if_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & ialg )
5.357.1.2 smoothgains_bridge::overlapadd_if_t::overlapadd_if_t ( )
5.357.2 Member Function Documentation
5.357.2.1 void smoothgains_bridge::overlapadd_if_t::prepare (
mhaconfig_t &t)[virtual]
Implements MHAPlugin::plugin_t<smoothspec_wrap_t >(p. 730).
5.357.2.2 void smoothgains_bridge::overlapadd_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<smoothspec_wrap_t >(p. 731).
© 2005-2019 HörTech gGmbH, Oldenburg
914 CONTENTS
5.357.2.3 mha_spec_t smoothgains_bridge::overlapadd_if_t::process (
mha_spec_t spec )
5.357.2.4 void smoothgains_bridge::overlapadd_if_t::update ( ) [private]
5.357.3 Member Data Documentation
5.357.3.1 MHAEvents::patchbay_t<overlapadd_if_t>smoothgains_bridge::overlapadd_if_t-
::patchbay [private]
5.357.3.2 MHAParser::kw_t smoothgains_bridge::overlapadd_if_t::mode [private]
5.357.3.3 MHAParser::window_t smoothgains_bridge::overlapadd_if_t::irswnd [private]
5.357.3.4 MHAParser::float_t smoothgains_bridge::overlapadd_if_t::epsilon [private]
5.357.3.5 MHAParser::mhapluginloader_t smoothgains_bridge::overlapadd_if_t::plugloader
[private]
5.357.3.6 std::string smoothgains_bridge::overlapadd_if_t::algo [private]
5.357.3.7 mhaconfig_t smoothgains_bridge::overlapadd_if_t::cf_in [private]
5.357.3.8 mhaconfig_t smoothgains_bridge::overlapadd_if_t::cf_out [private]
The documentation for this class was generated from the following file:
smoothgains_bridge.cpp
5.358 smoothgains_bridge::smoothspec_wrap_t Class Reference
Public Member Functions
smoothspec_wrap_t (mhaconfig_t spar_in, mhaconfig_t spar_out, const MHA-
Parser::kw_t &mode, const MHAParser::window_t &irswnd, const MHAParser::float-
_t &epsilon)
mha_spec_t proc_1 (mha_spec_t )
mha_spec_t proc_2 (mha_spec_t )
Private Attributes
MHASignal::spectrum_t spec_in_copy
Copy of input spectrum for smoothspec.
MHAFilter::smoothspec_t smoothspec
Smoothspec calculator.
bool use_smoothspec
float smoothspec_epsilon
© 2005-2019 HörTech gGmbH, Oldenburg
5.358 smoothgains_bridge::smoothspec_wrap_t Class Reference915
5.358.1 Constructor & Destructor Documentation
5.358.1.1 smoothgains_bridge::smoothspec_wrap_t::smoothspec_wrap_t (
mhaconfig_t spar_in,
mhaconfig_t spar_out,
const MHAParser::kw_t &mode,
const MHAParser::window_t &irswnd,
const MHAParser::float_t &epsilon )
5.358.2 Member Function Documentation
5.358.2.1 mha_spec_t smoothgains_bridge::smoothspec_wrap_t::proc_1 (
mha_spec_t s)
5.358.2.2 mha_spec_t smoothgains_bridge::smoothspec_wrap_t::proc_2 (
mha_spec_t s)
5.358.3 Member Data Documentation
5.358.3.1 MHASignal::spectrum_t smoothgains_bridge::smoothspec_wrap_t::spec_in_copy
[private]
Copy of input spectrum for smoothspec.
5.358.3.2 MHAFilter::smoothspec_t smoothgains_bridge::smoothspec_wrap_t::smoothspec
[private]
Smoothspec calculator.
5.358.3.3 bool smoothgains_bridge::smoothspec_wrap_t::use_smoothspec [private]
5.358.3.4 float smoothgains_bridge::smoothspec_wrap_t::smoothspec_epsilon [private]
The documentation for this class was generated from the following file:
smoothgains_bridge.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
916 CONTENTS
5.359 softclip_t Class Reference
Inheritance diagram for softclip_t:
softclip_t
MHAPlugin::plugin_t
< cfg_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< cfg_t >
Public Member Functions
softclip_t (const algo_comm_t &, const std::string &, const std::string &)
mha_wave_t process (mha_wave_t )
void prepare (mhaconfig_t &)
void update ()
Private Attributes
mhaconfig_t tftype
MHAParser::float_t attack
MHAParser::float_t decay
MHAParser::float_t start_limit
MHAParser::float_t slope_db
MHAEvents::patchbay_t<softclip_t >patchbay
© 2005-2019 HörTech gGmbH, Oldenburg
5.360 softclipper_t Class Reference 917
Additional Inherited Members
5.359.1 Constructor & Destructor Documentation
5.359.1.1 softclip_t::softclip_t (
const algo_comm_t &iac,
const std::string & chain,
const std::string & name )
5.359.2 Member Function Documentation
5.359.2.1 mha_wave_t softclip_t::process (
mha_wave_t s)
5.359.2.2 void softclip_t::prepare (
mhaconfig_t &tf )[virtual]
Implements MHAPlugin::plugin_t<cfg_t >(p. 730).
5.359.2.3 void softclip_t::update ( )
5.359.3 Member Data Documentation
5.359.3.1 mhaconfig_t softclip_t::tftype [private]
5.359.3.2 MHAParser::float_t softclip_t::attack [private]
5.359.3.3 MHAParser::float_t softclip_t::decay [private]
5.359.3.4 MHAParser::float_t softclip_t::start_limit [private]
5.359.3.5 MHAParser::float_t softclip_t::slope_db [private]
5.359.3.6 MHAEvents::patchbay_t<softclip_t>softclip_t::patchbay [private]
The documentation for this class was generated from the following file:
softclip.cpp
5.360 softclipper_t Class Reference
Public Member Functions
softclipper_t (const softclipper_variables_t &v, const mhaconfig_t &)
mha_real_t process (mha_wave_t )
© 2005-2019 HörTech gGmbH, Oldenburg
918 CONTENTS
Private Attributes
MHAFilter::o1flt_lowpass_t attack
MHAFilter::o1flt_maxtrack_t decay
MHAFilter::o1flt_lowpass_t clipmeter
mha_real_t threshold
mha_real_t hardlimit
mha_real_t slope
bool linear
5.360.1 Constructor & Destructor Documentation
5.360.1.1 softclipper_t::softclipper_t (
const softclipper_variables_t &v,
const mhaconfig_t &tf )
5.360.2 Member Function Documentation
5.360.2.1 mha_real_t softclipper_t::process (
mha_wave_t s)
5.360.3 Member Data Documentation
5.360.3.1 MHAFilter::o1flt_lowpass_t softclipper_t::attack [private]
5.360.3.2 MHAFilter::o1flt_maxtrack_t softclipper_t::decay [private]
5.360.3.3 MHAFilter::o1flt_lowpass_t softclipper_t::clipmeter [private]
5.360.3.4 mha_real_t softclipper_t::threshold [private]
5.360.3.5 mha_real_t softclipper_t::hardlimit [private]
5.360.3.6 mha_real_t softclipper_t::slope [private]
5.360.3.7 bool softclipper_t::linear [private]
The documentation for this class was generated from the following file:
transducers.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.361 softclipper_variables_t Class Reference 919
5.361 softclipper_variables_t Class Reference
Inheritance diagram for softclipper_variables_t:
softclipper_variables_t
MHAParser::parser_t
MHAParser::base_t
Public Member Functions
softclipper_variables_t ()
Public Attributes
MHAParser::float_t tau_attack
MHAParser::float_t tau_decay
MHAParser::float_t tau_clip
MHAParser::float_t threshold
MHAParser::float_t hardlimit
MHAParser::float_t slope
MHAParser::bool_t linear
MHAParser::float_mon_t clipped
MHAParser::float_t max_clipped
Additional Inherited Members
5.361.1 Constructor & Destructor Documentation
5.361.1.1 softclipper_variables_t::softclipper_variables_t ( )
5.361.2 Member Data Documentation
© 2005-2019 HörTech gGmbH, Oldenburg
920 CONTENTS
5.361.2.1 MHAParser::float_t softclipper_variables_t::tau_attack
5.361.2.2 MHAParser::float_t softclipper_variables_t::tau_decay
5.361.2.3 MHAParser::float_t softclipper_variables_t::tau_clip
5.361.2.4 MHAParser::float_t softclipper_variables_t::threshold
5.361.2.5 MHAParser::float_t softclipper_variables_t::hardlimit
5.361.2.6 MHAParser::float_t softclipper_variables_t::slope
5.361.2.7 MHAParser::bool_t softclipper_variables_t::linear
5.361.2.8 MHAParser::float_mon_t softclipper_variables_t::clipped
5.361.2.9 MHAParser::float_t softclipper_variables_t::max_clipped
The documentation for this class was generated from the following file:
transducers.cpp
5.362 spec2wave_if_t Class Reference
Inheritance diagram for spec2wave_if_t:
spec2wave_if_t
MHAPlugin::plugin_t
< spec2wave_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< spec2wave_t >
© 2005-2019 HörTech gGmbH, Oldenburg
5.362 spec2wave_if_t Class Reference 921
Public Member Functions
spec2wave_if_t (const algo_comm_t &, const std::string &, const std::string &)
void prepare (mhaconfig_t &)
mha_wave_t process (mha_spec_t )
Private Member Functions
void update ()
Private Attributes
MHAEvents::patchbay_t<spec2wave_if_t >patchbay
MHAParser::float_t ramplen
windowselector_t window_config
Additional Inherited Members
5.362.1 Constructor & Destructor Documentation
5.362.1.1 spec2wave_if_t::spec2wave_if_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.362.2 Member Function Documentation
5.362.2.1 void spec2wave_if_t::prepare (
mhaconfig_t &t)[virtual]
Implements MHAPlugin::plugin_t<spec2wave_t >(p. 730).
5.362.2.2 mha_wave_t spec2wave_if_t::process (
mha_spec_t spec_in )
5.362.2.3 void spec2wave_if_t::update ( ) [private]
5.362.3 Member Data Documentation
5.362.3.1 MHAEvents::patchbay_t<spec2wave_if_t>spec2wave_if_t::patchbay [private]
5.362.3.2 MHAParser::float_t spec2wave_if_t::ramplen [private]
5.362.3.3 windowselector_t spec2wave_if_t::window_config [private]
The documentation for this class was generated from the following file:
spec2wave.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
922 CONTENTS
5.363 spec2wave_t Class Reference
Public Member Functions
spec2wave_t (unsigned int nfft_, unsigned int nwnd_, unsigned int nwndshift_, unsigned
int nch, mha_real_t ramplen, const MHAWindow::base_t &postwin)
spec2wave_t ()
mha_wave_t process (mha_spec_t )
Private Attributes
mha_fft_t ft
FFT class.
unsigned int npad1
length of zero padding before window
unsigned int npad2
length of zero padding after window
hanning_ramps_t ramps
MHASignal::waveform_t calc_out
MHASignal::waveform_t out_buf
MHASignal::waveform_t write_buf
mha_real_t sc
unsigned int nfft
unsigned int nwndshift
MHAWindow::base_t postwindow
5.363.1 Constructor & Destructor Documentation
5.363.1.1 spec2wave_t::spec2wave_t (
unsigned int nfft_,
unsigned int nwnd_,
unsigned int nwndshift_,
unsigned int nch,
mha_real_t ramplen,
const MHAWindow::base_t &postwin )
5.363.1.2 spec2wave_t::spec2wave_t ( )
5.363.2 Member Function Documentation
5.363.2.1 mha_wave_t spec2wave_t::process (
mha_spec_t spec_in )
5.363.3 Member Data Documentation
5.363.3.1 mha_fft_t spec2wave_t::ft [private]
FFT class.
© 2005-2019 HörTech gGmbH, Oldenburg
5.364 spec_fader_t Class Reference 923
5.363.3.2 unsigned int spec2wave_t::npad1 [private]
length of zero padding before window
5.363.3.3 unsigned int spec2wave_t::npad2 [private]
length of zero padding after window
5.363.3.4 hanning_ramps_t spec2wave_t::ramps [private]
5.363.3.5 MHASignal::waveform_t spec2wave_t::calc_out [private]
5.363.3.6 MHASignal::waveform_t spec2wave_t::out_buf [private]
5.363.3.7 MHASignal::waveform_t spec2wave_t::write_buf [private]
5.363.3.8 mha_real_t spec2wave_t::sc [private]
5.363.3.9 unsigned int spec2wave_t::nfft [private]
5.363.3.10 unsigned int spec2wave_t::nwndshift [private]
5.363.3.11 MHAWindow::base_t spec2wave_t::postwindow [private]
The documentation for this class was generated from the following file:
spec2wave.cpp
5.364 spec_fader_t Class Reference
Public Member Functions
spec_fader_t (unsigned int ch, mha_real_t fr,MHAParser::vfloat_t &ng, MHAParser-
::float_t &t)
spec_fader_t ()
Public Attributes
unsigned int nch
mha_real_t gains
unsigned int fr
© 2005-2019 HörTech gGmbH, Oldenburg
924 CONTENTS
5.364.1 Constructor & Destructor Documentation
5.364.1.1 spec_fader_t::spec_fader_t (
unsigned int ch,
mha_real_t fr,
MHAParser::vfloat_t &ng,
MHAParser::float_t &t)
5.364.1.2 spec_fader_t::spec_fader_t ( ) [inline]
5.364.2 Member Data Documentation
5.364.2.1 unsigned int spec_fader_t::nch
5.364.2.2 mha_real_tspec_fader_t::gains
5.364.2.3 unsigned int spec_fader_t::fr
The documentation for this class was generated from the following file:
fader_spec.cpp
5.365 speechnoise_t Class Reference
Inheritance diagram for speechnoise_t:
speechnoise_t
MHASignal::waveform_t
mha_wave_t
© 2005-2019 HörTech gGmbH, Oldenburg
5.365 speechnoise_t Class Reference 925
Public Types
Public Member Functions
speechnoise_t (float duration, float srate, unsigned int channels,speechnoise_t-
::noise_type_t noise_type=speechnoise_t::mha)
speechnoise_t (unsigned int length_samples, float srate, unsigned int channels,
speechnoise_t::noise_type_t noise_type=speechnoise_t::mha)
Private Member Functions
void creator (speechnoise_t::noise_type_t noise_type, float srate)
Additional Inherited Members
5.365.1 Member Enumeration Documentation
5.365.1.1 enum speechnoise_t::noise_type_t
Enumerator
mha
olnoise
LTASS_combined
LTASS_female
LTASS_male
white
pink
brown
TEN_SPL
TEN_SPL_250_8k
TEN_SPL_50_16k
sin125
sin250
sin500
sin1k
sin2k
sin4k
sin8k
© 2005-2019 HörTech gGmbH, Oldenburg
926 CONTENTS
5.365.2 Constructor & Destructor Documentation
5.365.2.1 speechnoise_t::speechnoise_t (
float duration,
float srate,
unsigned int channels,
speechnoise_t::noise_type_t noise_type = speechnoise_t::mha )
5.365.2.2 speechnoise_t::speechnoise_t (
unsigned int length_samples,
float srate,
unsigned int channels,
speechnoise_t::noise_type_t noise_type = speechnoise_t::mha )
5.365.3 Member Function Documentation
5.365.3.1 void speechnoise_t::creator (
speechnoise_t::noise_type_t noise_type,
float srate )[private]
The documentation for this class was generated from the following files:
speechnoise.h
speechnoise.cpp
5.366 steerbf Class Reference
Inheritance diagram for steerbf:
steerbf
MHAPlugin::plugin_t
< steerbf_config >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< steerbf_config >
© 2005-2019 HörTech gGmbH, Oldenburg
5.366 steerbf Class Reference 927
Public Member Functions
steerbf (algo_comm_t &ac, const std::string &chain_name, const std::string &algo_-
name)
Constructs our plugin.
steerbf ()
mha_spec_t process (mha_spec_t )
Defers to configuration class.
void prepare (mhaconfig_t &)
Plugin preparation.
void release (void)
Public Attributes
MHAParser::string_t bf_src
parser_int_dyn angle_ind
MHAParser::string_t angle_src
Private Member Functions
void update_cfg ()
Private Attributes
MHAEvents::patchbay_t<steerbf >patchbay
Additional Inherited Members
5.366.1 Constructor & Destructor Documentation
5.366.1.1 steerbf::steerbf (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
5.366.1.2 steerbf::steerbf ( )
5.366.2 Member Function Documentation
5.366.2.1 mha_spec_t steerbf::process (
mha_spec_t signal )
Defers to configuration class.
5.366.2.2 void steerbf::prepare (
mhaconfig_t &signal_info )[virtual]
Plugin preparation.
An opportunity to validate configuration parameters before instantiating a configuration.
© 2005-2019 HörTech gGmbH, Oldenburg
928 CONTENTS
Parameters
signal_info Structure containing a description of the form of the signal (domain, number of
channels, frames per block, sampling rate.
Implements MHAPlugin::plugin_t<steerbf_config >(p. 730).
5.366.2.3 void steerbf::release (
void ) [inline],[virtual]
Reimplemented from MHAPlugin::plugin_t<steerbf_config >(p. 731).
5.366.2.4 void steerbf::update_cfg (
void ) [private]
5.366.3 Member Data Documentation
5.366.3.1 MHAParser::string_t steerbf::bf_src
5.366.3.2 parser_int_dyn steerbf::angle_ind
5.366.3.3 MHAParser::string_t steerbf::angle_src
5.366.3.4 MHAEvents::patchbay_t<steerbf>steerbf::patchbay [private]
The documentation for this class was generated from the following files:
steerbf.h
steerbf.cpp
5.367 steerbf_config Class Reference
Public Member Functions
steerbf_config (algo_comm_t &ac, const mhaconfig_t in_cfg, steerbf steerbf)
steerbf_config ()
mha_spec_t process (mha_spec_t )
© 2005-2019 HörTech gGmbH, Oldenburg
5.367 steerbf_config Class Reference 929
Private Attributes
unsigned int nchan
unsigned int nfreq
MHASignal::spectrum_t outSpec
mha_spec_t bf_vec
unsigned int nangle
steerbf _steerbf
algo_comm_t &ac
std::string bf_src_copy
5.367.1 Constructor & Destructor Documentation
5.367.1.1 steerbf_config::steerbf_config (
algo_comm_t &ac,
const mhaconfig_t in_cfg,
steerbf steerbf )
5.367.1.2 steerbf_config::steerbf_config ( )
5.367.2 Member Function Documentation
5.367.2.1 mha_spec_t steerbf_config::process (
mha_spec_t inSpec )
5.367.3 Member Data Documentation
5.367.3.1 unsigned int steerbf_config::nchan [private]
5.367.3.2 unsigned int steerbf_config::nfreq [private]
5.367.3.3 MHASignal::spectrum_t steerbf_config::outSpec [private]
5.367.3.4 mha_spec_t steerbf_config::bf_vec [private]
5.367.3.5 unsigned int steerbf_config::nangle [private]
5.367.3.6 steerbfsteerbf_config::_steerbf [private]
5.367.3.7 algo_comm_t& steerbf_config::ac [private]
5.367.3.8 std::string steerbf_config::bf_src_copy [private]
The documentation for this class was generated from the following files:
steerbf.h
steerbf.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
930 CONTENTS
5.368 testplugin::ac_parser_t Class Reference
Inheritance diagram for testplugin::ac_parser_t:
testplugin::ac_parser_t
MHAParser::parser_t
MHAParser::base_t
MHAKernel::algo_comm
_class_t
Public Types
Public Member Functions
ac_parser_t ()
void do_insert_var ()
Insert variable into AC space.
void do_get_var ()
Public Attributes
MHAParser::string_t insert_var
MHAParser::string_t get_var
MHAParser::kw_t data_type
MHAParser::int_t num_entries
MHAParser::int_t stride
MHAParser::string_t char_data
MHAParser::vint_t int_data
MHAParser::vfloat_t float_data
MHAParser::vcomplex_t complex_data
MHAEvents::patchbay_t<ac_parser_t >patchbay
© 2005-2019 HörTech gGmbH, Oldenburg
5.368 testplugin::ac_parser_t Class Reference 931
Additional Inherited Members
5.368.1 Member Enumeration Documentation
5.368.1.1 enum testplugin::ac_parser_t::data_type_t
Enumerator
_MHA_AC_CHAR
_MHA_AC_INT
_MHA_AC_MHAREAL
_MHA_AC_FLOAT
_MHA_AC_DOUBLE
_MHA_AC_MHACOMPLEX
_unknown
5.368.2 Constructor & Destructor Documentation
5.368.2.1 testplugin::ac_parser_t::ac_parser_t ( ) [inline]
5.368.3 Member Function Documentation
5.368.3.1 void testplugin::ac_parser_t::do_insert_var ( ) [inline]
Insert variable into AC space.
This leaks memory by design, as the plugin is for testing only
5.368.3.2 void testplugin::ac_parser_t::do_get_var ( ) [inline]
5.368.4 Member Data Documentation
5.368.4.1 MHAParser::string_t testplugin::ac_parser_t::insert_var
5.368.4.2 MHAParser::string_t testplugin::ac_parser_t::get_var
5.368.4.3 MHAParser::kw_t testplugin::ac_parser_t::data_type
5.368.4.4 MHAParser::int_t testplugin::ac_parser_t::num_entries
5.368.4.5 MHAParser::int_t testplugin::ac_parser_t::stride
5.368.4.6 MHAParser::string_t testplugin::ac_parser_t::char_data
5.368.4.7 MHAParser::vint_t testplugin::ac_parser_t::int_data
5.368.4.8 MHAParser::vfloat_t testplugin::ac_parser_t::float_data
5.368.4.9 MHAParser::vcomplex_t testplugin::ac_parser_t::complex_data
5.368.4.10 MHAEvents::patchbay_t<ac_parser_t>testplugin::ac_parser_t::patchbay
The documentation for this class was generated from the following file:
testplugin.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
932 CONTENTS
5.369 testplugin::config_parser_t Class Reference
Inheritance diagram for testplugin::config_parser_t:
testplugin::config
_parser_t
MHAParser::parser_t
MHAParser::base_t
Public Member Functions
void setlock (const bool &b)
config_parser_t ()
mhaconfig_t get () const
void set (mhaconfig_t c)
Public Attributes
MHAParser::int_t channels
MHAParser::kw_t domain
MHAParser::int_t fragsize
MHAParser::int_t wndlen
MHAParser::int_t fftlen
MHAParser::float_t srate
Additional Inherited Members
5.369.1 Constructor & Destructor Documentation
5.369.1.1 testplugin::config_parser_t::config_parser_t ( ) [inline]
© 2005-2019 HörTech gGmbH, Oldenburg
5.369 testplugin::config_parser_t Class Reference 933
5.369.2 Member Function Documentation
5.369.2.1 void testplugin::config_parser_t::setlock (
const bool & b)[inline]
5.369.2.2 mhaconfig_t testplugin::config_parser_t::get ( ) const [inline]
5.369.2.3 void testplugin::config_parser_t::set (
mhaconfig_t c)[inline]
5.369.3 Member Data Documentation
5.369.3.1 MHAParser::int_t testplugin::config_parser_t::channels
5.369.3.2 MHAParser::kw_t testplugin::config_parser_t::domain
5.369.3.3 MHAParser::int_t testplugin::config_parser_t::fragsize
5.369.3.4 MHAParser::int_t testplugin::config_parser_t::wndlen
5.369.3.5 MHAParser::int_t testplugin::config_parser_t::fftlen
5.369.3.6 MHAParser::float_t testplugin::config_parser_t::srate
The documentation for this class was generated from the following file:
testplugin.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
934 CONTENTS
5.370 testplugin::if_t Class Reference
Inheritance diagram for testplugin::if_t:
testplugin::if_t
MHAPlugin::plugin_t
< int >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< int >
Public Member Functions
if_t (const algo_comm_t &iac, const std::string &ith, const std::string &ial)
mha_spec_t process (mha_spec_t s_in)
mha_wave_t process (mha_wave_t s_in)
void prepare (mhaconfig_t &)
Private Member Functions
void test_prepare ()
void test_process ()
Private Attributes
config_parser_t config_in
config_parser_t config_out
ac_parser_t ac
signal_parser_t signal
MHAParser::bool_t _prepare
MHAEvents::patchbay_t<if_t >patchbay
MHAParser::mhapluginloader_t plug
© 2005-2019 HörTech gGmbH, Oldenburg
5.370 testplugin::if_t Class Reference 935
Additional Inherited Members
5.370.1 Constructor & Destructor Documentation
5.370.1.1 testplugin::if_t::if_t (
const algo_comm_t &iac,
const std::string & ith,
const std::string & ial )
5.370.2 Member Function Documentation
5.370.2.1 mha_spec_ttestplugin::if_t::process (
mha_spec_t s_in )[inline]
5.370.2.2 mha_wave_ttestplugin::if_t::process (
mha_wave_t s_in )[inline]
5.370.2.3 void testplugin::if_t::prepare (
mhaconfig_t & ) [inline],[virtual]
Implements MHAPlugin::plugin_t<int >(p. 730).
5.370.2.4 void testplugin::if_t::test_prepare ( ) [private]
5.370.2.5 void testplugin::if_t::test_process ( ) [private]
5.370.3 Member Data Documentation
5.370.3.1 config_parser_t testplugin::if_t::config_in [private]
5.370.3.2 config_parser_t testplugin::if_t::config_out [private]
5.370.3.3 ac_parser_t testplugin::if_t::ac [private]
5.370.3.4 signal_parser_t testplugin::if_t::signal [private]
5.370.3.5 MHAParser::bool_t testplugin::if_t::_prepare [private]
5.370.3.6 MHAEvents::patchbay_t<if_t>testplugin::if_t::patchbay [private]
5.370.3.7 MHAParser::mhapluginloader_t testplugin::if_t::plug [private]
The documentation for this class was generated from the following file:
testplugin.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
936 CONTENTS
5.371 testplugin::signal_parser_t Class Reference
Inheritance diagram for testplugin::signal_parser_t:
testplugin::signal
_parser_t
MHAParser::parser_t
MHAParser::base_t
Public Member Functions
signal_parser_t ()
Public Attributes
MHAParser::mfloat_t input_wave
MHAParser::mcomplex_t input_spec
MHAParser::mfloat_mon_t output_wave
MHAParser::mcomplex_mon_t output_spec
Additional Inherited Members
5.371.1 Constructor & Destructor Documentation
5.371.1.1 testplugin::signal_parser_t::signal_parser_t ( ) [inline]
5.371.2 Member Data Documentation
5.371.2.1 MHAParser::mfloat_t testplugin::signal_parser_t::input_wave
5.371.2.2 MHAParser::mcomplex_t testplugin::signal_parser_t::input_spec
5.371.2.3 MHAParser::mfloat_mon_t testplugin::signal_parser_t::output_wave
5.371.2.4 MHAParser::mcomplex_mon_t testplugin::signal_parser_t::output_spec
The documentation for this class was generated from the following file:
testplugin.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.372 timo_AC Class Reference 937
5.372 timo_AC Class Reference
Public Member Functions
timo_AC (algo_comm_t &ac, unsigned int fftlen, unsigned int nfreq, unsigned int nchan)
void copy ()
void insert ()
Public Attributes
MHA_AC::waveform_t gamma_post_AC
MHA_AC::waveform_t xi_ml_AC
MHA_AC::spectrum_t lambda_ml_AC
MHA_AC::spectrum_t lambda_ml_ceps_AC
MHA_AC::waveform_t lambda_ml_smooth_AC
MHA_AC::waveform_t max_q_AC
MHA_AC::waveform_t max_val_AC
MHA_AC::waveform_t pitch_set_first_AC
MHA_AC::waveform_t pitch_set_last_AC
MHA_AC::waveform_t alpha_hat_AC
MHA_AC::waveform_t alpha_frame_AC
MHA_AC::spectrum_t lambda_ceps_AC
MHA_AC::spectrum_t log_lambda_spec_AC
MHA_AC::waveform_t lambda_spec_AC
MHA_AC::waveform_t xi_est_AC
MHA_AC::waveform_t gain_wiener_AC
MHA_AC::waveform_t winF0_AC
MHA_AC::waveform_t SPP
5.372.1 Constructor & Destructor Documentation
5.372.1.1 timo_AC::timo_AC (
algo_comm_t &ac,
unsigned int fftlen,
unsigned int nfreq,
unsigned int nchan )[inline]
5.372.2 Member Function Documentation
5.372.2.1 void timo_AC::copy ( )
5.372.2.2 void timo_AC::insert ( )
5.372.3 Member Data Documentation
© 2005-2019 HörTech gGmbH, Oldenburg
938 CONTENTS
5.372.3.1 MHA_AC::waveform_t timo_AC::gamma_post_AC
5.372.3.2 MHA_AC::waveform_t timo_AC::xi_ml_AC
5.372.3.3 MHA_AC::spectrum_t timo_AC::lambda_ml_AC
5.372.3.4 MHA_AC::spectrum_t timo_AC::lambda_ml_ceps_AC
5.372.3.5 MHA_AC::waveform_t timo_AC::lambda_ml_smooth_AC
5.372.3.6 MHA_AC::waveform_t timo_AC::max_q_AC
5.372.3.7 MHA_AC::waveform_t timo_AC::max_val_AC
5.372.3.8 MHA_AC::waveform_t timo_AC::pitch_set_first_AC
5.372.3.9 MHA_AC::waveform_t timo_AC::pitch_set_last_AC
5.372.3.10 MHA_AC::waveform_t timo_AC::alpha_hat_AC
5.372.3.11 MHA_AC::waveform_t timo_AC::alpha_frame_AC
5.372.3.12 MHA_AC::spectrum_t timo_AC::lambda_ceps_AC
5.372.3.13 MHA_AC::spectrum_t timo_AC::log_lambda_spec_AC
5.372.3.14 MHA_AC::waveform_t timo_AC::lambda_spec_AC
5.372.3.15 MHA_AC::waveform_t timo_AC::xi_est_AC
5.372.3.16 MHA_AC::waveform_t timo_AC::gain_wiener_AC
5.372.3.17 MHA_AC::waveform_t timo_AC::winF0_AC
5.372.3.18 MHA_AC::waveform_t timo_AC::SPP
The documentation for this class was generated from the following files:
timoconfig.h
timoconfig.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.373 timo_params Class Reference 939
5.373 timo_params Class Reference
Public Member Functions
timo_params (const mhaconfig_t &_in_cfg, float _xi_min_db, float _f0_low, float _f0_-
high, float _delta_pitch, float _lambda_thresh, float _alpha_pitch, float _beta_const, float
_kappa_const, float _prior_q, float _xi_opt_db, float _gain_min_db, std::vector<float >
&_winF0, std::vector<float >&_alpha_const_vals, std::vector<float >&_alpha_const-
_limits_hz, std::string &_noisePow_name)
Public Attributes
const mhaconfig_t in_cfg
float xi_min_db
float f0_low
float f0_high
float delta_pitch
float lambda_thresh
float alpha_pitch
float beta_const
float kappa_const
float prior_q
float xi_opt_db
float gain_min_db
• std::vector<float >winF0
• std::vector<float >alpha_const_vals
• std::vector<float >alpha_const_limits_hz
std::string noisePow_name
5.373.1 Constructor & Destructor Documentation
5.373.1.1 timo_params::timo_params (
const mhaconfig_t &_in_cfg,
float _xi_min_db,
float _f0_low,
float _f0_high,
float _delta_pitch,
float _lambda_thresh,
float _alpha_pitch,
float _beta_const,
float _kappa_const,
float _prior_q,
float _xi_opt_db,
float _gain_min_db,
std::vector<float >&_winF0,
std::vector<float >&_alpha_const_vals,
std::vector<float >&_alpha_const_limits_hz,
std::string & _noisePow_name )[inline]
© 2005-2019 HörTech gGmbH, Oldenburg
940 CONTENTS
5.373.2 Member Data Documentation
5.373.2.1 const mhaconfig_t timo_params::in_cfg
5.373.2.2 float timo_params::xi_min_db
5.373.2.3 float timo_params::f0_low
5.373.2.4 float timo_params::f0_high
5.373.2.5 float timo_params::delta_pitch
5.373.2.6 float timo_params::lambda_thresh
5.373.2.7 float timo_params::alpha_pitch
5.373.2.8 float timo_params::beta_const
5.373.2.9 float timo_params::kappa_const
5.373.2.10 float timo_params::prior_q
5.373.2.11 float timo_params::xi_opt_db
5.373.2.12 float timo_params::gain_min_db
5.373.2.13 std::vector<float>timo_params::winF0
5.373.2.14 std::vector<float>timo_params::alpha_const_vals
5.373.2.15 std::vector<float>timo_params::alpha_const_limits_hz
5.373.2.16 std::string timo_params::noisePow_name
The documentation for this class was generated from the following file:
timoconfig.h
5.374 timoConfig Class Reference
Public Member Functions
timoConfig (algo_comm_t &ac,timo_params &params)
timoConfig ()
mha_spec_t process (mha_spec_t )
© 2005-2019 HörTech gGmbH, Oldenburg
5.374 timoConfig Class Reference 941
Private Member Functions
void copy_AC (timo_AC &tAC)
Private Attributes
algo_comm_t ac
timo_params params
unsigned int fftlen
mha_fft_t mha_fft
unsigned int nfreq
unsigned int nchan
timo_AC tAC
float ola_powspec_scale
float q_low
float q_high
MHASignal::waveform_t winF0
float xi_min
float gain_min
MHASignal::waveform_t alpha_const
MHASignal::waveform_t alpha_prev
MHASignal::waveform_t noisePow
MHASignal::waveform_t powSpec
MHASignal::waveform_t gamma_post
MHASignal::waveform_t xi_ml
MHASignal::spectrum_t lambda_ml_full
MHASignal::spectrum_t lambda_ml_ceps
MHASignal::waveform_t lambda_ml_smooth
MHASignal::waveform_t alpha_hat
MHASignal::waveform_t alpha_frame
MHASignal::spectrum_t lambda_ceps
MHASignal::waveform_t lambda_ceps_prev
MHASignal::spectrum_t log_lambda_spec
MHASignal::waveform_t lambda_spec
MHASignal::waveform_t xi_est
MHASignal::waveform_t gain_wiener
MHASignal::spectrum_t spec_out
double max_val
int max_q
int pitch_set_first
int pitch_set_last
float priorFact
float xiOpt
float logGLRFact
float GLRexp
MHASignal::waveform_t GLR
© 2005-2019 HörTech gGmbH, Oldenburg
942 CONTENTS
5.374.1 Constructor & Destructor Documentation
5.374.1.1 timoConfig::timoConfig (
algo_comm_t &ac,
timo_params &params )
5.374.1.2 timoConfig::timoConfig ( )
5.374.2 Member Function Documentation
5.374.2.1 mha_spec_t timoConfig::process (
mha_spec_t noisyFrame )
5.374.2.2 void timoConfig::copy_AC (
timo_AC &tAC )[private]
5.374.3 Member Data Documentation
5.374.3.1 algo_comm_t timoConfig::ac [private]
5.374.3.2 timo_params timoConfig::params [private]
5.374.3.3 unsigned int timoConfig::fftlen [private]
5.374.3.4 mha_fft_t timoConfig::mha_fft [private]
5.374.3.5 unsigned int timoConfig::nfreq [private]
5.374.3.6 unsigned int timoConfig::nchan [private]
5.374.3.7 timo_AC timoConfig::tAC [private]
5.374.3.8 float timoConfig::ola_powspec_scale [private]
5.374.3.9 float timoConfig::q_low [private]
5.374.3.10 float timoConfig::q_high [private]
5.374.3.11 MHASignal::waveform_t timoConfig::winF0 [private]
5.374.3.12 float timoConfig::xi_min [private]
5.374.3.13 float timoConfig::gain_min [private]
© 2005-2019 HörTech gGmbH, Oldenburg
5.374 timoConfig Class Reference 943
5.374.3.14 MHASignal::waveform_t timoConfig::alpha_const [private]
5.374.3.15 MHASignal::waveform_t timoConfig::alpha_prev [private]
5.374.3.16 MHASignal::waveform_t timoConfig::noisePow [private]
5.374.3.17 MHASignal::waveform_t timoConfig::powSpec [private]
5.374.3.18 MHASignal::waveform_t timoConfig::gamma_post [private]
5.374.3.19 MHASignal::waveform_t timoConfig::xi_ml [private]
5.374.3.20 MHASignal::spectrum_t timoConfig::lambda_ml_full [private]
5.374.3.21 MHASignal::spectrum_t timoConfig::lambda_ml_ceps [private]
5.374.3.22 MHASignal::waveform_t timoConfig::lambda_ml_smooth [private]
5.374.3.23 MHASignal::waveform_t timoConfig::alpha_hat [private]
5.374.3.24 MHASignal::waveform_t timoConfig::alpha_frame [private]
5.374.3.25 MHASignal::spectrum_t timoConfig::lambda_ceps [private]
5.374.3.26 MHASignal::waveform_t timoConfig::lambda_ceps_prev [private]
5.374.3.27 MHASignal::spectrum_t timoConfig::log_lambda_spec [private]
5.374.3.28 MHASignal::waveform_t timoConfig::lambda_spec [private]
5.374.3.29 MHASignal::waveform_t timoConfig::xi_est [private]
5.374.3.30 MHASignal::waveform_t timoConfig::gain_wiener [private]
5.374.3.31 MHASignal::spectrum_t timoConfig::spec_out [private]
5.374.3.32 doubletimoConfig::max_val [private]
5.374.3.33 inttimoConfig::max_q [private]
5.374.3.34 inttimoConfig::pitch_set_first [private]
5.374.3.35 inttimoConfig::pitch_set_last [private]
5.374.3.36 float timoConfig::priorFact [private]
5.374.3.37 float timoConfig::xiOpt [private]
5.374.3.38 float timoConfig::logGLRFact [private]
5.374.3.39 float timoConfig::GLRexp [private]
5.374.3.40 MHASignal::waveform_t timoConfig::GLR [private]
The documentation for this class was generated from the following files:
timoconfig.h
timoconfig.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
944 CONTENTS
5.375 timoSmooth Class Reference
Inheritance diagram for timoSmooth:
timoSmooth
MHAPlugin::plugin_t
< timoConfig >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< timoConfig >
Public Member Functions
timoSmooth (algo_comm_t &ac, const std::string &chain_name, const std::string
&algo_name)
Constructs the beamforming plugin.
timoSmooth ()
mha_spec_t process (mha_spec_t )
This plugin implements noise reduction using spectral subtraction: by nonnegative subtraction
from the output magnitude of the estimated noise magnitude spectrum.
void prepare (mhaconfig_t &)
Plugin preparation.
void release (void)
Private Member Functions
void update_cfg ()
void on_model_param_valuechanged ()
© 2005-2019 HörTech gGmbH, Oldenburg
5.375 timoSmooth Class Reference 945
Private Attributes
MHAParser::float_t xi_min_db
MHAParser::float_t f0_low
MHAParser::float_t f0_high
MHAParser::float_t delta_pitch
MHAParser::float_t lambda_thresh
MHAParser::float_t alpha_pitch
MHAParser::float_t beta_const
MHAParser::float_t kappa_const
MHAParser::float_t gain_min_db
MHAParser::vfloat_t win_f0
MHAParser::vfloat_t alpha_const_vals
MHAParser::vfloat_t alpha_const_limits_hz
MHAParser::string_t noisePow_name
MHAParser::parser_t spp
MHAParser::float_t prior_q
MHAParser::float_t xi_opt_db
MHAEvents::patchbay_t<timoSmooth >patchbay
bool prepared
Additional Inherited Members
5.375.1 Constructor & Destructor Documentation
5.375.1.1 timoSmooth::timoSmooth (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs the beamforming plugin.
5.375.1.2 timoSmooth::timoSmooth ( )
5.375.2 Member Function Documentation
5.375.2.1 mha_spec_t timoSmooth::process (
mha_spec_t signal )
This plugin implements noise reduction using spectral subtraction: by nonnegative subtraction
from the output magnitude of the estimated noise magnitude spectrum.
Parameters
signal Pointer to the input signal structure.
© 2005-2019 HörTech gGmbH, Oldenburg
946 CONTENTS
Returns
Returns a pointer to the input signal structure, with a the signal modified by this plugin.
5.375.2.2 void timoSmooth::prepare (
mhaconfig_t &signal_info )[virtual]
Plugin preparation.
This plugin checks that the input signal has the spectral domain and contains at least one
channel
Parameters
signal_info Structure containing a description of the form of the signal (domain, number of
channels, frames per block, sampling rate.
Implements MHAPlugin::plugin_t<timoConfig >(p. 730).
5.375.2.3 void timoSmooth::release (
void ) [inline],[virtual]
Reimplemented from MHAPlugin::plugin_t<timoConfig >(p. 731).
5.375.2.4 void timoSmooth::update_cfg (
void ) [private]
5.375.2.5 void timoSmooth::on_model_param_valuechanged ( ) [private]
5.375.3 Member Data Documentation
5.375.3.1 MHAParser::float_t timoSmooth::xi_min_db [private]
5.375.3.2 MHAParser::float_t timoSmooth::f0_low [private]
5.375.3.3 MHAParser::float_t timoSmooth::f0_high [private]
5.375.3.4 MHAParser::float_t timoSmooth::delta_pitch [private]
5.375.3.5 MHAParser::float_t timoSmooth::lambda_thresh [private]
5.375.3.6 MHAParser::float_t timoSmooth::alpha_pitch [private]
5.375.3.7 MHAParser::float_t timoSmooth::beta_const [private]
© 2005-2019 HörTech gGmbH, Oldenburg
5.376 us_t Class Reference 947
5.375.3.8 MHAParser::float_t timoSmooth::kappa_const [private]
5.375.3.9 MHAParser::float_t timoSmooth::gain_min_db [private]
5.375.3.10 MHAParser::vfloat_t timoSmooth::win_f0 [private]
5.375.3.11 MHAParser::vfloat_t timoSmooth::alpha_const_vals [private]
5.375.3.12 MHAParser::vfloat_t timoSmooth::alpha_const_limits_hz [private]
5.375.3.13 MHAParser::string_t timoSmooth::noisePow_name [private]
5.375.3.14 MHAParser::parser_t timoSmooth::spp [private]
5.375.3.15 MHAParser::float_t timoSmooth::prior_q [private]
5.375.3.16 MHAParser::float_t timoSmooth::xi_opt_db [private]
5.375.3.17 MHAEvents::patchbay_t<timoSmooth>timoSmooth::patchbay [private]
5.375.3.18 bool timoSmooth::prepared [private]
The documentation for this class was generated from the following files:
timosmooth.h
timoSmooth.cpp
5.376 us_t Class Reference
Inheritance diagram for us_t:
us_t
MHAPlugin::plugin_t
< MHASignal::waveform_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< MHASignal::waveform_t >
© 2005-2019 HörTech gGmbH, Oldenburg
948 CONTENTS
Public Member Functions
us_t (algo_comm_t, std::string, std::string)
mha_wave_t process (mha_wave_t )
void prepare (mhaconfig_t &)
void release ()
Private Attributes
MHAParser::int_t ratio
MHAFilter::iir_filter_t antialias
Additional Inherited Members
5.376.1 Constructor & Destructor Documentation
5.376.1.1 us_t::us_t (
algo_comm_t iac,
std::string ,
std::string )
5.376.2 Member Function Documentation
5.376.2.1 mha_wave_t us_t::process (
mha_wave_t s)
5.376.2.2 void us_t::prepare (
mhaconfig_t &cf )[virtual]
Implements MHAPlugin::plugin_t<MHASignal::waveform_t >(p. 730).
5.376.2.3 void us_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<MHASignal::waveform_t >(p. 731).
5.376.3 Member Data Documentation
5.376.3.1 MHAParser::int_t us_t::ratio [private]
5.376.3.2 MHAFilter::iir_filter_t us_t::antialias [private]
The documentation for this class was generated from the following file:
upsample.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.377 wave2spec_if_t Class Reference 949
5.377 wave2spec_if_t Class Reference
Inheritance diagram for wave2spec_if_t:
wave2spec_if_t
MHAPlugin::plugin_t
< wave2spec_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< wave2spec_t >
Public Member Functions
wave2spec_if_t (const algo_comm_t &, const std::string &, const std::string &)
void prepare (mhaconfig_t &)
void process (mha_wave_t ,mha_spec_t ∗∗)
void process (mha_wave_t ,mha_wave_t ∗∗)
Private Member Functions
void update ()
Private Attributes
MHAEvents::patchbay_t<wave2spec_if_t >patchbay
MHAParser::int_t nfft
MHAParser::int_t nwnd
MHAParser::float_t wndpos
windowselector_t window_config
MHAParser::bool_t return_wave
std::string algo
© 2005-2019 HörTech gGmbH, Oldenburg
950 CONTENTS
Additional Inherited Members
5.377.1 Constructor & Destructor Documentation
5.377.1.1 wave2spec_if_t::wave2spec_if_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & ialg )
5.377.2 Member Function Documentation
5.377.2.1 void wave2spec_if_t::prepare (
mhaconfig_t &t)[virtual]
Implements MHAPlugin::plugin_t<wave2spec_t >(p. 730).
5.377.2.2 void wave2spec_if_t::process (
mha_wave_t wave_in,
mha_spec_t ∗∗ sout )
5.377.2.3 void wave2spec_if_t::process (
mha_wave_t wave_in,
mha_wave_t ∗∗ sout )
5.377.2.4 void wave2spec_if_t::update ( ) [private]
5.377.3 Member Data Documentation
5.377.3.1 MHAEvents::patchbay_t<wave2spec_if_t>wave2spec_if_t::patchbay [private]
5.377.3.2 MHAParser::int_t wave2spec_if_t::nfft [private]
5.377.3.3 MHAParser::int_t wave2spec_if_t::nwnd [private]
5.377.3.4 MHAParser::float_t wave2spec_if_t::wndpos [private]
5.377.3.5 windowselector_t wave2spec_if_t::window_config [private]
5.377.3.6 MHAParser::bool_t wave2spec_if_t::return_wave [private]
5.377.3.7 std::string wave2spec_if_t::algo [private]
The documentation for this class was generated from the following file:
wave2spec.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.378 wave2spec_t Class Reference 951
5.378 wave2spec_t Class Reference
Inheritance diagram for wave2spec_t:
wave2spec_t
MHA_AC::spectrum_t
MHASignal::spectrum_t
mha_spec_t
Public Member Functions
wave2spec_t (unsigned int nfft, unsigned int nwnd_, unsigned int nwndshift_, unsigned
int nch, mha_real_t wndpos, const MHAWindow::base_t &window,algo_comm_t ac,
std::string algo)
mha_spec_t process (mha_wave_t )
wave2spec_t ()
Private Member Functions
void calc_pre_wnd (MHASignal::waveform_t &, const MHASignal::waveform_t &)
Private Attributes
unsigned int nwnd
unsigned int nwndshift
mha_fft_t ft
FFT class.
unsigned int npad1
length of zero padding before window
unsigned int npad2
© 2005-2019 HörTech gGmbH, Oldenburg
952 CONTENTS
length of zero padding after window
MHAWindow::base_t window
MHASignal::waveform_t calc_in
MHASignal::waveform_t in_buf
MHASignal::spectrum_t spec_in
non-interleaved, complex, fftlen
Additional Inherited Members
5.378.1 Constructor & Destructor Documentation
5.378.1.1 wave2spec_t::wave2spec_t (
unsigned int nfft,
unsigned int nwnd_,
unsigned int nwndshift_,
unsigned int nch,
mha_real_t wndpos,
const MHAWindow::base_t &window,
algo_comm_t ac,
std::string algo )
5.378.1.2 wave2spec_t::wave2spec_t ( )
5.378.2 Member Function Documentation
5.378.2.1 mha_spec_t wave2spec_t::process (
mha_wave_t wave_in )
5.378.2.2 void wave2spec_t::calc_pre_wnd (
MHASignal::waveform_t &dest,
const MHASignal::waveform_t &src )[private]
5.378.3 Member Data Documentation
5.378.3.1 unsigned int wave2spec_t::nwnd [private]
5.378.3.2 unsigned int wave2spec_t::nwndshift [private]
5.378.3.3 mha_fft_t wave2spec_t::ft [private]
FFT class.
5.378.3.4 unsigned int wave2spec_t::npad1 [private]
length of zero padding before window
© 2005-2019 HörTech gGmbH, Oldenburg
5.379 wavrec_t Class Reference 953
5.378.3.5 unsigned int wave2spec_t::npad2 [private]
length of zero padding after window
5.378.3.6 MHAWindow::base_t wave2spec_t::window [private]
5.378.3.7 MHASignal::waveform_t wave2spec_t::calc_in [private]
5.378.3.8 MHASignal::waveform_t wave2spec_t::in_buf [private]
5.378.3.9 MHASignal::spectrum_t wave2spec_t::spec_in [private]
non-interleaved, complex, fftlen
The documentation for this class was generated from the following file:
wave2spec.cpp
5.379 wavrec_t Class Reference
Inheritance diagram for wavrec_t:
wavrec_t
MHAPlugin::plugin_t
< wavwriter_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< wavwriter_t >
© 2005-2019 HörTech gGmbH, Oldenburg
954 CONTENTS
Public Member Functions
mha_wave_t process (mha_wave_t )
void prepare (mhaconfig_t &cf)
void release ()
wavrec_t (const algo_comm_t &iac, const std::string &, const std::string &)
Private Member Functions
void start_new_session ()
Private Attributes
MHAParser::bool_t record
MHAParser::int_t fifolen
MHAParser::int_t minwrite
MHAParser::string_t prefix
MHAParser::bool_t use_date
MHAEvents::patchbay_t<wavrec_t >patchbay
Additional Inherited Members
5.379.1 Constructor & Destructor Documentation
5.379.1.1 wavrec_t::wavrec_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & algo_name )
5.379.2 Member Function Documentation
5.379.2.1 mha_wave_t wavrec_t::process (
mha_wave_t s)
5.379.2.2 void wavrec_t::prepare (
mhaconfig_t &cf )[virtual]
Implements MHAPlugin::plugin_t<wavwriter_t >(p. 730).
5.379.2.3 void wavrec_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<wavwriter_t >(p. 731).
© 2005-2019 HörTech gGmbH, Oldenburg
5.380 wavwriter_t Class Reference 955
5.379.2.4 void wavrec_t::start_new_session ( ) [private]
5.379.3 Member Data Documentation
5.379.3.1 MHAParser::bool_t wavrec_t::record [private]
5.379.3.2 MHAParser::int_t wavrec_t::fifolen [private]
5.379.3.3 MHAParser::int_t wavrec_t::minwrite [private]
5.379.3.4 MHAParser::string_t wavrec_t::prefix [private]
5.379.3.5 MHAParser::bool_t wavrec_t::use_date [private]
5.379.3.6 MHAEvents::patchbay_t<wavrec_t>wavrec_t::patchbay [private]
The documentation for this class was generated from the following file:
wavrec.cpp
5.380 wavwriter_t Class Reference
Public Member Functions
wavwriter_t (bool active, const mhaconfig_t &cf, unsigned int fifosize, unsigned int min-
write, const std::string &prefix, bool use_date)
wavwriter_t ()
void process (mha_wave_t )
Private Member Functions
void write_thread ()
Static Private Member Functions
static void write_thread (void this_)
© 2005-2019 HörTech gGmbH, Oldenburg
956 CONTENTS
Private Attributes
bool close_session
bool act_
mhaconfig_t cf_
SNDFILE sf
mha_fifo_t<mha_real_t >fifo
unsigned int minw_
pthread_t writethread
float data
5.380.1 Constructor & Destructor Documentation
5.380.1.1 wavwriter_t::wavwriter_t (
bool active,
const mhaconfig_t &cf,
unsigned int fifosize,
unsigned int minwrite,
const std::string & prefix,
bool use_date )
5.380.1.2 wavwriter_t::wavwriter_t ( )
5.380.2 Member Function Documentation
5.380.2.1 void wavwriter_t::process (
mha_wave_t s)
5.380.2.2 static voidwavwriter_t::write_thread (
void this_ )[inline],[static],[private]
5.380.2.3 void wavwriter_t::write_thread ( ) [private]
5.380.3 Member Data Documentation
5.380.3.1 bool wavwriter_t::close_session [private]
5.380.3.2 bool wavwriter_t::act_ [private]
5.380.3.3 mhaconfig_t wavwriter_t::cf_ [private]
5.380.3.4 SNDFILEwavwriter_t::sf [private]
5.380.3.5 mha_fifo_t<mha_real_t>wavwriter_t::fifo [private]
5.380.3.6 unsigned int wavwriter_t::minw_ [private]
5.380.3.7 pthread_t wavwriter_t::writethread [private]
5.380.3.8 floatwavwriter_t::data [private]
The documentation for this class was generated from the following file:
wavrec.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
5.381 windowselector_t Class Reference 957
5.381 windowselector_t Class Reference
A combination of mha parser variables to describe an overalapadd analysis window.
Public Member Functions
windowselector_t (const std::string &default_type)
constructor creates the mha parser variables that describe an overlapadd analysis window.
windowselector_t ()
destructor frees window data that were allocated
const MHAWindow::base_t &get_window_data (unsigned length)
re-computes the window if required.
void insert_items (MHAParser::parser_t p)
insert the window parameters "wndtype", "wndexp", and "userwnd" as mha configuration pa-
rameters into the given mha configuration parser.
Public Attributes
MHAEvents::emitter_t updated
A collector event that fires when any of the window parameters managed here is written to.
Private Member Functions
void invalidate_window_data ()
invalidates any allocated window samples.
void update_parser ()
invoked when a parser parameter changes.
Private Attributes
MHAWindow::base_t wnd
Storage for the window data returned by get_window_data() (p. 958)
MHAParser::kw_t wndtype
parser variable for window type
MHAParser::float_t wndexp
parser variable for window exponent
MHAParser::vfloat_t userwnd
parser variable for user window samples to use
MHAEvents::patchbay_t<windowselector_t >patchbay
patchbay to watch for changes for the parser variables
© 2005-2019 HörTech gGmbH, Oldenburg
958 CONTENTS
5.381.1 Detailed Description
A combination of mha parser variables to describe an overalapadd analysis window.
Provides a method to get the window samples as an instance of MHAWindow::base_t (p. 835)
when needed.
5.381.2 Constructor & Destructor Documentation
5.381.2.1 windowselector_t::windowselector_t (
const std::string & default_type )
constructor creates the mha parser variables that describe an overlapadd analysis window.
Parameters
default_type name of the default analysis window type. Must be one of: "rect", "bartlett",
"hanning", "hamming", "blackman"
5.381.2.2 windowselector_t::windowselector_t ( )
destructor frees window data that were allocated
5.381.3 Member Function Documentation
5.381.3.1 const MHAWindow::base_t & windowselector_t::get_window_data (
unsigned length )
re-computes the window if required.
Parameters
length the desired window length in samples return the window's samples as a constref to
MHAWindow::base_t (p. 835) instance. The referenced instance lives until the
window parameters are changed, or this windowselector_t (p. 957) instance is
destroyed.
5.381.3.2 void windowselector_t::insert_items (
MHAParser::parser_t p)
insert the window parameters "wndtype", "wndexp", and "userwnd" as mha configuration pa-
rameters into the given mha configuration parser.
© 2005-2019 HörTech gGmbH, Oldenburg
5.381 windowselector_t Class Reference 959
Parameters
pThe configuration parser where to insert the window parameters. E.g. the plugin
wave2spec's interface class.
5.381.3.3 void windowselector_t::invalidate_window_data ( ) [private]
invalidates any allocated window samples.
5.381.3.4 void windowselector_t::update_parser ( ) [private]
invoked when a parser parameter changes.
Calls invalidate_window_data() (p. 959) and emits the updated event.
5.381.4 Member Data Documentation
5.381.4.1 MHAEvents::emitter_t windowselector_t::updated
A collector event that fires when any of the window parameters managed here is written to.
5.381.4.2 MHAWindow::base_twindowselector_t::wnd [private]
Storage for the window data returned by get_window_data() (p. 958)
5.381.4.3 MHAParser::kw_t windowselector_t::wndtype [private]
parser variable for window type
5.381.4.4 MHAParser::float_t windowselector_t::wndexp [private]
parser variable for window exponent
5.381.4.5 MHAParser::vfloat_t windowselector_t::userwnd [private]
parser variable for user window samples to use
5.381.4.6 MHAEvents::patchbay_t<windowselector_t>windowselector_t::patchbay
[private]
patchbay to watch for changes for the parser variables
The documentation for this class was generated from the following files:
windowselector.h
windowselector.cpp
© 2005-2019 HörTech gGmbH, Oldenburg
960 CONTENTS
6 File Documentation
6.1 ac2lsl.cpp File Reference
Classes
struct ac2lsl::type_info
class ac2lsl::save_var_base_t
Interface for ac to lsl bridge variable.
class ac2lsl::save_var_t<T>
Implementation for all ac to lsl bridges except complex types.
class ac2lsl::save_var_t<mha_complex_t >
Template specialization of the ac2lsl (p. 78) bridge to take care of complex numbers.
class ac2lsl::cfg_t
Runtime configuration class of the ac2lsl (p. 78) plugin.
class ac2lsl::ac2lsl_t
Plugin class of ac2lsl (p. 78).
Namespaces
ac2lsl
All types for the ac2lsl (p. 78) plugins live in this namespace.
Variables
const std::map<int, type_info >ac2lsl::types
6.2 ac2osc.cpp File Reference
Classes
class ac2osc_t
Plugin class of the ac2osc plugin.
6.3 ac2wave.cpp File Reference
Classes
class ac2wave_t
class ac2wave_if_t
© 2005-2019 HörTech gGmbH, Oldenburg
6.4 ac_monitor_type.cpp File Reference 961
6.4 ac_monitor_type.cpp File Reference
6.5 ac_monitor_type.hh File Reference
Classes
class acmon::ac_monitor_t
A class for converting AC variables to Parser monitors of correct type.
Namespaces
acmon
Namespace for displaying ac variables as parser monitors.
6.6 acConcat_wave.cpp File Reference
Macros
• #define PATCH_VAR(var) patchbay.connect(&var.valuechanged, this, &acConcat_-
wave::update_cfg)
#define INSERT_PATCH(var) insert_member(var); PATCH_VAR(var)
6.6.1 Macro Definition Documentation
6.6.1.1 #define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, &acConcat_wave::update-
_cfg)
6.6.1.2 #define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.7 acConcat_wave.h File Reference
Classes
class acConcat_wave_config
class acConcat_wave
6.8 acmon.cpp File Reference
Classes
class acmon::acmon_t
© 2005-2019 HörTech gGmbH, Oldenburg
962 CONTENTS
Namespaces
acmon
Namespace for displaying ac variables as parser monitors.
6.9 acPooling_wave.cpp File Reference
Macros
• #define PATCH_VAR(var) patchbay.connect(&var.valuechanged, this, &acPooling_-
wave::update_cfg)
#define INSERT_PATCH(var) insert_member(var); PATCH_VAR(var)
6.9.1 Macro Definition Documentation
6.9.1.1 #define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, &acPooling_wave::update-
_cfg)
6.9.1.2 #define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.10 acPooling_wave.h File Reference
Classes
class acPooling_wave_config
class acPooling_wave
6.11 acsave.cpp File Reference
Classes
class acsave::save_var_t
class acsave::cfg_t
class acsave::acsave_t
struct acsave::mat4head_t
Namespaces
acsave
© 2005-2019 HörTech gGmbH, Oldenburg
6.12 acSteer.cpp File Reference 963
Macros
#define ACSAVE_FMT_TXT 0
#define ACSAVE_SFMT_TXT "txt"
#define ACSAVE_FMT_MAT4 1
#define ACSAVE_SFMT_MAT4 "mat4"
#define ACSAVE_FMT_M 2
#define ACSAVE_SFMT_M "m"
6.11.1 Macro Definition Documentation
6.11.1.1 #define ACSAVE_FMT_TXT 0
6.11.1.2 #define ACSAVE_SFMT_TXT "txt"
6.11.1.3 #define ACSAVE_FMT_MAT4 1
6.11.1.4 #define ACSAVE_SFMT_MAT4 "mat4"
6.11.1.5 #define ACSAVE_FMT_M 2
6.11.1.6 #define ACSAVE_SFMT_M "m"
6.12 acSteer.cpp File Reference
Macros
• #define PATCH_VAR(var) patchbay.connect(&var.valuechanged, this, &acSteer-
::update_cfg)
#define INSERT_PATCH(var) insert_member(var); PATCH_VAR(var)
6.12.1 Macro Definition Documentation
6.12.1.1 #define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, &acSteer::update_cfg)
6.12.1.2 #define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.13 acSteer.h File Reference
Classes
class acSteer_config
class acSteer
© 2005-2019 HörTech gGmbH, Oldenburg
964 CONTENTS
6.14 acTransform_wave.cpp File Reference
Macros
#define PATCH_VAR(var) patchbay.connect(&var.valuechanged, this, &acTransform_-
wave::update_cfg)
#define INSERT_PATCH(var) insert_member(var); PATCH_VAR(var)
6.14.1 Macro Definition Documentation
6.14.1.1 #define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, &acTransform_wave-
::update_cfg)
6.14.1.2 #define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.15 acTransform_wave.h File Reference
Classes
class acTransform_wave_config
class acTransform_wave
6.16 addsndfile.cpp File Reference
Classes
class addsndfile::waveform_proxy_t
Class helps to specify which instance of MHASignal_waveform_t parent instance is meant in
resampled_soundfile_t (p. 184).
class addsndfile::resampled_soundfile_t
Reads sound from file and resamples it if necessary and wanted.
class addsndfile::sndfile_t
class addsndfile::level_adapt_t
class addsndfile::addsndfile_if_t
Namespaces
addsndfile
© 2005-2019 HörTech gGmbH, Oldenburg
6.17 adm.cpp File Reference 965
Macros
#define DEBUG(x) std::cerr << __FILE__ << ":" << __LINE__ << " " #x "=" << x<<
std::endl
Typedefs
typedef MHAPlugin::config_t<level_adapt_t >addsndfile::level_adaptor
typedef MHAPlugin::plugin_t<sndfile_t >addsndfile::wave_reader
Enumerations
Functions
static unsigned addsndfile::resampled_num_frames (unsigned num_source_frames,
float source_rate, float target_rate, addsndfile_resampling_mode_t resampling_mode)
6.16.1 Macro Definition Documentation
6.16.1.1 #define DEBUG(
x) std::cerr << __FILE__ << ":" << __LINE__ << " " #x "=" << x<<
std::endl
6.17 adm.cpp File Reference
Classes
class adm_rtconfig_t
class adm_if_t
Functions
MHASignal::waveform_t adm_fir_lp (unsigned int fs, unsigned f_pass, unsigned int
f_stop, unsigned int order)
MHASignal::waveform_t adm_fir_decomb (unsigned int fs, float dist_m, unsigned int
order)
© 2005-2019 HörTech gGmbH, Oldenburg
966 CONTENTS
6.17.1 Function Documentation
6.17.1.1 MHASignal::waveform_tadm_fir_lp (
unsigned int fs,
unsigned f_pass,
unsigned int f_stop,
unsigned int order )
6.17.1.2 MHASignal::waveform_tadm_fir_decomb (
unsigned int fs,
float dist_m,
unsigned int order )
6.18 adm.hh File Reference
Classes
class ADM::Linearphase_FIR<F>
An efficient linear-phase fir filter implementation.
class ADM::Delay<F>
A delay-line class which can also do subsample-delays for a limited frequency range below
fs/4.
class ADM::ADM<F>
Adaptive differential microphone, working for speech frequency range.
Namespaces
ADM
Functions
static double ADM::subsampledelay_coeff (double samples, double f_design, double
fs=1.0)
compute IIR coefficient for subsample delay
Variables
const double ADM::PI = 3.14159265358979312
const double ADM::C = 340
const double ADM::DELAY_FREQ = 2000
const double ADM::START_BETA = 0.5
© 2005-2019 HörTech gGmbH, Oldenburg
6.19 altplugs.cpp File Reference 967
6.19 altplugs.cpp File Reference
Classes
class mhaplug_cfg_t
class altplugs_t
Macros
#define MHAPLUGIN_OVERLOAD_OUTDOMAIN
6.19.1 Macro Definition Documentation
6.19.1.1 #define MHAPLUGIN_OVERLOAD_OUTDOMAIN
6.20 analysemhaplugin.cpp File Reference
Functions
std::string strdom (mha_domain_t d)
void print_ac (MHAKernel::algo_comm_class_t &ac, std::string txt)
int main (int argc, char ∗∗argv)
6.20.1 Function Documentation
6.20.1.1 std::string strdom (
mha_domain_t d)
6.20.1.2 void print_ac (
MHAKernel::algo_comm_class_t &ac,
std::string txt )
6.20.1.3 int main (
int argc,
char ∗∗ argv )
6.21 analysispath.cpp File Reference
Classes
class analysepath_t
class plug_t
class analysispath_if_t
© 2005-2019 HörTech gGmbH, Oldenburg
968 CONTENTS
Functions
static void thread_start (void instance)
6.21.1 Function Documentation
6.21.1.1 static voidthread_start (
void instance )[static]
6.22 auditory_profile.cpp File Reference
6.23 auditory_profile.h File Reference
Classes
class AuditoryProfile::fmap_t
A class to store frequency dependent data (e.g., HTL and UCL).
class AuditoryProfile::profile_t
The Auditory Profile class.
class AuditoryProfile::profile_t::ear_t
Class for ear-dependent parameters, e.g., audiograms or unilateral loudness scaling.
class AuditoryProfile::parser_t
Class to make the auditory profile accessible through the parser interface.
class AuditoryProfile::parser_t::fmap_t
class AuditoryProfile::parser_t::ear_t
Namespaces
AuditoryProfile
Namespace for classes and functions around the auditory profile (e.g., audiogram handling)
6.24 browsemhaplugins.cpp File Reference
Macros
#define DEBUG(x) std::cerr << __FILE__ << ":" << __LINE__ << " " << #x<<"="<<x
<< std::endl
Functions
int main (int argc, char ∗∗argv)
© 2005-2019 HörTech gGmbH, Oldenburg
6.25 coherence.cpp File Reference 969
6.24.1 Macro Definition Documentation
6.24.1.1 #define DEBUG(
x) std::cerr << __FILE__ << ":" << __LINE__ << " " << #x<<"="<<x<<
std::endl
6.24.2 Function Documentation
6.24.2.1 int main (
int argc,
char ∗∗ argv )
6.25 coherence.cpp File Reference
Classes
class coherence::vars_t
class coherence::cohflt_t
class coherence::cohflt_if_t
Namespaces
coherence
Functions
void coherence::getcipd (mha_complex_t &c, mha_real_t &a, const mha_complex-
_t &xl, const mha_complex_t &xr)
6.26 combinechannels.cpp File Reference
Classes
class combc_t
class combc_if_t
© 2005-2019 HörTech gGmbH, Oldenburg
970 CONTENTS
6.27 compiler_id.cpp File Reference
6.28 compiler_id.hh File Reference
Macros
#define COMPILER_ID_VENDOR "gcc"
#define COMPILER_ID_MAJOR __GNUC__
#define COMPILER_ID_MINOR __GNUC_MINOR__
#define COMPILER_ID_PATCH __GNUC_PATCHLEVEL__
#define COMPILER_ID_VERSION_HELPER2(x, y, z) #x "." #y "." #z
#define COMPILER_ID_VERSION_HELPER1(x, y, z) COMPILER_ID_VERSION_HE-
LPER2(x,y,z)
#define COMPILER_ID_VERSION
#define COMPILER_ID COMPILER_ID_VENDOR "-" COMPILER_ID_VERSION "-" C-
OMPILER_ID_STANDARD
6.28.1 Macro Definition Documentation
6.28.1.1 #define COMPILER_ID_VENDOR "gcc"
6.28.1.2 #define COMPILER_ID_MAJOR __GNUC__
6.28.1.3 #define COMPILER_ID_MINOR __GNUC_MINOR__
6.28.1.4 #define COMPILER_ID_PATCH __GNUC_PATCHLEVEL__
6.28.1.5 #define COMPILER_ID_VERSION_HELPER2(
x,
y,
z) #x "." #y "." #z
6.28.1.6 #define COMPILER_ID_VERSION_HELPER1(
x,
y,
z)COMPILER_ID_VERSION_HELPER2(x,y,z)
6.28.1.7 #define COMPILER_ID_VERSION
6.28.1.8 #define COMPILER_ID COMPILER_ID_VENDOR "-" COMPILER_ID_VERSION "-"
COMPILER_ID_STANDARD
6.29 complex_filter.cpp File Reference
6.30 complex_filter.h File Reference
Classes
class MHAFilter::complex_bandpass_t
Complex bandpass filter.
class MHAFilter::gamma_flt_t
Class for gammatone filter.
class MHAFilter::thirdoctave_analyzer_t
© 2005-2019 HörTech gGmbH, Oldenburg
6.31 cpuload.cpp File Reference 971
Namespaces
MHAFilter
Namespace for IIR and FIR filter classes.
6.31 cpuload.cpp File Reference
Classes
class cpuload_t
6.32 db.cpp File Reference
Classes
class db_t
class db_if_t
6.33 dc.cpp File Reference
Classes
class dc::wb_inhib_cfg_t
class dc::wideband_inhib_vars_t
class dc::dc_vars_t
class dc::dc_vars_validator_t
class dc::dc_t
class dc::dc_if_t
Namespaces
dc
Macros
#define DUPVEC(x) v.x.data = MHASignal::dupvec_chk(v.x.data,s)
Functions
unsigned int dc::get_audiochannels (unsigned int totalchannels, std::string acname,
algo_comm_t ac)
© 2005-2019 HörTech gGmbH, Oldenburg
972 CONTENTS
6.33.1 Macro Definition Documentation
6.33.1.1 #define DUPVEC(
x) v.x.data = MHASignal::dupvec_chk(v.x.data,s)
6.34 dc_afterburn.cpp File Reference
Namespaces
DynComp
dynamic compression related classes and functions
Functions
float mylogf (float x)
6.34.1 Function Documentation
6.34.1.1 float mylogf (
float x)
6.35 dc_afterburn.h File Reference
Classes
class DynComp::dc_afterburn_vars_t
Variables for dc_afterburn_t (p. 294) class.
class DynComp::dc_afterburn_rt_t
Real-time class for after burn effect.
class DynComp::dc_afterburn_t
Afterburn class, to be defined as a member of compressors.
Namespaces
DynComp
dynamic compression related classes and functions
© 2005-2019 HörTech gGmbH, Oldenburg
6.36 dc_simple.cpp File Reference 973
6.36 dc_simple.cpp File Reference
Classes
class dc_simple::dc_vars_t
class dc_simple::dc_vars_validator_t
class dc_simple::level_smoother_t
class dc_simple::dc_t
class dc_simple::dc_t::line_t
class dc_simple::dc_if_t
Namespaces
dc_simple
Typedefs
typedef MHAPlugin::plugin_t<dc_t >dc_simple::DC
typedef MHAPlugin::config_t<level_smoother_t >dc_simple::LEVEL
Functions
void dc_simple::test_fail (const std::vector<float >&v, unsigned int s, const std::string
&name)
• std::vector<float >dc_simple::force_resize (const std::vector<float >&v, unsigned int
s, const std::string &name)
mha_real_t dc_simple::not_zero (mha_real_t x, const std::string &comment="")
6.37 delay.cpp File Reference
Classes
class delay::interface_t
Namespaces
delay
© 2005-2019 HörTech gGmbH, Oldenburg
974 CONTENTS
6.38 delaysum.cpp File Reference
Classes
class delaysum::delaysum_t
Runtime configuration of the delaysum plugin.
class delaysum::delaysum_if_t
Interface class for the delaysum plugin.
Namespaces
delaysum
This namespace contains the delaysum plugin.
6.39 doasvm_classification.cpp File Reference
Macros
• #define PATCH_VAR(var) patchbay.connect(&var.valuechanged, this, &doasvm_-
classification::update_cfg)
#define INSERT_PATCH(var) insert_member(var); PATCH_VAR(var)
6.39.1 Macro Definition Documentation
6.39.1.1 #define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, &doasvm_classification-
::update_cfg)
6.39.1.2 #define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.40 doasvm_classification.h File Reference
Classes
class doasvm_classification_config
class doasvm_classification
6.41 doasvm_feature_extraction.cpp File Reference
Macros
• #define PATCH_VAR(var) patchbay.connect(&var.valuechanged, this, &doasvm_-
feature_extraction::update_cfg)
#define INSERT_PATCH(var) insert_member(var); PATCH_VAR(var)
© 2005-2019 HörTech gGmbH, Oldenburg
6.42 doasvm_feature_extraction.h File Reference 975
6.41.1 Macro Definition Documentation
6.41.1.1 #define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, &doasvm_feature_-
extraction::update_cfg)
6.41.1.2 #define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.42 doasvm_feature_extraction.h File Reference
Classes
class doasvm_feature_extraction_config
class doasvm_feature_extraction
6.43 doc_appendix.h File Reference
6.44 doc_examples.h File Reference
6.45 doc_frameworks.h File Reference
6.46 doc_general.h File Reference
6.47 doc_kernel.h File Reference
6.48 doc_matlab.h File Reference
6.49 doc_mhamain.h File Reference
6.50 doc_parser.h File Reference
6.51 doc_plugif.cpp File Reference
6.52 doc_plugins.h File Reference
6.53 doc_system.h File Reference
6.54 doc_toolbox.h File Reference
6.55 downsample.cpp File Reference
Classes
class ds_t
© 2005-2019 HörTech gGmbH, Oldenburg
976 CONTENTS
6.56 droptect.cpp File Reference
Classes
class droptect_t
Detect dropouts in a signal with a constant spectrum.
6.57 example1.cpp File Reference
Classes
class example1_t
This C++ class implements the simplest example plugin for the step-by-step tutorial.
6.58 example2.cpp File Reference
Classes
class example2_t
This C++ class implements the second example plugin for the step-by-step tutorial.
6.59 example3.cpp File Reference
Classes
class example3_t
A Plugin class using the openMHA Event mechanism.
6.60 example4.cpp File Reference
Classes
class example4_t
A Plugin class using the spectral signal.
6.61 example5.cpp File Reference
Classes
class example5_t
class plugin_interface_t
© 2005-2019 HörTech gGmbH, Oldenburg
6.62 example6.cpp File Reference 977
Macros
#define __declspec(p)
6.61.1 Macro Definition Documentation
6.61.1.1 #define __declspec(
p)
6.62 example6.cpp File Reference
Classes
class cfg_t
class example6_t
Macros
#define __declspec(p)
6.62.1 Macro Definition Documentation
6.62.1.1 #define __declspec(
p)
6.63 fader_spec.cpp File Reference
Classes
class spec_fader_t
class fader_if_t
6.64 fader_wave.cpp File Reference
Classes
class fader_wave::level_adapt_t
class fader_wave::fader_wave_if_t
Namespaces
fader_wave
© 2005-2019 HörTech gGmbH, Oldenburg
978 CONTENTS
Macros
#define DEBUG(x) std::cerr << __FILE__ << ":" << __LINE__ << " " #x "=" << x<<
std::endl
Typedefs
typedef MHAPlugin::plugin_t<level_adapt_t >fader_wave::level_adaptor
6.64.1 Macro Definition Documentation
6.64.1.1 #define DEBUG(
x) std::cerr << __FILE__ << ":" << __LINE__ << " " #x "=" << x<<
std::endl
6.65 fftfbpow.cpp File Reference
Classes
class fftfbpow::fftfbpow_t
Run time configuration for the fftfbpow plugin.
class fftfbpow::fftfbpow_interface_t
Interface class for fftfbpow plugin.
Namespaces
fftfbpow
Namespace for the fftfbpow plugin.
6.66 fftfilterbank.cpp File Reference
Classes
class fftfilterbank::fftfb_plug_t
class fftfilterbank::fftfb_interface_t
Namespaces
fftfilterbank
© 2005-2019 HörTech gGmbH, Oldenburg
6.67 fshift.cpp File Reference 979
6.67 fshift.cpp File Reference
6.68 fshift.hh File Reference
Classes
class fshift::fshift_config_t
fshift runtime config class
class fshift::fshift_t
fshift plugin interface class
Namespaces
fshift
All types for the fshift plugin live in this namespace.
Functions
int fshift::fft_find_bin (mha_real_t frequency, unsigned fftlen, mha_real_t srate)
Finds bin number of FFT bin nearest to the given frequency.
6.69 fshift_hilbert.cpp File Reference
Classes
class fshift_hilbert::hilbert_shifter_t
class fshift_hilbert::frequency_translator_t
Namespaces
fshift_hilbert
All types for the hilbert frequency shifter live in this namespace.
6.70 gain.cpp File Reference
Classes
class gain::scaler_t
class gain::gain_if_t
© 2005-2019 HörTech gGmbH, Oldenburg
980 CONTENTS
Namespaces
gain
6.71 gaintable.cpp File Reference
Functions
• std::vector<mha_real_t >convert_f2logf (const std::vector<mha_real_t >&vF)
bool isempty (const std::vector<std::vector<mha_real_t > > &arg)
6.71.1 Function Documentation
6.71.1.1 std::vector<mha_real_t>convert_f2logf (
const std::vector<mha_real_t >&vF )
6.71.1.2 bool isempty (
const std::vector<std::vector<mha_real_t > > &arg )
6.72 gaintable.h File Reference
Classes
class DynComp::gaintable_t
Gain table class.
Namespaces
DynComp
dynamic compression related classes and functions
Functions
mha_real_t DynComp::interp1 (const std::vector<mha_real_t >&vX, const std-
::vector<mha_real_t >&vY, mha_real_t X)
One-dimensional linear interpolation.
mha_real_t DynComp::interp2 (const std::vector<mha_real_t >&vX, const std-
::vector<mha_real_t >&vY, const std::vector<std::vector<mha_real_t > > &mZ,
mha_real_t X, mha_real_t Y)
Linear interpolation in a two-dimensional field.
© 2005-2019 HörTech gGmbH, Oldenburg
6.73 generatemhaplugindoc.cpp File Reference 981
6.73 generatemhaplugindoc.cpp File Reference
Classes
class latex_doc_t
Class to access the information stored in the plugin source code's MHAPLUGIN_DOCUME-
NTATION macro.
Functions
std::string conv2latex (std::string s, bool iscolored=false)
Escapes various character sequences in texts not intended to be processed by LaTeX for
processing by LaTeX.
static void print_plugin_references (const std::set<std::string >&all_categories, std-
::map<std::string, std::vector<std::string > > main_category_plugins, std::map<std-
::string, std::vector<std::string > > additional_category_plugins, std::ofstream &ofile,
const std::string &category_macro)
Function prints an overview of all categories and their associated plugins into the document.
• std::vector<std::string >create_latex_doc (std::map<std::string, std::string >&doc,
const std::string &plugname, const std::string &plugin_macro)
Loads the plugin, creates the latex documentation for the plugin, and adds the latex documen-
tation for this plugin to the plugin's main category entry in doc.
int main (int argc, char ∗∗argv)
6.73.1 Function Documentation
6.73.1.1 std::string conv2latex (
std::string s,
bool iscolored = false )
Escapes various character sequences in texts not intended to be processed by LaTeX for pro-
cessing by LaTeX.
Focus is on correct display of symbols contained in these texts. E.g. the help texts of MHA
configuration variables can be processed by this function. The contents of the MHAPLUGIN-
_DOCUMENTATION is already in LaTeX format and should not be processed by this function.
Returns
A copy of s with various symbols escaped for LaTeX processing
Parameters
sText not ready for LaTeX
iscolored if true, the complete returned text is surrounded with "\\color{monitorcolor}{" and "}"
© 2005-2019 HörTech gGmbH, Oldenburg
982 CONTENTS
6.73.1.2 static void print_plugin_references (
const std::set<std::string >&all_categories,
std::map<std::string, std::vector<std::string > > main_category_plugins,
std::map<std::string, std::vector<std::string > > additional_category_plugins,
std::ofstream & ofile,
const std::string & category_macro )[static]
Function prints an overview of all categories and their associated plugins into the document.
Parameters
all_categories A sorted container with all category names
main_category_plugins map of main categories to plugin names
additional_category_plugins map of tags to plugin names
ofile Latex document is produced by writing output to this stream
6.73.1.3 std::vector<std::string>create_latex_doc (
std::map<std::string, std::string >&doc,
const std::string & plugname,
const std::string & plugin_macro )
Loads the plugin, creates the latex documentation for the plugin, and adds the latex documen-
tation for this plugin to the plugin's main category entry in doc.
Returns
the vector of all categories.
Parameters
doc map of main categories to a string containint the documentation of all
plugins in that categories. The documentation of the current plugin will be
appended to the existing documentation of its main category. Will be
created if non-existant.
plugname Name of the MHA plugin to process
plugin_macro name of the LaTeX section macro that documents a single plugin (e.g.
"section", "subsection", "subsubsection", ...)
6.73.1.4 int main (
int argc,
char ∗∗ argv )
6.74 gtfb_analyzer.cpp File Reference
Gammatone Filterbank Analyzer Plugin.
© 2005-2019 HörTech gGmbH, Oldenburg
6.74 gtfb_analyzer.cpp File Reference 983
Classes
struct gtfb_analyzer::gtfb_analyzer_cfg_t
Configuration for Gammatone Filterbank Analyzer.
class gtfb_analyzer::gtfb_analyzer_t
Gammatone Filterbank Analyzer Plugin.
Namespaces
gtfb_analyzer
Functions
static const mha_complex_t &filter_complex (const mha_complex_t &input, const
mha_complex_t &coeff, mha_complex_t states, unsigned orders)
Filters a complex input sample with the given filter coefficient.
static const mha_complex_t &filter_real (mha_real_t input, mha_complex_t &tmp-
_complex, const mha_complex_t &coeff, mha_complex_t states, unsigned orders,
const mha_complex_t &normphase)
Filters a real input sample with the given filter coefficient and applies the given normalization
with phase correction.
6.74.1 Detailed Description
Gammatone Filterbank Analyzer Plugin.
6.74.2 Function Documentation
6.74.2.1 static const mha_complex_t& filter_complex (
const mha_complex_t &input,
const mha_complex_t &coeff,
mha_complex_t states,
unsigned orders )[inline],[static]
Filters a complex input sample with the given filter coefficient.
No normalization takes place. The implementation is tail-recursive and to exploit compiler opti-
mization.
Parameters
input The complex input sample
coeff The complex filter coefficient
states Pointer to the array of complex filter states.
orders The filter order
© 2005-2019 HörTech gGmbH, Oldenburg
984 CONTENTS
Returns
A const ref to the filtered sample
6.74.2.2 static const mha_complex_t& filter_real (
mha_real_t input,
mha_complex_t &tmp_complex,
const mha_complex_t &coeff,
mha_complex_t states,
unsigned orders,
const mha_complex_t &normphase )[inline],[static]
Filters a real input sample with the given filter coefficient and applies the given normalization
with phase correction.
Parameters
input The real input sample
tmp_complex A reference to a mha_complex_t (p. 431) used for intermediate results. No
assumptions should be made about the state of tmp_complex after the
return of filter_real. This is an optimization to reduce the number of dtor/ctor
calls of mha_complex_t (p. 431)
coeff The complex filter coefficient
states Pointer to the array of complex filter states.
orders The filter order
normphase Normalization coefficient including the phase correction
Returns
A const ref to the filtered sample
6.75 hann.cpp File Reference
Macros
#define PI 3.14159265358979323846
Functions
float hannf (const unsigned int N)
double hann (const unsigned int N)
© 2005-2019 HörTech gGmbH, Oldenburg
6.76 hann.h File Reference 985
6.75.1 Macro Definition Documentation
6.75.1.1 #define PI 3.14159265358979323846
6.75.2 Function Documentation
6.75.2.1 floathannf (
const unsigned int N)
6.75.2.2 doublehann (
const unsigned int N)
6.76 hann.h File Reference
Functions
float hannf (const unsigned int N)
double hann (const unsigned int N)
6.76.1 Function Documentation
6.76.1.1 floathannf (
const unsigned int N)
6.76.1.2 doublehann (
const unsigned int N)
6.77 identity.cpp File Reference
Classes
class identity_t
6.78 ifftshift.cpp File Reference
Functions
void ifftshift (mha_wave_t spec)
© 2005-2019 HörTech gGmbH, Oldenburg
986 CONTENTS
6.78.1 Function Documentation
6.78.1.1 void ifftshift (
mha_wave_t spec )
6.79 ifftshift.h File Reference
Functions
void ifftshift (mha_wave_t spec)
6.79.1 Function Documentation
6.79.1.1 void ifftshift (
mha_wave_t spec )
6.80 iirfilter.cpp File Reference
Classes
class iirfilter_t
6.81 lpc.cpp File Reference
Macros
#define PATCH_VAR(var) patchbay.connect(&var.valuechanged, this, &lpc::update_-
cfg)
#define INSERT_PATCH(var) insert_member(var); PATCH_VAR(var)
Functions
void Levinson2 (unsigned int P, const std::vector<mha_real_t >&R, std::vector<mha-
_real_t >&A)
© 2005-2019 HörTech gGmbH, Oldenburg
6.82 lpc.h File Reference 987
6.81.1 Macro Definition Documentation
6.81.1.1 #define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, &lpc::update_cfg)
6.81.1.2 #define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.81.2 Function Documentation
6.81.2.1 void Levinson2 (
unsigned int P,
const std::vector<mha_real_t >&R,
std::vector<mha_real_t >&A)
6.82 lpc.h File Reference
Classes
class lpc_config
class lpc
6.83 lpc_bl_predictor.cpp File Reference
Macros
• #define PATCH_VAR(var) patchbay.connect(&var.valuechanged, this, &lpc_bl_-
predictor::update_cfg)
#define INSERT_PATCH(var) insert_member(var); PATCH_VAR(var)
6.83.1 Macro Definition Documentation
6.83.1.1 #define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, &lpc_bl_predictor-
::update_cfg)
6.83.1.2 #define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.84 lpc_bl_predictor.h File Reference
Classes
class lpc_bl_predictor_config
class lpc_bl_predictor
© 2005-2019 HörTech gGmbH, Oldenburg
988 CONTENTS
Macros
#define EPSILON 1e-10
6.84.1 Macro Definition Documentation
6.84.1.1 #define EPSILON 1e-10
6.85 lpc_burg-lattice.cpp File Reference
Macros
#define PATCH_VAR(var) patchbay.connect(&var.valuechanged, this, &lpc_burglattice-
::update_cfg)
#define INSERT_PATCH(var) insert_member(var); PATCH_VAR(var)
6.85.1 Macro Definition Documentation
6.85.1.1 #define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, &lpc_burglattice::update-
_cfg)
6.85.1.2 #define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.86 lpc_burg-lattice.h File Reference
Classes
class lpc_burglattice_config
class lpc_burglattice
Macros
#define EPSILON 1e-10
6.86.1 Macro Definition Documentation
6.86.1.1 #define EPSILON 1e-10
6.87 matrixmixer.cpp File Reference
Classes
class matrixmixer::cfg_t
class matrixmixer::matmix_t
© 2005-2019 HörTech gGmbH, Oldenburg
6.88 mha.cpp File Reference 989
Namespaces
matrixmixer
6.88 mha.cpp File Reference
Functions
int mhamain (int argc, char argv[ ])
int main (int argc, char argv[ ])
6.88.1 Function Documentation
6.88.1.1 int mhamain (
int argc,
char argv[ ] )
6.88.1.2 int main (
int argc,
char argv[ ] )
6.89 mha.hh File Reference
common types for MHA kernel, MHA framework applications and external plugins
Classes
struct mha_complex_t
Type for complex floating point values.
struct mha_complex_test_array_t
Several places in MHA rely on the fact that you can cast an array of mha_complex_t (p. 431)
c[] to an array of mha_real_t r[] with r[0] == c[0].re r[1] == c[0].im r[2] == c[1].re ...
struct mha_real_test_array_t
struct mha_direction_t
Channel source direction structure.
struct mha_channel_info_t
Channel information structure.
struct mha_wave_t
Waveform signal structure.
struct mha_spec_t
Spectrum signal structure.
struct mha_audio_descriptor_t
Description of an audio fragment (planned as a replacement of mhaconfig_t (p. 504)).
© 2005-2019 HörTech gGmbH, Oldenburg
990 CONTENTS
struct mha_audio_t
An audio fragment in the openMHA (planned as a replacement of mha_wave_t (p. 496) and
mha_spec_t (p. 465)).
struct mhaconfig_t
MHA prepare configuration structure.
struct comm_var_t
Algorithm communication variable structure.
struct algo_comm_t
A reference handle for algorithm communication variables.
Macros
#define MHA_CALLBACK_TEST(x)
Test macro to compare function type definition and declaration.
#define MHA_CALLBACK_TEST_PREFIX(prefix, x)
#define MHA_XSTRF(x) MHA_STRF(x)
#define MHA_STRF(x) #x
#define MHA_VERSION_MAJOR 4
Major version number of MHA.
#define MHA_VERSION_MINOR 8
Minor version number of MHA.
#define MHA_VERSION_RELEASE 0
Release number of MHA.
#define MHA_VERSION_BUILD 0
Build number of MHA (currently unused)
#define MHA_STRUCT_SIZEMATCH (unsigned int)((sizeof(mha_real_t)==4)+2(sizeof(mha-
_complex_t)==8)+4(sizeof(mha_wave_t)==8+2sizeof(void))+8(sizeof(mha_spec-
_t)==8+2sizeof(void))+16(sizeof(mhaconfig_t)==24))
Test number for structure sizes.
#define MHA_VERSION (unsigned int)((MHA_STRUCT_SIZEMATCH |(MHA_VERS-
ION_RELEASE << 8) |(MHA_VERSION_MINOR << 16) |(MHA_VERSION_MAJOR
<< 24)))
Full version number of MHA kernel.
#define MHA_VERSION_STRING MHA_XSTRF(MHA_VERSION_MAJOR) "." MHA_-
XSTRF(MHA_VERSION_MINOR)
Version string of MHA kernel (major.minor)
#define MHA_RELEASE_VERSION_STRING MHA_XSTRF(MHA_VERSION_MAJOR)
"." MHA_XSTRF(MHA_VERSION_MINOR) "." MHA_XSTRF(MHA_VERSION_RELE-
ASE)
Version string of MHA kernel (major.minor.release)
#define MHA_WAVEFORM 0
#define MHA_SPECTRUM 1
#define MHA_DOMAIN_MAX 2
#define MHA_DOMAIN_UNKNOWN MHA_DOMAIN_MAX
#define MHA_AC_UNKNOWN 0
#define MHA_AC_CHAR 1
© 2005-2019 HörTech gGmbH, Oldenburg
6.89 mha.hh File Reference 991
#define MHA_AC_INT 2
#define MHA_AC_MHAREAL 3
#define MHA_AC_FLOAT 4
#define MHA_AC_DOUBLE 5
#define MHA_AC_MHACOMPLEX 6
#define MHA_AC_VEC_FLOAT 51
#define MHA_AC_USER 1000
Typedefs
typedef unsigned int mha_domain_t
typedef float mha_real_t
openMHA type for real numbers
typedef void mha_fft_t
Handle for an FFT object.
typedef struct algo_comm_t algo_comm_t
typedef unsigned int(MHAGetVersion_t) (void)
typedef int(MHAInit_t) (algo_comm_t algo_comm, const char chain, const char algo,
void ∗∗h)
typedef int(MHAPrepare_t) (void h, mhaconfig_t cfg)
typedef int(MHARelease_t) (void h)
typedef void(MHADestroy_t) (void h)
typedef int(MHASet_t) (void h, const char cmd, char retval, unsigned int len)
typedef const char (MHAStrError_t) (void h, int err)
typedef int(MHAProc_wave2wave_t) (void h, mha_wave_t sIn, mha_wave_t ∗∗s-
Out)
typedef int(MHAProc_wave2spec_t) (void h, mha_wave_t sIn, mha_spec_t ∗∗s-
Out)
typedef int(MHAProc_spec2wave_t) (void h, mha_spec_t sIn, mha_wave_t ∗∗s-
Out)
typedef int(MHAProc_spec2spec_t) (void h, mha_spec_t sIn, mha_spec_t ∗∗sOut)
typedef const char (MHAPluginDocumentation_t) (void)
typedef const char (MHAPluginCategory_t) (void)
6.89.1 Detailed Description
common types for MHA kernel, MHA framework applications and external plugins
6.89.2 Macro Definition Documentation
6.89.2.1 #define MHA_CALLBACK_TEST(
x)
Test macro to compare function type definition and declaration.
© 2005-2019 HörTech gGmbH, Oldenburg
992 CONTENTS
6.89.2.2 #define MHA_CALLBACK_TEST_PREFIX(
prefix,
x)
6.89.2.3 #define MHA_XSTRF(
x)MHA_STRF(x)
6.89.2.4 #define MHA_STRF(
x) #x
6.89.2.5 #define MHA_VERSION_MAJOR 4
Major version number of MHA.
6.89.2.6 #define MHA_VERSION_MINOR 8
Minor version number of MHA.
6.89.2.7 #define MHA_VERSION_RELEASE 0
Release number of MHA.
6.89.2.8 #define MHA_VERSION_BUILD 0
Build number of MHA (currently unused)
6.89.2.9 #define MHA_STRUCT_SIZEMATCH (unsigned int)((sizeof(mha_real_t)==4)+2(sizeof(mha-
_complex_t)==8)+4(sizeof(mha_wave_t)==8+2sizeof(void))+8(sizeof(mha_spec_-
t)==8+2sizeof(void))+16(sizeof(mhaconfig_t)==24))
Test number for structure sizes.
6.89.2.10 #define MHA_VERSION (unsigned int)((MHA_STRUCT_SIZEMATCH |
(MHA_VERSION_RELEASE << 8) |(MHA_VERSION_MINOR << 16) |
(MHA_VERSION_MAJOR << 24)))
Full version number of MHA kernel.
6.89.2.11 #define MHA_VERSION_STRING MHA_XSTRF(MHA_VERSION_MAJOR) "."
MHA_XSTRF(MHA_VERSION_MINOR)
Version string of MHA kernel (major.minor)
© 2005-2019 HörTech gGmbH, Oldenburg
6.89 mha.hh File Reference 993
6.89.2.12 #define MHA_RELEASE_VERSION_STRING MHA_XSTRF(MHA_VE-
RSION_MAJOR) "." MHA_XSTRF(MHA_VERSION_MINOR) "."
MHA_XSTRF(MHA_VERSION_RELEASE)
Version string of MHA kernel (major.minor.release)
6.89.2.13 #define MHA_WAVEFORM 0
6.89.2.14 #define MHA_SPECTRUM 1
6.89.2.15 #define MHA_DOMAIN_MAX 2
6.89.2.16 #define MHA_DOMAIN_UNKNOWN MHA_DOMAIN_MAX
6.89.2.17 #define MHA_AC_UNKNOWN 0
6.89.2.18 #define MHA_AC_CHAR 1
6.89.2.19 #define MHA_AC_INT 2
6.89.2.20 #define MHA_AC_MHAREAL 3
6.89.2.21 #define MHA_AC_FLOAT 4
6.89.2.22 #define MHA_AC_DOUBLE 5
6.89.2.23 #define MHA_AC_MHACOMPLEX 6
6.89.2.24 #define MHA_AC_VEC_FLOAT 51
6.89.2.25 #define MHA_AC_USER 1000
6.89.3 Typedef Documentation
6.89.3.1 typedef unsigned int mha_domain_t
6.89.3.2 typedef struct algo_comm_t algo_comm_t
6.89.3.3 typedef unsigned int(MHAGetVersion_t) (void)
6.89.3.4 typedef int(MHAInit_t) (algo_comm_t algo_comm, const char chain, const char algo, void
∗∗h)
6.89.3.5 typedef int(MHAPrepare_t) (void h, mhaconfig_t cfg)
© 2005-2019 HörTech gGmbH, Oldenburg
994 CONTENTS
6.89.3.6 typedef int(MHARelease_t) (void h)
6.89.3.7 typedef void(MHADestroy_t) (void h)
6.89.3.8 typedef int(MHASet_t) (void h, const char cmd, char retval, unsigned int len)
6.89.3.9 typedef const char(MHAStrError_t) (void h, int err)
6.89.3.10 typedef int(MHAProc_wave2wave_t) (void h, mha_wave_t sIn, mha_wave_t ∗∗sOut)
6.89.3.11 typedef int(MHAProc_wave2spec_t) (void h, mha_wave_t sIn, mha_spec_t ∗∗sOut)
6.89.3.12 typedef int(MHAProc_spec2wave_t) (void h, mha_spec_t sIn, mha_wave_t ∗∗sOut)
6.89.3.13 typedef int(MHAProc_spec2spec_t) (void h, mha_spec_t sIn, mha_spec_t ∗∗sOut)
6.89.3.14 typedef const char(MHAPluginDocumentation_t) (void)
6.89.3.15 typedef const char(MHAPluginCategory_t) (void)
6.90 mha_algo_comm.cpp File Reference
Macros
#define AC_SUCCESS 0
#define AC_INVALID_HANDLE -1
#define AC_INVALID_NAME -2
#define AC_STRING_TRUNCATED -3
#define AC_INVALID_OUTPTR -4
#define AC_TYPE_MISMATCH -5
#define AC_DIM_MISMATCH -6
Variables
algo_comm_t algo_comm_default
© 2005-2019 HörTech gGmbH, Oldenburg
6.91 mha_algo_comm.h File Reference 995
6.90.1 Macro Definition Documentation
6.90.1.1 #define AC_SUCCESS 0
6.90.1.2 #define AC_INVALID_HANDLE -1
6.90.1.3 #define AC_INVALID_NAME -2
6.90.1.4 #define AC_STRING_TRUNCATED -3
6.90.1.5 #define AC_INVALID_OUTPTR -4
6.90.1.6 #define AC_TYPE_MISMATCH -5
6.90.1.7 #define AC_DIM_MISMATCH -6
6.90.2 Variable Documentation
6.90.2.1 algo_comm_t algo_comm_default
6.91 mha_algo_comm.h File Reference
Header file for Algorithm Communication.
Classes
class MHA_AC::spectrum_t
Insert a MHASignal::spectrum_t (p. 800) class into the AC space.
class MHA_AC::waveform_t
Insert a MHASignal::waveform_t (p. 812) class into the AC space.
class MHA_AC::int_t
Insert a integer variable into the AC space.
class MHA_AC::float_t
Insert a float point variable into the AC space.
class MHA_AC::double_t
Insert a double precision floating point variable into the AC space.
class MHA_AC::stat_t
class MHA_AC::ac2matrix_helper_t
class MHA_AC::ac2matrix_t
Copy AC variable to a matrix.
class MHA_AC::acspace2matrix_t
Copy all or a subset of all numeric AC variables into an array of matrixes.
© 2005-2019 HörTech gGmbH, Oldenburg
996 CONTENTS
Namespaces
MHA_AC
Functions and classes for Algorithm Communication (AC) support.
Functions
mha_spec_t MHA_AC::get_var_spectrum (algo_comm_t ac, const std::string &name)
Convert an AC variable into a spectrum.
mha_wave_t MHA_AC::get_var_waveform (algo_comm_t ac, const std::string
&name)
Convert an AC variable into a waveform.
int MHA_AC::get_var_int (algo_comm_t ac, const std::string &name)
Return value of an integer scalar AC variable.
float MHA_AC::get_var_float (algo_comm_t ac, const std::string &name)
Return value of an floating point scalar AC variable.
• std::vector<float >MHA_AC::get_var_vfloat (algo_comm_t ac, const std::string
&name)
Return value of an floating point vector AC variable as standard vector of floats.
6.91.1 Detailed Description
Header file for Algorithm Communication.
6.92 mha_algo_comm.hh File Reference
Classes
class MHAKernel::comm_var_map_t
class MHAKernel::algo_comm_class_t
Namespaces
MHAKernel
Macros
• #define ALGO_COMM_ID_STR "MFVK3jL5rmeus1XtggEI971aXCR/GU7RRehKz4k-
Qtrg="
© 2005-2019 HörTech gGmbH, Oldenburg
6.93 mha_defs.h File Reference 997
Functions
algo_comm_class_t MHAKernel::algo_comm_safe_cast (void )
Variables
algo_comm_t algo_comm_default
6.92.1 Macro Definition Documentation
6.92.1.1 #define ALGO_COMM_ID_STR "MFVK3jL5rmeus1XtggEI971aXCR/GU7RRehKz4kQtrg="
6.92.2 Variable Documentation
6.92.2.1 algo_comm_t algo_comm_default
6.93 mha_defs.h File Reference
Preprocessor definitions common to all MHA components.
Macros
#define __MHA_FUN__ __FUNC__
#define CHECK_EXPR(x) {if(!(x)){throw MHA_Error(__FILE__,__LINE__,"The expres-
sion \"" #x "\" is invalid.");}}
#define CHECK_VAR(x) {if(!(x)){throw MHA_Error(__FILE__,__LINE__,"The variable \""
#x "\" is not defined.");}}
#define __declspec(p)
#define M_PI 3.14159265358979323846
Define pi if it is not defined yet.
#define MIN(a, b) (((a)<(b))?(a):(b))
Macro for minimum function.
#define MAX(a, b) (((a)>(b))?(a):(b))
Macro for maximum function.
#define MHA_EAR_LEFT 0
#define MHA_EAR_RIGHT 1
#define MHA_EAR_MAX 2
6.93.1 Detailed Description
Preprocessor definitions common to all MHA components.
This file contains all preprocessor and type definitions which are common to all Master Hearing
Aid components.
© 2005-2019 HörTech gGmbH, Oldenburg
998 CONTENTS
6.93.2 Macro Definition Documentation
6.93.2.1 #define __MHA_FUN__ __FUNC__
6.93.2.2 #define CHECK_EXPR(
x) {if(!(x)){throw MHA_Error(__FILE__,__LINE__,"The expression \"" #x "\" is
invalid.");}}
6.93.2.3 #define CHECK_VAR(
x) {if(!(x)){throw MHA_Error(__FILE__,__LINE__,"The variable \"" #x "\" is not
defined.");}}
6.93.2.4 #define __declspec(
p)
6.93.2.5 #define M_PI 3.14159265358979323846
Define pi if it is not defined yet.
6.93.2.6 #define MIN(
a,
b) (((a)<(b))?(a):(b))
Macro for minimum function.
6.93.2.7 #define MAX(
a,
b) (((a)>(b))?(a):(b))
Macro for maximum function.
6.93.2.8 #define MHA_EAR_LEFT 0
6.93.2.9 #define MHA_EAR_RIGHT 1
6.93.2.10 #define MHA_EAR_MAX 2
6.94 mha_errno.c File Reference
Macros
#define STRLEN 0x1000
© 2005-2019 HörTech gGmbH, Oldenburg
6.95 mha_errno.h File Reference 999
Functions
const char mha_strerror (int mhaerrno)
void mha_set_user_error (const char str)
Variables
char next_except_str [STRLEN] = ""
const char cstr_strerror [MHA_ERR_USER]
6.94.1 Macro Definition Documentation
6.94.1.1 #define STRLEN 0x1000
6.94.2 Function Documentation
6.94.2.1 const charmha_strerror (
int mhaerrno )
6.94.2.2 void mha_set_user_error (
const char str )
6.94.3 Variable Documentation
6.94.3.1 char next_except_str[STRLEN] = ""
6.94.3.2 const charcstr_strerror[MHA_ERR_USER]
6.95 mha_errno.h File Reference
Macros
#define MHA_ERR_SUCCESS 0
#define MHA_ERR_UNKNOWN 1
#define MHA_ERR_INVALID_HANDLE 2
#define MHA_ERR_NULL 3
#define MHA_ERR_VARRANGE 4
#define MHA_ERR_VARFMT 5
#define MHA_ERR_USER 10000
Functions
const char mha_strerror (int mhaerrno)
void mha_set_user_error (const char str)
© 2005-2019 HörTech gGmbH, Oldenburg
1000 CONTENTS
6.95.1 Macro Definition Documentation
6.95.1.1 #define MHA_ERR_SUCCESS 0
6.95.1.2 #define MHA_ERR_UNKNOWN 1
6.95.1.3 #define MHA_ERR_INVALID_HANDLE 2
6.95.1.4 #define MHA_ERR_NULL 3
6.95.1.5 #define MHA_ERR_VARRANGE 4
6.95.1.6 #define MHA_ERR_VARFMT 5
6.95.1.7 #define MHA_ERR_USER 10000
6.95.2 Function Documentation
6.95.2.1 const charmha_strerror (
int mhaerrno )
6.95.2.2 void mha_set_user_error (
const char str )
6.96 mha_error.cpp File Reference
Implementation of openMHA error handling.
Namespaces
mha_error_helpers
Functions
unsigned mha_error_helpers::digits (unsigned n)
Compute number of decimal digits required to represent an unsigned integer.
unsigned mha_error_helpers::snprintf_required_length (const char formatstring,...)
snprintf_required_length Compute the number of bytes (excluding the terminating nul) required
to store the result of an snprintf.
void mha_debug (const char fmt,...)
Print an info message (stderr on Linux, OutputDebugString in Windows).
© 2005-2019 HörTech gGmbH, Oldenburg
6.97 mha_error.hh File Reference 1001
6.96.1 Detailed Description
Implementation of openMHA error handling.
This file forms a seperate library.
6.97 mha_error.hh File Reference
Classes
class MHA_Error
Error reporting exception class.
Namespaces
mha_error_helpers
Macros
#define Getmsg(e) ((e).get_msg())
#define MHA_ErrorMsg(x) MHA_Error(__FILE__,__LINE__,"%s",x)
Throw an openMHA error with a text message.
• #define MHA_assert(x) if(!(x)) throw MHA_Error(__FILE__,__LINE__,"\"%s\" is
false.",#x)
Assertion macro, which throws an MHA_Error (p. 445).
#define MHA_assert_equal(a, b) if( a != b ) throw MHA_Error(__FILE__,__LINE__-
,"\"%s == %s\" is false (%s = %g, %s = %g).",#a,#b,#a,(double)(a),#b,(double)(b))
Equality assertion macro, which throws an MHA_Error (p. 445) with the values.
Functions
void mha_debug (const char fmt,...)
Print an info message (stderr on Linux, OutputDebugString in Windows).
unsigned mha_error_helpers::digits (unsigned n)
Compute number of decimal digits required to represent an unsigned integer.
unsigned mha_error_helpers::snprintf_required_length (const char formatstring,...)
snprintf_required_length Compute the number of bytes (excluding the terminating nul) required
to store the result of an snprintf.
© 2005-2019 HörTech gGmbH, Oldenburg
1002 CONTENTS
6.97.1 Macro Definition Documentation
6.97.1.1 #define Getmsg(
e) ((e).get_msg())
6.98 mha_event_emitter.h File Reference
Classes
class MHAEvents::connector_base_t
class MHAEvents::emitter_t
Class for emitting openMHA events.
Namespaces
MHAEvents
Collection of event handling classes.
6.99 mha_events.cpp File Reference
6.100 mha_events.h File Reference
Classes
class MHAEvents::connector_t<receiver_t >
class MHAEvents::patchbay_t<receiver_t >
Patchbay which connects any event emitter with any member function of the parameter class.
Namespaces
MHAEvents
Collection of event handling classes.
6.101 mha_fftfb.cpp File Reference
Classes
class MHAOvlFilter::barkscale::hz2bark_t
class MHAOvlFilter::barkscale::bark2hz_t
© 2005-2019 HörTech gGmbH, Oldenburg
6.101 mha_fftfb.cpp File Reference 1003
Namespaces
MHAOvlFilter
Namespace for overlapping FFT based filter bank classes and functions.
MHAOvlFilter::barkscale
MHAOvlFilter::FreqScaleFun
Transform functions from linear scale in Hz to new frequency scales.
MHAOvlFilter::ShapeFun
Shape functions for overlapping filters.
Macros
#define BARKSCALE_ENTRIES 50
Functions
mha_real_t MHAOvlFilter::FreqScaleFun::hz2hz (mha_real_t x)
Dummy scale transformation Hz to Hz.
mha_real_t MHAOvlFilter::FreqScaleFun::hz2khz (mha_real_t x)
mha_real_t MHAOvlFilter::FreqScaleFun::hz2octave (mha_real_t x)
mha_real_t MHAOvlFilter::FreqScaleFun::hz2third_octave (mha_real_t x)
mha_real_t MHAOvlFilter::FreqScaleFun::hz2bark (mha_real_t x)
Transformation to bark scale.
mha_real_t MHAOvlFilter::FreqScaleFun::hz2bark_analytic (mha_real_t)
mha_real_t MHAOvlFilter::FreqScaleFun::hz2erb (mha_real_t)
mha_real_t MHAOvlFilter::FreqScaleFun::hz2erb_glasberg1990 (mha_real_t)
mha_real_t MHAOvlFilter::FreqScaleFun::hz2log (mha_real_t x)
Third octave frequency scale.
mha_real_t MHAOvlFilter::FreqScaleFun::inv_scale (mha_real_t,mha_real_-
t()(mha_real_t))
mha_real_t MHAOvlFilter::ShapeFun::rect (mha_real_t x)
Filter shape function for rectangular filters.
mha_real_t MHAOvlFilter::ShapeFun::linear (mha_real_t x)
Filter shape function for sawtooth filters.
mha_real_t MHAOvlFilter::ShapeFun::hann (mha_real_t x)
Filter shape function for hanning shaped filters.
mha_real_t MHAOvlFilter::ShapeFun::expflt (mha_real_t)
mha_real_t MHAOvlFilter::ShapeFun::gauss (mha_real_t)
mha_real_t filtershapefun (mha_real_t f, MHAOvlFilter::band_descriptor_t b, mha-
_real_t plateau)
Variables
mha_real_t MHAOvlFilter::barkscale::vfreq [BARKSCALE_ENTRIES]
mha_real_t MHAOvlFilter::barkscale::vbark [BARKSCALE_ENTRIES]
© 2005-2019 HörTech gGmbH, Oldenburg
1004 CONTENTS
6.101.1 Macro Definition Documentation
6.101.1.1 #define BARKSCALE_ENTRIES 50
6.101.2 Function Documentation
6.101.2.1 mha_real_t filtershapefun (
mha_real_t f,
MHAOvlFilter::band_descriptor_t b,
mha_real_t plateau )
6.102 mha_fftfb.hh File Reference
Classes
class MHAOvlFilter::band_descriptor_t
class MHAOvlFilter::scale_var_t
class MHAOvlFilter::fscale_t
class MHAOvlFilter::fscale_bw_t
class MHAOvlFilter::fftfb_vars_t
Set of configuration variables for FFT-based overlapping filters.
class MHAOvlFilter::fspacing_t
Class for frequency spacing, used by filterbank shape generator class.
class MHAOvlFilter::fftfb_t
FFT based overlapping filter bank.
class MHAOvlFilter::overlap_save_filterbank_t
A time-domain minimal phase filter bank with frequency shapes from MHAOvlFilter::fftfb_t
(p. 616).
class MHAOvlFilter::overlap_save_filterbank_t::vars_t
class MHAOvlFilter::overlap_save_filterbank_analytic_t
class MHAOvlFilter::fftfb_ac_info_t
Namespaces
MHAOvlFilter
Namespace for overlapping FFT based filter bank classes and functions.
Typedefs
typedef mha_real_t(MHAOvlFilter::scale_fun_t) (mha_real_t)
© 2005-2019 HörTech gGmbH, Oldenburg
6.103 mha_fifo.cpp File Reference 1005
6.103 mha_fifo.cpp File Reference
6.104 mha_fifo.h File Reference
Classes
class mha_fifo_t<T>
A FIFO class for blocksize adaptation Synchronization: None.
class mha_drifter_fifo_t<T>
A FIFO class for blocksize adaptation without Synchronization.
class mha_fifo_thread_platform_t
Abstract base class for synchronizing multithreaded (producer/consumer) fifo operations.
class mha_fifo_posix_threads_t
class mha_fifo_thread_guard_t
Simple Mutex Guard Class.
class mha_fifo_lw_t<T>
This FIFO uses locks to synchronize access.
class mha_dblbuf_t<FIFO >
The doublebuffer adapts blocksizes between an outer process, which provides input data and
takes output data, and an inner process, which processes the input signal and generates output
data using a different block size than the outer process.
class mha_rt_fifo_element_t<T>
Object wrapper for mha_rt_fifo_t (p. 462).
class mha_rt_fifo_t<T>
Template class for thread safe, half real time safe fifo without explixit locks.
Macros
#define mha_fifo_thread_platform_implementation_t mha_fifo_posix_threads_t
6.104.1 Macro Definition Documentation
6.104.1.1 #define mha_fifo_thread_platform_implementation_t mha_fifo_posix_threads_t
6.105 mha_filter.cpp File Reference
Functions
• std::vector<mha_real_t >diff_coeffs ()
© 2005-2019 HörTech gGmbH, Oldenburg
1006 CONTENTS
6.105.1 Function Documentation
6.105.1.1 std::vector<mha_real_t>diff_coeffs ( )
6.106 mha_filter.hh File Reference
Header file for IIR filter classes.
Classes
class MHAFilter::filter_t
Generic IIR filter class.
class MHAFilter::diff_t
Differentiator class (non-normalized)
class MHAFilter::o1_ar_filter_t
First order attack-release lowpass filter.
class MHAFilter::o1flt_lowpass_t
First order low pass filter.
class MHAFilter::o1flt_maxtrack_t
First order maximum tracker.
class MHAFilter::o1flt_mintrack_t
First order minimum tracker.
class MHAFilter::iir_filter_state_t
class MHAFilter::iir_filter_t
IIR filter class wrapper for integration into parser structure.
class MHAFilter::adapt_filter_state_t
class MHAFilter::adapt_filter_param_t
class MHAFilter::adapt_filter_t
Adaptive filter.
class MHAFilter::fftfilter_t
FFT based FIR filter implementation.
class MHAFilter::fftfilterbank_t
FFT based FIR filterbank implementation.
struct MHAFilter::transfer_function_t
a structure containing a source channel number, a target channel number, and an impulse
response.
struct MHAFilter::transfer_matrix_t
A sparse matrix of transfer function partitionss.
class MHAFilter::partitioned_convolution_t
A filter class for partitioned convolution.
struct MHAFilter::partitioned_convolution_t::index_t
Bookkeeping class.
class MHAFilter::smoothspec_t
Smooth spectral gains, create a windowed impulse response.
© 2005-2019 HörTech gGmbH, Oldenburg
6.107 mha_generic_chain.cpp File Reference 1007
class MHAFilter::resampling_filter_t
Hann shaped low pass filter for resampling.
class MHAFilter::polyphase_resampling_t
A class that performs polyphase resampling.
class MHAFilter::blockprocessing_polyphase_resampling_t
A class that does polyphase resampling and takes into account block processing.
class MHAFilter::iir_ord1_real_t
First order recursive filter.
Namespaces
MHAFilter
Namespace for IIR and FIR filter classes.
Functions
void MHAFilter::make_friendly_number (mha_real_t &x)
void MHAFilter::make_friendly_number (mha_complex_t &x)
void MHAFilter::make_friendly_number (double &x)
void MHAFilter::o1_lp_coeffs (const mha_real_t tau, const mha_real_t fs, mha_real-
_t &c1, mha_real_t &c2)
Set first order filter coefficients from time constant and sampling rate.
void MHAFilter::butter_stop_ord1 (double A, double B, double f1, double f2, double
fs)
Setup a first order butterworth band stop filter.
MHASignal::waveform_t MHAFilter::spec2fir (const mha_spec_t spec, const un-
signed int fftlen, const MHAWindow::base_t &window, const bool minphase)
Create a windowed impulse response/FIR filter coefficients from a spectrum.
unsigned MHAFilter::gcd (unsigned a, unsigned b)
greatest common divisor
double MHAFilter::sinc (double x)
sin(x)/x function, coping with x=0.
• std::pair<unsigned, unsigned >MHAFilter::resampling_factors (float source_-
sampling_rate, float target_sampling_rate, float factor=1.0f)
Computes rational resampling factor from two sampling rates.
6.106.1 Detailed Description
Header file for IIR filter classes.
6.107 mha_generic_chain.cpp File Reference
Functions
void mhaconfig_compare (mhaconfig_t req, mhaconfig_t avail, const char cpref)
© 2005-2019 HörTech gGmbH, Oldenburg
1008 CONTENTS
6.107.1 Function Documentation
6.107.1.1 void mhaconfig_compare (
mhaconfig_t req,
mhaconfig_t avail,
const char cpref )
6.108 mha_generic_chain.h File Reference
Classes
class mhachain::plugs_t
class mhachain::chain_base_t
Namespaces
mhachain
Macros
#define MHAPLUGIN_OVERLOAD_OUTDOMAIN
6.108.1 Macro Definition Documentation
6.108.1.1 #define MHAPLUGIN_OVERLOAD_OUTDOMAIN
6.109 mha_io_ifc.h File Reference
Typedefs
typedef int(IOProcessEvent_t) (void handle, mha_wave_t sIn, mha_wave_t ∗∗s-
Out)
Event handler for signal stream.
typedef void(IOStoppedEvent_t) (void handle, int proc_err, int io_err)
Event handler for stop event.
typedef void(IOStartedEvent_t) (void handle)
Event handler for start event.
typedef int(IOInit_t) (int fragsize, float samplerate, IOProcessEvent_t proc_event, void
proc_handle, IOStartedEvent_t start_event, void start_handle, IOStoppedEvent_-
tstop_event, void stop_handle, void ∗∗handle)
typedef int(IOPrepare_t) (void handle, int num_inchannels, int num_outchannels)
typedef int(IOStart_t) (void handle)
typedef int(IOStop_t) (void handle)
typedef int(IORelease_t) (void handle)
typedef int(IOSetVar_t) (void handle, const char cmd, char retval, unsigned int len)
typedef const char (IOStrError_t) (void handle, int err)
typedef void(IODestroy_t) (void handle)
© 2005-2019 HörTech gGmbH, Oldenburg
6.110 mha_multisrc.cpp File Reference 1009
6.109.1 Typedef Documentation
6.109.1.1 typedef int(IOProcessEvent_t) (void handle, mha_wave_t sIn, mha_wave_t ∗∗sOut)
Event handler for signal stream.
This event handler needs to be realtime compatible. All signal path processing will be performed
in this callback.
6.109.1.2 typedef void(IOStoppedEvent_t) (void handle, int proc_err, int io_err)
Event handler for stop event.
This event handler needs to be realtime compatible. The function must return immediatly.
6.109.1.3 typedef void(IOStartedEvent_t) (void handle)
Event handler for start event.
This event handler needs to be realtime compatible. The function must return immediatly.
6.109.1.4 typedef int(IOInit_t) (int fragsize, float samplerate, IOProcessEvent_t proc_event, void
proc_handle, IOStartedEvent_t start_event, void start_handle, IOStoppedEvent_t
stop_event, void stop_handle, void ∗∗handle)
6.109.1.5 typedef int(IOPrepare_t) (void handle, int num_inchannels, int num_outchannels)
6.109.1.6 typedef int(IOStart_t) (void handle)
6.109.1.7 typedef int(IOStop_t) (void handle)
6.109.1.8 typedef int(IORelease_t) (void handle)
6.109.1.9 typedef int(IOSetVar_t) (void handle, const char cmd, char retval, unsigned int len)
6.109.1.10 typedef const char(IOStrError_t) (void handle, int err)
6.109.1.11 typedef void(IODestroy_t) (void handle)
6.110 mha_multisrc.cpp File Reference
Namespaces
MHAMultiSrc
Collection of classes for selecting audio chunks from multiple sources.
© 2005-2019 HörTech gGmbH, Oldenburg
1010 CONTENTS
6.111 mha_multisrc.h File Reference
Classes
class MHAMultiSrc::channel_t
class MHAMultiSrc::channels_t
class MHAMultiSrc::base_t
Base class for source selection.
class MHAMultiSrc::waveform_t
class MHAMultiSrc::spectrum_t
Namespaces
MHAMultiSrc
Collection of classes for selecting audio chunks from multiple sources.
6.112 mha_os.cpp File Reference
Functions
bool mha_hasenv (const std::string &envvar)
Checks if environment variable exists.
std::string mha_getenv (const std::string &envvar)
Get value of environment variable.
void mha_delenv (const std::string &envvar)
Deletes environment variable from process environment if it exists.
int mha_setenv (const std::string &envvar, const std::string &value)
Set value of environment variable.
• std::list<std::string >mha_library_paths ()
• std::list<std::string >list_dir (const std::string &path, const std::string &pattern)
6.112.1 Function Documentation
6.112.1.1 bool mha_hasenv (
const std::string & envvar )
Checks if environment variable exists.
Parameters
envvar Name of environment variable to check
© 2005-2019 HörTech gGmbH, Oldenburg
6.112 mha_os.cpp File Reference 1011
Returns
true if the environment has a variable of this name
6.112.1.2 std::string mha_getenv (
const std::string & envvar )
Get value of environment variable.
Parameters
envvar Name of environment variable to retrieve
Returns
content of environment variable if it exists, empty string if the environment variable does
not exist
6.112.1.3 void mha_delenv (
const std::string & envvar )
Deletes environment variable from process environment if it exists.
Parameters
envvar Name of environment variable to delete
6.112.1.4 int mha_setenv (
const std::string & envvar,
const std::string & value )
Set value of environment variable.
Parameters
envvar Name of environment variable to set
value New content for environment variable
Returns
error code: 0 on success, OS dependent error code on failure
6.112.1.5 std::list<std::string>mha_library_paths ( )
© 2005-2019 HörTech gGmbH, Oldenburg
1012 CONTENTS
6.112.1.6 std::list<std::string>list_dir (
const std::string & path,
const std::string & pattern )
6.113 mha_os.h File Reference
Classes
class mha_stash_environment_variable_t
This class changes the value of an environment variable when constructed and restores the
original state of the environment variable when destroyed.
class dynamiclib_t
Macros
#define mha_loadlib(x) dlopen(x,RTLD_NOW)
#define mha_freelib(x) dlclose(x)
#define mha_freelib_success(x) (x == 0)
#define mha_getlibfun(h, x) x ## _cb = (x ## _t)dlsym(h,#x)
#define mha_getlibfun_checked(h, x) x ## _cb = (x ## _t)dlsym(h,#x);if(! x ## _cb)
throw MHA_Error(__FILE__,__LINE__,"Function " #x " is undefined.")
#define mha_loadlib_error(x) dlerror()
#define mha_lib_extension ".so"
#define mha_msleep(milliseconds) usleep((milliseconds)1000)
#define FMTsz "%zu"
printf modifier to print integers of type size_t
#define MHA_RESOLVE(h, t) t ## _cb = (t ## _t)(h->resolve(#t))
#define MHA_RESOLVE_CHECKED(h, t) t ## _cb = (t ## _t)(h->resolve_checked(#t))
Typedefs
typedef void mha_libhandle_t
Functions
std::string mha_getenv (const std::string &envvar)
Get value of environment variable.
bool mha_hasenv (const std::string &envvar)
Checks if environment variable exists.
int mha_setenv (const std::string &envvar, const std::string &value)
Set value of environment variable.
void mha_delenv (const std::string &envvar)
Deletes environment variable from process environment if it exists.
• std::list<std::string >mha_library_paths ()
• std::list<std::string >list_dir (const std::string &path, const std::string &pattern)
void mha_hton (float data, unsigned int len)
void mha_ntoh (float data, unsigned int len)
void mha_hton (uint32_t data, unsigned int len)
void mha_ntoh (uint32_t data, unsigned int len)
void mha_hton (int32_t data, unsigned int len)
void mha_ntoh (int32_t data, unsigned int len)
© 2005-2019 HörTech gGmbH, Oldenburg
6.113 mha_os.h File Reference 1013
6.113.1 Macro Definition Documentation
6.113.1.1 #define mha_loadlib(
x) dlopen(x,RTLD_NOW)
6.113.1.2 #define mha_freelib(
x) dlclose(x)
6.113.1.3 #define mha_freelib_success(
x) (x == 0)
6.113.1.4 #define mha_getlibfun(
h,
x) x ## _cb = (x ## _t)dlsym(h,#x)
6.113.1.5 #define mha_getlibfun_checked(
h,
x) x ## _cb = (x ## _t)dlsym(h,#x);if(! x ## _cb) throw
MHA_Error(__FILE__,__LINE__,"Function " #x " is undefined.")
6.113.1.6 #define mha_loadlib_error(
x) dlerror()
6.113.1.7 #define mha_lib_extension ".so"
6.113.1.8 #define mha_msleep(
milliseconds ) usleep((milliseconds)1000)
6.113.1.9 #define FMTsz "%zu"
printf modifier to print integers of type size_t
6.113.1.10 #define MHA_RESOLVE(
h,
t) t ## _cb = (t ## _t)(h->resolve(#t))
6.113.1.11 #define MHA_RESOLVE_CHECKED(
h,
t) t ## _cb = (t ## _t)(h->resolve_checked(#t))
6.113.2 Typedef Documentation
6.113.2.1 typedef voidmha_libhandle_t
6.113.3 Function Documentation
6.113.3.1 std::string mha_getenv (
const std::string & envvar )
Get value of environment variable.
© 2005-2019 HörTech gGmbH, Oldenburg
1014 CONTENTS
Parameters
envvar Name of environment variable to retrieve
Returns
content of environment variable if it exists, empty string if the environment variable does
not exist
6.113.3.2 bool mha_hasenv (
const std::string & envvar )
Checks if environment variable exists.
Parameters
envvar Name of environment variable to check
Returns
true if the environment has a variable of this name
6.113.3.3 int mha_setenv (
const std::string & envvar,
const std::string & value )
Set value of environment variable.
Parameters
envvar Name of environment variable to set
value New content for environment variable
Returns
error code: 0 on success, OS dependent error code on failure
6.113.3.4 void mha_delenv (
const std::string & envvar )
Deletes environment variable from process environment if it exists.
© 2005-2019 HörTech gGmbH, Oldenburg
6.114 mha_parser.cpp File Reference 1015
Parameters
envvar Name of environment variable to delete
6.113.3.5 std::list<std::string>mha_library_paths ( )
6.113.3.6 std::list<std::string>list_dir (
const std::string & path,
const std::string & pattern )
6.113.3.7 void mha_hton (
float data,
unsigned int len )[inline]
6.113.3.8 void mha_ntoh (
float data,
unsigned int len )[inline]
6.113.3.9 void mha_hton (
uint32_t data,
unsigned int len )[inline]
6.113.3.10 void mha_ntoh (
uint32_t data,
unsigned int len )[inline]
6.113.3.11 void mha_hton (
int32_t data,
unsigned int len )[inline]
6.113.3.12 void mha_ntoh (
int32_t data,
unsigned int len )[inline]
6.114 mha_parser.cpp File Reference
Namespaces
MHAParser
Name space for the openMHA-Parser configuration language.
MHAParser::StrCnv
String converter namespace.
Macros
#define MHAPLATFORM "undefined-linux"
© 2005-2019 HörTech gGmbH, Oldenburg
1016 CONTENTS
Functions
int MHAParser::get_precision ()
int MHAParser::StrCnv::num_brackets (const std::string &s)
Return number of brackets at beginning and end of string.
int MHAParser::StrCnv::bracket_balance (const std::string &s)
static std::ostream & write_float (std::ostream &o, const float &f)
static std::string parse_1_float (const std::string &s, mha_real_t &v)
This internal function parses a floating point number from the beginning of a string.
static std::string parse_1_complex (const std::string &s, mha_complex_t &v)
This internal function parses a complex number from the beginning of a string.
6.114.1 Macro Definition Documentation
6.114.1.1 #define MHAPLATFORM "undefined-linux"
6.114.2 Function Documentation
6.114.2.1 static std::ostream& write_float (
std::ostream & o,
const float & f)[inline],[static]
6.114.2.2 static std::string parse_1_float (
const std::string & s,
mha_real_t &v)[static]
This internal function parses a floating point number from the beginning of a string.
Parameters
sThe string to parse
vThe float variable to fill with a value
Returns
The rest of the string.
6.114.2.3 static std::string parse_1_complex (
const std::string & s,
mha_complex_t &v)[static]
This internal function parses a complex number from the beginning of a string.
© 2005-2019 HörTech gGmbH, Oldenburg
6.115 mha_parser.hh File Reference 1017
Parameters
sThe string to parse
vThe complex variable to fill with a value
Returns
The rest of the string.
6.115 mha_parser.hh File Reference
Header file for the MHA-Parser script language.
Classes
class MHAParser::keyword_list_t
Keyword list class.
class MHAParser::expression_t
class MHAParser::entry_t
class MHAParser::base_t
Base class for all parser items.
class MHAParser::base_t::replace_t
class MHAParser::parser_t
Parser node class.
class MHAParser::c_ifc_parser_t
class MHAParser::monitor_t
Base class for monitors and variable nodes.
class MHAParser::variable_t
Base class for variable nodes.
class MHAParser::range_var_t
Base class for all variables with a numeric value range.
class MHAParser::kw_t
Variable with keyword list value.
class MHAParser::string_t
Variable with a string value.
class MHAParser::vstring_t
Vector variable with string values.
class MHAParser::bool_t
Variable with a boolean value ("yes"/"no")
class MHAParser::int_t
Variable with integer value.
class MHAParser::float_t
Variable with float value.
© 2005-2019 HörTech gGmbH, Oldenburg
1018 CONTENTS
class MHAParser::complex_t
Variable with complex value.
class MHAParser::vint_t
Variable with vector<int>value.
class MHAParser::vfloat_t
Vector variable with float value.
class MHAParser::vcomplex_t
Vector variable with complex value.
class MHAParser::mfloat_t
Matrix variable with float value.
class MHAParser::mcomplex_t
Matrix variable with complex value.
class MHAParser::int_mon_t
Monitor variable with int value.
class MHAParser::bool_mon_t
Monitor with string value.
class MHAParser::string_mon_t
Monitor with string value.
class MHAParser::vstring_mon_t
Vector of monitors with string value.
class MHAParser::vint_mon_t
Vector of ints monitor.
class MHAParser::mint_mon_t
Matrix of ints monitor.
class MHAParser::vfloat_mon_t
Vector of floats monitor.
class MHAParser::mfloat_mon_t
Matrix of floats monitor.
class MHAParser::float_mon_t
Monitor with float value.
class MHAParser::complex_mon_t
Monitor with complex value.
class MHAParser::vcomplex_mon_t
Monitor with vector of complex values.
class MHAParser::mcomplex_mon_t
Matrix of complex numbers monitor.
class MHAParser::commit_t<receiver_t >
Parser variable with event-emission functionality.
class MHAParser::mhaconfig_mon_t
Namespaces
MHAParser
Name space for the openMHA-Parser configuration language.
MHAParser::StrCnv
String converter namespace.
© 2005-2019 HörTech gGmbH, Oldenburg
6.115 mha_parser.hh File Reference 1019
Macros
#define DEFAULT_RETSIZE 0x100000
#define insert_member(x) insert_item(#x,&x)
Macro to insert a member variable into a parser.
Typedefs
typedef std::string(base_t::MHAParser::opact_t) (expression_t &)
typedef std::string(base_t::MHAParser::query_t) (const std::string &)
typedef std::map<std::string, opact_t >MHAParser::opact_map_t
typedef std::map<std::string, query_t >MHAParser::query_map_t
typedef std::list<entry_t >MHAParser::entry_map_t
typedef int(MHAParser::c_parse_cmd_t) (void , const char , char , unsigned int)
typedef const char (MHAParser::c_parse_err_t) (void , int)
Functions
std::string MHAParser::commentate (const std::string &s)
void MHAParser::trim (std::string &s)
std::string MHAParser::cfg_dump (base_t , const std::string &)
std::string MHAParser::cfg_dump_short (base_t , const std::string &)
std::string MHAParser::all_dump (base_t , const std::string &)
std::string MHAParser::mon_dump (base_t , const std::string &)
std::string MHAParser::all_ids (base_t , const std::string &, const std::string &="")
void MHAParser::strreplace (std::string &, const std::string &, const std::string &)
string replace function
void MHAParser::envreplace (std::string &s)
void MHAParser::StrCnv::str2val (const std::string &, bool &)
Convert from string.
void MHAParser::StrCnv::str2val (const std::string &, float &)
Convert from string.
void MHAParser::StrCnv::str2val (const std::string &, mha_complex_t &)
Convert from string.
void MHAParser::StrCnv::str2val (const std::string &, int &)
Convert from string.
void MHAParser::StrCnv::str2val (const std::string &, keyword_list_t &)
Convert from string.
void MHAParser::StrCnv::str2val (const std::string &, std::string &)
Convert from string.
template<class arg_t >
void MHAParser::StrCnv::str2val (const std::string &s, std::vector<arg_t >&val)
Converter for vector types.
© 2005-2019 HörTech gGmbH, Oldenburg
1020 CONTENTS
template<>
void MHAParser::StrCnv::str2val<mha_real_t >(const std::string &s, std::vector<
mha_real_t >&v)
Converter for vector<mha_real_t>with Matlab-style expansion.
template<class arg_t >
void MHAParser::StrCnv::str2val (const std::string &s, std::vector<std::vector<arg_t
> > &val)
Converter for matrix types.
std::string MHAParser::StrCnv::val2str (const bool &)
Convert to string.
std::string MHAParser::StrCnv::val2str (const float &)
Convert to string.
std::string MHAParser::StrCnv::val2str (const mha_complex_t &)
Convert to string.
std::string MHAParser::StrCnv::val2str (const int &)
Convert to string.
std::string MHAParser::StrCnv::val2str (const keyword_list_t &)
Convert to string.
std::string MHAParser::StrCnv::val2str (const std::string &)
Convert to string.
std::string MHAParser::StrCnv::val2str (const std::vector<float >&)
Convert to string.
std::string MHAParser::StrCnv::val2str (const std::vector<mha_complex_t >&)
Convert to string.
std::string MHAParser::StrCnv::val2str (const std::vector<int >&)
Convert to string.
std::string MHAParser::StrCnv::val2str (const std::vector<std::vector<int > > &)
Convert to string.
std::string MHAParser::StrCnv::val2str (const std::vector<std::string >&)
Convert to string.
std::string MHAParser::StrCnv::val2str (const std::vector<std::vector<float > > &)
Convert to string.
• std::string MHAParser::StrCnv::val2str (const std::vector<std::vector<mha_-
complex_t > > &)
Convert to string.
6.115.1 Detailed Description
Header file for the MHA-Parser script language.
© 2005-2019 HörTech gGmbH, Oldenburg
6.115 mha_parser.hh File Reference 1021
6.115.2 Macro Definition Documentation
6.115.2.1 #define DEFAULT_RETSIZE 0x100000
6.115.2.2 #define insert_member(
x) insert_item(#x,&x)
Macro to insert a member variable into a parser.
© 2005-2019 HörTech gGmbH, Oldenburg
1022 CONTENTS
Parameters
xMember variable to be inserted. Name of member variable will be used as configuration
name.
See also MHAParser::parser_t::insert_item() (p. 690).
6.116 mha_plugin.hh File Reference
Header file for MHA C++ plugin class templates.
Classes
class MHAPlugin::cfg_chain_t<runtime_cfg_t >
class MHAPlugin::config_t<runtime_cfg_t >
Template class for thread safe configuration.
class MHAPlugin::plugin_t<runtime_cfg_t >
The template class for C++ openMHA plugins.
Namespaces
MHAPlugin
Namespace for openMHA plugin class templates and thread-safe runtime configurations.
Macros
#define __declspec(p)
#define WINAPI
#define HINSTANCE int
#define GITCOMMITHASH "independent-plugin-build"
#define MHAPLUGIN_PROC_CALLBACK_PREFIX(prefix, classname, indom, outdom)
#define MHAPLUGIN_INIT_CALLBACKS_PREFIX(prefix, classname)
#define MHAPLUGIN_CALLBACKS_PREFIX(prefix, classname, indom, outdom)
C++ wrapper macro for the plugin interface.
#define MHAPLUGIN_DOCUMENTATION_PREFIX(prefix, cat, doc)
#define MHAPLUGIN_PROC_CALLBACK(plugname, classname, indom, outdom) M-
HAPLUGIN_PROC_CALLBACK_PREFIX(MHA_STATIC_ ## plugname ## _-
,classname,indom,outdom)
#define MHAPLUGIN_INIT_CALLBACKS(plugname, classname) MHAPLUGIN_INIT-
_CALLBACKS_PREFIX(MHA_STATIC_ ## plugname ## _,classname)
#define MHAPLUGIN_CALLBACKS(plugname, classname, indom, outdom) MHAPLU-
GIN_CALLBACKS_PREFIX(MHA_STATIC_ ## plugname ## _,classname,indom,outdom)
C++ wrapper macro for the plugin interface.
#define MHAPLUGIN_DOCUMENTATION(plugname, cat, doc) MHAPLUGIN_DOCU-
MENTATION_PREFIX(MHA_STATIC_ ## plugname ## _,cat,doc)
Wrapper macro for the plugin documentation interface.
© 2005-2019 HörTech gGmbH, Oldenburg
6.116 mha_plugin.hh File Reference 1023
Functions
__attribute__ ((unused)) static const char mha_git_commit_hash
store git commit hash in every binary plgin to support reproducible research
6.116.1 Detailed Description
Header file for MHA C++ plugin class templates.
This file defines useful macros and template classes for the development of MHA plugins. A
set of macros wraps a C++ interface around the ANSI-C plugin interface. The plugin_t template
class defines a corresponding C++ class with all required members. This class can make use
of thread safe configurations (config_t).
6.116.2 Macro Definition Documentation
6.116.2.1 #define __declspec(
p)
6.116.2.2 #define WINAPI
6.116.2.3 #define HINSTANCE int
6.116.2.4 #define GITCOMMITHASH "independent-plugin-build"
6.116.2.5 #define MHAPLUGIN_PROC_CALLBACK_PREFIX(
prefix,
classname,
indom,
outdom )
6.116.2.6 #define MHAPLUGIN_INIT_CALLBACKS_PREFIX(
prefix,
classname )
6.116.2.7 #define MHAPLUGIN_DOCUMENTATION_PREFIX(
prefix,
cat,
doc )
6.116.2.8 #define MHAPLUGIN_PROC_CALLBACK(
plugname,
classname,
indom,
outdom )MHAPLUGIN_PROC_CALLBACK_PREFIX(MHA_STATIC_ ##
plugname ## _,classname,indom,outdom)
© 2005-2019 HörTech gGmbH, Oldenburg
1024 CONTENTS
6.116.2.9 #define MHAPLUGIN_INIT_CALLBACKS(
plugname,
classname )MHAPLUGIN_INIT_CALLBACKS_PREFIX(MHA_STATIC_
## plugname ## _,classname)
6.116.3 Function Documentation
6.116.3.1 __attribute__ (
(unused) ) const
store git commit hash in every binary plgin to support reproducible research
6.117 mha_profiling.c File Reference
Functions
void mha_tic (mha_tictoc_t t)
void mha_platform_tic (mha_platform_tictoc_t t)
float mha_toc (mha_tictoc_t t)
float mha_platform_toc (mha_platform_tictoc_t t)
6.117.1 Function Documentation
6.117.1.1 void mha_tic (
mha_tictoc_t t)
6.117.1.2 void mha_platform_tic (
mha_platform_tictoc_t t)
6.117.1.3 float mha_toc (
mha_tictoc_t t)
6.117.1.4 float mha_platform_toc (
mha_platform_tictoc_t t)
6.118 mha_profiling.h File Reference
Classes
struct mha_tictoc_t
Typedefs
typedef mha_tictoc_t mha_platform_tictoc_t
© 2005-2019 HörTech gGmbH, Oldenburg
6.119 mha_ruby.cpp File Reference 1025
Functions
void mha_platform_tic (mha_platform_tictoc_t t)
float mha_platform_toc (mha_platform_tictoc_t t)
6.118.1 Typedef Documentation
6.118.1.1 typedef mha_tictoc_t mha_platform_tictoc_t
6.118.2 Function Documentation
6.118.2.1 void mha_platform_tic (
mha_platform_tictoc_t t)
6.118.2.2 float mha_platform_toc (
mha_platform_tictoc_t t)
6.119 mha_ruby.cpp File Reference
Typedefs
typedef VALUE(rb_f_t) (...)
Functions
static void mha_free (void mha)
static VALUE mha_alloc (VALUE klass)
static VALUE mha_exit_request (VALUE self)
static VALUE mha_parse (VALUE self, VALUE request)
void Init_mha_ruby ()
6.119.1 Typedef Documentation
6.119.1.1 typedef VALUE(rb_f_t) (...)
6.119.2 Function Documentation
6.119.2.1 static void mha_free (
void mha )[static]
6.119.2.2 static VALUE mha_alloc (
VALUE klass )[static]
© 2005-2019 HörTech gGmbH, Oldenburg
1026 CONTENTS
6.119.2.3 static VALUE mha_exit_request (
VALUE self )[static]
6.119.2.4 static VALUE mha_parse (
VALUE self,
VALUE request )[static]
6.119.2.5 void Init_mha_ruby ( )
6.120 mha_signal.cpp File Reference
Classes
class MHASignal::hilbert_fftw_t
Namespaces
MHASignal
Namespace for audio signal handling and processing classes.
Macros
#define MHA_ID_UINT_VECTOR "MHASignal::uint_vector_t"
#define MHA_ID_MATRIX "MHASignal::matrix_t"
#define ASSERT_EQUAL_DIM(a, b)
#define ASSERT_EQUAL_DIM_PTR(a, b)
Functions
void set_minabs (mha_spec_t &self, const mha_real_t &m)
mha_wave_t &operator+= (mha_wave_t &self, const mha_real_t &v)
Addition operator.
mha_wave_t &operator=(mha_wave_t &self, const mha_real_t &v)
Element-wise multiplication operator.
mha_spec_t &operator=(mha_spec_t &self, const mha_real_t &v)
Element-wise multiplication operator.
mha_wave_t &operator=(mha_wave_t &self, const mha_wave_t &v)
Element-wise multiplication operator.
mha_spec_t &operator=(mha_spec_t &self, const mha_wave_t &v)
Element-wise multiplication operator.
mha_spec_t &operator=(mha_spec_t &self, const mha_spec_t &v)
Element-wise multiplication operator.
mha_spec_t &safe_div (mha_spec_t &self, const mha_spec_t &v, mha_real_t eps)
In-Place division with lower limit on divisor.
© 2005-2019 HörTech gGmbH, Oldenburg
6.120 mha_signal.cpp File Reference 1027
mha_spec_t &operator/= (mha_spec_t &self, const mha_spec_t &v)
Element-wise division operator.
mha_wave_t &operator/= (mha_wave_t &self, const mha_wave_t &v)
Element-wise division operator.
mha_spec_t &operator+= (mha_spec_t &self, const mha_spec_t &v)
Addition operator.
mha_spec_t &operator+= (mha_spec_t &self, const mha_real_t &v)
Addition operator.
mha_wave_t &operator+= (mha_wave_t &self, const mha_wave_t &v)
Addition operator.
mha_wave_t &operator-= (mha_wave_t &self, const mha_wave_t &v)
Subtraction operator.
mha_spec_t &operator-= (mha_spec_t &self, const mha_spec_t &v)
Subtraction operator.
mha_fft_t mha_fft_new (unsigned int n)
Create a new instance of an FFT object.
void mha_fft_free (mha_fft_t h)
Remove an FFT object.
void mha_fft_wave2spec (mha_fft_t h, const mha_wave_t in, mha_spec_t out)
Perform an FFT on each channel of input waveform signal.
void mha_fft_wave2spec (mha_fft_t h, const mha_wave_t in, mha_spec_t out, bool
swap)
Tranform waveform segment into spectrum.
void mha_fft_spec2wave (mha_fft_t h, const mha_spec_t in, mha_wave_t out)
Perform an inverse FFT on each channel of input spectrum.
void mha_fft_spec2wave (mha_fft_t h, const mha_spec_t in, mha_wave_t out, un-
signed int offset)
Perform an inverse FFT on each channel of input spectrum.
void mha_fft_forward (mha_fft_t h, mha_spec_t sIn, mha_spec_t sOut)
Complex to complex FFT (forward).
void mha_fft_backward (mha_fft_t h, mha_spec_t sIn, mha_spec_t sOut)
Complex to complex FFT (backward).
void mha_fft_forward_scale (mha_fft_t h, mha_spec_t sIn, mha_spec_t sOut)
Complex to complex FFT (forward).
void mha_fft_backward_scale (mha_fft_t h, mha_spec_t sIn, mha_spec_t sOut)
Complex to complex FFT (backward).
void mha_fft_wave2spec_scale (mha_fft_t h, const mha_wave_t in, mha_spec_-
tout)
Tranform waveform segment into spectrum.
void mha_fft_spec2wave_scale (mha_fft_t h, const mha_spec_t in, mha_wave_-
tout)
Tranform spectrum into waveform segment.
• std::vector<float >std_vector_float (const mha_wave_t &w)
Converts a mha_wave_t (p. 496) structure into a std::vector<float>(interleaved order).
• std::vector<std::vector<float > > std_vector_vector_float (const mha_wave_t &w)
© 2005-2019 HörTech gGmbH, Oldenburg
1028 CONTENTS
Converts a mha_wave_t (p. 496) structure into a std::vector<std::vector<float> > (outer vec-
tor represents channels).
• std::vector<std::vector<mha_complex_t > > std_vector_vector_complex (const
mha_spec_t &w)
Converts a mha_spec_t (p. 465) structure into a std::vector<std::vector<mha_complex_t> >
(outer vector represents channels).
static mha_real_t intensity (const mha_spec_t &s, unsigned int channel, unsigned int
fftlen, mha_real_t sqfreq_response=0)
void integrate (mha_wave_t &s)
Numeric integration of a signal vector (real values)
void integrate (mha_spec_t &s)
Numeric integration of a signal vector (complex values)
mha_wave_t &operator=(mha_wave_t &self, const mha_real_t &arg)
Exponent operator.
mha_wave_t range (mha_wave_t s, unsigned int k0, unsigned int len)
Return a time interval from a waveform chunk.
mha_spec_t channels (mha_spec_t s, unsigned int ch_start, unsigned int nch)
Return a channel interval from a spectrum.
void assign (mha_wave_t self, const mha_wave_t &val)
Set all values of waveform 'self' to 'val'.
void assign (mha_spec_t self, const mha_spec_t &val)
Set all values of spectrum 'self' to 'val'.
void timeshift (mha_wave_t &self, int shift)
Time shift of waveform chunk.
6.120.1 Macro Definition Documentation
6.120.1.1 #define MHA_ID_UINT_VECTOR "MHASignal::uint_vector_t"
6.120.1.2 #define MHA_ID_MATRIX "MHASignal::matrix_t"
6.120.1.3 #define ASSERT_EQUAL_DIM(
a,
b)
6.120.1.4 #define ASSERT_EQUAL_DIM_PTR(
a,
b)
6.120.2 Function Documentation
6.120.2.1 void set_minabs (
mha_spec_t &self,
const mha_real_t &m)
6.120.2.2 mha_spec_t& safe_div (
mha_spec_t &self,
const mha_spec_t &v,
mha_real_t eps )
In-Place division with lower limit on divisor.
© 2005-2019 HörTech gGmbH, Oldenburg
6.121 mha_signal.hh File Reference 1029
6.120.2.3 static mha_real_t intensity (
const mha_spec_t &s,
unsigned int channel,
unsigned int fftlen,
mha_real_t sqfreq_response = 0)[static]
6.121 mha_signal.hh File Reference
Header file for audio signal handling and processing classes.
Classes
class MHASignal::spectrum_t
a signal processing class for spectral data (based on mha_spec_t (p. 465))
class MHASignal::waveform_t
signal processing class for waveform data (based on mha_wave_t (p. 496))
class MHASignal::doublebuffer_t
Double-buffering class.
class MHASignal::ringbuffer_t
A ringbuffer class for time domain audio signal, which makes no assumptions with respect to
fragment size.
class MHASignal::hilbert_t
Hilbert transformation of a waveform segment.
class MHASignal::minphase_t
Minimal phase function.
class MHASignal::stat_t
class MHASignal::delay_wave_t
Delayline containing wave fragments.
class MHASignal::delay_spec_t
class MHASignal::async_rmslevel_t
Class for asynchronous level metering.
class MHASignal::uint_vector_t
Vector of unsigned values, used for size and index description of n-dimensional matrixes.
class MHASignal::matrix_t
n-dimensional matrix with real or complex floating point values.
class MHASignal::schroeder_t
Schroeder tone complex class.
class MHASignal::quantizer_t
Simple simulation of fixpoint quantization.
class MHASignal::loop_wavefragment_t
Copy a fixed waveform fragment to a series of waveform fragments of other size.
class MHASignal::delay_t
Class to realize a simple delay of waveform streams.
class MHASignal::subsample_delay_t
implements subsample delay in spectral domain.
© 2005-2019 HörTech gGmbH, Oldenburg
1030 CONTENTS
Namespaces
MHASignal
Namespace for audio signal handling and processing classes.
Macros
#define M_PI 3.14159265358979323846
#define mha_round(x) (int)((float)x+0.5)
Functions
void MHASignal::for_each (mha_wave_t s, mha_real_t(fun)(mha_real_t))
Apply a function to each element of a mha_wave_t (p. 496).
mha_real_t MHASignal::lin2db (mha_real_t x)
Conversion from linear scale to dB (no SPL reference)
mha_real_t MHASignal::db2lin (mha_real_t x)
Conversion from dB scale to linear (no SPL reference)
mha_real_t MHASignal::pa2dbspl (mha_real_t x)
Conversion from linear Pascal scale to dB SPL.
mha_real_t MHASignal::pa22dbspl (mha_real_t x, mha_real_t eps=1e-20f)
Conversion from squared Pascal scale to dB SPL.
mha_real_t MHASignal::dbspl2pa (mha_real_t x)
Conversion from dB SPL to linear Pascal scale.
mha_real_t MHASignal::smp2sec (mha_real_t n, mha_real_t srate)
conversion from samples to seconds
mha_real_t MHASignal::sec2smp (mha_real_t sec, mha_real_t srate)
conversion from seconds to samples
mha_real_t MHASignal::bin2freq (mha_real_t bin, unsigned fftlen, mha_real_t srate)
conversion from fft bin index to frequency
mha_real_t MHASignal::freq2bin (mha_real_t freq, unsigned fftlen, mha_real_t srate)
conversion from frequency to fft bin index
mha_real_t MHASignal::smp2rad (mha_real_t samples, unsigned bin, unsigned fftlen)
conversion from delay in samples to phase shift
mha_real_t MHASignal::rad2smp (mha_real_t phase_shift, unsigned bin, unsigned
fftlen)
conversion from phase shift to delay in samples
template<class elem_type >
std::vector<elem_type >MHASignal::dupvec (std::vector<elem_type >vec, unsigned
n)
Duplicate last vector element to match desired size.
template<class elem_type >
std::vector<elem_type >MHASignal::dupvec_chk (std::vector<elem_type >vec, un-
signed n)
Duplicate last vector element to match desired size, check for dimension.
© 2005-2019 HörTech gGmbH, Oldenburg
6.121 mha_signal.hh File Reference 1031
bool equal_dim (const mha_wave_t &a, const mha_wave_t &b)
Test for equal dimension of waveform structures.
bool equal_dim (const mha_wave_t &a, const mhaconfig_t &b)
Test for match of waveform dimension with mhaconfig structure.
bool equal_dim (const mha_spec_t &a, const mha_spec_t &b)
Test for equal dimension of spectrum structures.
bool equal_dim (const mha_spec_t &a, const mhaconfig_t &b)
Test for match of spectrum dimension with mhaconfig structure.
bool equal_dim (const mha_wave_t &a, const mha_spec_t &b)
Test for equal dimension of waveform/spectrum structures.
bool equal_dim (const mha_spec_t &a, const mha_wave_t &b)
Test for equal dimension of waveform/spectrum structures.
void integrate (mha_wave_t &s)
Numeric integration of a signal vector (real values)
void integrate (mha_spec_t &s)
Numeric integration of a signal vector (complex values)
unsigned int mha_min_1 (unsigned int a)
unsigned int size (const mha_wave_t &s)
Return size of a waveform structure.
unsigned int size (const mha_spec_t &s)
Return size of a spectrum structure.
unsigned int size (const mha_wave_t s)
Return size of a waveform structure.
unsigned int size (const mha_spec_t s)
Return size of a spectrum structure.
void clear (mha_wave_t &s)
Set all values of waveform to zero.
void clear (mha_wave_t s)
Set all values of waveform to zero.
void clear (mha_spec_t &s)
Set all values of spectrum to zero.
void clear (mha_spec_t s)
Set all values of spectrum to zero.
void assign (mha_wave_t self, mha_real_t val)
Set all values of waveform 'self' to 'val'.
void assign (mha_wave_t self, const mha_wave_t &val)
Set all values of waveform 'self' to 'val'.
void assign (mha_spec_t self, const mha_spec_t &val)
Set all values of spectrum 'self' to 'val'.
void timeshift (mha_wave_t &self, int shift)
Time shift of waveform chunk.
mha_wave_t range (mha_wave_t s, unsigned int k0, unsigned int len)
Return a time interval from a waveform chunk.
mha_spec_t channels (mha_spec_t s, unsigned int ch_start, unsigned int nch)
Return a channel interval from a spectrum.
© 2005-2019 HörTech gGmbH, Oldenburg
1032 CONTENTS
mha_real_t &value (mha_wave_t s, unsigned int fr, unsigned int ch)
Access an element of a waveform structure.
const mha_real_t &value (const mha_wave_t s, unsigned int fr, unsigned int ch)
Constant access to an element of a waveform structure.
mha_real_t &value (mha_wave_t s, unsigned int k)
mha_complex_t &value (mha_spec_t s, unsigned int k)
mha_complex_t &value (mha_spec_t s, unsigned int fr, unsigned int ch)
Access to an element of a spectrum.
const mha_complex_t &value (const mha_spec_t s, unsigned int fr, unsigned int ch)
Constant access to an element of a spectrum.
mha_real_t &value (mha_wave_t &s, unsigned int fr, unsigned int ch)
Access to an element of a waveform structure.
const mha_real_t &value (const mha_wave_t &s, unsigned int fr, unsigned int ch)
Constant access to an element of a waveform structure.
mha_complex_t &value (mha_spec_t &s, unsigned int fr, unsigned int ch)
Access to an element of a spectrum.
const mha_complex_t &value (const mha_spec_t &s, unsigned int fr, unsigned int ch)
Constant access to an element of a spectrum.
• std::vector<float >std_vector_float (const mha_wave_t &)
Converts a mha_wave_t (p. 496) structure into a std::vector<float>(interleaved order).
• std::vector<std::vector<float > > std_vector_vector_float (const mha_wave_t &)
Converts a mha_wave_t (p. 496) structure into a std::vector<std::vector<float> > (outer vec-
tor represents channels).
• std::vector<std::vector<mha_complex_t > > std_vector_vector_complex (const
mha_spec_t &)
Converts a mha_spec_t (p. 465) structure into a std::vector<std::vector<mha_complex_t> >
(outer vector represents channels).
mha_wave_t &operator+= (mha_wave_t &, const mha_real_t &)
Addition operator.
mha_wave_t &operator+= (mha_wave_t &, const mha_wave_t &)
Addition operator.
mha_wave_t &operator-= (mha_wave_t &, const mha_wave_t &)
Subtraction operator.
mha_spec_t &operator-= (mha_spec_t &, const mha_spec_t &)
Subtraction operator.
mha_wave_t &operator=(mha_wave_t &, const mha_real_t &)
Element-wise multiplication operator.
mha_wave_t &operator=(mha_wave_t &, const mha_wave_t &)
Element-wise multiplication operator.
mha_spec_t &operator=(mha_spec_t &, const mha_real_t &)
Element-wise multiplication operator.
mha_spec_t &operator=(mha_spec_t &, const mha_wave_t &)
Element-wise multiplication operator.
mha_spec_t &operator=(mha_spec_t &, const mha_spec_t &)
Element-wise multiplication operator.
© 2005-2019 HörTech gGmbH, Oldenburg
6.121 mha_signal.hh File Reference 1033
mha_spec_t &operator/= (mha_spec_t &, const mha_spec_t &)
Element-wise division operator.
mha_wave_t &operator/= (mha_wave_t &, const mha_wave_t &)
Element-wise division operator.
mha_spec_t &operator+= (mha_spec_t &, const mha_spec_t &)
Addition operator.
mha_spec_t &operator+= (mha_spec_t &, const mha_real_t &)
Addition operator.
void set_minabs (mha_spec_t &, const mha_real_t &)
mha_spec_t &safe_div (mha_spec_t &self, const mha_spec_t &v, mha_real_t eps)
In-Place division with lower limit on divisor.
mha_wave_t &operator=(mha_wave_t &self, const mha_real_t &arg)
Exponent operator.
void MHASignal::copy_channel (mha_spec_t &self, const mha_spec_t &src, unsigned
sch, unsigned dch)
Copy one channel of a source signal.
• void MHASignal::copy_channel (mha_wave_t &self, const mha_wave_t &src, un-
signed src_channel, unsigned dest_channel)
Copy one channel of a source signal.
mha_real_t MHASignal::rmslevel (const mha_spec_t &s, unsigned int channel, un-
signed int fftlen)
Return RMS level of a spectrum channel.
mha_real_t MHASignal::colored_intensity (const mha_spec_t &s, unsigned int chan-
nel, unsigned int fftlen, mha_real_t sqfreq_response[ ])
Colored spectrum intensity.
mha_real_t MHASignal::maxabs (const mha_spec_t &s, unsigned int channel)
Find maximal absolute value.
mha_real_t MHASignal::rmslevel (const mha_wave_t &s, unsigned int channel)
Return RMS level of a waveform channel.
mha_real_t MHASignal::maxabs (const mha_wave_t &s, unsigned int channel)
Find maximal absolute value.
mha_real_t MHASignal::maxabs (const mha_wave_t &s)
Find maximal absolute value.
mha_real_t MHASignal::max (const mha_wave_t &s)
Find maximal value.
mha_real_t MHASignal::min (const mha_wave_t &s)
Find minimal value.
mha_real_t MHASignal::sumsqr_channel (const mha_wave_t &s, unsigned int chan-
nel)
Calculate sum of squared values in one channel.
mha_real_t MHASignal::sumsqr_frame (const mha_wave_t &s, unsigned int frame)
Calculate sum over all channels of squared values.
void MHASignal::scale (mha_spec_t dest, const mha_wave_t src)
void MHASignal::limit (mha_wave_t &s, const mha_real_t &min, const mha_real_t
&max)
Limit the singal in the waveform buffer to the range [min, max].
© 2005-2019 HörTech gGmbH, Oldenburg
1034 CONTENTS
mha_complex_t &set (mha_complex_t &self, mha_real_t real, mha_real_t imag=0)
Assign real and imaginary parts to a mha_complex_t (p. 431) variable.
mha_complex_t mha_complex (mha_real_t real, mha_real_t imag=0)
Create a new mha_complex_t (p. 431) with specified real and imaginary parts.
mha_complex_t &set (mha_complex_t &self, const std::complex<mha_real_t >
&stdcomplex)
Assign a mha_complex_t (p. 431) variable from a std::complex.
• std::complex<mha_real_t >stdcomplex (const mha_complex_t &self)
Create a std::complex from mha_complex_t (p. 431).
mha_complex_t &expi (mha_complex_t &self, mha_real_t angle)
replaces the value of the given mha_complex_t (p. 431) with exp(ib).
double angle (const mha_complex_t &self)
Computes the angle of a complex number in the complex plane.
mha_complex_t &operator+= (mha_complex_t &self, const mha_complex_t &other)
Addition of two complex numbers, overwriting the first.
mha_complex_t operator+ (const mha_complex_t &self, const mha_complex_-
t&other)
Addition of two complex numbers, result is a temporary object.
mha_complex_t &operator+= (mha_complex_t &self, mha_real_t other_real)
Addition of a complex and a real number, overwriting the complex.
mha_complex_t operator+ (const mha_complex_t &self, mha_real_t other_real)
Addition of a complex and a real number, result is a temporary object.
mha_complex_t &operator-= (mha_complex_t &self, const mha_complex_t &other)
Subtraction of two complex numbers, overwriting the first.
mha_complex_t operator- (const mha_complex_t &self, const mha_complex_-
t&other)
Subtraction of two complex numbers, result is a temporary object.
mha_complex_t &operator-= (mha_complex_t &self, mha_real_t other_real)
Subtraction of a complex and a real number, overwriting the complex.
mha_complex_t operator- (const mha_complex_t &self, mha_real_t other_real)
Subtraction of a complex and a real number, result is a temporary object.
mha_complex_t &operator=(mha_complex_t &self, const mha_complex_t &other)
Multiplication of two complex numbers, overwriting the first.
mha_complex_t operator(const mha_complex_t &self, const mha_complex_-
t&other)
Multiplication of two complex numbers, result is a temporary object.
mha_complex_t &operator=(mha_complex_t &self, mha_real_t other_real)
Multiplication of a complex and a real number, overwriting the complex.
mha_complex_t &expi (mha_complex_t &self, mha_real_t angle,mha_real_t factor)
replaces (!) the value of the given mha_complex_t (p. 431) with a exp(ib)
mha_complex_t operator(const mha_complex_t &self, mha_real_t other_real)
Multiplication of a complex and a real number, result is a temporary object.
mha_real_t abs2 (const mha_complex_t &self)
Compute the square of the absolute value of a complex value.
mha_real_t abs (const mha_complex_t &self)
© 2005-2019 HörTech gGmbH, Oldenburg
6.121 mha_signal.hh File Reference 1035
Compute the absolute value of a complex value.
mha_complex_t &operator/= (mha_complex_t &self, mha_real_t other_real)
Division of a complex and a real number, overwriting the complex.
mha_complex_t operator/ (const mha_complex_t &self, mha_real_t other_real)
Division of a complex and a real number, result is a temporary object.
mha_complex_t &safe_div (mha_complex_t &self, const mha_complex_t &other,
mha_real_t eps, mha_real_t eps2)
Safe division of two complex numbers, overwriting the first.
mha_complex_t &operator/= (mha_complex_t &self, const mha_complex_t &other)
Division of two complex numbers, overwriting the first.
mha_complex_t operator/ (const mha_complex_t &self, const mha_complex_-
t&other)
Division of two complex numbers, result is a temporary object.
mha_complex_t operator- (const mha_complex_t &self)
Unary minus on a complex results in a negative temporary object.
bool operator== (const mha_complex_t &x, const mha_complex_t &y)
Compare two complex numbers for equality.
bool operator!= (const mha_complex_t &x, const mha_complex_t &y)
Compare two complex numbers for inequality.
void conjugate (mha_complex_t &self)
Replace (!) the value of this mha_complex_t (p. 431) with its conjugate.
void conjugate (mha_spec_t &self)
Replace (!) the value of this mha_spec_t (p. 465) with its conjugate.
mha_complex_t _conjugate (const mha_complex_t &self)
Compute the cojugate of this complex value.
void reciprocal (mha_complex_t &self)
Replace the value of this complex with its reciprocal.
mha_complex_t _reciprocal (const mha_complex_t &self)
compute the reciprocal of this complex value.
void normalize (mha_complex_t &self)
Divide a complex by its absolute value, thereby normalizing it (projecting onto the unit circle).
void normalize (mha_complex_t &self, mha_real_t margin)
Divide a complex by its absolute value, thereby normalizing it (projecting onto the unit circle),
with a safety margin.
bool almost (const mha_complex_t &self, const mha_complex_t &other, mha_real_t
times_epsilon=1e2)
Compare two complex numbers for equality except for a small relative error.
bool operator<(const mha_complex_t &x, const mha_complex_t &y)
Compares the absolute values of two complex numbers.
std::ostream & operator<< (std::ostream &o, const mha_complex_t &c)
ostream operator for mha_complex_t (p. 431)
std::istream & operator>> (std::istream &i, mha_complex_t &c)
preliminary istream operator for mha_complex_t (p. 431) without error checking
mha_fft_t mha_fft_new (unsigned int n)
Create a new FFT handle.
© 2005-2019 HörTech gGmbH, Oldenburg
1036 CONTENTS
void mha_fft_free (mha_fft_t h)
Destroy an FFT handle.
void mha_fft_wave2spec (mha_fft_t h, const mha_wave_t in, mha_spec_t out)
Tranform waveform segment into spectrum.
void mha_fft_wave2spec (mha_fft_t h, const mha_wave_t in, mha_spec_t out, bool
swaps)
Tranform waveform segment into spectrum.
void mha_fft_spec2wave (mha_fft_t h, const mha_spec_t in, mha_wave_t out)
Tranform spectrum into waveform segment.
void mha_fft_spec2wave (mha_fft_t h, const mha_spec_t in, mha_wave_t out, un-
signed int offset)
Tranform spectrum into waveform segment.
void mha_fft_forward (mha_fft_t h, mha_spec_t sIn, mha_spec_t sOut)
Complex to complex FFT (forward).
void mha_fft_backward (mha_fft_t h, mha_spec_t sIn, mha_spec_t sOut)
Complex to complex FFT (backward).
void mha_fft_forward_scale (mha_fft_t h, mha_spec_t sIn, mha_spec_t sOut)
Complex to complex FFT (forward).
void mha_fft_backward_scale (mha_fft_t h, mha_spec_t sIn, mha_spec_t sOut)
Complex to complex FFT (backward).
void mha_fft_wave2spec_scale (mha_fft_t h, const mha_wave_t in, mha_spec_-
tout)
Tranform waveform segment into spectrum.
void mha_fft_spec2wave_scale (mha_fft_t h, const mha_spec_t in, mha_wave_-
tout)
Tranform spectrum into waveform segment.
template<class elem_type >
elem_type MHASignal::kth_smallest (elem_type array[ ], unsigned n, unsigned k)
Fast search for the kth smallest element of an array.
template<class elem_type >
elem_type MHASignal::median (elem_type array[ ], unsigned n)
Fast median search.
template<class elem_type >
elem_type MHASignal::mean (const std::vector<elem_type >&data, elem_type start-
_val)
Calculate average of elements in a vector.
template<class elem_type >
std::vector<elem_type >MHASignal::quantile (std::vector<elem_type >data, const
std::vector<elem_type >&p)
Calculate quantile of elements in a vector.
void MHASignal::saveas_mat4 (const mha_spec_t &data, const std::string &varname,
FILE fh)
Save a openMHA spectrum as a variable in a Matlab4 file.
void MHASignal::saveas_mat4 (const mha_wave_t &data, const std::string &varname,
FILE fh)
Save a openMHA waveform as a variable in a Matlab4 file.
© 2005-2019 HörTech gGmbH, Oldenburg
6.121 mha_signal.hh File Reference 1037
void MHASignal::saveas_mat4 (const std::vector<mha_real_t >&data, const std-
::string &varname, FILE fh)
Save a float vector as a variable in a Matlab4 file.
void MHASignal::copy_permuted (mha_wave_t dest, const mha_wave_t src)
Copy contents of a waveform to a permuted waveform.
Variables
unsigned long int MHASignal::signal_counter = 0
Signal counter to produce signal ID strings.
6.121.1 Detailed Description
Header file for audio signal handling and processing classes.
The classes for waveform, spectrum and filterbank signals defined in this file are "intelligent"
versions of the basic waveform, spectrum and filterbank structures used in the C function calls.
6.121.2 Macro Definition Documentation
6.121.2.1 #define M_PI 3.14159265358979323846
6.121.2.2 #define mha_round(
x) (int)((float)x+0.5)
6.121.3 Function Documentation
6.121.3.1 unsigned int mha_min_1 (
unsigned int a)[inline]
6.121.3.2 mha_real_t& value (
mha_wave_t s,
unsigned int k)[inline]
6.121.3.3 mha_complex_t& value (
mha_spec_t s,
unsigned int k)[inline]
6.121.3.4 void set_minabs (
mha_spec_t &,
const mha_real_t & )
6.121.3.5 mha_spec_t& safe_div (
mha_spec_t &self,
const mha_spec_t &v,
mha_real_t eps )
In-Place division with lower limit on divisor.
© 2005-2019 HörTech gGmbH, Oldenburg
1038 CONTENTS
6.121.3.6 std::ostream& operator<< (
std::ostream & o,
const mha_complex_t &c)[inline]
ostream operator for mha_complex_t (p. 431)
6.121.3.7 std::istream& operator>> (
std::istream & i,
mha_complex_t &c)[inline]
preliminary istream operator for mha_complex_t (p. 431) without error checking
6.122 mha_signal_fft.h File Reference
Classes
class MHASignal::fft_t
Namespaces
MHASignal
Namespace for audio signal handling and processing classes.
6.123 mha_tablelookup.cpp File Reference
6.124 mha_tablelookup.hh File Reference
Header file for table lookup classes.
Classes
class MHATableLookup::table_t
class MHATableLookup::linear_table_t
Class for interpolation with equidistant x values.
class MHATableLookup::xy_table_t
Class for interpolation with non-equidistant x values.
Namespaces
MHATableLookup
Namespace for table lookup classes.
© 2005-2019 HörTech gGmbH, Oldenburg
6.125 mha_tcp.cpp File Reference 1039
6.124.1 Detailed Description
Header file for table lookup classes.
6.125 mha_tcp.cpp File Reference
Classes
class MHA_TCP::sock_init_t
Namespaces
MHA_TCP
A Namespace for TCP helper classes.
Macros
#define INVALID_SOCKET (-1)
#define SOCKET_ERROR (-1)
#define closesocket(fd) (close((fd)))
#define ASYNC_CONNECT_STARTED EINPROGRESS
Typedefs
typedef int SOCKET
Functions
std::string MHA_TCP::STRERROR (int err)
Portable conversion from error number to error string.
std::string MHA_TCP::HSTRERROR (int err)
Portable conversion from hostname error number to error string.
int MHA_TCP::N_ERRNO ()
Portable access to last network error number.
int MHA_TCP::H_ERRNO ()
Portable access to last hostname error number.
int MHA_TCP::G_ERRNO ()
Portable access to last non-network error number.
• static sockaddr_in host_port_to_sock_addr (const std::string &host, unsigned short
port)
static SOCKET tcp_connect_to (const std::string &host, unsigned short port)
static SOCKET tcp_connect_to_with_timeout (const std::string &host, unsigned short
port, Timeout_Watcher &timeout_watcher)
static void thread_start_func (void thread)
© 2005-2019 HörTech gGmbH, Oldenburg
1040 CONTENTS
Variables
class MHA_TCP::sock_init_t MHA_TCP::sock_initializer
6.125.1 Macro Definition Documentation
6.125.1.1 #define INVALID_SOCKET (-1)
6.125.1.2 #define SOCKET_ERROR (-1)
6.125.1.3 #define closesocket(
fd ) (close((fd)))
6.125.1.4 #define ASYNC_CONNECT_STARTED EINPROGRESS
6.125.2 Typedef Documentation
6.125.2.1 typedef int SOCKET
6.125.3 Function Documentation
6.125.3.1 static sockaddr_in host_port_to_sock_addr (
const std::string & host,
unsigned short port )[static]
6.125.3.2 static SOCKET tcp_connect_to (
const std::string & host,
unsigned short port )[static]
6.125.3.3 static SOCKET tcp_connect_to_with_timeout (
const std::string & host,
unsigned short port,
Timeout_Watcher &timeout_watcher )[static]
6.125.3.4 static voidthread_start_func (
void thread )[static]
6.126 mha_tcp.hh File Reference
Classes
struct MHA_TCP::OS_EVENT_TYPE
class MHA_TCP::Wakeup_Event
A base class for asynchronous wakeup events.
class MHA_TCP::Async_Notify
© 2005-2019 HörTech gGmbH, Oldenburg
6.126 mha_tcp.hh File Reference 1041
Portable Multiplexable cross-thread notification.
class MHA_TCP::Event_Watcher
OS-independent event watcher, uses select on Unix and WaitForMultipleObjects on Windows.
class MHA_TCP::Timeout_Event
class MHA_TCP::Timeout_Watcher
OS-independent event watcher with internal fixed-end-time timeout.
class MHA_TCP::Sockread_Event
Watch socket for incoming data.
class MHA_TCP::Sockwrite_Event
class MHA_TCP::Sockaccept_Event
class MHA_TCP::Connection
Connection (p. 471) handles Communication between client and server, is used on both sides.
class MHA_TCP::Server
class MHA_TCP::Client
A portable class for a tcp client connections.
class MHA_TCP::Thread
A very simple class for portable threads.
Namespaces
MHA_TCP
A Namespace for TCP helper classes.
Macros
#define Sleep(x) usleep((x)1000);
Typedefs
typedef int MHA_TCP::SOCKET
Functions
std::string MHA_TCP::STRERROR (int err)
Portable conversion from error number to error string.
std::string MHA_TCP::HSTRERROR (int err)
Portable conversion from hostname error number to error string.
int MHA_TCP::N_ERRNO ()
Portable access to last network error number.
int MHA_TCP::H_ERRNO ()
Portable access to last hostname error number.
int MHA_TCP::G_ERRNO ()
Portable access to last non-network error number.
double MHA_TCP::dtime ()
Time access function for system's high resolution time, retrieve current time as double.
double MHA_TCP::dtime (const struct timeval &tv)
Time access function for unix' high resolution time, converts struct timeval to double.
struct timeval MHA_TCP::stime (double d)
Time access function for unix' high resolution time, converts time from double to struct timeval.
© 2005-2019 HörTech gGmbH, Oldenburg
1042 CONTENTS
6.126.1 Macro Definition Documentation
6.126.1.1 #define Sleep(
x) usleep((x)1000);
6.127 mha_toolbox.h File Reference
6.128 mha_windowparser.cpp File Reference
Variables
• float(wnd_funs [ ])(float)
6.128.1 Variable Documentation
6.128.1.1 float(wnd_funs[ ])(float)
6.129 mha_windowparser.h File Reference
Classes
class MHAWindow::base_t
Common base for window types.
class MHAWindow::fun_t
Generic window based on a generator function.
class MHAWindow::rect_t
Rectangular window.
class MHAWindow::bartlett_t
Bartlett window.
class MHAWindow::hanning_t
von-Hann window
class MHAWindow::hamming_t
Hamming window.
class MHAWindow::blackman_t
Blackman window.
class MHAWindow::user_t
User defined window.
class MHAParser::window_t
MHA configuration interface for a window function generator.
© 2005-2019 HörTech gGmbH, Oldenburg
6.130 mhachain.cpp File Reference 1043
Namespaces
MHAWindow
Collection of Window types.
MHAParser
Name space for the openMHA-Parser configuration language.
Functions
float MHAWindow::rect (float)
Rectangular window function.
float MHAWindow::bartlett (float)
Bartlett window function.
float MHAWindow::hanning (float)
Hanning window function.
float MHAWindow::hamming (float)
Hamming window function.
float MHAWindow::blackman (float)
Blackman window function.
6.130 mhachain.cpp File Reference
Classes
class mhachain::mhachain_t
Namespaces
mhachain
6.131 mhafw_lib.cpp File Reference
6.132 mhafw_lib.h File Reference
Classes
class io_lib_t
Class for loading MHA sound IO module.
class fw_vars_t
class fw_t
© 2005-2019 HörTech gGmbH, Oldenburg
1044 CONTENTS
6.133 MHAIOalsa.cpp File Reference
Classes
class alsa_base_t
class alsa_dev_par_parser_t
Parser variables corresponding to one alsa device.
class alsa_t<T>
Our representation of one alsa device.
class io_alsa_t
MHA IO interface class for ALSA IO.
Macros
#define DBG(x) fprintf(stderr,"%s:%d\n",__FILE__,__LINE__)
#define ERR_SUCCESS 0
#define ERR_IHANDLE -1
#define ERR_USER -1000
#define MAX_USER_ERR 0x500
#define IOInit MHA_STATIC_MHAIOalsa_IOInit
#define IOPrepare MHA_STATIC_MHAIOalsa_IOPrepare
#define IOStart MHA_STATIC_MHAIOalsa_IOStart
#define IOStop MHA_STATIC_MHAIOalsa_IOStop
#define IORelease MHA_STATIC_MHAIOalsa_IORelease
#define IOSetVar MHA_STATIC_MHAIOalsa_IOSetVar
#define IOStrError MHA_STATIC_MHAIOalsa_IOStrError
#define IODestroy MHA_STATIC_MHAIOalsa_IODestroy
#define dummy_interface_test MHA_STATIC_MHAIOalsa_dummy_interface_test
Functions
int IOInit (int fragsize, float samplerate, IOProcessEvent_t proc_event, void proc_-
handle, IOStartedEvent_t start_event, void start_handle, IOStoppedEvent_t stop_-
event, void stop_handle, void ∗∗handle)
IO library initialization function, called by framework after loading this IO library into the MHA
process.
int IOPrepare (void handle, int nch_in, int nch_out)
IO library prepare function, called after the MHA prepared the processing plugins.
int IOStart (void handle)
int IOStop (void handle)
int IORelease (void handle)
int IOSetVar (void handle, const char command, char retval, unsigned int maxretlen)
const char IOStrError (void handle, int err)
void IODestroy (void handle)
void dummy_interface_test (void)
© 2005-2019 HörTech gGmbH, Oldenburg
6.133 MHAIOalsa.cpp File Reference 1045
Variables
static char user_err_msg [MAX_USER_ERR]
6.133.1 Macro Definition Documentation
6.133.1.1 #define DBG(
x) fprintf(stderr,"%s:%d\n",__FILE__,__LINE__)
6.133.1.2 #define ERR_SUCCESS 0
6.133.1.3 #define ERR_IHANDLE -1
6.133.1.4 #define ERR_USER -1000
6.133.1.5 #define MAX_USER_ERR 0x500
6.133.1.6 #define IOInit MHA_STATIC_MHAIOalsa_IOInit
6.133.1.7 #define IOPrepare MHA_STATIC_MHAIOalsa_IOPrepare
6.133.1.8 #define IOStart MHA_STATIC_MHAIOalsa_IOStart
6.133.1.9 #define IOStop MHA_STATIC_MHAIOalsa_IOStop
6.133.1.10 #define IORelease MHA_STATIC_MHAIOalsa_IORelease
6.133.1.11 #define IOSetVar MHA_STATIC_MHAIOalsa_IOSetVar
6.133.1.12 #define IOStrError MHA_STATIC_MHAIOalsa_IOStrError
6.133.1.13 #define IODestroy MHA_STATIC_MHAIOalsa_IODestroy
6.133.1.14 #define dummy_interface_test MHA_STATIC_MHAIOalsa_dummy_interface_test
6.133.2 Function Documentation
6.133.2.1 int IOInit (
int fragsize,
float samplerate,
IOProcessEvent_t proc_event,
void proc_handle,
IOStartedEvent_t start_event,
void start_handle,
IOStoppedEvent_t stop_event,
void stop_handle,
void ∗∗ handle )
IO library initialization function, called by framework after loading this IO library into the MHA
process.
Gives plugin callback functions and callback handles to interact with the MHA framework.
© 2005-2019 HörTech gGmbH, Oldenburg
1046 CONTENTS
Parameters
handle output parameter. IO library returns pointer to void to the caller via this parameter.
All other function calls from the MHA framework will use this handle.
6.133.2.2 int IOPrepare (
void handle,
int nch_in,
int nch_out )
IO library prepare function, called after the MHA prepared the processing plugins.
6.133.2.3 int IOStart (
void handle )
6.133.2.4 int IOStop (
void handle )
6.133.2.5 int IORelease (
void handle )
6.133.2.6 int IOSetVar (
void handle,
const char command,
char retval,
unsigned int maxretlen )
6.133.2.7 const charIOStrError (
void handle,
int err )
6.133.2.8 void IODestroy (
void handle )
6.133.2.9 void dummy_interface_test (
void )
6.133.3 Variable Documentation
6.133.3.1 char user_err_msg[MAX_USER_ERR][static]
6.134 MHAIOFile.cpp File Reference
Classes
class io_file_t
File IO.
© 2005-2019 HörTech gGmbH, Oldenburg
6.134 MHAIOFile.cpp File Reference 1047
Macros
#define DEBUG(x) std::cerr << __FILE__ << ":" << __LINE__ << " " << #x " = " << x
<< std::endl
#define ERR_SUCCESS 0
#define ERR_IHANDLE -1
#define ERR_USER -1000
#define MAX_USER_ERR 0x500
#define IOInit MHA_STATIC_MHAIOFile_IOInit
#define IOPrepare MHA_STATIC_MHAIOFile_IOPrepare
#define IOStart MHA_STATIC_MHAIOFile_IOStart
#define IOStop MHA_STATIC_MHAIOFile_IOStop
#define IORelease MHA_STATIC_MHAIOFile_IORelease
#define IOSetVar MHA_STATIC_MHAIOFile_IOSetVar
#define IOStrError MHA_STATIC_MHAIOFile_IOStrError
#define IODestroy MHA_STATIC_MHAIOFile_IODestroy
#define dummy_interface_test MHA_STATIC_MHAIOFile_dummy_interface_test
Functions
int IOInit (int fragsize, float samplerate, IOProcessEvent_t proc_event, void proc_-
handle, IOStartedEvent_t start_event, void start_handle, IOStoppedEvent_t stop_-
event, void stop_handle, void ∗∗handle)
int IOPrepare (void handle, int nch_in, int nch_out)
int IOStart (void handle)
int IOStop (void handle)
int IORelease (void handle)
int IOSetVar (void handle, const char command, char retval, unsigned int maxretlen)
const char IOStrError (void handle, int err)
void IODestroy (void handle)
void dummy_interface_test (void)
Variables
static char user_err_msg [MAX_USER_ERR]
6.134.1 Macro Definition Documentation
6.134.1.1 #define DEBUG(
x) std::cerr << __FILE__ << ":" << __LINE__ << " " << #x"="<< x<<
std::endl
6.134.1.2 #define ERR_SUCCESS 0
© 2005-2019 HörTech gGmbH, Oldenburg
1048 CONTENTS
6.134.1.3 #define ERR_IHANDLE -1
6.134.1.4 #define ERR_USER -1000
6.134.1.5 #define MAX_USER_ERR 0x500
6.134.1.6 #define IOInit MHA_STATIC_MHAIOFile_IOInit
6.134.1.7 #define IOPrepare MHA_STATIC_MHAIOFile_IOPrepare
6.134.1.8 #define IOStart MHA_STATIC_MHAIOFile_IOStart
6.134.1.9 #define IOStop MHA_STATIC_MHAIOFile_IOStop
6.134.1.10 #define IORelease MHA_STATIC_MHAIOFile_IORelease
6.134.1.11 #define IOSetVar MHA_STATIC_MHAIOFile_IOSetVar
6.134.1.12 #define IOStrError MHA_STATIC_MHAIOFile_IOStrError
6.134.1.13 #define IODestroy MHA_STATIC_MHAIOFile_IODestroy
6.134.1.14 #define dummy_interface_test MHA_STATIC_MHAIOFile_dummy_interface_test
6.134.2 Function Documentation
6.134.2.1 int IOInit (
int fragsize,
float samplerate,
IOProcessEvent_t proc_event,
void proc_handle,
IOStartedEvent_t start_event,
void start_handle,
IOStoppedEvent_t stop_event,
void stop_handle,
void ∗∗ handle )
6.134.2.2 int IOPrepare (
void handle,
int nch_in,
int nch_out )
6.134.2.3 int IOStart (
void handle )
© 2005-2019 HörTech gGmbH, Oldenburg
6.135 MHAIOJack.cpp File Reference 1049
6.134.2.4 int IOStop (
void handle )
6.134.2.5 int IORelease (
void handle )
6.134.2.6 int IOSetVar (
void handle,
const char command,
char retval,
unsigned int maxretlen )
6.134.2.7 const charIOStrError (
void handle,
int err )
6.134.2.8 void IODestroy (
void handle )
6.134.2.9 void dummy_interface_test (
void )
6.134.3 Variable Documentation
6.134.3.1 char user_err_msg[MAX_USER_ERR][static]
6.135 MHAIOJack.cpp File Reference
Classes
class MHAIOJack::io_jack_t
Main class for JACK IO.
Namespaces
MHAIOJack
JACK IO.
© 2005-2019 HörTech gGmbH, Oldenburg
1050 CONTENTS
Macros
#define ERR_SUCCESS 0
#define ERR_IHANDLE -1
#define ERR_USER -1000
#define MAX_USER_ERR 0x500
#define IOInit MHA_STATIC_MHAIOJack_IOInit
#define IOPrepare MHA_STATIC_MHAIOJack_IOPrepare
#define IOStart MHA_STATIC_MHAIOJack_IOStart
#define IOStop MHA_STATIC_MHAIOJack_IOStop
#define IORelease MHA_STATIC_MHAIOJack_IORelease
#define IOSetVar MHA_STATIC_MHAIOJack_IOSetVar
#define IOStrError MHA_STATIC_MHAIOJack_IOStrError
#define IODestroy MHA_STATIC_MHAIOJack_IODestroy
#define dummy_interface_test MHA_STATIC_MHAIOJack_dummy_interface_test
Functions
int IOInit (int fragsize, float samplerate, IOProcessEvent_t proc_event, void proc_-
handle, IOStartedEvent_t start_event, void start_handle, IOStoppedEvent_t stop_-
event, void stop_handle, void ∗∗handle)
int IOPrepare (void handle, int nch_in, int nch_out)
int IOStart (void handle)
int IOStop (void handle)
int IORelease (void handle)
int IOSetVar (void handle, const char command, char retval, unsigned int maxretlen)
const char IOStrError (void handle, int err)
void IODestroy (void handle)
void dummy_interface_test (void)
Variables
static char user_err_msg [MAX_USER_ERR] = ""
6.135.1 Macro Definition Documentation
6.135.1.1 #define ERR_SUCCESS 0
6.135.1.2 #define ERR_IHANDLE -1
6.135.1.3 #define ERR_USER -1000
6.135.1.4 #define MAX_USER_ERR 0x500
© 2005-2019 HörTech gGmbH, Oldenburg
6.135 MHAIOJack.cpp File Reference 1051
6.135.1.5 #define IOInit MHA_STATIC_MHAIOJack_IOInit
6.135.1.6 #define IOPrepare MHA_STATIC_MHAIOJack_IOPrepare
6.135.1.7 #define IOStart MHA_STATIC_MHAIOJack_IOStart
6.135.1.8 #define IOStop MHA_STATIC_MHAIOJack_IOStop
6.135.1.9 #define IORelease MHA_STATIC_MHAIOJack_IORelease
6.135.1.10 #define IOSetVar MHA_STATIC_MHAIOJack_IOSetVar
6.135.1.11 #define IOStrError MHA_STATIC_MHAIOJack_IOStrError
6.135.1.12 #define IODestroy MHA_STATIC_MHAIOJack_IODestroy
6.135.1.13 #define dummy_interface_test MHA_STATIC_MHAIOJack_dummy_interface_test
6.135.2 Function Documentation
6.135.2.1 int IOInit (
int fragsize,
float samplerate,
IOProcessEvent_t proc_event,
void proc_handle,
IOStartedEvent_t start_event,
void start_handle,
IOStoppedEvent_t stop_event,
void stop_handle,
void ∗∗ handle )
6.135.2.2 int IOPrepare (
void handle,
int nch_in,
int nch_out )
6.135.2.3 int IOStart (
void handle )
6.135.2.4 int IOStop (
void handle )
6.135.2.5 int IORelease (
void handle )
© 2005-2019 HörTech gGmbH, Oldenburg
1052 CONTENTS
6.135.2.6 int IOSetVar (
void handle,
const char command,
char retval,
unsigned int maxretlen )
6.135.2.7 const charIOStrError (
void handle,
int err )
6.135.2.8 void IODestroy (
void handle )
6.135.2.9 void dummy_interface_test (
void )
6.135.3 Variable Documentation
6.135.3.1 char user_err_msg[MAX_USER_ERR] = "" [static]
6.136 MHAIOJackdb.cpp File Reference
Classes
class MHAIOJackdb::io_jack_t
Main class for JACK IO.
Namespaces
MHAIOJackdb
Macros
#define ERR_SUCCESS 0
#define ERR_IHANDLE -1
#define ERR_USER -1000
#define MAX_USER_ERR 0x500
#define IOInit MHA_STATIC_MHAIOJackdb_IOInit
#define IOPrepare MHA_STATIC_MHAIOJackdb_IOPrepare
#define IOStart MHA_STATIC_MHAIOJackdb_IOStart
#define IOStop MHA_STATIC_MHAIOJackdb_IOStop
#define IORelease MHA_STATIC_MHAIOJackdb_IORelease
#define IOSetVar MHA_STATIC_MHAIOJackdb_IOSetVar
#define IOStrError MHA_STATIC_MHAIOJackdb_IOStrError
#define IODestroy MHA_STATIC_MHAIOJackdb_IODestroy
#define dummy_interface_test MHA_STATIC_MHAIOJackdb_dummy_interface_test
© 2005-2019 HörTech gGmbH, Oldenburg
6.136 MHAIOJackdb.cpp File Reference 1053
Functions
int IOInit (int fragsize, float samplerate, IOProcessEvent_t proc_event, void proc_-
handle, IOStartedEvent_t start_event, void start_handle, IOStoppedEvent_t stop_-
event, void stop_handle, void ∗∗handle)
int IOPrepare (void handle, int nch_in, int nch_out)
int IOStart (void handle)
int IOStop (void handle)
int IORelease (void handle)
int IOSetVar (void handle, const char command, char retval, unsigned int maxretlen)
const char IOStrError (void handle, int err)
void IODestroy (void handle)
void dummy_interface_test (void)
Variables
static char user_err_msg [MAX_USER_ERR] = ""
6.136.1 Macro Definition Documentation
6.136.1.1 #define ERR_SUCCESS 0
6.136.1.2 #define ERR_IHANDLE -1
6.136.1.3 #define ERR_USER -1000
6.136.1.4 #define MAX_USER_ERR 0x500
6.136.1.5 #define IOInit MHA_STATIC_MHAIOJackdb_IOInit
6.136.1.6 #define IOPrepare MHA_STATIC_MHAIOJackdb_IOPrepare
6.136.1.7 #define IOStart MHA_STATIC_MHAIOJackdb_IOStart
6.136.1.8 #define IOStop MHA_STATIC_MHAIOJackdb_IOStop
6.136.1.9 #define IORelease MHA_STATIC_MHAIOJackdb_IORelease
6.136.1.10 #define IOSetVar MHA_STATIC_MHAIOJackdb_IOSetVar
6.136.1.11 #define IOStrError MHA_STATIC_MHAIOJackdb_IOStrError
6.136.1.12 #define IODestroy MHA_STATIC_MHAIOJackdb_IODestroy
© 2005-2019 HörTech gGmbH, Oldenburg
1054 CONTENTS
6.136.1.13 #define dummy_interface_test MHA_STATIC_MHAIOJackdb_dummy_interface_test
6.136.2 Function Documentation
6.136.2.1 int IOInit (
int fragsize,
float samplerate,
IOProcessEvent_t proc_event,
void proc_handle,
IOStartedEvent_t start_event,
void start_handle,
IOStoppedEvent_t stop_event,
void stop_handle,
void ∗∗ handle )
6.136.2.2 int IOPrepare (
void handle,
int nch_in,
int nch_out )
6.136.2.3 int IOStart (
void handle )
6.136.2.4 int IOStop (
void handle )
6.136.2.5 int IORelease (
void handle )
6.136.2.6 int IOSetVar (
void handle,
const char command,
char retval,
unsigned int maxretlen )
6.136.2.7 const charIOStrError (
void handle,
int err )
6.136.2.8 void IODestroy (
void handle )
6.136.2.9 void dummy_interface_test (
void )
6.136.3 Variable Documentation
© 2005-2019 HörTech gGmbH, Oldenburg
6.137 MHAIOParser.cpp File Reference 1055
6.136.3.1 char user_err_msg[MAX_USER_ERR] = "" [static]
6.137 MHAIOParser.cpp File Reference
Classes
class io_parser_t
Main class for Parser IO.
Macros
#define ERR_SUCCESS 0
#define ERR_IHANDLE -1
#define ERR_USER -1000
#define MAX_USER_ERR 0x500
#define IOInit MHA_STATIC_MHAIOParser_IOInit
#define IOPrepare MHA_STATIC_MHAIOParser_IOPrepare
#define IOStart MHA_STATIC_MHAIOParser_IOStart
#define IOStop MHA_STATIC_MHAIOParser_IOStop
#define IORelease MHA_STATIC_MHAIOParser_IORelease
#define IOSetVar MHA_STATIC_MHAIOParser_IOSetVar
#define IOStrError MHA_STATIC_MHAIOParser_IOStrError
#define IODestroy MHA_STATIC_MHAIOParser_IODestroy
#define dummy_interface_test MHA_STATIC_MHAIOParser_dummy_interface_test
Functions
int IOInit (int fragsize, float, IOProcessEvent_t proc_event, void proc_handle, IO-
StartedEvent_t start_event, void start_handle, IOStoppedEvent_t stop_event, void
stop_handle, void ∗∗handle)
int IOPrepare (void handle, int nch_in, int nch_out)
int IOStart (void handle)
int IOStop (void handle)
int IORelease (void handle)
int IOSetVar (void handle, const char command, char retval, unsigned int maxretlen)
const char IOStrError (void handle, int err)
void IODestroy (void handle)
void dummy_interface_test (void)
Variables
static char user_err_msg [MAX_USER_ERR]
© 2005-2019 HörTech gGmbH, Oldenburg
1056 CONTENTS
6.137.1 Macro Definition Documentation
6.137.1.1 #define ERR_SUCCESS 0
6.137.1.2 #define ERR_IHANDLE -1
6.137.1.3 #define ERR_USER -1000
6.137.1.4 #define MAX_USER_ERR 0x500
6.137.1.5 #define IOInit MHA_STATIC_MHAIOParser_IOInit
6.137.1.6 #define IOPrepare MHA_STATIC_MHAIOParser_IOPrepare
6.137.1.7 #define IOStart MHA_STATIC_MHAIOParser_IOStart
6.137.1.8 #define IOStop MHA_STATIC_MHAIOParser_IOStop
6.137.1.9 #define IORelease MHA_STATIC_MHAIOParser_IORelease
6.137.1.10 #define IOSetVar MHA_STATIC_MHAIOParser_IOSetVar
6.137.1.11 #define IOStrError MHA_STATIC_MHAIOParser_IOStrError
6.137.1.12 #define IODestroy MHA_STATIC_MHAIOParser_IODestroy
6.137.1.13 #define dummy_interface_test MHA_STATIC_MHAIOParser_dummy_interface_test
6.137.2 Function Documentation
6.137.2.1 int IOInit (
int fragsize,
float ,
IOProcessEvent_t proc_event,
void proc_handle,
IOStartedEvent_t start_event,
void start_handle,
IOStoppedEvent_t stop_event,
void stop_handle,
void ∗∗ handle )
6.137.2.2 int IOPrepare (
void handle,
int nch_in,
int nch_out )
© 2005-2019 HörTech gGmbH, Oldenburg
6.138 MHAIOPortAudio.cpp File Reference 1057
6.137.2.3 int IOStart (
void handle )
6.137.2.4 int IOStop (
void handle )
6.137.2.5 int IORelease (
void handle )
6.137.2.6 int IOSetVar (
void handle,
const char command,
char retval,
unsigned int maxretlen )
6.137.2.7 const charIOStrError (
void handle,
int err )
6.137.2.8 void IODestroy (
void handle )
6.137.2.9 void dummy_interface_test (
void )
6.137.3 Variable Documentation
6.137.3.1 char user_err_msg[MAX_USER_ERR][static]
6.138 MHAIOPortAudio.cpp File Reference
Classes
class MHAIOPortAudio::device_info_t
class MHAIOPortAudio::io_portaudio_t
Main class for Portaudio sound IO.
Namespaces
MHAIOPortAudio
© 2005-2019 HörTech gGmbH, Oldenburg
1058 CONTENTS
Macros
#define ERR_SUCCESS 0
#define ERR_IHANDLE -1
#define ERR_USER -1000
#define MAX_USER_ERR 0x500
#define IOInit MHA_STATIC_MHAIOPortAudio_IOInit
#define IOPrepare MHA_STATIC_MHAIOPortAudio_IOPrepare
#define IOStart MHA_STATIC_MHAIOPortAudio_IOStart
#define IOStop MHA_STATIC_MHAIOPortAudio_IOStop
#define IORelease MHA_STATIC_MHAIOPortAudio_IORelease
#define IOSetVar MHA_STATIC_MHAIOPortAudio_IOSetVar
#define IOStrError MHA_STATIC_MHAIOPortAudio_IOStrError
#define IODestroy MHA_STATIC_MHAIOPortAudio_IODestroy
• #define dummy_interface_test MHA_STATIC_MHAIOPortAudio_dummy_interface_-
test
Functions
static std::string MHAIOPortAudio::parserFriendlyName (const std::string &in)
int portaudio_callback (const void input, void output, unsigned long frameCount, const
PaStreamCallbackTimeInfo timeInfo, PaStreamCallbackFlags statusFlags, void user-
Data)
int IOInit (int fragsize, float samplerate, IOProcessEvent_t proc_event, void proc_-
handle, IOStartedEvent_t start_event, void start_handle, IOStoppedEvent_t stop_-
event, void stop_handle, void ∗∗handle)
int IOPrepare (void handle, int nch_in, int nch_out)
int IOStart (void handle)
int IOStop (void handle)
int IORelease (void handle)
int IOSetVar (void handle, const char command, char retval, unsigned int maxretlen)
const char IOStrError (void handle, int err)
void IODestroy (void handle)
void dummy_interface_test (void)
Variables
static char user_err_msg [MAX_USER_ERR] = ""
PaStreamCallback portaudio_callback
© 2005-2019 HörTech gGmbH, Oldenburg
6.138 MHAIOPortAudio.cpp File Reference 1059
6.138.1 Macro Definition Documentation
6.138.1.1 #define ERR_SUCCESS 0
6.138.1.2 #define ERR_IHANDLE -1
6.138.1.3 #define ERR_USER -1000
6.138.1.4 #define MAX_USER_ERR 0x500
6.138.1.5 #define IOInit MHA_STATIC_MHAIOPortAudio_IOInit
6.138.1.6 #define IOPrepare MHA_STATIC_MHAIOPortAudio_IOPrepare
6.138.1.7 #define IOStart MHA_STATIC_MHAIOPortAudio_IOStart
6.138.1.8 #define IOStop MHA_STATIC_MHAIOPortAudio_IOStop
6.138.1.9 #define IORelease MHA_STATIC_MHAIOPortAudio_IORelease
6.138.1.10 #define IOSetVar MHA_STATIC_MHAIOPortAudio_IOSetVar
6.138.1.11 #define IOStrError MHA_STATIC_MHAIOPortAudio_IOStrError
6.138.1.12 #define IODestroy MHA_STATIC_MHAIOPortAudio_IODestroy
6.138.1.13 #define dummy_interface_test MHA_STATIC_MHAIOPortAudio_dummy_interface_test
6.138.2 Function Documentation
6.138.2.1 int portaudio_callback (
const void input,
void output,
unsigned long frameCount,
const PaStreamCallbackTimeInfo timeInfo,
PaStreamCallbackFlags statusFlags,
void userData )
6.138.2.2 int IOInit (
int fragsize,
float samplerate,
IOProcessEvent_t proc_event,
void proc_handle,
IOStartedEvent_t start_event,
void start_handle,
IOStoppedEvent_t stop_event,
void stop_handle,
void ∗∗ handle )
© 2005-2019 HörTech gGmbH, Oldenburg
1060 CONTENTS
6.138.2.3 int IOPrepare (
void handle,
int nch_in,
int nch_out )
6.138.2.4 int IOStart (
void handle )
6.138.2.5 int IOStop (
void handle )
6.138.2.6 int IORelease (
void handle )
6.138.2.7 int IOSetVar (
void handle,
const char command,
char retval,
unsigned int maxretlen )
6.138.2.8 const charIOStrError (
void handle,
int err )
6.138.2.9 void IODestroy (
void handle )
6.138.2.10 void dummy_interface_test (
void )
6.138.3 Variable Documentation
6.138.3.1 char user_err_msg[MAX_USER_ERR] = "" [static]
6.138.3.2 PaStreamCallback portaudio_callback
6.139 MHAIOTCP.cpp File Reference
Classes
class io_tcp_parser_t
The parser interface of the IOTCP library.
class io_tcp_sound_t
Sound data handling of io tcp library.
union io_tcp_sound_t::float_union
This union helps in conversion of floats from host byte order to network byte order and back
again.
class io_tcp_fwcb_t
TCP sound-io library's interface to the framework callbacks.
class io_tcp_t
The tcp sound io library.
© 2005-2019 HörTech gGmbH, Oldenburg
6.139 MHAIOTCP.cpp File Reference 1061
Macros
#define ERR_SUCCESS 0
#define ERR_IHANDLE -1
#define ERR_USER -1000
#define MAX_USER_ERR 0x2000
#define MHA_ErrorMsg2(x, y) MHA_Error(__FILE__,__LINE__,(x),(y))
#define MHA_ErrorMsg3(x, y, z) MHA_Error(__FILE__,__LINE__,(x),(y),(z))
#define MIN_TCP_PORT 0
#define MIN_TCP_PORT_STR "0"
#define MAX_TCP_PORT 65535
#define MAX_TCP_PORT_STR "65535"
#define IOInit MHA_STATIC_MHAIOTCP_IOInit
#define IOPrepare MHA_STATIC_MHAIOTCP_IOPrepare
#define IOStart MHA_STATIC_MHAIOTCP_IOStart
#define IOStop MHA_STATIC_MHAIOTCP_IOStop
#define IORelease MHA_STATIC_MHAIOTCP_IORelease
#define IOSetVar MHA_STATIC_MHAIOTCP_IOSetVar
#define IOStrError MHA_STATIC_MHAIOTCP_IOStrError
#define IODestroy MHA_STATIC_MHAIOTCP_IODestroy
#define dummy_interface_test MHA_STATIC_MHAIOTCP_dummy_interface_test
Functions
static int copy_error (MHA_Error &e)
static void thread_startup_function (void parameter)
int IOInit (int fragsize, float samplerate, IOProcessEvent_t proc_event, void proc_-
handle, IOStartedEvent_t start_event, void start_handle, IOStoppedEvent_t stop_-
event, void stop_handle, void ∗∗handle)
int IOPrepare (void handle, int num_inchannels, int num_outchannels)
int IOStart (void handle)
int IOStop (void handle)
int IORelease (void handle)
int IOSetVar (void handle, const char cmd, char retval, unsigned int len)
const char IOStrError (void handle, int err)
void IODestroy (void handle)
void dummy_interface_test (void)
Variables
static char user_err_msg [MAX_USER_ERR]
© 2005-2019 HörTech gGmbH, Oldenburg
1062 CONTENTS
6.139.1 Macro Definition Documentation
6.139.1.1 #define ERR_SUCCESS 0
6.139.1.2 #define ERR_IHANDLE -1
6.139.1.3 #define ERR_USER -1000
6.139.1.4 #define MAX_USER_ERR 0x2000
6.139.1.5 #define MHA_ErrorMsg2(
x,
y)MHA_Error(__FILE__,__LINE__,(x),(y))
6.139.1.6 #define MHA_ErrorMsg3(
x,
y,
z)MHA_Error(__FILE__,__LINE__,(x),(y),(z))
6.139.1.7 #define MIN_TCP_PORT 0
6.139.1.8 #define MIN_TCP_PORT_STR "0"
6.139.1.9 #define MAX_TCP_PORT 65535
6.139.1.10 #define MAX_TCP_PORT_STR "65535"
6.139.1.11 #define IOInit MHA_STATIC_MHAIOTCP_IOInit
6.139.1.12 #define IOPrepare MHA_STATIC_MHAIOTCP_IOPrepare
6.139.1.13 #define IOStart MHA_STATIC_MHAIOTCP_IOStart
6.139.1.14 #define IOStop MHA_STATIC_MHAIOTCP_IOStop
6.139.1.15 #define IORelease MHA_STATIC_MHAIOTCP_IORelease
6.139.1.16 #define IOSetVar MHA_STATIC_MHAIOTCP_IOSetVar
6.139.1.17 #define IOStrError MHA_STATIC_MHAIOTCP_IOStrError
6.139.1.18 #define IODestroy MHA_STATIC_MHAIOTCP_IODestroy
6.139.1.19 #define dummy_interface_test MHA_STATIC_MHAIOTCP_dummy_interface_test
© 2005-2019 HörTech gGmbH, Oldenburg
6.139 MHAIOTCP.cpp File Reference 1063
6.139.2 Function Documentation
6.139.2.1 static int copy_error (
MHA_Error &e)[static]
6.139.2.2 static voidthread_startup_function (
void parameter )[static]
6.139.2.3 int IOInit (
int fragsize,
float samplerate,
IOProcessEvent_t proc_event,
void proc_handle,
IOStartedEvent_t start_event,
void start_handle,
IOStoppedEvent_t stop_event,
void stop_handle,
void ∗∗ handle )
6.139.2.4 int IOPrepare (
void handle,
int num_inchannels,
int num_outchannels )
6.139.2.5 int IOStart (
void handle )
6.139.2.6 int IOStop (
void handle )
6.139.2.7 int IORelease (
void handle )
6.139.2.8 int IOSetVar (
void handle,
const char cmd,
char retval,
unsigned int len )
6.139.2.9 const charIOStrError (
void handle,
int err )
6.139.2.10 void IODestroy (
void handle )
© 2005-2019 HörTech gGmbH, Oldenburg
1064 CONTENTS
6.139.2.11 void dummy_interface_test (
void )
6.139.3 Variable Documentation
6.139.3.1 char user_err_msg[MAX_USER_ERR][static]
6.140 mhajack.cpp File Reference
Functions
static void jack_error_handler (const char msg)
static int dummy_jack_proc_cb (jack_nframes_t, void )
void make_friendly_number (jack_default_audio_sample_t &x)
Variables
char last_jack_err_msg [MAX_USER_ERR] = ""
int last_jack_err = 0
6.140.1 Function Documentation
6.140.1.1 static void jack_error_handler (
const char msg )[static]
6.140.1.2 static int dummy_jack_proc_cb (
jack_nframes_t ,
void )[static]
6.140.1.3 void make_friendly_number (
jack_default_audio_sample_t & x)[inline]
6.140.2 Variable Documentation
6.140.2.1 char last_jack_err_msg[MAX_USER_ERR] = ""
6.140.2.2 int last_jack_err = 0
6.141 mhajack.h File Reference
Classes
class MHAJack::port_t
Class for one channel/port.
class MHAJack::client_t
Generic asynchronous JACK client.
class MHAJack::client_noncont_t
Generic client for synchronous playback and recording of waveform fragments.
class MHAJack::client_avg_t
Generic JACK client for averaging a system response across time.
© 2005-2019 HörTech gGmbH, Oldenburg
6.141 mhajack.h File Reference 1065
Namespaces
MHAJack
Classes and functions for openMHA and JACK interaction.
Macros
#define MHAJACK_FW_STARTED 1
#define MHAJACK_STOPPED 2
#define MHAJACK_STARTING 8
#define IO_ERROR_JACK 11
#define IO_ERROR_MHAJACKLIB 12
#define MAX_USER_ERR 0x500
Functions
void MHAJack::io (mha_wave_t s_out, mha_wave_t s_in, const std::string &name,
const std::vector<std::string >&p_out, const std::vector<std::string >&p_in, float
srate=NULL, unsigned int fragsize=NULL, bool use_jack_transport=false)
Functional form of generic client for synchronous playback and recording of waveform frag-
ments.
• std::vector<unsigned int >MHAJack::get_port_capture_latency (const std::vector<
std::string >&ports)
Return the JACK port latency of ports.
• std::vector<int >MHAJack::get_port_capture_latency_int (const std::vector<std-
::string >&ports)
Return the JACK port latency of ports.
• std::vector<unsigned int >MHAJack::get_port_playback_latency (const std::vector<
std::string >&ports)
Return the JACK port latency of ports.
• std::vector<int >MHAJack::get_port_playback_latency_int (const std::vector<std-
::string >&ports)
Variables
char last_jack_err_msg [MAX_USER_ERR]
© 2005-2019 HörTech gGmbH, Oldenburg
1066 CONTENTS
6.141.1 Macro Definition Documentation
6.141.1.1 #define MHAJACK_FW_STARTED 1
6.141.1.2 #define MHAJACK_STOPPED 2
6.141.1.3 #define MHAJACK_STARTING 8
6.141.1.4 #define IO_ERROR_JACK 11
6.141.1.5 #define IO_ERROR_MHAJACKLIB 12
6.141.1.6 #define MAX_USER_ERR 0x500
6.141.2 Variable Documentation
6.141.2.1 char last_jack_err_msg[MAX_USER_ERR]
6.142 mhamain.cpp File Reference
Classes
class mhaserver_t
MHA Framework listening on TCP port for commands.
Macros
#define MAX_LINE_LENGTH 0x100000
#define HELP_TEXT
#define GREETING_TEXT
Functions
void create_lock (unsigned int p, std::string s)
void remove_lock (unsigned int p)
int mhamain (int argc, char argv[ ])
© 2005-2019 HörTech gGmbH, Oldenburg
6.143 mhapluginloader.cpp File Reference 1067
6.142.1 Macro Definition Documentation
6.142.1.1 #define MAX_LINE_LENGTH 0x100000
6.142.1.2 #define HELP_TEXT
6.142.1.3 #define GREETING_TEXT
6.142.2 Function Documentation
6.142.2.1 void create_lock (
unsigned int p,
std::string s)
6.142.2.2 void remove_lock (
unsigned int p)
6.142.2.3 int mhamain (
int argc,
char argv[ ] )
6.143 mhapluginloader.cpp File Reference
6.144 mhapluginloader.h File Reference
Classes
class PluginLoader::config_file_splitter_t
class PluginLoader::fourway_processor_t
This abstract class defines the interface for classes that implement all types of signal domain
processing supported by the MHA: wave2wave, spec2spec, wave2spec, and spec2wave.
class PluginLoader::mhapluginloader_t
class MHAParser::mhapluginloader_t
Class to create a plugin loader in a parser, including the load logic.
Namespaces
PluginLoader
MHAParser
Name space for the openMHA-Parser configuration language.
© 2005-2019 HörTech gGmbH, Oldenburg
1068 CONTENTS
Functions
const char PluginLoader::mhastrdomain (mha_domain_t)
void PluginLoader::mhaconfig_compare (const mhaconfig_t &req, const mhaconfig-
_t &avail, const std::string &pref="")
Compare two mhaconfig_t (p. 504) structures, and report differences as an error.
6.145 mhasndfile.cpp File Reference
Functions
void write_wave (const mha_wave_t &sig, const char fname, const float &srate, const
int &format)
unsigned int validator_channels (std::vector<int >channel_map, unsigned int chan-
nels)
unsigned int validator_length (unsigned int maxlen, unsigned int frames, unsigned int
startpos)
6.145.1 Function Documentation
6.145.1.1 void write_wave (
const mha_wave_t &sig,
const char fname,
const float & srate,
const int & format )
6.145.1.2 unsigned int validator_channels (
std::vector<int >channel_map,
unsigned int channels )
6.145.1.3 unsigned int validator_length (
unsigned int maxlen,
unsigned int frames,
unsigned int startpos )
6.146 mhasndfile.h File Reference
Classes
class MHASndFile::sf_t
class MHASndFile::sf_wave_t
Namespaces
MHASndFile
© 2005-2019 HörTech gGmbH, Oldenburg
6.147 multibandcompressor.cpp File Reference 1069
Functions
void write_wave (const mha_wave_t &sig, const char fname, const float &srate=44100,
const int &format=SF_FORMAT_WAV|SF_FORMAT_FLOAT|SF_ENDIAN_FILE)
6.146.1 Function Documentation
6.146.1.1 void write_wave (
const mha_wave_t &sig,
const char fname,
const float & srate = 44100,
const int & format = SF_FORMAT_WAV|SF_FORMAT_FLOAT|SF_ENDIAN-
_FILE )
6.147 multibandcompressor.cpp File Reference
Classes
class multibandcompressor::plugin_signals_t
class multibandcompressor::fftfb_plug_t
class multibandcompressor::interface_t
Namespaces
multibandcompressor
6.148 nlms_wave.cpp File Reference
Classes
class rt_nlms_t
class nlms_t
Macros
#define NORMALIZATION_TYPES "[none default sum]"
#define NORM_NONE 0
#define NORM_DEFAULT 1
#define NORM_SUM 2
#define ESTIMATION_TYPES "[previous current]"
#define ESTIM_PREV 0
#define ESTIM_CUR 1
© 2005-2019 HörTech gGmbH, Oldenburg
1070 CONTENTS
Functions
void make_friendly_number_by_limiting (mha_real_t &x)
6.148.1 Macro Definition Documentation
6.148.1.1 #define NORMALIZATION_TYPES "[none default sum]"
6.148.1.2 #define NORM_NONE 0
6.148.1.3 #define NORM_DEFAULT 1
6.148.1.4 #define NORM_SUM 2
6.148.1.5 #define ESTIMATION_TYPES "[previous current]"
6.148.1.6 #define ESTIM_PREV 0
6.148.1.7 #define ESTIM_CUR 1
6.148.2 Function Documentation
6.148.2.1 void make_friendly_number_by_limiting (
mha_real_t &x)[inline]
6.149 noise.cpp File Reference
Classes
class cfg_t
class noise_t
6.150 noisePowProposedScale.cpp File Reference
Classes
class noisePowProposedScale::noisePowProposed
class noisePowProposedScale::interface_t
Namespaces
noisePowProposedScale
© 2005-2019 HörTech gGmbH, Oldenburg
6.151 overlapadd.cpp File Reference 1071
Macros
#define POWSPEC_FACTOR 0.0025
6.150.1 Macro Definition Documentation
6.150.1.1 #define POWSPEC_FACTOR 0.0025
6.151 overlapadd.cpp File Reference
Classes
class overlapadd::overlapadd_t
class overlapadd::overlapadd_if_t
Namespaces
overlapadd
6.152 plingploing.cpp File Reference
Classes
class plingploing::plingploing_t
Run-time configuration of the plingploing music generator.
class plingploing::if_t
Plugin class of the plingploing music generator.
Namespaces
plingploing
All classes for the plingploing music generator live in this namespace.
Functions
double plingploing::drand (double a, double b)
© 2005-2019 HörTech gGmbH, Oldenburg
1072 CONTENTS
6.153 pluginbrowser.cpp File Reference
6.154 pluginbrowser.h File Reference
Classes
class plugindescription_t
class pluginloader_t
class pluginbrowser_t
6.155 prediction_error.cpp File Reference
Macros
• #define PATCH_VAR(var) patchbay.connect(&var.valuechanged, this, &prediction_-
error::update_cfg)
#define INSERT_PATCH(var) insert_member(var); PATCH_VAR(var)
Functions
void make_friendly_number_by_limiting (mha_real_t &x)
6.155.1 Macro Definition Documentation
6.155.1.1 #define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this,
&prediction_error::update_cfg)
6.155.1.2 #define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.155.2 Function Documentation
6.155.2.1 void make_friendly_number_by_limiting (
mha_real_t &x)[inline]
6.156 prediction_error.h File Reference
Classes
class prediction_error_config
class prediction_error
© 2005-2019 HörTech gGmbH, Oldenburg
6.157 resampling.cpp File Reference 1073
6.157 resampling.cpp File Reference
Classes
class MHAPlugin_Resampling::resampling_t
class MHAPlugin_Resampling::resampling_if_t
Namespaces
MHAPlugin_Resampling
6.158 rmslevel.cpp File Reference
Classes
class mon_t
class rmslevel_t
class rmslevel_if_t
6.159 route.cpp File Reference
Classes
class route::process_t
class route::interface_t
Namespaces
route
6.160 save_spec.cpp File Reference
Classes
class save_spec_t
6.161 save_wave.cpp File Reference
Classes
class save_wave_t
© 2005-2019 HörTech gGmbH, Oldenburg
1074 CONTENTS
6.162 shadowfilter_begin.cpp File Reference
Classes
class shadowfilter_begin::cfg_t
class shadowfilter_begin::shadowfilter_begin_t
Namespaces
shadowfilter_begin
6.163 shadowfilter_end.cpp File Reference
Classes
class shadowfilter_end::cfg_t
class shadowfilter_end::shadowfilter_end_t
Namespaces
shadowfilter_end
6.164 sine.cpp File Reference
Classes
struct sine_cfg_t
class sine_t
6.165 smoothgains_bridge.cpp File Reference
Classes
class smoothgains_bridge::smoothspec_wrap_t
class smoothgains_bridge::overlapadd_if_t
Namespaces
smoothgains_bridge
© 2005-2019 HörTech gGmbH, Oldenburg
6.166 softclip.cpp File Reference 1075
6.166 softclip.cpp File Reference
Classes
class cfg_t
class softclip_t
6.167 spec2wave.cpp File Reference
Classes
class hanning_ramps_t
class spec2wave_t
class spec2wave_if_t
Functions
unsigned int max (unsigned int a, unsigned int b)
unsigned int min (unsigned int a, unsigned int b)
6.167.1 Function Documentation
6.167.1.1 unsigned int max (
unsigned int a,
unsigned int b)[inline]
6.167.1.2 unsigned int min (
unsigned int a,
unsigned int b)[inline]
6.168 speechnoise.cpp File Reference
Macros
#define NUM_ENTR_MHAORIG 76
#define NUM_ENTR_LTASS 25
#define NUM_ENTR_OLNOISE 49
Functions
float fhz2bandno (float x)
float erb_hz_f_hz (float f_hz)
float hz2hz (float x)
Dummy scale transformation Hz to Hz.
float bandw_correction (float f, float ldb)
© 2005-2019 HörTech gGmbH, Oldenburg
1076 CONTENTS
Variables
float vMHAOrigSpec [NUM_ENTR_MHAORIG] = {-1.473, 0, -4.939, -10.14, -13.94, -
14.83, -14.27, -15.66, -16.16, -18.22, -20.5, -21.23, -22.13, -22.58, -23.98, -26.58, -26.4,
-25.15, -23.89, -25.54, -27, -30.15, -31.68, -30.14, -27.55, -25.79, -25.89, -26.11, -27.-
48, -30.37, -33.13, -36.23, -36.64, -36.35, -35.03, -35.48, -36.35, -37.95, -40.53, -42.37,
-41.29, -38.49, -36.32, -34.85, -34.05, -33.81, -33.48, -34.1, -35.19, -36.29, -36.94, -37.-
53, -38.71, -38.7, -38.92, -40.36, -41.26, -42.19, -43.65, -44.37, -43.95, -43.15, -42.57,
-41.57, -41.86, -42.34, -42.87, -42.35, -42.71, -42.85, -43.47, -47.43, -67.54, -76.3, -77.-
43, -77.43}
• float vMHAOrigFreq [NUM_ENTR_MHAORIG] = {172.266,344.532,516.797,689.-
063,861.329,1033.59,1205.86,1378.13,1550.39,1722.66,1894.92,2067.19,2239.-
46,2411.72,2583.99,2756.25,2928.52,3100.78,3273.05,3445.32,3617.58,3789.85,3962.-
11,4134.38,4306.64,4478.91,4651.18,4823.44,4995.71,5167.97,5340.24,5512.51,5684.-
77,5857.04,6029.3,6201.57,6373.83,6546.1,6718.37,6890.63,7062.9,7235.16,7407.-
43,7579.69,7751.96,7924.23,8096.49,8268.76,8441.02,8613.29,8785.56,8957.82,9130.-
09,9302.35,9474.62,9646.88,9819.15,9991.42,10163.7,10335.9,10508.2,10680.-
5,10852.7,11025,11197.3,11369.5,11541.8,11714.1,11886.3,12058.6,12230.9,12403.-
1,12575.4,12747.7,12919.9,13092.2}
float vLTASS_freq [NUM_ENTR_LTASS] = {63, 80, 100, 125, 160, 200, 250, 315, 400,
500, 630, 800, 1000, 1250, 1600, 2000, 2500, 3150, 4000, 5000, 6300, 8000, 10000,
12500, 16000}
• float vLTASS_combined_lev [NUM_ENTR_LTASS] = {38.6, 43.5, 54.4, 57.7, 56.8,
60.2, 60.3, 59.0, 62.1, 62.1, 60.5, 56.8, 53.7, 53.0, 52.0, 48.7, 48.1, 46.8, 45.6, 44.5,
44.3, 43.7, 43.4, 41.3, 40.7}
float vLTASS_female_lev [NUM_ENTR_LTASS] = {37.0,36.0,37.5,40.1,53.4,62.2,60.-
9,58.1,61.7,61.7,60.4,58,54.3,52.3,51.7,48.8,47.3,46.7,45.3,44.6,45.2,44.9,45.0,42.-
8,41.1}
• float vLTASS_male_lev [NUM_ENTR_LTASS] = {38.6,43.5,54.4,57.7,56.8,58.2,59.-
7,60.0,62.4,62.6,60.6,55.7,53.1,53.7,52.3,48.7,48.9,47.0,46.0,44.4,43.3,42.4,41.9,39.-
8,40.4}
• float vOlnoiseFreq [NUM_ENTR_OLNOISE] = {62.5,70.1539,78.7451,88.3884,99.-
2126,111.362,125,140.308,157.49,176.777,198.425,222.725,250,280.616,314.98,353.-
553,396.85,445.449,500,561.231,629.961,707.107,793.701,890.899,1000,1122.-
46,1259.92,1414.21,1587.4,1781.8,2000,2244.92,2519.84,2828.43,3174.8,3563.-
59,4000,4489.85,5039.68,5656.85,6349.6,7127.19,8000,8979.7,10079.4,11313.-
7,12699.2,14254.4,16000}
float vOlnoiseLev [NUM_ENTR_OLNOISE] = {45.9042,38.044,48.9444,61.3697,67.-
6953,69.7451,71.6201,71.2431,65.2754,63.2547,70.2264,72.1434,73.4433,73.2659,69.-
8424,71.0132,70.9577,70.3492,68.691,64.8436,64.0435,64.2879,60.5889,60.6596,60.-
3727,61.2003,61.8477,61.1478,61.2312,58.6584,57.2892,56.8299,56.0191,53.3018,56.-
0525,54.3592,50.8823,55.992,54.6768,47.2616,46.9914,45.209,50.413,47.5848,43.-
3215,43.754,38.5773,-0.39427,5.74224}
6.168.1 Macro Definition Documentation
6.168.1.1 #define NUM_ENTR_MHAORIG 76
6.168.1.2 #define NUM_ENTR_LTASS 25
© 2005-2019 HörTech gGmbH, Oldenburg
6.168 speechnoise.cpp File Reference 1077
6.168.1.3 #define NUM_ENTR_OLNOISE 49
6.168.2 Function Documentation
6.168.2.1 float fhz2bandno (
float x)
6.168.2.2 float erb_hz_f_hz (
float f_hz )
6.168.2.3 float hz2hz (
float x)
Dummy scale transformation Hz to Hz.
This function implements a dummy scale transformation (linear frequency scale).
Parameters
xInput frequency in Hz
Returns
Frequency in Hz
6.168.2.4 float bandw_correction (
float f,
float ldb )
6.168.3 Variable Documentation
6.168.3.1 float vMHAOrigSpec[NUM_ENTR_MHAORIG] = {-1.473, 0, -4.939, -10.14, -13.94, -14.83,
-14.27, -15.66, -16.16, -18.22, -20.5, -21.23, -22.13, -22.58, -23.98, -26.58, -26.4, -25.15, -23.89,
-25.54, -27, -30.15, -31.68, -30.14, -27.55, -25.79, -25.89, -26.11, -27.48, -30.37, -33.13, -36.23,
-36.64, -36.35, -35.03, -35.48, -36.35, -37.95, -40.53, -42.37, -41.29, -38.49, -36.32, -34.85, -34.05,
-33.81, -33.48, -34.1, -35.19, -36.29, -36.94, -37.53, -38.71, -38.7, -38.92, -40.36, -41.26, -42.19,
-43.65, -44.37, -43.95, -43.15, -42.57, -41.57, -41.86, -42.34, -42.87, -42.35, -42.71, -42.85, -43.47,
-47.43, -67.54, -76.3, -77.43, -77.43}
6.168.3.2 float vMHAOrigFreq[NUM_ENTR_MHAORIG] = {172.266,344.532,516.797,689.063,861.-
329,1033.59,1205.86,1378.13,1550.39,1722.66,1894.92,2067.19,2239.46,2411.72,2583.99,2756.-
25,2928.52,3100.78,3273.05,3445.32,3617.58,3789.85,3962.11,4134.38,4306.64,4478.91,4651.-
18,4823.44,4995.71,5167.97,5340.24,5512.51,5684.77,5857.04,6029.3,6201.57,6373.83,6546.-
1,6718.37,6890.63,7062.9,7235.16,7407.43,7579.69,7751.96,7924.23,8096.49,8268.76,8441.-
02,8613.29,8785.56,8957.82,9130.09,9302.35,9474.62,9646.88,9819.15,9991.42,10163.7,10335.-
9,10508.2,10680.5,10852.7,11025,11197.3,11369.5,11541.8,11714.1,11886.3,12058.6,12230.-
9,12403.1,12575.4,12747.7,12919.9,13092.2}
© 2005-2019 HörTech gGmbH, Oldenburg
1078 CONTENTS
6.168.3.3 float vLTASS_freq[NUM_ENTR_LTASS] = {63, 80, 100, 125, 160, 200, 250, 315, 400, 500, 630,
800, 1000, 1250, 1600, 2000, 2500, 3150, 4000, 5000, 6300, 8000, 10000, 12500, 16000}
6.168.3.4 float vLTASS_combined_lev[NUM_ENTR_LTASS] = {38.6, 43.5, 54.4, 57.7, 56.8, 60.2, 60.3,
59.0, 62.1, 62.1, 60.5, 56.8, 53.7, 53.0, 52.0, 48.7, 48.1, 46.8, 45.6, 44.5, 44.3, 43.7, 43.4, 41.3, 40.7}
6.168.3.5 float vLTASS_female_lev[NUM_ENTR_LTASS] = {37.0,36.0,37.5,40.1,53.4,62.2,60.9,58.-
1,61.7,61.7,60.4,58,54.3,52.3,51.7,48.8,47.3,46.7,45.3,44.6,45.2,44.9,45.0,42.8,41.1}
6.168.3.6 float vLTASS_male_lev[NUM_ENTR_LTASS] = {38.6,43.5,54.4,57.7,56.8,58.2,59.7,60.0,62.-
4,62.6,60.6,55.7,53.1,53.7,52.3,48.7,48.9,47.0,46.0,44.4,43.3,42.4,41.9,39.8,40.4}
6.168.3.7 float vOlnoiseFreq[NUM_ENTR_OLNOISE] = {62.5,70.1539,78.7451,88.3884,99.2126,111.-
362,125,140.308,157.49,176.777,198.425,222.725,250,280.616,314.98,353.553,396.85,445.-
449,500,561.231,629.961,707.107,793.701,890.899,1000,1122.46,1259.92,1414.21,1587.4,1781.-
8,2000,2244.92,2519.84,2828.43,3174.8,3563.59,4000,4489.85,5039.68,5656.85,6349.6,7127.-
19,8000,8979.7,10079.4,11313.7,12699.2,14254.4,16000}
6.168.3.8 float vOlnoiseLev[NUM_ENTR_OLNOISE] = {45.9042,38.044,48.9444,61.3697,67.6953,69.-
7451,71.6201,71.2431,65.2754,63.2547,70.2264,72.1434,73.4433,73.2659,69.8424,71.0132,70.-
9577,70.3492,68.691,64.8436,64.0435,64.2879,60.5889,60.6596,60.3727,61.2003,61.8477,61.-
1478,61.2312,58.6584,57.2892,56.8299,56.0191,53.3018,56.0525,54.3592,50.8823,55.992,54.-
6768,47.2616,46.9914,45.209,50.413,47.5848,43.3215,43.754,38.5773,-0.39427,5.74224}
6.169 speechnoise.h File Reference
Classes
class speechnoise_t
6.170 split.cpp File Reference
Classes
class MHAPlugin_Split::uni_processor_t
An interface to a class that sports a process method with no parameters and no return value.
class MHAPlugin_Split::thread_platform_t
Basic interface for encapsulating thread creation, thread priority setting, and synchronization
on any threading platform (i.e., pthreads or win32threads).
class MHAPlugin_Split::dummy_threads_t
Dummy specification of a thread platform: This class implements everything in a single thread.
class MHAPlugin_Split::posix_threads_t
Posix threads specification of thread platform.
class MHAPlugin_Split::domain_handler_t
Handles domain-specific partial input and output signal.
class MHAPlugin_Split::splitted_part_t
The splitted_part_t (p. 751) instance manages the plugin that performs processing on the
reduced set of channels.
class MHAPlugin_Split::split_t
Implements split plugin.
© 2005-2019 HörTech gGmbH, Oldenburg
6.171 steerbf.cpp File Reference 1079
Namespaces
MHAPlugin_Split
Macros
#define MHAPLUGIN_OVERLOAD_OUTDOMAIN
This define modifies the definition of MHAPLUGIN_CALLBACKS and friends.
#define posixthreads 1
#define default_thread_platform_string "posix"
#define default_thread_platform_type posix_threads_t
Enumerations
6.170.1 Detailed Description
Source code for the split plugin. The split plugin splits the audio signal by channel. The splitted
paths execute in parallel.
6.170.2 Macro Definition Documentation
6.170.2.1 #define MHAPLUGIN_OVERLOAD_OUTDOMAIN
This define modifies the definition of MHAPLUGIN_CALLBACKS and friends.
The output signal is transferred through a second parameter to the process method, enabling
all four domain transformations in a single plugin.
6.170.2.2 #define posixthreads 1
6.170.2.3 #define default_thread_platform_string "posix"
6.170.2.4 #define default_thread_platform_type posix_threads_t
6.171 steerbf.cpp File Reference
Macros
• #define PATCH_VAR(var) patchbay.connect(&var.valuechanged, this, &steerbf-
::update_cfg)
#define INSERT_PATCH(var) insert_member(var); PATCH_VAR(var)
© 2005-2019 HörTech gGmbH, Oldenburg
1080 CONTENTS
6.171.1 Macro Definition Documentation
6.171.1.1 #define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, &steerbf::update_cfg)
6.171.1.2 #define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.172 steerbf.h File Reference
Classes
class parser_int_dyn
class steerbf_config
class steerbf
6.173 testalsadevice.c File Reference
Functions
int main (int argc, char ∗∗argv)
6.173.1 Function Documentation
6.173.1.1 int main (
int argc,
char ∗∗ argv )
6.174 testplugin.cpp File Reference
Classes
class testplugin::config_parser_t
class testplugin::ac_parser_t
class testplugin::signal_parser_t
class testplugin::if_t
Namespaces
testplugin
© 2005-2019 HörTech gGmbH, Oldenburg
6.175 timoconfig.cpp File Reference 1081
6.175 timoconfig.cpp File Reference
Macros
#define LPSCALE (5.2429e+007)
#define POWSPEC_FACTOR 0.0025
#define OVERLAP_FACTOR 2
#define EPSILON (1e-10)
#define CHANLOOP for ( unsigned int c=0; c<nchan; ++c )
6.175.1 Macro Definition Documentation
6.175.1.1 #define LPSCALE (5.2429e+007)
6.175.1.2 #define POWSPEC_FACTOR 0.0025
6.175.1.3 #define OVERLAP_FACTOR 2
6.175.1.4 #define EPSILON (1e-10)
6.175.1.5 #define CHANLOOP for ( unsigned int c=0; c<nchan; ++c )
6.176 timoconfig.h File Reference
Classes
class timo_AC
class timo_params
class timoConfig
6.177 timoSmooth.cpp File Reference
Macros
#define INSERT_VAR(var) insert_item(#var, &var)
#define PATCH_VAR(var) patchbay.connect(&var.valuechanged, this, &timoSmooth-
::on_model_param_valuechanged)
#define INSERT_PATCH(var) INSERT_VAR(var); PATCH_VAR(var)
© 2005-2019 HörTech gGmbH, Oldenburg
1082 CONTENTS
6.177.1 Macro Definition Documentation
6.177.1.1 #define INSERT_VAR(
var ) insert_item(#var, &var)
6.177.1.2 #define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this,
&timoSmooth::on_model_param_valuechanged)
6.177.1.3 #define INSERT_PATCH(
var )INSERT_VAR(var); PATCH_VAR(var)
6.178 timosmooth.h File Reference
Classes
class timoSmooth
6.179 transducers.cpp File Reference
Classes
class softclipper_variables_t
class softclipper_t
class calibrator_variables_t
class calibrator_runtime_layer_t
class calibrator_t
class bbcalib_interface_t
Typedefs
typedef MHAPlugin::config_t<MHASignal::async_rmslevel_t >rmslevelmeter
typedef MHAPlugin::plugin_t<calibrator_runtime_layer_t >rtcalibrator
Functions
speechnoise_t::noise_type_t kw_index2type (unsigned int idx)
• std::vector<int >vint_0123n1 (unsigned int n)
© 2005-2019 HörTech gGmbH, Oldenburg
6.180 upsample.cpp File Reference 1083
6.179.1 Typedef Documentation
6.179.1.1 typedef MHAPlugin::config_t<MHASignal::async_rmslevel_t>rmslevelmeter
6.179.1.2 typedef MHAPlugin::plugin_t<calibrator_runtime_layer_t>rtcalibrator
6.179.2 Function Documentation
6.179.2.1 speechnoise_t::noise_type_t kw_index2type (
unsigned int idx )
6.179.2.2 std::vector<int>vint_0123n1 (
unsigned int n)
6.180 upsample.cpp File Reference
Classes
class us_t
6.181 wave2spec.cpp File Reference
Classes
class wave2spec_t
class wave2spec_if_t
Macros
#define MHAPLUGIN_OVERLOAD_OUTDOMAIN
6.181.1 Macro Definition Documentation
6.181.1.1 #define MHAPLUGIN_OVERLOAD_OUTDOMAIN
6.182 wavrec.cpp File Reference
Classes
class wavwriter_t
class wavrec_t
© 2005-2019 HörTech gGmbH, Oldenburg
1084 CONTENTS
Macros
#define DEBUG(x) std::cerr << __FILE__ << ":" << __LINE__ << " " << #x << "="
<< x<< std::endl
6.182.1 Macro Definition Documentation
6.182.1.1 #define DEBUG(
x) std::cerr << __FILE__ << ":" << __LINE__ << " " << #x << "=" << x
<< std::endl
6.183 windowselector.cpp File Reference
6.184 windowselector.h File Reference
Classes
class windowselector_t
A combination of mha parser variables to describe an overalapadd analysis window.
© 2005-2019 HörTech gGmbH, Oldenburg
Index
_MHA_AC_CHAR
testplugin::ac_parser_t, 931
_MHA_AC_DOUBLE
testplugin::ac_parser_t, 931
_MHA_AC_FLOAT
testplugin::ac_parser_t, 931
_MHA_AC_INT
testplugin::ac_parser_t, 931
_MHA_AC_MHACOMPLEX
testplugin::ac_parser_t, 931
_MHA_AC_MHAREAL
testplugin::ac_parser_t, 931
__MHA_FUN__
mha_defs.h, 998
__attribute__
mha_plugin.hh, 1024
__declspec
example5.cpp, 977
example6.cpp, 977
mha_defs.h, 998
mha_plugin.hh, 1023
_cf
DynComp::dc_afterburn_t, 296
_channels
DynComp::dc_afterburn_t, 296
_conjugate
Complex arithmetics in the openMHA, 68
_linphase_asym
MHAFilter::smoothspec_t, 568
_prepare
testplugin::if_t, 935
_reciprocal
Complex arithmetics in the openMHA, 69
_srate
DynComp::dc_afterburn_t, 296
_steerbf
steerbf_config, 929
_unknown
testplugin::ac_parser_t, 931
Async_Notify
MHA_TCP::Async_Notify, 469
Connection
MHA_TCP::Connection, 473
Delay
ADM::Delay, 192
Event_Watcher
MHA_TCP::Event_Watcher, 479
Linearphase_FIR
ADM::Linearphase_FIR, 194
MHA_Error
MHA_Error, 446
Server
MHA_TCP::Server, 482
Thread
MHA_TCP::Thread, 489
Timeout_Watcher
MHA_TCP::Timeout_Watcher, 492
Wakeup_Event
MHA_TCP::Wakeup_Event, 494
acConcat_wave
acConcat_wave, 152
acConcat_wave_config
acConcat_wave_config, 154
acPooling_wave
acPooling_wave, 161
acPooling_wave_config
acPooling_wave_config, 163
acSteer
acSteer, 173
acSteer_config
acSteer_config, 175
acTransform_wave
acTransform_wave, 177
acTransform_wave_config
acTransform_wave_config, 179
acmon_t
acmon::acmon_t, 158
acspace2matrix_t
MHA_AC::acspace2matrix_t, 417
adm_rtconfig_t
adm_rtconfig_t, 199
algo_comm_class_t
MHAKernel::algo_comm_class_t, 604
alsa_base_t
alsa_base_t, 207
alsa_t
alsa_t, 211
analysepath_t
analysepath_t, 217
analysispath_if_t
analysispath_if_t, 220
bark2hz_t
MHAOvlFilter::barkscale::bark2hz_t, 614
base_t
MHAParser::base_t, 637
bbcalib_interface_t
1086 INDEX
bbcalib_interface_t, 229
blockprocessing_polyphase_resampling_t
MHAFilter::blockprocessing_polyphase-
_resampling_t, 518
c_ifc_parser_t
MHAParser::c_ifc_parser_t, 649
cfg_chain_t
MHAPlugin::cfg_chain_t, 723
cfg_t
acsave::cfg_t, 168
config_t
MHAPlugin::config_t, 726
connector_base_t
MHAEvents::connector_base_t, 506
connector_t
MHAEvents::connector_t, 509
db_if_t
db_if_t, 250
delay_spec_t
MHASignal::delay_spec_t, 766
delay_t
MHASignal::delay_t, 767
delay_wave_t
MHASignal::delay_wave_t, 769
doasvm_classification
doasvm_classification, 280
doasvm_classification_config
doasvm_classification_config, 282
doasvm_feature_extraction
doasvm_feature_extraction, 284
doasvm_feature_extraction_config
doasvm_feature_extraction_config, 286
domain_handler_t
MHAPlugin_Split::domain_handler_t, 738
double_t
MHA_AC::double_t, 419
doublebuffer_t
MHASignal::doublebuffer_t, 771
dynamiclib_t
dynamiclib_t, 292
emitter_t
MHAEvents::emitter_t, 511
fft_t
MHASignal::fft_t, 773
fftfb_t
MHAOvlFilter::fftfb_t, 617
fftfilter_t
MHAFilter::fftfilter_t, 525
fftfilterbank_t
MHAFilter::fftfilterbank_t, 529
filter_t
MHAFilter::filter_t, 533
float_t
MHA_AC::float_t, 420
fourway_processor_t
PluginLoader::fourway_processor_t, 878
fshift_config_t
fshift::fshift_config_t, 332
fshift_t
fshift::fshift_t, 335
fw_t
fw_t, 345
gaintable_t
DynComp::gaintable_t, 301
gamma_flt_t
MHAFilter::gamma_flt_t, 536
gtfb_analyzer_cfg_t
gtfb_analyzer::gtfb_analyzer_cfg_t, 354
hanning_ramps_t
hanning_ramps_t, 358
hilbert_shifter_t
fshift_hilbert::hilbert_shifter_t, 341
hilbert_t
MHASignal::hilbert_t, 777
hz2bark_t
MHAOvlFilter::barkscale::hz2bark_t, 615
int_t
MHA_AC::int_t, 421
io_file_t
io_file_t, 366
io_lib_t
io_lib_t, 370
io_parser_t
io_parser_t, 373
io_portaudio_t
MHAIOPortAudio::io_portaudio_t, 586
io_tcp_fwcb_t
io_tcp_fwcb_t, 376
io_tcp_parser_t
io_tcp_parser_t, 380
io_tcp_sound_t
io_tcp_sound_t, 385
io_tcp_t
io_tcp_t, 390
linear_table_t
MHATableLookup::linear_table_t, 826
lpc
lpc, 396
lpc_bl_predictor
lpc_bl_predictor, 399
lpc_bl_predictor_config
lpc_bl_predictor_config, 401
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1087
lpc_burglattice
lpc_burglattice, 403
lpc_burglattice_config
lpc_burglattice_config, 405
lpc_config
lpc_config, 407
matrix_t
MHASignal::matrix_t, 785
mha_dblbuf_t
mha_dblbuf_t, 434
mha_fifo_lw_t
mha_fifo_lw_t, 448
mha_fifo_posix_threads_t
mha_fifo_posix_threads_t, 451
mha_fifo_t
mha_fifo_t, 454
mha_fifo_thread_guard_t
mha_fifo_thread_guard_t, 457
mha_fifo_thread_platform_t
mha_fifo_thread_platform_t, 458
mha_rt_fifo_element_t
mha_rt_fifo_element_t, 461
mha_rt_fifo_t
mha_rt_fifo_t, 463
mha_stash_environment_variable_t
mha_stash_environment_variable_t, 467
mhaplug_cfg_t
mhaplug_cfg_t, 722
mhapluginloader_t
MHAParser::mhapluginloader_t, 683
PluginLoader::mhapluginloader_t, 882
mhaserver_t
mhaserver_t, 762
overlapadd_if_t
overlapadd::overlapadd_if_t, 860
smoothgains_bridge::overlapadd_if_-
t, 913
overlapadd_t
overlapadd::overlapadd_t, 862
parser_t
MHAParser::parser_t, 690
partitioned_convolution_t
MHAFilter::partitioned_convolution_t, 556
patchbay_t
MHAEvents::patchbay_t, 512
plug_t
plug_t, 871
plugin_t
MHAPlugin::plugin_t, 730
pluginloader_t
pluginloader_t, 886
plugs_t
mhachain::plugs_t, 502
port_t
MHAJack::port_t, 601
posix_threads_t
MHAPlugin_Split::posix_threads_t, 745
prediction_error
prediction_error, 887
prediction_error_config
prediction_error_config, 890
rt_nlms_t
rt_nlms_t, 899
save_var_base_t
ac2lsl::save_var_base_t, 136
save_var_t
ac2lsl::save_var_t, 139
ac2lsl::save_var_t<mha_complex_t >,
141
acsave::save_var_t, 170
sf_t
MHASndFile::sf_t, 823
sine_t
sine_t, 911
smoothspec_t
MHAFilter::smoothspec_t, 567
spec2wave_t
spec2wave_t, 922
spec_fader_t
spec_fader_t, 924
spectrum_t
MHA_AC::spectrum_t, 423
MHASignal::spectrum_t, 802
split_t
MHAPlugin_Split::split_t, 749
splitted_part_t
MHAPlugin_Split::splitted_part_t, 753
steerbf
steerbf, 927
steerbf_config
steerbf_config, 929
table_t
MHATableLookup::table_t, 829
thread_platform_t
MHAPlugin_Split::thread_platform_t, 757
timoConfig
timoConfig, 942
timoSmooth
timoSmooth, 945
uint_vector_t
MHASignal::uint_vector_t, 810
uni_processor_t
© 2005-2019 HörTech gGmbH, Oldenburg
1088 INDEX
MHAPlugin_Split::uni_processor_t, 759
wave2spec_t
wave2spec_t, 952
waveform_t
MHA_AC::waveform_t, 426
MHASignal::waveform_t, 814
wavwriter_t
wavwriter_t, 956
windowselector_t
windowselector_t, 958
A
lpc_config, 408
MHAFilter::filter_t, 534
MHAFilter::gamma_flt_t, 537
MHAFilter::iir_filter_t, 542
a
MHAParser::base_t::replace_t, 643
A_
MHAFilter::complex_bandpass_t, 522
MHAFilter::iir_ord1_real_t, 545
AC_DIM_MISMATCH
mha_algo_comm.cpp, 995
AC_INVALID_HANDLE
mha_algo_comm.cpp, 995
AC_INVALID_NAME
mha_algo_comm.cpp, 995
AC_INVALID_OUTPTR
mha_algo_comm.cpp, 995
AC_STRING_TRUNCATED
mha_algo_comm.cpp, 995
AC_SUCCESS
mha_algo_comm.cpp, 995
AC_TYPE_MISMATCH
mha_algo_comm.cpp, 995
ACSAVE_FMT_MAT4
acsave.cpp, 963
ACSAVE_FMT_TXT
acsave.cpp, 963
ACSAVE_FMT_M
acsave.cpp, 963
ACSAVE_SFMT_MAT4
acsave.cpp, 963
ACSAVE_SFMT_TXT
acsave.cpp, 963
ACSAVE_SFMT_M
acsave.cpp, 963
ADM::ADM<F>,188
ADM::ADM
ADM, 189
beta, 190
m_beta, 190
m_decomb, 190
m_delay_back, 190
m_delay_front, 190
m_lp_bf, 190
m_lp_result, 190
m_mu_beta, 190
m_powerfilter_coeff, 190
m_powerfilter_norm, 190
m_powerfilter_state, 190
process, 189
ADM::Delay
Delay, 192
Delay, 191
m_coeff, 192
m_fullsamples, 192
m_norm, 192
m_now_in, 192
m_state, 192
process, 192
ADM::Delay<F>,191
ADM::Linearphase_FIR<F>,193
ADM::Linearphase_FIR
Linearphase_FIR, 194
Linearphase_FIR, 193
m_alphas, 194
m_now, 194
m_order, 194
m_output, 194
process, 194
ADM, 80
ADM::ADM, 189
C, 81
DELAY_FREQ, 81
PI, 81
START_BETA, 81
subsampledelay_coeff, 81
ALGO_COMM_ID_STR
mha_algo_comm.hh, 997
ASSERT_EQUAL_DIM_PTR
mha_signal.cpp, 1028
ASSERT_EQUAL_DIM
mha_signal.cpp, 1028
ASYNC_CONNECT_STARTED
mha_tcp.cpp, 1040
abandonned
mha_rt_fifo_element_t, 461
abs
Complex arithmetics in the openMHA, 67
abs2
Complex arithmetics in the openMHA, 67
ac
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1089
ac2lsl::cfg_t, 135
ac2wave_t, 150
acConcat_wave_config, 154
acPooling_wave_config, 164
acTransform_wave_config, 179
acmon::acmon_t, 159
acsave::cfg_t, 169
acsave::save_var_t, 171
doasvm_classification_config, 282
fw_t, 347
latex_doc_t, 394
lpc_bl_predictor_config, 401
lpc_burglattice_config, 405
MHA_AC::ac2matrix_helper_t, 413
MHA_AC::double_t, 419
MHA_AC::float_t, 420
MHA_AC::int_t, 421
MHA_AC::spectrum_t, 424
MHA_AC::waveform_t, 427
MHAKernel::algo_comm_class_t, 606
MHAMultiSrc::base_t, 608
MHAPlugin::plugin_t, 732
mhachain::plugs_t, 502
PluginLoader::mhapluginloader_t, 884
prediction_error_config, 890
rt_nlms_t, 899
shadowfilter_end::cfg_t, 907
steerbf_config, 929
testplugin::if_t, 935
timoConfig, 942
AC variable, 4
ac2lsl, 78
types, 78
ac2lsl.cpp, 960
ac2lsl::ac2lsl_t, 130
ac2lsl_t, 132
activate, 133
get_all_names_from_ac_space, 132
is_first_run, 133
patchbay, 133
prepare, 132
process, 132
release, 132
rt_strict, 133
skip, 133
source_id, 133
update, 133
vars, 133
ac2lsl::cfg_t, 133
ac, 135
cfg_t, 134
check_vars, 135
create_or_replace_var, 135
process, 135
skip, 135
skipcnt, 135
source_id, 135
srate, 135
update_varlist, 135
varlist, 135
ac2lsl::save_var_base_t, 136
save_var_base_t, 136
data_type, 137
get_buf_address, 136
info, 137
num_entries, 137
send_frame, 136
set_buf_address, 137
ac2lsl::save_var_t
save_var_t, 139
buf, 140
data_type, 139
data_type_, 140
get_buf_address, 139
info, 139
num_entries, 139
save_var_t, 138
send_frame, 140
set_buf_address, 139
stream, 140
ac2lsl::save_var_t<mha_complex_t >,140
save_var_t, 141
buf, 143
data_type, 142
get_buf_address, 142
info, 142
num_entries, 142
save_var_t, 141
send_frame, 142
set_buf_address, 142
stream, 143
ac2lsl::save_var_t<T>,137
ac2lsl::type_info, 143
format, 143
name, 143
ac2lsl_t
ac2lsl::ac2lsl_t, 132
ac2matrix_helper_t
MHA_AC::ac2matrix_helper_t, 412
ac2matrix_t
MHA_AC::ac2matrix_t, 414
ac2osc.cpp, 960
© 2005-2019 HörTech gGmbH, Oldenburg
1090 INDEX
ac2osc_t, 144
ac2osc_t, 145
acspace, 147
b_record, 147
framerate, 147
host, 146
is_first_run, 147
lo_addr, 147
mode, 147
patchbay, 147
port, 146
prepare, 146
process, 146
release, 146
rt_strict, 147
rtmem, 147
send_osc_float, 146
skip, 147
skipcnt, 147
ttl, 147
update_mode, 146
vars, 147
ac2wave.cpp, 960
ac2wave_if_t, 148
ac2wave_if_t, 149
delay_ac, 149
delay_in, 149
gain_ac, 149
gain_in, 149
name, 149
patchbay, 149
prepare, 149
prepared, 149
process, 149
release, 149
update, 149
zeros, 149
ac2wave_t, 150
ac, 150
ac2wave_t, 150
channels, 150
delay_ac, 151
delay_in, 151
frames, 150
gain_ac, 151
gain_in, 151
name, 151
process, 150
w, 150
ac_
combc_t, 245
MHAParser::mhapluginloader_t, 684
ac_fifo
analysepath_t, 218
ac_monitor_t
acmon::ac_monitor_t, 155
ac_monitor_type.cpp, 961
ac_monitor_type.hh, 961
ac_parser_t
testplugin::ac_parser_t, 931
acConcat_wave, 151
acConcat_wave, 152
acConcat_wave, 152
name_con_AC, 153
num_AC, 153
numchannels, 153
patchbay, 153
prefix_names_AC, 153
prepare, 153
process, 153
release, 153
samples_AC, 153
update_cfg, 153
acConcat_wave.cpp, 961
INSERT_PATCH, 961
PATCH_VAR, 961
acConcat_wave.h, 961
acConcat_wave_config, 154
acConcat_wave_config, 154
ac, 154
acConcat_wave_config, 154
numSamples_AC, 154
process, 154
strNames_AC, 154
vGCC_con, 154
vGCC, 154
acPooling_wave, 160
acPooling_wave, 161
acPooling_wave, 161
alpha, 162
like_ratio_name, 162
lower_threshold, 162
max_pool_ind_name, 162
neighbourhood, 162
numsamples, 162
p_biased_name, 162
p_name, 162
patchbay, 162
pool_name, 162
pooling_type, 162
pooling_wndlen, 162
prepare, 161
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1091
prob_bias, 162
process, 161
release, 162
update_cfg, 162
upper_threshold, 162
acPooling_wave.cpp, 962
INSERT_PATCH, 962
PATCH_VAR, 962
acPooling_wave.h, 962
acPooling_wave_config, 163
acPooling_wave_config, 163
ac, 164
acPooling_wave_config, 163
alpha, 164
c, 164
insert, 163
like_ratio, 164
low_thresh, 164
neigh, 164
p, 164
p_biased, 164
p_max, 164
pool, 164
pooling_ind, 164
pooling_option, 164
pooling_size, 164
prob_bias_func, 164
process, 163
raw_p_name, 164
up_thresh, 164
acSteer, 172
acSteer, 173
acSteer, 173
acSteerName1, 174
acSteerName2, 174
nrefmic, 174
nsteerchan, 174
patchbay, 174
prepare, 173
process, 173
release, 173
steerFile, 174
update_cfg, 174
acSteer.cpp, 963
INSERT_PATCH, 963
PATCH_VAR, 963
acSteer.h, 963
acSteer_config, 174
acSteer_config, 175
acSteer_config, 175
insert, 175
nangle, 175
nchan, 175
nfreq, 175
nrefmic, 175
nsteerchan, 175
specSteer1, 175
specSteer2, 175
acSteerName1
acSteer, 174
acSteerName2
acSteer, 174
acTransform_wave, 176
acTransform_wave, 177
acTransform_wave, 177
ang_name, 178
numsamples, 178
patchbay, 178
prepare, 177
process, 177
raw_p_max_name, 178
raw_p_name, 178
release, 177
rotated_p_max_name, 178
rotated_p_name, 178
to_from, 178
update_cfg, 178
acTransform_wave.cpp, 964
INSERT_PATCH, 964
PATCH_VAR, 964
acTransform_wave.h, 964
acTransform_wave_config, 178
acTransform_wave_config, 179
ac, 179
acTransform_wave_config, 179
ang_name, 179
offset, 179
process, 179
raw_p_max_name, 179
raw_p_name, 179
resolution, 179
rotated_i, 179
rotated_p, 179
to_from, 179
accept
MHA_TCP::Server, 482
accept_event
MHA_TCP::Server, 483
accept_loop
io_tcp_t, 390
acceptor_started
mhaserver_t, 762
© 2005-2019 HörTech gGmbH, Oldenburg
1092 INDEX
ack_fail
mhaserver_t, 763
ack_ok
mhaserver_t, 763
acmon, 78
acmon.cpp, 961
acmon::ac_monitor_t, 155
ac_monitor_t, 155
dimstr, 156
getvar, 156
mon, 156
mon_complex, 156
mon_mat, 156
mon_mat_complex, 156
name, 156
p_parser, 157
use_mat, 157
acmon::acmon_t, 157
acmon_t, 158
ac, 159
acmon_t, 158
algo, 159
b_cont, 159
b_snapshot, 159
chain, 159
dimensions, 159
dispmode, 159
patchbay, 159
prepare, 158
process, 159
recmode, 159
release, 158
save_vars, 159
update_recmode, 159
varlist, 159
vars, 159
acmon_t
acmon::acmon_t, 158
acsave, 79
acsave.cpp, 962
ACSAVE_FMT_MAT4, 963
ACSAVE_FMT_TXT, 963
ACSAVE_FMT_M, 963
ACSAVE_SFMT_MAT4, 963
ACSAVE_SFMT_TXT, 963
ACSAVE_SFMT_M, 963
acsave::acsave_t, 165
acsave_t, 166
algo, 167
b_flushed, 167
b_prepared, 167
bflush, 167
chain, 167
event_start_recording, 167
event_stop_and_flush, 167
fileformat, 167
fname, 167
patchbay, 167
prepare, 166
process, 166,167
reclen, 167
release, 166
variables, 167
varlist, 167
varlist_t, 166
acsave::cfg_t, 168
cfg_t, 168
ac, 169
cfg_t, 168
flush_data, 168
max_frames, 169
nvars, 169
rec_frames, 169
store_frame, 168
varlist, 169
acsave::mat4head_t, 169
cols, 169
imag, 169
namelen, 169
rows, 169
t, 169
acsave::save_var_t, 170
save_var_t, 170
ac, 171
b_complex, 171
data, 171
framecnt, 171
maxframe, 171
name, 171
ndim, 171
nframes, 171
save_m, 171
save_mat4, 170
save_txt, 170
save_var_t, 170
store_frame, 170
acsave_t
acsave::acsave_t, 166
acspace
ac2osc_t, 147
acspace2matrix_t
MHA_AC::acspace2matrix_t, 416
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1093
acspace_template
analysispath_if_t, 220
act_
wavwriter_t, 956
actgains
fader_if_t, 319
activate
ac2lsl::ac2lsl_t, 133
activate_query
MHAParser::base_t, 641
active
addsndfile::addsndfile_if_t, 182
acvar
MHA_AC::ac2matrix_helper_t, 413
adapt_filter_param_t
MHAFilter::adapt_filter_param_t, 514
adapt_filter_state_t
MHAFilter::adapt_filter_state_t, 515
adapt_filter_t
MHAFilter::adapt_filter_t, 516
add
MHASignal::loop_wavefragment_t, 779
add_entry
MHAParser::keyword_list_t, 668
MHATableLookup::linear_table_t, 827
MHATableLookup::xy_table_t, 832
add_fun
MHAOvlFilter::scale_var_t, 633
add_parent_on_insert
MHAParser::base_t, 641
add_plug
altplugs_t, 216
add_plugin
pluginbrowser_t, 874
add_plugins
pluginbrowser_t, 874
add_replace_pair
MHAParser::base_t, 641
added_via_plugs
altplugs_t, 216
addsndfile, 79
addsndfile_resampling_mode_t, 80
DO_RESAMPLE, 80
DONT_RESAMPLE_PERMISSIVE, 80
DONT_RESAMPLE_STRICT, 80
level_adaptor, 80
resampled_num_frames, 80
wave_reader, 80
addsndfile.cpp, 964
DEBUG, 965
addsndfile::addsndfile_if_t, 180
active, 182
addsndfile_if_t, 181
change_mode, 182
channels, 182
filename, 182
level, 182
levelmode, 182
loop, 182
mapping, 182
mhachannels, 182
mode, 182
numchannels, 182
patchbay, 182
path, 182
prepare, 181
process, 181
ramplen, 182
release, 181
resamplingmode, 182
scan_dir, 182
search_pattern, 182
search_result, 182
set_level, 182
startpos, 182
uint_mode, 182
update, 181
addsndfile::level_adapt_t, 183
can_update, 184
get_level, 184
ilen, 184
l_new, 184
l_old, 184
level_adapt_t, 183
pos, 184
update_frame, 184
wnd, 184
addsndfile::resampled_soundfile_t, 184
resampled_soundfile_t, 185
addsndfile::sndfile_t, 186
sndfile_t, 186
addsndfile::waveform_proxy_t, 187
waveform_proxy_t, 188
addsndfile_if_t
addsndfile::addsndfile_if_t, 181
addsndfile_resampling_mode_t
addsndfile, 80
adm
adm_rtconfig_t, 200
adm.cpp, 965
adm_fir_decomb, 966
adm_fir_lp, 966
© 2005-2019 HörTech gGmbH, Oldenburg
1094 INDEX
adm.hh, 966
adm_fir_decomb
adm.cpp, 966
adm_fir_lp
adm.cpp, 966
adm_if_t, 195
adm_if_t, 196
beta, 197
bypass, 197
coeff_decomb, 197
coeff_lp, 197
decomb_order, 197
distances, 197
front_channels, 197
input_channels, 197
is_prepared, 197
lp_order, 197
mu_beta, 197
out, 197
patchbay, 197
prepare, 196
process, 196
rear_channels, 197
release, 196
srate, 197
tau_beta, 197
update, 196
adm_rtconfig_t, 197
adm_rtconfig_t, 199
adm, 200
adm_rtconfig_t, 198
adm_t, 198
adms, 200
check_index, 199
decomb_coeffs, 200
front_channel, 200
front_channels, 200
lp_coeffs, 200
num_adms, 199
rear_channel, 200
rear_channels, 200
adm_t
adm_rtconfig_t, 198
adms
adm_rtconfig_t, 200
algo
acmon::acmon_t, 159
acsave::acsave_t, 167
analysispath_if_t, 220
coherence::cohflt_if_t, 238
db_if_t, 251
dc::dc_if_t, 254
fftfilterbank::fftfb_interface_t, 330
MHAPlugin_Resampling::resampling_if-
_t, 734
multibandcompressor::interface_t, 849
nlms_t, 853
overlapadd::overlapadd_if_t, 861
route::interface_t, 896
smoothgains_bridge::overlapadd_if_-
t, 914
wave2spec_if_t, 950
algo_comm_class_t
MHAKernel::algo_comm_class_t, 604
algo_comm_default
mha_algo_comm.cpp, 995
mha_algo_comm.hh, 997
algo_comm_id_string
MHAKernel::algo_comm_class_t, 606
algo_comm_id_string_len
MHAKernel::algo_comm_class_t, 606
algo_comm_safe_cast
MHAKernel, 101
algo_comm_t, 201
get_entries, 205
get_error, 205
get_var, 204
get_var_float, 204
get_var_int, 204
handle, 201
insert_var, 201
insert_var_float, 202
insert_var_int, 202
is_var, 203
mha.hh, 993
remove_ref, 203
remove_var, 202
algo_name
lpc, 397
algos
MHAPlugin_Split::split_t, 750
mhachain::chain_base_t, 499
mhachain::plugs_t, 502
all_dump
MHAParser, 111
all_ids
MHAParser, 111
alloc_plugs
mhachain::plugs_t, 502
almost
Complex arithmetics in the openMHA, 69
alph
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1095
plingploing::plingploing_t, 870
alpha
acPooling_wave, 162
acPooling_wave_config, 164
cfg_t, 236
coherence::cohflt_t, 240
coherence::vars_t, 242
alpha_const
timoConfig, 942
alpha_const_limits_hz
timo_params, 940
timoSmooth, 947
alpha_const_vals
timo_params, 940
timoSmooth, 947
alpha_frame
timoConfig, 943
alpha_frame_AC
timo_AC, 938
alpha_hat
timoConfig, 943
alpha_hat_AC
timo_AC, 938
alpha_pitch
timo_params, 940
timoSmooth, 946
alpha_prev
timoConfig, 943
alphaPH1mean
noisePowProposedScale::interface_t, 857
alphaPH1mean_
noisePowProposedScale::noisePow-
Proposed, 858
alphaPSD_
noisePowProposedScale::noisePow-
Proposed, 859
alphaPSD
noisePowProposedScale::interface_t, 857
alsa_base_t, 206
alsa_base_t, 207
alsa_base_t, 207
pcm, 208
read, 207
start, 207
stop, 207
write, 207
alsa_dev_par_parser_t, 208
alsa_dev_par_parser_t, 209
device, 209
nperiods, 209
stream_dir, 209
alsa_start_counter
io_alsa_t, 364
alsa_t
alsa_t, 211
alsa_t, 211
buffer, 212
channels, 212
fragsize, 212
frame_data, 212
gain, 212
invgain, 213
pcm_format, 213
read, 212
start, 211
stop, 211
val_max, 213
val_min, 213
wave, 212
write, 212
alsa_t<T>,210
altplugs.cpp, 967
MHAPLUGIN_OVERLOAD_OUTDOM-
AIN, 967
altplugs_t, 213
add_plug, 216
added_via_plugs, 216
altplugs_t, 214
cfin, 216
cfout, 216
current, 216
delete_plug, 216
event_add_plug, 215
event_delete_plug, 215
event_select_plug, 215
event_set_plugs, 215
fallback_spec, 216
fallback_wave, 216
nondefault_labels, 216
parse, 215
parser_plugs, 216
patchbay, 216
plugs, 216
prepare, 214
prepared, 216
proc_ramp, 215
process, 215
ramp_counter, 216
ramp_len, 216
ramplen, 216
release, 214
select_plug, 216
© 2005-2019 HörTech gGmbH, Oldenburg
1096 INDEX
selected_plug, 216
update_ramplen, 215
update_selector_list, 215
use_own_ac, 216
amplitude
sine_cfg_t, 910
analysemhaplugin.cpp, 967
main, 967
print_ac, 967
strdom, 967
analysepath_t, 217
analysepath_t, 217
ac_fifo, 218
analysepath_t, 217
attr, 218
cond_to_process, 218
flag_terminate_inner_thread, 218
has_inner_error, 218
inner_ac_copy, 218
inner_error, 218
inner_input, 218
inner_out_domain, 218
inner_process_wave2spec, 218
inner_process_wave2wave, 218
input_to_process, 218
libdata, 218
outer_ac, 218
outer_ac_copy, 218
priority, 218
ProcessMutex, 218
rt_process, 218
scheduler, 218
svc, 218
thread, 218
wave_fifo, 218
analysispath.cpp, 967
thread_start, 968
analysispath_if_t, 219
analysispath_if_t, 220
acspace_template, 220
algo, 220
analysispath_if_t, 220
chain, 220
fifolen, 220
fragsize, 220
libname, 220
loadlib, 220
patchbay, 220
plug, 220
prepare, 220
priority, 220
process, 220
release, 220
vars, 220
analytic
fshift_hilbert::hilbert_shifter_t, 341
ang_name
acTransform_wave, 178
acTransform_wave_config, 179
angle
Complex arithmetics in the openMHA, 64
angle_ind
steerbf, 928
angle_src
steerbf, 928
angles
doasvm_classification, 281
announce_port
mhaserver_t, 763
antialias
ds_t, 291
us_t, 948
apply_gains
MHAOvlFilter::fftfb_t, 617
multibandcompressor::plugin_signals_t,
850
aquire_mutex
mha_fifo_posix_threads_t, 451
mha_fifo_thread_platform_t, 459
arg
MHA_TCP::Thread, 489
assign
MHASignal::waveform_t, 818
Vector and matrix processing toolbox, 49,
50
assign_channel
MHASignal::waveform_t, 818
assign_frame
MHASignal::waveform_t, 818
Async_Notify
MHA_TCP::Async_Notify, 469
async_poll_msg
fw_t, 347
async_read
fw_t, 347
async_rmslevel_t
MHASignal::async_rmslevel_t, 764
attack
cfg_t, 236
dc::dc_t, 256
dc_simple::level_smoother_t, 272
softclip_t, 917
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1097
softclipper_t, 918
attr
analysepath_t, 218
MHAPlugin_Split::posix_threads_t, 746
auditory_profile.cpp, 968
auditory_profile.h, 968
AuditoryProfile, 81
AuditoryProfile::fmap_t, 221
get_frequencies, 221
get_values, 221
isempty, 221
AuditoryProfile::parser_t, 222
get_current_profile, 223
L, 223
parser_t, 223
R, 223
AuditoryProfile::parser_t::ear_t, 223
ear_t, 224
get_ear, 224
HTL, 224
UCL, 224
AuditoryProfile::parser_t::fmap_t, 224
f, 225
fmap_t, 225
get_fmap, 225
name_, 225
patchbay, 225
validate, 225
value, 225
AuditoryProfile::profile_t, 226
get_ear, 226
L, 227
R, 227
AuditoryProfile::profile_t::ear_t, 227
convert_empty2normal, 227
HTL, 227
UCL, 227
average
coherence::vars_t, 242
avg_ipd
coherence::cohflt_t, 240
azimuth
mha_direction_t, 438
B
MHAFilter::filter_t, 534
MHAFilter::iir_filter_t, 542
b
doasvm_classification, 281
MHAParser::base_t::replace_t, 643
B_
MHAFilter::complex_bandpass_t, 522
MHAFilter::iir_ord1_real_t, 545
b_check_version
PluginLoader::mhapluginloader_t, 885
b_complex
acsave::save_var_t, 171
b_cont
acmon::acmon_t, 159
b_est
lpc_bl_predictor_config, 401
b_exit_request
fw_t, 348
b_flushed
acsave::acsave_t, 167
b_fw_started
io_parser_t, 374
b_is_input
calibrator_runtime_layer_t, 231
calibrator_t, 233
b_is_prepared
PluginLoader::mhapluginloader_t, 885
b_loop
MHASignal::loop_wavefragment_t, 781
b_ltg
coherence::cohflt_t, 241
b_prepared
acsave::acsave_t, 167
io_file_t, 368
io_parser_t, 374
MHAJack::client_t, 599
mhachain::chain_base_t, 499
mhachain::plugs_t, 502
b_process
io_alsa_t, 364
b_ready
MHAJack::client_avg_t, 590
b_record
ac2osc_t, 147
b_snapshot
acmon::acmon_t, 159
b_starting
io_parser_t, 374
b_stopped
io_parser_t, 374
MHAJack::client_avg_t, 590
MHAJack::client_noncont_t, 592
b_use_clipping
calibrator_runtime_layer_t, 231
b_use_fir
calibrator_runtime_layer_t, 231
b_use_profiling
mhachain::plugs_t, 503
© 2005-2019 HörTech gGmbH, Oldenburg
1098 INDEX
BARKSCALE_ENTRIES
mha_fftfb.cpp, 1004
bInvert
coherence::cohflt_t, 241
backward
lpc_bl_predictor_config, 401
lpc_burglattice_config, 406
MHASignal::fft_t, 774
backward_scale
MHASignal::fft_t, 774
band_weights
dc::dc_vars_t, 259
bands
dc::wideband_inhib_vars_t, 263
gtfb_analyzer::gtfb_analyzer_cfg_t, 354
MHAOvlFilter::fspacing_t, 626
bandw_correction
speechnoise.cpp, 1077
bark2hz_t
MHAOvlFilter::barkscale::bark2hz_t, 614
bartlett
MHAWindow, 126
bartlett_t
MHAWindow::bartlett_t, 834
base_t
MHAMultiSrc::base_t, 608
MHAParser::base_t, 637
MHAWindow::base_t, 835,836
basename
save_spec_t, 902
save_wave_t, 903
shadowfilter_begin::shadowfilter_begin-
_t, 906
shadowfilter_end::shadowfilter_end_-
t, 909
bass
plingploing::plingploing_t, 869
bassmod
plingploing::if_t, 867
bassmod_
plingploing::plingploing_t, 870
bassperiod
plingploing::if_t, 868
bassperiod_
plingploing::plingploing_t, 870
bbcalib_interface_t, 228
bbcalib_interface_t, 229
bbcalib_interface_t, 229
calib_in, 229
calib_out, 229
plugloader, 229
prepare, 229
process, 229
release, 229
bbgain
gain::gain_if_t, 351
beta
ADM::ADM, 190
adm_if_t, 197
beta_const
timo_params, 940
timoSmooth, 946
bf_src
steerbf, 928
bf_src_copy
steerbf_config, 929
bf_vec
steerbf_config, 929
bflush
acsave::acsave_t, 167
bin1
MHAOvlFilter::fftfb_t, 618
bin2
MHAOvlFilter::fftfb_t, 618
bin2freq
Vector and matrix processing toolbox, 45
blackman
MHAWindow, 127
blackman_t
MHAWindow::blackman_t, 837
blockprocessing_polyphase_resampling_t
MHAFilter::blockprocessing_polyphase-
_resampling_t, 518
blocks
droptect_t, 289
bookkeeping
MHAFilter::partitioned_convolution_t, 557
MHAParser::mhapluginloader_t, 684
bool_mon_t
MHAParser::bool_mon_t, 644
bool_t
MHAParser::bool_t, 647
bpm
plingploing::if_t, 867
bprofiling
mhachain::chain_base_t, 499
bracket_balance
MHAParser::StrCnv, 114
brown
speechnoise_t, 925
browsemhaplugins.cpp, 968
DEBUG, 969
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1099
main, 969
bt
plingploing::plingploing_t, 869
buf
ac2lsl::save_var_t, 140
ac2lsl::save_var_t<mha_complex_t >,
143
mha_fifo_t, 456
mha_spec_t, 466
mha_wave_t, 497
buf_c_in
MHASignal::hilbert_fftw_t, 776
buf_c_out
MHASignal::hilbert_fftw_t, 776
buf_in
MHASignal::fft_t, 775
buf_out
MHASignal::fft_t, 775
buf_r_in
MHASignal::hilbert_fftw_t, 776
buf_r_out
MHASignal::hilbert_fftw_t, 776
buf_uses_placement_new
mha_fifo_t, 456
buffer
alsa_t, 212
MHASignal::delay_spec_t, 766
MHASignal::delay_t, 768
MHASignal::delay_wave_t, 769
buffered_incoming_bytes
MHA_TCP::Connection, 477
buffered_outgoing_bytes
MHA_TCP::Connection, 477
burn
DynComp::dc_afterburn_rt_t, 293
DynComp::dc_afterburn_t, 295
multibandcompressor::interface_t, 848
butter_stop_ord1
MHAFilter, 96
bw
MHAOvlFilter::fscale_bw_t, 623
bw_
MHAFilter::gamma_flt_t, 538
bw_generator
MHAFilter::thirdoctave_analyzer_t, 569
bw_hz
MHAOvlFilter::fscale_bw_t, 623
bw_name
dc::dc_vars_t, 259
bwv
MHAOvlFilter::fftfb_ac_info_t, 616
multibandcompressor::fftfb_plug_t, 846
bypass
adm_if_t, 197
db_if_t, 251
dc::dc_t, 256
dc::dc_vars_t, 259
dc_simple::dc_vars_t, 270
DynComp::dc_afterburn_vars_t, 298
C
ADM, 81
c
acPooling_wave_config, 164
doasvm_classification_config, 282
io_tcp_sound_t::float_union, 388
mha_complex_test_array_t, 432
nlms_t, 852
prediction_error, 888
c1_a
MHAFilter::o1_ar_filter_t, 548
c1_r
MHAFilter::o1_ar_filter_t, 548
c2_a
MHAFilter::o1_ar_filter_t, 548
c2_r
MHAFilter::o1_ar_filter_t, 548
c_ifc_parser_t
MHAParser::c_ifc_parser_t, 649
c_min
coherence::cohflt_t, 240
c_parse_cmd
MHAParser::c_ifc_parser_t, 650
c_parse_cmd_t
MHAParser, 111
c_parse_err
MHAParser::c_ifc_parser_t, 650
c_parse_err_t
MHAParser, 111
c_scale
coherence::cohflt_t, 240
CHANLOOP
timoconfig.cpp, 1081
CHECK_EXPR
mha_defs.h, 998
CHECK_VAR
mha_defs.h, 998
cLTASS
MHAOvlFilter::fftfb_ac_info_t, 616
MHAOvlFilter::fftfb_vars_t, 621
COMPILER_ID_MAJOR
compiler_id.hh, 970
COMPILER_ID_MINOR
© 2005-2019 HörTech gGmbH, Oldenburg
1100 INDEX
compiler_id.hh, 970
COMPILER_ID_PATCH
compiler_id.hh, 970
COMPILER_ID_VENDOR
compiler_id.hh, 970
COMPILER_ID_VERSION_HELPER1
compiler_id.hh, 970
COMPILER_ID_VERSION_HELPER2
compiler_id.hh, 970
COMPILER_ID_VERSION
compiler_id.hh, 970
COMPILER_ID
compiler_id.hh, 970
calc_in
wave2spec_t, 953
calc_out
overlapadd::overlapadd_t, 863
spec2wave_t, 923
calc_pre_wnd
wave2spec_t, 952
calib_in
bbcalib_interface_t, 229
calib_out
bbcalib_interface_t, 229
calibrator_runtime_layer_t, 229
b_is_input, 231
b_use_clipping, 231
b_use_fir, 231
calibrator_runtime_layer_t, 230
fir, 230
firfir2fftlen, 230
firfirlen, 230
gain, 230
pmode, 231
process, 230
quant, 230
softclip, 230
speechnoise, 231
calibrator_t, 231
b_is_input, 233
calibrator_t, 232
patchbay, 233
prepare, 232
prepared, 233
process, 232
read_levels, 233
release, 232
update, 233
update_tau_level, 233
vars, 233
calibrator_variables_t, 233
calibrator_variables_t, 234
config_parser, 234
do_clipping, 234
fir, 234
fragsize, 234
nbits, 234
num_channels, 234
peaklevel, 234
rmslevel, 234
softclip, 234
spnoise_channels, 234
spnoise_level, 234
spnoise_mode, 234
spnoise_parser, 234
srate, 234
tau_level, 234
can_read
MHAFilter::blockprocessing_polyphase-
_resampling_t, 519
can_read_bytes
MHA_TCP::Connection, 475
can_read_line
MHA_TCP::Connection, 475
can_sysread
MHA_TCP::Connection, 473
can_syswrite
MHA_TCP::Connection, 473
can_update
addsndfile::level_adapt_t, 184
fader_wave::level_adapt_t, 323
catch_condition
MHAPlugin_Split::posix_threads_t, 746
catch_thread
MHAPlugin_Split::dummy_threads_t, 742
MHAPlugin_Split::posix_threads_t, 745
MHAPlugin_Split::thread_platform_t, 758
categories
plugindescription_t, 875
cdata
MHASignal::matrix_t, 790
mha_audio_t, 429
center_frequencies
dc::dc_vars_t, 259
dc_simple::dc_if_t, 265
cf
MHAFilter::thirdoctave_analyzer_t, 569
MHAOvlFilter::band_descriptor_t, 613
MHAOvlFilter::fftfb_vars_t, 621
mha_audio_descriptor_t, 428
plingploing::plingploing_t, 869
cf2bands
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1101
MHAOvlFilter::fspacing_t, 626
cf_
MHAFilter::gamma_flt_t, 538
wavwriter_t, 956
cf_generator
MHAFilter::thirdoctave_analyzer_t, 569
cf_h
MHAOvlFilter::band_descriptor_t, 613
cf_in
overlapadd::overlapadd_if_t, 861
smoothgains_bridge::overlapadd_if_-
t, 914
cf_in_
MHAParser::mhapluginloader_t, 684
cf_input
PluginLoader::mhapluginloader_t, 885
cf_l
MHAOvlFilter::band_descriptor_t, 613
cf_name
dc::dc_vars_t, 259
cf_out
overlapadd::overlapadd_if_t, 861
smoothgains_bridge::overlapadd_if_-
t, 914
cf_out_
MHAParser::mhapluginloader_t, 684
cf_output
PluginLoader::mhapluginloader_t, 885
cfac
route::interface_t, 896
cfg
MHAPlugin::config_t, 728
cfg_
MHAFilter::thirdoctave_analyzer_t, 569
cfg_chain
MHAPlugin::config_t, 728
cfg_chain_current
MHAPlugin::config_t, 728
cfg_chain_t
MHAPlugin::cfg_chain_t, 723
cfg_dump
MHAParser, 111
cfg_dump_short
MHAParser, 111
cfg_t, 235
ac2lsl::cfg_t, 134
acsave::cfg_t, 168
alpha, 236
attack, 236
cfg_t, 235
channel, 236
decay, 236
frozen_noise_, 236
gain_spec_, 236
gain_wave_, 236
matrixmixer::cfg_t, 409
pos, 236
process, 236
replace_, 236
shadowfilter_begin::cfg_t, 904
shadowfilter_end::cfg_t, 907
start_lin, 236
use_frozen_, 236
cfin
altplugs_t, 216
fw_t, 348
mhachain::chain_base_t, 499
route::interface_t, 896
cfout
altplugs_t, 216
fw_t, 348
mhachain::chain_base_t, 499
route::interface_t, 896
cfv
MHAOvlFilter::fftfb_ac_info_t, 615
multibandcompressor::fftfb_plug_t, 846
cg
coherence::cohflt_t, 240
ch
MHASignal::doublebuffer_t, 772
chain
acmon::acmon_t, 159
acsave::acsave_t, 167
analysispath_if_t, 220
db_if_t, 251
MHAPlugin_Resampling::resampling_if-
_t, 734
mhachain::chain_base_t, 499
mhachain::plugs_t, 503
chain_base_t
mhachain::chain_base_t, 498
chains
MHAPlugin_Split::split_t, 751
change_mode
addsndfile::addsndfile_if_t, 182
channel
cfg_t, 236
example5_t, 316
MHAMultiSrc::channel_t, 608
channel_gain_name
combc_if_t, 244
channel_gains_
© 2005-2019 HörTech gGmbH, Oldenburg
1102 INDEX
combc_t, 245
channel_info
mha_spec_t, 466
mha_wave_t, 497
channel_no
example6_t, 317
channelconfig_out_
MHAOvlFilter::overlap_save_filterbank_t,
630
channels
ac2wave_t, 150
addsndfile::addsndfile_if_t, 182
alsa_t, 212
dc::wideband_inhib_vars_t, 263
gtfb_analyzer::gtfb_analyzer_cfg_t, 354
MHAFilter::fftfilter_t, 526
MHAFilter::filter_t, 535
MHAParser::mhaconfig_mon_t, 681
MHAPlugin_Split::split_t, 750
MHASignal::delay_t, 768
mhaconfig_t, 505
prediction_error_config, 891
rt_nlms_t, 899
sine_cfg_t, 910
sine_t, 912
testplugin::config_parser_t, 933
Vector and matrix processing toolbox, 42
channels_t
MHAMultiSrc::channels_t, 609
char_data
testplugin::ac_parser_t, 931
chdir
mha_audio_descriptor_t, 428
check_index
adm_rtconfig_t, 199
check_low
MHAParser::range_var_t, 695
check_range
MHAParser::range_var_t, 695
check_sound_data_type
io_tcp_sound_t, 386
check_up
MHAParser::range_var_t, 695
check_vars
ac2lsl::cfg_t, 135
chname
dc::dc_vars_t, 259
chunkbytes_in
io_tcp_sound_t, 386
ci
matrixmixer::matmix_t, 411
cleanup_plugs
mhachain::plugs_t, 502
cleanup_unused_cfg
MHAPlugin::config_t, 728
clear
MHATableLookup::linear_table_t, 827
MHATableLookup::table_t, 829
MHATableLookup::xy_table_t, 832
mha_fifo_t, 456
Vector and matrix processing toolbox, 49
clear_chains
MHAPlugin_Split::split_t, 749
clear_plugins
pluginbrowser_t, 874
Client
MHA_TCP::Client, 470
client_avg_t
MHAJack::client_avg_t, 589
client_noncont_t
MHAJack::client_noncont_t, 592
client_t
MHAJack::client_t, 595
clientid
dc::dc_vars_t, 259
dc_simple::dc_if_t, 265
clientname
MHAIOJack::io_jack_t, 576
MHAIOJackdb::io_jack_t, 581
clipmeter
softclipper_t, 918
clipped
softclipper_variables_t, 920
close_session
wavwriter_t, 956
closed
MHA_TCP::Connection, 477
closesocket
mha_tcp.cpp, 1040
cmd_prepare
MHAIOPortAudio::io_portaudio_t, 586
cmd_release
MHAIOPortAudio::io_portaudio_t, 587
cmd_start
MHAIOPortAudio::io_portaudio_t, 586
cmd_stop
MHAIOPortAudio::io_portaudio_t, 586
co
matrixmixer::matmix_t, 411
coeff
gtfb_analyzer::gtfb_analyzer_cfg_t, 354
gtfb_analyzer::gtfb_analyzer_t, 357
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1103
coeff_decomb
adm_if_t, 197
coeff_lp
adm_if_t, 197
coh_c
coherence::cohflt_t, 241
coh_rlp
coherence::cohflt_t, 241
coherence, 82
getcipd, 82
coherence.cpp, 969
coherence::cohflt_if_t, 237
algo, 238
cohflt_if_t, 238
patchbay, 238
prepare, 238
process, 238
release, 238
update, 238
vars, 238
coherence::cohflt_t, 239
alpha, 240
avg_ipd, 240
b_ltg, 241
bInvert, 241
c_min, 240
c_scale, 240
cg, 240
coh_c, 241
coh_rlp, 241
cohflt_t, 240
g, 240
gain, 241
gain_delay, 241
insert, 240
limit, 240
lp1i, 240
lp1ltg, 241
lp1r, 240
nbands, 240
process, 240
s_out, 241
staticgain, 241
coherence::vars_t, 241
alpha, 242
average, 242
delay, 242
invert, 242
limit, 242
ltgcomp, 242
ltgtau, 242
mapping, 242
staticgain, 242
tau, 242
tau_unit, 242
vars_t, 242
cohflt_if_t
coherence::cohflt_if_t, 238
cohflt_t
coherence::cohflt_t, 240
collect_result
MHAPlugin_Split::split_t, 749
MHAPlugin_Split::splitted_part_t, 755
colored_intensity
Vector and matrix processing toolbox, 57
cols
acsave::mat4head_t, 169
combc_if_t, 243
channel_gain_name, 244
combc_if_t, 244
element_gain_name, 244
interleaved, 244
outchannels, 244
prepare, 244
process, 244
combc_t, 244
ac_, 245
channel_gains_, 245
combc_t, 245
element_gain_name_, 245
interleaved_, 245
nbands, 245
process, 245
s_out, 245
w_out, 245
combinechannels.cpp, 969
comm_var_t, 246
data, 247
data_type, 246
num_entries, 246
stride, 247
commentate
MHAParser, 111
commit
DynComp::dc_afterburn_vars_t, 298
commit_pending
DynComp::dc_afterburn_t, 296
commit_t
MHAParser::commit_t, 652
Communication between algorithms, 28
get_var_float, 30
get_var_int, 30
© 2005-2019 HörTech gGmbH, Oldenburg
1104 INDEX
get_var_spectrum, 29
get_var_vfloat, 31
get_var_waveform, 30
comp_each_iter
lpc, 397
lpc_config, 407
comp_iter
lpc_config, 408
compiler_id.cpp, 970
compiler_id.hh, 970
COMPILER_ID_MAJOR, 970
COMPILER_ID_MINOR, 970
COMPILER_ID_PATCH, 970
COMPILER_ID_VENDOR, 970
COMPILER_ID_VERSION_HELPER1,
970
COMPILER_ID_VERSION_HELPER2,
970
COMPILER_ID_VERSION, 970
COMPILER_ID, 970
Complex arithmetics in the openMHA, 61
_conjugate, 68
_reciprocal, 69
abs, 67
abs2, 67
almost, 69
angle, 64
conjugate, 68
expi, 64,66
mha_complex, 63
normalize, 69
operator!=, 68
operator<,69
operator,66,67
operator=, 66
operator+, 65
operator+=, 65
operator-, 65,66,68
operator-=, 65
operator/, 67,68
operator/=, 67
operator==, 68
reciprocal, 68
safe_div, 67
set, 63,64
stdcomplex, 64
complex_bandpass_t
MHAFilter::complex_bandpass_t, 521
complex_data
testplugin::ac_parser_t, 931
complex_filter.cpp, 970
complex_filter.h, 970
complex_mon_t
MHAParser::complex_mon_t, 653
complex_ofs
MHASignal::matrix_t, 790
complex_t
MHAParser::complex_t, 655
compression
dc_simple::dc_t, 267
compute_something
cpuload_t, 248
compute_something_else
cpuload_t, 249
Concept of Variables and Data Exchange in
the openMHA, 4
cond_to_process
analysepath_t, 218
config_file_splitter_t
PluginLoader::config_file_splitter_t, 876
config_in
testplugin::if_t, 935
config_out
testplugin::if_t, 935
config_parser
calibrator_variables_t, 234
config_parser_t
testplugin::config_parser_t, 932
config_t
MHAPlugin::config_t, 726
configfile
PluginLoader::config_file_splitter_t, 877
configname
PluginLoader::config_file_splitter_t, 877
configuration, 4
configuration variable, 4
conflux
DynComp::dc_afterburn_rt_t, 294
DynComp::dc_afterburn_vars_t, 298
conjugate
Complex arithmetics in the openMHA, 68
Vector and matrix processing toolbox, 60
connect
MHAEvents::emitter_t, 511
MHAEvents::patchbay_t, 512,513
connect_input
MHAJack::client_t, 596
connect_output
MHAJack::client_t, 596
connect_to
MHAJack::port_t, 602
connected
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1105
io_tcp_parser_t, 383
Connection
MHA_TCP::Connection, 473
connection_loop
io_tcp_t, 390
connections
MHAEvents::emitter_t, 511
connections_in
MHAIOJack::io_jack_t, 576
MHAIOJackdb::io_jack_t, 581
connections_out
MHAIOJack::io_jack_t, 576
MHAIOJackdb::io_jack_t, 581
connector
MHAFilter::adapt_filter_t, 517
MHAFilter::iir_filter_t, 542
MHAParser::mhapluginloader_t, 684
connector_base_t
MHAEvents::connector_base_t, 506
connector_t
MHAEvents::connector_t, 509
cons
MHAEvents::patchbay_t, 513
consecutive_dropouts
droptect_t, 289
contained_frames
MHASignal::ringbuffer_t, 795
conv2latex
generatemhaplugindoc.cpp, 981
convert_empty2normal
AuditoryProfile::profile_t::ear_t, 227
convert_f2logf
gaintable.cpp, 980
copy
MHASignal::spectrum_t, 803
MHASignal::waveform_t, 819
timo_AC, 937
copy_AC
timoConfig, 942
copy_channel
MHASignal::spectrum_t, 804
MHASignal::waveform_t, 819
Vector and matrix processing toolbox, 56
copy_error
MHAIOTCP.cpp, 1063
copy_from_at
MHASignal::waveform_t, 819
copy_output_spec
MHAPlugin_Split::split_t, 749
copy_output_wave
MHAPlugin_Split::split_t, 749
copy_permuted
MHASignal, 124
corr_out
lpc_config, 408
cpuload.cpp, 971
cpuload_t, 247
compute_something, 248
compute_something_else, 249
cpuload_t, 248
factor, 249
phase, 249
prepare, 248
process, 248
result, 249
table, 249
use_sine, 249
create_latex_doc
generatemhaplugindoc.cpp, 982
create_lock
mhamain.cpp, 1067
create_or_replace_var
ac2lsl::cfg_t, 135
creator
speechnoise_t, 926
creator_A
MHAFilter::complex_bandpass_t, 521
creator_B
MHAFilter::complex_bandpass_t, 521
cstr_strerror
mha_errno.c, 999
current
altplugs_t, 216
dc::wideband_inhib_vars_t, 262
mha_rt_fifo_t, 464
current_input_signal_buffer_half_index
MHAFilter::partitioned_convolution_t, 557
current_output_partition_index
MHAFilter::partitioned_convolution_t, 557
current_powspec
droptect_t, 289
current_thread_priority
MHAPlugin_Split::posix_threads_t, 745
current_thread_scheduler
MHAPlugin_Split::posix_threads_t, 745
cvalue
gtfb_analyzer::gtfb_analyzer_cfg_t, 354
DBG
MHAIOalsa.cpp, 1045
DEBUG
addsndfile.cpp, 965
browsemhaplugins.cpp, 969
© 2005-2019 HörTech gGmbH, Oldenburg
1106 INDEX
fader_wave.cpp, 978
MHAIOFile.cpp, 1047
wavrec.cpp, 1084
DEFAULT_RETSIZE
mha_parser.hh, 1021
DELAY_FREQ
ADM, 81
DO_RESAMPLE
addsndfile, 80
DONT_RESAMPLE_PERMISSIVE
addsndfile, 80
DONT_RESAMPLE_STRICT
addsndfile, 80
DUPVEC
dc.cpp, 972
data
acsave::save_var_t, 171
comm_var_t, 247
DynComp::gaintable_t, 303
MHA_AC::acspace2matrix_t, 418
MHA_AC::double_t, 419
MHA_AC::float_t, 420
MHA_AC::int_t, 421
MHAParser::bool_mon_t, 645
MHAParser::bool_t, 647
MHAParser::complex_mon_t, 654
MHAParser::complex_t, 656
MHAParser::float_mon_t, 659
MHAParser::float_t, 662
MHAParser::int_mon_t, 664
MHAParser::int_t, 666
MHAParser::kw_t, 672
MHAParser::mcomplex_mon_t, 673
MHAParser::mcomplex_t, 675
MHAParser::mfloat_mon_t, 677
MHAParser::mfloat_t, 680
MHAParser::mint_mon_t, 686
MHAParser::string_mon_t, 697
MHAParser::string_t, 699
MHAParser::vcomplex_mon_t, 704
MHAParser::vcomplex_t, 706
MHAParser::vfloat_mon_t, 708
MHAParser::vfloat_t, 711
MHAParser::vint_mon_t, 712
MHAParser::vint_t, 715
MHAParser::vstring_mon_t, 716
MHAParser::vstring_t, 718
MHAPlugin::cfg_chain_t, 723
MHASignal::uint_vector_t, 811
mha_rt_fifo_element_t, 461
wavwriter_t, 956
data_is_initialized
MHAParser::base_t, 642
data_type
ac2lsl::save_var_base_t, 137
ac2lsl::save_var_t, 139
ac2lsl::save_var_t<mha_complex_t >,
142
comm_var_t, 246
testplugin::ac_parser_t, 931
data_type_
ac2lsl::save_var_t, 140
data_type_t
testplugin::ac_parser_t, 931
db.cpp, 971
db2lin
Vector and matrix processing toolbox, 43
db_if_t, 249
db_if_t, 250
algo, 251
bypass, 251
chain, 251
db_if_t, 250
fragsize, 251
patchbay, 251
plugloader, 251
prepare, 250
process, 250
release, 250
db_t, 251
db_t, 252
inner_process, 252
plugloader, 252
dbspl2pa
Vector and matrix processing toolbox, 44
DC
dc_simple, 84
dc, 82
get_audiochannels, 83
dc.cpp, 971
DUPVEC, 972
dc::dc_if_t, 253
algo, 254
dc_if_t, 254
patchbay, 254
prepare, 254
process, 254
update, 254
update_monitors, 254
wbinhib, 254
dc::dc_t, 255
attack, 256
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1107
bypass, 256
dc_t, 256
decay, 256
explicit_insert, 256
get_level_in_db, 256
get_level_in_db_adjusted, 256
get_nbands, 256
gt, 256
inhib_gain, 257
k_nyquist, 257
level_in_db, 257
level_in_db_adjusted, 257
max_level_difference, 257
naudiochannels, 257
nbands, 257
powersum, 256
process, 256
rmslevel, 256
dc::dc_vars_t, 257
band_weights, 259
bw_name, 259
bypass, 259
center_frequencies, 259
cf_name, 259
chname, 259
clientid, 259
dc_vars_t, 258
edge_frequencies, 259
ef_name, 259
filterbank, 259
filtered_level, 259
gainrule, 259
gtdata, 258
gtmin, 258
gtstep, 258
input_level, 259
max_level_difference, 259
modified, 259
powersum, 258
preset, 259
tauattack, 258
taudecay, 259
taurmslevel, 258
use_wbinhib, 259
dc::dc_vars_validator_t, 260
dc_vars_validator_t, 260
dc::wb_inhib_cfg_t, 260
dl_diff, 261
dl_map_max, 261
dl_map_min, 261
g_scale, 261
l_min, 261
wb_inhib_cfg_t, 261
weights, 261
dc::wideband_inhib_vars_t, 261
bands, 263
channels, 263
current, 262
dl_map_max, 262
dl_map_min, 262
g_scale, 262
l_min, 262
patchbay, 263
setchannels, 262
update, 262
weights, 262
wideband_inhib_vars_t, 262
dc_afterburn.cpp, 972
mylogf, 972
dc_afterburn.h, 972
dc_afterburn_rt_t
DynComp::dc_afterburn_rt_t, 293
dc_afterburn_t
DynComp::dc_afterburn_t, 295
dc_afterburn_vars_t
DynComp::dc_afterburn_vars_t, 298
dc_if_t
dc::dc_if_t, 254
dc_simple::dc_if_t, 264
dc_simple, 83
DC, 84
force_resize, 84
LEVEL, 84
not_zero, 84
test_fail, 84
dc_simple.cpp, 973
dc_simple::dc_if_t, 263
center_frequencies, 265
clientid, 265
dc_if_t, 264
edge_frequencies, 265
filterbank, 265
gainrule, 265
has_been_modified, 265
modified, 265
mon_g, 265
mon_l, 265
patchbay, 265
prepare, 264
prepared, 265
preset, 265
process, 264,265
© 2005-2019 HörTech gGmbH, Oldenburg
1108 INDEX
read_modified, 265
release, 264
update_dc, 265
update_gain_mon, 265
update_level, 265
update_level_mon, 265
dc_simple::dc_t, 266
compression, 267
dc_t, 267
expansion, 267
expansion_threshold, 267
limiter, 267
limiter_threshold, 267
maxgain, 267
mon_g, 267
mon_l, 267
nbands, 267
process, 267
dc_simple::dc_t::line_t, 268
line_t, 268
m, 268
operator(), 268
y0, 268
dc_simple::dc_vars_t, 269
bypass, 270
dc_vars_t, 269
expansion_slope, 270
expansion_threshold, 270
g50, 269
g80, 269
limiter_threshold, 270
maxgain, 269
tauattack, 270
taudecay, 270
dc_simple::dc_vars_validator_t, 270
dc_vars_validator_t, 271
dc_simple::level_smoother_t, 271
attack, 272
decay, 272
fftlen, 272
level_smoother_t, 272
level_spec, 272
level_wave, 272
nbands, 272
process, 272
dc_t
dc::dc_t, 256
dc_simple::dc_t, 267
dc_vars_t
dc::dc_vars_t, 258
dc_simple::dc_vars_t, 269
dc_vars_validator_t
dc::dc_vars_validator_t, 260
dc_simple::dc_vars_validator_t, 271
deallocate_domains
MHAPlugin_Split::domain_handler_t, 739
debug
io_tcp_parser_t, 383
debug_file
io_tcp_parser_t, 384
debug_filename
io_tcp_parser_t, 384
decay
cfg_t, 236
dc::dc_t, 256
dc_simple::level_smoother_t, 272
softclip_t, 917
softclipper_t, 918
decomb_coeffs
adm_rtconfig_t, 200
decomb_order
adm_if_t, 197
decrease_condition
mha_fifo_posix_threads_t, 452
decrement
mha_fifo_posix_threads_t, 451
mha_fifo_thread_platform_t, 459
default_thread_platform_string
split.cpp, 1079
default_thread_platform_type
split.cpp, 1079
defaultHighInputLatency
MHAIOPortAudio::device_info_t, 584
defaultHighOutputLatency
MHAIOPortAudio::device_info_t, 584
defaultLowInputLatency
MHAIOPortAudio::device_info_t, 584
defaultLowOutputLatency
MHAIOPortAudio::device_info_t, 584
defaultSampleRate
MHAIOPortAudio::device_info_t, 584
Delay
ADM::Delay, 191
delay, 84
coherence::vars_t, 242
delaysum::delaysum_if_t, 276
MHAFilter::gamma_flt_t, 537
MHAFilter::partitioned_convolution_t-
::index_t, 559
MHAPlugin_Split::split_t, 751
MHASignal::delay_spec_t, 766
MHASignal::delay_wave_t, 769
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1109
mha_dblbuf_t, 437
delay.cpp, 973
delay::interface_t, 273
delays, 274
interface_t, 274
patchbay, 274
prepare, 274
process, 274
update, 274
delay_ac
ac2wave_if_t, 149
ac2wave_t, 151
delay_d
prediction_error, 889
delay_in
ac2wave_if_t, 149
ac2wave_t, 151
delay_spec_t
MHASignal::delay_spec_t, 766
delay_t
MHASignal::delay_t, 767
delay_w
prediction_error, 889
delay_wave_t
MHASignal::delay_wave_t, 769
delays
delay::interface_t, 274
MHASignal::delay_t, 768
delays_in
MHAIOJack::io_jack_t, 576
delays_out
MHAIOJack::io_jack_t, 577
delaysum, 84
delaysum.cpp, 974
delaysum::delaysum_if_t, 274
delay, 276
delaysum_if_t, 276
patchbay, 276
prepare, 276
process, 276
release, 276
update_cfg, 276
weights, 276
delaysum::delaysum_t, 277
delaysum_t, 278
out, 278
process, 278
weights, 278
delaysum_if_t
delaysum::delaysum_if_t, 276
delaysum_t
delaysum::delaysum_t, 278
delete_plug
altplugs_t, 216
delta_phi
fshift::fshift_config_t, 333
fshift_hilbert::hilbert_shifter_t, 342
delta_phi_total
fshift::fshift_config_t, 333
fshift_hilbert::hilbert_shifter_t, 342
delta_pitch
timo_params, 940
timoSmooth, 946
descriptor
mha_audio_t, 429
desired_fill_count
mha_drifter_fifo_t, 443
dev_in
io_alsa_t, 364
dev_out
io_alsa_t, 364
device
alsa_dev_par_parser_t, 209
device_index
MHAIOPortAudio::io_portaudio_t, 587
device_index_updated
MHAIOPortAudio::io_portaudio_t, 586
device_info
MHAIOPortAudio::io_portaudio_t, 587
device_info_t
MHAIOPortAudio::device_info_t, 584
device_name
MHAIOPortAudio::io_portaudio_t, 587
device_name_updated
MHAIOPortAudio::io_portaudio_t, 586
df
fshift::fshift_config_t, 333
fshift::fshift_t, 336
fshift_hilbert::frequency_translator_t, 338
fshift_hilbert::hilbert_shifter_t, 342
diff_coeffs
mha_filter.cpp, 1006
diff_t
MHAFilter::diff_t, 523
digits
mha_error_helpers, 90
dimension
MHASignal::matrix_t, 786
dimensions
acmon::acmon_t, 159
dimstr
acmon::ac_monitor_t, 156
© 2005-2019 HörTech gGmbH, Oldenburg
1110 INDEX
dir
mha_channel_info_t, 430
dir_t
MHAJack::port_t, 600
dir_type
MHAJack::port_t, 602
discard
MHASignal::ringbuffer_t, 796
disconnect
MHAEvents::emitter_t, 511
dispmode
acmon::acmon_t, 159
dist
plingploing::plingploing_t, 870
dist1
plingploing::plingploing_t, 870
distance
mha_direction_t, 438
distances
adm_if_t, 197
dl_diff
dc::wb_inhib_cfg_t, 261
dl_map_max
dc::wb_inhib_cfg_t, 261
dc::wideband_inhib_vars_t, 262
dl_map_min
dc::wb_inhib_cfg_t, 261
dc::wideband_inhib_vars_t, 262
dm
lpc_burglattice_config, 406
do_clipping
calibrator_variables_t, 234
do_get_var
testplugin::ac_parser_t, 931
do_insert_var
testplugin::ac_parser_t, 931
doagcc
doasvm_feature_extraction_config, 286
doasvm
doasvm_classification_config, 282
doasvm_classification, 279
doasvm_classification, 280
angles, 281
b, 281
doasvm_classification, 280
max_p_ind_name, 281
p_name, 281
patchbay, 281
prepare, 280
process, 280
release, 280
update_cfg, 281
vGCC_name, 281
w, 281
x, 281
y, 281
doasvm_classification.cpp, 974
INSERT_PATCH, 974
PATCH_VAR, 974
doasvm_classification.h, 974
doasvm_classification_config, 281
doasvm_classification_config, 282
ac, 282
c, 282
doasvm, 282
doasvm_classification_config, 282
p, 282
p_max, 282
process, 282
doasvm_feature_extraction, 283
doasvm_feature_extraction, 284
doasvm_feature_extraction, 284
fftlen, 285
max_lag, 285
nupsample, 285
patchbay, 285
prepare, 284
process, 284
release, 284
update_cfg, 285
vGCC_name, 285
doasvm_feature_extraction.cpp, 974
INSERT_PATCH, 975
PATCH_VAR, 975
doasvm_feature_extraction.h, 975
doasvm_feature_extraction_config, 285
doasvm_feature_extraction_config, 286
doagcc, 286
doasvm_feature_extraction_config, 286
fft, 286
fftlen, 286
G, 286
G_length, 286
GCC_end, 286
GCC_start, 286
hifftwin, 286
hifftwin_sum, 286
hwin, 286
ifft, 286
in_spec, 286
proc_wave, 286
process, 286
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1111
vGCC_ac, 286
vGCC, 286
wndlen, 286
doc_appendix.h, 975
doc_examples.h, 975
doc_frameworks.h, 975
doc_general.h, 975
doc_kernel.h, 975
doc_matlab.h, 975
doc_mhamain.h, 975
doc_parser.h, 975
doc_plugif.cpp, 975
doc_plugins.h, 975
doc_system.h, 975
doc_toolbox.h, 975
documentation
plugindescription_t, 875
domain
MHAParser::mhaconfig_mon_t, 681
MHAPlugin_Split::splitted_part_t, 755
mhaconfig_t, 505
testplugin::config_parser_t, 933
domain_handler_t
MHAPlugin_Split::domain_handler_t, 738
double_t
MHA_AC::double_t, 419
doublebuffer_t
MHASignal::doublebuffer_t, 770
down
MHASignal::schroeder_t, 799
downsample.cpp, 975
downsampling_factor
MHAFilter::polyphase_resampling_t, 563
downscale
MHASignal::quantizer_t, 793
drain
DynComp::dc_afterburn_vars_t, 298
drain_inv
DynComp::dc_afterburn_rt_t, 294
drand
plingploing, 128
dropouts
droptect_t, 289
droptect.cpp, 976
droptect_t, 287
blocks, 289
consecutive_dropouts, 289
current_powspec, 289
dropouts, 289
droptect_t, 288
filter_activated, 289
filtered_powspec, 289
filtered_powspec_mon, 289
level_mon, 289
period, 289
prepare, 288
process, 288
release, 288
reset, 289
tau, 289
threshold, 289
ds_t, 290
antialias, 291
ds_t, 290
prepare, 291
process, 291
ratio, 291
release, 291
dt
mha_audio_descriptor_t, 428
dtime
MHA_TCP, 93
dummy_interface_test
MHAIOFile.cpp, 1048,1049
MHAIOJack.cpp, 1051,1052
MHAIOJackdb.cpp, 1053,1054
MHAIOParser.cpp, 1056,1057
MHAIOPortAudio.cpp, 1059,1060
MHAIOTCP.cpp, 1062,1063
MHAIOalsa.cpp, 1045,1046
dummy_jack_proc_cb
mhajack.cpp, 1064
dummy_threads_t
MHAPlugin_Split::dummy_threads_t, 742
dump_mha
fw_t, 347
dup
MHAFilter::thirdoctave_analyzer_t, 569
dupvec
Vector and matrix processing toolbox, 46
dupvec_chk
Vector and matrix processing toolbox, 47
dur_
plingploing::plingploing_t, 869
DynComp, 85
interp1, 85
interp2, 86
DynComp::dc_afterburn_rt_t, 292
burn, 293
conflux, 294
dc_afterburn_rt_t, 293
drain_inv, 294
© 2005-2019 HörTech gGmbH, Oldenburg
1112 INDEX
lp, 294
maxgain, 294
mpo_inv, 294
DynComp::dc_afterburn_t, 294
_cf, 296
_channels, 296
_srate, 296
burn, 295
commit_pending, 296
dc_afterburn_t, 295
fb_pars_configured, 296
patchbay, 296
set_fb_pars, 295
unset_fb_pars, 295
update, 296
update_burner, 295
DynComp::dc_afterburn_vars_t, 296
bypass, 298
commit, 298
conflux, 298
dc_afterburn_vars_t, 298
drain, 298
f, 298
maxgain, 298
mpo, 298
taugain, 298
DynComp::gaintable_t, 298
gaintable_t, 301
data, 303
gaintable_t, 300
get_gain, 301,302
get_iofun, 302
get_vF, 302
get_vL, 302
nbands, 302
nchannels, 302
num_channels, 302
num_F, 302
num_L, 302
update, 301
vFlog, 303
vF, 303
vL, 302
dynamiclib_t, 291
dynamiclib_t, 292
dynamiclib_t, 292
fullname, 292
getmodulename, 292
getname, 292
h, 292
modulename, 292
resolve, 292
resolve_checked, 292
EPSILON
lpc_bl_predictor.h, 988
lpc_burg-lattice.h, 988
timoconfig.cpp, 1081
EPrew
prediction_error_config, 892
ERR_IHANDLE
MHAIOFile.cpp, 1047
MHAIOJack.cpp, 1050
MHAIOJackdb.cpp, 1053
MHAIOParser.cpp, 1056
MHAIOPortAudio.cpp, 1059
MHAIOTCP.cpp, 1062
MHAIOalsa.cpp, 1045
ERR_SUCCESS
MHAIOFile.cpp, 1047
MHAIOJack.cpp, 1050
MHAIOJackdb.cpp, 1053
MHAIOParser.cpp, 1056
MHAIOPortAudio.cpp, 1059
MHAIOTCP.cpp, 1062
MHAIOalsa.cpp, 1045
ERR_USER
MHAIOFile.cpp, 1048
MHAIOJack.cpp, 1050
MHAIOJackdb.cpp, 1053
MHAIOParser.cpp, 1056
MHAIOPortAudio.cpp, 1059
MHAIOTCP.cpp, 1062
MHAIOalsa.cpp, 1045
ESTIM_CUR
nlms_wave.cpp, 1070
ESTIM_PREV
nlms_wave.cpp, 1070
ESTIMATION_TYPES
nlms_wave.cpp, 1070
ear_t
AuditoryProfile::parser_t::ear_t, 224
edge_frequencies
dc::dc_vars_t, 259
dc_simple::dc_if_t, 265
ef
MHAOvlFilter::fftfb_vars_t, 621
ef2bands
MHAOvlFilter::fspacing_t, 626
ef_h
MHAOvlFilter::band_descriptor_t, 613
ef_l
MHAOvlFilter::band_descriptor_t, 613
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1113
ef_name
dc::dc_vars_t, 259
efv
MHAOvlFilter::fftfb_ac_info_t, 615
multibandcompressor::fftfb_plug_t, 846
element_gain_name
combc_if_t, 244
element_gain_name_
combc_t, 245
elevation
mha_direction_t, 438
emit_event
MHAEvents::connector_base_t, 507
MHAEvents::connector_t, 509
emitter
MHAEvents::connector_t, 510
emitter_die
MHAEvents::connector_base_t, 507
emitter_is_alive
MHAEvents::connector_base_t, 507
empty_string
MHAParser::keyword_list_t, 669
end_time
MHA_TCP::Timeout_Event, 491
entries
MHAParser::keyword_list_t, 669
MHAParser::parser_t, 692
entry
MHAParser::entry_t, 656
entry_map_t
MHAParser, 111
entry_t
MHAParser::entry_t, 656
envelope_delay
MHAFilter::gamma_flt_t, 538
envreplace
MHAParser, 112
eof
MHA_TCP::Connection, 474
epsilon
smoothgains_bridge::overlapadd_if_-
t, 914
equal_dim
Vector and matrix processing toolbox, 47,
48
equidist2bands
MHAOvlFilter::fspacing_t, 626
erb_hz_f_hz
speechnoise.cpp, 1077
err_in
MHAFilter::adapt_filter_param_t, 514
MHAFilter::adapt_filter_t, 517
error
MHA_TCP::Thread, 490
mha_fifo_lw_t, 450
Error handling in the openMHA, 32
MHA_ErrorMsg, 32
MHA_assert, 33
MHA_assert_equal, 33
mha_debug, 33
errorlog
fw_t, 347
estimateDebug
noisePowProposedScale::noisePow-
Proposed, 858
estimtype
nlms_t, 853
event_add_plug
altplugs_t, 215
event_delete_plug
altplugs_t, 215
event_select_plug
altplugs_t, 215
event_set_plugs
altplugs_t, 215
event_start_recording
acsave::acsave_t, 167
event_stop_and_flush
acsave::acsave_t, 167
eventhandler
MHAEvents::connector_t, 510
eventhandler_s
MHAEvents::connector_t, 510
eventhandler_suu
MHAEvents::connector_t, 510
Events
MHA_TCP::Event_Watcher, 479
events
MHA_TCP::Event_Watcher, 479
example1.cpp, 976
example1_t, 303
example1_t, 304
prepare, 304
process, 305
release, 304
example2.cpp, 976
example2_t, 305
example2_t, 307
factor, 308
prepare, 307
process, 307
release, 307
© 2005-2019 HörTech gGmbH, Oldenburg
1114 INDEX
scale_ch, 308
example3.cpp, 976
example3_t, 308
example3_t, 310
factor, 311
on_prereadaccess, 310
on_scale_ch_readaccess, 310
on_scale_ch_valuechanged, 310
on_scale_ch_writeaccess, 310
patchbay, 311
prepare, 310
prepared, 311
process, 311
release, 311
scale_ch, 311
example4.cpp, 976
example4_t, 312
example4_t, 313
factor, 315
on_prereadaccess, 314
on_scale_ch_readaccess, 314
on_scale_ch_valuechanged, 314
on_scale_ch_writeaccess, 314
patchbay, 315
prepare, 314
prepared, 315
process, 314
release, 314
scale_ch, 315
example5.cpp, 976
__declspec, 977
example5_t, 315
channel, 316
example5_t, 316
process, 316
scale, 316
example6.cpp, 977
__declspec, 977
example6_t, 316
channel_no, 317
example6_t, 317
patchbay, 317
prepare, 317
process, 317
rmsdb, 317
update_cfg, 317
exec_fw_command
fw_t, 346
existed_before
mha_stash_environment_variable_t, 467
exit_on_stop
fw_t, 347
exit_request
fw_t, 345
expansion
dc_simple::dc_t, 267
expansion_slope
dc_simple::dc_vars_t, 270
expansion_threshold
dc_simple::dc_t, 267
dc_simple::dc_vars_t, 270
expflt
MHAOvlFilter::ShapeFun, 107
expi
Complex arithmetics in the openMHA, 64,
66
explicit_insert
dc::dc_t, 256
export_to
MHASignal::spectrum_t, 804
MHASignal::waveform_t, 820
expression_t, 318
MHAParser::expression_t, 657
extern_connector
MHAParser::commit_t, 652
F
prediction_error_config, 891
rt_nlms_t, 899
f
AuditoryProfile::parser_t::fmap_t, 225
DynComp::dc_afterburn_vars_t, 298
io_tcp_sound_t::float_union, 388
MHAOvlFilter::fftfb_vars_t, 621
MHAOvlFilter::fscale_t, 624
f0_high
timo_params, 940
timoSmooth, 946
f0_low
timo_params, 940
timoSmooth, 946
F_Uflt
prediction_error_config, 891
f_est
lpc_bl_predictor_config, 401
f_hz
MHAOvlFilter::fscale_t, 624
FINISHED
MHA_TCP::Thread, 488
FMTsz
mha_os.h, 1013
factor
cpuload_t, 249
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1115
example2_t, 308
example3_t, 311
example4_t, 315
plugin_interface_t, 873
fader_if_t, 318
actgains, 319
fader_if_t, 319
newgains, 319
patchbay, 319
prepare, 319
process, 319
tau, 319
update_cfg, 319
fader_spec.cpp, 977
fader_wave, 86
level_adaptor, 86
fader_wave.cpp, 977
DEBUG, 978
fader_wave::fader_wave_if_t, 320
fader_wave_if_t, 321
gain, 321
patchbay, 321
prepare, 321
prepared, 321
process, 321
ramplen, 321
release, 321
set_level, 321
fader_wave::level_adapt_t, 322
can_update, 323
get_level, 323
ilen, 323
l_new, 323
l_old, 323
level_adapt_t, 322
pos, 323
update_frame, 323
wnd, 323
fader_wave_if_t
fader_wave::fader_wave_if_t, 321
fail_on_async_jackerr
MHAIOJackdb::io_jack_t, 581
fail_on_async_jackerror
MHAIOJackdb::io_jack_t, 580
MHAJack::client_t, 599
fail_on_nonmonotonic
MHAOvlFilter::fftfb_vars_t, 621
fail_on_nonmonotonic_cf
MHAOvlFilter::fspacing_t, 626
fail_on_unique_bins
MHAOvlFilter::fftfb_vars_t, 621
fail_on_unique_fftbins
MHAOvlFilter::fspacing_t, 626
fallback_spec
altplugs_t, 216
fallback_wave
altplugs_t, 216
Fast Fourier Transform functions, 71
mha_fft_backward, 75
mha_fft_backward_scale, 76
mha_fft_forward, 75
mha_fft_forward_scale, 76
mha_fft_free, 72
mha_fft_new, 72
mha_fft_spec2wave, 74
mha_fft_spec2wave_scale, 77
mha_fft_t, 72
mha_fft_wave2spec, 73
mha_fft_wave2spec_scale, 76
fatallog
fw_t, 347
fb
MHAFilter::thirdoctave_analyzer_t, 570
fb_acinfo
fftfilterbank::fftfb_plug_t, 331
fb_pars_configured
DynComp::dc_afterburn_t, 296
fbpow
fftfbpow::fftfbpow_t, 327
fd
MHA_TCP::Connection, 477
MHA_TCP::OS_EVENT_TYPE, 480
fft
doasvm_feature_extraction_config, 286
MHAFilter::fftfilter_t, 527
MHAFilter::fftfilterbank_t, 531
MHAFilter::partitioned_convolution_t, 558
MHAFilter::smoothspec_t, 568
overlapadd::overlapadd_t, 863
fft_find_bin
fshift, 87
fft_t
MHASignal::fft_t, 773
fftfb_ac_info_t
MHAOvlFilter::fftfb_ac_info_t, 615
fftfb_interface_t
fftfilterbank::fftfb_interface_t, 328
fftfb_plug_t
fftfilterbank::fftfb_plug_t, 331
multibandcompressor::fftfb_plug_t, 846
fftfb_t
MHAOvlFilter::fftfb_t, 617
© 2005-2019 HörTech gGmbH, Oldenburg
1116 INDEX
fftfb_vars_t
MHAOvlFilter::fftfb_vars_t, 620
fftfbpow, 86
fftfbpow.cpp, 978
fftfbpow::fftfbpow_interface_t, 323
fftfbpow_interface_t, 324
name, 325
patchbay, 325
prepare, 325
process, 325
update_cfg, 325
fftfbpow::fftfbpow_t, 326
fbpow, 327
fftfbpow_t, 327
fftfbpow_interface_t
fftfbpow::fftfbpow_interface_t, 324
fftfbpow_t
fftfbpow::fftfbpow_t, 327
fftfilter_t
MHAFilter::fftfilter_t, 524
fftfilterbank, 87
fftfilterbank.cpp, 978
fftfilterbank::fftfb_interface_t, 328
algo, 330
fftfb_interface_t, 328
nbands, 330
nchannels, 330
patchbay, 330
prepare, 329
prepared, 330
process, 329
release, 329
return_imag, 330
update_cfg, 329
fftfilterbank::fftfb_plug_t, 330
fb_acinfo, 331
fftfb_plug_t, 331
imag, 331
insert, 331
process, 331
return_imag_, 331
s_out, 331
fftfilterbank_t
MHAFilter::fftfilterbank_t, 528
fftlen
dc_simple::level_smoother_t, 272
doasvm_feature_extraction, 285
doasvm_feature_extraction_config, 286
MHAFilter::fftfilter_t, 526
MHAFilter::fftfilterbank_t, 530
MHAFilter::smoothspec_t, 568
MHAOvlFilter::fftfb_t, 618
MHAOvlFilter::overlap_save_filterbank_-
t::vars_t, 631
MHAParser::mhaconfig_mon_t, 681
mhaconfig_t, 505
rmslevel_t, 894
testplugin::config_parser_t, 933
timoConfig, 942
fftw_plan_fft
MHASignal::fft_t, 775
fftw_plan_ifft
MHASignal::fft_t, 775
fftw_plan_spec2wave
MHASignal::fft_t, 775
fftw_plan_wave2spec
MHASignal::fft_t, 775
fhz2bandno
speechnoise.cpp, 1077
fifo
wavwriter_t, 956
fifo_size
mha_dblbuf_t, 437
fifolen
analysispath_if_t, 220
wavrec_t, 955
fileformat
acsave::acsave_t, 167
filename
addsndfile::addsndfile_if_t, 182
filename_input
io_file_t, 368
filename_output
io_file_t, 368
fill_info
MHAIOPortAudio::device_info_t, 584
filled
MHASignal::async_rmslevel_t, 765
filter
MHAFilter::adapt_filter_state_t, 515
MHAFilter::adapt_filter_t, 516
MHAFilter::complex_bandpass_t, 521,
522
MHAFilter::fftfilter_t, 525,526
MHAFilter::fftfilterbank_t, 529,530
MHAFilter::filter_t, 533,534
MHAFilter::iir_filter_t, 541
filter_activated
droptect_t, 289
filter_analytic
MHAOvlFilter::overlap_save_filterbank_-
analytic_t, 628
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1117
filter_complex
gtfb_analyzer.cpp, 983
filter_partitions
MHAFilter::partitioned_convolution_t, 556
filter_real
gtfb_analyzer.cpp, 984
filter_t
MHAFilter::filter_t, 532,533
filterbank
dc::dc_vars_t, 259
dc_simple::dc_if_t, 265
filtered_level
dc::dc_vars_t, 259
filtered_powspec
droptect_t, 289
filtered_powspec_mon
droptect_t, 289
filtershapefun
mha_fftfb.cpp, 1004
fir
calibrator_runtime_layer_t, 230
calibrator_variables_t, 234
firchannels
MHAFilter::fftfilterbank_t, 530
firfir2fftlen
calibrator_runtime_layer_t, 230
firfirlen
calibrator_runtime_layer_t, 230
flag_terminate_inner_thread
analysepath_t, 218
flags
MHAJack::client_t, 599
float_data
testplugin::ac_parser_t, 931
float_mon_t
MHAParser::float_mon_t, 658
float_t
MHA_AC::float_t, 420
MHAParser::float_t, 661
flush_data
acsave::cfg_t, 168
fmap_t
AuditoryProfile::parser_t::fmap_t, 225
fmax
fshift::fshift_t, 336
fshift_hilbert::frequency_translator_t, 339
fmin
fshift::fshift_t, 336
fshift_hilbert::frequency_translator_t, 338
fname
acsave::acsave_t, 167
for_each
Vector and matrix processing toolbox, 43
force_remove_item
MHAParser::parser_t, 690
force_resize
dc_simple, 84
format
ac2lsl::type_info, 143
io_alsa_t, 364
forward
lpc_bl_predictor_config, 401
lpc_burglattice_config, 405
MHASignal::fft_t, 773
forward_scale
MHASignal::fft_t, 774
fr
spec_fader_t, 924
frag_out
MHAJack::client_avg_t, 590
MHAJack::client_noncont_t, 593
fragsize
alsa_t, 212
analysispath_if_t, 220
calibrator_variables_t, 234
db_if_t, 251
io_file_t, 367
io_parser_t, 374
io_tcp_sound_t, 387
MHAFilter::fftfilter_t, 526
MHAFilter::fftfilterbank_t, 530
MHAFilter::partitioned_convolution_t, 556
MHAFilter::resampling_filter_t, 565
MHAIOPortAudio::io_portaudio_t, 587
MHAJack::client_t, 598
MHAParser::mhaconfig_mon_t, 681
MHAPlugin_Resampling::resampling_if-
_t, 734
mhaconfig_t, 505
testplugin::config_parser_t, 933
fragsize_in
MHAFilter::blockprocessing_polyphase-
_resampling_t, 519
fragsize_out
MHAFilter::blockprocessing_polyphase-
_resampling_t, 519
fragsize_ratio
MHAIOJackdb::io_jack_t, 581
fragsize_validator
MHAFilter::resampling_filter_t, 565
frame
MHA_AC::acspace2matrix_t, 418
© 2005-2019 HörTech gGmbH, Oldenburg
1118 INDEX
frame_data
alsa_t, 212
framecnt
acsave::save_var_t, 171
frameno
MHA_AC::acspace2matrix_t, 418
noisePowProposedScale::noisePow-
Proposed, 859
framerate
ac2osc_t, 147
frames
ac2wave_t, 150
gtfb_analyzer::gtfb_analyzer_cfg_t, 354
prediction_error_config, 890
rt_nlms_t, 899
frameshift
fshift_hilbert::hilbert_shifter_t, 342
framework_thread_priority
MHAPlugin_Split::split_t, 751
framework_thread_scheduler
MHAPlugin_Split::split_t, 750
freq
plingploing::plingploing_t, 869
freq2bin
Vector and matrix processing toolbox, 45
frequency
sine_t, 912
frequency_response
MHAFilter::partitioned_convolution_t, 557
frequency_translator_t
fshift_hilbert::frequency_translator_t, 338
front_channel
adm_rtconfig_t, 200
front_channels
adm_if_t, 197
adm_rtconfig_t, 200
frozen_noise_
cfg_t, 236
frozennoise_length
noise_t, 855
fs
MHAFilter::o1_ar_filter_t, 548
fs_
MHAOvlFilter::fspacing_t, 626
fscale
MHAOvlFilter::fftfb_vars_t, 620
fscale_bw_t
MHAOvlFilter::fscale_bw_t, 623
fscale_t
MHAOvlFilter::fscale_t, 624
fshift, 87
fft_find_bin, 87
fshift.cpp, 979
fshift.hh, 979
fshift::fshift_config_t, 332
fshift_config_t, 332
delta_phi, 333
delta_phi_total, 333
df, 333
fshift_config_t, 332
kmax, 333
kmin, 333
process, 333
fshift::fshift_t, 334
fshift_t, 335
df, 336
fmax, 336
fmin, 336
fshift_t, 335
m_df, 336
m_fmax, 336
m_fmin, 336
patchbay, 336
prepare, 335
process, 335
release, 336
update_cfg, 336
fshift_config_t
fshift::fshift_config_t, 332
fshift_hilbert, 88
fshift_hilbert.cpp, 979
fshift_hilbert::frequency_translator_t, 337
df, 338
fmax, 339
fmin, 338
frequency_translator_t, 338
irslen, 339
patchbay, 338
phasemode, 339
prepare, 338
process, 338
release, 338
update, 338
fshift_hilbert::hilbert_shifter_t, 339
hilbert_shifter_t, 341
analytic, 341
delta_phi, 342
delta_phi_total, 342
df, 342
frameshift, 342
fullspec, 341
hilbert_shifter_t, 340
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1119
kmax, 342
kmin, 342
mhafft, 342
mixw_ref, 341
mixw_shift, 341
plan_spec2analytic, 341
process, 341
shifted, 341
fshift_t
fshift::fshift_t, 335
fspacing_t
MHAOvlFilter::fspacing_t, 626
ft
spec2wave_t, 922
wave2spec_t, 952
ftype
MHAOvlFilter::fftfb_vars_t, 621
fu
rt_nlms_t, 900
fu_previous
rt_nlms_t, 900
fuflt
rt_nlms_t, 900
fullname
dynamiclib_t, 292
MHAParser::base_t, 641
plugindescription_t, 875
fullspec
fshift_hilbert::hilbert_shifter_t, 341
fun1
plingploing::plingploing_t, 870
fun1_key
plingploing::if_t, 867
plingploing::plingploing_t, 870
fun1_range
plingploing::if_t, 867
plingploing::plingploing_t, 870
fun2
plingploing::plingploing_t, 870
fun2_key
plingploing::if_t, 867
plingploing::plingploing_t, 870
fun2_range
plingploing::if_t, 867
plingploing::plingploing_t, 870
fun_t
MHAWindow::fun_t, 838
funs
MHAOvlFilter::scale_var_t, 633
fw_cmd
fw_t, 347
fw_exiting
fw_t, 345
fw_fragsize
io_alsa_t, 364
MHAIOJack::io_jack_t, 576
fw_running
fw_t, 345
fw_samplerate
io_alsa_t, 364
MHAIOJack::io_jack_t, 576
fw_sleep
fw_t, 347
fw_sleep_cmd
fw_t, 346
fw_starting
fw_t, 345
fw_stopped
fw_t, 345
fw_stopping
fw_t, 345
fw_t, 343
fw_t, 345
ac, 347
async_poll_msg, 347
async_read, 347
b_exit_request, 348
cfin, 348
cfout, 348
dump_mha, 347
errorlog, 347
exec_fw_command, 346
exit_on_stop, 347
exit_request, 345
fatallog, 347
fw_cmd, 347
fw_exiting, 345
fw_running, 345
fw_sleep, 347
fw_sleep_cmd, 346
fw_starting, 345
fw_stopped, 345
fw_stopping, 345
fw_t, 345
fw_unprepared, 345
fw_until, 347
fw_until_cmd, 346
get_input_signal_dimension, 346
get_parserstate, 347
inst_name, 347
io_error, 348
io_lib, 348
© 2005-2019 HörTech gGmbH, Oldenburg
1120 INDEX
io_name, 347
load_io_lib, 346
load_proc_lib, 346
nchannels_out, 347
parserstate, 347
patchbay, 348
plugin_paths, 347
plugins, 347
prepare, 345
prepare_vars, 347
proc_error, 348
proc_error_string, 348
proc_lib, 348
proc_name, 347
process, 346
quit, 346
release, 346
start, 345
started, 346
state, 348
state_t, 345
stop, 345
stopped, 346
fw_unprepared
fw_t, 345
fw_until
fw_t, 347
fw_until_cmd
fw_t, 346
fw_vars_t, 348
fw_vars_t, 349
lock_channels, 349
lock_srate_fragsize, 349
pfragmentsize, 349
pinchannels, 349
psrate, 349
unlock_channels, 349
unlock_srate_fragsize, 349
fwcb
io_tcp_t, 391
G
doasvm_feature_extraction_config, 286
g
coherence::cohflt_t, 240
g50
dc_simple::dc_vars_t, 269
g80
dc_simple::dc_vars_t, 269
G_ERRNO
MHA_TCP, 92
G_length
doasvm_feature_extraction_config, 286
g_scale
dc::wb_inhib_cfg_t, 261
dc::wideband_inhib_vars_t, 262
GCC_end
doasvm_feature_extraction_config, 286
GCC_start
doasvm_feature_extraction_config, 286
GITCOMMITHASH
mha_plugin.hh, 1023
GLRDebug
noisePowProposedScale::noisePow-
Proposed, 858
GLRexp
noisePowProposedScale::noisePow-
Proposed, 859
timoConfig, 943
GLR
timoConfig, 943
GREETING_TEXT
mhamain.cpp, 1067
gain, 88
alsa_t, 212
calibrator_runtime_layer_t, 230
coherence::cohflt_t, 241
fader_wave::fader_wave_if_t, 321
multibandcompressor::plugin_signals_t,
850
gain.cpp, 979
gain::gain_if_t, 350
bbgain, 351
gain_if_t, 351
gains, 351
patchbay, 351
prepare, 351
process, 351
release, 351
update_bbgain, 351
update_gain, 351
update_minmax, 351
vmax, 351
vmin, 351
gain::scaler_t, 352
scaler_t, 352
gain_ac
ac2wave_if_t, 149
ac2wave_t, 151
gain_delay
coherence::cohflt_t, 241
gain_if_t
gain::gain_if_t, 351
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1121
gain_in
ac2wave_if_t, 149
ac2wave_t, 151
gain_min
timoConfig, 942
gain_min_db
timo_params, 940
timoSmooth, 947
gain_spec_
cfg_t, 236
gain_wave_
cfg_t, 236
gain_wiener
timoConfig, 943
gain_wiener_AC
timo_AC, 938
gainrule
dc::dc_vars_t, 259
dc_simple::dc_if_t, 265
gains
gain::gain_if_t, 351
prediction_error, 888
shadowfilter_end::cfg_t, 907
spec_fader_t, 924
gaintable.cpp, 980
convert_f2logf, 980
isempty, 980
gaintable.h, 980
gaintable_t
DynComp::gaintable_t, 300
gamma_flt_t
MHAFilter::gamma_flt_t, 536
gamma_post
timoConfig, 943
gamma_post_AC
timo_AC, 937
gauss
MHAOvlFilter::ShapeFun, 107
gcd
MHAFilter, 97
generatemhaplugindoc.cpp, 981
conv2latex, 981
create_latex_doc, 982
main, 982
print_plugin_references, 982
get
testplugin::config_parser_t, 933
get_A
MHAFilter::gamma_flt_t, 537
get_a
MHAParser::base_t::replace_t, 643
get_ac
latex_doc_t, 394
plug_t, 871
get_accept_event
MHA_TCP::Server, 482
get_all_input_ports
MHAIOJack::io_jack_t, 576
MHAIOJackdb::io_jack_t, 581
get_all_names_from_ac_space
ac2lsl::ac2lsl_t, 132
get_all_output_ports
MHAIOJack::io_jack_t, 576
MHAIOJackdb::io_jack_t, 581
get_audiochannels
dc, 83
get_available_space
mha_drifter_fifo_t, 442
mha_fifo_t, 455
get_b
MHAParser::base_t::replace_t, 643
get_buf_address
ac2lsl::save_var_base_t, 136
ac2lsl::save_var_t, 139
ac2lsl::save_var_t<mha_complex_t >,
142
get_bw_hz
MHAOvlFilter::fscale_bw_t, 623
get_c1
MHAFilter::o1flt_lowpass_t, 550
get_c_handle
MHAKernel::algo_comm_class_t, 604
get_categories
latex_doc_t, 393
PluginLoader::mhapluginloader_t, 884
get_cdata
MHASignal::matrix_t, 790
get_cf_fftbin
MHAOvlFilter::fspacing_t, 626
get_cf_hz
MHAFilter::thirdoctave_analyzer_t, 569
MHAOvlFilter::fspacing_t, 626
get_cfin
MHAParser::mhapluginloader_t, 684
get_cfout
MHAParser::mhapluginloader_t, 684
get_channelconfig
MHAOvlFilter::overlap_save_filterbank_t,
630
get_comm_var
MHASignal::matrix_t, 785
get_configfile
© 2005-2019 HörTech gGmbH, Oldenburg
1122 INDEX
PluginLoader::config_file_splitter_t, 877
get_configname
PluginLoader::config_file_splitter_t, 876
get_connected
io_tcp_parser_t, 381
get_cpu_load
MHAJack::client_t, 597
get_current_profile
AuditoryProfile::parser_t, 223
get_delay
mha_dblbuf_t, 435
get_delays_in
MHAIOJack::io_jack_t, 576
get_delays_out
MHAIOJack::io_jack_t, 576
get_des_fill_count
mha_drifter_fifo_t, 442
get_documentation
PluginLoader::mhapluginloader_t, 884
get_ear
AuditoryProfile::parser_t::ear_t, 224
AuditoryProfile::profile_t, 226
get_ef_hz
MHAOvlFilter::fspacing_t, 626
get_entries
algo_comm_t, 205
MHAKernel::algo_comm_class_t, 605
MHAParser::keyword_list_t, 668
get_error
algo_comm_t, 205
MHAKernel::algo_comm_class_t, 605
get_f_hz
MHAOvlFilter::fscale_t, 624
get_fbpower
MHAOvlFilter::fftfb_t, 617
get_fbpower_db
MHAOvlFilter::fftfb_t, 617
get_fd
MHA_TCP::Connection, 474
get_fftlen
MHAOvlFilter::fftfb_t, 618
get_fifo_size
mha_dblbuf_t, 435
get_fill_count
mha_drifter_fifo_t, 442
mha_fifo_t, 455
get_fmap
AuditoryProfile::parser_t::fmap_t, 225
get_fragsize
MHAJack::client_t, 596
get_frequencies
AuditoryProfile::fmap_t, 221
get_fun
MHAOvlFilter::scale_var_t, 633
get_gain
DynComp::gaintable_t, 301,302
get_handle
plug_t, 871
get_index
MHAParser::keyword_list_t, 668
MHASignal::matrix_t, 789
get_inner_error
mha_dblbuf_t, 435
get_inner_size
mha_dblbuf_t, 434
get_input_channels
mha_dblbuf_t, 435
get_input_fifo_fill_count
mha_dblbuf_t, 435
get_input_fifo_space
mha_dblbuf_t, 435
get_input_signal_dimension
fw_t, 346
get_interface
MHA_TCP::Server, 482
get_iofun
DynComp::gaintable_t, 302
get_irs
MHAFilter::fftfilterbank_t, 530
get_last_name
MHAParser::mhapluginloader_t, 684
get_last_output
MHAFilter::o1flt_lowpass_t, 550
get_latex_doc
latex_doc_t, 393
get_len_A
MHAFilter::filter_t, 534
get_len_B
MHAFilter::filter_t, 534
get_length
MHASignal::uint_vector_t, 811
get_level
addsndfile::level_adapt_t, 184
fader_wave::level_adapt_t, 323
get_level_in_db
dc::dc_t, 256
get_level_in_db_adjusted
dc::dc_t, 256
get_libname
PluginLoader::config_file_splitter_t, 877
get_local_address
io_tcp_parser_t, 380
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1123
get_local_port
io_tcp_parser_t, 380
get_longmsg
MHA_Error, 446
get_ltass_gain_db
MHAOvlFilter::fftfb_t, 618
get_main_category
latex_doc_t, 393
get_mapping
MHASignal::loop_wavefragment_t, 780
get_max_fill_count
mha_fifo_t, 455
get_min_fill_count
mha_drifter_fifo_t, 442
get_msg
MHA_Error, 446
get_my_input_ports
MHAJack::client_t, 597
get_my_output_ports
MHAJack::client_t, 597
get_name
MHAOvlFilter::scale_var_t, 633
get_nbands
dc::dc_t, 256
get_nelements
MHASignal::matrix_t, 786
get_nreals
MHASignal::matrix_t, 789
get_origname
PluginLoader::config_file_splitter_t, 877
get_os_event
MHA_TCP::Timeout_Event, 491
MHA_TCP::Wakeup_Event, 494
get_outer_size
mha_dblbuf_t, 434
get_output_channels
mha_dblbuf_t, 435
get_output_fifo_fill_count
mha_dblbuf_t, 435
get_output_fifo_space
mha_dblbuf_t, 435
get_parser_tab
latex_doc_t, 394
get_parser_var
latex_doc_t, 394
get_parserstate
fw_t, 347
get_paths
pluginbrowser_t, 874
get_peer_address
MHA_TCP::Connection, 474
get_peer_port
MHA_TCP::Connection, 474
get_physical_input_ports
MHAIOJack::io_jack_t, 576
MHAIOJackdb::io_jack_t, 580
get_physical_output_ports
MHAIOJack::io_jack_t, 576
MHAIOJackdb::io_jack_t, 581
get_plugins
pluginbrowser_t, 874
get_port
MHA_TCP::Server, 482
get_port_capture_latency
MHAJack, 100
get_port_capture_latency_int
MHAJack, 100
get_port_playback_latency
MHAJack, 101
get_port_playback_latency_int
MHAJack, 101
get_ports
MHAJack::client_t, 597
get_precision
MHAParser, 111
get_process_spec
plug_t, 871
get_process_wave
plug_t, 871
get_rdata
MHASignal::matrix_t, 790
get_read_event
MHA_TCP::Connection, 474
get_resynthesis_gain
MHAFilter::gamma_flt_t, 537
get_server_port_open
io_tcp_parser_t, 381
get_short_name
MHAJack::port_t, 602
get_signal
MHAPlugin_Split::domain_handler_t, 740
get_size
MHASignal::waveform_t, 822
get_srate
MHAJack::client_t, 597
get_type
MHAParser::window_t, 721
get_value
MHAParser::keyword_list_t, 668
get_values
AuditoryProfile::fmap_t, 221
get_var
© 2005-2019 HörTech gGmbH, Oldenburg
1124 INDEX
algo_comm_t, 204
MHAKernel::algo_comm_class_t, 605
testplugin::ac_parser_t, 931
get_var_float
algo_comm_t, 204
Communication between algorithms, 30
MHAKernel::algo_comm_class_t, 605
get_var_int
algo_comm_t, 204
Communication between algorithms, 30
MHAKernel::algo_comm_class_t, 605
get_var_spectrum
Communication between algorithms, 29
get_var_vfloat
Communication between algorithms, 31
get_var_waveform
Communication between algorithms, 30
get_vF
DynComp::gaintable_t, 302
get_vL
DynComp::gaintable_t, 302
get_weights
MHAFilter::complex_bandpass_t, 521
MHAFilter::gamma_flt_t, 537
get_window
MHAParser::window_t, 720,721
get_window_data
windowselector_t, 958
get_write_event
MHA_TCP::Connection, 474
get_xlimits
MHATableLookup::xy_table_t, 833
get_xruns
MHAJack::client_t, 597
get_xruns_reset
MHAJack::client_t, 597
getcipd
coherence, 82
getdata
MHASignal::uint_vector_t, 811
getfullname
PluginLoader::mhapluginloader_t, 883
getmodulename
dynamiclib_t, 292
Getmsg
mha_error.hh, 1002
getname
dynamiclib_t, 292
MHA_AC::ac2matrix_t, 414
getusername
MHA_AC::ac2matrix_t, 415
getvar
acmon::ac_monitor_t, 156
MHA_AC::ac2matrix_helper_t, 412
GF
MHAFilter::gamma_flt_t, 537
groupdelay_t
MHASignal::schroeder_t, 798
gt
dc::dc_t, 256
gtdata
dc::dc_vars_t, 258
gtfb_analyzer, 88
gtfb_analyzer.cpp, 982
filter_complex, 983
filter_real, 984
gtfb_analyzer::gtfb_analyzer_cfg_t, 352
gtfb_analyzer_cfg_t, 354
bands, 354
channels, 354
coeff, 354
cvalue, 354
frames, 354
gtfb_analyzer_cfg_t, 353
norm_phase, 354
order, 354
s_out, 355
state, 355
states, 354
gtfb_analyzer::gtfb_analyzer_t, 355
coeff, 357
gtfb_analyzer_t, 357
norm_phase, 357
order, 357
patchbay, 357
prepare, 357
prepared, 357
process, 357
update_cfg, 357
gtfb_analyzer_cfg_t
gtfb_analyzer::gtfb_analyzer_cfg_t, 353
gtfb_analyzer_t
gtfb_analyzer::gtfb_analyzer_t, 357
gtmin
dc::dc_vars_t, 258
gtstep
dc::dc_vars_t, 258
h
dynamiclib_t, 292
MHASignal::hilbert_t, 777
H_ERRNO
MHA_TCP, 92
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1125
HELP_TEXT
mhamain.cpp, 1067
HINSTANCE
mha_plugin.hh, 1023
HSTRERROR
MHA_TCP, 92
HTL
AuditoryProfile::parser_t::ear_t, 224
AuditoryProfile::profile_t::ear_t, 227
hamming
MHAWindow, 127
hamming_t
MHAWindow::hamming_t, 840
handle
algo_comm_t, 201
hann
hann.cpp, 985
hann.h, 985
MHAOvlFilter::ShapeFun, 107
hann.cpp, 984
hann, 985
hannf, 985
PI, 985
hann.h, 985
hann, 985
hannf, 985
hann1
plingploing::plingploing_t, 870
hann2
plingploing::plingploing_t, 870
hannf
hann.cpp, 985
hann.h, 985
hanning
MHAWindow, 127
hanning_ramps_t, 358
hanning_ramps_t, 358
hanning_ramps_t, 358
len_a, 358
len_b, 358
operator(), 358
ramp_a, 358
ramp_b, 358
hanning_t
MHAWindow::hanning_t, 841
hardlimit
softclipper_t, 918
softclipper_variables_t, 920
has_been_modified
dc_simple::dc_if_t, 265
has_inner_error
analysepath_t, 218
has_key
MHAKernel::comm_var_map_t, 606
has_parser
PluginLoader::mhapluginloader_t, 883
has_process
PluginLoader::mhapluginloader_t, 883
header
io_tcp_sound_t, 386
help
MHAParser::base_t, 642
hifftwin
doasvm_feature_extraction_config, 286
hifftwin_sum
doasvm_feature_extraction_config, 286
high_side_flat
MHAOvlFilter::band_descriptor_t, 613
hilbert
MHASignal::hilbert_fftw_t, 776
hilbert_fftw_t
MHASignal::hilbert_fftw_t, 776
hilbert_shifter_t
fshift_hilbert::hilbert_shifter_t, 340
hilbert_t
MHASignal::hilbert_t, 777
host
ac2osc_t, 146
host_port_to_sock_addr
mha_tcp.cpp, 1040
hostApi
MHAIOPortAudio::device_info_t, 584
Hs
MHAFilter::fftfilterbank_t, 530
hton
io_tcp_sound_t, 387
hw
MHAFilter::fftfilterbank_t, 530
hwin
doasvm_feature_extraction_config, 286
hz2bark
MHAOvlFilter::FreqScaleFun, 105
hz2bark_analytic
MHAOvlFilter::FreqScaleFun, 105
hz2bark_t
MHAOvlFilter::barkscale::hz2bark_t, 615
hz2erb
MHAOvlFilter::FreqScaleFun, 105
hz2erb_glasberg1990
MHAOvlFilter::FreqScaleFun, 105
hz2hz
MHAOvlFilter::FreqScaleFun, 104
© 2005-2019 HörTech gGmbH, Oldenburg
1126 INDEX
speechnoise.cpp, 1077
hz2khz
MHAOvlFilter::FreqScaleFun, 104
hz2log
MHAOvlFilter::FreqScaleFun, 105
hz2octave
MHAOvlFilter::FreqScaleFun, 104
hz2third_octave
MHAOvlFilter::FreqScaleFun, 104
hz2unit
MHAOvlFilter::scale_var_t, 633
i
io_tcp_sound_t::float_union, 388
INSERT_PATCH
acConcat_wave.cpp, 961
acPooling_wave.cpp, 962
acSteer.cpp, 963
acTransform_wave.cpp, 964
doasvm_classification.cpp, 974
doasvm_feature_extraction.cpp, 975
lpc.cpp, 987
lpc_bl_predictor.cpp, 987
lpc_burg-lattice.cpp, 988
prediction_error.cpp, 1072
steerbf.cpp, 1080
timoSmooth.cpp, 1082
INSERT_VAR
timoSmooth.cpp, 1082
INVALID_SOCKET
mha_tcp.cpp, 1040
INVALID_THREAD_PRIORITY
MHAPlugin_Split, 118
IO_ERROR_JACK
mhajack.h, 1066
IO_ERROR_MHAJACKLIB
mhajack.h, 1066
IODestroy
MHAIOFile.cpp, 1048,1049
MHAIOJack.cpp, 1051,1052
MHAIOJackdb.cpp, 1053,1054
MHAIOParser.cpp, 1056,1057
MHAIOPortAudio.cpp, 1059,1060
MHAIOTCP.cpp, 1062,1063
MHAIOalsa.cpp, 1045,1046
IODestroy_cb
io_lib_t, 371
IODestroy_t
mha_io_ifc.h, 1009
IOInit
MHAIOFile.cpp, 1048
MHAIOJack.cpp, 1050,1051
MHAIOJackdb.cpp, 1053,1054
MHAIOParser.cpp, 1056
MHAIOPortAudio.cpp, 1059
MHAIOTCP.cpp, 1062,1063
MHAIOalsa.cpp, 1045
IOInit_cb
io_lib_t, 371
IOInit_t
mha_io_ifc.h, 1009
IOPrepare
MHAIOFile.cpp, 1048
MHAIOJack.cpp, 1051
MHAIOJackdb.cpp, 1053,1054
MHAIOParser.cpp, 1056
MHAIOPortAudio.cpp, 1059
MHAIOTCP.cpp, 1062,1063
MHAIOalsa.cpp, 1045,1046
IOPrepare_cb
io_lib_t, 371
IOPrepare_t
mha_io_ifc.h, 1009
IOProcessEvent_inner
MHAIOJackdb::io_jack_t, 580
IOProcessEvent_t
mha_io_ifc.h, 1009
IORelease
MHAIOFile.cpp, 1048,1049
MHAIOJack.cpp, 1051
MHAIOJackdb.cpp, 1053,1054
MHAIOParser.cpp, 1056,1057
MHAIOPortAudio.cpp, 1059,1060
MHAIOTCP.cpp, 1062,1063
MHAIOalsa.cpp, 1045,1046
IORelease_cb
io_lib_t, 371
IORelease_t
mha_io_ifc.h, 1009
IOSetVar
MHAIOFile.cpp, 1048,1049
MHAIOJack.cpp, 1051
MHAIOJackdb.cpp, 1053,1054
MHAIOParser.cpp, 1056,1057
MHAIOPortAudio.cpp, 1059,1060
MHAIOTCP.cpp, 1062,1063
MHAIOalsa.cpp, 1045,1046
IOSetVar_cb
io_lib_t, 371
IOSetVar_t
mha_io_ifc.h, 1009
IOStart
MHAIOFile.cpp, 1048
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1127
MHAIOJack.cpp, 1051
MHAIOJackdb.cpp, 1053,1054
MHAIOParser.cpp, 1056
MHAIOPortAudio.cpp, 1059,1060
MHAIOTCP.cpp, 1062,1063
MHAIOalsa.cpp, 1045,1046
IOStart_cb
io_lib_t, 371
IOStart_t
mha_io_ifc.h, 1009
IOStartedEvent_t
mha_io_ifc.h, 1009
IOStop
MHAIOFile.cpp, 1048
MHAIOJack.cpp, 1051
MHAIOJackdb.cpp, 1053,1054
MHAIOParser.cpp, 1056,1057
MHAIOPortAudio.cpp, 1059,1060
MHAIOTCP.cpp, 1062,1063
MHAIOalsa.cpp, 1045,1046
IOStop_cb
io_lib_t, 371
IOStop_t
mha_io_ifc.h, 1009
IOStoppedEvent
MHAJack::client_avg_t, 590
MHAJack::client_noncont_t, 592
IOStoppedEvent_t
mha_io_ifc.h, 1009
IOStrError
MHAIOFile.cpp, 1048,1049
MHAIOJack.cpp, 1051,1052
MHAIOJackdb.cpp, 1053,1054
MHAIOParser.cpp, 1056,1057
MHAIOPortAudio.cpp, 1059,1060
MHAIOTCP.cpp, 1062,1063
MHAIOalsa.cpp, 1045,1046
IOStrError_cb
io_lib_t, 371
IOStrError_t
mha_io_ifc.h, 1009
id
mha_channel_info_t, 430
id_str
MHAParser::base_t, 642
id_string
MHAParser::parser_t, 692
identity
MHASignal::schroeder_t, 800
identity.cpp, 985
identity_t, 359
identity_t, 359
prepare, 360
process, 359,360
release, 360
idstr
mha_channel_info_t, 430
if_t
plingploing::if_t, 866
testplugin::if_t, 935
iface
MHA_TCP::Server, 483
ifft
doasvm_feature_extraction_config, 286
ifftshift
ifftshift.cpp, 986
ifftshift.h, 986
ifftshift.cpp, 985
ifftshift, 986
ifftshift.h, 986
ifftshift, 986
ignore
MHA_TCP::Event_Watcher, 479
ignored_by
MHA_TCP::Wakeup_Event, 494
iir_filter_state_t
MHAFilter::iir_filter_state_t, 539
iir_filter_t
MHAFilter::iir_filter_t, 540
iir_ord1_real_t
MHAFilter::iir_ord1_real_t, 543
iirfilter.cpp, 986
iirfilter_t, 360
iirfilter_t, 361
prepare_, 361
process, 361
release_, 361
ilen
addsndfile::level_adapt_t, 184
fader_wave::level_adapt_t, 323
im
mha_complex_t, 431
imag
acsave::mat4head_t, 169
fftfilterbank::fftfb_plug_t, 331
MHASignal::matrix_t, 787789
imagfb
MHAOvlFilter::overlap_save_filterbank_-
analytic_t, 628
impulse_response
MHAFilter::polyphase_resampling_t, 563
MHAFilter::transfer_function_t, 572
© 2005-2019 HörTech gGmbH, Oldenburg
1128 INDEX
in_buf
wave2spec_t, 953
in_cfg
timo_params, 940
in_spec
doasvm_feature_extraction_config, 286
shadowfilter_end::cfg_t, 907
in_spec_copy
shadowfilter_begin::cfg_t, 904
inbuf
MHA_TCP::Connection, 477
inch
MHAJack::client_t, 599
increase_condition
mha_fifo_posix_threads_t, 452
increment
mha_fifo_posix_threads_t, 451
mha_fifo_thread_platform_t, 459
index
MHAParser::keyword_list_t, 669
index_t
MHAFilter::partitioned_convolution_t-
::index_t, 558,559
info
ac2lsl::save_var_base_t, 137
ac2lsl::save_var_t, 139
ac2lsl::save_var_t<mha_complex_t >,
142
inhib_gain
dc::dc_t, 257
Init_mha_ruby
mha_ruby.cpp, 1026
init_peer_data
MHA_TCP::Connection, 473
initialize
MHA_TCP::Server, 482
inner2outer_resampling
MHAPlugin_Resampling::resampling_t,
736
inner_ac_copy
analysepath_t, 218
inner_error
analysepath_t, 218
mha_dblbuf_t, 437
inner_fragsize
MHAPlugin_Resampling::resampling_t,
736
inner_in
MHASignal::doublebuffer_t, 772
inner_input
analysepath_t, 218
inner_out
MHASignal::doublebuffer_t, 772
inner_out_domain
analysepath_t, 218
inner_process
db_t, 252
MHASignal::doublebuffer_t, 771
inner_process_wave2spec
analysepath_t, 218
inner_process_wave2wave
analysepath_t, 218
inner_signal
MHAPlugin_Resampling::resampling_t,
736
inner_size
mha_dblbuf_t, 437
inner_srate
MHAPlugin_Resampling::resampling_t,
736
input
io_parser_t, 374
MHAJack::port_t, 600
MHASignal::loop_wavefragment_t, 779
mha_dblbuf_t, 436
input_cfg
MHAPlugin::plugin_t, 731
input_cfg_
MHAPlugin::plugin_t, 732
input_channels
adm_if_t, 197
mha_dblbuf_t, 437
input_domain
PluginLoader::mhapluginloader_t, 883
input_fifo
mha_dblbuf_t, 437
input_level
dc::dc_vars_t, 259
input_portnames
MHAJack::client_t, 599
input_signal_spec
MHAFilter::partitioned_convolution_t, 557
input_signal_wave
MHAFilter::partitioned_convolution_t, 556
input_spec
testplugin::signal_parser_t, 936
input_to_process
analysepath_t, 218
input_wave
testplugin::signal_parser_t, 936
inputPow
noisePowProposedScale::noisePow-
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1129
Proposed, 858
inputSpec
noisePowProposedScale::noisePow-
Proposed, 858
inputchannels
MHAFilter::fftfilterbank_t, 530
insert
acPooling_wave_config, 163
acSteer_config, 175
coherence::cohflt_t, 240
fftfilterbank::fftfb_plug_t, 331
lpc_config, 407
MHA_AC::ac2matrix_t, 415
MHA_AC::acspace2matrix_t, 418
MHA_AC::spectrum_t, 423
MHA_AC::stat_t, 425
MHA_AC::waveform_t, 427
MHAOvlFilter::fftfb_ac_info_t, 615
multibandcompressor::fftfb_plug_t, 846
noisePowProposedScale::noisePow-
Proposed, 858
prediction_error_config, 890
rmslevel_t, 894
rt_nlms_t, 899
timo_AC, 937
insert_item
MHAParser::parser_t, 690
insert_items
windowselector_t, 958
insert_member
mha_parser.hh, 1021
insert_var
algo_comm_t, 201
MHAKernel::algo_comm_class_t, 604
testplugin::ac_parser_t, 931
insert_var_float
algo_comm_t, 202
MHAKernel::algo_comm_class_t, 604
insert_var_int
algo_comm_t, 202
MHAKernel::algo_comm_class_t, 604
inspect
MHAFilter::complex_bandpass_t, 522
MHAFilter::gamma_flt_t, 537
MHASignal::delay_t, 768
inst_name
fw_t, 347
int_data
testplugin::ac_parser_t, 931
int_mon_t
MHAParser::int_mon_t, 663
int_t
MHA_AC::int_t, 421
MHAParser::int_t, 665
integrate
Vector and matrix processing toolbox, 48
intensity
mha_signal.cpp, 1028
interface_t
delay::interface_t, 274
multibandcompressor::interface_t, 848
noisePowProposedScale::interface_t, 856
route::interface_t, 896
interleaved
combc_if_t, 244
interleaved_
combc_t, 245
intern_level
MHASignal::loop_wavefragment_t, 781
internal_fir
MHAFilter::smoothspec_t, 568
internal_start
MHAJack::client_t, 598
internal_stop
MHAJack::client_t, 598
interp
MHATableLookup::linear_table_t, 826
MHATableLookup::table_t, 829
MHATableLookup::xy_table_t, 831
interp1
DynComp, 85
interp2
DynComp, 86
inv_scale
MHAOvlFilter::FreqScaleFun, 105
invalidate_window_data
windowselector_t, 959
invert
coherence::vars_t, 242
invgain
alsa_t, 213
inwave
lpc_config, 408
io
MHAJack, 100
MHAJack::client_avg_t, 589
MHAJack::client_noncont_t, 592
io_alsa_t, 361
alsa_start_counter, 364
b_process, 364
dev_in, 364
dev_out, 364
© 2005-2019 HörTech gGmbH, Oldenburg
1130 INDEX
format, 364
fw_fragsize, 364
fw_samplerate, 364
io_alsa_t, 363
p_in, 364
p_out, 364
patchbay, 364
pcmlink, 364
prepare, 363,364
priority, 364
proc_event, 364
proc_handle, 364
proc_thread, 364
process, 364
release, 363
start, 363
start_event, 364
start_handle, 364
stop, 363
stop_event, 364
stop_handle, 364
thread_start, 363
io_err
io_tcp_fwcb_t, 378
io_error
fw_t, 348
io_file_t, 365
io_file_t, 366
b_prepared, 368
filename_input, 368
filename_output, 368
fragsize, 367
io_file_t, 366
length, 368
nchannels_file_in, 367
nchannels_in, 367
nchannels_out, 367
output_sample_format, 368
prepare, 367
proc_event, 368
proc_handle, 368
release, 367
s_file_in, 368
s_in, 368
s_out, 368
samplerate, 367
setlock, 367
sf_in, 368
sf_out, 368
sfinf_in, 368
sfinf_out, 368
start, 367
start_event, 368
start_handle, 368
startsample, 368
stop, 367
stop_event, 368
stop_handle, 368
stopped, 367
strict_channel_match, 368
strict_srate_match, 368
total_read, 368
io_jack_t
MHAIOJack::io_jack_t, 575
MHAIOJackdb::io_jack_t, 580
io_lib
fw_t, 348
io_lib_t, 369
io_lib_t, 370
IODestroy_cb, 371
IOInit_cb, 371
IOPrepare_cb, 371
IORelease_cb, 371
IOSetVar_cb, 371
IOStart_cb, 371
IOStop_cb, 371
IOStrError_cb, 371
io_lib_t, 370
lib_data, 371
lib_err, 371
lib_handle, 371
lib_str_error, 371
prepare, 370
release, 371
start, 371
stop, 371
test_error, 371
io_name
fw_t, 347
io_parser_t, 372
io_parser_t, 373
b_fw_started, 374
b_prepared, 374
b_starting, 374
b_stopped, 374
fragsize, 374
input, 374
io_parser_t, 373
nchannels_in, 374
nchannels_out, 374
output, 374
patchbay, 374
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1131
prepare, 373
proc_event, 374
proc_handle, 374
process_frame, 374
release, 374
s_in, 374
s_out, 374
start, 373
start_event, 374
start_handle, 374
started, 374
stop, 374
stop_event, 374
stop_handle, 374
stopped, 374
io_portaudio_t
MHAIOPortAudio::io_portaudio_t, 586
io_tcp_fwcb_t, 375
io_tcp_fwcb_t, 376
io_err, 378
io_tcp_fwcb_t, 376
proc_err, 378
proc_event, 377
proc_handle, 377
process, 376
set_errnos, 376
start, 376
start_event, 377
start_handle, 378
stop, 377
stop_event, 377
stop_handle, 378
io_tcp_parser_t, 378
io_tcp_parser_t, 380
connected, 383
debug, 383
debug_file, 384
debug_filename, 384
get_connected, 381
get_local_address, 380
get_local_port, 380
get_server_port_open, 381
io_tcp_parser_t, 380
local_address, 383
local_port, 383
peer_address, 383
peer_port, 384
server_port_open, 383
set_connected, 382
set_local_port, 380
set_new_peer, 382
set_server_port_open, 381
io_tcp_sound_t, 384
io_tcp_sound_t, 385
check_sound_data_type, 386
chunkbytes_in, 386
fragsize, 387
header, 386
hton, 387
io_tcp_sound_t, 385
ntoh, 386
num_inchannels, 387
num_outchannels, 388
prepare, 386
release, 386
s_in, 388
samplerate, 387
io_tcp_sound_t::float_union, 388
c, 388
f, 388
i, 388
io_tcp_t, 389
io_tcp_t, 390
accept_loop, 390
connection_loop, 390
fwcb, 391
io_tcp_t, 390
notify_release, 391
notify_start, 391
notify_stop, 391
parse, 391
parser, 391
prepare, 390
release, 390
server, 391
sound, 391
start, 390
stop, 390
thread, 391
iob
MHAJack::port_t, 602
irslen
fshift_hilbert::frequency_translator_t, 339
irslen_inner2outer
MHAPlugin_Resampling::resampling_if-
_t, 734
irslen_outer2inner
MHAPlugin_Resampling::resampling_if-
_t, 734
irswnd
MHAOvlFilter::overlap_save_filterbank_-
t::vars_t, 631
© 2005-2019 HörTech gGmbH, Oldenburg
1132 INDEX
smoothgains_bridge::overlapadd_if_-
t, 914
is_complex
MHA_AC::ac2matrix_helper_t, 413
mha_audio_descriptor_t, 428
is_first_run
ac2lsl::ac2lsl_t, 133
ac2osc_t, 147
is_playback_active
MHASignal::loop_wavefragment_t, 781
is_prepared
adm_if_t, 197
MHAPlugin::plugin_t, 731
PluginLoader::mhapluginloader_t, 884
is_prepared_
MHAPlugin::plugin_t, 732
is_same_size
MHASignal::matrix_t, 786
is_var
algo_comm_t, 203
MHAKernel::algo_comm_class_t, 604
iscomplex
MHASignal::matrix_t, 786
isempty
AuditoryProfile::fmap_t, 221
gaintable.cpp, 980
MHAFilter::transfer_function_t, 572
isval
MHAParser::kw_t, 671
iter
prediction_error_config, 891
iterator
MHA_TCP::Event_Watcher, 479
jack_error_handler
mhajack.cpp, 1064
jack_proc_cb
MHAJack::client_t, 598
jack_xrun_cb
MHAJack::client_t, 598
jc
MHAJack::client_t, 599
MHAJack::port_t, 602
jstate_prev
MHAJack::client_t, 599
k_inner
MHASignal::doublebuffer_t, 772
k_nyquist
dc::dc_t, 257
k_outer
MHASignal::doublebuffer_t, 772
kappa
lpc_burglattice_config, 406
kappa_block
lpc_burglattice_config, 406
kappa_const
timo_params, 940
timoSmooth, 946
keyword_list_t
MHAParser::keyword_list_t, 667
kick_condition
MHAPlugin_Split::posix_threads_t, 745
kick_thread
MHAPlugin_Split::dummy_threads_t, 742
MHAPlugin_Split::posix_threads_t, 745
MHAPlugin_Split::thread_platform_t, 758
kicked
MHAPlugin_Split::posix_threads_t, 746
km
lpc_bl_predictor_config, 402
kmax
fshift::fshift_config_t, 333
fshift_hilbert::hilbert_shifter_t, 342
kmin
fshift::fshift_config_t, 333
fshift_hilbert::hilbert_shifter_t, 342
kth_smallest
MHASignal, 121
kw_index2type
transducers.cpp, 1083
kw_t
MHAParser::kw_t, 670,671
L
AuditoryProfile::parser_t, 223
AuditoryProfile::profile_t, 227
l_min
dc::wb_inhib_cfg_t, 261
dc::wideband_inhib_vars_t, 262
l_new
addsndfile::level_adapt_t, 184
fader_wave::level_adapt_t, 323
l_old
addsndfile::level_adapt_t, 184
fader_wave::level_adapt_t, 323
LEVEL
dc_simple, 84
LPSCALE
timoconfig.cpp, 1081
LTASS_combined
speechnoise_t, 925
LTASS_female
speechnoise_t, 925
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1133
LTASS_male
speechnoise_t, 925
lambda
lpc_burglattice, 404
lpc_burglattice_config, 406
lambda_ceps
timoConfig, 943
lambda_ceps_AC
timo_AC, 938
lambda_ceps_prev
timoConfig, 943
lambda_ml_AC
timo_AC, 938
lambda_ml_ceps
timoConfig, 943
lambda_ml_ceps_AC
timo_AC, 938
lambda_ml_full
timoConfig, 943
lambda_ml_smooth
timoConfig, 943
lambda_ml_smooth_AC
timo_AC, 938
lambda_smoothing_power
nlms_t, 853
lambda_spec
timoConfig, 943
lambda_spec_AC
timo_AC, 938
lambda_thresh
timo_params, 940
timoSmooth, 946
last_complex_bin
MHASignal::subsample_delay_t, 808
last_config
MHAPlugin::config_t, 726
last_errormsg
MHAParser::parser_t, 692
last_jack_err
mhajack.cpp, 1064
last_jack_err_msg
mhajack.cpp, 1064
mhajack.h, 1066
last_name
MHAParser::mhapluginloader_t, 684
latex_doc_t, 391
ac, 394
get_ac, 394
get_categories, 393
get_latex_doc, 393
get_main_category, 393
get_parser_tab, 394
get_parser_var, 394
latex_doc_t, 392
latex_plugname, 394
loader, 394
parsername, 394
plugin_macro, 394
plugname, 394
strdom, 393
latex_plugname
latex_doc_t, 394
len
MHA_AC::acspace2matrix_t, 418
MHAFilter::filter_t, 535
MHATableLookup::linear_table_t, 828
plingploing::plingploing_t, 869
len_A
MHAFilter::filter_t, 535
len_a
hanning_ramps_t, 358
len_B
MHAFilter::filter_t, 535
len_b
hanning_ramps_t, 358
length
io_file_t, 368
MHASignal::uint_vector_t, 811
lev
noise_t, 855
sine_t, 912
level
addsndfile::addsndfile_if_t, 182
plingploing::if_t, 867
plingploing::plingploing_t, 870
rmslevel_t, 894
level_adapt_t
addsndfile::level_adapt_t, 183
fader_wave::level_adapt_t, 322
level_adaptor
addsndfile, 80
fader_wave, 86
level_db
rmslevel_t, 894
level_in_db
dc::dc_t, 257
level_in_db_adjusted
dc::dc_t, 257
level_mode_t
MHASignal::loop_wavefragment_t, 779
level_mon
droptect_t, 289
© 2005-2019 HörTech gGmbH, Oldenburg
1134 INDEX
level_smoother_t
dc_simple::level_smoother_t, 272
level_spec
dc_simple::level_smoother_t, 272
level_wave
dc_simple::level_smoother_t, 272
levelmode
addsndfile::addsndfile_if_t, 182
Levinson2
lpc.cpp, 987
lib_data
io_lib_t, 371
PluginLoader::mhapluginloader_t, 884
lib_err
io_lib_t, 371
PluginLoader::mhapluginloader_t, 884
lib_handle
io_lib_t, 371
PluginLoader::mhapluginloader_t, 884
lib_str_error
io_lib_t, 371
libdata
analysepath_t, 218
MHAParser::c_ifc_parser_t, 650
liberr
MHAParser::c_ifc_parser_t, 650
libname
analysispath_if_t, 220
PluginLoader::config_file_splitter_t, 877
library_paths
pluginbrowser_t, 874
like_ratio
acPooling_wave_config, 164
like_ratio_name
acPooling_wave, 162
limit
coherence::cohflt_t, 240
coherence::vars_t, 242
MHASignal, 121
MHASignal::quantizer_t, 793
MHASignal::waveform_t, 820
limiter
dc_simple::dc_t, 267
limiter_threshold
dc_simple::dc_t, 267
dc_simple::dc_vars_t, 270
lin2db
Vector and matrix processing toolbox, 43
line_t
dc_simple::dc_t::line_t, 268
linear
MHAOvlFilter::ShapeFun, 106
softclipper_t, 918
softclipper_variables_t, 920
linear_table_t
MHATableLookup::linear_table_t, 826
Linearphase_FIR
ADM::Linearphase_FIR, 193
list_dir
mha_os.cpp, 1011
mha_os.h, 1015
lo_addr
ac2osc_t, 147
load_io_lib
fw_t, 346
load_plug
MHAParser::mhapluginloader_t, 684
load_proc_lib
fw_t, 346
loader
latex_doc_t, 394
loadlib
analysispath_if_t, 220
local_address
io_tcp_parser_t, 383
local_get_entries
MHAKernel::algo_comm_class_t, 605
local_get_var
MHAKernel::algo_comm_class_t, 605
local_insert_var
MHAKernel::algo_comm_class_t, 605
local_is_var
MHAKernel::algo_comm_class_t, 605
local_port
io_tcp_parser_t, 383
local_remove_ref
MHAKernel::algo_comm_class_t, 605
local_remove_var
MHAKernel::algo_comm_class_t, 605
locate
MHAIOJackdb::io_jack_t, 582
locate_end
MHASignal::loop_wavefragment_t, 781
lock_channels
fw_vars_t, 349
lock_srate_fragsize
fw_vars_t, 349
locked
MHAParser::variable_t, 701
log_down
MHASignal::schroeder_t, 800
log_lambda_spec
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1135
timoConfig, 943
log_lambda_spec_AC
timo_AC, 938
log_up
MHASignal::schroeder_t, 800
logGLRFact
noisePowProposedScale::noisePow-
Proposed, 859
timoConfig, 943
logfile
mhaserver_t, 763
logstring
mhaserver_t, 762
longmsg
MHA_Error, 447
lookup
MHATableLookup::linear_table_t, 826
MHATableLookup::table_t, 829
MHATableLookup::xy_table_t, 831
loop
addsndfile::addsndfile_if_t, 182
loop_wavefragment_t
MHASignal::loop_wavefragment_t, 779
low_incl
MHAParser::range_var_t, 695
low_limit
MHAParser::range_var_t, 695
low_side_flat
MHAOvlFilter::band_descriptor_t, 613
low_thresh
acPooling_wave_config, 164
lower_threshold
acPooling_wave, 162
lp
DynComp::dc_afterburn_rt_t, 294
lp1i
coherence::cohflt_t, 240
lp1ltg
coherence::cohflt_t, 241
lp1r
coherence::cohflt_t, 240
lp_coeffs
adm_rtconfig_t, 200
lp_order
adm_if_t, 197
lpc, 395
lpc, 396
algo_name, 397
comp_each_iter, 397
lpc, 396
lpc_buffer_size, 397
lpc_order, 397
norm, 397
patchbay, 397
prepare, 396
process, 396
release, 396
shift, 397
update_cfg, 397
lpc.cpp, 986
INSERT_PATCH, 987
Levinson2, 987
PATCH_VAR, 987
lpc.h, 987
lpc_bl_predictor, 398
lpc_bl_predictor, 399
lpc_bl_predictor, 399
lpc_order, 400
name_b, 400
name_f, 400
name_kappa, 400
name_lpc_b, 400
name_lpc_f, 400
patchbay, 400
prepare, 399
process, 399
release, 399
update_cfg, 400
lpc_bl_predictor.cpp, 987
INSERT_PATCH, 987
PATCH_VAR, 987
lpc_bl_predictor.h, 987
EPSILON, 988
lpc_bl_predictor_config, 400
lpc_bl_predictor_config, 401
ac, 401
b_est, 401
backward, 401
f_est, 401
forward, 401
km, 402
lpc_bl_predictor_config, 401
lpc_order, 401
name_b, 402
name_f, 401
name_km, 401
process, 401
s_b, 402
s_f, 402
lpc_buffer_size
lpc, 397
lpc_config, 408
© 2005-2019 HörTech gGmbH, Oldenburg
1136 INDEX
lpc_burg-lattice.cpp, 988
INSERT_PATCH, 988
PATCH_VAR, 988
lpc_burg-lattice.h, 988
EPSILON, 988
lpc_burglattice, 402
lpc_burglattice, 403
lambda, 404
lpc_burglattice, 403
lpc_order, 404
name_b, 404
name_f, 404
name_kappa, 404
patchbay, 404
prepare, 404
process, 404
release, 404
update_cfg, 404
lpc_burglattice_config, 405
lpc_burglattice_config, 405
ac, 405
backward, 406
dm, 406
forward, 405
kappa, 406
kappa_block, 406
lambda, 406
lpc_burglattice_config, 405
lpc_order, 406
name_b, 406
name_f, 406
nm, 406
process, 405
s_b, 406
s_f, 406
lpc_config, 406
lpc_config, 407
A, 408
comp_each_iter, 407
comp_iter, 408
corr_out, 408
insert, 407
inwave, 408
lpc_buffer_size, 408
lpc_config, 407
lpc_out, 408
N, 408
norm, 407
order, 407
process, 407
R, 408
sample, 408
shift, 407
lpc_order
lpc, 397
lpc_bl_predictor, 400
lpc_bl_predictor_config, 401
lpc_burglattice, 404
lpc_burglattice_config, 406
prediction_error, 889
lpc_out
lpc_config, 408
ltgcomp
coherence::vars_t, 242
ltgtau
coherence::vars_t, 242
lval
MHAParser::expression_t, 657
m
dc_simple::dc_t::line_t, 268
matrixmixer::cfg_t, 409
M_PI
mha_defs.h, 998
mha_signal.hh, 1037
m_alphas
ADM::Linearphase_FIR, 194
m_beta
ADM::ADM, 190
m_coeff
ADM::Delay, 192
m_decomb
ADM::ADM, 190
m_delay_back
ADM::ADM, 190
m_delay_front
ADM::ADM, 190
m_df
fshift::fshift_t, 336
m_fmax
fshift::fshift_t, 336
m_fmin
fshift::fshift_t, 336
m_fullsamples
ADM::Delay, 192
m_lp_bf
ADM::ADM, 190
m_lp_result
ADM::ADM, 190
m_mu_beta
ADM::ADM, 190
m_norm
ADM::Delay, 192
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1137
m_now
ADM::Linearphase_FIR, 194
m_now_in
ADM::Delay, 192
m_order
ADM::Linearphase_FIR, 194
m_output
ADM::Linearphase_FIR, 194
m_powerfilter_coeff
ADM::ADM, 190
m_powerfilter_norm
ADM::ADM, 190
m_powerfilter_state
ADM::ADM, 190
m_state
ADM::Delay, 192
MAX_LINE_LENGTH
mhamain.cpp, 1067
MAX_TCP_PORT_STR
MHAIOTCP.cpp, 1062
MAX_TCP_PORT
MHAIOTCP.cpp, 1062
MAX_USER_ERR
MHAIOFile.cpp, 1048
MHAIOJack.cpp, 1050
MHAIOJackdb.cpp, 1053
MHAIOParser.cpp, 1056
MHAIOPortAudio.cpp, 1059
MHAIOTCP.cpp, 1062
MHAIOalsa.cpp, 1045
mhajack.h, 1066
MAX
mha_defs.h, 998
MHA_AC::ac2matrix_helper_t, 412
ac, 413
ac2matrix_helper_t, 412
acvar, 413
getvar, 412
is_complex, 413
name, 413
size, 413
username, 413
MHA_AC::ac2matrix_t, 413
ac2matrix_t, 414
getname, 414
getusername, 415
insert, 415
update, 414
MHA_AC::acspace2matrix_t, 415
acspace2matrix_t, 417
acspace2matrix_t, 416
data, 418
frame, 418
frameno, 418
insert, 418
len, 418
operator=, 417
operator[], 417
size, 418
update, 418
MHA_AC::double_t, 418
double_t, 419
ac, 419
data, 419
double_t, 419
MHA_AC::float_t, 420
float_t, 420
ac, 420
data, 420
float_t, 420
MHA_AC::int_t, 421
int_t, 421
ac, 421
data, 421
int_t, 421
MHA_AC::spectrum_t, 422
spectrum_t, 423
ac, 424
insert, 423
name, 424
spectrum_t, 423
MHA_AC::stat_t, 424
insert, 425
mean, 425
stat_t, 425
std, 425
update, 425
MHA_AC::waveform_t, 425
waveform_t, 426
ac, 427
insert, 427
name, 427
waveform_t, 426
MHA_AC_CHAR
mha.hh, 993
MHA_AC_DOUBLE
mha.hh, 993
MHA_AC_FLOAT
mha.hh, 993
MHA_AC_INT
mha.hh, 993
MHA_AC_MHACOMPLEX
© 2005-2019 HörTech gGmbH, Oldenburg
1138 INDEX
mha.hh, 993
MHA_AC_MHAREAL
mha.hh, 993
MHA_AC_UNKNOWN
mha.hh, 993
MHA_AC_USER
mha.hh, 993
MHA_AC_VEC_FLOAT
mha.hh, 993
MHA_AC, 89
MHA_CALLBACK_TEST_PREFIX
mha.hh, 991
MHA_CALLBACK_TEST
mha.hh, 991
MHA_DOMAIN_MAX
mha.hh, 993
MHA_DOMAIN_UNKNOWN
mha.hh, 993
MHA_EAR_LEFT
mha_defs.h, 998
MHA_EAR_MAX
mha_defs.h, 998
MHA_EAR_RIGHT
mha_defs.h, 998
MHA_ERR_INVALID_HANDLE
mha_errno.h, 1000
MHA_ERR_NULL
mha_errno.h, 1000
MHA_ERR_SUCCESS
mha_errno.h, 1000
MHA_ERR_UNKNOWN
mha_errno.h, 1000
MHA_ERR_USER
mha_errno.h, 1000
MHA_ERR_VARFMT
mha_errno.h, 1000
MHA_ERR_VARRANGE
mha_errno.h, 1000
MHA_Error, 445
MHA_Error, 446
get_longmsg, 446
get_msg, 446
longmsg, 447
MHA_Error, 446
msg, 447
operator=, 446
what, 446
MHA_ErrorMsg
Error handling in the openMHA, 32
MHA_ErrorMsg2
MHAIOTCP.cpp, 1062
MHA_ErrorMsg3
MHAIOTCP.cpp, 1062
MHA_ID_MATRIX
mha_signal.cpp, 1028
MHA_ID_UINT_VECTOR
mha_signal.cpp, 1028
MHA_RELEASE_VERSION_STRING
mha.hh, 992
MHA_RESOLVE_CHECKED
mha_os.h, 1013
MHA_RESOLVE
mha_os.h, 1013
MHA_SPECTRUM
mha.hh, 993
MHA_STRUCT_SIZEMATCH
mha.hh, 992
MHA_STRF
mha.hh, 992
MHA_TCP::Async_Notify, 468
Async_Notify, 469
Async_Notify, 469
pipe, 469
reset, 469
set, 469
MHA_TCP::Client, 469
Client, 470
MHA_TCP::Connection, 471
Connection, 473
buffered_incoming_bytes, 477
buffered_outgoing_bytes, 477
can_read_bytes, 475
can_read_line, 475
can_sysread, 473
can_syswrite, 473
closed, 477
Connection, 473
eof, 474
fd, 477
get_fd, 474
get_peer_address, 474
get_peer_port, 474
get_read_event, 474
get_write_event, 474
inbuf, 477
init_peer_data, 473
needs_write, 476
outbuf, 477
peer_addr, 477
read_bytes, 476
read_event, 477
read_line, 475
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1139
sysread, 473
syswrite, 474
try_write, 476
write, 476
write_event, 477
MHA_TCP::Event_Watcher, 478
Event_Watcher, 479
Events, 479
events, 479
ignore, 479
iterator, 479
observe, 479
wait, 479
MHA_TCP::OS_EVENT_TYPE, 480
fd, 480
mode, 480
R, 480
T, 480
timeout, 480
W, 480
X, 480
MHA_TCP::Server, 481
Server, 482
accept, 482
accept_event, 483
get_accept_event, 482
get_interface, 482
get_port, 482
iface, 483
initialize, 482
port, 483
Server, 481,482
serversocket, 483
sock_addr, 483
try_accept, 483
MHA_TCP::Sockaccept_Event, 484
Sockaccept_Event, 484
MHA_TCP::Sockread_Event, 485
Sockread_Event, 485
MHA_TCP::Sockwrite_Event, 486
Sockwrite_Event, 486
MHA_TCP::Thread, 486
Thread, 489
arg, 489
error, 490
FINISHED, 488
PREPARED, 488
RUNNING, 488
return_value, 489
run, 489
state, 489
thr_f, 488
Thread, 488
thread_arg, 490
thread_attr, 489
thread_finish_event, 489
thread_func, 490
thread_handle, 489
MHA_TCP::Timeout_Event, 490
end_time, 491
get_os_event, 491
Timeout_Event, 491
MHA_TCP::Timeout_Watcher, 491
Timeout_Watcher, 492
timeout, 492
Timeout_Watcher, 492
MHA_TCP::Wakeup_Event, 493
Wakeup_Event, 494
get_os_event, 494
ignored_by, 494
observed_by, 494
observers, 495
os_event, 495
os_event_valid, 495
reset, 494
status, 495
Wakeup_Event, 494
MHA_TCP::sock_init_t, 483
sock_init_t, 484
MHA_TCP, 91
dtime, 93
G_ERRNO, 92
H_ERRNO, 92
HSTRERROR, 92
N_ERRNO, 92
SOCKET, 92
STRERROR, 92
sock_initializer, 93
stime, 93
MHA_VERSION_BUILD
mha.hh, 992
MHA_VERSION_MAJOR
mha.hh, 992
MHA_VERSION_MINOR
mha.hh, 992
MHA_VERSION_RELEASE
mha.hh, 992
MHA_VERSION_STRING
mha.hh, 992
MHA_VERSION
mha.hh, 992
MHA_WAVEFORM
© 2005-2019 HörTech gGmbH, Oldenburg
1140 INDEX
mha.hh, 993
MHA_XSTRF
mha.hh, 992
MHA_assert
Error handling in the openMHA, 33
MHA_assert_equal
Error handling in the openMHA, 33
MHADestroy_cb
PluginLoader::mhapluginloader_t, 884
MHADestroy_t
mha.hh, 994
MHAEvents, 93
MHAEvents::connector_base_t, 506
connector_base_t, 506
connector_base_t, 506
emit_event, 507
emitter_die, 507
emitter_is_alive, 507
MHAEvents::connector_t
connector_t, 509
connector_t, 509
emit_event, 509
emitter, 510
eventhandler, 510
eventhandler_s, 510
eventhandler_suu, 510
receiver, 510
MHAEvents::connector_t<receiver_t >,508
MHAEvents::emitter_t, 510
emitter_t, 511
connect, 511
connections, 511
disconnect, 511
operator(), 511
MHAEvents::patchbay_t
patchbay_t, 512
connect, 512,513
cons, 513
MHAEvents::patchbay_t<receiver_t >,512
MHAFilter, 94
butter_stop_ord1, 96
gcd, 97
make_friendly_number, 96
o1_lp_coeffs, 96
resampling_factors, 97
sinc, 97
spec2fir, 97
MHAFilter::adapt_filter_param_t, 513
adapt_filter_param_t, 514
err_in, 514
mu, 514
MHAFilter::adapt_filter_state_t, 514
adapt_filter_state_t, 515
filter, 515
nchannels, 515
ntaps, 515
od, 515
oy, 515
W, 515
X, 515
MHAFilter::adapt_filter_t, 515
adapt_filter_t, 516
connector, 517
err_in, 517
filter, 516
mu, 517
nchannels, 517
ntaps, 517
set_channelcnt, 516
update_mu, 516
update_ntaps, 516
MHAFilter::blockprocessing_polyphase_-
resampling_t, 517
blockprocessing_polyphase_resampling-
_t, 518
blockprocessing_polyphase_resampling-
_t, 518
can_read, 519
fragsize_in, 519
fragsize_out, 519
num_channels, 519
read, 519
resampling, 519
write, 518
MHAFilter::complex_bandpass_t, 520
A_, 522
B_, 522
complex_bandpass_t, 521
creator_A, 521
creator_B, 521
filter, 521,522
get_weights, 521
inspect, 522
set_state, 521
set_weights, 521
Yn, 522
MHAFilter::diff_t, 522
diff_t, 523
MHAFilter::fftfilter_t, 523
fftfilter_t, 525
channels, 526
fft, 527
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1141
fftfilter_t, 524
fftlen, 526
filter, 525,526
fragsize, 526
sInput, 527
sWeights, 527
update_coeffs, 525
wIRS_fft, 527
wInput, 527
wInput_fft, 526
wOutput, 527
wOutput_fft, 527
MHAFilter::fftfilterbank_t, 527
fftfilterbank_t, 529
fft, 531
fftfilterbank_t, 528
fftlen, 530
filter, 529,530
firchannels, 530
fragsize, 530
get_irs, 530
Hs, 530
hw, 530
inputchannels, 530
outputchannels, 530
tail, 531
update_coeffs, 529
Xs, 530
xw, 530
Ys, 531
yw, 530
yw_temp, 531
MHAFilter::filter_t, 531
filter_t, 533
A, 534
B, 534
channels, 535
filter, 533,534
filter_t, 532,533
get_len_A, 534
get_len_B, 534
len, 535
len_A, 535
len_B, 535
state, 535
MHAFilter::gamma_flt_t, 535
gamma_flt_t, 536
A, 537
bw_, 538
cf_, 538
delay, 537
envelope_delay, 538
gamma_flt_t, 536
get_A, 537
get_resynthesis_gain, 537
get_weights, 537
GF, 537
inspect, 537
operator(), 536,537
phase_correction, 537
reset_state, 537
resynthesis_gain, 538
set_weights, 537
srate_, 538
MHAFilter::iir_filter_state_t, 538
iir_filter_state_t, 539
MHAFilter::iir_filter_t, 539
A, 542
B, 542
connector, 542
filter, 541
iir_filter_t, 540
nchannels, 542
resize, 542
update_filter, 542
MHAFilter::iir_ord1_real_t, 542
A_, 545
B_, 545
iir_ord1_real_t, 543
operator(), 544
set_state, 544
Yn, 545
MHAFilter::o1_ar_filter_t, 545
c1_a, 548
c1_r, 548
c2_a, 548
c2_r, 548
fs, 548
o1_ar_filter_t, 546
operator(), 547,548
set_tau_attack, 547
set_tau_release, 547
MHAFilter::o1flt_lowpass_t, 548
get_c1, 550
get_last_output, 550
o1flt_lowpass_t, 550
set_tau, 550
MHAFilter::o1flt_maxtrack_t, 551
o1flt_maxtrack_t, 552
set_tau, 552
MHAFilter::o1flt_mintrack_t, 552
o1flt_mintrack_t, 554
© 2005-2019 HörTech gGmbH, Oldenburg
1142 INDEX
set_tau, 554
MHAFilter::partitioned_convolution_t, 554
partitioned_convolution_t, 556
bookkeeping, 557
current_input_signal_buffer_half_index,
557
current_output_partition_index, 557
fft, 558
filter_partitions, 556
fragsize, 556
frequency_response, 557
input_signal_spec, 557
input_signal_wave, 556
nchannels_in, 556
nchannels_out, 556
output_partitions, 556
output_signal_spec, 557
output_signal_wave, 557
partitioned_convolution_t, 555
process, 556
MHAFilter::partitioned_convolution_t::index-
_t, 558
delay, 559
index_t, 558,559
source_channel_index, 559
target_channel_index, 559
MHAFilter::polyphase_resampling_t, 559
downsampling_factor, 563
impulse_response, 563
now_index, 563
polyphase_resampling_t, 561
read, 562
readable_frames, 562
ringbuffer, 563
underflow, 563
upsampling_factor, 563
write, 562
MHAFilter::resampling_filter_t, 564
fragsize, 565
fragsize_validator, 565
resampling_filter_t, 564
MHAFilter::smoothspec_t, 565
_linphase_asym, 568
smoothspec_t, 567
fft, 568
fftlen, 568
internal_fir, 568
minphase, 568
nchannels, 568
smoothspec, 567
smoothspec_t, 566
spec2fir, 567
tmp_spec, 568
tmp_wave, 568
window, 568
MHAFilter::thirdoctave_analyzer_t, 568
bw_generator, 569
cf, 569
cf_generator, 569
cfg_, 569
dup, 569
fb, 570
get_cf_hz, 569
nbands, 569
nchannels, 569
out_chunk, 570
out_chunk_im, 570
process, 569
thirdoctave_analyzer_t, 569
MHAFilter::transfer_function_t, 570
impulse_response, 572
isempty, 572
non_empty_partitions, 571
partitions, 571
source_channel_index, 572
target_channel_index, 572
transfer_function_t, 571
MHAFilter::transfer_matrix_t, 573
non_empty_partitions, 573
partitions, 573
MHAGetVersion_cb
PluginLoader::mhapluginloader_t, 884
MHAGetVersion_t
mha.hh, 993
MHAIOFile.cpp, 1046
DEBUG, 1047
dummy_interface_test, 1048,1049
ERR_IHANDLE, 1047
ERR_SUCCESS, 1047
ERR_USER, 1048
IODestroy, 1048,1049
IOInit, 1048
IOPrepare, 1048
IORelease, 1048,1049
IOSetVar, 1048,1049
IOStart, 1048
IOStop, 1048
IOStrError, 1048,1049
MAX_USER_ERR, 1048
user_err_msg, 1049
MHAIOJack, 98
MHAIOJack.cpp, 1049
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1143
dummy_interface_test, 1051,1052
ERR_IHANDLE, 1050
ERR_SUCCESS, 1050
ERR_USER, 1050
IODestroy, 1051,1052
IOInit, 1050,1051
IOPrepare, 1051
IORelease, 1051
IOSetVar, 1051
IOStart, 1051
IOStop, 1051
IOStrError, 1051,1052
MAX_USER_ERR, 1050
user_err_msg, 1052
MHAIOJack::io_jack_t, 574
clientname, 576
connections_in, 576
connections_out, 576
delays_in, 576
delays_out, 577
fw_fragsize, 576
fw_samplerate, 576
get_all_input_ports, 576
get_all_output_ports, 576
get_delays_in, 576
get_delays_out, 576
get_physical_input_ports, 576
get_physical_output_ports, 576
io_jack_t, 575
patchbay, 577
portnames_in, 577
portnames_out, 577
ports_in_all, 577
ports_in_physical, 577
ports_out_all, 577
ports_out_physical, 577
ports_parser, 577
prepare, 575
read_get_cpu_load, 576
read_get_scheduler, 576
read_get_xruns, 576
reconnect_inports, 576
reconnect_outports, 576
release, 575
servername, 576
state_cpuload, 577
state_parser, 577
state_priority, 577
state_scheduler, 577
state_xruns, 577
MHAIOJackdb, 98
MHAIOJackdb.cpp, 1052
dummy_interface_test, 1053,1054
ERR_IHANDLE, 1053
ERR_SUCCESS, 1053
ERR_USER, 1053
IODestroy, 1053,1054
IOInit, 1053,1054
IOPrepare, 1053,1054
IORelease, 1053,1054
IOSetVar, 1053,1054
IOStart, 1053,1054
IOStop, 1053,1054
IOStrError, 1053,1054
MAX_USER_ERR, 1053
user_err_msg, 1054
MHAIOJackdb::io_jack_t, 578
clientname, 581
connections_in, 581
connections_out, 581
fail_on_async_jackerr, 581
fail_on_async_jackerror, 580
fragsize_ratio, 581
get_all_input_ports, 581
get_all_output_ports, 581
get_physical_input_ports, 580
get_physical_output_ports, 581
IOProcessEvent_inner, 580
io_jack_t, 580
locate, 582
mha_fragsize, 581
mha_samplerate, 581
patchbay, 582
portnames_in, 581
portnames_out, 581
ports_in_all, 582
ports_in_physical, 582
ports_out_all, 582
ports_out_physical, 582
ports_parser, 582
prepare, 580
proc_event, 581
proc_handle, 581
pwinner_out, 582
read_get_cpu_load, 581
read_get_scheduler, 581
read_get_xruns, 581
reconnect_inports, 580
reconnect_outports, 580
release, 580
server_fragsize, 582
server_srate, 582
© 2005-2019 HörTech gGmbH, Oldenburg
1144 INDEX
servername, 581
set_locate, 581
set_use_jack_transport, 581
state_cpuload, 582
state_parser, 582
state_priority, 582
state_scheduler, 582
state_xruns, 582
use_jack_transport, 581
MHAIOParser.cpp, 1055
dummy_interface_test, 1056,1057
ERR_IHANDLE, 1056
ERR_SUCCESS, 1056
ERR_USER, 1056
IODestroy, 1056,1057
IOInit, 1056
IOPrepare, 1056
IORelease, 1056,1057
IOSetVar, 1056,1057
IOStart, 1056
IOStop, 1056,1057
IOStrError, 1056,1057
MAX_USER_ERR, 1056
user_err_msg, 1057
MHAIOPortAudio, 98
parserFriendlyName, 99
MHAIOPortAudio.cpp, 1057
dummy_interface_test, 1059,1060
ERR_IHANDLE, 1059
ERR_SUCCESS, 1059
ERR_USER, 1059
IODestroy, 1059,1060
IOInit, 1059
IOPrepare, 1059
IORelease, 1059,1060
IOSetVar, 1059,1060
IOStart, 1059,1060
IOStop, 1059,1060
IOStrError, 1059,1060
MAX_USER_ERR, 1059
portaudio_callback, 1059,1060
user_err_msg, 1060
MHAIOPortAudio::device_info_t, 583
defaultHighInputLatency, 584
defaultHighOutputLatency, 584
defaultLowInputLatency, 584
defaultLowOutputLatency, 584
defaultSampleRate, 584
device_info_t, 584
fill_info, 584
hostApi, 584
maxInputChannels, 584
maxOutputChannels, 584
name, 584
numDevices, 584
structVersion, 584
MHAIOPortAudio::io_portaudio_t, 585
io_portaudio_t, 586
cmd_prepare, 586
cmd_release, 587
cmd_start, 586
cmd_stop, 586
device_index, 587
device_index_updated, 586
device_info, 587
device_name, 587
device_name_updated, 586
fragsize, 587
io_portaudio_t, 586
nchannels_in, 587
nchannels_out, 587
patchbay, 587
portaudio_callback, 587
portaudio_stream, 587
proc_event, 587
proc_handle, 587
s_in, 587
s_out, 587
samplerate, 587
start_event, 587
start_handle, 587
stop_event, 587
stop_handle, 587
MHAIOTCP.cpp, 1060
copy_error, 1063
dummy_interface_test, 1062,1063
ERR_IHANDLE, 1062
ERR_SUCCESS, 1062
ERR_USER, 1062
IODestroy, 1062,1063
IOInit, 1062,1063
IOPrepare, 1062,1063
IORelease, 1062,1063
IOSetVar, 1062,1063
IOStart, 1062,1063
IOStop, 1062,1063
IOStrError, 1062,1063
MAX_TCP_PORT_STR, 1062
MAX_TCP_PORT, 1062
MAX_USER_ERR, 1062
MHA_ErrorMsg2, 1062
MHA_ErrorMsg3, 1062
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1145
MIN_TCP_PORT_STR, 1062
MIN_TCP_PORT, 1062
thread_startup_function, 1063
user_err_msg, 1064
MHAIOalsa.cpp, 1044
DBG, 1045
dummy_interface_test, 1045,1046
ERR_IHANDLE, 1045
ERR_SUCCESS, 1045
ERR_USER, 1045
IODestroy, 1045,1046
IOInit, 1045
IOPrepare, 1045,1046
IORelease, 1045,1046
IOSetVar, 1045,1046
IOStart, 1045,1046
IOStop, 1045,1046
IOStrError, 1045,1046
MAX_USER_ERR, 1045
user_err_msg, 1046
MHAInit_cb
PluginLoader::mhapluginloader_t, 884
MHAInit_t
mha.hh, 993
MHAJACK_FW_STARTED
mhajack.h, 1066
MHAJACK_STARTING
mhajack.h, 1066
MHAJACK_STOPPED
mhajack.h, 1066
MHAJack, 99
get_port_capture_latency, 100
get_port_capture_latency_int, 100
get_port_playback_latency, 101
get_port_playback_latency_int, 101
io, 100
MHAJack::client_avg_t, 588
b_ready, 590
b_stopped, 590
client_avg_t, 589
frag_out, 590
IOStoppedEvent, 590
io, 589
n, 590
name, 590
nrep, 590
pos, 590
proc, 590
sn_in, 590
sn_out, 590
MHAJack::client_noncont_t, 591
b_stopped, 592
client_noncont_t, 592
frag_out, 593
IOStoppedEvent, 592
io, 592
name, 593
pos, 592
proc, 592
sn_in, 592
sn_out, 593
MHAJack::client_t, 593
b_prepared, 599
client_t, 595
connect_input, 596
connect_output, 596
fail_on_async_jackerror, 599
flags, 599
fragsize, 598
get_cpu_load, 597
get_fragsize, 596
get_my_input_ports, 597
get_my_output_ports, 597
get_ports, 597
get_srate, 597
get_xruns, 597
get_xruns_reset, 597
inch, 599
input_portnames, 599
internal_start, 598
internal_stop, 598
jack_proc_cb, 598
jack_xrun_cb, 598
jc, 599
jstate_prev, 599
nchannels_in, 598
nchannels_out, 598
num_xruns, 598
outch, 599
output_portnames, 599
prepare, 595,596
prepare_impl, 597
proc_event, 598
proc_handle, 598
release, 596
s_in, 599
s_out, 599
samplerate, 598
set_input_portnames, 597
set_output_portnames, 597
set_use_jack_transport, 597
start, 596
© 2005-2019 HörTech gGmbH, Oldenburg
1146 INDEX
start_event, 599
start_handle, 599
stop, 596
stop_event, 599
stop_handle, 599
stopped, 598
str_error, 597
use_jack_transport, 599
MHAJack::port_t, 599
port_t, 601
connect_to, 602
dir_t, 600
dir_type, 602
get_short_name, 602
input, 600
iob, 602
jc, 602
mute, 601
output, 600
port, 602
port_t, 600,601
read, 601
write, 601
MHAKernel, 101
algo_comm_safe_cast, 101
MHAKernel::algo_comm_class_t, 603
algo_comm_class_t, 604
ac, 606
algo_comm_class_t, 604
algo_comm_id_string, 606
algo_comm_id_string_len, 606
get_c_handle, 604
get_entries, 605
get_error, 605
get_var, 605
get_var_float, 605
get_var_int, 605
insert_var, 604
insert_var_float, 604
insert_var_int, 604
is_var, 604
local_get_entries, 605
local_get_var, 605
local_insert_var, 605
local_is_var, 605
local_remove_ref, 605
local_remove_var, 605
remove_ref, 604
remove_var, 604
size, 605
vars, 606
MHAKernel::comm_var_map_t, 606
has_key, 606
MHAMultiSrc, 101
MHAMultiSrc::base_t, 607
ac, 608
base_t, 608
select_source, 608
MHAMultiSrc::channel_t, 608
channel, 608
name, 608
MHAMultiSrc::channels_t, 609
channels_t, 609
MHAMultiSrc::spectrum_t, 610
spectrum_t, 610
update, 610
MHAMultiSrc::waveform_t, 611
update, 612
waveform_t, 612
MHAOvlFilter, 102
scale_fun_t, 103
MHAOvlFilter::FreqScaleFun, 103
hz2bark, 105
hz2bark_analytic, 105
hz2erb, 105
hz2erb_glasberg1990, 105
hz2hz, 104
hz2khz, 104
hz2log, 105
hz2octave, 104
hz2third_octave, 104
inv_scale, 105
MHAOvlFilter::ShapeFun, 106
expflt, 107
gauss, 107
hann, 107
linear, 106
rect, 106
MHAOvlFilter::band_descriptor_t, 612
cf, 613
cf_h, 613
cf_l, 613
ef_h, 613
ef_l, 613
high_side_flat, 613
low_side_flat, 613
MHAOvlFilter::barkscale, 103
vbark, 103
vfreq, 103
MHAOvlFilter::barkscale::bark2hz_t, 613
bark2hz_t, 614
bark2hz_t, 614
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1147
MHAOvlFilter::barkscale::hz2bark_t, 614
hz2bark_t, 615
hz2bark_t, 615
MHAOvlFilter::fftfb_ac_info_t, 615
bwv, 616
cLTASS, 616
cfv, 615
efv, 615
fftfb_ac_info_t, 615
insert, 615
MHAOvlFilter::fftfb_t, 616
fftfb_t, 617
apply_gains, 617
bin1, 618
bin2, 618
fftfb_t, 617
fftlen, 618
get_fbpower, 617
get_fbpower_db, 617
get_fftlen, 618
get_ltass_gain_db, 618
samplingrate, 618
shape, 618
vbin1, 618
vbin2, 618
w, 618
MHAOvlFilter::fftfb_vars_t, 619
cLTASS, 621
cf, 621
ef, 621
f, 621
fail_on_nonmonotonic, 621
fail_on_unique_bins, 621
fftfb_vars_t, 620
fscale, 620
ftype, 621
normalize, 621
ovltype, 620
plateau, 620
shapes, 621
MHAOvlFilter::fscale_bw_t, 622
bw, 623
bw_hz, 623
fscale_bw_t, 623
get_bw_hz, 623
update_hz, 623
updater, 623
MHAOvlFilter::fscale_t, 623
f, 624
f_hz, 624
fscale_t, 624
get_f_hz, 624
unit, 624
update_hz, 624
updater, 624
MHAOvlFilter::fspacing_t, 625
bands, 626
cf2bands, 626
ef2bands, 626
equidist2bands, 626
fail_on_nonmonotonic_cf, 626
fail_on_unique_fftbins, 626
fs_, 626
fspacing_t, 626
get_cf_fftbin, 626
get_cf_hz, 626
get_ef_hz, 626
nbands, 626
nfft_, 626
symmetry_scale, 626
MHAOvlFilter::overlap_save_filterbank_-
analytic_t, 627
filter_analytic, 628
imagfb, 628
overlap_save_filterbank_analytic_t, 628
MHAOvlFilter::overlap_save_filterbank_t, 628
channelconfig_out_, 630
get_channelconfig, 630
overlap_save_filterbank_t, 630
MHAOvlFilter::overlap_save_filterbank_t-
::vars_t, 630
fftlen, 631
irswnd, 631
phasemodel, 631
vars_t, 631
MHAOvlFilter::scale_var_t, 632
add_fun, 633
funs, 633
get_fun, 633
get_name, 633
hz2unit, 633
names, 633
scale_var_t, 633
unit2hz, 633
MHAPLATFORM
mha_parser.cpp, 1016
MHAPLUGIN_CALLBACKS_PREFIX
The openMHA Plugins (programming in-
terface), 9
MHAPLUGIN_CALLBACKS
The openMHA Plugins (programming in-
terface), 9
© 2005-2019 HörTech gGmbH, Oldenburg
1148 INDEX
MHAPLUGIN_DOCUMENTATION_PREFIX
mha_plugin.hh, 1023
MHAPLUGIN_DOCUMENTATION
The openMHA Plugins (programming in-
terface), 10
MHAPLUGIN_INIT_CALLBACKS_PREFIX
mha_plugin.hh, 1023
MHAPLUGIN_INIT_CALLBACKS
mha_plugin.hh, 1023
MHAPLUGIN_OVERLOAD_OUTDOMAIN
altplugs.cpp, 967
mha_generic_chain.h, 1008
split.cpp, 1079
wave2spec.cpp, 1083
MHAPLUGIN_PROC_CALLBACK_PREFIX
mha_plugin.hh, 1023
MHAPLUGIN_PROC_CALLBACK
mha_plugin.hh, 1023
MHAParser, 107
all_dump, 111
all_ids, 111
c_parse_cmd_t, 111
c_parse_err_t, 111
cfg_dump, 111
cfg_dump_short, 111
commentate, 111
entry_map_t, 111
envreplace, 112
get_precision, 111
mon_dump, 111
opact_map_t, 111
opact_t, 111
query_map_t, 111
query_t, 111
strreplace, 111
trim, 111
MHAParser::StrCnv, 112
bracket_balance, 114
num_brackets, 113
str2val, 114,115
str2val<mha_real_t >,114
val2str, 115,116
MHAParser::base_t, 634
base_t, 637
activate_query, 641
add_parent_on_insert, 641
add_replace_pair, 641
base_t, 637
data_is_initialized, 642
fullname, 641
help, 642
id_str, 642
nested_lock, 642
notify, 641
op_query, 638
op_setval, 638
op_subparse, 638
operators, 642
oplist, 641
parent, 642
parse, 637,638
prereadaccess, 642
queries, 642
query_addsubst, 640
query_cmds, 640
query_dump, 638
query_entries, 638
query_help, 640
query_id, 640
query_listids, 640
query_perm, 639
query_range, 639
query_readfile, 639
query_savefile, 639
query_savefile_compact, 640
query_savemons, 640
query_subst, 640
query_type, 639
query_val, 639
query_version, 640
readaccess, 642
repl_list, 642
repl_list_t, 637
rm_parent_on_remove, 641
set_help, 641
set_node_id, 640
thefullname, 642
valuechanged, 641
writeaccess, 641
MHAParser::base_t::replace_t, 643
a, 643
b, 643
get_a, 643
get_b, 643
replace, 643
replace_t, 643
MHAParser::bool_mon_t, 644
bool_mon_t, 644
data, 645
query_type, 645
query_val, 645
MHAParser::bool_t, 645
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1149
bool_t, 647
data, 647
op_setval, 647
query_type, 647
query_val, 647
MHAParser::c_ifc_parser_t, 648
c_ifc_parser_t, 649
c_ifc_parser_t, 649
c_parse_cmd, 650
c_parse_err, 650
libdata, 650
liberr, 650
modulename, 650
op_query, 649
op_setval, 649
op_subparse, 649
ret_size, 650
retv, 650
set_parse_cb, 649
test_error, 649
MHAParser::commit_t
commit_t, 652
extern_connector, 652
MHAParser::commit_t<receiver_t >,650
MHAParser::complex_mon_t, 652
complex_mon_t, 653
data, 654
query_type, 653
query_val, 653
MHAParser::complex_t, 654
complex_t, 655
data, 656
op_setval, 655
query_type, 655
query_val, 655
MHAParser::entry_t, 656
entry, 656
entry_t, 656
name, 656
MHAParser::expression_t, 657
expression_t, 657
lval, 657
op, 657
rval, 657
MHAParser::float_mon_t, 658
data, 659
float_mon_t, 658
query_type, 659
query_val, 659
MHAParser::float_t, 659
data, 662
float_t, 661
op_setval, 661
query_type, 661
query_val, 661
MHAParser::int_mon_t, 662
data, 664
int_mon_t, 663
query_type, 663
query_val, 663
MHAParser::int_t, 664
data, 666
int_t, 665
op_setval, 666
query_type, 666
query_val, 666
MHAParser::keyword_list_t, 666
add_entry, 668
empty_string, 669
entries, 669
get_entries, 668
get_index, 668
get_value, 668
index, 669
keyword_list_t, 667
set_entries, 668
set_index, 668
set_value, 668
size_t, 667
validate, 668
MHAParser::kw_t, 669
data, 672
isval, 671
kw_t, 670,671
op_setval, 671
query_range, 671
query_type, 671
query_val, 671
set_range, 671
validate, 671
MHAParser::mcomplex_mon_t, 672
data, 673
mcomplex_mon_t, 673
query_type, 673
query_val, 673
MHAParser::mcomplex_t, 674
data, 675
mcomplex_t, 675
op_setval, 675
query_type, 675
query_val, 675
MHAParser::mfloat_mon_t, 676
© 2005-2019 HörTech gGmbH, Oldenburg
1150 INDEX
data, 677
mfloat_mon_t, 676
query_type, 677
query_val, 677
MHAParser::mfloat_t, 677
data, 680
mfloat_t, 679
op_setval, 679
query_type, 679
query_val, 679
MHAParser::mhaconfig_mon_t, 680
channels, 681
domain, 681
fftlen, 681
fragsize, 681
mhaconfig_mon_t, 681
srate, 682
update, 681
wndlen, 681
MHAParser::mhapluginloader_t, 682
mhapluginloader_t, 683
ac_, 684
bookkeeping, 684
cf_in_, 684
cf_out_, 684
connector, 684
get_cfin, 684
get_cfout, 684
get_last_name, 684
last_name, 684
load_plug, 684
mhapluginloader_t, 683
parent_, 684
plug, 684
plugname, 684
plugname_name_, 684
prefix_, 684
prepare, 683
process, 683,684
release, 683
MHAParser::mint_mon_t, 685
data, 686
mint_mon_t, 685
query_type, 686
query_val, 686
MHAParser::monitor_t, 686
monitor_t, 687
op_query, 687
query_dump, 687
query_perm, 687
MHAParser::parser_t, 688
parser_t, 690
entries, 692
force_remove_item, 690
id_string, 692
insert_item, 690
last_errormsg, 692
op_query, 691
op_setval, 691
op_subparse, 691
parser_t, 689
query_dump, 691
query_entries, 691
query_listids, 692
query_readfile, 691
query_savefile, 691
query_savefile_compact, 692
query_savemons, 692
query_type, 691
query_val, 692
remove_item, 690,691
set_id_string, 692
srcfile, 692
srcline, 692
MHAParser::range_var_t, 693
check_low, 695
check_range, 695
check_up, 695
low_incl, 695
low_limit, 695
query_range, 694
range_var_t, 694
set_range, 694
up_incl, 695
up_limit, 695
validate, 694,695
MHAParser::string_mon_t, 696
data, 697
query_type, 697
query_val, 697
string_mon_t, 696
MHAParser::string_t, 697
data, 699
op_setval, 699
query_type, 699
query_val, 699
string_t, 699
MHAParser::variable_t, 700
locked, 701
op_setval, 701
query_perm, 701
setlock, 701
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1151
variable_t, 701
MHAParser::vcomplex_mon_t, 702
data, 704
query_type, 704
query_val, 704
vcomplex_mon_t, 703
MHAParser::vcomplex_t, 704
data, 706
op_setval, 706
query_type, 706
query_val, 706
vcomplex_t, 706
MHAParser::vfloat_mon_t, 707
data, 708
query_type, 708
query_val, 708
vfloat_mon_t, 708
MHAParser::vfloat_t, 709
data, 711
op_setval, 710
query_type, 710
query_val, 710
vfloat_t, 710
MHAParser::vint_mon_t, 711
data, 712
query_type, 712
query_val, 712
vint_mon_t, 712
MHAParser::vint_t, 713
data, 715
op_setval, 714
query_type, 714
query_val, 714
vint_t, 714
MHAParser::vstring_mon_t, 715
data, 716
query_type, 716
query_val, 716
vstring_mon_t, 716
MHAParser::vstring_t, 717
data, 718
op_setval, 718
query_type, 718
query_val, 718
vstring_t, 718
MHAParser::window_t, 719
get_type, 721
get_window, 720,721
user, 721
window_t, 720
wnd_bartlett, 720
wnd_blackman, 720
wnd_hamming, 720
wnd_hann, 720
wnd_rect, 720
wnd_user, 720
wtype, 721
wtype_t, 720
MHAPlugin, 116
MHAPlugin::cfg_chain_t
cfg_chain_t, 723
cfg_chain_t, 723
data, 723
next, 723
not_in_use, 723
MHAPlugin::cfg_chain_t<runtime_cfg_t >,
722
MHAPlugin::config_t
config_t, 726
cfg, 728
cfg_chain, 728
cfg_chain_current, 728
cleanup_unused_cfg, 728
config_t, 726
last_config, 726
poll_config, 726
push_config, 726
remove_all_cfg, 728
MHAPlugin::config_t<runtime_cfg_t >,723
MHAPlugin::plugin_t
plugin_t, 730
ac, 732
input_cfg, 731
input_cfg_, 732
is_prepared, 731
is_prepared_, 732
mhaconfig_in, 732
mhaconfig_out, 732
output_cfg, 732
output_cfg_, 732
plugin_t, 730
prepare, 730
prepare_, 731
release, 731
release_, 731
tftype, 732
MHAPlugin::plugin_t<runtime_cfg_t >,728
MHAPlugin_Resampling, 117
MHAPlugin_Resampling::resampling_if_-
t, 733
algo, 734
chain, 734
© 2005-2019 HörTech gGmbH, Oldenburg
1152 INDEX
fragsize, 734
irslen_inner2outer, 734
irslen_outer2inner, 734
nyquist_ratio, 734
plugloader, 734
prepare, 734
process, 734
release, 734
resampling_if_t, 734
srate, 734
MHAPlugin_Resampling::resampling_t, 735
inner2outer_resampling, 736
inner_fragsize, 736
inner_signal, 736
inner_srate, 736
nchannels_in, 736
nchannels_out, 736
outer2inner_resampling, 736
outer_fragsize, 735
outer_srate, 736
output_signal, 736
plugloader, 736
process, 735
resampling_t, 735
MHAPlugin_Split, 117
INVALID_THREAD_PRIORITY, 118
MHAPlugin_Split::domain_handler_t, 736
domain_handler_t, 738
deallocate_domains, 739
domain_handler_t, 738
get_signal, 740
operator=, 738
process, 740
processor, 741
put_signal, 739
set_input_domain, 738
set_output_domain, 738
spec_in, 741
spec_out, 741
wave_in, 741
wave_out, 741
MHAPlugin_Split::dummy_threads_t, 741
catch_thread, 742
dummy_threads_t, 742
kick_thread, 742
MHAPlugin_Split::posix_threads_t, 743
posix_threads_t, 745
attr, 746
catch_condition, 746
catch_thread, 745
current_thread_priority, 745
current_thread_scheduler, 745
kick_condition, 745
kick_thread, 745
kicked, 746
main, 745
mutex, 745
posix_threads_t, 744
priority, 746
processing_done, 746
scheduler, 746
termination_request, 746
thread, 746
thread_start, 745
MHAPlugin_Split::split_t, 747
split_t, 749
algos, 750
chains, 751
channels, 750
clear_chains, 749
collect_result, 749
copy_output_spec, 749
copy_output_wave, 749
delay, 751
framework_thread_priority, 751
framework_thread_scheduler, 750
patchbay, 750
prepare_, 749
process, 749
release_, 749
signal_out, 750
spec_out, 751
split_t, 749
thread_platform, 750
trigger_processing, 749
update, 749
wave_out, 751
worker_thread_priority, 750
worker_thread_scheduler, 750
MHAPlugin_Split::splitted_part_t, 751
splitted_part_t, 753
collect_result, 755
domain, 755
operator=, 754
parse, 754
plug, 755
prepare, 754
release, 754
splitted_part_t, 753
thread, 756
trigger_processing, 755
MHAPlugin_Split::thread_platform_t, 756
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1153
thread_platform_t, 757
catch_thread, 758
kick_thread, 758
operator=, 758
processor, 758
thread_platform_t, 757
MHAPlugin_Split::uni_processor_t, 759
uni_processor_t, 759
process, 760
MHAPluginCategory_t
mha.hh, 994
MHAPluginDocumentation_t
mha.hh, 994
MHAPrepare_cb
PluginLoader::mhapluginloader_t, 884
MHAPrepare_t
mha.hh, 993
MHAProc_spec2spec_cb
PluginLoader::mhapluginloader_t, 884
MHAProc_spec2spec_t
mha.hh, 994
MHAProc_spec2wave_cb
PluginLoader::mhapluginloader_t, 885
MHAProc_spec2wave_t
mha.hh, 994
MHAProc_wave2spec_cb
PluginLoader::mhapluginloader_t, 884
MHAProc_wave2spec_t
mha.hh, 994
MHAProc_wave2wave_cb
PluginLoader::mhapluginloader_t, 884
MHAProc_wave2wave_t
mha.hh, 994
MHARelease_cb
PluginLoader::mhapluginloader_t, 884
MHARelease_t
mha.hh, 993
MHASet_cb
PluginLoader::mhapluginloader_t, 885
MHASet_t
mha.hh, 994
MHASignal, 118
copy_permuted, 124
kth_smallest, 121
limit, 121
mean, 123
median, 122
quantile, 123
saveas_mat4, 123,124
scale, 121
signal_counter, 125
MHASignal::async_rmslevel_t, 763
async_rmslevel_t, 764
filled, 765
peaklevel, 765
pos, 765
process, 765
rmslevel, 764
MHASignal::delay_spec_t, 765
delay_spec_t, 766
buffer, 766
delay, 766
delay_spec_t, 766
pos, 766
process, 766
MHASignal::delay_t, 766
delay_t, 767
buffer, 768
channels, 768
delay_t, 767
delays, 768
inspect, 768
pos, 768
process, 767
MHASignal::delay_wave_t, 768
delay_wave_t, 769
buffer, 769
delay, 769
delay_wave_t, 769
pos, 769
process, 769
MHASignal::doublebuffer_t, 769
doublebuffer_t, 771
ch, 772
doublebuffer_t, 770
inner_in, 772
inner_out, 772
inner_process, 771
k_inner, 772
k_outer, 772
min, 771
outer_out, 772
outer_process, 771
this_outer_out, 772
MHASignal::fft_t, 772
fft_t, 773
backward, 774
backward_scale, 774
buf_in, 775
buf_out, 775
fft_t, 773
fftw_plan_fft, 775
© 2005-2019 HörTech gGmbH, Oldenburg
1154 INDEX
fftw_plan_ifft, 775
fftw_plan_spec2wave, 775
fftw_plan_wave2spec, 775
forward, 773
forward_scale, 774
n_im, 775
n_re, 775
nfft, 775
scale, 775
sort_fftw2spec, 774
sort_spec2fftw, 774
spec2wave, 773
spec2wave_scale, 774
wave2spec, 773
wave2spec_scale, 774
MHASignal::hilbert_fftw_t, 775
buf_c_in, 776
buf_c_out, 776
buf_r_in, 776
buf_r_out, 776
hilbert, 776
hilbert_fftw_t, 776
n, 776
p1, 776
p2, 776
sc, 776
MHASignal::hilbert_t, 776
hilbert_t, 777
h, 777
hilbert_t, 777
operator(), 777
MHASignal::loop_wavefragment_t, 778
add, 779
b_loop, 781
get_mapping, 780
input, 779
intern_level, 781
is_playback_active, 781
level_mode_t, 779
locate_end, 781
loop_wavefragment_t, 779
mute, 779
peak, 779
playback, 780,781
playback_channels, 781
playback_mode_t, 779
pos, 781
relative, 779
replace, 779
rewind, 781
rms, 779
rms_limit40, 779
set_level_db, 781
set_level_lin, 781
MHASignal::matrix_t, 782
matrix_t, 785
cdata, 790
complex_ofs, 790
dimension, 786
get_cdata, 790
get_comm_var, 785
get_index, 789
get_nelements, 786
get_nreals, 789
get_rdata, 790
imag, 787789
is_same_size, 786
iscomplex, 786
matrix_t, 784,785
nelements, 790
numbytes, 789
operator(), 787789
operator=, 785
rdata, 790
real, 786788
size, 786
write, 789
MHASignal::minphase_t, 790
minphase_t, 791
operator(), 791
phase, 792
MHASignal::quantizer_t, 792
downscale, 793
limit, 793
operator(), 793
quantizer_t, 792
up_limit, 793
upscale, 793
MHASignal::ringbuffer_t, 793
contained_frames, 795
discard, 796
next_read_frame_index, 796
next_write_frame_index, 797
ringbuffer_t, 795
value, 795
write, 796
MHASignal::schroeder_t, 797
down, 799
groupdelay_t, 798
identity, 800
log_down, 800
log_up, 800
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1155
schroeder_t, 799
sign_t, 799
up, 799
MHASignal::spectrum_t, 800
spectrum_t, 802
copy, 803
copy_channel, 804
export_to, 804
operator(), 803
operator[], 803
scale, 804
scale_channel, 805
spectrum_t, 802
value, 803
MHASignal::stat_t, 805
mean, 806
mean_std, 806
n, 806
push, 806
stat_t, 806
sum, 806
sum2, 806
MHASignal::subsample_delay_t, 806
last_complex_bin, 808
phase_gains, 808
process, 808
subsample_delay_t, 807
MHASignal::uint_vector_t, 809
uint_vector_t, 810
data, 811
get_length, 811
getdata, 811
length, 811
numbytes, 811
operator=, 810
operator==, 810
operator[], 811
uint_vector_t, 810
write, 811
MHASignal::waveform_t, 812
waveform_t, 814
assign, 818
assign_channel, 818
assign_frame, 818
copy, 819
copy_channel, 819
copy_from_at, 819
export_to, 820
get_size, 822
limit, 820
operator(), 815,816
operator=, 815
operator[], 815
power, 820
powspec, 821
scale, 821
scale_channel, 821
scale_frame, 822
sum, 816,817
sum_channel, 817
sumsqr, 817
value, 815,816
waveform_t, 814
MHASndFile, 125
MHASndFile::sf_t, 822
sf_t, 823
sf, 823
sf_t, 823
MHASndFile::sf_wave_t, 823
sf_wave_t, 824
MHAStrError_cb
PluginLoader::mhapluginloader_t, 885
MHAStrError_t
mha.hh, 994
MHATableLookup, 125
MHATableLookup::linear_table_t, 824
linear_table_t, 826
add_entry, 827
clear, 827
interp, 826
len, 828
linear_table_t, 826
lookup, 826
prepare, 827
scalefac, 828
set_xmax, 827
set_xmin, 826
vec_y, 828
vy, 828
xmax, 828
xmin, 828
MHATableLookup::table_t, 828
table_t, 829
clear, 829
interp, 829
lookup, 829
table_t, 829
MHATableLookup::xy_table_t, 830
add_entry, 832
clear, 832
get_xlimits, 833
interp, 831
© 2005-2019 HörTech gGmbH, Oldenburg
1156 INDEX
lookup, 831
mXY, 833
set_xfun, 832
set_xyfun, 833
set_yfun, 833
xfun, 833
xy_table_t, 831
xyfun, 833
yfun, 833
MHAWindow, 125
bartlett, 126
blackman, 127
hamming, 127
hanning, 127
rect, 126
MHAWindow::bartlett_t, 834
bartlett_t, 834
MHAWindow::base_t, 835
base_t, 835,836
operator(), 836
ramp_begin, 836
ramp_end, 836
MHAWindow::blackman_t, 837
blackman_t, 837
MHAWindow::fun_t, 838
fun_t, 838
MHAWindow::hamming_t, 839
hamming_t, 840
MHAWindow::hanning_t, 840
hanning_t, 841
MHAWindow::rect_t, 841
rect_t, 842
MHAWindow::user_t, 842
user_t, 843
MIN_TCP_PORT_STR
MHAIOTCP.cpp, 1062
MIN_TCP_PORT
MHAIOTCP.cpp, 1062
MIN
mha_defs.h, 998
mXY
MHATableLookup::xy_table_t, 833
main
analysemhaplugin.cpp, 967
browsemhaplugins.cpp, 969
generatemhaplugindoc.cpp, 982
MHAPlugin_Split::posix_threads_t, 745
mha.cpp, 989
testalsadevice.c, 1080
make_friendly_number
MHAFilter, 96
mhajack.cpp, 1064
make_friendly_number_by_limiting
nlms_wave.cpp, 1070
prediction_error.cpp, 1072
mapping
addsndfile::addsndfile_if_t, 182
coherence::vars_t, 242
matmix_t
matrixmixer::matmix_t, 411
matrix_t
MHASignal::matrix_t, 784,785
matrixmixer, 89
matrixmixer.cpp, 988
matrixmixer::cfg_t, 408
cfg_t, 409
m, 409
process, 409
sout, 409
wout, 409
matrixmixer::matmix_t, 410
ci, 411
co, 411
matmix_t, 411
mixer, 411
patchbay, 411
prepare, 411
process, 411
update_m, 411
max
spec2wave.cpp, 1075
Vector and matrix processing toolbox, 59
max_clipped
softclipper_variables_t, 920
max_fill_count
mha_fifo_t, 456
max_frames
acsave::cfg_t, 169
max_lag
doasvm_feature_extraction, 285
max_level_difference
dc::dc_t, 257
dc::dc_vars_t, 259
max_p_ind_name
doasvm_classification, 281
max_pool_ind_name
acPooling_wave, 162
max_q
timoConfig, 943
max_q_AC
timo_AC, 938
max_val
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1157
timoConfig, 943
max_val_AC
timo_AC, 938
maxInputChannels
MHAIOPortAudio::device_info_t, 584
maxOutputChannels
MHAIOPortAudio::device_info_t, 584
maxabs
Vector and matrix processing toolbox, 57,
58
maxframe
acsave::save_var_t, 171
maxgain
dc_simple::dc_t, 267
dc_simple::dc_vars_t, 269
DynComp::dc_afterburn_rt_t, 294
DynComp::dc_afterburn_vars_t, 298
maximum_reader_xruns_in_succession_-
before_stop
mha_drifter_fifo_t, 444
maximum_writer_xruns_in_succession_-
before_stop
mha_drifter_fifo_t, 444
maxlen
plingploing::if_t, 867
maxlen_
plingploing::plingploing_t, 869
mcomplex_mon_t
MHAParser::mcomplex_mon_t, 673
mcomplex_t
MHAParser::mcomplex_t, 675
mean
MHA_AC::stat_t, 425
MHASignal, 123
MHASignal::stat_t, 806
mean_std
MHASignal::stat_t, 806
median
MHASignal, 122
mfloat_mon_t
MHAParser::mfloat_mon_t, 676
mfloat_t
MHAParser::mfloat_t, 679
mha
speechnoise_t, 925
mha.cpp, 989
main, 989
mhamain, 989
mha.hh, 989
algo_comm_t, 993
MHA_AC_CHAR, 993
MHA_AC_DOUBLE, 993
MHA_AC_FLOAT, 993
MHA_AC_INT, 993
MHA_AC_MHACOMPLEX, 993
MHA_AC_MHAREAL, 993
MHA_AC_UNKNOWN, 993
MHA_AC_USER, 993
MHA_AC_VEC_FLOAT, 993
MHA_CALLBACK_TEST_PREFIX, 991
MHA_CALLBACK_TEST, 991
MHA_DOMAIN_MAX, 993
MHA_DOMAIN_UNKNOWN, 993
MHA_RELEASE_VERSION_STRING,
992
MHA_SPECTRUM, 993
MHA_STRUCT_SIZEMATCH, 992
MHA_STRF, 992
MHA_VERSION_BUILD, 992
MHA_VERSION_MAJOR, 992
MHA_VERSION_MINOR, 992
MHA_VERSION_RELEASE, 992
MHA_VERSION_STRING, 992
MHA_VERSION, 992
MHA_WAVEFORM, 993
MHA_XSTRF, 992
MHADestroy_t, 994
MHAGetVersion_t, 993
MHAInit_t, 993
MHAPluginCategory_t, 994
MHAPluginDocumentation_t, 994
MHAPrepare_t, 993
MHAProc_spec2spec_t, 994
MHAProc_spec2wave_t, 994
MHAProc_wave2spec_t, 994
MHAProc_wave2wave_t, 994
MHARelease_t, 993
MHASet_t, 994
MHAStrError_t, 994
mha_domain_t, 993
mha_algo_comm.cpp, 994
AC_DIM_MISMATCH, 995
AC_INVALID_HANDLE, 995
AC_INVALID_NAME, 995
AC_INVALID_OUTPTR, 995
AC_STRING_TRUNCATED, 995
AC_SUCCESS, 995
AC_TYPE_MISMATCH, 995
algo_comm_default, 995
mha_algo_comm.h, 995
mha_algo_comm.hh, 996
ALGO_COMM_ID_STR, 997
© 2005-2019 HörTech gGmbH, Oldenburg
1158 INDEX
algo_comm_default, 997
mha_alloc
mha_ruby.cpp, 1025
mha_audio_descriptor_t, 427
cf, 428
chdir, 428
dt, 428
is_complex, 428
n_channels, 428
n_freqs, 428
n_samples, 428
mha_audio_t, 428
cdata, 429
descriptor, 429
rdata, 429
mha_channel_info_t, 429
dir, 430
id, 430
idstr, 430
peaklevel, 430
side, 430
mha_complex
Complex arithmetics in the openMHA, 63
mha_complex_t, 431
im, 431
re, 431
mha_complex_test_array_t, 431
c, 432
mha_dblbuf_t
mha_dblbuf_t, 434
delay, 437
fifo_size, 437
get_delay, 435
get_fifo_size, 435
get_inner_error, 435
get_inner_size, 434
get_input_channels, 435
get_input_fifo_fill_count, 435
get_input_fifo_space, 435
get_outer_size, 434
get_output_channels, 435
get_output_fifo_fill_count, 435
get_output_fifo_space, 435
inner_error, 437
inner_size, 437
input, 436
input_channels, 437
input_fifo, 437
mha_dblbuf_t, 434
outer_error, 437
outer_size, 436
output, 436
output_channels, 437
output_fifo, 437
process, 435
provoke_inner_error, 435
provoke_outer_error, 435
value_type, 434
mha_dblbuf_t<FIFO >,432
mha_debug
Error handling in the openMHA, 33
mha_defs.h, 997
__MHA_FUN__, 998
__declspec, 998
CHECK_EXPR, 998
CHECK_VAR, 998
M_PI, 998
MAX, 998
MHA_EAR_LEFT, 998
MHA_EAR_MAX, 998
MHA_EAR_RIGHT, 998
MIN, 998
mha_delenv
mha_os.cpp, 1011
mha_os.h, 1014
mha_direction_t, 438
azimuth, 438
distance, 438
elevation, 438
mha_domain_t
mha.hh, 993
mha_drifter_fifo_t
desired_fill_count, 443
get_available_space, 442
get_des_fill_count, 442
get_fill_count, 442
get_min_fill_count, 442
maximum_reader_xruns_in_succession-
_before_stop, 444
maximum_writer_xruns_in_succession-
_before_stop, 444
mha_drifter_fifo_t, 441
minimum_fill_count, 443
null_data, 444
read, 441
reader_started, 443
reader_xruns_in_succession, 444
reader_xruns_since_start, 444
reader_xruns_total, 443
starting, 443
startup_zeros, 444
stop, 442
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1159
write, 441
writer_started, 443
writer_xruns_in_succession, 444
writer_xruns_since_start, 444
writer_xruns_total, 443
mha_drifter_fifo_t<T>,439
mha_errno.c, 998
cstr_strerror, 999
mha_set_user_error, 999
mha_strerror, 999
next_except_str, 999
STRLEN, 999
mha_errno.h, 999
MHA_ERR_INVALID_HANDLE, 1000
MHA_ERR_NULL, 1000
MHA_ERR_SUCCESS, 1000
MHA_ERR_UNKNOWN, 1000
MHA_ERR_USER, 1000
MHA_ERR_VARFMT, 1000
MHA_ERR_VARRANGE, 1000
mha_set_user_error, 1000
mha_strerror, 1000
mha_error.cpp, 1000
mha_error.hh, 1001
Getmsg, 1002
mha_error_helpers, 90
digits, 90
snprintf_required_length, 90
mha_event_emitter.h, 1002
mha_events.cpp, 1002
mha_events.h, 1002
mha_exit_request
mha_ruby.cpp, 1025
mha_fft
timoConfig, 942
mha_fft_backward
Fast Fourier Transform functions, 75
mha_fft_backward_scale
Fast Fourier Transform functions, 76
mha_fft_forward
Fast Fourier Transform functions, 75
mha_fft_forward_scale
Fast Fourier Transform functions, 76
mha_fft_free
Fast Fourier Transform functions, 72
mha_fft_new
Fast Fourier Transform functions, 72
mha_fft_spec2wave
Fast Fourier Transform functions, 74
mha_fft_spec2wave_scale
Fast Fourier Transform functions, 77
mha_fft_t
Fast Fourier Transform functions, 72
mha_fft_wave2spec
Fast Fourier Transform functions, 73
mha_fft_wave2spec_scale
Fast Fourier Transform functions, 76
mha_fftfb.cpp, 1002
BARKSCALE_ENTRIES, 1004
filtershapefun, 1004
mha_fftfb.hh, 1004
mha_fifo.cpp, 1005
mha_fifo.h, 1005
mha_fifo_thread_platform_implementation-
_t, 1005
mha_fifo_lw_t
mha_fifo_lw_t, 448
error, 450
mha_fifo_lw_t, 448
read, 449
set_error, 449
sync, 449
write, 448
mha_fifo_lw_t<T>,447
mha_fifo_posix_threads_t, 450
mha_fifo_posix_threads_t, 451
aquire_mutex, 451
decrease_condition, 452
decrement, 451
increase_condition, 452
increment, 451
mha_fifo_posix_threads_t, 451
mutex, 452
release_mutex, 451
wait_for_decrease, 451
wait_for_increase, 451
mha_fifo_t
mha_fifo_t, 454
buf, 456
buf_uses_placement_new, 456
clear, 456
get_available_space, 455
get_fill_count, 455
get_max_fill_count, 455
max_fill_count, 456
mha_fifo_t, 454
operator=, 455
read, 455
read_ptr, 456
value_type, 454
write, 454
write_ptr, 456
© 2005-2019 HörTech gGmbH, Oldenburg
1160 INDEX
mha_fifo_t<T>,452
mha_fifo_thread_guard_t, 456
mha_fifo_thread_guard_t, 457
mha_fifo_thread_guard_t, 457
sync, 457
mha_fifo_thread_platform_implementation_t
mha_fifo.h, 1005
mha_fifo_thread_platform_t, 457
mha_fifo_thread_platform_t, 458
aquire_mutex, 459
decrement, 459
increment, 459
mha_fifo_thread_platform_t, 458
operator=, 460
release_mutex, 459
wait_for_decrease, 459
wait_for_increase, 459
mha_filter.cpp, 1005
diff_coeffs, 1006
mha_filter.hh, 1006
mha_fragsize
MHAIOJackdb::io_jack_t, 581
mha_free
mha_ruby.cpp, 1025
mha_freelib
mha_os.h, 1013
mha_freelib_success
mha_os.h, 1013
mha_generic_chain.cpp, 1007
mhaconfig_compare, 1008
mha_generic_chain.h, 1008
MHAPLUGIN_OVERLOAD_OUTDOM-
AIN, 1008
mha_getenv
mha_os.cpp, 1011
mha_os.h, 1013
mha_getlibfun
mha_os.h, 1013
mha_getlibfun_checked
mha_os.h, 1013
mha_hasenv
mha_os.cpp, 1010
mha_os.h, 1014
mha_hton
mha_os.h, 1015
mha_io_ifc.h, 1008
IODestroy_t, 1009
IOInit_t, 1009
IOPrepare_t, 1009
IOProcessEvent_t, 1009
IORelease_t, 1009
IOSetVar_t, 1009
IOStart_t, 1009
IOStartedEvent_t, 1009
IOStop_t, 1009
IOStoppedEvent_t, 1009
IOStrError_t, 1009
mha_lib_extension
mha_os.h, 1013
mha_libhandle_t
mha_os.h, 1013
mha_library_paths
mha_os.cpp, 1011
mha_os.h, 1015
mha_loadlib
mha_os.h, 1013
mha_loadlib_error
mha_os.h, 1013
mha_min_1
mha_signal.hh, 1037
mha_msleep
mha_os.h, 1013
mha_multisrc.cpp, 1009
mha_multisrc.h, 1010
mha_ntoh
mha_os.h, 1015
mha_os.cpp, 1010
list_dir, 1011
mha_delenv, 1011
mha_getenv, 1011
mha_hasenv, 1010
mha_library_paths, 1011
mha_setenv, 1011
mha_os.h, 1012
FMTsz, 1013
list_dir, 1015
MHA_RESOLVE_CHECKED, 1013
MHA_RESOLVE, 1013
mha_delenv, 1014
mha_freelib, 1013
mha_freelib_success, 1013
mha_getenv, 1013
mha_getlibfun, 1013
mha_getlibfun_checked, 1013
mha_hasenv, 1014
mha_hton, 1015
mha_lib_extension, 1013
mha_libhandle_t, 1013
mha_library_paths, 1015
mha_loadlib, 1013
mha_loadlib_error, 1013
mha_msleep, 1013
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1161
mha_ntoh, 1015
mha_setenv, 1014
mha_parse
mha_ruby.cpp, 1026
mha_parser.cpp, 1015
MHAPLATFORM, 1016
parse_1_complex, 1016
parse_1_float, 1016
write_float, 1016
mha_parser.hh, 1017
DEFAULT_RETSIZE, 1021
insert_member, 1021
mha_platform_tic
mha_profiling.c, 1024
mha_profiling.h, 1025
mha_platform_tictoc_t
mha_profiling.h, 1025
mha_platform_toc
mha_profiling.c, 1024
mha_profiling.h, 1025
mha_plugin.hh, 1022
__attribute__, 1024
__declspec, 1023
GITCOMMITHASH, 1023
HINSTANCE, 1023
MHAPLUGIN_DOCUMENTATION_PR-
EFIX, 1023
MHAPLUGIN_INIT_CALLBACKS_PRE-
FIX, 1023
MHAPLUGIN_INIT_CALLBACKS, 1023
MHAPLUGIN_PROC_CALLBACK_PR-
EFIX, 1023
MHAPLUGIN_PROC_CALLBACK, 1023
WINAPI, 1023
mha_profiling.c, 1024
mha_platform_tic, 1024
mha_platform_toc, 1024
mha_tic, 1024
mha_toc, 1024
mha_profiling.h, 1024
mha_platform_tic, 1025
mha_platform_tictoc_t, 1025
mha_platform_toc, 1025
mha_real_t
Vector and matrix processing toolbox, 42
mha_real_test_array_t, 460
r, 460
mha_round
mha_signal.hh, 1037
mha_rt_fifo_element_t
mha_rt_fifo_element_t, 461
abandonned, 461
data, 461
mha_rt_fifo_element_t, 461
next, 461
mha_rt_fifo_element_t<T>,460
mha_rt_fifo_t
mha_rt_fifo_t, 463
current, 464
mha_rt_fifo_t, 463
poll, 463
poll_1, 463
push, 464
remove_abandonned, 464
remove_all, 464
root, 464
mha_rt_fifo_t<T>,462
mha_ruby.cpp, 1025
Init_mha_ruby, 1026
mha_alloc, 1025
mha_exit_request, 1025
mha_free, 1025
mha_parse, 1026
rb_f_t, 1025
mha_samplerate
MHAIOJackdb::io_jack_t, 581
mha_set_user_error
mha_errno.c, 999
mha_errno.h, 1000
mha_setenv
mha_os.cpp, 1011
mha_os.h, 1014
mha_signal.cpp, 1026
ASSERT_EQUAL_DIM_PTR, 1028
ASSERT_EQUAL_DIM, 1028
intensity, 1028
MHA_ID_MATRIX, 1028
MHA_ID_UINT_VECTOR, 1028
safe_div, 1028
set_minabs, 1028
mha_signal.hh, 1029
M_PI, 1037
mha_min_1, 1037
mha_round, 1037
operator<<,1037
operator>>,1038
safe_div, 1037
set_minabs, 1037
value, 1037
mha_signal_fft.h, 1038
mha_spec_t, 465
buf, 466
© 2005-2019 HörTech gGmbH, Oldenburg
1162 INDEX
channel_info, 466
num_channels, 466
num_frames, 466
mha_stash_environment_variable_t, 466
mha_stash_environment_variable_-
t, 467
existed_before, 467
mha_stash_environment_variable_t, 467
original_content, 467
variable_name, 467
mha_strerror
mha_errno.c, 999
mha_errno.h, 1000
mha_tablelookup.cpp, 1038
mha_tablelookup.hh, 1038
mha_tcp.cpp, 1039
ASYNC_CONNECT_STARTED, 1040
closesocket, 1040
host_port_to_sock_addr, 1040
INVALID_SOCKET, 1040
SOCKET_ERROR, 1040
SOCKET, 1040
tcp_connect_to, 1040
tcp_connect_to_with_timeout, 1040
thread_start_func, 1040
mha_tcp.hh, 1040
Sleep, 1042
mha_test_struct_size
PluginLoader::mhapluginloader_t, 884
mha_tic
mha_profiling.c, 1024
mha_tictoc_t, 495
t, 495
tv1, 495
tv2, 495
tz, 495
mha_toc
mha_profiling.c, 1024
mha_toolbox.h, 1042
mha_wave_t, 496
buf, 497
channel_info, 497
num_channels, 497
num_frames, 497
mha_windowparser.cpp, 1042
wnd_funs, 1042
mha_windowparser.h, 1042
mhachain, 93
mhachain.cpp, 1043
mhachain::chain_base_t, 497
algos, 499
b_prepared, 499
bprofiling, 499
cfin, 499
cfout, 499
chain, 499
chain_base_t, 498
old_algos, 499
patchbay, 499
prepare, 499
process, 498,499
release, 499
update, 499
mhachain::mhachain_t, 500
mhachain_t, 500
mhachain::plugs_t, 501
plugs_t, 502
ac, 502
algos, 502
alloc_plugs, 502
b_prepared, 502
b_use_profiling, 503
chain, 503
cleanup_plugs, 502
parser, 502
plugs_t, 502
prepare, 502
prepared, 502
proc_cnt, 503
process, 502
prof_algos, 503
prof_cfg, 503
prof_init, 503
prof_load_con, 503
prof_prepare, 503
prof_process, 503
prof_process_load, 503
prof_process_tt, 503
prof_release, 503
prof_tt_con, 503
profiling, 503
release, 502
tictoc, 503
update_proc_load, 502
mhachain_t
mhachain::mhachain_t, 500
mhachannels
addsndfile::addsndfile_if_t, 182
mhaconfig_compare
mha_generic_chain.cpp, 1008
PluginLoader, 129
mhaconfig_in
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1163
MHAPlugin::plugin_t, 732
mhaconfig_mon_t
MHAParser::mhaconfig_mon_t, 681
mhaconfig_out
MHAPlugin::plugin_t, 732
mhaconfig_t, 504
channels, 505
domain, 505
fftlen, 505
fragsize, 505
srate, 505
wndlen, 505
mhafft
fshift_hilbert::hilbert_shifter_t, 342
mhafw_lib.cpp, 1043
mhafw_lib.h, 1043
mhajack.cpp, 1064
dummy_jack_proc_cb, 1064
jack_error_handler, 1064
last_jack_err, 1064
last_jack_err_msg, 1064
make_friendly_number, 1064
mhajack.h, 1064
IO_ERROR_JACK, 1066
IO_ERROR_MHAJACKLIB, 1066
last_jack_err_msg, 1066
MAX_USER_ERR, 1066
MHAJACK_FW_STARTED, 1066
MHAJACK_STARTING, 1066
MHAJACK_STOPPED, 1066
mhamain
mha.cpp, 989
mhamain.cpp, 1067
mhamain.cpp, 1066
create_lock, 1067
GREETING_TEXT, 1067
HELP_TEXT, 1067
MAX_LINE_LENGTH, 1067
mhamain, 1067
remove_lock, 1067
mhaplug_cfg_t, 722
mhaplug_cfg_t, 722
mhaplug_cfg_t, 722
mhapluginloader.cpp, 1067
mhapluginloader.h, 1067
mhapluginloader_t
MHAParser::mhapluginloader_t, 683
PluginLoader::mhapluginloader_t, 882
mhaserver_t, 760
mhaserver_t, 762
acceptor_started, 762
ack_fail, 763
ack_ok, 763
announce_port, 763
logfile, 763
logstring, 762
mhaserver_t, 761
pid_mon, 763
port, 763
received_group, 762
run, 762
set_announce_port, 762
tcpserver, 763
mhasndfile.cpp, 1068
validator_channels, 1068
validator_length, 1068
write_wave, 1068
mhasndfile.h, 1068
write_wave, 1069
mhastrdomain
PluginLoader, 129
min
MHASignal::doublebuffer_t, 771
spec2wave.cpp, 1075
Vector and matrix processing toolbox, 59
minimum_fill_count
mha_drifter_fifo_t, 443
minlen
plingploing::if_t, 867
minlen_
plingploing::plingploing_t, 869
minphase
MHAFilter::smoothspec_t, 568
minphase_t
MHASignal::minphase_t, 791
mint_mon_t
MHAParser::mint_mon_t, 685
minw_
wavwriter_t, 956
minwrite
wavrec_t, 955
mix
sine_cfg_t, 910
mixer
matrixmixer::matmix_t, 411
mixw_ref
fshift_hilbert::hilbert_shifter_t, 341
mixw_shift
fshift_hilbert::hilbert_shifter_t, 341
mode
ac2osc_t, 147
addsndfile::addsndfile_if_t, 182
© 2005-2019 HörTech gGmbH, Oldenburg
1164 INDEX
MHA_TCP::OS_EVENT_TYPE, 480
noise_t, 855
sine_t, 912
smoothgains_bridge::overlapadd_if_-
t, 914
modified
dc::dc_vars_t, 259
dc_simple::dc_if_t, 265
modulename
dynamiclib_t, 292
MHAParser::c_ifc_parser_t, 650
mon
acmon::ac_monitor_t, 156
mon_complex
acmon::ac_monitor_t, 156
mon_dump
MHAParser, 111
mon_g
dc_simple::dc_if_t, 265
dc_simple::dc_t, 267
mon_l
dc_simple::dc_if_t, 265
dc_simple::dc_t, 267
mon_mat
acmon::ac_monitor_t, 156
mon_mat_complex
acmon::ac_monitor_t, 156
mon_t, 844
mon_t, 844
store, 844
monitor variable, 4
monitor_t
MHAParser::monitor_t, 687
mpo
DynComp::dc_afterburn_vars_t, 298
mpo_inv
DynComp::dc_afterburn_rt_t, 294
msg
MHA_Error, 447
mu
MHAFilter::adapt_filter_param_t, 514
MHAFilter::adapt_filter_t, 517
mu_beta
adm_if_t, 197
multibandcompressor, 127
multibandcompressor.cpp, 1069
multibandcompressor::fftfb_plug_t, 845
bwv, 846
cfv, 846
efv, 846
fftfb_plug_t, 846
insert, 846
multibandcompressor::interface_t, 847
algo, 849
burn, 848
interface_t, 848
num_channels, 848
patchbay, 848
plug, 849
plug_sigs, 849
prepare, 848
process, 848
release, 848
update_cfg, 848
multibandcompressor::plugin_signals_t, 849
apply_gains, 850
gain, 850
plug_level, 850
plug_output, 850
plugin_signals_t, 850
update_levels, 850
mute
MHAJack::port_t, 601
MHASignal::loop_wavefragment_t, 779
mutex
MHAPlugin_Split::posix_threads_t, 745
mha_fifo_posix_threads_t, 452
mylogf
dc_afterburn.cpp, 972
N
lpc_config, 408
n
MHAJack::client_avg_t, 590
MHASignal::hilbert_fftw_t, 776
MHASignal::stat_t, 806
N_ERRNO
MHA_TCP, 92
n_channels
mha_audio_descriptor_t, 428
n_freqs
mha_audio_descriptor_t, 428
n_im
MHASignal::fft_t, 775
n_no_update
nlms_t, 853
prediction_error, 889
n_no_update_
prediction_error_config, 891
rt_nlms_t, 900
n_pad1
overlapadd::overlapadd_t, 863
n_pad2
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1165
overlapadd::overlapadd_t, 863
n_re
MHASignal::fft_t, 775
n_samples
mha_audio_descriptor_t, 428
n_zero
overlapadd::overlapadd_t, 863
NORM_DEFAULT
nlms_wave.cpp, 1070
NORM_NONE
nlms_wave.cpp, 1070
NORM_SUM
nlms_wave.cpp, 1070
NORMALIZATION_TYPES
nlms_wave.cpp, 1070
NUM_ENTR_LTASS
speechnoise.cpp, 1076
NUM_ENTR_MHAORIG
speechnoise.cpp, 1076
NUM_ENTR_OLNOISE
speechnoise.cpp, 1076
name
ac2lsl::type_info, 143
ac2wave_if_t, 149
ac2wave_t, 151
acmon::ac_monitor_t, 156
acsave::save_var_t, 171
fftfbpow::fftfbpow_interface_t, 325
MHA_AC::ac2matrix_helper_t, 413
MHA_AC::spectrum_t, 424
MHA_AC::waveform_t, 427
MHAIOPortAudio::device_info_t, 584
MHAJack::client_avg_t, 590
MHAJack::client_noncont_t, 593
MHAMultiSrc::channel_t, 608
MHAParser::entry_t, 656
noisePowProposedScale::interface_t, 857
plugindescription_t, 875
rmslevel_if_t, 893
shadowfilter_end::cfg_t, 907
name_
AuditoryProfile::parser_t::fmap_t, 225
name_b
lpc_bl_predictor, 400
lpc_bl_predictor_config, 402
lpc_burglattice, 404
lpc_burglattice_config, 406
name_con_AC
acConcat_wave, 153
name_d
nlms_t, 852
name_d_
prediction_error_config, 891
rt_nlms_t, 900
name_e
nlms_t, 853
prediction_error, 888
name_e_
rt_nlms_t, 900
name_f
lpc_bl_predictor, 400
lpc_bl_predictor_config, 401
lpc_burglattice, 404
lpc_burglattice_config, 406
nlms_t, 853
prediction_error, 888
name_kappa
lpc_bl_predictor, 400
lpc_burglattice, 404
name_km
lpc_bl_predictor_config, 401
name_lpc
prediction_error, 888
name_lpc_
prediction_error_config, 891
name_lpc_b
lpc_bl_predictor, 400
name_lpc_f
lpc_bl_predictor, 400
name_u
nlms_t, 852
name_u_
rt_nlms_t, 900
namelen
acsave::mat4head_t, 169
names
MHAOvlFilter::scale_var_t, 633
nangle
acSteer_config, 175
steerbf_config, 929
naudiochannels
dc::dc_t, 257
nbands
coherence::cohflt_t, 240
combc_t, 245
dc::dc_t, 257
dc_simple::dc_t, 267
dc_simple::level_smoother_t, 272
DynComp::gaintable_t, 302
fftfilterbank::fftfb_interface_t, 330
MHAFilter::thirdoctave_analyzer_t, 569
MHAOvlFilter::fspacing_t, 626
© 2005-2019 HörTech gGmbH, Oldenburg
1166 INDEX
nbits
calibrator_variables_t, 234
nch
shadowfilter_begin::cfg_t, 904
shadowfilter_begin::shadowfilter_begin-
_t, 906
spec_fader_t, 924
nch_out
shadowfilter_end::cfg_t, 907
nchan
acSteer_config, 175
steerbf_config, 929
timoConfig, 942
nchannels
DynComp::gaintable_t, 302
fftfilterbank::fftfb_interface_t, 330
MHAFilter::adapt_filter_state_t, 515
MHAFilter::adapt_filter_t, 517
MHAFilter::iir_filter_t, 542
MHAFilter::smoothspec_t, 568
MHAFilter::thirdoctave_analyzer_t, 569
nchannels_file_in
io_file_t, 367
nchannels_in
io_file_t, 367
io_parser_t, 374
MHAFilter::partitioned_convolution_t, 556
MHAIOPortAudio::io_portaudio_t, 587
MHAJack::client_t, 598
MHAPlugin_Resampling::resampling_t,
736
nchannels_out
fw_t, 347
io_file_t, 367
io_parser_t, 374
MHAFilter::partitioned_convolution_t, 556
MHAIOPortAudio::io_portaudio_t, 587
MHAJack::client_t, 598
MHAPlugin_Resampling::resampling_t,
736
ndim
acsave::save_var_t, 171
needs_write
MHA_TCP::Connection, 476
neigh
acPooling_wave_config, 164
neighbourhood
acPooling_wave, 162
nelements
MHASignal::matrix_t, 790
nested_lock
MHAParser::base_t, 642
newgains
fader_if_t, 319
next
MHAPlugin::cfg_chain_t, 723
mha_rt_fifo_element_t, 461
next_except_str
mha_errno.c, 999
next_read_frame_index
MHASignal::ringbuffer_t, 796
next_write_frame_index
MHASignal::ringbuffer_t, 797
nfft
MHASignal::fft_t, 775
overlapadd::overlapadd_if_t, 861
shadowfilter_end::cfg_t, 907
spec2wave_t, 923
wave2spec_if_t, 950
nfft_
MHAOvlFilter::fspacing_t, 626
nframes
acsave::save_var_t, 171
nfreq
acSteer_config, 175
steerbf_config, 929
timoConfig, 942
nlms_t, 851
algo, 853
c, 852
estimtype, 853
lambda_smoothing_power, 853
n_no_update, 853
name_d, 852
name_e, 853
name_f, 853
name_u, 852
nlms_t, 852
normtype, 853
ntaps, 852
patchbay, 853
prepare, 852
process, 852
release, 852
rho, 852
update, 852
nlms_wave.cpp, 1069
ESTIM_CUR, 1070
ESTIM_PREV, 1070
ESTIMATION_TYPES, 1070
make_friendly_number_by_limiting, 1070
NORM_DEFAULT, 1070
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1167
NORM_NONE, 1070
NORM_SUM, 1070
NORMALIZATION_TYPES, 1070
nm
lpc_burglattice_config, 406
no_iter
prediction_error_config, 891
rt_nlms_t, 900
noise.cpp, 1070
noise_t, 853
frozennoise_length, 855
lev, 855
mode, 855
noise_t, 854
patchbay, 855
prepare, 854
process, 854
update_cfg, 854
noise_type_t
speechnoise_t, 925
noisePow
noisePowProposedScale::noisePow-
Proposed, 858
timoConfig, 943
noisePow_name
timo_params, 940
timoSmooth, 947
noisePowProposed
noisePowProposedScale::noisePow-
Proposed, 858
noisePowProposedScale, 127
noisePowProposedScale.cpp, 1070
POWSPEC_FACTOR, 1071
noisePowProposedScale::interface_t, 855
alphaPH1mean, 857
alphaPSD, 857
interface_t, 856
name, 857
patchbay, 857
prepare, 856
process, 856
q, 857
update_cfg, 856
xiOptDb, 857
noisePowProposedScale::noisePowProposed,
857
alphaPH1mean_, 858
alphaPSD_, 859
estimateDebug, 858
frameno, 859
GLRDebug, 858
GLRexp, 859
inputPow, 858
inputSpec, 858
insert, 858
logGLRFact, 859
noisePow, 858
noisePowProposed, 858
noisyPer, 858
PH1Debug, 858
PH1mean, 858
priorFact, 859
process, 858
snrPost1Debug, 858
xiOpt, 859
noisyPer
noisePowProposedScale::noisePow-
Proposed, 858
non_empty_partitions
MHAFilter::transfer_function_t, 571
MHAFilter::transfer_matrix_t, 573
nondefault_labels
altplugs_t, 216
norm
lpc, 397
lpc_config, 407
norm_phase
gtfb_analyzer::gtfb_analyzer_cfg_t, 354
gtfb_analyzer::gtfb_analyzer_t, 357
normalize
Complex arithmetics in the openMHA, 69
MHAOvlFilter::fftfb_vars_t, 621
normtype
nlms_t, 853
not_in_use
MHAPlugin::cfg_chain_t, 723
not_zero
dc_simple, 84
notify
MHAParser::base_t, 641
notify_release
io_tcp_t, 391
notify_start
io_tcp_t, 391
notify_stop
io_tcp_t, 391
now_index
MHAFilter::polyphase_resampling_t, 563
npad1
spec2wave_t, 922
wave2spec_t, 952
npad2
© 2005-2019 HörTech gGmbH, Oldenburg
1168 INDEX
spec2wave_t, 923
wave2spec_t, 952
nperiods
alsa_dev_par_parser_t, 209
nrefmic
acSteer, 174
acSteer_config, 175
nrep
MHAJack::client_avg_t, 590
nsteerchan
acSteer, 174
acSteer_config, 175
ntaps
MHAFilter::adapt_filter_state_t, 515
MHAFilter::adapt_filter_t, 517
nlms_t, 852
prediction_error, 888
prediction_error_config, 890
rt_nlms_t, 899
ntoh
io_tcp_sound_t, 386
ntracks
shadowfilter_begin::cfg_t, 904
shadowfilter_begin::shadowfilter_begin-
_t, 906
shadowfilter_end::cfg_t, 907
null_data
mha_drifter_fifo_t, 444
num_AC
acConcat_wave, 153
num_adms
adm_rtconfig_t, 199
num_brackets
MHAParser::StrCnv, 113
num_channels
calibrator_variables_t, 234
DynComp::gaintable_t, 302
MHAFilter::blockprocessing_polyphase-
_resampling_t, 519
mha_spec_t, 466
mha_wave_t, 497
multibandcompressor::interface_t, 848
num_entries
ac2lsl::save_var_base_t, 137
ac2lsl::save_var_t, 139
ac2lsl::save_var_t<mha_complex_t >,
142
comm_var_t, 246
testplugin::ac_parser_t, 931
num_F
DynComp::gaintable_t, 302
num_frames
mha_spec_t, 466
mha_wave_t, 497
num_inchannels
io_tcp_sound_t, 387
num_L
DynComp::gaintable_t, 302
num_outchannels
io_tcp_sound_t, 388
num_xruns
MHAJack::client_t, 598
numDevices
MHAIOPortAudio::device_info_t, 584
numSamples_AC
acConcat_wave_config, 154
numbytes
MHASignal::matrix_t, 789
MHASignal::uint_vector_t, 811
numchannels
acConcat_wave, 153
addsndfile::addsndfile_if_t, 182
numsamples
acPooling_wave, 162
acTransform_wave, 178
nupsample
doasvm_feature_extraction, 285
nvars
acsave::cfg_t, 169
nwnd
overlapadd::overlapadd_if_t, 861
wave2spec_if_t, 950
wave2spec_t, 952
nwndshift
spec2wave_t, 923
wave2spec_t, 952
nyquist_ratio
MHAPlugin_Resampling::resampling_if-
_t, 734
o1_ar_filter_t
MHAFilter::o1_ar_filter_t, 546
o1_lp_coeffs
MHAFilter, 96
o1flt_lowpass_t
MHAFilter::o1flt_lowpass_t, 550
o1flt_maxtrack_t
MHAFilter::o1flt_maxtrack_t, 552
o1flt_mintrack_t
MHAFilter::o1flt_mintrack_t, 554
OVERLAP_FACTOR
timoconfig.cpp, 1081
observe
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1169
MHA_TCP::Event_Watcher, 479
observed_by
MHA_TCP::Wakeup_Event, 494
observers
MHA_TCP::Wakeup_Event, 495
od
MHAFilter::adapt_filter_state_t, 515
offset
acTransform_wave_config, 179
ola1
overlapadd::overlapadd_t, 862
ola2
overlapadd::overlapadd_t, 862
ola_powspec_scale
timoConfig, 942
old_algos
mhachain::chain_base_t, 499
olnoise
speechnoise_t, 925
on_model_param_valuechanged
timoSmooth, 946
on_prereadaccess
example3_t, 310
example4_t, 314
on_scale_ch_readaccess
example3_t, 310
example4_t, 314
on_scale_ch_valuechanged
example3_t, 310
example4_t, 314
on_scale_ch_writeaccess
example3_t, 310
example4_t, 314
op
MHAParser::expression_t, 657
op_query
MHAParser::base_t, 638
MHAParser::c_ifc_parser_t, 649
MHAParser::monitor_t, 687
MHAParser::parser_t, 691
op_setval
MHAParser::base_t, 638
MHAParser::bool_t, 647
MHAParser::c_ifc_parser_t, 649
MHAParser::complex_t, 655
MHAParser::float_t, 661
MHAParser::int_t, 666
MHAParser::kw_t, 671
MHAParser::mcomplex_t, 675
MHAParser::mfloat_t, 679
MHAParser::parser_t, 691
MHAParser::string_t, 699
MHAParser::variable_t, 701
MHAParser::vcomplex_t, 706
MHAParser::vfloat_t, 710
MHAParser::vint_t, 714
MHAParser::vstring_t, 718
op_subparse
MHAParser::base_t, 638
MHAParser::c_ifc_parser_t, 649
MHAParser::parser_t, 691
opact_map_t
MHAParser, 111
opact_t
MHAParser, 111
operator!=
Complex arithmetics in the openMHA, 68
operator<
Complex arithmetics in the openMHA, 69
operator<<
mha_signal.hh, 1037
operator>>
mha_signal.hh, 1038
operator
Complex arithmetics in the openMHA, 66,
67
operator=
Complex arithmetics in the openMHA, 66
Vector and matrix processing toolbox, 54,
55
operator=
Vector and matrix processing toolbox, 56
operator()
dc_simple::dc_t::line_t, 268
hanning_ramps_t, 358
MHAEvents::emitter_t, 511
MHAFilter::gamma_flt_t, 536,537
MHAFilter::iir_ord1_real_t, 544
MHAFilter::o1_ar_filter_t, 547,548
MHASignal::hilbert_t, 777
MHASignal::matrix_t, 787789
MHASignal::minphase_t, 791
MHASignal::quantizer_t, 793
MHASignal::spectrum_t, 803
MHASignal::waveform_t, 815,816
MHAWindow::base_t, 836
operator+
Complex arithmetics in the openMHA, 65
operator+=
Complex arithmetics in the openMHA, 65
Vector and matrix processing toolbox, 54,
55
© 2005-2019 HörTech gGmbH, Oldenburg
1170 INDEX
operator-
Complex arithmetics in the openMHA, 65,
66,68
operator-=
Complex arithmetics in the openMHA, 65
Vector and matrix processing toolbox, 54
operator/
Complex arithmetics in the openMHA, 67,
68
operator/=
Complex arithmetics in the openMHA, 67
Vector and matrix processing toolbox, 55
operator=
MHA_AC::acspace2matrix_t, 417
MHA_Error, 446
MHAPlugin_Split::domain_handler_t, 738
MHAPlugin_Split::splitted_part_t, 754
MHAPlugin_Split::thread_platform_t, 758
MHASignal::matrix_t, 785
MHASignal::uint_vector_t, 810
MHASignal::waveform_t, 815
mha_fifo_t, 455
mha_fifo_thread_platform_t, 460
operator==
Complex arithmetics in the openMHA, 68
MHASignal::uint_vector_t, 810
operator[]
MHA_AC::acspace2matrix_t, 417
MHASignal::spectrum_t, 803
MHASignal::uint_vector_t, 811
MHASignal::waveform_t, 815
operators
MHAParser::base_t, 642
oplist
MHAParser::base_t, 641
order
gtfb_analyzer::gtfb_analyzer_cfg_t, 354
gtfb_analyzer::gtfb_analyzer_t, 357
lpc_config, 407
original_content
mha_stash_environment_variable_t, 467
origname
PluginLoader::config_file_splitter_t, 877
os_event
MHA_TCP::Wakeup_Event, 495
os_event_valid
MHA_TCP::Wakeup_Event, 495
out
adm_if_t, 197
delaysum::delaysum_t, 278
out_buf
overlapadd::overlapadd_t, 863
spec2wave_t, 923
out_chunk
MHAFilter::thirdoctave_analyzer_t, 570
out_chunk_im
MHAFilter::thirdoctave_analyzer_t, 570
out_spec
shadowfilter_begin::cfg_t, 904
shadowfilter_end::cfg_t, 907
outSpec
steerbf_config, 929
outbuf
MHA_TCP::Connection, 477
outch
MHAJack::client_t, 599
outchannels
combc_if_t, 244
outer2inner_resampling
MHAPlugin_Resampling::resampling_t,
736
outer_ac
analysepath_t, 218
outer_ac_copy
analysepath_t, 218
outer_error
mha_dblbuf_t, 437
outer_fragsize
MHAPlugin_Resampling::resampling_t,
735
outer_out
MHASignal::doublebuffer_t, 772
outer_process
MHASignal::doublebuffer_t, 771
outer_size
mha_dblbuf_t, 436
outer_srate
MHAPlugin_Resampling::resampling_t,
736
output
io_parser_t, 374
MHAJack::port_t, 600
mha_dblbuf_t, 436
output_cfg
MHAPlugin::plugin_t, 732
output_cfg_
MHAPlugin::plugin_t, 732
output_channels
mha_dblbuf_t, 437
output_domain
PluginLoader::mhapluginloader_t, 883
output_fifo
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1171
mha_dblbuf_t, 437
output_partitions
MHAFilter::partitioned_convolution_t, 556
output_portnames
MHAJack::client_t, 599
output_sample_format
io_file_t, 368
output_signal
MHAPlugin_Resampling::resampling_t,
736
output_signal_spec
MHAFilter::partitioned_convolution_t, 557
output_signal_wave
MHAFilter::partitioned_convolution_t, 557
output_spec
testplugin::signal_parser_t, 936
output_wave
testplugin::signal_parser_t, 936
outputchannels
MHAFilter::fftfilterbank_t, 530
overlap_save_filterbank_analytic_t
MHAOvlFilter::overlap_save_filterbank_-
analytic_t, 628
overlap_save_filterbank_t
MHAOvlFilter::overlap_save_filterbank_t,
630
overlapadd, 127
overlapadd.cpp, 1071
overlapadd::overlapadd_if_t, 859
overlapadd_if_t, 860
algo, 861
cf_in, 861
cf_out, 861
nfft, 861
nwnd, 861
overlapadd_if_t, 860
patchbay, 861
plugloader, 861
postscale, 861
prepare, 860
prescale, 861
process, 861
release, 860
update, 861
window, 861
wndexp, 861
wndpos, 861
zerowindow, 861
overlapadd::overlapadd_t, 862
overlapadd_t, 862
calc_out, 863
fft, 863
n_pad1, 863
n_pad2, 863
n_zero, 863
ola1, 862
ola2, 862
out_buf, 863
overlapadd_t, 862
postwnd, 863
prewnd, 863
spec_in, 863
wave_in1, 863
wave_out1, 863
write_buf, 863
overlapadd_if_t
overlapadd::overlapadd_if_t, 860
smoothgains_bridge::overlapadd_if_-
t, 913
overlapadd_t
overlapadd::overlapadd_t, 862
ovltype
MHAOvlFilter::fftfb_vars_t, 620
oy
MHAFilter::adapt_filter_state_t, 515
p
acPooling_wave_config, 164
doasvm_classification_config, 282
pluginbrowser_t, 874
p1
MHASignal::hilbert_fftw_t, 776
p2
MHASignal::hilbert_fftw_t, 776
P_Sum
rt_nlms_t, 900
p_biased
acPooling_wave_config, 164
p_biased_name
acPooling_wave, 162
p_in
io_alsa_t, 364
p_max
acPooling_wave_config, 164
doasvm_classification_config, 282
p_name
acPooling_wave, 162
doasvm_classification, 281
p_out
io_alsa_t, 364
p_parser
acmon::ac_monitor_t, 157
PATCH_VAR
© 2005-2019 HörTech gGmbH, Oldenburg
1172 INDEX
acConcat_wave.cpp, 961
acPooling_wave.cpp, 962
acSteer.cpp, 963
acTransform_wave.cpp, 964
doasvm_classification.cpp, 974
doasvm_feature_extraction.cpp, 975
lpc.cpp, 987
lpc_bl_predictor.cpp, 987
lpc_burg-lattice.cpp, 988
prediction_error.cpp, 1072
steerbf.cpp, 1080
timoSmooth.cpp, 1082
PH1Debug
noisePowProposedScale::noisePow-
Proposed, 858
PH1mean
noisePowProposedScale::noisePow-
Proposed, 858
POWSPEC_FACTOR
noisePowProposedScale.cpp, 1071
timoconfig.cpp, 1081
PREPARED
MHA_TCP::Thread, 488
pa22dbspl
Vector and matrix processing toolbox, 44
pa2dbspl
Vector and matrix processing toolbox, 43
params
timoConfig, 942
parent
MHAParser::base_t, 642
parent_
MHAParser::mhapluginloader_t, 684
parse
altplugs_t, 215
io_tcp_t, 391
MHAParser::base_t, 637,638
MHAPlugin_Split::splitted_part_t, 754
PluginLoader::fourway_processor_t, 880
PluginLoader::mhapluginloader_t, 882
parse_1_complex
mha_parser.cpp, 1016
parse_1_float
mha_parser.cpp, 1016
parser
io_tcp_t, 391
mhachain::plugs_t, 502
parser_int_dyn, 864
parser_int_dyn, 864
set_max_angle_ind, 865
parser_plugs
altplugs_t, 216
parser_t
AuditoryProfile::parser_t, 223
MHAParser::parser_t, 689
parserFriendlyName
MHAIOPortAudio, 99
parsername
latex_doc_t, 394
parserstate
fw_t, 347
partitioned_convolution_t
MHAFilter::partitioned_convolution_t, 555
partitions
MHAFilter::transfer_function_t, 571
MHAFilter::transfer_matrix_t, 573
patchbay
ac2lsl::ac2lsl_t, 133
ac2osc_t, 147
ac2wave_if_t, 149
acConcat_wave, 153
acPooling_wave, 162
acSteer, 174
acTransform_wave, 178
acmon::acmon_t, 159
acsave::acsave_t, 167
addsndfile::addsndfile_if_t, 182
adm_if_t, 197
altplugs_t, 216
analysispath_if_t, 220
AuditoryProfile::parser_t::fmap_t, 225
calibrator_t, 233
coherence::cohflt_if_t, 238
db_if_t, 251
dc::dc_if_t, 254
dc::wideband_inhib_vars_t, 263
dc_simple::dc_if_t, 265
delay::interface_t, 274
delaysum::delaysum_if_t, 276
doasvm_classification, 281
doasvm_feature_extraction, 285
DynComp::dc_afterburn_t, 296
example3_t, 311
example4_t, 315
example6_t, 317
fader_if_t, 319
fader_wave::fader_wave_if_t, 321
fftfbpow::fftfbpow_interface_t, 325
fftfilterbank::fftfb_interface_t, 330
fshift::fshift_t, 336
fshift_hilbert::frequency_translator_t, 338
fw_t, 348
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1173
gain::gain_if_t, 351
gtfb_analyzer::gtfb_analyzer_t, 357
io_alsa_t, 364
io_parser_t, 374
lpc, 397
lpc_bl_predictor, 400
lpc_burglattice, 404
MHAIOJack::io_jack_t, 577
MHAIOJackdb::io_jack_t, 582
MHAIOPortAudio::io_portaudio_t, 587
MHAPlugin_Split::split_t, 750
matrixmixer::matmix_t, 411
mhachain::chain_base_t, 499
multibandcompressor::interface_t, 848
nlms_t, 853
noise_t, 855
noisePowProposedScale::interface_t, 857
overlapadd::overlapadd_if_t, 861
plingploing::if_t, 867
plugin_interface_t, 873
prediction_error, 889
route::interface_t, 896
sine_t, 912
smoothgains_bridge::overlapadd_if_-
t, 914
softclip_t, 917
spec2wave_if_t, 921
steerbf, 928
testplugin::ac_parser_t, 931
testplugin::if_t, 935
timoSmooth, 947
wave2spec_if_t, 950
wavrec_t, 955
windowselector_t, 959
path
addsndfile::addsndfile_if_t, 182
pcm
alsa_base_t, 208
pcm_format
alsa_t, 213
pcmlink
io_alsa_t, 364
peak
MHASignal::loop_wavefragment_t, 779
rmslevel_t, 894
peak_db
rmslevel_t, 894
peaklevel
calibrator_variables_t, 234
MHASignal::async_rmslevel_t, 765
mha_channel_info_t, 430
peer_addr
MHA_TCP::Connection, 477
peer_address
io_tcp_parser_t, 383
peer_port
io_tcp_parser_t, 384
period
droptect_t, 289
pfragmentsize
fw_vars_t, 349
phase
cpuload_t, 249
MHASignal::minphase_t, 792
phase_correction
MHAFilter::gamma_flt_t, 537
phase_div_2pi
sine_t, 912
phase_gains
MHASignal::subsample_delay_t, 808
phase_increment_div_2pi
sine_cfg_t, 910
phasemode
fshift_hilbert::frequency_translator_t, 339
phasemodel
MHAOvlFilter::overlap_save_filterbank_-
t::vars_t, 631
PI
ADM, 81
hann.cpp, 985
pid_mon
mhaserver_t, 763
pinchannels
fw_vars_t, 349
pink
speechnoise_t, 925
pipe
MHA_TCP::Async_Notify, 469
pitch
plingploing::if_t, 867
pitch_
plingploing::plingploing_t, 869
pitch_set_first
timoConfig, 943
pitch_set_first_AC
timo_AC, 938
pitch_set_last
timoConfig, 943
pitch_set_last_AC
timo_AC, 938
plan_spec2analytic
fshift_hilbert::hilbert_shifter_t, 341
© 2005-2019 HörTech gGmbH, Oldenburg
1174 INDEX
plateau
MHAOvlFilter::fftfb_vars_t, 620
playback
MHASignal::loop_wavefragment_t, 780,
781
playback_channels
MHASignal::loop_wavefragment_t, 781
playback_mode_t
MHASignal::loop_wavefragment_t, 779
plingploing, 128
drand, 128
plingploing.cpp, 1071
plingploing::if_t, 865
bassmod, 867
bassperiod, 868
bpm, 867
fun1_key, 867
fun1_range, 867
fun2_key, 867
fun2_range, 867
if_t, 866
level, 867
maxlen, 867
minlen, 867
patchbay, 867
pitch, 867
prepare, 866
process, 866
update, 866
plingploing::plingploing_t, 868
alph, 870
bass, 869
bassmod_, 870
bassperiod_, 870
bt, 869
cf, 869
dist, 870
dist1, 870
dur_, 869
freq, 869
fun1, 870
fun1_key, 870
fun1_range, 870
fun2, 870
fun2_key, 870
fun2_range, 870
hann1, 870
hann2, 870
len, 869
level, 870
maxlen_, 869
minlen_, 869
pitch_, 869
plingploing_t, 869
process, 869
rms, 870
t, 869
plingploing_t
plingploing::plingploing_t, 869
plug
analysispath_if_t, 220
MHAParser::mhapluginloader_t, 684
MHAPlugin_Split::splitted_part_t, 755
multibandcompressor::interface_t, 849
testplugin::if_t, 935
plug_level
multibandcompressor::plugin_signals_t,
850
plug_output
multibandcompressor::plugin_signals_t,
850
plug_sigs
multibandcompressor::interface_t, 849
plug_t, 870
plug_t, 871
get_ac, 871
get_handle, 871
get_process_spec, 871
get_process_wave, 871
plug_t, 871
plugin_categories
PluginLoader::mhapluginloader_t, 885
plugin_documentation
PluginLoader::mhapluginloader_t, 885
plugin_extension
pluginbrowser_t, 874
plugin_interface_t, 872
factor, 873
patchbay, 873
plugin_interface_t, 873
prepare, 873
process, 873
scale_ch, 873
update_cfg, 873
plugin_macro
latex_doc_t, 394
plugin_paths
fw_t, 347
plugin_signals_t
multibandcompressor::plugin_signals_t,
850
plugin_t
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1175
MHAPlugin::plugin_t, 730
PluginLoader, 128
mhaconfig_compare, 129
mhastrdomain, 129
PluginLoader::config_file_splitter_t, 876
config_file_splitter_t, 876
configfile, 877
configname, 877
get_configfile, 877
get_configname, 876
get_libname, 877
get_origname, 877
libname, 877
origname, 877
PluginLoader::fourway_processor_t, 877
fourway_processor_t, 878
parse, 880
prepare, 880
process, 878,879
release, 880
PluginLoader::mhapluginloader_t, 880
mhapluginloader_t, 882
ac, 884
b_check_version, 885
b_is_prepared, 885
cf_input, 885
cf_output, 885
get_categories, 884
get_documentation, 884
getfullname, 883
has_parser, 883
has_process, 883
input_domain, 883
is_prepared, 884
lib_data, 884
lib_err, 884
lib_handle, 884
MHADestroy_cb, 884
MHAGetVersion_cb, 884
MHAInit_cb, 884
MHAPrepare_cb, 884
MHAProc_spec2spec_cb, 884
MHAProc_spec2wave_cb, 885
MHAProc_wave2spec_cb, 884
MHAProc_wave2wave_cb, 884
MHARelease_cb, 884
MHASet_cb, 885
MHAStrError_cb, 885
mha_test_struct_size, 884
mhapluginloader_t, 882
output_domain, 883
parse, 882
plugin_categories, 885
plugin_documentation, 885
prepare, 883
process, 883
release, 883
resolve_and_init, 884
test_error, 884
test_version, 884
pluginbrowser.cpp, 1072
pluginbrowser.h, 1072
pluginbrowser_t, 873
add_plugin, 874
add_plugins, 874
clear_plugins, 874
get_paths, 874
get_plugins, 874
library_paths, 874
p, 874
plugin_extension, 874
pluginbrowser_t, 874
plugins, 874
scan_plugin, 874
scan_plugins, 874
plugindescription_t, 875
categories, 875
documentation, 875
fullname, 875
name, 875
queries, 875
query_cmds, 875
spec2spec, 875
spec2wave, 875
wave2spec, 875
wave2wave, 875
pluginloader_t, 885
pluginloader_t, 886
pluginloader_t, 886
plugins
fw_t, 347
pluginbrowser_t, 874
plugloader
bbcalib_interface_t, 229
db_if_t, 251
db_t, 252
MHAPlugin_Resampling::resampling_if-
_t, 734
MHAPlugin_Resampling::resampling_t,
736
overlapadd::overlapadd_if_t, 861
smoothgains_bridge::overlapadd_if_-
© 2005-2019 HörTech gGmbH, Oldenburg
1176 INDEX
t, 914
plugname
latex_doc_t, 394
MHAParser::mhapluginloader_t, 684
plugname_name_
MHAParser::mhapluginloader_t, 684
plugs
altplugs_t, 216
plugs_t
mhachain::plugs_t, 502
pmode
calibrator_runtime_layer_t, 231
poll
mha_rt_fifo_t, 463
poll_1
mha_rt_fifo_t, 463
poll_config
MHAPlugin::config_t, 726
polyphase_resampling_t
MHAFilter::polyphase_resampling_t, 561
pool
acPooling_wave_config, 164
pool_name
acPooling_wave, 162
pooling_ind
acPooling_wave_config, 164
pooling_option
acPooling_wave_config, 164
pooling_size
acPooling_wave_config, 164
pooling_type
acPooling_wave, 162
pooling_wndlen
acPooling_wave, 162
port
ac2osc_t, 146
MHA_TCP::Server, 483
MHAJack::port_t, 602
mhaserver_t, 763
port_t
MHAJack::port_t, 600,601
portaudio_callback
MHAIOPortAudio.cpp, 1059,1060
MHAIOPortAudio::io_portaudio_t, 587
portaudio_stream
MHAIOPortAudio::io_portaudio_t, 587
portnames_in
MHAIOJack::io_jack_t, 577
MHAIOJackdb::io_jack_t, 581
portnames_out
MHAIOJack::io_jack_t, 577
MHAIOJackdb::io_jack_t, 581
ports_in_all
MHAIOJack::io_jack_t, 577
MHAIOJackdb::io_jack_t, 582
ports_in_physical
MHAIOJack::io_jack_t, 577
MHAIOJackdb::io_jack_t, 582
ports_out_all
MHAIOJack::io_jack_t, 577
MHAIOJackdb::io_jack_t, 582
ports_out_physical
MHAIOJack::io_jack_t, 577
MHAIOJackdb::io_jack_t, 582
ports_parser
MHAIOJack::io_jack_t, 577
MHAIOJackdb::io_jack_t, 582
pos
addsndfile::level_adapt_t, 184
cfg_t, 236
fader_wave::level_adapt_t, 323
MHAJack::client_avg_t, 590
MHAJack::client_noncont_t, 592
MHASignal::async_rmslevel_t, 765
MHASignal::delay_spec_t, 766
MHASignal::delay_t, 768
MHASignal::delay_wave_t, 769
MHASignal::loop_wavefragment_t, 781
posix_threads_t
MHAPlugin_Split::posix_threads_t, 744
posixthreads
split.cpp, 1079
postscale
overlapadd::overlapadd_if_t, 861
postwindow
spec2wave_t, 923
postwnd
overlapadd::overlapadd_t, 863
powSpec
timoConfig, 943
power
MHASignal::waveform_t, 820
powersum
dc::dc_t, 256
dc::dc_vars_t, 258
powspec
MHASignal::waveform_t, 821
pred_err_delay
prediction_error, 889
prediction_error, 886
prediction_error, 887
c, 888
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1177
delay_d, 889
delay_w, 889
gains, 888
lpc_order, 889
n_no_update, 889
name_e, 888
name_f, 888
name_lpc, 888
ntaps, 888
patchbay, 889
pred_err_delay, 889
prediction_error, 887
prepare, 888
process, 888
release, 888
rho, 888
update_cfg, 888
prediction_error.cpp, 1072
INSERT_PATCH, 1072
make_friendly_number_by_limiting, 1072
PATCH_VAR, 1072
prediction_error.h, 1072
prediction_error_config, 889
prediction_error_config, 890
ac, 890
channels, 891
EPrew, 892
F, 891
F_Uflt, 891
frames, 890
insert, 890
iter, 891
n_no_update_, 891
name_d_, 891
name_lpc_, 891
no_iter, 891
ntaps, 890
prediction_error_config, 890
process, 890
Pu, 891
s_E_pred_err_delay, 891
s_LPC, 891
s_U_delay, 891
s_U_delayflt, 891
s_Usmpl, 892
s_Wflt, 891
s_Y_delay, 891
s_Y_delayflt, 891
s_E, 891
s_U, 891
s_W, 891
smpl, 892
UPrew, 892
UPrewW, 892
UbufferPrew, 891
v_G, 891
YPrew, 892
prefix
wavrec_t, 955
prefix_
MHAParser::mhapluginloader_t, 684
prefix_names_AC
acConcat_wave, 153
prepare
ac2lsl::ac2lsl_t, 132
ac2osc_t, 146
ac2wave_if_t, 149
acConcat_wave, 153
acPooling_wave, 161
acSteer, 173
acTransform_wave, 177
acmon::acmon_t, 158
acsave::acsave_t, 166
addsndfile::addsndfile_if_t, 181
adm_if_t, 196
altplugs_t, 214
analysispath_if_t, 220
bbcalib_interface_t, 229
calibrator_t, 232
coherence::cohflt_if_t, 238
combc_if_t, 244
cpuload_t, 248
db_if_t, 250
dc::dc_if_t, 254
dc_simple::dc_if_t, 264
delay::interface_t, 274
delaysum::delaysum_if_t, 276
doasvm_classification, 280
doasvm_feature_extraction, 284
droptect_t, 288
ds_t, 291
example1_t, 304
example2_t, 307
example3_t, 310
example4_t, 314
example6_t, 317
fader_if_t, 319
fader_wave::fader_wave_if_t, 321
fftfbpow::fftfbpow_interface_t, 325
fftfilterbank::fftfb_interface_t, 329
fshift::fshift_t, 335
fshift_hilbert::frequency_translator_t, 338
© 2005-2019 HörTech gGmbH, Oldenburg
1178 INDEX
fw_t, 345
gain::gain_if_t, 351
gtfb_analyzer::gtfb_analyzer_t, 357
identity_t, 360
io_alsa_t, 363,364
io_file_t, 367
io_lib_t, 370
io_parser_t, 373
io_tcp_sound_t, 386
io_tcp_t, 390
lpc, 396
lpc_bl_predictor, 399
lpc_burglattice, 404
MHAIOJack::io_jack_t, 575
MHAIOJackdb::io_jack_t, 580
MHAJack::client_t, 595,596
MHAParser::mhapluginloader_t, 683
MHAPlugin::plugin_t, 730
MHAPlugin_Resampling::resampling_if-
_t, 734
MHAPlugin_Split::splitted_part_t, 754
MHATableLookup::linear_table_t, 827
matrixmixer::matmix_t, 411
mhachain::chain_base_t, 499
mhachain::plugs_t, 502
multibandcompressor::interface_t, 848
nlms_t, 852
noise_t, 854
noisePowProposedScale::interface_t, 856
overlapadd::overlapadd_if_t, 860
plingploing::if_t, 866
plugin_interface_t, 873
PluginLoader::fourway_processor_t, 880
PluginLoader::mhapluginloader_t, 883
prediction_error, 888
rmslevel_if_t, 893
route::interface_t, 896
save_spec_t, 902
save_wave_t, 903
shadowfilter_begin::shadowfilter_begin-
_t, 906
shadowfilter_end::shadowfilter_end_-
t, 909
sine_t, 911
smoothgains_bridge::overlapadd_if_-
t, 913
softclip_t, 917
spec2wave_if_t, 921
steerbf, 927
testplugin::if_t, 935
timoSmooth, 946
us_t, 948
wave2spec_if_t, 950
wavrec_t, 954
prepare_
iirfilter_t, 361
MHAPlugin::plugin_t, 731
MHAPlugin_Split::split_t, 749
prepare_impl
MHAJack::client_t, 597
prepare_vars
fw_t, 347
prepared
ac2wave_if_t, 149
altplugs_t, 216
calibrator_t, 233
dc_simple::dc_if_t, 265
example3_t, 311
example4_t, 315
fader_wave::fader_wave_if_t, 321
fftfilterbank::fftfb_interface_t, 330
gtfb_analyzer::gtfb_analyzer_t, 357
mhachain::plugs_t, 502
route::interface_t, 896
timoSmooth, 947
prereadaccess
MHAParser::base_t, 642
prescale
overlapadd::overlapadd_if_t, 861
preset
dc::dc_vars_t, 259
dc_simple::dc_if_t, 265
prewnd
overlapadd::overlapadd_t, 863
print_ac
analysemhaplugin.cpp, 967
print_plugin_references
generatemhaplugindoc.cpp, 982
prior_q
timo_params, 940
timoSmooth, 947
priorFact
noisePowProposedScale::noisePow-
Proposed, 859
timoConfig, 943
priority
analysepath_t, 218
analysispath_if_t, 220
io_alsa_t, 364
MHAPlugin_Split::posix_threads_t, 746
prob_bias
acPooling_wave, 162
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1179
prob_bias_func
acPooling_wave_config, 164
proc
MHAJack::client_avg_t, 590
MHAJack::client_noncont_t, 592
proc_1
smoothgains_bridge::smoothspec_-
wrap_t, 915
proc_2
smoothgains_bridge::smoothspec_-
wrap_t, 915
proc_cnt
mhachain::plugs_t, 503
proc_err
io_tcp_fwcb_t, 378
proc_error
fw_t, 348
proc_error_string
fw_t, 348
proc_event
io_alsa_t, 364
io_file_t, 368
io_parser_t, 374
io_tcp_fwcb_t, 377
MHAIOJackdb::io_jack_t, 581
MHAIOPortAudio::io_portaudio_t, 587
MHAJack::client_t, 598
proc_handle
io_alsa_t, 364
io_file_t, 368
io_parser_t, 374
io_tcp_fwcb_t, 377
MHAIOJackdb::io_jack_t, 581
MHAIOPortAudio::io_portaudio_t, 587
MHAJack::client_t, 598
proc_lib
fw_t, 348
proc_name
fw_t, 347
proc_ramp
altplugs_t, 215
proc_thread
io_alsa_t, 364
proc_wave
doasvm_feature_extraction_config, 286
process
ADM::ADM, 189
ADM::Delay, 192
ADM::Linearphase_FIR, 194
ac2lsl::ac2lsl_t, 132
ac2lsl::cfg_t, 135
ac2osc_t, 146
ac2wave_if_t, 149
ac2wave_t, 150
acConcat_wave, 153
acConcat_wave_config, 154
acPooling_wave, 161
acPooling_wave_config, 163
acSteer, 173
acTransform_wave, 177
acTransform_wave_config, 179
acmon::acmon_t, 159
acsave::acsave_t, 166,167
addsndfile::addsndfile_if_t, 181
adm_if_t, 196
altplugs_t, 215
analysispath_if_t, 220
bbcalib_interface_t, 229
calibrator_runtime_layer_t, 230
calibrator_t, 232
cfg_t, 236
coherence::cohflt_if_t, 238
coherence::cohflt_t, 240
combc_if_t, 244
combc_t, 245
cpuload_t, 248
db_if_t, 250
dc::dc_if_t, 254
dc::dc_t, 256
dc_simple::dc_if_t, 264,265
dc_simple::dc_t, 267
dc_simple::level_smoother_t, 272
delay::interface_t, 274
delaysum::delaysum_if_t, 276
delaysum::delaysum_t, 278
doasvm_classification, 280
doasvm_classification_config, 282
doasvm_feature_extraction, 284
doasvm_feature_extraction_config, 286
droptect_t, 288
ds_t, 291
example1_t, 305
example2_t, 307
example3_t, 311
example4_t, 314
example5_t, 316
example6_t, 317
fader_if_t, 319
fader_wave::fader_wave_if_t, 321
fftfbpow::fftfbpow_interface_t, 325
fftfilterbank::fftfb_interface_t, 329
fftfilterbank::fftfb_plug_t, 331
© 2005-2019 HörTech gGmbH, Oldenburg
1180 INDEX
fshift::fshift_config_t, 333
fshift::fshift_t, 335
fshift_hilbert::frequency_translator_t, 338
fshift_hilbert::hilbert_shifter_t, 341
fw_t, 346
gain::gain_if_t, 351
gtfb_analyzer::gtfb_analyzer_t, 357
identity_t, 359,360
iirfilter_t, 361
io_alsa_t, 364
io_tcp_fwcb_t, 376
lpc, 396
lpc_bl_predictor, 399
lpc_bl_predictor_config, 401
lpc_burglattice, 404
lpc_burglattice_config, 405
lpc_config, 407
MHAFilter::partitioned_convolution_t, 556
MHAFilter::thirdoctave_analyzer_t, 569
MHAParser::mhapluginloader_t, 683,684
MHAPlugin_Resampling::resampling_if-
_t, 734
MHAPlugin_Resampling::resampling_t,
735
MHAPlugin_Split::domain_handler_t, 740
MHAPlugin_Split::split_t, 749
MHAPlugin_Split::uni_processor_t, 760
MHASignal::async_rmslevel_t, 765
MHASignal::delay_spec_t, 766
MHASignal::delay_t, 767
MHASignal::delay_wave_t, 769
MHASignal::subsample_delay_t, 808
matrixmixer::cfg_t, 409
matrixmixer::matmix_t, 411
mha_dblbuf_t, 435
mhachain::chain_base_t, 498,499
mhachain::plugs_t, 502
multibandcompressor::interface_t, 848
nlms_t, 852
noise_t, 854
noisePowProposedScale::interface_t, 856
noisePowProposedScale::noisePow-
Proposed, 858
overlapadd::overlapadd_if_t, 861
plingploing::if_t, 866
plingploing::plingploing_t, 869
plugin_interface_t, 873
PluginLoader::fourway_processor_t, 878,
879
PluginLoader::mhapluginloader_t, 883
prediction_error, 888
prediction_error_config, 890
rmslevel_if_t, 893
rmslevel_t, 894
route::interface_t, 896
route::process_t, 897
rt_nlms_t, 899
save_spec_t, 902
save_wave_t, 903
shadowfilter_begin::cfg_t, 904
shadowfilter_begin::shadowfilter_begin-
_t, 906
shadowfilter_end::cfg_t, 907
shadowfilter_end::shadowfilter_end_-
t, 909
sine_t, 911
smoothgains_bridge::overlapadd_if_-
t, 913
softclip_t, 917
softclipper_t, 918
spec2wave_if_t, 921
spec2wave_t, 922
steerbf, 927
steerbf_config, 929
testplugin::if_t, 935
timoConfig, 942
timoSmooth, 945
us_t, 948
wave2spec_if_t, 950
wave2spec_t, 952
wavrec_t, 954
wavwriter_t, 956
process_frame
io_parser_t, 374
process_t
route::process_t, 897
ProcessMutex
analysepath_t, 218
processing_done
MHAPlugin_Split::posix_threads_t, 746
processor
MHAPlugin_Split::domain_handler_t, 741
MHAPlugin_Split::thread_platform_t, 758
prof_algos
mhachain::plugs_t, 503
prof_cfg
mhachain::plugs_t, 503
prof_init
mhachain::plugs_t, 503
prof_load_con
mhachain::plugs_t, 503
prof_prepare
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1181
mhachain::plugs_t, 503
prof_process
mhachain::plugs_t, 503
prof_process_load
mhachain::plugs_t, 503
prof_process_tt
mhachain::plugs_t, 503
prof_release
mhachain::plugs_t, 503
prof_tt_con
mhachain::plugs_t, 503
profiling
mhachain::plugs_t, 503
provoke_inner_error
mha_dblbuf_t, 435
provoke_outer_error
mha_dblbuf_t, 435
psrate
fw_vars_t, 349
Pu
prediction_error_config, 891
rt_nlms_t, 899
push
MHASignal::stat_t, 806
mha_rt_fifo_t, 464
push_config
MHAPlugin::config_t, 726
put_signal
MHAPlugin_Split::domain_handler_t, 739
pwinner_out
MHAIOJackdb::io_jack_t, 582
q
noisePowProposedScale::interface_t, 857
q_high
timoConfig, 942
q_low
timoConfig, 942
quant
calibrator_runtime_layer_t, 230
quantile
MHASignal, 123
quantizer_t
MHASignal::quantizer_t, 792
queries
MHAParser::base_t, 642
plugindescription_t, 875
query_addsubst
MHAParser::base_t, 640
query_cmds
MHAParser::base_t, 640
plugindescription_t, 875
query_dump
MHAParser::base_t, 638
MHAParser::monitor_t, 687
MHAParser::parser_t, 691
query_entries
MHAParser::base_t, 638
MHAParser::parser_t, 691
query_help
MHAParser::base_t, 640
query_id
MHAParser::base_t, 640
query_listids
MHAParser::base_t, 640
MHAParser::parser_t, 692
query_map_t
MHAParser, 111
query_perm
MHAParser::base_t, 639
MHAParser::monitor_t, 687
MHAParser::variable_t, 701
query_range
MHAParser::base_t, 639
MHAParser::kw_t, 671
MHAParser::range_var_t, 694
query_readfile
MHAParser::base_t, 639
MHAParser::parser_t, 691
query_savefile
MHAParser::base_t, 639
MHAParser::parser_t, 691
query_savefile_compact
MHAParser::base_t, 640
MHAParser::parser_t, 692
query_savemons
MHAParser::base_t, 640
MHAParser::parser_t, 692
query_subst
MHAParser::base_t, 640
query_t
MHAParser, 111
query_type
MHAParser::base_t, 639
MHAParser::bool_mon_t, 645
MHAParser::bool_t, 647
MHAParser::complex_mon_t, 653
MHAParser::complex_t, 655
MHAParser::float_mon_t, 659
MHAParser::float_t, 661
MHAParser::int_mon_t, 663
MHAParser::int_t, 666
MHAParser::kw_t, 671
© 2005-2019 HörTech gGmbH, Oldenburg
1182 INDEX
MHAParser::mcomplex_mon_t, 673
MHAParser::mcomplex_t, 675
MHAParser::mfloat_mon_t, 677
MHAParser::mfloat_t, 679
MHAParser::mint_mon_t, 686
MHAParser::parser_t, 691
MHAParser::string_mon_t, 697
MHAParser::string_t, 699
MHAParser::vcomplex_mon_t, 704
MHAParser::vcomplex_t, 706
MHAParser::vfloat_mon_t, 708
MHAParser::vfloat_t, 710
MHAParser::vint_mon_t, 712
MHAParser::vint_t, 714
MHAParser::vstring_mon_t, 716
MHAParser::vstring_t, 718
query_val
MHAParser::base_t, 639
MHAParser::bool_mon_t, 645
MHAParser::bool_t, 647
MHAParser::complex_mon_t, 653
MHAParser::complex_t, 655
MHAParser::float_mon_t, 659
MHAParser::float_t, 661
MHAParser::int_mon_t, 663
MHAParser::int_t, 666
MHAParser::kw_t, 671
MHAParser::mcomplex_mon_t, 673
MHAParser::mcomplex_t, 675
MHAParser::mfloat_mon_t, 677
MHAParser::mfloat_t, 679
MHAParser::mint_mon_t, 686
MHAParser::parser_t, 692
MHAParser::string_mon_t, 697
MHAParser::string_t, 699
MHAParser::vcomplex_mon_t, 704
MHAParser::vcomplex_t, 706
MHAParser::vfloat_mon_t, 708
MHAParser::vfloat_t, 710
MHAParser::vint_mon_t, 712
MHAParser::vint_t, 714
MHAParser::vstring_mon_t, 716
MHAParser::vstring_t, 718
query_version
MHAParser::base_t, 640
quit
fw_t, 346
R
AuditoryProfile::parser_t, 223
AuditoryProfile::profile_t, 227
lpc_config, 408
MHA_TCP::OS_EVENT_TYPE, 480
r
mha_real_test_array_t, 460
RUNNING
MHA_TCP::Thread, 488
rad2smp
Vector and matrix processing toolbox, 46
ramp_a
hanning_ramps_t, 358
ramp_b
hanning_ramps_t, 358
ramp_begin
MHAWindow::base_t, 836
ramp_counter
altplugs_t, 216
ramp_end
MHAWindow::base_t, 836
ramp_len
altplugs_t, 216
ramplen
addsndfile::addsndfile_if_t, 182
altplugs_t, 216
fader_wave::fader_wave_if_t, 321
spec2wave_if_t, 921
ramps
spec2wave_t, 923
range
Vector and matrix processing toolbox, 42
range_var_t
MHAParser::range_var_t, 694
ratio
ds_t, 291
us_t, 948
raw_p_max_name
acTransform_wave, 178
acTransform_wave_config, 179
raw_p_name
acPooling_wave_config, 164
acTransform_wave, 178
acTransform_wave_config, 179
rb_f_t
mha_ruby.cpp, 1025
rdata
MHASignal::matrix_t, 790
mha_audio_t, 429
re
mha_complex_t, 431
read
alsa_base_t, 207
alsa_t, 212
MHAFilter::blockprocessing_polyphase-
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1183
_resampling_t, 519
MHAFilter::polyphase_resampling_t, 562
MHAJack::port_t, 601
mha_drifter_fifo_t, 441
mha_fifo_lw_t, 449
mha_fifo_t, 455
read_bytes
MHA_TCP::Connection, 476
read_event
MHA_TCP::Connection, 477
read_get_cpu_load
MHAIOJack::io_jack_t, 576
MHAIOJackdb::io_jack_t, 581
read_get_scheduler
MHAIOJack::io_jack_t, 576
MHAIOJackdb::io_jack_t, 581
read_get_xruns
MHAIOJack::io_jack_t, 576
MHAIOJackdb::io_jack_t, 581
read_levels
calibrator_t, 233
read_line
MHA_TCP::Connection, 475
read_modified
dc_simple::dc_if_t, 265
read_ptr
mha_fifo_t, 456
readable_frames
MHAFilter::polyphase_resampling_t, 562
readaccess
MHAParser::base_t, 642
reader_started
mha_drifter_fifo_t, 443
reader_xruns_in_succession
mha_drifter_fifo_t, 444
reader_xruns_since_start
mha_drifter_fifo_t, 444
reader_xruns_total
mha_drifter_fifo_t, 443
real
MHASignal::matrix_t, 786788
rear_channel
adm_rtconfig_t, 200
rear_channels
adm_if_t, 197
adm_rtconfig_t, 200
rec_frames
acsave::cfg_t, 169
received_group
mhaserver_t, 762
receiver
MHAEvents::connector_t, 510
reciprocal
Complex arithmetics in the openMHA, 68
reclen
acsave::acsave_t, 167
recmode
acmon::acmon_t, 159
reconnect_inports
MHAIOJack::io_jack_t, 576
MHAIOJackdb::io_jack_t, 580
reconnect_outports
MHAIOJack::io_jack_t, 576
MHAIOJackdb::io_jack_t, 580
record
wavrec_t, 955
rect
MHAOvlFilter::ShapeFun, 106
MHAWindow, 126
rect_t
MHAWindow::rect_t, 842
relative
MHASignal::loop_wavefragment_t, 779
release
ac2lsl::ac2lsl_t, 132
ac2osc_t, 146
ac2wave_if_t, 149
acConcat_wave, 153
acPooling_wave, 162
acSteer, 173
acTransform_wave, 177
acmon::acmon_t, 158
acsave::acsave_t, 166
addsndfile::addsndfile_if_t, 181
adm_if_t, 196
altplugs_t, 214
analysispath_if_t, 220
bbcalib_interface_t, 229
calibrator_t, 232
coherence::cohflt_if_t, 238
db_if_t, 250
dc_simple::dc_if_t, 264
delaysum::delaysum_if_t, 276
doasvm_classification, 280
doasvm_feature_extraction, 284
droptect_t, 288
ds_t, 291
example1_t, 304
example2_t, 307
example3_t, 311
example4_t, 314
fader_wave::fader_wave_if_t, 321
© 2005-2019 HörTech gGmbH, Oldenburg
1184 INDEX
fftfilterbank::fftfb_interface_t, 329
fshift::fshift_t, 336
fshift_hilbert::frequency_translator_t, 338
fw_t, 346
gain::gain_if_t, 351
identity_t, 360
io_alsa_t, 363
io_file_t, 367
io_lib_t, 371
io_parser_t, 374
io_tcp_sound_t, 386
io_tcp_t, 390
lpc, 396
lpc_bl_predictor, 399
lpc_burglattice, 404
MHAIOJack::io_jack_t, 575
MHAIOJackdb::io_jack_t, 580
MHAJack::client_t, 596
MHAParser::mhapluginloader_t, 683
MHAPlugin::plugin_t, 731
MHAPlugin_Resampling::resampling_if-
_t, 734
MHAPlugin_Split::splitted_part_t, 754
mhachain::chain_base_t, 499
mhachain::plugs_t, 502
multibandcompressor::interface_t, 848
nlms_t, 852
overlapadd::overlapadd_if_t, 860
PluginLoader::fourway_processor_t, 880
PluginLoader::mhapluginloader_t, 883
prediction_error, 888
route::interface_t, 896
smoothgains_bridge::overlapadd_if_-
t, 913
steerbf, 928
timoSmooth, 946
us_t, 948
wavrec_t, 954
release_
iirfilter_t, 361
MHAPlugin::plugin_t, 731
MHAPlugin_Split::split_t, 749
release_mutex
mha_fifo_posix_threads_t, 451
mha_fifo_thread_platform_t, 459
remove_abandonned
mha_rt_fifo_t, 464
remove_all
mha_rt_fifo_t, 464
remove_all_cfg
MHAPlugin::config_t, 728
remove_item
MHAParser::parser_t, 690,691
remove_lock
mhamain.cpp, 1067
remove_ref
algo_comm_t, 203
MHAKernel::algo_comm_class_t, 604
remove_var
algo_comm_t, 202
MHAKernel::algo_comm_class_t, 604
repl_list
MHAParser::base_t, 642
repl_list_t
MHAParser::base_t, 637
replace
MHAParser::base_t::replace_t, 643
MHASignal::loop_wavefragment_t, 779
replace_
cfg_t, 236
replace_t
MHAParser::base_t::replace_t, 643
resampled_num_frames
addsndfile, 80
resampled_soundfile_t
addsndfile::resampled_soundfile_t, 185
resampling
MHAFilter::blockprocessing_polyphase-
_resampling_t, 519
resampling.cpp, 1073
resampling_factors
MHAFilter, 97
resampling_filter_t
MHAFilter::resampling_filter_t, 564
resampling_if_t
MHAPlugin_Resampling::resampling_if-
_t, 734
resampling_t
MHAPlugin_Resampling::resampling_t,
735
resamplingmode
addsndfile::addsndfile_if_t, 182
reset
droptect_t, 289
MHA_TCP::Async_Notify, 469
MHA_TCP::Wakeup_Event, 494
reset_state
MHAFilter::gamma_flt_t, 537
resize
MHAFilter::iir_filter_t, 542
resolution
acTransform_wave_config, 179
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1185
resolve
dynamiclib_t, 292
resolve_and_init
PluginLoader::mhapluginloader_t, 884
resolve_checked
dynamiclib_t, 292
result
cpuload_t, 249
resynthesis_gain
MHAFilter::gamma_flt_t, 538
ret_size
MHAParser::c_ifc_parser_t, 650
return_imag
fftfilterbank::fftfb_interface_t, 330
return_imag_
fftfilterbank::fftfb_plug_t, 331
return_value
MHA_TCP::Thread, 489
return_wave
wave2spec_if_t, 950
retv
MHAParser::c_ifc_parser_t, 650
rewind
MHASignal::loop_wavefragment_t, 781
rho
nlms_t, 852
prediction_error, 888
ringbuffer
MHAFilter::polyphase_resampling_t, 563
ringbuffer_t
MHASignal::ringbuffer_t, 795
rm_parent_on_remove
MHAParser::base_t, 641
rms
MHASignal::loop_wavefragment_t, 779
plingploing::plingploing_t, 870
rms_limit40
MHASignal::loop_wavefragment_t, 779
rmsdb
example6_t, 317
rmslevel
calibrator_variables_t, 234
dc::dc_t, 256
MHASignal::async_rmslevel_t, 764
Vector and matrix processing toolbox, 57,
58
rmslevel.cpp, 1073
rmslevel_if_t, 892
name, 893
prepare, 893
process, 893
rmslevel_if_t, 893
rmslevel_t, 894
fftlen, 894
insert, 894
level, 894
level_db, 894
peak, 894
peak_db, 894
process, 894
rmslevel_t, 894
rmslevelmeter
transducers.cpp, 1083
root
mha_rt_fifo_t, 464
rotated_i
acTransform_wave_config, 179
rotated_p
acTransform_wave_config, 179
rotated_p_max_name
acTransform_wave, 178
rotated_p_name
acTransform_wave, 178
route, 129
route.cpp, 1073
route::interface_t, 895
algo, 896
cfac, 896
cfin, 896
cfout, 896
interface_t, 896
patchbay, 896
prepare, 896
prepared, 896
process, 896
release, 896
route_ac, 896
route_out, 896
stopped, 896
update, 896
route::process_t, 897
process, 897
process_t, 897
sout, 897
sout_ac, 897
wout, 897
wout_ac, 897
route_ac
route::interface_t, 896
route_out
route::interface_t, 896
rows
© 2005-2019 HörTech gGmbH, Oldenburg
1186 INDEX
acsave::mat4head_t, 169
rt_nlms_t, 898
rt_nlms_t, 899
ac, 899
channels, 899
F, 899
frames, 899
fu, 900
fu_previous, 900
fuflt, 900
insert, 899
n_no_update_, 900
name_d_, 900
name_e_, 900
name_u_, 900
no_iter, 900
ntaps, 899
P_Sum, 900
process, 899
Pu, 899
rt_nlms_t, 899
s_E, 900
U, 899
Uflt, 899
y_previous, 900
rt_process
analysepath_t, 218
rt_strict
ac2lsl::ac2lsl_t, 133
ac2osc_t, 147
rtcalibrator
transducers.cpp, 1083
rtmem
ac2osc_t, 147
run
MHA_TCP::Thread, 489
mhaserver_t, 762
runtime configuration, 5
rval
MHAParser::expression_t, 657
s_E_pred_err_delay
prediction_error_config, 891
s_LPC
prediction_error_config, 891
s_U_delay
prediction_error_config, 891
s_U_delayflt
prediction_error_config, 891
s_Usmpl
prediction_error_config, 892
s_Wflt
prediction_error_config, 891
s_Y_delay
prediction_error_config, 891
s_Y_delayflt
prediction_error_config, 891
s_b
lpc_bl_predictor_config, 402
lpc_burglattice_config, 406
s_E
prediction_error_config, 891
rt_nlms_t, 900
s_f
lpc_bl_predictor_config, 402
lpc_burglattice_config, 406
s_file_in
io_file_t, 368
s_in
io_file_t, 368
io_parser_t, 374
io_tcp_sound_t, 388
MHAIOPortAudio::io_portaudio_t, 587
MHAJack::client_t, 599
s_out
coherence::cohflt_t, 241
combc_t, 245
fftfilterbank::fftfb_plug_t, 331
gtfb_analyzer::gtfb_analyzer_cfg_t, 355
io_file_t, 368
io_parser_t, 374
MHAIOPortAudio::io_portaudio_t, 587
MHAJack::client_t, 599
s_U
prediction_error_config, 891
s_W
prediction_error_config, 891
sInput
MHAFilter::fftfilter_t, 527
SOCKET_ERROR
mha_tcp.cpp, 1040
SOCKET
MHA_TCP, 92
mha_tcp.cpp, 1040
SPP
timo_AC, 938
START_BETA
ADM, 81
STRERROR
MHA_TCP, 92
STRLEN
mha_errno.c, 999
sWeights
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1187
MHAFilter::fftfilter_t, 527
safe_div
Complex arithmetics in the openMHA, 67
mha_signal.cpp, 1028
mha_signal.hh, 1037
sample
lpc_config, 408
samplerate
io_file_t, 367
io_tcp_sound_t, 387
MHAIOPortAudio::io_portaudio_t, 587
MHAJack::client_t, 598
samples_AC
acConcat_wave, 153
samplingrate
MHAOvlFilter::fftfb_t, 618
save_m
acsave::save_var_t, 171
save_mat4
acsave::save_var_t, 170
save_spec.cpp, 1073
save_spec_t, 901
basename, 902
prepare, 902
process, 902
save_spec_t, 901
save_txt
acsave::save_var_t, 170
save_var_t
ac2lsl::save_var_t, 138
ac2lsl::save_var_t<mha_complex_t >,
141
acsave::save_var_t, 170
save_vars
acmon::acmon_t, 159
save_wave.cpp, 1073
save_wave_t, 902
basename, 903
prepare, 903
process, 903
save_wave_t, 903
saveas_mat4
MHASignal, 123,124
sc
MHASignal::hilbert_fftw_t, 776
spec2wave_t, 923
scale
example5_t, 316
MHASignal, 121
MHASignal::fft_t, 775
MHASignal::spectrum_t, 804
MHASignal::waveform_t, 821
scale_ch
example2_t, 308
example3_t, 311
example4_t, 315
plugin_interface_t, 873
scale_channel
MHASignal::spectrum_t, 805
MHASignal::waveform_t, 821
scale_frame
MHASignal::waveform_t, 822
scale_fun_t
MHAOvlFilter, 103
scale_var_t
MHAOvlFilter::scale_var_t, 633
scalefac
MHATableLookup::linear_table_t, 828
scaler_t
gain::scaler_t, 352
scan_dir
addsndfile::addsndfile_if_t, 182
scan_plugin
pluginbrowser_t, 874
scan_plugins
pluginbrowser_t, 874
scheduler
analysepath_t, 218
MHAPlugin_Split::posix_threads_t, 746
schroeder_t
MHASignal::schroeder_t, 799
search_pattern
addsndfile::addsndfile_if_t, 182
search_result
addsndfile::addsndfile_if_t, 182
sec2smp
Vector and matrix processing toolbox, 44
select_plug
altplugs_t, 216
select_source
MHAMultiSrc::base_t, 608
selected_plug
altplugs_t, 216
send_frame
ac2lsl::save_var_base_t, 136
ac2lsl::save_var_t, 140
ac2lsl::save_var_t<mha_complex_t >,
142
send_osc_float
ac2osc_t, 146
Server
MHA_TCP::Server, 481,482
© 2005-2019 HörTech gGmbH, Oldenburg
1188 INDEX
server
io_tcp_t, 391
server_fragsize
MHAIOJackdb::io_jack_t, 582
server_port_open
io_tcp_parser_t, 383
server_srate
MHAIOJackdb::io_jack_t, 582
servername
MHAIOJack::io_jack_t, 576
MHAIOJackdb::io_jack_t, 581
serversocket
MHA_TCP::Server, 483
set
Complex arithmetics in the openMHA, 63,
64
MHA_TCP::Async_Notify, 469
testplugin::config_parser_t, 933
set_announce_port
mhaserver_t, 762
set_buf_address
ac2lsl::save_var_base_t, 137
ac2lsl::save_var_t, 139
ac2lsl::save_var_t<mha_complex_t >,
142
set_channelcnt
MHAFilter::adapt_filter_t, 516
set_connected
io_tcp_parser_t, 382
set_entries
MHAParser::keyword_list_t, 668
set_errnos
io_tcp_fwcb_t, 376
set_error
mha_fifo_lw_t, 449
set_fb_pars
DynComp::dc_afterburn_t, 295
set_help
MHAParser::base_t, 641
set_id_string
MHAParser::parser_t, 692
set_index
MHAParser::keyword_list_t, 668
set_input_domain
MHAPlugin_Split::domain_handler_t, 738
set_input_portnames
MHAJack::client_t, 597
set_level
addsndfile::addsndfile_if_t, 182
fader_wave::fader_wave_if_t, 321
set_level_db
MHASignal::loop_wavefragment_t, 781
set_level_lin
MHASignal::loop_wavefragment_t, 781
set_local_port
io_tcp_parser_t, 380
set_locate
MHAIOJackdb::io_jack_t, 581
set_max_angle_ind
parser_int_dyn, 865
set_minabs
mha_signal.cpp, 1028
mha_signal.hh, 1037
set_new_peer
io_tcp_parser_t, 382
set_node_id
MHAParser::base_t, 640
set_output_domain
MHAPlugin_Split::domain_handler_t, 738
set_output_portnames
MHAJack::client_t, 597
set_parse_cb
MHAParser::c_ifc_parser_t, 649
set_range
MHAParser::kw_t, 671
MHAParser::range_var_t, 694
set_server_port_open
io_tcp_parser_t, 381
set_state
MHAFilter::complex_bandpass_t, 521
MHAFilter::iir_ord1_real_t, 544
set_tau
MHAFilter::o1flt_lowpass_t, 550
MHAFilter::o1flt_maxtrack_t, 552
MHAFilter::o1flt_mintrack_t, 554
set_tau_attack
MHAFilter::o1_ar_filter_t, 547
set_tau_release
MHAFilter::o1_ar_filter_t, 547
set_use_jack_transport
MHAIOJackdb::io_jack_t, 581
MHAJack::client_t, 597
set_value
MHAParser::keyword_list_t, 668
set_weights
MHAFilter::complex_bandpass_t, 521
MHAFilter::gamma_flt_t, 537
set_xfun
MHATableLookup::xy_table_t, 832
set_xmax
MHATableLookup::linear_table_t, 827
set_xmin
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1189
MHATableLookup::linear_table_t, 826
set_xyfun
MHATableLookup::xy_table_t, 833
set_yfun
MHATableLookup::xy_table_t, 833
setchannels
dc::wideband_inhib_vars_t, 262
setlock
io_file_t, 367
MHAParser::variable_t, 701
testplugin::config_parser_t, 933
sf
MHASndFile::sf_t, 823
wavwriter_t, 956
sf_in
io_file_t, 368
sf_out
io_file_t, 368
sf_t
MHASndFile::sf_t, 823
sf_wave_t
MHASndFile::sf_wave_t, 824
sfinf_in
io_file_t, 368
sfinf_out
io_file_t, 368
shadowfilter_begin, 129
shadowfilter_begin.cpp, 1074
shadowfilter_begin::cfg_t, 903
cfg_t, 904
in_spec_copy, 904
nch, 904
ntracks, 904
out_spec, 904
process, 904
shadowfilter_begin::shadowfilter_begin_t, 905
basename, 906
nch, 906
ntracks, 906
prepare, 906
process, 906
shadowfilter_begin_t, 905
shadowfilter_begin_t
shadowfilter_begin::shadowfilter_begin-
_t, 905
shadowfilter_end, 129
shadowfilter_end.cpp, 1074
shadowfilter_end::cfg_t, 906
ac, 907
cfg_t, 907
gains, 907
in_spec, 907
name, 907
nch_out, 907
nfft, 907
ntracks, 907
out_spec, 907
process, 907
shadowfilter_end::shadowfilter_end_t, 908
basename, 909
prepare, 909
process, 909
shadowfilter_end_t, 908
shadowfilter_end_t
shadowfilter_end::shadowfilter_end_-
t, 908
shape
MHAOvlFilter::fftfb_t, 618
shapes
MHAOvlFilter::fftfb_vars_t, 621
shift
lpc, 397
lpc_config, 407
shifted
fshift_hilbert::hilbert_shifter_t, 341
side
mha_channel_info_t, 430
sign_t
MHASignal::schroeder_t, 799
signal
testplugin::if_t, 935
signal_counter
MHASignal, 125
signal_out
MHAPlugin_Split::split_t, 750
signal_parser_t
testplugin::signal_parser_t, 936
sin125
speechnoise_t, 925
sin1k
speechnoise_t, 925
sin250
speechnoise_t, 925
sin2k
speechnoise_t, 925
sin4k
speechnoise_t, 925
sin500
speechnoise_t, 925
sin8k
speechnoise_t, 925
sinc
© 2005-2019 HörTech gGmbH, Oldenburg
1190 INDEX
MHAFilter, 97
sine.cpp, 1074
sine_cfg_t, 909
amplitude, 910
channels, 910
mix, 910
phase_increment_div_2pi, 910
sine_cfg_t, 910
sine_t, 910
sine_t, 911
channels, 912
frequency, 912
lev, 912
mode, 912
patchbay, 912
phase_div_2pi, 912
prepare, 911
process, 911
sine_t, 911
update_cfg, 911
size
MHA_AC::ac2matrix_helper_t, 413
MHA_AC::acspace2matrix_t, 418
MHAKernel::algo_comm_class_t, 605
MHASignal::matrix_t, 786
Vector and matrix processing toolbox, 48,
49
size_t
MHAParser::keyword_list_t, 667
skip
ac2lsl::ac2lsl_t, 133
ac2lsl::cfg_t, 135
ac2osc_t, 147
skipcnt
ac2lsl::cfg_t, 135
ac2osc_t, 147
Sleep
mha_tcp.hh, 1042
slope
softclipper_t, 918
softclipper_variables_t, 920
slope_db
softclip_t, 917
smoothgains_bridge, 130
smoothgains_bridge.cpp, 1074
smoothgains_bridge::overlapadd_if_t, 912
overlapadd_if_t, 913
algo, 914
cf_in, 914
cf_out, 914
epsilon, 914
irswnd, 914
mode, 914
overlapadd_if_t, 913
patchbay, 914
plugloader, 914
prepare, 913
process, 913
release, 913
update, 914
smoothgains_bridge::smoothspec_wrap_-
t, 914
proc_1, 915
proc_2, 915
smoothspec, 915
smoothspec_epsilon, 915
smoothspec_wrap_t, 915
spec_in_copy, 915
use_smoothspec, 915
smoothspec
MHAFilter::smoothspec_t, 567
smoothgains_bridge::smoothspec_-
wrap_t, 915
smoothspec_epsilon
smoothgains_bridge::smoothspec_-
wrap_t, 915
smoothspec_t
MHAFilter::smoothspec_t, 566
smoothspec_wrap_t
smoothgains_bridge::smoothspec_-
wrap_t, 915
smp2rad
Vector and matrix processing toolbox, 45
smp2sec
Vector and matrix processing toolbox, 44
smpl
prediction_error_config, 892
sn_in
MHAJack::client_avg_t, 590
MHAJack::client_noncont_t, 592
sn_out
MHAJack::client_avg_t, 590
MHAJack::client_noncont_t, 593
sndfile_t
addsndfile::sndfile_t, 186
snprintf_required_length
mha_error_helpers, 90
snrPost1Debug
noisePowProposedScale::noisePow-
Proposed, 858
sock_addr
MHA_TCP::Server, 483
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1191
sock_init_t
MHA_TCP::sock_init_t, 484
sock_initializer
MHA_TCP, 93
Sockaccept_Event
MHA_TCP::Sockaccept_Event, 484
Sockread_Event
MHA_TCP::Sockread_Event, 485
Sockwrite_Event
MHA_TCP::Sockwrite_Event, 486
softclip
calibrator_runtime_layer_t, 230
calibrator_variables_t, 234
softclip.cpp, 1075
softclip_t, 916
attack, 917
decay, 917
patchbay, 917
prepare, 917
process, 917
slope_db, 917
softclip_t, 917
start_limit, 917
tftype, 917
update, 917
softclipper_t, 917
attack, 918
clipmeter, 918
decay, 918
hardlimit, 918
linear, 918
process, 918
slope, 918
softclipper_t, 918
threshold, 918
softclipper_variables_t, 919
clipped, 920
hardlimit, 920
linear, 920
max_clipped, 920
slope, 920
softclipper_variables_t, 919
tau_attack, 919
tau_clip, 920
tau_decay, 920
threshold, 920
sort_fftw2spec
MHASignal::fft_t, 774
sort_spec2fftw
MHASignal::fft_t, 774
sound
io_tcp_t, 391
source_channel_index
MHAFilter::partitioned_convolution_t-
::index_t, 559
MHAFilter::transfer_function_t, 572
source_id
ac2lsl::ac2lsl_t, 133
ac2lsl::cfg_t, 135
sout
matrixmixer::cfg_t, 409
route::process_t, 897
sout_ac
route::process_t, 897
spec2fir
MHAFilter, 97
MHAFilter::smoothspec_t, 567
spec2spec
plugindescription_t, 875
spec2wave
MHASignal::fft_t, 773
plugindescription_t, 875
spec2wave.cpp, 1075
max, 1075
min, 1075
spec2wave_if_t, 920
patchbay, 921
prepare, 921
process, 921
ramplen, 921
spec2wave_if_t, 921
update, 921
window_config, 921
spec2wave_scale
MHASignal::fft_t, 774
spec2wave_t, 922
spec2wave_t, 922
calc_out, 923
ft, 922
nfft, 923
npad1, 922
npad2, 923
nwndshift, 923
out_buf, 923
postwindow, 923
process, 922
ramps, 923
sc, 923
spec2wave_t, 922
write_buf, 923
spec_fader_t, 923
spec_fader_t, 924
© 2005-2019 HörTech gGmbH, Oldenburg
1192 INDEX
fr, 924
gains, 924
nch, 924
spec_fader_t, 924
spec_in
MHAPlugin_Split::domain_handler_t, 741
overlapadd::overlapadd_t, 863
wave2spec_t, 953
spec_in_copy
smoothgains_bridge::smoothspec_-
wrap_t, 915
spec_out
MHAPlugin_Split::domain_handler_t, 741
MHAPlugin_Split::split_t, 751
timoConfig, 943
specSteer1
acSteer_config, 175
specSteer2
acSteer_config, 175
spectrum_t
MHA_AC::spectrum_t, 423
MHAMultiSrc::spectrum_t, 610
MHASignal::spectrum_t, 802
speechnoise
calibrator_runtime_layer_t, 231
speechnoise.cpp, 1075
bandw_correction, 1077
erb_hz_f_hz, 1077
fhz2bandno, 1077
hz2hz, 1077
NUM_ENTR_LTASS, 1076
NUM_ENTR_MHAORIG, 1076
NUM_ENTR_OLNOISE, 1076
vLTASS_combined_lev, 1078
vLTASS_female_lev, 1078
vLTASS_freq, 1077
vLTASS_male_lev, 1078
vMHAOrigFreq, 1077
vMHAOrigSpec, 1077
vOlnoiseFreq, 1078
vOlnoiseLev, 1078
speechnoise.h, 1078
speechnoise_t, 924
brown, 925
creator, 926
LTASS_combined, 925
LTASS_female, 925
LTASS_male, 925
mha, 925
noise_type_t, 925
olnoise, 925
pink, 925
sin125, 925
sin1k, 925
sin250, 925
sin2k, 925
sin4k, 925
sin500, 925
sin8k, 925
speechnoise_t, 926
TEN_SPL_250_8k, 925
TEN_SPL_50_16k, 925
TEN_SPL, 925
white, 925
split.cpp, 1078
default_thread_platform_string, 1079
default_thread_platform_type, 1079
MHAPLUGIN_OVERLOAD_OUTDOM-
AIN, 1079
posixthreads, 1079
split_t
MHAPlugin_Split::split_t, 749
splitted_part_t
MHAPlugin_Split::splitted_part_t, 753
spnoise_channels
calibrator_variables_t, 234
spnoise_level
calibrator_variables_t, 234
spnoise_mode
calibrator_variables_t, 234
spnoise_parser
calibrator_variables_t, 234
spp
timoSmooth, 947
srate
ac2lsl::cfg_t, 135
adm_if_t, 197
calibrator_variables_t, 234
MHAParser::mhaconfig_mon_t, 682
MHAPlugin_Resampling::resampling_if-
_t, 734
mhaconfig_t, 505
testplugin::config_parser_t, 933
srate_
MHAFilter::gamma_flt_t, 538
srcfile
MHAParser::parser_t, 692
srcline
MHAParser::parser_t, 692
start
alsa_base_t, 207
alsa_t, 211
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1193
fw_t, 345
io_alsa_t, 363
io_file_t, 367
io_lib_t, 371
io_parser_t, 373
io_tcp_fwcb_t, 376
io_tcp_t, 390
MHAJack::client_t, 596
start_event
io_alsa_t, 364
io_file_t, 368
io_parser_t, 374
io_tcp_fwcb_t, 377
MHAIOPortAudio::io_portaudio_t, 587
MHAJack::client_t, 599
start_handle
io_alsa_t, 364
io_file_t, 368
io_parser_t, 374
io_tcp_fwcb_t, 378
MHAIOPortAudio::io_portaudio_t, 587
MHAJack::client_t, 599
start_limit
softclip_t, 917
start_lin
cfg_t, 236
start_new_session
wavrec_t, 954
started
fw_t, 346
io_parser_t, 374
starting
mha_drifter_fifo_t, 443
startpos
addsndfile::addsndfile_if_t, 182
startsample
io_file_t, 368
startup_zeros
mha_drifter_fifo_t, 444
stat_t
MHA_AC::stat_t, 425
MHASignal::stat_t, 806
state
fw_t, 348
gtfb_analyzer::gtfb_analyzer_cfg_t, 355
MHA_TCP::Thread, 489
MHAFilter::filter_t, 535
state_cpuload
MHAIOJack::io_jack_t, 577
MHAIOJackdb::io_jack_t, 582
state_parser
MHAIOJack::io_jack_t, 577
MHAIOJackdb::io_jack_t, 582
state_priority
MHAIOJack::io_jack_t, 577
MHAIOJackdb::io_jack_t, 582
state_scheduler
MHAIOJack::io_jack_t, 577
MHAIOJackdb::io_jack_t, 582
state_t
fw_t, 345
state_xruns
MHAIOJack::io_jack_t, 577
MHAIOJackdb::io_jack_t, 582
states
gtfb_analyzer::gtfb_analyzer_cfg_t, 354
staticgain
coherence::cohflt_t, 241
coherence::vars_t, 242
status
MHA_TCP::Wakeup_Event, 495
std
MHA_AC::stat_t, 425
std_vector_float
Vector and matrix processing toolbox, 53
std_vector_vector_complex
Vector and matrix processing toolbox, 54
std_vector_vector_float
Vector and matrix processing toolbox, 53
stdcomplex
Complex arithmetics in the openMHA, 64
steerFile
acSteer, 174
steerbf, 926
steerbf, 927
angle_ind, 928
angle_src, 928
bf_src, 928
patchbay, 928
prepare, 927
process, 927
release, 928
steerbf, 927
update_cfg, 928
steerbf.cpp, 1079
INSERT_PATCH, 1080
PATCH_VAR, 1080
steerbf.h, 1080
steerbf_config, 928
_steerbf, 929
steerbf_config, 929
ac, 929
© 2005-2019 HörTech gGmbH, Oldenburg
1194 INDEX
bf_src_copy, 929
bf_vec, 929
nangle, 929
nchan, 929
nfreq, 929
outSpec, 929
process, 929
steerbf_config, 929
stime
MHA_TCP, 93
stop
alsa_base_t, 207
alsa_t, 211
fw_t, 345
io_alsa_t, 363
io_file_t, 367
io_lib_t, 371
io_parser_t, 374
io_tcp_fwcb_t, 377
io_tcp_t, 390
MHAJack::client_t, 596
mha_drifter_fifo_t, 442
stop_event
io_alsa_t, 364
io_file_t, 368
io_parser_t, 374
io_tcp_fwcb_t, 377
MHAIOPortAudio::io_portaudio_t, 587
MHAJack::client_t, 599
stop_handle
io_alsa_t, 364
io_file_t, 368
io_parser_t, 374
io_tcp_fwcb_t, 378
MHAIOPortAudio::io_portaudio_t, 587
MHAJack::client_t, 599
stopped
fw_t, 346
io_file_t, 367
io_parser_t, 374
MHAJack::client_t, 598
route::interface_t, 896
store
mon_t, 844
store_frame
acsave::cfg_t, 168
acsave::save_var_t, 170
str2val
MHAParser::StrCnv, 114,115
str2val<mha_real_t >
MHAParser::StrCnv, 114
str_error
MHAJack::client_t, 597
strNames_AC
acConcat_wave_config, 154
strdom
analysemhaplugin.cpp, 967
latex_doc_t, 393
stream
ac2lsl::save_var_t, 140
ac2lsl::save_var_t<mha_complex_t >,
143
stream_dir
alsa_dev_par_parser_t, 209
strict_channel_match
io_file_t, 368
strict_srate_match
io_file_t, 368
stride
comm_var_t, 247
testplugin::ac_parser_t, 931
string_mon_t
MHAParser::string_mon_t, 696
string_t
MHAParser::string_t, 699
strreplace
MHAParser, 111
structVersion
MHAIOPortAudio::device_info_t, 584
subsample_delay_t
MHASignal::subsample_delay_t, 807
subsampledelay_coeff
ADM, 81
sum
MHASignal::stat_t, 806
MHASignal::waveform_t, 816,817
sum2
MHASignal::stat_t, 806
sum_channel
MHASignal::waveform_t, 817
sumsqr
MHASignal::waveform_t, 817
sumsqr_channel
Vector and matrix processing toolbox, 59
sumsqr_frame
Vector and matrix processing toolbox, 60
svc
analysepath_t, 218
symmetry_scale
MHAOvlFilter::fspacing_t, 626
sync
mha_fifo_lw_t, 449
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1195
mha_fifo_thread_guard_t, 457
sysread
MHA_TCP::Connection, 473
syswrite
MHA_TCP::Connection, 474
T
MHA_TCP::OS_EVENT_TYPE, 480
t
acsave::mat4head_t, 169
mha_tictoc_t, 495
plingploing::plingploing_t, 869
tAC
timoConfig, 942
TEN_SPL_250_8k
speechnoise_t, 925
TEN_SPL_50_16k
speechnoise_t, 925
TEN_SPL
speechnoise_t, 925
table
cpuload_t, 249
table_t
MHATableLookup::table_t, 829
tail
MHAFilter::fftfilterbank_t, 531
target_channel_index
MHAFilter::partitioned_convolution_t-
::index_t, 559
MHAFilter::transfer_function_t, 572
tau
coherence::vars_t, 242
droptect_t, 289
fader_if_t, 319
tau_attack
softclipper_variables_t, 919
tau_beta
adm_if_t, 197
tau_clip
softclipper_variables_t, 920
tau_decay
softclipper_variables_t, 920
tau_level
calibrator_variables_t, 234
tau_unit
coherence::vars_t, 242
tauattack
dc::dc_vars_t, 258
dc_simple::dc_vars_t, 270
taudecay
dc::dc_vars_t, 259
dc_simple::dc_vars_t, 270
taugain
DynComp::dc_afterburn_vars_t, 298
taurmslevel
dc::dc_vars_t, 258
tcp_connect_to
mha_tcp.cpp, 1040
tcp_connect_to_with_timeout
mha_tcp.cpp, 1040
tcpserver
mhaserver_t, 763
termination_request
MHAPlugin_Split::posix_threads_t, 746
test_error
io_lib_t, 371
MHAParser::c_ifc_parser_t, 649
PluginLoader::mhapluginloader_t, 884
test_fail
dc_simple, 84
test_prepare
testplugin::if_t, 935
test_process
testplugin::if_t, 935
test_version
PluginLoader::mhapluginloader_t, 884
testalsadevice.c, 1080
main, 1080
testplugin, 130
testplugin.cpp, 1080
testplugin::ac_parser_t, 930
_MHA_AC_CHAR, 931
_MHA_AC_DOUBLE, 931
_MHA_AC_FLOAT, 931
_MHA_AC_INT, 931
_MHA_AC_MHACOMPLEX, 931
_MHA_AC_MHAREAL, 931
_unknown, 931
ac_parser_t, 931
char_data, 931
complex_data, 931
data_type, 931
data_type_t, 931
do_get_var, 931
do_insert_var, 931
float_data, 931
get_var, 931
insert_var, 931
int_data, 931
num_entries, 931
patchbay, 931
stride, 931
testplugin::config_parser_t, 932
© 2005-2019 HörTech gGmbH, Oldenburg
1196 INDEX
channels, 933
config_parser_t, 932
domain, 933
fftlen, 933
fragsize, 933
get, 933
set, 933
setlock, 933
srate, 933
wndlen, 933
testplugin::if_t, 934
_prepare, 935
ac, 935
config_in, 935
config_out, 935
if_t, 935
patchbay, 935
plug, 935
prepare, 935
process, 935
signal, 935
test_prepare, 935
test_process, 935
testplugin::signal_parser_t, 936
input_spec, 936
input_wave, 936
output_spec, 936
output_wave, 936
signal_parser_t, 936
tftype
MHAPlugin::plugin_t, 732
softclip_t, 917
The MHA Framework interface, 27
The openMHA configuration language, 34
The openMHA Plugins (programming inter-
face), 7
MHAPLUGIN_CALLBACKS_PREFIX, 9
MHAPLUGIN_CALLBACKS, 9
MHAPLUGIN_DOCUMENTATION, 10
The openMHA Toolbox library, 35
thefullname
MHAParser::base_t, 642
thirdoctave_analyzer_t
MHAFilter::thirdoctave_analyzer_t, 569
this_outer_out
MHASignal::doublebuffer_t, 772
thr_f
MHA_TCP::Thread, 488
Thread
MHA_TCP::Thread, 488
thread
analysepath_t, 218
io_tcp_t, 391
MHAPlugin_Split::posix_threads_t, 746
MHAPlugin_Split::splitted_part_t, 756
thread_arg
MHA_TCP::Thread, 490
thread_attr
MHA_TCP::Thread, 489
thread_finish_event
MHA_TCP::Thread, 489
thread_func
MHA_TCP::Thread, 490
thread_handle
MHA_TCP::Thread, 489
thread_platform
MHAPlugin_Split::split_t, 750
thread_platform_t
MHAPlugin_Split::thread_platform_t, 757
thread_start
analysispath.cpp, 968
io_alsa_t, 363
MHAPlugin_Split::posix_threads_t, 745
thread_start_func
mha_tcp.cpp, 1040
thread_startup_function
MHAIOTCP.cpp, 1063
threshold
droptect_t, 289
softclipper_t, 918
softclipper_variables_t, 920
tictoc
mhachain::plugs_t, 503
timeout
MHA_TCP::OS_EVENT_TYPE, 480
MHA_TCP::Timeout_Watcher, 492
Timeout_Event
MHA_TCP::Timeout_Event, 491
Timeout_Watcher
MHA_TCP::Timeout_Watcher, 492
timeshift
Vector and matrix processing toolbox, 50
timo_AC, 937
alpha_frame_AC, 938
alpha_hat_AC, 938
copy, 937
gain_wiener_AC, 938
gamma_post_AC, 937
insert, 937
lambda_ceps_AC, 938
lambda_ml_AC, 938
lambda_ml_ceps_AC, 938
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1197
lambda_ml_smooth_AC, 938
lambda_spec_AC, 938
log_lambda_spec_AC, 938
max_q_AC, 938
max_val_AC, 938
pitch_set_first_AC, 938
pitch_set_last_AC, 938
SPP, 938
timo_AC, 937
winF0_AC, 938
xi_est_AC, 938
xi_ml_AC, 938
timo_params, 939
alpha_const_limits_hz, 940
alpha_const_vals, 940
alpha_pitch, 940
beta_const, 940
delta_pitch, 940
f0_high, 940
f0_low, 940
gain_min_db, 940
in_cfg, 940
kappa_const, 940
lambda_thresh, 940
noisePow_name, 940
prior_q, 940
timo_params, 939
winF0, 940
xi_min_db, 940
xi_opt_db, 940
timoConfig, 940
timoConfig, 942
ac, 942
alpha_const, 942
alpha_frame, 943
alpha_hat, 943
alpha_prev, 943
copy_AC, 942
fftlen, 942
GLRexp, 943
GLR, 943
gain_min, 942
gain_wiener, 943
gamma_post, 943
lambda_ceps, 943
lambda_ceps_prev, 943
lambda_ml_ceps, 943
lambda_ml_full, 943
lambda_ml_smooth, 943
lambda_spec, 943
log_lambda_spec, 943
logGLRFact, 943
max_q, 943
max_val, 943
mha_fft, 942
nchan, 942
nfreq, 942
noisePow, 943
ola_powspec_scale, 942
params, 942
pitch_set_first, 943
pitch_set_last, 943
powSpec, 943
priorFact, 943
process, 942
q_high, 942
q_low, 942
spec_out, 943
tAC, 942
timoConfig, 942
winF0, 942
xi_est, 943
xi_min, 942
xi_ml, 943
xiOpt, 943
timoSmooth, 944
timoSmooth, 945
alpha_const_limits_hz, 947
alpha_const_vals, 947
alpha_pitch, 946
beta_const, 946
delta_pitch, 946
f0_high, 946
f0_low, 946
gain_min_db, 947
kappa_const, 946
lambda_thresh, 946
noisePow_name, 947
on_model_param_valuechanged, 946
patchbay, 947
prepare, 946
prepared, 947
prior_q, 947
process, 945
release, 946
spp, 947
timoSmooth, 945
update_cfg, 946
win_f0, 947
xi_min_db, 946
xi_opt_db, 947
timoSmooth.cpp, 1081
© 2005-2019 HörTech gGmbH, Oldenburg
1198 INDEX
INSERT_PATCH, 1082
INSERT_VAR, 1082
PATCH_VAR, 1082
timoconfig.cpp, 1081
CHANLOOP, 1081
EPSILON, 1081
LPSCALE, 1081
OVERLAP_FACTOR, 1081
POWSPEC_FACTOR, 1081
timoconfig.h, 1081
timosmooth.h, 1082
tmp_spec
MHAFilter::smoothspec_t, 568
tmp_wave
MHAFilter::smoothspec_t, 568
to_from
acTransform_wave, 178
acTransform_wave_config, 179
total_read
io_file_t, 368
transducers.cpp, 1082
kw_index2type, 1083
rmslevelmeter, 1083
rtcalibrator, 1083
vint_0123n1, 1083
transfer_function_t
MHAFilter::transfer_function_t, 571
trigger_processing
MHAPlugin_Split::split_t, 749
MHAPlugin_Split::splitted_part_t, 755
trim
MHAParser, 111
try_accept
MHA_TCP::Server, 483
try_write
MHA_TCP::Connection, 476
ttl
ac2osc_t, 147
tv1
mha_tictoc_t, 495
tv2
mha_tictoc_t, 495
types
ac2lsl, 78
tz
mha_tictoc_t, 495
U
rt_nlms_t, 899
UCL
AuditoryProfile::parser_t::ear_t, 224
AuditoryProfile::profile_t::ear_t, 227
UPrew
prediction_error_config, 892
UPrewW
prediction_error_config, 892
UbufferPrew
prediction_error_config, 891
Uflt
rt_nlms_t, 899
uint_mode
addsndfile::addsndfile_if_t, 182
uint_vector_t
MHASignal::uint_vector_t, 810
underflow
MHAFilter::polyphase_resampling_t, 563
unit
MHAOvlFilter::fscale_t, 624
unit2hz
MHAOvlFilter::scale_var_t, 633
unlock_channels
fw_vars_t, 349
unlock_srate_fragsize
fw_vars_t, 349
unset_fb_pars
DynComp::dc_afterburn_t, 295
up
MHASignal::schroeder_t, 799
up_incl
MHAParser::range_var_t, 695
up_limit
MHAParser::range_var_t, 695
MHASignal::quantizer_t, 793
up_thresh
acPooling_wave_config, 164
update
ac2lsl::ac2lsl_t, 133
ac2wave_if_t, 149
addsndfile::addsndfile_if_t, 181
adm_if_t, 196
calibrator_t, 233
coherence::cohflt_if_t, 238
dc::dc_if_t, 254
dc::wideband_inhib_vars_t, 262
delay::interface_t, 274
DynComp::dc_afterburn_t, 296
DynComp::gaintable_t, 301
fshift_hilbert::frequency_translator_t, 338
MHA_AC::ac2matrix_t, 414
MHA_AC::acspace2matrix_t, 418
MHA_AC::stat_t, 425
MHAMultiSrc::spectrum_t, 610
MHAMultiSrc::waveform_t, 612
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1199
MHAParser::mhaconfig_mon_t, 681
MHAPlugin_Split::split_t, 749
mhachain::chain_base_t, 499
nlms_t, 852
overlapadd::overlapadd_if_t, 861
plingploing::if_t, 866
route::interface_t, 896
smoothgains_bridge::overlapadd_if_-
t, 914
softclip_t, 917
spec2wave_if_t, 921
wave2spec_if_t, 950
update_bbgain
gain::gain_if_t, 351
update_burner
DynComp::dc_afterburn_t, 295
update_cfg
acConcat_wave, 153
acPooling_wave, 162
acSteer, 174
acTransform_wave, 178
delaysum::delaysum_if_t, 276
doasvm_classification, 281
doasvm_feature_extraction, 285
example6_t, 317
fader_if_t, 319
fftfbpow::fftfbpow_interface_t, 325
fftfilterbank::fftfb_interface_t, 329
fshift::fshift_t, 336
gtfb_analyzer::gtfb_analyzer_t, 357
lpc, 397
lpc_bl_predictor, 400
lpc_burglattice, 404
multibandcompressor::interface_t, 848
noise_t, 854
noisePowProposedScale::interface_t, 856
plugin_interface_t, 873
prediction_error, 888
sine_t, 911
steerbf, 928
timoSmooth, 946
update_coeffs
MHAFilter::fftfilter_t, 525
MHAFilter::fftfilterbank_t, 529
update_dc
dc_simple::dc_if_t, 265
update_filter
MHAFilter::iir_filter_t, 542
update_frame
addsndfile::level_adapt_t, 184
fader_wave::level_adapt_t, 323
update_gain
gain::gain_if_t, 351
update_gain_mon
dc_simple::dc_if_t, 265
update_hz
MHAOvlFilter::fscale_bw_t, 623
MHAOvlFilter::fscale_t, 624
update_level
dc_simple::dc_if_t, 265
update_level_mon
dc_simple::dc_if_t, 265
update_levels
multibandcompressor::plugin_signals_t,
850
update_m
matrixmixer::matmix_t, 411
update_minmax
gain::gain_if_t, 351
update_mode
ac2osc_t, 146
update_monitors
dc::dc_if_t, 254
update_mu
MHAFilter::adapt_filter_t, 516
update_ntaps
MHAFilter::adapt_filter_t, 516
update_parser
windowselector_t, 959
update_proc_load
mhachain::plugs_t, 502
update_ramplen
altplugs_t, 215
update_recmode
acmon::acmon_t, 159
update_selector_list
altplugs_t, 215
update_tau_level
calibrator_t, 233
update_varlist
ac2lsl::cfg_t, 135
updated
windowselector_t, 959
updater
MHAOvlFilter::fscale_bw_t, 623
MHAOvlFilter::fscale_t, 624
upper_threshold
acPooling_wave, 162
upsample.cpp, 1083
upsampling_factor
MHAFilter::polyphase_resampling_t, 563
upscale
© 2005-2019 HörTech gGmbH, Oldenburg
1200 INDEX
MHASignal::quantizer_t, 793
us_t, 947
antialias, 948
prepare, 948
process, 948
ratio, 948
release, 948
us_t, 948
use_date
wavrec_t, 955
use_frozen_
cfg_t, 236
use_jack_transport
MHAIOJackdb::io_jack_t, 581
MHAJack::client_t, 599
use_mat
acmon::ac_monitor_t, 157
use_own_ac
altplugs_t, 216
use_sine
cpuload_t, 249
use_smoothspec
smoothgains_bridge::smoothspec_-
wrap_t, 915
use_wbinhib
dc::dc_vars_t, 259
user
MHAParser::window_t, 721
user_err_msg
MHAIOFile.cpp, 1049
MHAIOJack.cpp, 1052
MHAIOJackdb.cpp, 1054
MHAIOParser.cpp, 1057
MHAIOPortAudio.cpp, 1060
MHAIOTCP.cpp, 1064
MHAIOalsa.cpp, 1046
user_t
MHAWindow::user_t, 843
username
MHA_AC::ac2matrix_helper_t, 413
userwnd
windowselector_t, 959
v_G
prediction_error_config, 891
vFlog
DynComp::gaintable_t, 303
vGCC_ac
doasvm_feature_extraction_config, 286
vGCC_con
acConcat_wave_config, 154
vGCC_name
doasvm_classification, 281
doasvm_feature_extraction, 285
vGCC
acConcat_wave_config, 154
doasvm_feature_extraction_config, 286
vLTASS_combined_lev
speechnoise.cpp, 1078
vLTASS_female_lev
speechnoise.cpp, 1078
vLTASS_freq
speechnoise.cpp, 1077
vLTASS_male_lev
speechnoise.cpp, 1078
vMHAOrigFreq
speechnoise.cpp, 1077
vMHAOrigSpec
speechnoise.cpp, 1077
vOlnoiseFreq
speechnoise.cpp, 1078
vOlnoiseLev
speechnoise.cpp, 1078
val2str
MHAParser::StrCnv, 115,116
val_max
alsa_t, 213
val_min
alsa_t, 213
validate
AuditoryProfile::parser_t::fmap_t, 225
MHAParser::keyword_list_t, 668
MHAParser::kw_t, 671
MHAParser::range_var_t, 694,695
validator_channels
mhasndfile.cpp, 1068
validator_length
mhasndfile.cpp, 1068
value
AuditoryProfile::parser_t::fmap_t, 225
MHASignal::ringbuffer_t, 795
MHASignal::spectrum_t, 803
MHASignal::waveform_t, 815,816
mha_signal.hh, 1037
Vector and matrix processing toolbox, 50
53
value_type
mha_dblbuf_t, 434
mha_fifo_t, 454
valuechanged
MHAParser::base_t, 641
variable, 4
variable_name
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1201
mha_stash_environment_variable_t, 467
variable_t
MHAParser::variable_t, 701
variables, 4
acsave::acsave_t, 167
varlist
ac2lsl::cfg_t, 135
acmon::acmon_t, 159
acsave::acsave_t, 167
acsave::cfg_t, 169
varlist_t
acsave::acsave_t, 166
vars
ac2lsl::ac2lsl_t, 133
ac2osc_t, 147
acmon::acmon_t, 159
analysispath_if_t, 220
calibrator_t, 233
coherence::cohflt_if_t, 238
MHAKernel::algo_comm_class_t, 606
vars_t
coherence::vars_t, 242
MHAOvlFilter::overlap_save_filterbank_-
t::vars_t, 631
vbark
MHAOvlFilter::barkscale, 103
vbin1
MHAOvlFilter::fftfb_t, 618
vbin2
MHAOvlFilter::fftfb_t, 618
vcomplex_mon_t
MHAParser::vcomplex_mon_t, 703
vcomplex_t
MHAParser::vcomplex_t, 706
vec_y
MHATableLookup::linear_table_t, 828
Vector and matrix processing toolbox, 37
assign, 49,50
bin2freq, 45
channels, 42
clear, 49
colored_intensity, 57
conjugate, 60
copy_channel, 56
db2lin, 43
dbspl2pa, 44
dupvec, 46
dupvec_chk, 47
equal_dim, 47,48
for_each, 43
freq2bin, 45
integrate, 48
lin2db, 43
max, 59
maxabs, 57,58
mha_real_t, 42
min, 59
operator=, 54,55
operator=, 56
operator+=, 54,55
operator-=, 54
operator/=, 55
pa22dbspl, 44
pa2dbspl, 43
rad2smp, 46
range, 42
rmslevel, 57,58
sec2smp, 44
size, 48,49
smp2rad, 45
smp2sec, 44
std_vector_float, 53
std_vector_vector_complex, 54
std_vector_vector_float, 53
sumsqr_channel, 59
sumsqr_frame, 60
timeshift, 50
value, 5053
vF
DynComp::gaintable_t, 303
vfloat_mon_t
MHAParser::vfloat_mon_t, 708
vfloat_t
MHAParser::vfloat_t, 710
vfreq
MHAOvlFilter::barkscale, 103
vint_0123n1
transducers.cpp, 1083
vint_mon_t
MHAParser::vint_mon_t, 712
vint_t
MHAParser::vint_t, 714
vL
DynComp::gaintable_t, 302
vmax
gain::gain_if_t, 351
vmin
gain::gain_if_t, 351
vstring_mon_t
MHAParser::vstring_mon_t, 716
vstring_t
MHAParser::vstring_t, 718
© 2005-2019 HörTech gGmbH, Oldenburg
1202 INDEX
vy
MHATableLookup::linear_table_t, 828
W
MHA_TCP::OS_EVENT_TYPE, 480
MHAFilter::adapt_filter_state_t, 515
w
ac2wave_t, 150
doasvm_classification, 281
MHAOvlFilter::fftfb_t, 618
w_out
combc_t, 245
WINAPI
mha_plugin.hh, 1023
wIRS_fft
MHAFilter::fftfilter_t, 527
wInput
MHAFilter::fftfilter_t, 527
wInput_fft
MHAFilter::fftfilter_t, 526
wOutput
MHAFilter::fftfilter_t, 527
wOutput_fft
MHAFilter::fftfilter_t, 527
wait
MHA_TCP::Event_Watcher, 479
wait_for_decrease
mha_fifo_posix_threads_t, 451
mha_fifo_thread_platform_t, 459
wait_for_increase
mha_fifo_posix_threads_t, 451
mha_fifo_thread_platform_t, 459
Wakeup_Event
MHA_TCP::Wakeup_Event, 494
wave
alsa_t, 212
wave2spec
MHASignal::fft_t, 773
plugindescription_t, 875
wave2spec.cpp, 1083
MHAPLUGIN_OVERLOAD_OUTDOM-
AIN, 1083
wave2spec_if_t, 949
algo, 950
nfft, 950
nwnd, 950
patchbay, 950
prepare, 950
process, 950
return_wave, 950
update, 950
wave2spec_if_t, 950
window_config, 950
wndpos, 950
wave2spec_scale
MHASignal::fft_t, 774
wave2spec_t, 951
wave2spec_t, 952
calc_in, 953
calc_pre_wnd, 952
ft, 952
in_buf, 953
npad1, 952
npad2, 952
nwnd, 952
nwndshift, 952
process, 952
spec_in, 953
wave2spec_t, 952
window, 953
wave2wave
plugindescription_t, 875
wave_fifo
analysepath_t, 218
wave_in
MHAPlugin_Split::domain_handler_t, 741
wave_in1
overlapadd::overlapadd_t, 863
wave_out
MHAPlugin_Split::domain_handler_t, 741
MHAPlugin_Split::split_t, 751
wave_out1
overlapadd::overlapadd_t, 863
wave_reader
addsndfile, 80
waveform_proxy_t
addsndfile::waveform_proxy_t, 188
waveform_t
MHA_AC::waveform_t, 426
MHAMultiSrc::waveform_t, 612
MHASignal::waveform_t, 814
wavrec.cpp, 1083
DEBUG, 1084
wavrec_t, 953
fifolen, 955
minwrite, 955
patchbay, 955
prefix, 955
prepare, 954
process, 954
record, 955
release, 954
start_new_session, 954
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1203
use_date, 955
wavrec_t, 954
wavwriter_t, 955
wavwriter_t, 956
act_, 956
cf_, 956
close_session, 956
data, 956
fifo, 956
minw_, 956
process, 956
sf, 956
wavwriter_t, 956
write_thread, 956
writethread, 956
wb_inhib_cfg_t
dc::wb_inhib_cfg_t, 261
wbinhib
dc::dc_if_t, 254
weights
dc::wb_inhib_cfg_t, 261
dc::wideband_inhib_vars_t, 262
delaysum::delaysum_if_t, 276
delaysum::delaysum_t, 278
what
MHA_Error, 446
white
speechnoise_t, 925
wideband_inhib_vars_t
dc::wideband_inhib_vars_t, 262
win_f0
timoSmooth, 947
winF0
timo_params, 940
timoConfig, 942
winF0_AC
timo_AC, 938
window
MHAFilter::smoothspec_t, 568
overlapadd::overlapadd_if_t, 861
wave2spec_t, 953
window_config
spec2wave_if_t, 921
wave2spec_if_t, 950
window_t
MHAParser::window_t, 720
windowselector.cpp, 1084
windowselector.h, 1084
windowselector_t, 957
windowselector_t, 958
get_window_data, 958
insert_items, 958
invalidate_window_data, 959
patchbay, 959
update_parser, 959
updated, 959
userwnd, 959
windowselector_t, 958
wnd, 959
wndexp, 959
wndtype, 959
wnd
addsndfile::level_adapt_t, 184
fader_wave::level_adapt_t, 323
windowselector_t, 959
wnd_bartlett
MHAParser::window_t, 720
wnd_blackman
MHAParser::window_t, 720
wnd_funs
mha_windowparser.cpp, 1042
wnd_hamming
MHAParser::window_t, 720
wnd_hann
MHAParser::window_t, 720
wnd_rect
MHAParser::window_t, 720
wnd_user
MHAParser::window_t, 720
wndexp
overlapadd::overlapadd_if_t, 861
windowselector_t, 959
wndlen
doasvm_feature_extraction_config, 286
MHAParser::mhaconfig_mon_t, 681
mhaconfig_t, 505
testplugin::config_parser_t, 933
wndpos
overlapadd::overlapadd_if_t, 861
wave2spec_if_t, 950
wndtype
windowselector_t, 959
worker_thread_priority
MHAPlugin_Split::split_t, 750
worker_thread_scheduler
MHAPlugin_Split::split_t, 750
wout
matrixmixer::cfg_t, 409
route::process_t, 897
wout_ac
route::process_t, 897
write
© 2005-2019 HörTech gGmbH, Oldenburg
1204 INDEX
alsa_base_t, 207
alsa_t, 212
MHA_TCP::Connection, 476
MHAFilter::blockprocessing_polyphase-
_resampling_t, 518
MHAFilter::polyphase_resampling_t, 562
MHAJack::port_t, 601
MHASignal::matrix_t, 789
MHASignal::ringbuffer_t, 796
MHASignal::uint_vector_t, 811
mha_drifter_fifo_t, 441
mha_fifo_lw_t, 448
mha_fifo_t, 454
write_buf
overlapadd::overlapadd_t, 863
spec2wave_t, 923
write_event
MHA_TCP::Connection, 477
write_float
mha_parser.cpp, 1016
write_ptr
mha_fifo_t, 456
write_thread
wavwriter_t, 956
write_wave
mhasndfile.cpp, 1068
mhasndfile.h, 1069
writeaccess
MHAParser::base_t, 641
writer_started
mha_drifter_fifo_t, 443
writer_xruns_in_succession
mha_drifter_fifo_t, 444
writer_xruns_since_start
mha_drifter_fifo_t, 444
writer_xruns_total
mha_drifter_fifo_t, 443
writethread
wavwriter_t, 956
Writing openMHA Plugins. A step-by-step tu-
torial, 11
wtype
MHAParser::window_t, 721
wtype_t
MHAParser::window_t, 720
X
MHA_TCP::OS_EVENT_TYPE, 480
MHAFilter::adapt_filter_state_t, 515
x
doasvm_classification, 281
xfun
MHATableLookup::xy_table_t, 833
xi_est
timoConfig, 943
xi_est_AC
timo_AC, 938
xi_min
timoConfig, 942
xi_min_db
timo_params, 940
timoSmooth, 946
xi_ml
timoConfig, 943
xi_ml_AC
timo_AC, 938
xi_opt_db
timo_params, 940
timoSmooth, 947
xiOpt
noisePowProposedScale::noisePow-
Proposed, 859
timoConfig, 943
xiOptDb
noisePowProposedScale::interface_t, 857
xmax
MHATableLookup::linear_table_t, 828
xmin
MHATableLookup::linear_table_t, 828
Xs
MHAFilter::fftfilterbank_t, 530
xw
MHAFilter::fftfilterbank_t, 530
xy_table_t
MHATableLookup::xy_table_t, 831
xyfun
MHATableLookup::xy_table_t, 833
y
doasvm_classification, 281
y0
dc_simple::dc_t::line_t, 268
y_previous
rt_nlms_t, 900
YPrew
prediction_error_config, 892
yfun
MHATableLookup::xy_table_t, 833
Yn
MHAFilter::complex_bandpass_t, 522
MHAFilter::iir_ord1_real_t, 545
Ys
MHAFilter::fftfilterbank_t, 531
yw
© 2005-2019 HörTech gGmbH, Oldenburg
INDEX 1205
MHAFilter::fftfilterbank_t, 530
yw_temp
MHAFilter::fftfilterbank_t, 531
zeros
ac2wave_if_t, 149
zerowindow
overlapadd::overlapadd_if_t, 861
© 2005-2019 HörTech gGmbH, Oldenburg

Navigation menu