Open MHA Developer Manual

User Manual: Pdf

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

The Open Master Hearing Aid
(openMHA)
4.5.7
Plugin Developers’ Manual
© 2005-2018 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 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-2018 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) .................. 6
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 ....................... 35
3.8 The openMHA Toolbox library ............................ 36
3.9 Vector and matrix processing toolbox ........................ 38
3.10 Complex arithmetics in the openMHA ........................ 68
3.11 Fast Fourier Transform functions ........................... 80
4 Namespace Documentation 88
4.1 acmon Namespace Reference ............................ 88
4.2 acsave Namespace Reference ............................ 88
4.3 ADM Namespace Reference ............................. 88
4.4 AuditoryProfile Namespace Reference ....................... 90
4.5 coherence Namespace Reference .......................... 90
4.6 dc Namespace Reference .............................. 91
4.7 dc_simple Namespace Reference .......................... 92
4.8 delay Namespace Reference ............................. 93
4.9 delaysum Namespace Reference .......................... 93
4.10 DynComp Namespace Reference .......................... 94
4.11 fader_wave Namespace Reference ......................... 95
4.12 fftfilterbank Namespace Reference ......................... 96
4.13 gain Namespace Reference ............................. 96
4.14 matrixmixer Namespace Reference ......................... 96
4.15 MHA_AC Namespace Reference .......................... 96
4.16 mha_error_helpers Namespace Reference ..................... 97
4.17 MHA_TCP Namespace Reference ......................... 98
4.18 mhachain Namespace Reference ..........................101
4.19 MHAEvents Namespace Reference .........................102
4.20 MHAFilter Namespace Reference ..........................102
4.21 MHAIOJack Namespace Reference .........................107
4.22 MHAIOPortAudio Namespace Reference ......................107
4.23 MHAJack Namespace Reference ..........................108
4.24 MHAKernel Namespace Reference .........................110
4.25 MHAMultiSrc Namespace Reference ........................111
4.26 MHAOvlFilter Namespace Reference ........................111
4.27 MHAOvlFilter::barkscale Namespace Reference ..................112
4.28 MHAOvlFilter::FreqScaleFun Namespace Reference ...............113
4.29 MHAOvlFilter::ShapeFun Namespace Reference .................116
4.30 MHAParser Namespace Reference .........................118
CONTENTS v
4.31 MHAParser::StrCnv Namespace Reference ....................124
4.32 MHAPlugin Namespace Reference .........................130
4.33 MHAPlugin_Resampling Namespace Reference ..................130
4.34 MHAPlugin_Split Namespace Reference ......................131
4.35 MHASignal Namespace Reference .........................132
4.36 MHASndFile Namespace Reference ........................140
4.37 MHATableLookup Namespace Reference .....................140
4.38 MHAWindow Namespace Reference ........................140
4.39 multibandcompressor Namespace Reference ...................142
4.40 noisePowProposedScale Namespace Reference .................143
4.41 overlapadd Namespace Reference .........................143
4.42 PluginLoader Namespace Reference ........................143
4.43 route Namespace Reference .............................144
4.44 shadowfilter_begin Namespace Reference .....................144
4.45 shadowfilter_end Namespace Reference ......................144
4.46 smoothgains_bridge Namespace Reference ....................144
5 Class Documentation 145
5.1 ac2wave_if_t Class Reference ............................145
5.2 ac2wave_t Class Reference .............................148
5.3 acConcat_wave Class Reference ..........................151
5.4 acConcat_wave_config Class Reference ......................154
5.5 acmon::ac_monitor_t Class Reference .......................156
5.6 acmon::acmon_t Class Reference ..........................159
5.7 acPooling_wave Class Reference ..........................164
5.8 acPooling_wave_config Class Reference ......................169
5.9 acsave::acsave_t Class Reference .........................172
5.10 acsave::cfg_t Class Reference ............................177
5.11 acsave::mat4head_t Struct Reference ........................179
5.12 acsave::save_var_t Class Reference ........................180
5.13 acSteer Class Reference ...............................183
5.14 acSteer_config Class Reference ...........................186
5.15 acTransform_wave Class Reference .........................188
5.16 acTransform_wave_config Class Reference ....................192
5.17 ADM::ADM<F>Class Template Reference ....................194
5.18 ADM::Delay<F>Class Template Reference ...................198
5.19 ADM::Linearphase_FIR<F>Class Template Reference .............201
5.20 adm_if_t Class Reference ..............................204
5.21 adm_rtconfig_t Class Reference ...........................209
5.22 algo_comm_t Struct Reference ...........................213
5.23 altplugs_t Class Reference ..............................219
5.24 analysepath_t Class Reference ...........................226
5.25 analysispath_if_t Class Reference ..........................230
5.26 AuditoryProfile::fmap_t Class Reference ......................234
5.27 AuditoryProfile::parser_t Class Reference .....................235
5.28 AuditoryProfile::parser_t::ear_t Class Reference ..................237
5.29 AuditoryProfile::parser_t::fmap_t Class Reference .................238
5.30 AuditoryProfile::profile_t Class Reference ......................240
5.31 AuditoryProfile::profile_t::ear_t Class Reference ..................242
5.32 bbcalib_interface_t Class Reference .........................243
5.33 calibrator_runtime_layer_t Class Reference ....................245
5.34 calibrator_t Class Reference .............................248
© 2005-2018 HörTech gGmbH, Oldenburg
vi CONTENTS
5.35 calibrator_variables_t Class Reference .......................251
5.36 cfg_t Class Reference ................................254
5.37 coherence::cohflt_if_t Class Reference .......................257
5.38 coherence::cohflt_t Class Reference ........................260
5.39 coherence::vars_t Class Reference .........................264
5.40 combc_if_t Class Reference .............................267
5.41 combc_t Class Reference ..............................269
5.42 comm_var_t Struct Reference ............................271
5.43 cpuload_t Class Reference ..............................273
5.44 db_if_t Class Reference ...............................276
5.45 db_t Class Reference .................................279
5.46 dc::dc_if_t Class Reference .............................280
5.47 dc::dc_t Class Reference ...............................283
5.48 dc::dc_vars_t Class Reference ............................287
5.49 dc::dc_vars_validator_t Class Reference ......................292
5.50 dc::wb_inhib_cfg_t Class Reference .........................292
5.51 dc::wideband_inhib_vars_t Class Reference ....................294
5.52 dc_simple::dc_if_t Class Reference .........................297
5.53 dc_simple::dc_t Class Reference ..........................301
5.54 dc_simple::dc_t::line_t Class Reference .......................304
5.55 dc_simple::dc_vars_t Class Reference .......................306
5.56 dc_simple::dc_vars_validator_t Class Reference ..................308
5.57 dc_simple::level_smoother_t Class Reference ...................309
5.58 delay::interface_t Class Reference ..........................311
5.59 delaysum::delaysum_if_t Class Reference .....................313
5.60 delaysum::delaysum_t Class Reference .......................317
5.61 doasvm_classification Class Reference .......................319
5.62 doasvm_classification_config Class Reference ...................323
5.63 doasvm_feature_extraction Class Reference ....................325
5.64 doasvm_feature_extraction_config Class Reference ................328
5.65 droptect_t Class Reference ..............................332
5.66 ds_t Class Reference .................................336
5.67 dynamiclib_t Class Reference ............................338
5.68 DynComp::dc_afterburn_rt_t Class Reference ...................340
5.69 DynComp::dc_afterburn_t Class Reference .....................342
5.70 DynComp::dc_afterburn_vars_t Class Reference .................345
5.71 DynComp::gaintable_t Class Reference .......................347
5.72 example1_t Class Reference .............................352
5.73 example2_t Class Reference .............................354
5.74 example3_t Class Reference .............................358
5.75 example4_t Class Reference .............................362
5.76 example5_t Class Reference .............................366
5.77 example6_t Class Reference .............................368
5.78 expression_t Class Reference ............................370
5.79 fader_if_t Class Reference ..............................371
5.80 fader_wave::fader_wave_if_t Class Reference ...................373
5.81 fader_wave::level_adapt_t Class Reference ....................376
5.82 fftfilterbank::fftfb_interface_t Class Reference ...................378
5.83 fftfilterbank::fftfb_plug_t Class Reference ......................382
5.84 frequency_translator_t Class Reference ......................384
5.85 fw_t Class Reference .................................387
© 2005-2018 HörTech gGmbH, Oldenburg
CONTENTS vii
5.86 fw_vars_t Class Reference ..............................397
5.87 gain::gain_if_t Class Reference ...........................399
5.88 gain::scaler_t Class Reference ............................402
5.89 hanning_ramps_t Class Reference .........................403
5.90 hilbert_shifter_t Class Reference ..........................404
5.91 identity_t Class Reference ..............................408
5.92 iirfilter_t Class Reference ...............................410
5.93 io_file_t Class Reference ...............................411
5.94 io_lib_t Class Reference ...............................418
5.95 io_parser_t Class Reference .............................423
5.96 io_tcp_fwcb_t Class Reference ...........................428
5.97 io_tcp_parser_t Class Reference ..........................433
5.98 io_tcp_sound_t Class Reference ...........................440
5.99 io_tcp_sound_t::float_union Union Reference ...................445
5.100 io_tcp_t Class Reference ...............................446
5.101 latex_doc_t Class Reference .............................451
5.102 lpc Class Reference ..................................454
5.103 lpc_bl_predictor Class Reference ..........................457
5.104 lpc_bl_predictor_config Class Reference ......................461
5.105 lpc_burglattice Class Reference ...........................464
5.106 lpc_burglattice_config Class Reference .......................467
5.107 lpc_config Class Reference .............................470
5.108 matrixmixer::cfg_t Class Reference .........................474
5.109 matrixmixer::matmix_t Class Reference .......................476
5.110 MHA_AC::ac2matrix_helper_t Class Reference ..................478
5.111 MHA_AC::ac2matrix_t Class Reference .......................481
5.112 MHA_AC::acspace2matrix_t Class Reference ...................483
5.113 MHA_AC::double_t Class Reference ........................487
5.114 MHA_AC::float_t Class Reference ..........................489
5.115 MHA_AC::int_t Class Reference ...........................490
5.116 MHA_AC::spectrum_t Class Reference .......................492
5.117 MHA_AC::stat_t Class Reference ..........................494
5.118 MHA_AC::waveform_t Class Reference .......................496
5.119 mha_audio_descriptor_t Struct Reference .....................498
5.120 mha_audio_t Struct Reference ............................500
5.121 mha_channel_info_t Struct Reference ........................501
5.122 mha_complex_t Struct Reference ..........................503
5.123 mha_dblbuf_t<FIFO >Class Template Reference ................503
5.124 mha_direction_t Struct Reference ..........................512
5.125 mha_drifter_fifo_t<T>Class Template Reference ................513
5.126 MHA_Error Class Reference .............................522
5.127 mha_fifo_lw_t<T>Class Template Reference ..................524
5.128 mha_fifo_posix_threads_t Class Reference .....................528
5.129 mha_fifo_t<T>Class Template Reference ....................531
5.130 mha_fifo_thread_guard_t Class Reference .....................537
5.131 mha_fifo_thread_platform_t Class Reference ....................538
5.132 mha_rt_fifo_element_t<T>Class Template Reference .............541
5.133 mha_rt_fifo_t<T>Class Template Reference ...................543
5.134 mha_spec_t Struct Reference ............................547
5.135 MHA_TCP::Async_Notify Class Reference .....................549
5.136 MHA_TCP::Client Class Reference .........................550
© 2005-2018 HörTech gGmbH, Oldenburg
viii CONTENTS
5.137 MHA_TCP::Connection Class Reference ......................552
5.138 MHA_TCP::Event_Watcher Class Reference ....................561
5.139 MHA_TCP::OS_EVENT_TYPE Struct Reference .................563
5.140 MHA_TCP::Server Class Reference .........................565
5.141 MHA_TCP::Sockaccept_Event Class Reference ..................568
5.142 MHA_TCP::Sockread_Event Class Reference ...................569
5.143 MHA_TCP::Sockwrite_Event Class Reference ...................570
5.144 MHA_TCP::Thread Class Reference ........................571
5.145 MHA_TCP::Timeout_Event Class Reference ....................576
5.146 MHA_TCP::Timeout_Watcher Class Reference ..................577
5.147 MHA_TCP::Wakeup_Event Class Reference ....................579
5.148 mha_tictoc_t Struct Reference ............................582
5.149 mha_wave_t Struct Reference ............................583
5.150 mhachain::chain_base_t Class Reference .....................585
5.151 mhachain::mhachain_t Class Reference ......................589
5.152 mhachain::plugs_t Class Reference .........................590
5.153 mhaconfig_t Struct Reference ............................595
5.154 MHAEvents::connector_base_t Class Reference ..................597
5.155 MHAEvents::connector_t<receiver_t >Class Template Reference .......600
5.156 MHAEvents::emitter_t Class Reference .......................603
5.157 MHAEvents::patchbay_t<receiver_t >Class Template Reference ........605
5.158 MHAFilter::adapt_filter_param_t Class Reference .................608
5.159 MHAFilter::adapt_filter_state_t Class Reference ..................609
5.160 MHAFilter::adapt_filter_t Class Reference .....................611
5.161 MHAFilter::blockprocessing_polyphase_resampling_t Class Reference . . . . . 613
5.162 MHAFilter::complex_bandpass_t Class Reference .................617
5.163 MHAFilter::diff_t Class Reference ..........................621
5.164 MHAFilter::fftfilter_t Class Reference ........................622
5.165 MHAFilter::fftfilterbank_t Class Reference .....................627
5.166 MHAFilter::filter_t Class Reference .........................633
5.167 MHAFilter::gamma_flt_t Class Reference ......................638
5.168 MHAFilter::iir_filter_state_t Class Reference ....................643
5.169 MHAFilter::iir_filter_t Class Reference ........................644
5.170 MHAFilter::iir_ord1_real_t Class Reference .....................648
5.171 MHAFilter::o1_ar_filter_t Class Reference .....................651
5.172 MHAFilter::o1flt_lowpass_t Class Reference ....................655
5.173 MHAFilter::o1flt_maxtrack_t Class Reference ...................658
5.174 MHAFilter::o1flt_mintrack_t Class Reference ....................660
5.175 MHAFilter::partitioned_convolution_t Class Reference ...............661
5.176 MHAFilter::partitioned_convolution_t::index_t Struct Reference ..........666
5.177 MHAFilter::polyphase_resampling_t Class Reference ...............668
5.178 MHAFilter::resampling_filter_t Class Reference ..................673
5.179 MHAFilter::smoothspec_t Class Reference .....................675
5.180 MHAFilter::thirdoctave_analyzer_t Class Reference ................679
5.181 MHAFilter::transfer_function_t Struct Reference ..................682
5.182 MHAFilter::transfer_matrix_t Struct Reference ...................685
5.183 MHAIOJack::io_jack_t Class Reference .......................686
5.184 MHAIOPortAudio::device_info_t Class Reference .................693
5.185 MHAIOPortAudio::io_portaudio_t Class Reference .................696
5.186 MHAJack::client_avg_t Class Reference ......................701
5.187 MHAJack::client_noncont_t Class Reference ....................706
© 2005-2018 HörTech gGmbH, Oldenburg
CONTENTS ix
5.188 MHAJack::client_t Class Reference .........................709
5.189 MHAJack::port_t Class Reference ..........................720
5.190 MHAKernel::algo_comm_class_t Class Reference .................724
5.191 MHAKernel::comm_var_map_t Class Reference ..................729
5.192 MHAMultiSrc::base_t Class Reference .......................729
5.193 MHAMultiSrc::channel_t Class Reference .....................731
5.194 MHAMultiSrc::channels_t Class Reference .....................732
5.195 MHAMultiSrc::spectrum_t Class Reference .....................733
5.196 MHAMultiSrc::waveform_t Class Reference ....................734
5.197 MHAOvlFilter::band_descriptor_t Class Reference .................736
5.198 MHAOvlFilter::barkscale::bark2hz_t Class Reference ...............737
5.199 MHAOvlFilter::barkscale::hz2bark_t Class Reference ...............738
5.200 MHAOvlFilter::fftfb_ac_info_t Class Reference ...................739
5.201 MHAOvlFilter::fftfb_t Class Reference ........................741
5.202 MHAOvlFilter::fftfb_vars_t Class Reference .....................745
5.203 MHAOvlFilter::fscale_bw_t Class Reference ....................748
5.204 MHAOvlFilter::fscale_t Class Reference ......................750
5.205 MHAOvlFilter::fspacing_t Class Reference .....................752
5.206 MHAOvlFilter::overlap_save_filterbank_analytic_t Class Reference .......756
5.207 MHAOvlFilter::overlap_save_filterbank_t Class Reference ............758
5.208 MHAOvlFilter::overlap_save_filterbank_t::vars_t Class Reference ........760
5.209 MHAOvlFilter::scale_var_t Class Reference ....................761
5.210 MHAParser::base_t Class Reference ........................764
5.211 MHAParser::base_t::replace_t Class Reference ..................776
5.212 MHAParser::bool_mon_t Class Reference .....................778
5.213 MHAParser::bool_t Class Reference ........................780
5.214 MHAParser::c_ifc_parser_t Class Reference ....................783
5.215 MHAParser::commit_t<receiver_t >Class Template Reference .........787
5.216 MHAParser::complex_mon_t Class Reference ...................788
5.217 MHAParser::complex_t Class Reference ......................790
5.218 MHAParser::entry_t Class Reference ........................793
5.219 MHAParser::expression_t Class Reference .....................794
5.220 MHAParser::float_mon_t Class Reference .....................795
5.221 MHAParser::float_t Class Reference ........................797
5.222 MHAParser::int_mon_t Class Reference ......................800
5.223 MHAParser::int_t Class Reference ..........................803
5.224 MHAParser::keyword_list_t Class Reference ....................805
5.225 MHAParser::kw_t Class Reference .........................810
5.226 MHAParser::mcomplex_mon_t Class Reference ..................814
5.227 MHAParser::mcomplex_t Class Reference .....................816
5.228 MHAParser::mfloat_mon_t Class Reference ....................818
5.229 MHAParser::mfloat_t Class Reference .......................820
5.230 MHAParser::mhaconfig_mon_t Class Reference ..................823
5.231 MHAParser::mhapluginloader_t Class Reference .................826
5.232 MHAParser::monitor_t Class Reference .......................831
5.233 MHAParser::parser_t Class Reference .......................833
5.234 MHAParser::range_var_t Class Reference .....................840
5.235 MHAParser::string_mon_t Class Reference ....................845
5.236 MHAParser::string_t Class Reference ........................847
5.237 MHAParser::variable_t Class Reference ......................849
5.238 MHAParser::vcomplex_mon_t Class Reference ..................851
© 2005-2018 HörTech gGmbH, Oldenburg
x CONTENTS
5.239 MHAParser::vcomplex_t Class Reference .....................855
5.240 MHAParser::vfloat_mon_t Class Reference .....................857
5.241 MHAParser::vfloat_t Class Reference ........................859
5.242 MHAParser::vint_mon_t Class Reference ......................862
5.243 MHAParser::vint_t Class Reference .........................864
5.244 MHAParser::vstring_mon_t Class Reference ....................867
5.245 MHAParser::vstring_t Class Reference .......................869
5.246 MHAParser::window_t Class Reference .......................871
5.247 mhaplug_cfg_t Class Reference ...........................875
5.248 MHAPlugin::cfg_chain_t<runtime_cfg_t >Class Template Reference . . . . . 876
5.249 MHAPlugin::config_t<runtime_cfg_t >Class Template Reference ........877
5.250 MHAPlugin::plugin_t<runtime_cfg_t >Class Template Reference ........882
5.251 MHAPlugin_Resampling::resampling_if_t Class Reference ............888
5.252 MHAPlugin_Resampling::resampling_t Class Reference .............891
5.253 MHAPlugin_Split::domain_handler_t Class Reference ...............894
5.254 MHAPlugin_Split::dummy_threads_t Class Reference ...............900
5.255 MHAPlugin_Split::posix_threads_t Class Reference ................902
5.256 MHAPlugin_Split::split_t Class Reference ......................907
5.257 MHAPlugin_Split::splitted_part_t Class Reference .................914
5.258 MHAPlugin_Split::thread_platform_t Class Reference ...............919
5.259 MHAPlugin_Split::uni_processor_t Class Reference ................922
5.260 mhaserver_t Class Reference ............................924
5.261 MHASignal::async_rmslevel_t Class Reference ..................928
5.262 MHASignal::delay_spec_t Class Reference .....................930
5.263 MHASignal::delay_t Class Reference ........................932
5.264 MHASignal::delay_wave_t Class Reference ....................934
5.265 MHASignal::doublebuffer_t Class Reference ....................936
5.266 MHASignal::fft_t Class Reference ..........................940
5.267 MHASignal::hilbert_fftw_t Class Reference .....................945
5.268 MHASignal::hilbert_t Class Reference .......................947
5.269 MHASignal::loop_wavefragment_t Class Reference ................949
5.270 MHASignal::matrix_t Class Reference ........................954
5.271 MHASignal::minphase_t Class Reference .....................967
5.272 MHASignal::quantizer_t Class Reference ......................969
5.273 MHASignal::ringbuffer_t Class Reference ......................971
5.274 MHASignal::schroeder_t Class Reference .....................975
5.275 MHASignal::spectrum_t Class Reference ......................979
5.276 MHASignal::stat_t Class Reference .........................985
5.277 MHASignal::subsample_delay_t Class Reference .................987
5.278 MHASignal::uint_vector_t Class Reference .....................989
5.279 MHASignal::waveform_t Class Reference ......................993
5.280 MHASndFile::sf_t Class Reference .........................1006
5.281 MHASndFile::sf_wave_t Class Reference ......................1007
5.282 MHATableLookup::linear_table_t Class Reference .................1008
5.283 MHATableLookup::table_t Class Reference .....................1013
5.284 MHATableLookup::xy_table_t Class Reference ...................1015
5.285 MHAWindow::bartlett_t Class Reference ......................1020
5.286 MHAWindow::base_t Class Reference .......................1022
5.287 MHAWindow::blackman_t Class Reference .....................1024
5.288 MHAWindow::fun_t Class Reference ........................1025
5.289 MHAWindow::hamming_t Class Reference .....................1026
© 2005-2018 HörTech gGmbH, Oldenburg
CONTENTS xi
5.290 MHAWindow::hanning_t Class Reference .....................1028
5.291 MHAWindow::rect_t Class Reference ........................1029
5.292 MHAWindow::user_t Class Reference ........................1030
5.293 mon_t Class Reference ................................1032
5.294 multibandcompressor::fftfb_plug_t Class Reference ................1033
5.295 multibandcompressor::interface_t Class Reference ................1035
5.296 multibandcompressor::plugin_signals_t Class Reference .............1038
5.297 nlms_t Class Reference ...............................1040
5.298 noise_t Class Reference ...............................1044
5.299 noisePowProposedScale::interface_t Class Reference ..............1047
5.300 noisePowProposedScale::noisePowProposed Class Reference .........1049
5.301 overlapadd::overlapadd_if_t Class Reference ...................1053
5.302 overlapadd::overlapadd_t Class Reference .....................1057
5.303 parser_int_dyn Class Reference ...........................1061
5.304 plug_t Class Reference ................................1062
5.305 plugin_interface_t Class Reference .........................1064
5.306 pluginbrowser_t Class Reference ..........................1066
5.307 plugindescription_t Class Reference .........................1069
5.308 PluginLoader::config_file_splitter_t Class Reference ................1071
5.309 PluginLoader::fourway_processor_t Class Reference ...............1073
5.310 PluginLoader::mhapluginloader_t Class Reference ................1077
5.311 pluginloader_t Class Reference ...........................1085
5.312 prediction_error Class Reference ..........................1086
5.313 prediction_error_config Class Reference ......................1091
5.314 rmslevel_if_t Class Reference ............................1097
5.315 rmslevel_t Class Reference .............................1099
5.316 route::interface_t Class Reference ..........................1101
5.317 route::process_t Class Reference ..........................1104
5.318 rt_nlms_t Class Reference ..............................1106
5.319 save_spec_t Class Reference ............................1111
5.320 save_wave_t Class Reference ............................1113
5.321 shadowfilter_begin::cfg_t Class Reference .....................1114
5.322 shadowfilter_begin::shadowfilter_begin_t Class Reference ............1116
5.323 shadowfilter_end::cfg_t Class Reference ......................1118
5.324 shadowfilter_end::shadowfilter_end_t Class Reference ..............1120
5.325 sine_cfg_t Struct Reference .............................1122
5.326 sine_t Class Reference ................................1123
5.327 smoothgains_bridge::overlapadd_if_t Class Reference ..............1126
5.328 smoothgains_bridge::smoothspec_wrap_t Class Reference ...........1129
5.329 softclip_t Class Reference ..............................1131
5.330 softclipper_t Class Reference ............................1134
5.331 softclipper_variables_t Class Reference ......................1136
5.332 spec2wave_if_t Class Reference ..........................1138
5.333 spec2wave_t Class Reference ............................1140
5.334 spec_fader_t Class Reference ............................1143
5.335 speechnoise_t Class Reference ...........................1145
5.336 steerbf Class Reference ...............................1147
5.337 steerbf_config Class Reference ...........................1150
5.338 timo_AC Class Reference ..............................1153
5.339 timo_params Class Reference ............................1157
5.340 timoConfig Class Reference .............................1160
© 2005-2018 HörTech gGmbH, Oldenburg
xii CONTENTS
5.341 timoSmooth Class Reference ............................1167
5.342 us_t Class Reference .................................1173
5.343 wave2spec_if_t Class Reference ..........................1175
5.344 wave2spec_t Class Reference ............................1178
5.345 wavrec_t Class Reference ..............................1182
5.346 wavwriter_t Class Reference .............................1185
5.347 windowselector_t Class Reference .........................1187
6 File Documentation 1192
6.1 ac2wave.cpp File Reference .............................1192
6.2 ac_monitor_type.cpp File Reference ........................1192
6.3 ac_monitor_type.hh File Reference .........................1192
6.4 acConcat_wave.cpp File Reference .........................1192
6.5 acConcat_wave.h File Reference ..........................1193
6.6 acmon.cpp File Reference ..............................1193
6.7 acPooling_wave.cpp File Reference .........................1193
6.8 acPooling_wave.h File Reference ..........................1194
6.9 acsave.cpp File Reference ..............................1194
6.10 acSteer.cpp File Reference ..............................1195
6.11 acSteer.h File Reference ...............................1196
6.12 acTransform_wave.cpp File Reference .......................1196
6.13 acTransform_wave.h File Reference .........................1196
6.14 adm.cpp File Reference ...............................1197
6.15 adm.hh File Reference ................................1197
6.16 altplugs.cpp File Reference ..............................1198
6.17 analysemhaplugin.cpp File Reference ........................1198
6.18 analysispath.cpp File Reference ...........................1199
6.19 auditory_profile.cpp File Reference .........................1200
6.20 auditory_profile.h File Reference ...........................1200
6.21 browsemhaplugins.cpp File Reference .......................1200
6.22 coherence.cpp File Reference ............................1201
6.23 combinechannels.cpp File Reference ........................1201
6.24 complex_filter.cpp File Reference ..........................1202
6.25 complex_filter.h File Reference ...........................1202
6.26 cpuload.cpp File Reference .............................1202
6.27 db.cpp File Reference .................................1202
6.28 dc.cpp File Reference .................................1202
6.29 dc_afterburn.cpp File Reference ...........................1203
6.30 dc_afterburn.h File Reference ............................1204
6.31 dc_simple.cpp File Reference ............................1204
6.32 delay.cpp File Reference ...............................1205
6.33 delaysum.cpp File Reference ............................1205
6.34 doasvm_classification.cpp File Reference .....................1205
6.35 doasvm_classification.h File Reference .......................1206
6.36 doasvm_feature_extraction.cpp File Reference ...................1206
6.37 doasvm_feature_extraction.h File Reference ....................1206
6.38 doc_appendix.h File Reference ...........................1207
6.39 doc_examples.h File Reference ...........................1207
6.40 doc_frameworks.h File Reference ..........................1207
6.41 doc_general.h File Reference ............................1207
6.42 doc_kernel.h File Reference .............................1207
6.43 doc_matlab.h File Reference .............................1207
© 2005-2018 HörTech gGmbH, Oldenburg
CONTENTS xiii
6.44 doc_mhamain.h File Reference ...........................1207
6.45 doc_parser.h File Reference .............................1207
6.46 doc_plugif.cpp File Reference ............................1207
6.47 doc_plugins.h File Reference ............................1207
6.48 doc_system.h File Reference ............................1207
6.49 doc_toolbox.h File Reference ............................1207
6.50 downsample.cpp File Reference ...........................1207
6.51 droptect.cpp File Reference .............................1207
6.52 example1.cpp File Reference ............................1208
6.53 example2.cpp File Reference ............................1208
6.54 example3.cpp File Reference ............................1208
6.55 example4.cpp File Reference ............................1208
6.56 example5.cpp File Reference ............................1208
6.57 example6.cpp File Reference ............................1209
6.58 fader_spec.cpp File Reference ............................1209
6.59 fader_wave.cpp File Reference ...........................1209
6.60 fftfilterbank.cpp File Reference ............................1210
6.61 fshift_hilbert.cpp File Reference ...........................1210
6.62 gain.cpp File Reference ................................1211
6.63 gaintable.cpp File Reference .............................1211
6.64 gaintable.h File Reference ..............................1211
6.65 generatemhaplugindoc.cpp File Reference .....................1212
6.66 hann.cpp File Reference ...............................1213
6.67 hann.h File Reference ................................1214
6.68 identity.cpp File Reference ..............................1214
6.69 ifftshift.cpp File Reference ..............................1214
6.70 ifftshift.h File Reference ................................1215
6.71 iirfilter.cpp File Reference ...............................1215
6.72 lpc.cpp File Reference ................................1215
6.73 lpc.h File Reference ..................................1216
6.74 lpc_bl_predictor.cpp File Reference .........................1216
6.75 lpc_bl_predictor.h File Reference ..........................1217
6.76 lpc_burg-lattice.cpp File Reference .........................1217
6.77 lpc_burg-lattice.h File Reference ...........................1218
6.78 matrixmixer.cpp File Reference ...........................1218
6.79 mha.cpp File Reference ...............................1219
6.80 mha.h File Reference .................................1219
6.81 mha_algo_comm.cpp File Reference ........................1228
6.82 mha_algo_comm.h File Reference .........................1229
6.83 mha_algo_comm.hh File Reference .........................1230
6.84 mha_defs.h File Reference ..............................1231
6.85 mha_errno.c File Reference .............................1233
6.86 mha_errno.h File Reference .............................1235
6.87 mha_error.cpp File Reference ............................1236
6.88 mha_error.hh File Reference .............................1237
6.89 mha_event_emitter.h File Reference ........................1238
6.90 mha_events.cpp File Reference ...........................1238
6.91 mha_events.h File Reference ............................1238
6.92 mha_fftfb.cpp File Reference .............................1239
6.93 mha_fftfb.hh File Reference .............................1241
6.94 mha_fifo.cpp File Reference .............................1241
© 2005-2018 HörTech gGmbH, Oldenburg
xiv CONTENTS
6.95 mha_fifo.h File Reference ..............................1241
6.96 mha_filter.cpp File Reference ............................1242
6.97 mha_filter.hh File Reference .............................1243
6.98 mha_generic_chain.cpp File Reference .......................1244
6.99 mha_generic_chain.h File Reference ........................1245
6.100 mha_io_ifc.h File Reference .............................1245
6.101 mha_multisrc.cpp File Reference ..........................1247
6.102 mha_multisrc.h File Reference ............................1247
6.103 mha_os.cpp File Reference .............................1248
6.104 mha_os.h File Reference ...............................1248
6.105 mha_parser.cpp File Reference ...........................1253
6.106 mha_parser.hh File Reference ............................1255
6.107 mha_plugin.hh File Reference ............................1259
6.108 mha_profiling.c File Reference ............................1262
6.109 mha_profiling.h File Reference ............................1263
6.110 mha_ruby.cpp File Reference ............................1264
6.111 mha_signal.cpp File Reference ...........................1265
6.112 mha_signal.hh File Reference ............................1269
6.113 mha_signal_fft.h File Reference ...........................1279
6.114 mha_tablelookup.cpp File Reference ........................1279
6.115 mha_tablelookup.hh File Reference .........................1279
6.116 mha_tcp.cpp File Reference .............................1280
6.117 mha_tcp.hh File Reference ..............................1282
6.118 mha_toolbox.h File Reference ............................1284
6.119 mha_windowparser.cpp File Reference .......................1284
6.120 mha_windowparser.h File Reference ........................1284
6.121 mhachain.cpp File Reference ............................1285
6.122 mhafw_lib.cpp File Reference ............................1285
6.123 mhafw_lib.h File Reference ..............................1285
6.124 MHAIOFile.cpp File Reference ............................1286
6.125 MHAIOJack.cpp File Reference ...........................1290
6.126 MHAIOParser.cpp File Reference ..........................1295
6.127 MHAIOPortAudio.cpp File Reference ........................1300
6.128 MHAIOTCP.cpp File Reference ...........................1305
6.129 mhajack.cpp File Reference .............................1311
6.130 mhajack.h File Reference ...............................1312
6.131 mhamain.cpp File Reference .............................1314
6.132 mhapluginloader.cpp File Reference .........................1316
6.133 mhapluginloader.h File Reference ..........................1316
6.134 mhasndfile.cpp File Reference ............................1316
6.135 mhasndfile.h File Reference .............................1317
6.136 multibandcompressor.cpp File Reference ......................1318
6.137 nlms_wave.cpp File Reference ............................1318
6.138 noise.cpp File Reference ...............................1320
6.139 noisePowProposedScale.cpp File Reference ....................1320
6.140 overlapadd.cpp File Reference ............................1321
6.141 pluginbrowser.cpp File Reference ..........................1321
6.142 pluginbrowser.h File Reference ...........................1321
6.143 prediction_error.cpp File Reference .........................1321
6.144 prediction_error.h File Reference ..........................1322
6.145 resampling.cpp File Reference ............................1322
© 2005-2018 HörTech gGmbH, Oldenburg
CONTENTS xv
6.146 rmslevel.cpp File Reference .............................1322
6.147 route.cpp File Reference ...............................1323
6.148 save_spec.cpp File Reference ............................1323
6.149 save_wave.cpp File Reference ............................1323
6.150 shadowfilter_begin.cpp File Reference .......................1323
6.151 shadowfilter_end.cpp File Reference ........................1323
6.152 sine.cpp File Reference ................................1324
6.153 smoothgains_bridge.cpp File Reference ......................1324
6.154 softclip.cpp File Reference ..............................1324
6.155 spec2wave.cpp File Reference ............................1324
6.156 speechnoise.cpp File Reference ...........................1325
6.157 speechnoise.h File Reference ............................1330
6.158 split.cpp File Reference ................................1330
6.159 steerbf.cpp File Reference ..............................1331
6.160 steerbf.h File Reference ...............................1332
6.161 testalsadevice.c File Reference ...........................1332
6.162 timoconfig.cpp File Reference ............................1333
6.163 timoconfig.h File Reference .............................1334
6.164 timoSmooth.cpp File Reference ...........................1334
6.165 timosmooth.h File Reference .............................1335
6.166 transducers.cpp File Reference ...........................1335
6.167 upsample.cpp File Reference ............................1336
6.168 wave2spec.cpp File Reference ............................1336
6.169 wavrec.cpp File Reference ..............................1337
6.170 windowselector.cpp File Reference .........................1337
6.171 windowselector.h File Reference ...........................1337
Index 1339
© 2005-2018 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. 35)
Signal processing plugins (p. 6)
Audio input-output (IO) plugins (see io_file_t (p. 411), MHAIOJack (p. 107), io_parser_t
(p. 423), io_tcp_parser_t (p. 433))
The openMHA toolbox library (p. 36)
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. 35) 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. 107)
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. 6) 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-2018 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-2018 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-2018 HörTech gGmbH, Oldenburg
4 CONTENTS
2 Todo List
Class AuditoryProfile::profile_t (p. 240)
Give more documentation; implement all parts of the auditory profile.
Class mhaconfig_t (p. 595)
Add information on number of bands and on center frequencies, or replace by mha_audio-
_descriptor_t (p. 498).
Class MHAFilter::filter_t (p. 633)
Implement a more robust filter form.
Member MHAFilter::polyphase_resampling_t::now_index (p. 672)
Index into what? What is the meaning of now?
Class MHAPlugin::plugin_t<runtime_cfg_t >(p. 882)
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.
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.
© 2005-2018 HörTech gGmbH, Oldenburg
3.1 Concept of Variables and Data Exchange in the openMHA 5
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'.
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-2018 HörTech gGmbH, Oldenburg
6 CONTENTS
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) MHAPL-
UGIN_CALLBACKS_PREFIX(MHA_STATIC_ ## plugname ## _,classname,indom,outdom)
C++ wrapper macro for the plugin interface.
• #define MHAPLUGIN_DOCUMENTATION(plugname, cat, doc) MHAPLUGIN_DOC-
UMENTATION_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. 35). 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 detailes.
openMHA plugins communicate with the openMHA using a simple ANSI-C 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-2018 HörTech gGmbH, Oldenburg
3.2 The openMHA Plugins (programming interface) 7
mha_wave_t (p. 583)process(mha_wave_t (p. 583)): pure waveform processing
mha_spec_t (p. 547)process(mha_spec_t (p. 547)): 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. 547)process(mha_wave_t (p. 583)): Domain transformation from
waveform to spectrum
mha_wave_t (p. 583)process(mha_spec_t (p. 547)): Domain transformation from
spectrum to waveform
For preparation and release of a plugin, the methods
void prepare(mhaconfig_t (p. 595) &) 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. 833)
from the openMHA toolbox, directly or indirectly (inheriting from a class that itself inherits from
MHAParser::parser_t (p. 833)).
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. 8) macro.
The openMHA Toolbox library provides a base class MHAPlugin::plugin_t (p. 882)<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. 833))
and thread-safe runtime configuration update.
© 2005-2018 HörTech gGmbH, Oldenburg
8 CONTENTS
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. 8) 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 MHAPLUGIN_CALLBACKS_PREFIX
#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. 882) template class. Exceptions of type MHA_Error (p. 522) are
caught and transformed into apropriate error codes with their corresponding error messages.
© 2005-2018 HörTech gGmbH, Oldenburg
3.2 The openMHA Plugins (programming interface) 9
3.2.5.2 MHAPLUGIN_CALLBACKS
#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. 882) template class. Exceptions of type MHA_Error (p. 522) are caught
and transformed into apropriate error codes with their corresponding error messages.
3.2.5.3 MHAPLUGIN_DOCUMENTATION
#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
© 2005-2018 HörTech gGmbH, Oldenburg
10 CONTENTS
compatible (e.g., avoid or quote underscores in the text part); equations should be formatted
as LaTeX.
© 2005-2018 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. 1208)demonstrates the easiest way to imple-
ment 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. 882) 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. 1259)' 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. 1259).
The class plugin1_t inherits from the class MHAPlugin::plugin_t (p. 882), which then inher-
its from MHAParser::parser_t (p. 833) – the configuration language interface in the method
"parse". Our plugin class therefore exports the working "parse" method inherited from MHA-
Parser::parser_t (p. 833), 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-2018 HörTech gGmbH, Oldenburg
12 CONTENTS
Parameters
signal_info Contains information about the input signal's parameters, see mhaconfig_t
(p. 595).
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. 583).
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. 583)
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-2018 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. 882) to be
compatible with the C interface wrapper.
This macro also catches C++ exceptions of type MHA_Error (p. 522), 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. 522) 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. 522). 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. 882) 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-2018 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. 835) 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. 595).
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-2018 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-2018 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. 803)
and MHAParser::float_t (p. 797) 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-2018 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-2018 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-2018 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-2018 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. 547) instance stores the complex (mha_complex_t (p. 503)) spectral sig-
nal for positive frequences only (since the waveform signal is always real). The num_frames
member of mha_spec_t (p. 547) actually denotes the number of STFT bins.
Please note that different from mha_wave_t (p. 583), a multichannel signal in mha_spec_t
(p. 547) is stored non-interleaved in the signal buffer.
Some arithmetic operations are defined on struct mha_complex_t (p. 503) 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-2018 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. 882) 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. 366)is the parameter of the template class
MHAPlugin::plugin_t (p. 882). 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. 882), 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. 605) 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. 522) 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. 522) exception.
© 2005-2018 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. 366)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. 605) 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-2018 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. 522) 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. 880) stores
the configuration in a FiFo queue of runtime configurations. Once they are inserted in the FiFo,
the MHAPlugin::plugin_t (p. 882) 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. 8) 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. 882) template class). All exceptions of
type MHA_Error (p. 522) are caught and transformed into an appropriate error code and error
message.
MHAPLUGIN_CALLBACKS(example5,plugin_interface_t,spec,spec)
© 2005-2018 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-2018 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. 369)and example6_t::process() (p. 369)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. 369)) 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-2017 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-2018 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-2018 HörTech gGmbH, Oldenburg
3.4 The MHA Framework interface 27
3.4 The MHA Framework interface
© 2005-2018 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. 979) class into the AC space.
• class MHA_AC::waveform_t
Insert a MHASignal::waveform_t (p. 993) 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-2018 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. 213)) is passed at initialisation time to
the constructor of each plugin class constructor (p. 882). This handle contains a reference
handle, algo_comm_t::handle (p. 213), and a number of function pointers, algo_comm_t-
::insert_var (p. 214) etc.. An algorithm communication variable is an object of type comm_-
var_t (p. 271).
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 get_var_spectrum()
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-2018 HörTech gGmbH, Oldenburg
30 CONTENTS
Parameters
ac AC handle
name Name of the variable
Returns
Spectrum structure
3.5.2.2 get_var_waveform()
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 get_var_int()
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
© 2005-2018 HörTech gGmbH, Oldenburg
3.5 Communication between algorithms 31
Returns
Variable value
3.5.2.4 get_var_float()
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 get_var_vfloat()
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-2018 HörTech gGmbH, Oldenburg
32 CONTENTS
3.6 Error handling in the openMHA
Errors are reported to the user via the MHA_Error (p. 522) 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. 522).
• #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. 522) 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. 522) exception.
3.6.2 Macro Definition Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
3.6 Error handling in the openMHA 33
3.6.2.1 MHA_ErrorMsg
#define MHA_ErrorMsg(
x)MHA_Error(__FILE__,__LINE__,"%s",x)
Throw an openMHA error with a text message.
© 2005-2018 HörTech gGmbH, Oldenburg
34 CONTENTS
Parameters
xText message.
3.6.2.2 MHA_assert
#define MHA_assert(
x) if(!(x)) throw MHA_Error(__FILE__,__LINE__,"\"%s\" is false.",#x)
Assertion macro, which throws an MHA_Error (p. 522).
Parameters
xBoolean expression which should be true.
3.6.2.3 MHA_assert_equal
#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. 522) 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 mha_debug()
void mha_debug (
const char fmt,
... )
Print an info message (stderr on Linux, OutputDebugString in Windows).
© 2005-2018 HörTech gGmbH, Oldenburg
3.7 The openMHA configuration language 35
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. 1255).
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. 1255).
All required classes and functions for parser access are declared in the namespace MH-
AParser (p. 118). The plugin class should be derived from the class MHAParser::parser_t
(p. 833) (or MHAPlugin::plugin_t (p. 882)), 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. 835).
The openMHA Plugin template class MHAPlugin::plugin_t (p. 882) together with the Plugin
macro MHAPLUGIN_CALLBACKS (p. 8) 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. 118)
namespace.
© 2005-2018 HörTech gGmbH, Oldenburg
36 CONTENTS
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. 522) exception.
Vector and matrix processing toolbox
The vector and matrix processing toolbox consists of a number of classes defined in the
namespace MHASignal (p. 132), and many functions and operators for use with the struc-
tures mha_wave_t (p. 583) and mha_spec_t (p. 547).
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-2018 HörTech gGmbH, Oldenburg
3.8 The openMHA Toolbox library 37
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-2018 HörTech gGmbH, Oldenburg
38 CONTENTS
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. 132), and many functions and operators for use with the structures mha-
_wave_t (p. 583) and mha_spec_t (p. 547).
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. 595)).
• struct mha_audio_t
An audio fragment in the openMHA (planned as a replacement of mha_wave_t (p. 583) and
mha_spec_t (p. 547)).
• class MHASignal::spectrum_t
a signal processing class for spectral data (based on mha_spec_t (p. 547))
• class MHASignal::waveform_t
signal processing class for waveform data (based on mha_wave_t (p. 583))
• 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-2018 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 39
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. 583).
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_-
tsrate)
conversion from fft bin index to frequency
mha_real_t MHASignal::freq2bin (mha_real_t freq, unsigned fftlen, mha_real_-
tsrate)
conversion from frequency to fft bin index
© 2005-2018 HörTech gGmbH, Oldenburg
40 CONTENTS
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.
• 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)
© 2005-2018 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 41
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_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. 583) 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. 583) 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. 547) 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 &)
© 2005-2018 HörTech gGmbH, Oldenburg
42 CONTENTS
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.
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, un-
signed 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
channel, 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)
© 2005-2018 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 43
Calculate sum over all channels of squared values.
• void conjugate (mha_spec_t &self)
Replace (!) the value of this mha_spec_t (p. 547) with its conjugate.
3.9.1 Detailed Description
The vector and matrix processing toolbox consists of a number of classes defined in the names-
pace MHASignal (p. 132), and many functions and operators for use with the structures mha-
_wave_t (p. 583) and mha_spec_t (p. 547).
3.9.2 Typedef Documentation
3.9.2.1 mha_real_t
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 range()
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
© 2005-2018 HörTech gGmbH, Oldenburg
44 CONTENTS
Returns
Waveform structure representing the sub-interval.
3.9.3.2 channels()
mha_spec_t channels (
mha_spec_t s,
unsigned int ch_start,
unsigned int nch )
Return a channel interval from a spectrum.
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 for_each()
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. 583).
Parameters
sPointer to a mha_wave_t (p. 583) structure
fun Function to be applied (one argument)
3.9.3.4 lin2db()
mha_real_t MHASignal::lin2db (
mha_real_t x) [inline]
© 2005-2018 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 45
Conversion from linear scale to dB (no SPL reference)
Parameters
xLinear input.
3.9.3.5 db2lin()
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 pa2dbspl()
mha_real_t MHASignal::pa2dbspl (
mha_real_t x) [inline]
Conversion from linear Pascal scale to dB SPL.
Parameters
xLinear input.
3.9.3.7 pa22dbspl()
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
© 2005-2018 HörTech gGmbH, Oldenburg
46 CONTENTS
3.9.3.8 dbspl2pa()
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 smp2sec()
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 sec2smp()
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-2018 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 47
Returns
number of samples, generally has non-zero fractional part
3.9.3.11 bin2freq()
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 freq2bin()
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
© 2005-2018 HörTech gGmbH, Oldenburg
48 CONTENTS
3.9.3.13 smp2rad()
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.
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 rad2smp()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 49
3.9.3.15 dupvec()
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.
Return values
Resized vector.
3.9.3.16 dupvec_chk()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
50 CONTENTS
3.9.3.17 equal_dim() [1/6]
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 equal_dim() [2/6]
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 equal_dim() [3/6]
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 equal_dim() [4/6]
bool equal_dim (
const mha_spec_t &a,
const mhaconfig_t &b) [inline]
Test for match of spectrum dimension with mhaconfig structure.
3.9.3.21 equal_dim() [5/6]
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. 583) use interleaved data order, while spectrum
structures mha_spec_t (p. 547) use non-interleaved.
© 2005-2018 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 51
3.9.3.22 equal_dim() [6/6]
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. 583) use interleaved data order, while spectrum
structures mha_spec_t (p. 547) use non-interleaved.
3.9.3.23 integrate() [1/2]
void integrate (
mha_wave_t &s)
Numeric integration of a signal vector (real values)
Parameters
sInput signal vector
3.9.3.24 integrate() [2/2]
void integrate (
mha_spec_t &s)
Numeric integration of a signal vector (complex values)
Parameters
sInput signal vector
3.9.3.25 size() [1/4]
unsigned int size (
const mha_wave_t &s) [inline]
© 2005-2018 HörTech gGmbH, Oldenburg
52 CONTENTS
Return size of a waveform structure.
3.9.3.26 size() [2/4]
unsigned int size (
const mha_spec_t &s) [inline]
Return size of a spectrum structure.
3.9.3.27 size() [3/4]
unsigned int size (
const mha_wave_t s) [inline]
Return size of a waveform structure.
3.9.3.28 size() [4/4]
unsigned int size (
const mha_spec_t s) [inline]
Return size of a spectrum structure.
3.9.3.29 clear() [1/4]
void clear (
mha_wave_t &s) [inline]
Set all values of waveform to zero.
3.9.3.30 clear() [2/4]
void clear (
mha_wave_t s) [inline]
Set all values of waveform to zero.
© 2005-2018 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 53
3.9.3.31 clear() [3/4]
void clear (
mha_spec_t &s) [inline]
Set all values of spectrum to zero.
3.9.3.32 clear() [4/4]
void clear (
mha_spec_t s) [inline]
Set all values of spectrum to zero.
3.9.3.33 assign() [1/3]
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.
3.9.3.34 assign() [2/3]
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.
© 2005-2018 HörTech gGmbH, Oldenburg
54 CONTENTS
3.9.3.35 assign() [3/3]
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 timeshift()
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 value() [1/8]
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-2018 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 55
Returns
Reference to element
3.9.3.38 value() [2/8]
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 value() [3/8]
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
© 2005-2018 HörTech gGmbH, Oldenburg
56 CONTENTS
3.9.3.40 value() [4/8]
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.41 value() [5/8]
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 value() [6/8]
const mha_real_t& value (
const mha_wave_t &s,
© 2005-2018 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 57
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.43 value() [7/8]
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 value() [8/8]
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-2018 HörTech gGmbH, Oldenburg
58 CONTENTS
Parameters
sSpectrum structure
fr Bin number
ch Channel number
Returns
Reference to element
3.9.3.45 std_vector_float()
std::vector<float>std_vector_float (
const mha_wave_t & )
Converts a mha_wave_t (p. 583) structure into a std::vector<float>(interleaved order).
Warning
This function is not real-time safe. Do not use in signal processing thread.
3.9.3.46 std_vector_vector_float()
std::vector<std::vector<float> > std_vector_vector_float (
const mha_wave_t & )
Converts a mha_wave_t (p. 583) 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_vector_complex()
std::vector<std::vector<mha_complex_t> > std_vector_vector_complex (
const mha_spec_t & )
Converts a mha_spec_t (p. 547) 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.
© 2005-2018 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 59
3.9.3.48 operator+=() [1/4]
mha_wave_t& operator+= (
mha_wave_t &,
const mha_real_t & )
Addition operator.
3.9.3.49 operator+=() [2/4]
mha_wave_t& operator+= (
mha_wave_t &,
const mha_wave_t & )
Addition operator.
3.9.3.50 operator-=() [1/2]
mha_wave_t& operator-= (
mha_wave_t &,
const mha_wave_t & )
Subtraction operator.
3.9.3.51 operator-=() [2/2]
mha_spec_t& operator-= (
mha_spec_t &,
const mha_spec_t & )
Subtraction operator.
3.9.3.52 operator=() [1/5]
mha_wave_t& operator= (
mha_wave_t &,
const mha_real_t & )
Element-wise multiplication operator.
© 2005-2018 HörTech gGmbH, Oldenburg
60 CONTENTS
3.9.3.53 operator=() [2/5]
mha_wave_t& operator= (
mha_wave_t &,
const mha_wave_t & )
Element-wise multiplication operator.
3.9.3.54 operator=() [3/5]
mha_spec_t& operator= (
mha_spec_t &,
const mha_real_t & )
Element-wise multiplication operator.
3.9.3.55 operator=() [4/5]
mha_spec_t& operator= (
mha_spec_t &,
const mha_wave_t & )
Element-wise multiplication operator.
3.9.3.56 operator=() [5/5]
mha_spec_t& operator= (
mha_spec_t &,
const mha_spec_t & )
Element-wise multiplication operator.
3.9.3.57 operator/=() [1/2]
mha_spec_t& operator/= (
mha_spec_t &,
const mha_spec_t & )
Element-wise division operator.
© 2005-2018 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 61
3.9.3.58 operator/=() [2/2]
mha_wave_t& operator/= (
mha_wave_t &,
const mha_wave_t & )
Element-wise division operator.
3.9.3.59 operator+=() [3/4]
mha_spec_t& operator+= (
mha_spec_t &,
const mha_spec_t & )
Addition operator.
3.9.3.60 operator+=() [4/4]
mha_spec_t& operator+= (
mha_spec_t &,
const mha_real_t & )
Addition operator.
3.9.3.61 operator=()
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 copy_channel() [1/2]
void MHASignal::copy_channel (
mha_spec_t &self,
const mha_spec_t &src,
unsigned sch,
unsigned dch )
Copy one channel of a source signal.
© 2005-2018 HörTech gGmbH, Oldenburg
62 CONTENTS
Parameters
self Destination.
src Source
sch Source channel number
dch Destination channel number
3.9.3.63 copy_channel() [2/2]
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
3.9.3.64 rmslevel() [1/2]
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)
© 2005-2018 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 63
Returns
RMS level in Pa
3.9.3.65 colored_intensity()
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 maxabs() [1/3]
mha_real_t MHASignal::maxabs (
const mha_spec_t &s,
unsigned int channel )
Find maximal absolute value.
Parameters
sInput signal
channel Channel to be tested
© 2005-2018 HörTech gGmbH, Oldenburg
64 CONTENTS
Returns
maximum absolute value
3.9.3.67 rmslevel() [2/2]
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 maxabs() [2/3]
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
© 2005-2018 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 65
3.9.3.69 maxabs() [3/3]
mha_real_t MHASignal::maxabs (
const mha_wave_t &s)
Find maximal absolute value.
Parameters
sInput signal
Returns
maximum absolute value
3.9.3.70 max()
mha_real_t MHASignal::max (
const mha_wave_t &s)
Find maximal value.
Parameters
sInput signal
Returns
maximum absolute value
3.9.3.71 min()
mha_real_t MHASignal::min (
const mha_wave_t &s)
Find minimal value.
Parameters
sInput signal
© 2005-2018 HörTech gGmbH, Oldenburg
66 CONTENTS
Returns
maximum absolute value
3.9.3.72 sumsqr_channel()
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
Returns
Px2
3.9.3.73 sumsqr_frame()
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
© 2005-2018 HörTech gGmbH, Oldenburg
3.9 Vector and matrix processing toolbox 67
3.9.3.74 conjugate()
void conjugate (
mha_spec_t &self ) [inline]
Replace (!) the value of this mha_spec_t (p. 547) with its conjugate.
© 2005-2018 HörTech gGmbH, Oldenburg
68 CONTENTS
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. 503) variable.
mha_complex_t mha_complex (mha_real_t real, mha_real_t imag=0)
Create a new mha_complex_t (p. 503) 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. 503) 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. 503).
mha_complex_t &expi (mha_complex_t &self, mha_real_t angle)
replaces the value of the given mha_complex_t (p. 503) 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)
© 2005-2018 HörTech gGmbH, Oldenburg
3.10 Complex arithmetics in the openMHA 69
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. 503) 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. 503) with its conjugate.
mha_complex_t _conjugate (const mha_complex_t &self)
© 2005-2018 HörTech gGmbH, Oldenburg
70 CONTENTS
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.
3.10.1 Detailed Description
3.10.2 Function Documentation
3.10.2.1 set() [1/2]
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. 503) variable.
Parameters
self The mha_complex_t (p. 503) variable whose value is about to change.
real The new real part.
imag The new imaginary part.
Returns
A reference to the changed variable.
© 2005-2018 HörTech gGmbH, Oldenburg
3.10 Complex arithmetics in the openMHA 71
3.10.2.2 mha_complex()
mha_complex_t mha_complex (
mha_real_t real,
mha_real_t imag = 0 ) [inline]
Create a new mha_complex_t (p. 503) with specified real and imaginary parts.
Parameters
real The real part.
imag The imaginary part.
Returns
The new value.
3.10.2.3 set() [2/2]
mha_complex_t& set (
mha_complex_t &self,
const std::complex<mha_real_t >&stdcomplex ) [inline]
Assign a mha_complex_t (p. 503) variable from a std::complex.
Parameters
self The mha_complex_t (p. 503) variable whose value is about to change.
stdcomplex The new complex value.
Returns
A reference to the changed variable.
3.10.2.4 stdcomplex()
std::complex<mha_real_t>stdcomplex (
const mha_complex_t &self ) [inline]
Create a std::complex from mha_complex_t (p. 503).
© 2005-2018 HörTech gGmbH, Oldenburg
72 CONTENTS
3.10.2.5 expi() [1/2]
mha_complex_t& expi (
mha_complex_t &self,
mha_real_t angle ) [inline]
replaces the value of the given mha_complex_t (p. 503) with exp(ib).
Parameters
self The mha_complex_t (p. 503) 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 angle()
double angle (
const mha_complex_t &self ) [inline]
Computes the angle of a complex number in the complex plane.
Parameters
self The complex number whose angle is needed.
Returns
The angle of a complex number in the complex plane.
3.10.2.7 operator+=() [1/2]
mha_complex_t& operator+= (
mha_complex_t &self,
const mha_complex_t &other ) [inline]
Addition of two complex numbers, overwriting the first.
© 2005-2018 HörTech gGmbH, Oldenburg
3.10 Complex arithmetics in the openMHA 73
3.10.2.8 operator+() [1/2]
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 operator+=() [2/2]
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 operator+() [2/2]
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 operator-=() [1/2]
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 operator-() [1/3]
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-2018 HörTech gGmbH, Oldenburg
74 CONTENTS
3.10.2.13 operator-=() [2/2]
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 operator-() [2/3]
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 operator=() [1/2]
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 operator() [1/2]
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 operator=() [2/2]
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 expi() [2/2]
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. 503) with a exp(ib)
© 2005-2018 HörTech gGmbH, Oldenburg
3.10 Complex arithmetics in the openMHA 75
Parameters
self The mha_complex_t (p. 503) variable whose value is about to change.
angle The imaginary exponent.
factor The absolute value of the result.
Returns
A reference to the changed variable.
3.10.2.19 operator() [2/2]
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 abs2()
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 abs()
mha_real_t abs (
const mha_complex_t &self ) [inline]
Compute the absolute value of a complex value.
Returns
The absolute value of self.
© 2005-2018 HörTech gGmbH, Oldenburg
76 CONTENTS
3.10.2.22 operator/=() [1/2]
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 operator/() [1/2]
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 safe_div()
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.
3.10.2.25 operator/=() [2/2]
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 operator/() [2/2]
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.
© 2005-2018 HörTech gGmbH, Oldenburg
3.10 Complex arithmetics in the openMHA 77
3.10.2.27 operator-() [3/3]
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 operator==()
bool operator== (
const mha_complex_t &x,
const mha_complex_t &y) [inline]
Compare two complex numbers for equality.
3.10.2.29 operator"!=()
bool operator!= (
const mha_complex_t &x,
const mha_complex_t &y) [inline]
Compare two complex numbers for inequality.
3.10.2.30 conjugate()
void conjugate (
mha_complex_t &self ) [inline]
Replace (!) the value of this mha_complex_t (p. 503) with its conjugate.
3.10.2.31 _conjugate()
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-2018 HörTech gGmbH, Oldenburg
78 CONTENTS
3.10.2.32 reciprocal()
void reciprocal (
mha_complex_t &self ) [inline]
Replace the value of this complex with its reciprocal.
3.10.2.33 _reciprocal()
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 normalize() [1/2]
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 normalize() [2/2]
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 almost()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
3.10 Complex arithmetics in the openMHA 79
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
3.10.2.37 operator<()
bool operator<(
const mha_complex_t &x,
const mha_complex_t &y) [inline]
Compares the absolute values of two complex numbers.
© 2005-2018 HörTech gGmbH, Oldenburg
80 CONTENTS
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,
unsigned 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_t
out)
Tranform waveform segment into spectrum.
• void mha_fft_spec2wave_scale (mha_fft_t h, const mha_spec_t in, mha_wave_t
out)
Tranform spectrum into waveform segment.
© 2005-2018 HörTech gGmbH, Oldenburg
3.11 Fast Fourier Transform functions 81
3.11.1 Detailed Description
3.11.2 Typedef Documentation
3.11.2.1 mha_fft_t
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_new()
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
© 2005-2018 HörTech gGmbH, Oldenburg
82 CONTENTS
3.11.3.2 mha_fft_free()
void mha_fft_free (
mha_fft_t h)
Destroy an FFT handle.
Parameters
hHandle to be destroyed.
Destroy an FFT handle.
Parameters
hFFT object to be removed
3.11.3.3 mha_fft_wave2spec() [1/2]
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)
© 2005-2018 HörTech gGmbH, Oldenburg
3.11 Fast Fourier Transform functions 83
3.11.3.4 mha_fft_wave2spec() [2/2]
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.
3.11.3.5 mha_fft_spec2wave() [1/2]
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.
© 2005-2018 HörTech gGmbH, Oldenburg
84 CONTENTS
Parameters
hFFT object handle
in pointer to input spectrum
out pointer to output waveform signal (has to be allocated)
3.11.3.6 mha_fft_spec2wave() [2/2]
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
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.
© 2005-2018 HörTech gGmbH, Oldenburg
3.11 Fast Fourier Transform functions 85
3.11.3.7 mha_fft_forward()
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. 547) 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 mha_fft_backward()
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. 547) 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.
© 2005-2018 HörTech gGmbH, Oldenburg
86 CONTENTS
3.11.3.9 mha_fft_forward_scale()
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. 547) 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 mha_fft_backward_scale()
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. 547) 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-2018 HörTech gGmbH, Oldenburg
3.11 Fast Fourier Transform functions 87
3.11.3.11 mha_fft_wave2spec_scale()
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 mha_fft_spec2wave_scale()
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-2018 HörTech gGmbH, Oldenburg
88 CONTENTS
4 Namespace Documentation
4.1 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
4.1.1 Detailed Description
Namespace for displaying ac variables as parser monitors.
4.2 acsave Namespace Reference
Classes
• class acsave_t
• class cfg_t
• struct mat4head_t
• class save_var_t
4.3 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-2018 HörTech gGmbH, Oldenburg
4.3 ADM Namespace Reference 89
Variables
const double PI = 3.14159265358979312
const double C= 340
const double DELAY_FREQ = 2000
const double START_BETA = 0.5
4.3.1 Function Documentation
4.3.1.1 subsampledelay_coeff()
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.3.2 Variable Documentation
4.3.2.1 PI
const double ADM::PI = 3.14159265358979312
4.3.2.2 C
const double ADM::C = 340
© 2005-2018 HörTech gGmbH, Oldenburg
90 CONTENTS
4.3.2.3 DELAY_FREQ
const double ADM::DELAY_FREQ = 2000
4.3.2.4 START_BETA
const double ADM::START_BETA = 0.5
4.4 AuditoryProfile Namespace Reference
Namespace for classes and functions around the auditory profile (e.g., audiogram handling)
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.4.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. 240). Until a complete definition is available, only the
currently needed elements are implemented.
4.5 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)
© 2005-2018 HörTech gGmbH, Oldenburg
4.6 dc Namespace Reference 91
4.5.1 Function Documentation
4.5.1.1 getcipd()
void coherence::getcipd (
mha_complex_t &c,
mha_real_t &a,
const mha_complex_t &xl,
const mha_complex_t &xr ) [inline]
4.6 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
Functions
unsigned int get_audiochannels (unsigned int totalchannels, std::string acname, algo-
_comm_t ac)
4.6.1 Function Documentation
4.6.1.1 get_audiochannels()
unsigned int dc::get_audiochannels (
unsigned int totalchannels,
std::string acname,
algo_comm_t ac )
© 2005-2018 HörTech gGmbH, Oldenburg
92 CONTENTS
4.7 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="")
4.7.1 Typedef Documentation
4.7.1.1 DC
typedef MHAPlugin::plugin_t<dc_t>dc_simple::DC
4.7.1.2 LEVEL
typedef MHAPlugin::config_t<level_smoother_t>dc_simple::LEVEL
4.7.2 Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
4.8 delay Namespace Reference 93
4.7.2.1 test_fail()
void dc_simple::test_fail (
const std::vector<float >&v,
unsigned int s,
const std::string & name )
4.7.2.2 force_resize()
std::vector<float>dc_simple::force_resize (
const std::vector<float >&v,
unsigned int s,
const std::string & name )
4.7.2.3 not_zero()
mha_real_t dc_simple::not_zero (
mha_real_t x,
const std::string & comment = "" )
4.8 delay Namespace Reference
Classes
• class interface_t
4.9 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.9.1 Detailed Description
This namespace contains the delaysum plugin.
© 2005-2018 HörTech gGmbH, Oldenburg
94 CONTENTS
4.10 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. 342) 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.10.1 Detailed Description
dynamic compression related classes and functions
4.10.2 Function Documentation
4.10.2.1 interp1()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
4.11 fader_wave Namespace Reference 95
Parameters
vX Vector with input samples.
vY Vector with values at input samples.
XInput value to be interpolated.
Return values
Interpolated value Y(X) at position X.
4.10.2.2 interp2()
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.11 fader_wave Namespace Reference
Classes
• class fader_wave_if_t
• class level_adapt_t
© 2005-2018 HörTech gGmbH, Oldenburg
96 CONTENTS
Typedefs
• typedef MHAPlugin::plugin_t<level_adapt_t >level_adaptor
4.11.1 Typedef Documentation
4.11.1.1 level_adaptor
typedef MHAPlugin::plugin_t<level_adapt_t>fader_wave::level_adaptor
4.12 fftfilterbank Namespace Reference
Classes
• class fftfb_interface_t
• class fftfb_plug_t
4.13 gain Namespace Reference
Classes
• class gain_if_t
• class scaler_t
4.14 matrixmixer Namespace Reference
Classes
• class cfg_t
• class matmix_t
4.15 MHA_AC Namespace Reference
Functions and classes for Algorithm Communication (AC) support.
© 2005-2018 HörTech gGmbH, Oldenburg
4.16 mha_error_helpers Namespace Reference 97
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. 979) class into the AC space.
• class stat_t
• class waveform_t
Insert a MHASignal::waveform_t (p. 993) 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.
4.15.1 Detailed Description
Functions and classes for Algorithm Communication (AC) support.
4.16 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.
© 2005-2018 HörTech gGmbH, Oldenburg
98 CONTENTS
4.16.1 Function Documentation
4.16.1.1 digits()
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.16.1.2 snprintf_required_length()
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
4.17 MHA_TCP Namespace Reference
A Namespace for TCP helper classes.
Classes
• class Async_Notify
Portable Multiplexable cross-thread notification.
© 2005-2018 HörTech gGmbH, Oldenburg
4.17 MHA_TCP Namespace Reference 99
• class Client
A portable class for a tcp client connections.
• class Connection
Connection (p. 552) 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 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.
• 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.
© 2005-2018 HörTech gGmbH, Oldenburg
100 CONTENTS
4.17.1 Detailed Description
A Namespace for TCP helper classes.
4.17.2 Typedef Documentation
4.17.2.1 SOCKET
typedef int MHA_TCP::SOCKET
4.17.3 Function Documentation
4.17.3.1 STRERROR()
std::string MHA_TCP::STRERROR (
int err )
Portable conversion from error number to error string.
4.17.3.2 HSTRERROR()
std::string MHA_TCP::HSTRERROR (
int err )
Portable conversion from hostname error number to error string.
4.17.3.3 N_ERRNO()
int MHA_TCP::N_ERRNO ( )
Portable access to last network error number.
© 2005-2018 HörTech gGmbH, Oldenburg
4.18 mhachain Namespace Reference 101
4.17.3.4 H_ERRNO()
int MHA_TCP::H_ERRNO ( )
Portable access to last hostname error number.
4.17.3.5 G_ERRNO()
int MHA_TCP::G_ERRNO ( )
Portable access to last non-network error number.
4.17.3.6 dtime() [1/2]
double MHA_TCP::dtime ( )
Time access function for system's high resolution time, retrieve current time as double.
4.17.3.7 dtime() [2/2]
double MHA_TCP::dtime (
const struct timeval & tv )
Time access function for unix' high resolution time, converts struct timeval to double.
4.17.3.8 stime()
struct timeval MHA_TCP::stime (
double d)
Time access function for unix' high resolution time, converts time from double to struct timeval.
4.18 mhachain Namespace Reference
Classes
• class chain_base_t
• class mhachain_t
• class plugs_t
© 2005-2018 HörTech gGmbH, Oldenburg
102 CONTENTS
4.19 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.
4.19.1 Detailed Description
Collection of event handling classes.
4.20 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.
© 2005-2018 HörTech gGmbH, Oldenburg
4.20 MHAFilter Namespace Reference 103
• 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.
• 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.
© 2005-2018 HörTech gGmbH, Oldenburg
104 CONTENTS
4.20.1 Detailed Description
Namespace for IIR and FIR filter classes.
4.20.2 Function Documentation
4.20.2.1 make_friendly_number() [1/3]
void MHAFilter::make_friendly_number (
mha_real_t &x) [inline]
4.20.2.2 make_friendly_number() [2/3]
void MHAFilter::make_friendly_number (
mha_complex_t &x) [inline]
4.20.2.3 make_friendly_number() [3/3]
void MHAFilter::make_friendly_number (
double & x) [inline]
4.20.2.4 o1_lp_coeffs()
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
© 2005-2018 HörTech gGmbH, Oldenburg
4.20 MHAFilter Namespace Reference 105
Return values
c1 Recursive filter coefficient
c2 Non-recursive filter coefficient
4.20.2.5 butter_stop_ord1()
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
Parameters
f1 lower frequency
f2 upper frequency
fs sample frequency
4.20.2.6 spec2fir()
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
© 2005-2018 HörTech gGmbH, Oldenburg
106 CONTENTS
Parameters
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.20.2.7 gcd()
unsigned MHAFilter::gcd (
unsigned a,
unsigned b) [inline]
greatest common divisor
4.20.2.8 sinc()
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.20.2.9 resampling_factors()
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
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
© 2005-2018 HörTech gGmbH, Oldenburg
4.21 MHAIOJack Namespace Reference 107
Returns
a pair that contains first the upsampling factor and second the downsampling factor re-
quired for the specified resampling.
Exceptions
MHA_Error (p. 522)if no rational resampling factor can be found.
4.21 MHAIOJack Namespace Reference
JACK IO.
Classes
• class io_jack_t
Main class for JACK IO.
4.21.1 Detailed Description
JACK IO.
4.22 MHAIOPortAudio Namespace Reference
Classes
• class device_info_t
• class io_portaudio_t
Main class for Portaudio sound IO.
Functions
static std::string parserFriendlyName (const std::string &in)
4.22.1 Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
108 CONTENTS
4.22.1.1 parserFriendlyName()
static std::string MHAIOPortAudio::parserFriendlyName (
const std::string & in ) [static]
4.23 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)
4.23.1 Detailed Description
Classes and functions for openMHA and JACK interaction.
© 2005-2018 HörTech gGmbH, Oldenburg
4.23 MHAJack Namespace Reference 109
4.23.2 Function Documentation
4.23.2.1 io()
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.23.2.2 get_port_capture_latency()
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.23.2.3 get_port_capture_latency_int()
std::vector<int >MHAJack::get_port_capture_latency_int (
const std::vector<std::string >&ports )
Return the JACK port latency of ports.
© 2005-2018 HörTech gGmbH, Oldenburg
110 CONTENTS
Parameters
ports Ports to be tested
Returns
Latency vector (one entry for each port)
4.23.2.4 get_port_playback_latency()
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.23.2.5 get_port_playback_latency_int()
std::vector<int >MHAJack::get_port_playback_latency_int (
const std::vector<std::string >&ports )
4.24 MHAKernel Namespace Reference
Classes
• class algo_comm_class_t
• class comm_var_map_t
Functions
algo_comm_class_t algo_comm_safe_cast (void )
© 2005-2018 HörTech gGmbH, Oldenburg
4.25 MHAMultiSrc Namespace Reference 111
4.24.1 Function Documentation
4.24.1.1 algo_comm_safe_cast()
MHAKernel::algo_comm_class_t MHAKernel::algo_comm_safe_cast (
void h)
4.25 MHAMultiSrc Namespace Reference
Collection of classes for selecting audio chunks from multiple sources.
Classes
• class base_t
Base class for source selection.
• class channel_t
• class channels_t
• class spectrum_t
• class waveform_t
4.25.1 Detailed Description
Collection of classes for selecting audio chunks from multiple sources.
4.26 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.
© 2005-2018 HörTech gGmbH, Oldenburg
112 CONTENTS
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. 741).
• class scale_var_t
Typedefs
• typedef mha_real_t() scale_fun_t(mha_real_t)
4.26.1 Detailed Description
Namespace for overlapping FFT based filter bank classes and functions.
4.26.2 Typedef Documentation
4.26.2.1 scale_fun_t
typedef mha_real_t() MHAOvlFilter::scale_fun_t( mha_real_t)
4.27 MHAOvlFilter::barkscale Namespace Reference
Classes
• class bark2hz_t
• class hz2bark_t
© 2005-2018 HörTech gGmbH, Oldenburg
4.28 MHAOvlFilter::FreqScaleFun Namespace Reference 113
Variables
mha_real_t vfreq [BARKSCALE_ENTRIES]
mha_real_t vbark [BARKSCALE_ENTRIES]
4.27.1 Variable Documentation
4.27.1.1 vfreq
mha_real_t MHAOvlFilter::barkscale::vfreq
4.27.1.2 vbark
mha_real_t MHAOvlFilter::barkscale::vbark
4.28 MHAOvlFilter::FreqScaleFun Namespace Reference
Transform functions from linear scale in Hz to new frequency scales.
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.28.1 Detailed Description
Transform functions from linear scale in Hz to new frequency scales.
© 2005-2018 HörTech gGmbH, Oldenburg
114 CONTENTS
4.28.2 Function Documentation
4.28.2.1 hz2hz()
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.28.2.2 hz2khz()
mha_real_t MHAOvlFilter::FreqScaleFun::hz2khz (
mha_real_t x)
4.28.2.3 hz2octave()
mha_real_t MHAOvlFilter::FreqScaleFun::hz2octave (
mha_real_t x)
4.28.2.4 hz2third_octave()
mha_real_t MHAOvlFilter::FreqScaleFun::hz2third_octave (
mha_real_t x)
4.28.2.5 hz2bark()
mha_real_t MHAOvlFilter::FreqScaleFun::hz2bark (
mha_real_t x)
Transformation to bark scale.
This function implements a critical band rate (bark) scale.
© 2005-2018 HörTech gGmbH, Oldenburg
4.28 MHAOvlFilter::FreqScaleFun Namespace Reference 115
Parameters
xInput frequency in Hz
Returns
Critical band rate in Bark
4.28.2.6 hz2bark_analytic()
mha_real_t MHAOvlFilter::FreqScaleFun::hz2bark_analytic (
mha_real_t x)
4.28.2.7 hz2erb()
mha_real_t MHAOvlFilter::FreqScaleFun::hz2erb (
mha_real_t x)
4.28.2.8 hz2erb_glasberg1990()
mha_real_t MHAOvlFilter::FreqScaleFun::hz2erb_glasberg1990 (
mha_real_t x)
4.28.2.9 hz2log()
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
© 2005-2018 HörTech gGmbH, Oldenburg
116 CONTENTS
Returns
Third octaves relative to 1000 Hz
4.28.2.10 inv_scale()
mha_real_t MHAOvlFilter::FreqScaleFun::inv_scale (
mha_real_t y,
mha_real_t()( mha_real_t)fun )
4.29 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.29.1 Detailed Description
Shape functions for overlapping filters.
4.29.2 Function Documentation
4.29.2.1 rect()
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).
© 2005-2018 HörTech gGmbH, Oldenburg
4.29 MHAOvlFilter::ShapeFun Namespace Reference 117
Parameters
xInput value in the range [-1,1].
Returns
Weigth function in the range [0,1]
4.29.2.2 linear()
mha_real_t MHAOvlFilter::ShapeFun::linear (
mha_real_t x)
Filter shape function for sawtooth filters.
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.29.2.3 hann()
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].
© 2005-2018 HörTech gGmbH, Oldenburg
118 CONTENTS
Returns
Weigth function in the range [0,1]
4.29.2.4 expflt()
mha_real_t MHAOvlFilter::ShapeFun::expflt (
mha_real_t x)
4.29.2.5 gauss()
mha_real_t MHAOvlFilter::ShapeFun::gauss (
mha_real_t x)
4.30 MHAParser Namespace Reference
Name space for the openMHA-Parser configuration language.
Namespaces
StrCnv
String converter namespace.
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
© 2005-2018 HörTech gGmbH, Oldenburg
4.30 MHAParser Namespace Reference 119
• 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 monitor_t
Base class for monitors and variable nodes.
• class parser_t
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.
© 2005-2018 HörTech gGmbH, Oldenburg
120 CONTENTS
• 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)
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.30.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. 35).
© 2005-2018 HörTech gGmbH, Oldenburg
4.30 MHAParser Namespace Reference 121
4.30.2 List of valid MHAParser items
Sub-parser:parser_t (p. 833)
Variables:
Numeric variables: int_t (p. 803), vint_t (p. 864), float_t (p. 797), vfloat_t (p. 859),
mfloat_t (p. 820)
Other variables: string_t (p. 847), vstring_t (p. 869), kw_t (p. 810), bool_t (p. 780)
Monitors:
Numeric monitors: int_mon_t (p. 800), vint_mon_t (p. 862), float_mon_t (p. 795),
vfloat_mon_t (p. 857)
mfloat_mon_t (p. 818)
mcomplex_mon_t (p. 814)
Other monitors: bool_mon_t (p. 778), string_mon_t (p. 845), vstring_mon_t (p. 867)
Members can be inserted into the configuration namespace by using MHAParser::insert_item()
or the insert_member() (p. 1258) macro.
4.30.3 Typedef Documentation
4.30.3.1 opact_t
typedef std::string(base_t::MHAParser::opact_t) ( expression_t &)
4.30.3.2 query_t
typedef std::string(base_t::MHAParser::query_t) (const std::string &)
4.30.3.3 opact_map_t
typedef std::map<std::string, opact_t>MHAParser::opact_map_t
4.30.3.4 query_map_t
typedef std::map<std::string, query_t>MHAParser::query_map_t
© 2005-2018 HörTech gGmbH, Oldenburg
122 CONTENTS
4.30.3.5 entry_map_t
typedef std::list<entry_t>MHAParser::entry_map_t
4.30.3.6 c_parse_cmd_t
typedef int(MHAParser::c_parse_cmd_t) (void , const char , char , unsigned int)
4.30.3.7 c_parse_err_t
typedef const char(MHAParser::c_parse_err_t) (void , int)
4.30.4 Function Documentation
4.30.4.1 get_precision()
int MHAParser::get_precision ( )
4.30.4.2 commentate()
std::string MHAParser::commentate (
const std::string & s)
4.30.4.3 trim()
void MHAParser::trim (
std::string & s)
4.30.4.4 cfg_dump()
std::string MHAParser::cfg_dump (
base_t p,
const std::string & pref )
© 2005-2018 HörTech gGmbH, Oldenburg
4.30 MHAParser Namespace Reference 123
4.30.4.5 cfg_dump_short()
std::string MHAParser::cfg_dump_short (
base_t p,
const std::string & pref )
4.30.4.6 all_dump()
std::string MHAParser::all_dump (
base_t p,
const std::string & pref )
4.30.4.7 mon_dump()
std::string MHAParser::mon_dump (
base_t p,
const std::string & pref )
4.30.4.8 all_ids()
std::string MHAParser::all_ids (
base_t p,
const std::string & pref,
const std::string & id = "" )
4.30.4.9 strreplace()
void MHAParser::strreplace (
std::string & s,
const std::string & arg,
const std::string & rep )
string replace function
Parameters
starget string
arg search pattern
rep replace pattern
© 2005-2018 HörTech gGmbH, Oldenburg
124 CONTENTS
4.30.4.10 envreplace()
void MHAParser::envreplace (
std::string & s)
4.31 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 &)
Convert to string.
• std::string val2str (const int &)
© 2005-2018 HörTech gGmbH, Oldenburg
4.31 MHAParser::StrCnv Namespace Reference 125
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::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.31.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.31.2 Function Documentation
4.31.2.1 num_brackets()
int MHAParser::StrCnv::num_brackets (
const std::string & s)
Return number of brackets at beginning and end of string.
Parameters
sString
© 2005-2018 HörTech gGmbH, Oldenburg
126 CONTENTS
Returns
Number of brackets, or -1 for empty string
4.31.2.2 bracket_balance()
int MHAParser::StrCnv::bracket_balance (
const std::string & s)
4.31.2.3 str2val() [1/8]
void MHAParser::StrCnv::str2val (
const std::string & s,
bool & v)
Convert from string.
4.31.2.4 str2val() [2/8]
void MHAParser::StrCnv::str2val (
const std::string & s,
float & v)
Convert from string.
4.31.2.5 str2val() [3/8]
void MHAParser::StrCnv::str2val (
const std::string & s,
mha_complex_t &v)
Convert from string.
4.31.2.6 str2val() [4/8]
void MHAParser::StrCnv::str2val (
const std::string & s,
int & v)
Convert from string.
© 2005-2018 HörTech gGmbH, Oldenburg
4.31 MHAParser::StrCnv Namespace Reference 127
4.31.2.7 str2val() [5/8]
void MHAParser::StrCnv::str2val (
const std::string & s,
MHAParser::keyword_list_t &v)
Convert from string.
4.31.2.8 str2val() [6/8]
void MHAParser::StrCnv::str2val (
const std::string & s,
std::string & v)
Convert from string.
4.31.2.9 str2val() [7/8]
template<class arg_t >
void MHAParser::StrCnv::str2val (
const std::string & s,
std::vector<arg_t >&val )
Converter for vector types.
4.31.2.10 str2val<mha_real_t >()
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.31.2.11 str2val() [8/8]
template<class arg_t >
void MHAParser::StrCnv::str2val (
const std::string & s,
std::vector<std::vector<arg_t > > &val )
Converter for matrix types.
© 2005-2018 HörTech gGmbH, Oldenburg
128 CONTENTS
4.31.2.12 val2str() [1/12]
std::string MHAParser::StrCnv::val2str (
const bool & v)
Convert to string.
4.31.2.13 val2str() [2/12]
std::string MHAParser::StrCnv::val2str (
const float & v)
Convert to string.
4.31.2.14 val2str() [3/12]
std::string MHAParser::StrCnv::val2str (
const mha_complex_t &v)
Convert to string.
4.31.2.15 val2str() [4/12]
std::string MHAParser::StrCnv::val2str (
const int & v)
Convert to string.
4.31.2.16 val2str() [5/12]
std::string MHAParser::StrCnv::val2str (
const keyword_list_t &v)
Convert to string.
© 2005-2018 HörTech gGmbH, Oldenburg
4.31 MHAParser::StrCnv Namespace Reference 129
4.31.2.17 val2str() [6/12]
std::string MHAParser::StrCnv::val2str (
const std::string & v)
Convert to string.
4.31.2.18 val2str() [7/12]
std::string MHAParser::StrCnv::val2str (
const std::vector<float >&v)
Convert to string.
4.31.2.19 val2str() [8/12]
std::string MHAParser::StrCnv::val2str (
const std::vector<mha_complex_t >&v)
Convert to string.
4.31.2.20 val2str() [9/12]
std::string MHAParser::StrCnv::val2str (
const std::vector<int >&v)
Convert to string.
4.31.2.21 val2str() [10/12]
std::string MHAParser::StrCnv::val2str (
const std::vector<std::string >&v)
Convert to string.
© 2005-2018 HörTech gGmbH, Oldenburg
130 CONTENTS
4.31.2.22 val2str() [11/12]
std::string MHAParser::StrCnv::val2str (
const std::vector<std::vector<float > > &v)
Convert to string.
4.31.2.23 val2str() [12/12]
std::string MHAParser::StrCnv::val2str (
const std::vector<std::vector<mha_complex_t > > &v)
Convert to string.
4.32 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.
4.32.1 Detailed Description
Namespace for openMHA plugin class templates and thread-safe runtime configurations.
4.33 MHAPlugin_Resampling Namespace Reference
Classes
• class resampling_if_t
• class resampling_t
© 2005-2018 HörTech gGmbH, Oldenburg
4.34 MHAPlugin_Split Namespace Reference 131
4.34 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. 914) 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
enum { INVALID_THREAD_PRIORITY = 999999999 }
Invalid thread priority.
4.34.1 Detailed Description
A namespace for the split plugin. Helps testability and documentation.
4.34.2 Enumeration Type Documentation
4.34.2.1 anonymous enum
anonymous enum
Invalid thread priority.
Enumerator
INVALID_THREAD_PRIORITY
© 2005-2018 HörTech gGmbH, Oldenburg
132 CONTENTS
4.35 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. 547))
• 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. 583))
© 2005-2018 HörTech gGmbH, Oldenburg
4.35 MHASignal Namespace Reference 133
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. 583).
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)
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)
© 2005-2018 HörTech gGmbH, Oldenburg
134 CONTENTS
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.
Variables
unsigned long int signal_counter = 0
Signal counter to produce signal ID strings.
© 2005-2018 HörTech gGmbH, Oldenburg
4.35 MHASignal Namespace Reference 135
4.35.1 Detailed Description
Namespace for audio signal handling and processing classes.
4.35.2 Function Documentation
4.35.2.1 scale()
void MHASignal::scale (
mha_spec_t dest,
const mha_wave_t src )
4.35.2.2 limit()
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.35.2.3 kth_smallest()
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
© 2005-2018 HörTech gGmbH, Oldenburg
136 CONTENTS
Parameters
array Element array
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.35.2.4 median()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
4.35 MHASignal Namespace Reference 137
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
Precondition
n>= 1
Returns
The median of the array elements
4.35.2.5 mean()
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
© 2005-2018 HörTech gGmbH, Oldenburg
138 CONTENTS
4.35.2.6 quantile()
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.35.2.7 saveas_mat4() [1/3]
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.
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.35.2.8 saveas_mat4() [2/3]
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-2018 HörTech gGmbH, Oldenburg
4.35 MHASignal Namespace Reference 139
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.35.2.9 saveas_mat4() [3/3]
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.35.2.10 copy_permuted()
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
exchanged in dest.
4.35.3 Variable Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
140 CONTENTS
4.35.3.1 signal_counter
unsigned long int MHASignal::signal_counter = 0
Signal counter to produce signal ID strings.
4.36 MHASndFile Namespace Reference
Classes
• class sf_t
• class sf_wave_t
4.37 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.37.1 Detailed Description
Namespace for table lookup classes.
4.38 MHAWindow Namespace Reference
Collection of Window types.
© 2005-2018 HörTech gGmbH, Oldenburg
4.38 MHAWindow Namespace Reference 141
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.38.1 Detailed Description
Collection of Window types.
4.38.2 Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
142 CONTENTS
4.38.2.1 rect()
float MHAWindow::rect (
float x)
Rectangular window function.
4.38.2.2 bartlett()
float MHAWindow::bartlett (
float x)
Bartlett window function.
4.38.2.3 hanning()
float MHAWindow::hanning (
float x)
Hanning window function.
4.38.2.4 hamming()
float MHAWindow::hamming (
float x)
Hamming window function.
4.38.2.5 blackman()
float MHAWindow::blackman (
float x)
Blackman window function.
4.39 multibandcompressor Namespace Reference
Classes
• class fftfb_plug_t
• class interface_t
• class plugin_signals_t
© 2005-2018 HörTech gGmbH, Oldenburg
4.40 noisePowProposedScale Namespace Reference 143
4.40 noisePowProposedScale Namespace Reference
Classes
• class interface_t
• class noisePowProposed
4.41 overlapadd Namespace Reference
Classes
• class overlapadd_if_t
• class overlapadd_t
4.42 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. 595) structures, and report differences as an error.
4.42.1 Function Documentation
4.42.1.1 mhastrdomain()
const char PluginLoader::mhastrdomain (
mha_domain_t d)
4.42.1.2 mhaconfig_compare()
void PluginLoader::mhaconfig_compare (
const mhaconfig_t &req,
const mhaconfig_t &avail,
const std::string & pref = "" )
Compare two mhaconfig_t (p. 595) structures, and report differences as an error.
© 2005-2018 HörTech gGmbH, Oldenburg
144 CONTENTS
Parameters
req Expected mhaconfig_t (p. 595) structure
avail Available mhaconfig_t (p. 595) structure
pref Prefix for error messages
4.43 route Namespace Reference
Classes
• class interface_t
• class process_t
4.44 shadowfilter_begin Namespace Reference
Classes
• class cfg_t
• class shadowfilter_begin_t
4.45 shadowfilter_end Namespace Reference
Classes
• class cfg_t
• class shadowfilter_end_t
4.46 smoothgains_bridge Namespace Reference
Classes
• class overlapadd_if_t
• class smoothspec_wrap_t
© 2005-2018 HörTech gGmbH, Oldenburg
5 Class Documentation 145
5 Class Documentation
5.1 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-2018 HörTech gGmbH, Oldenburg
146 CONTENTS
Additional Inherited Members
5.1.1 Constructor & Destructor Documentation
5.1.1.1 ac2wave_if_t()
ac2wave_if_t::ac2wave_if_t (
const algo_comm_t &iac,
const std::string & ith,
const std::string & ial )
5.1.2 Member Function Documentation
5.1.2.1 process() [1/2]
mha_wave_t ac2wave_if_t::process (
mha_spec_t )
5.1.2.2 process() [2/2]
mha_wave_t ac2wave_if_t::process (
mha_wave_t s)
5.1.2.3 prepare()
void ac2wave_if_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<ac2wave_t >(p. 884).
5.1.2.4 release()
void ac2wave_if_t::release ( ) [virtual]
Reimplemented from MHAPlugin::plugin_t<ac2wave_t >(p. 885).
© 2005-2018 HörTech gGmbH, Oldenburg
5.1 ac2wave_if_t Class Reference 147
5.1.2.5 update()
void ac2wave_if_t::update ( ) [private]
5.1.3 Member Data Documentation
5.1.3.1 name
MHAParser::string_t ac2wave_if_t::name [private]
5.1.3.2 gain_in
MHAParser::float_t ac2wave_if_t::gain_in [private]
5.1.3.3 gain_ac
MHAParser::float_t ac2wave_if_t::gain_ac [private]
5.1.3.4 delay_in
MHAParser::int_t ac2wave_if_t::delay_in [private]
5.1.3.5 delay_ac
MHAParser::int_t ac2wave_if_t::delay_ac [private]
5.1.3.6 zeros
MHASignal::waveform_tac2wave_if_t::zeros [private]
© 2005-2018 HörTech gGmbH, Oldenburg
148 CONTENTS
5.1.3.7 prepared
bool ac2wave_if_t::prepared [private]
5.1.3.8 patchbay
MHAEvents::patchbay_t<ac2wave_if_t>ac2wave_if_t::patchbay [private]
The documentation for this class was generated from the following file:
ac2wave.cpp
5.2 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.2.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.2 ac2wave_t Class Reference 149
5.2.1.1 ac2wave_t()
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.2.2 Member Function Documentation
5.2.2.1 process()
mha_wave_t ac2wave_t::process (
mha_wave_t s)
5.2.3 Member Data Documentation
5.2.3.1 frames
unsigned int ac2wave_t::frames [private]
5.2.3.2 channels
unsigned int ac2wave_t::channels [private]
5.2.3.3 w
mha_wave_t ac2wave_t::w [private]
© 2005-2018 HörTech gGmbH, Oldenburg
150 CONTENTS
5.2.3.4 ac
algo_comm_t ac2wave_t::ac [private]
5.2.3.5 name
std::string ac2wave_t::name [private]
5.2.3.6 delay_in
MHASignal::delay_wave_t ac2wave_t::delay_in [private]
5.2.3.7 delay_ac
MHASignal::delay_wave_t ac2wave_t::delay_ac [private]
5.2.3.8 gain_in
mha_real_t ac2wave_t::gain_in [private]
5.2.3.9 gain_ac
mha_real_t ac2wave_t::gain_ac [private]
The documentation for this class was generated from the following file:
ac2wave.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
5.3 acConcat_wave Class Reference 151
5.3 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 >
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_conAC
© 2005-2018 HörTech gGmbH, Oldenburg
152 CONTENTS
Private Member Functions
• void update_cfg ()
Private Attributes
MHAEvents::patchbay_t<acConcat_wave >patchbay
Additional Inherited Members
5.3.1 Constructor & Destructor Documentation
5.3.1.1 acConcat_wave()
acConcat_wave::acConcat_wave (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
5.3.1.2 acConcat_wave()
acConcat_wave::acConcat_wave ( )
5.3.2 Member Function Documentation
5.3.2.1 process()
mha_wave_t acConcat_wave::process (
mha_wave_t signal )
Checks for the most recent configuration and defers processing to it.
5.3.2.2 prepare()
void acConcat_wave::prepare (
mhaconfig_t &signal_info ) [virtual]
Plugin preparation.
An opportunity to validate configuration parameters before instantiating a configuration.
© 2005-2018 HörTech gGmbH, Oldenburg
5.3 acConcat_wave Class Reference 153
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. 884).
5.3.2.3 release()
void acConcat_wave::release (
void ) [inline], [virtual]
Reimplemented from MHAPlugin::plugin_t<acConcat_wave_config >(p. 885).
5.3.2.4 update_cfg()
void acConcat_wave::update_cfg ( ) [private]
5.3.3 Member Data Documentation
5.3.3.1 num_AC
MHAParser::int_t acConcat_wave::num_AC
5.3.3.2 prefix_names_AC
MHAParser::string_t acConcat_wave::prefix_names_AC
5.3.3.3 samples_AC
MHAParser::vint_t acConcat_wave::samples_AC
© 2005-2018 HörTech gGmbH, Oldenburg
154 CONTENTS
5.3.3.4 name_conAC
MHAParser::string_t acConcat_wave::name_conAC
5.3.3.5 patchbay
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
5.4 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.4.1 Constructor & Destructor Documentation
5.4.1.1 acConcat_wave_config()
acConcat_wave_config::acConcat_wave_config (
algo_comm_t &ac,
const mhaconfig_t in_cfg,
acConcat_wave _concat )
© 2005-2018 HörTech gGmbH, Oldenburg
5.4 acConcat_wave_config Class Reference 155
5.4.1.2 acConcat_wave_config()
acConcat_wave_config::acConcat_wave_config ( )
5.4.2 Member Function Documentation
5.4.2.1 process()
mha_wave_t acConcat_wave_config::process (
mha_wave_t wave )
5.4.3 Member Data Documentation
5.4.3.1 ac
algo_comm_t& acConcat_wave_config::ac
5.4.3.2 strNames_AC
std::vector<std::string>acConcat_wave_config::strNames_AC
5.4.3.3 numSamples_AC
std::vector<int>acConcat_wave_config::numSamples_AC
5.4.3.4 vGCC
mha_wave_t acConcat_wave_config::vGCC
© 2005-2018 HörTech gGmbH, Oldenburg
156 CONTENTS
5.4.3.5 vGCC_con
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
5.5 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
© 2005-2018 HörTech gGmbH, Oldenburg
5.5 acmon::ac_monitor_t Class Reference 157
5.5.1 Detailed Description
A class for converting AC variables to Parser monitors of correct type.
5.5.2 Constructor & Destructor Documentation
5.5.2.1 ac_monitor_t()
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.
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.5.3 Member Function Documentation
5.5.3.1 getvar()
void acmon::ac_monitor_t::getvar (
algo_comm_t ac )
Update values of monitor.
Parameters
ac Handle to algorithm communication space
© 2005-2018 HörTech gGmbH, Oldenburg
158 CONTENTS
5.5.4 Member Data Documentation
5.5.4.1 name
std::string acmon::ac_monitor_t::name
name of AC variable and parser monitor
5.5.4.2 dimstr
std::string acmon::ac_monitor_t::dimstr
columns x rows
5.5.4.3 mon
MHAParser::vfloat_mon_t acmon::ac_monitor_t::mon
Monitor used for real vectors.
5.5.4.4 mon_mat
MHAParser::mfloat_mon_t acmon::ac_monitor_t::mon_mat
Monitor used for real matrices.
5.5.4.5 mon_complex
MHAParser::vcomplex_mon_t acmon::ac_monitor_t::mon_complex
monitor used for complex vectors
© 2005-2018 HörTech gGmbH, Oldenburg
5.6 acmon::acmon_t Class Reference 159
5.5.4.6 mon_mat_complex
MHAParser::mcomplex_mon_t acmon::ac_monitor_t::mon_mat_complex
monitor used for complex matrices
5.5.4.7 p_parser
MHAParser::parser_t& acmon::ac_monitor_t::p_parser
parent parser to insert monitor into
5.5.4.8 use_mat
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.6 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-2018 HörTech gGmbH, Oldenburg
160 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.6.1 Constructor & Destructor Documentation
5.6.1.1 acmon_t()
acmon::acmon_t::acmon_t (
const algo_comm_t &iac,
const std::string & ith,
const std::string & ial )
© 2005-2018 HörTech gGmbH, Oldenburg
5.6 acmon::acmon_t Class Reference 161
5.6.1.2 acmon_t()
acmon::acmon_t::acmon_t (
void )
5.6.2 Member Function Documentation
5.6.2.1 prepare()
void acmon::acmon_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<int >(p. 884).
5.6.2.2 release()
void acmon::acmon_t::release (
void ) [inline], [virtual]
Reimplemented from MHAPlugin::plugin_t<int >(p. 885).
5.6.2.3 process() [1/2]
mha_spec_t acmon::acmon_t::process (
mha_spec_t s)
5.6.2.4 process() [2/2]
mha_wave_t acmon::acmon_t::process (
mha_wave_t s)
5.6.2.5 save_vars()
void acmon::acmon_t::save_vars ( ) [private]
© 2005-2018 HörTech gGmbH, Oldenburg
162 CONTENTS
5.6.2.6 update_recmode()
void acmon::acmon_t::update_recmode ( ) [private]
5.6.3 Member Data Documentation
5.6.3.1 ac
algo_comm_t acmon::acmon_t::ac [private]
5.6.3.2 varlist
MHAParser::vstring_mon_t acmon::acmon_t::varlist [private]
5.6.3.3 dimensions
MHAParser::vstring_mon_t acmon::acmon_t::dimensions [private]
5.6.3.4 dispmode
MHAParser::kw_t acmon::acmon_t::dispmode [private]
5.6.3.5 recmode
MHAParser::kw_t acmon::acmon_t::recmode [private]
5.6.3.6 vars
std::vector<ac_monitor_t>acmon::acmon_t::vars [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.6 acmon::acmon_t Class Reference 163
5.6.3.7 patchbay
MHAEvents::patchbay_t<acmon_t>acmon::acmon_t::patchbay [private]
5.6.3.8 chain
std::string acmon::acmon_t::chain [private]
5.6.3.9 algo
std::string acmon::acmon_t::algo [private]
5.6.3.10 b_cont
bool acmon::acmon_t::b_cont [private]
5.6.3.11 b_snapshot
bool acmon::acmon_t::b_snapshot [private]
The documentation for this class was generated from the following file:
acmon.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
164 CONTENTS
5.7 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-2018 HörTech gGmbH, Oldenburg
5.7 acPooling_wave Class Reference 165
MHAParser::float_t alpha
MHAParser::string_t p_name
MHAParser::string_t pool_name
MHAParser::string_t max_pool_ind_name
MHAParser::string_t like_ratio_name
Private Member Functions
• void update_cfg ()
Private Attributes
MHAEvents::patchbay_t<acPooling_wave >patchbay
Additional Inherited Members
5.7.1 Constructor & Destructor Documentation
5.7.1.1 acPooling_wave()
acPooling_wave::acPooling_wave (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
5.7.1.2 acPooling_wave()
acPooling_wave::acPooling_wave ( )
5.7.2 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
166 CONTENTS
5.7.2.1 process()
mha_wave_t acPooling_wave::process (
mha_wave_t signal )
Checks for the most recent configuration and defers processing to it.
5.7.2.2 prepare()
void acPooling_wave::prepare (
mhaconfig_t &signal_info ) [virtual]
Plugin preparation.
An opportunity to validate configuration parameters before instantiating a configuration.
© 2005-2018 HörTech gGmbH, Oldenburg
5.7 acPooling_wave Class Reference 167
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. 884).
5.7.2.3 release()
void acPooling_wave::release (
void ) [inline], [virtual]
Reimplemented from MHAPlugin::plugin_t<acPooling_wave_config >(p. 885).
5.7.2.4 update_cfg()
void acPooling_wave::update_cfg ( ) [private]
5.7.3 Member Data Documentation
5.7.3.1 numsamples
MHAParser::int_t acPooling_wave::numsamples
5.7.3.2 pooling_wndlen
MHAParser::int_t acPooling_wave::pooling_wndlen
5.7.3.3 pooling_type
MHAParser::kw_t acPooling_wave::pooling_type
© 2005-2018 HörTech gGmbH, Oldenburg
168 CONTENTS
5.7.3.4 upper_threshold
MHAParser::float_t acPooling_wave::upper_threshold
5.7.3.5 lower_threshold
MHAParser::float_t acPooling_wave::lower_threshold
5.7.3.6 neighbourhood
MHAParser::int_t acPooling_wave::neighbourhood
5.7.3.7 alpha
MHAParser::float_t acPooling_wave::alpha
5.7.3.8 p_name
MHAParser::string_t acPooling_wave::p_name
5.7.3.9 pool_name
MHAParser::string_t acPooling_wave::pool_name
5.7.3.10 max_pool_ind_name
MHAParser::string_t acPooling_wave::max_pool_ind_name
5.7.3.11 like_ratio_name
MHAParser::string_t acPooling_wave::like_ratio_name
© 2005-2018 HörTech gGmbH, Oldenburg
5.8 acPooling_wave_config Class Reference 169
5.7.3.12 patchbay
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
5.8 acPooling_wave_config Class Reference
Public Member Functions
acPooling_wave_config (algo_comm_t &ac, const mhaconfig_t in_cfg, ac-
Pooling_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_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
5.8.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
170 CONTENTS
5.8.1.1 acPooling_wave_config()
acPooling_wave_config::acPooling_wave_config (
algo_comm_t &ac,
const mhaconfig_t in_cfg,
acPooling_wave _pooling )
5.8.1.2 acPooling_wave_config()
acPooling_wave_config::acPooling_wave_config ( )
5.8.2 Member Function Documentation
5.8.2.1 process()
mha_wave_t acPooling_wave_config::process (
mha_wave_t wave )
5.8.2.2 insert()
void acPooling_wave_config::insert ( )
5.8.3 Member Data Documentation
5.8.3.1 ac
algo_comm_t& acPooling_wave_config::ac
5.8.3.2 raw_p_name
std::string acPooling_wave_config::raw_p_name
© 2005-2018 HörTech gGmbH, Oldenburg
5.8 acPooling_wave_config Class Reference 171
5.8.3.3 p
MHA_AC::waveform_t acPooling_wave_config::p
5.8.3.4 p_max
MHA_AC::waveform_t acPooling_wave_config::p_max
5.8.3.5 like_ratio
MHA_AC::waveform_t acPooling_wave_config::like_ratio
5.8.3.6 c
mha_wave_t acPooling_wave_config::c
5.8.3.7 pooling_ind
unsigned int acPooling_wave_config::pooling_ind
5.8.3.8 pooling_option
unsigned int acPooling_wave_config::pooling_option
5.8.3.9 pooling_size
unsigned int acPooling_wave_config::pooling_size
5.8.3.10 up_thresh
float acPooling_wave_config::up_thresh
© 2005-2018 HörTech gGmbH, Oldenburg
172 CONTENTS
5.8.3.11 low_thresh
float acPooling_wave_config::low_thresh
5.8.3.12 neigh
int acPooling_wave_config::neigh
5.8.3.13 alpha
float acPooling_wave_config::alpha
5.8.3.14 pool
MHASignal::waveform_t acPooling_wave_config::pool
The documentation for this class was generated from the following files:
acPooling_wave.h
acPooling_wave.cpp
5.9 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 >
© 2005-2018 HörTech gGmbH, Oldenburg
5.9 acsave::acsave_t Class Reference 173
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 ()
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.9.1 Member Typedef Documentation
5.9.1.1 varlist_t
typedef std::vector<save_var_t>acsave::acsave_t::varlist_t [private]
© 2005-2018 HörTech gGmbH, Oldenburg
174 CONTENTS
5.9.2 Constructor & Destructor Documentation
5.9.2.1 acsave_t()
acsave::acsave_t::acsave_t (
const algo_comm_t &iac,
const std::string & ith,
const std::string & ial )
5.9.3 Member Function Documentation
5.9.3.1 prepare()
void acsave::acsave_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<cfg_t >(p. 884).
5.9.3.2 release()
void acsave::acsave_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<cfg_t >(p. 885).
5.9.3.3 process() [1/3]
mha_spec_t acsave::acsave_t::process (
mha_spec_t s)
5.9.3.4 process() [2/3]
mha_wave_t acsave::acsave_t::process (
mha_wave_t s)
© 2005-2018 HörTech gGmbH, Oldenburg
5.9 acsave::acsave_t Class Reference 175
5.9.3.5 event_start_recording()
void acsave::acsave_t::event_start_recording ( )
5.9.3.6 event_stop_and_flush()
void acsave::acsave_t::event_stop_and_flush ( )
5.9.3.7 process() [3/3]
void acsave::acsave_t::process ( ) [private]
5.9.4 Member Data Documentation
5.9.4.1 bflush
MHAParser::bool_t acsave::acsave_t::bflush [private]
5.9.4.2 fileformat
MHAParser::kw_t acsave::acsave_t::fileformat [private]
5.9.4.3 fname
MHAParser::string_t acsave::acsave_t::fname [private]
5.9.4.4 reclen
MHAParser::float_t acsave::acsave_t::reclen [private]
© 2005-2018 HörTech gGmbH, Oldenburg
176 CONTENTS
5.9.4.5 variables
MHAParser::vstring_t acsave::acsave_t::variables [private]
5.9.4.6 varlist
varlist_t acsave::acsave_t::varlist [private]
5.9.4.7 chain
std::string acsave::acsave_t::chain [private]
5.9.4.8 algo
std::string acsave::acsave_t::algo [private]
5.9.4.9 b_prepared
bool acsave::acsave_t::b_prepared [private]
5.9.4.10 b_flushed
bool acsave::acsave_t::b_flushed [private]
5.9.4.11 patchbay
MHAEvents::patchbay_t<acsave_t>acsave::acsave_t::patchbay [private]
The documentation for this class was generated from the following file:
acsave.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
5.10 acsave::cfg_t Class Reference 177
5.10 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.10.1 Constructor & Destructor Documentation
5.10.1.1 cfg_t()
cfg_t::cfg_t (
const algo_comm_t &iac,
unsigned int imax_frames,
std::vector<std::string >&var_names )
5.10.1.2 cfg_t()
cfg_t::cfg_t ( )
5.10.2 Member Function Documentation
5.10.2.1 store_frame()
void cfg_t::store_frame ( )
This function is called in the processing thread.
5.10.2.2 flush_data()
void cfg_t::flush_data (
const std::string & filename,
unsigned int fmt )
This function is called in the configuration thread.
© 2005-2018 HörTech gGmbH, Oldenburg
178 CONTENTS
Parameters
filename Output file name
fmt Output file format
5.10.3 Member Data Documentation
5.10.3.1 ac
algo_comm_t acsave::cfg_t::ac [private]
5.10.3.2 nvars
unsigned int acsave::cfg_t::nvars [private]
5.10.3.3 varlist
save_var_t∗∗ acsave::cfg_t::varlist [private]
5.10.3.4 rec_frames
unsigned int acsave::cfg_t::rec_frames [private]
5.10.3.5 max_frames
unsigned int acsave::cfg_t::max_frames [private]
The documentation for this class was generated from the following file:
acsave.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
5.11 acsave::mat4head_t Struct Reference 179
5.11 acsave::mat4head_t Struct Reference
Public Attributes
• int32_t t
• int32_t rows
• int32_t cols
• int32_t imag
• int32_t namelen
5.11.1 Member Data Documentation
5.11.1.1 t
int32_t acsave::mat4head_t::t
5.11.1.2 rows
int32_t acsave::mat4head_t::rows
5.11.1.3 cols
int32_t acsave::mat4head_t::cols
5.11.1.4 imag
int32_t acsave::mat4head_t::imag
5.11.1.5 namelen
int32_t acsave::mat4head_t::namelen
The documentation for this struct was generated from the following file:
acsave.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
180 CONTENTS
5.12 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.12.1 Constructor & Destructor Documentation
5.12.1.1 save_var_t()
acsave::save_var_t::save_var_t (
const std::string & nm,
int n,
const algo_comm_t &iac )
5.12.1.2 save_var_t()
acsave::save_var_t::save_var_t ( )
© 2005-2018 HörTech gGmbH, Oldenburg
5.12 acsave::save_var_t Class Reference 181
5.12.2 Member Function Documentation
5.12.2.1 store_frame()
void acsave::save_var_t::store_frame ( )
5.12.2.2 save_txt()
void acsave::save_var_t::save_txt (
FILE fh,
unsigned int writeframes )
5.12.2.3 save_mat4()
void acsave::save_var_t::save_mat4 (
FILE fh,
unsigned int writeframes )
5.12.2.4 save_m()
void acsave::save_var_t::save_m (
FILE fh,
unsigned int writeframes )
5.12.3 Member Data Documentation
5.12.3.1 data
doubleacsave::save_var_t::data
5.12.3.2 name
std::string acsave::save_var_t::name [private]
© 2005-2018 HörTech gGmbH, Oldenburg
182 CONTENTS
5.12.3.3 nframes
unsigned int acsave::save_var_t::nframes [private]
5.12.3.4 ndim
unsigned int acsave::save_var_t::ndim [private]
5.12.3.5 maxframe
unsigned int acsave::save_var_t::maxframe [private]
5.12.3.6 ac
algo_comm_t acsave::save_var_t::ac [private]
5.12.3.7 framecnt
unsigned int acsave::save_var_t::framecnt [private]
5.12.3.8 b_complex
bool acsave::save_var_t::b_complex [private]
The documentation for this class was generated from the following file:
acsave.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
5.13 acSteer Class Reference 183
5.13 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-2018 HörTech gGmbH, Oldenburg
184 CONTENTS
Private Member Functions
• void update_cfg ()
Private Attributes
MHAEvents::patchbay_t<acSteer >patchbay
Additional Inherited Members
5.13.1 Constructor & Destructor Documentation
5.13.1.1 acSteer()
acSteer::acSteer (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
5.13.1.2 acSteer()
acSteer::acSteer ( )
5.13.2 Member Function Documentation
5.13.2.1 process()
mha_spec_t acSteer::process (
mha_spec_t signal )
Thos method is a NOOP.
5.13.2.2 prepare()
void acSteer::prepare (
mhaconfig_t &signal_info ) [virtual]
Plugin preparation.
An opportunity to validate configuration parameters before instantiating a configuration.
© 2005-2018 HörTech gGmbH, Oldenburg
5.13 acSteer Class Reference 185
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. 884).
5.13.2.3 release()
void acSteer::release (
void ) [inline], [virtual]
Reimplemented from MHAPlugin::plugin_t<acSteer_config >(p. 885).
5.13.2.4 update_cfg()
void acSteer::update_cfg ( ) [private]
5.13.3 Member Data Documentation
5.13.3.1 steerFile
MHAParser::string_t acSteer::steerFile
5.13.3.2 acSteerName1
MHAParser::string_t acSteer::acSteerName1
5.13.3.3 acSteerName2
MHAParser::string_t acSteer::acSteerName2
© 2005-2018 HörTech gGmbH, Oldenburg
186 CONTENTS
5.13.3.4 nsteerchan
MHAParser::int_t acSteer::nsteerchan
5.13.3.5 nrefmic
MHAParser::int_t acSteer::nrefmic
5.13.3.6 patchbay
MHAEvents::patchbay_t<acSteer>acSteer::patchbay [private]
The documentation for this class was generated from the following files:
acSteer.h
acSteer.cpp
5.14 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
5.14.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.14 acSteer_config Class Reference 187
5.14.1.1 acSteer_config()
acSteer_config::acSteer_config (
algo_comm_t &ac,
const mhaconfig_t in_cfg,
acSteer acSteer )
5.14.1.2 acSteer_config()
acSteer_config::acSteer_config ( )
5.14.2 Member Function Documentation
5.14.2.1 insert()
void acSteer_config::insert ( )
5.14.3 Member Data Documentation
5.14.3.1 nchan
unsigned int acSteer_config::nchan
5.14.3.2 nfreq
unsigned int acSteer_config::nfreq
5.14.3.3 nsteerchan
unsigned int acSteer_config::nsteerchan
© 2005-2018 HörTech gGmbH, Oldenburg
188 CONTENTS
5.14.3.4 nrefmic
unsigned int acSteer_config::nrefmic
5.14.3.5 nangle
unsigned int acSteer_config::nangle
5.14.3.6 specSteer1
MHA_AC::spectrum_t acSteer_config::specSteer1
5.14.3.7 specSteer2
MHA_AC::spectrum_t acSteer_config::specSteer2
The documentation for this class was generated from the following files:
acSteer.h
acSteer.cpp
5.15 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 >
© 2005-2018 HörTech gGmbH, Oldenburg
5.15 acTransform_wave Class Reference 189
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
Private Member Functions
• void update_cfg ()
Private Attributes
MHAEvents::patchbay_t<acTransform_wave >patchbay
Additional Inherited Members
5.15.1 Constructor & Destructor Documentation
5.15.1.1 acTransform_wave()
acTransform_wave::acTransform_wave (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
© 2005-2018 HörTech gGmbH, Oldenburg
190 CONTENTS
5.15.1.2 acTransform_wave()
acTransform_wave::acTransform_wave ( )
5.15.2 Member Function Documentation
5.15.2.1 process()
mha_wave_t acTransform_wave::process (
mha_wave_t signal )
Checks for the most recent configuration and defers processing to it.
5.15.2.2 prepare()
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. 884).
5.15.2.3 release()
void acTransform_wave::release (
void ) [inline], [virtual]
Reimplemented from MHAPlugin::plugin_t<acTransform_wave_config >(p. 885).
© 2005-2018 HörTech gGmbH, Oldenburg
5.15 acTransform_wave Class Reference 191
5.15.2.4 update_cfg()
void acTransform_wave::update_cfg ( ) [private]
5.15.3 Member Data Documentation
5.15.3.1 ang_name
MHAParser::string_t acTransform_wave::ang_name
5.15.3.2 raw_p_name
MHAParser::string_t acTransform_wave::raw_p_name
5.15.3.3 raw_p_max_name
MHAParser::string_t acTransform_wave::raw_p_max_name
5.15.3.4 rotated_p_name
MHAParser::string_t acTransform_wave::rotated_p_name
5.15.3.5 rotated_p_max_name
MHAParser::string_t acTransform_wave::rotated_p_max_name
5.15.3.6 numsamples
MHAParser::int_t acTransform_wave::numsamples
© 2005-2018 HörTech gGmbH, Oldenburg
192 CONTENTS
5.15.3.7 to_from
MHAParser::bool_t acTransform_wave::to_from
5.15.3.8 patchbay
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.16 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 )
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.16.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.16 acTransform_wave_config Class Reference 193
5.16.1.1 acTransform_wave_config()
acTransform_wave_config::acTransform_wave_config (
algo_comm_t &ac,
const mhaconfig_t in_cfg,
acTransform_wave _transform )
5.16.1.2 acTransform_wave_config()
acTransform_wave_config::acTransform_wave_config ( )
5.16.2 Member Function Documentation
5.16.2.1 process()
mha_wave_t acTransform_wave_config::process (
mha_wave_t wave )
5.16.3 Member Data Documentation
5.16.3.1 ac
algo_comm_t& acTransform_wave_config::ac
5.16.3.2 ang_name
std::string acTransform_wave_config::ang_name
5.16.3.3 raw_p_name
std::string acTransform_wave_config::raw_p_name
© 2005-2018 HörTech gGmbH, Oldenburg
194 CONTENTS
5.16.3.4 raw_p_max_name
std::string acTransform_wave_config::raw_p_max_name
5.16.3.5 rotated_p
MHA_AC::waveform_t acTransform_wave_config::rotated_p
5.16.3.6 rotated_i
MHA_AC::int_t acTransform_wave_config::rotated_i
5.16.3.7 offset
unsigned int acTransform_wave_config::offset
5.16.3.8 resolution
unsigned int acTransform_wave_config::resolution
5.16.3.9 to_from
unsigned int acTransform_wave_config::to_from
The documentation for this class was generated from the following files:
acTransform_wave.h
acTransform_wave.cpp
5.17 ADM::ADM<F>Class Template Reference
Adaptive differential microphone, working for speech frequency range.
© 2005-2018 HörTech gGmbH, Oldenburg
5.17 ADM::ADM<F>Class Template Reference 195
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. 194) 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
5.17.1 Detailed Description
template<class F>
class ADM::ADM<F>
Adaptive differential microphone, working for speech frequency range.
5.17.2 Constructor & Destructor Documentation
5.17.2.1 ADM()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
196 CONTENTS
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.17.3 Member Function Documentation
5.17.3.1 process()
template<class F >
FADM::ADM<F>::process (
const F & front,
const F & back,
const F & external_beta = F(-1) ) [inline]
ADM (p. 194) 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
© 2005-2018 HörTech gGmbH, Oldenburg
5.17 ADM::ADM<F>Class Template Reference 197
5.17.3.2 beta()
template<class F >
FADM::ADM<F>::beta ( ) const [inline]
5.17.4 Member Data Documentation
5.17.4.1 m_delay_front
template<class F >
Delay<F>ADM::ADM<F>::m_delay_front [private]
5.17.4.2 m_delay_back
template<class F >
Delay<F>ADM::ADM<F>::m_delay_back [private]
5.17.4.3 m_lp_bf
template<class F >
Linearphase_FIR<F>ADM::ADM<F>::m_lp_bf [private]
5.17.4.4 m_lp_result
template<class F >
Linearphase_FIR<F>ADM::ADM<F>::m_lp_result [private]
5.17.4.5 m_decomb
template<class F >
Linearphase_FIR<F>ADM::ADM<F>::m_decomb [private]
© 2005-2018 HörTech gGmbH, Oldenburg
198 CONTENTS
5.17.4.6 m_beta
template<class F >
FADM::ADM<F>::m_beta [private]
5.17.4.7 m_mu_beta
template<class F >
FADM::ADM<F>::m_mu_beta [private]
5.17.4.8 m_powerfilter_coeff
template<class F >
FADM::ADM<F>::m_powerfilter_coeff [private]
5.17.4.9 m_powerfilter_norm
template<class F >
FADM::ADM<F>::m_powerfilter_norm [private]
5.17.4.10 m_powerfilter_state
template<class F >
FADM::ADM<F>::m_powerfilter_state [private]
The documentation for this class was generated from the following file:
adm.hh
5.18 ADM::Delay<F>Class Template Reference
A delay-line class which can also do subsample-delays for a limited frequency range below
fs/4.
© 2005-2018 HörTech gGmbH, Oldenburg
5.18 ADM::Delay<F>Class Template Reference 199
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.18.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.18.2 Constructor & Destructor Documentation
5.18.2.1 Delay()
template<class F >
ADM::Delay<F>:: Delay (
Fsamples,
Ff_design,
Ffs )
Create a signal delay object.
© 2005-2018 HörTech gGmbH, Oldenburg
200 CONTENTS
Parameters
samples number of samples to delay (may be non-integer)
f_design subsampledelay is exact for this frequency
fs sampling frequency
5.18.2.2 Delay()
template<class F >
ADM::Delay<F>::Delay ( )
5.18.3 Member Function Documentation
5.18.3.1 process()
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.18.4 Member Data Documentation
5.18.4.1 m_fullsamples
template<class F >
unsigned ADM::Delay<F>::m_fullsamples [private]
Integer part of delay.
© 2005-2018 HörTech gGmbH, Oldenburg
5.19 ADM::Linearphase_FIR<F>Class Template Reference 201
5.18.4.2 m_coeff
template<class F >
FADM::Delay<F>::m_coeff [private]
coefficient for 1st order IIR lowpass filter which does the subsample delay
5.18.4.3 m_norm
template<class F >
FADM::Delay<F>::m_norm [private]
normalization for the IIR subsample delay filter
5.18.4.4 m_state
template<class F >
FADM::Delay<F>::m_state [private]
Ringbuffer: Delayline.
5.18.4.5 m_now_in
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.19 ADM::Linearphase_FIR<F>Class Template Reference
An efficient linear-phase fir filter implementation.
© 2005-2018 HörTech gGmbH, Oldenburg
202 CONTENTS
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.19.1 Detailed Description
template<class F>
class ADM::Linearphase_FIR<F>
An efficient linear-phase fir filter implementation.
5.19.2 Constructor & Destructor Documentation
5.19.2.1 Linearphase_FIR()
template<class F >
ADM::Linearphase_FIR<F>:: Linearphase_FIR (
unsigned order,
const F alphas )
Create linear-phase FIR filter.
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.) © 2005-2018 HörTech gGmbH, Oldenburg
5.19 ADM::Linearphase_FIR<F>Class Template Reference 203
5.19.2.2 Linearphase_FIR()
template<class F >
ADM::Linearphase_FIR<F>::Linearphase_FIR ( )
5.19.3 Member Function Documentation
5.19.3.1 process()
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.19.4 Member Data Documentation
5.19.4.1 m_order
template<class F >
unsigned ADM::Linearphase_FIR<F>::m_order [private]
The filter order of this linear-phase FIR filter.
5.19.4.2 m_alphas
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
© 2005-2018 HörTech gGmbH, Oldenburg
204 CONTENTS
5.19.4.3 m_output
template<class F >
FADM::Linearphase_FIR<F>::m_output [private]
Ringbuffer for building future output.
5.19.4.4 m_now
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.20 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 >
© 2005-2018 HörTech gGmbH, Oldenburg
5.20 adm_if_t Class Reference 205
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 ()
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.20.1 Constructor & Destructor Documentation
5.20.1.1 adm_if_t()
adm_if_t::adm_if_t (
const algo_comm_t &ac,
const std::string & thread_name,
const std::string & algo_name )
© 2005-2018 HörTech gGmbH, Oldenburg
206 CONTENTS
5.20.2 Member Function Documentation
5.20.2.1 process()
mha_wave_t adm_if_t::process (
mha_wave_t in )
5.20.2.2 prepare()
void adm_if_t::prepare (
mhaconfig_t &cfg ) [virtual]
Implements MHAPlugin::plugin_t<adm_rtconfig_t >(p. 884).
5.20.2.3 release()
void adm_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<adm_rtconfig_t >(p. 885).
5.20.2.4 update()
void adm_if_t::update ( ) [private]
5.20.2.5 is_prepared()
bool adm_if_t::is_prepared ( ) [inline], [private]
5.20.3 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.20 adm_if_t Class Reference 207
5.20.3.1 out
MHASignal::waveform_tadm_if_t::out [private]
5.20.3.2 front_channels
MHAParser::vint_t adm_if_t::front_channels [private]
5.20.3.3 rear_channels
MHAParser::vint_t adm_if_t::rear_channels [private]
5.20.3.4 distances
MHAParser::vfloat_t adm_if_t::distances [private]
5.20.3.5 lp_order
MHAParser::int_t adm_if_t::lp_order [private]
5.20.3.6 decomb_order
MHAParser::int_t adm_if_t::decomb_order [private]
5.20.3.7 bypass
MHAParser::int_t adm_if_t::bypass [private]
5.20.3.8 beta
MHAParser::float_t adm_if_t::beta [private]
© 2005-2018 HörTech gGmbH, Oldenburg
208 CONTENTS
5.20.3.9 mu_beta
MHAParser::vfloat_t adm_if_t::mu_beta [private]
5.20.3.10 tau_beta
MHAParser::vfloat_t adm_if_t::tau_beta [private]
5.20.3.11 coeff_lp
MHAParser::vfloat_mon_t adm_if_t::coeff_lp [private]
5.20.3.12 coeff_decomb
MHAParser::vfloat_mon_t adm_if_t::coeff_decomb [private]
5.20.3.13 input_channels
unsigned adm_if_t::input_channels [private]
5.20.3.14 srate
mha_real_t adm_if_t::srate [private]
5.20.3.15 patchbay
MHAEvents::patchbay_t<adm_if_t>adm_if_t::patchbay [private]
The documentation for this class was generated from the following file:
adm.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
5.21 adm_rtconfig_t Class Reference 209
5.21 adm_rtconfig_t Class Reference
Public Types
• typedef ADM::ADM<mha_real_t >adm_t
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.21.1 Member Typedef Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
210 CONTENTS
5.21.1.1 adm_t
typedef ADM::ADM<mha_real_t>adm_rtconfig_t::adm_t
5.21.2 Constructor & Destructor Documentation
5.21.2.1 adm_rtconfig_t()
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.21.2.2 adm_rtconfig_t()
adm_rtconfig_t::adm_rtconfig_t ( ) [virtual]
© 2005-2018 HörTech gGmbH, Oldenburg
5.21 adm_rtconfig_t Class Reference 211
5.21.3 Member Function Documentation
5.21.3.1 check_index()
void adm_rtconfig_t::check_index (
unsigned index ) const [inline], [private]
Index checking for all internal arrays.
Exceptions
MHA_Error (p. 522)if index out of range.
5.21.3.2 num_adms()
size_t adm_rtconfig_t::num_adms ( ) const [inline]
5.21.3.3 adm()
adm_t& adm_rtconfig_t::adm (
unsigned index ) [inline]
Returns adm object number index.
5.21.3.4 front_channel()
int adm_rtconfig_t::front_channel (
unsigned index ) const [inline]
Returns index of front channel for adm number index.
5.21.3.5 rear_channel()
int adm_rtconfig_t::rear_channel (
unsigned index ) const [inline]
Returns index of rear channel for adm number index.
© 2005-2018 HörTech gGmbH, Oldenburg
212 CONTENTS
5.21.4 Member Data Documentation
5.21.4.1 front_channels
std::vector<int>adm_rtconfig_t::front_channels [private]
Indices of channels containing the signals from the front microphones.
5.21.4.2 rear_channels
std::vector<int>adm_rtconfig_t::rear_channels [private]
Indices of channels containing the signals from the rear microphones.
5.21.4.3 lp_coeffs
MHASignal::waveform_tadm_rtconfig_t::lp_coeffs [private]
Lowpass filter coefficients.
5.21.4.4 decomb_coeffs
std::vector<MHASignal::waveform_t>adm_rtconfig_t::decomb_coeffs [private]
Decomb-Filter coefficients.
5.21.4.5 adms
std::vector<adm_t >adm_rtconfig_t::adms [private]
ADMs.
The documentation for this class was generated from the following file:
adm.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
5.22 algo_comm_t Struct Reference 213
5.22 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.22.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.22.2 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
214 CONTENTS
5.22.2.1 handle
algo_comm_t::handle
AC variable control handle.
5.22.2.2 insert_var
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.
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. 271)
Returns
Error code or zero on success
5.22.2.3 insert_var_int
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.22 algo_comm_t Struct Reference 215
Returns
Error code or zero on success
5.22.2.4 insert_var_float
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
5.22.2.5 remove_var
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
© 2005-2018 HörTech gGmbH, Oldenburg
216 CONTENTS
5.22.2.6 remove_ref
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.22.2.7 is_var
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
Returns
1 if the variable exists, 0 otherwise
5.22.2.8 get_var
algo_comm_t::get_var
Get the variable handle of an AC variable.
This function returns the variable handle comm_var_t (p. 271) of a variable of the given name.
If no variable of that name exists, an error code is returned.
© 2005-2018 HörTech gGmbH, Oldenburg
5.22 algo_comm_t Struct Reference 217
Parameters
hAC handle
nname of variable
vpointer to a AC variable object
Returns
Error code or zero on success
5.22.2.9 get_var_int
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.22.2.10 get_var_float
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-2018 HörTech gGmbH, Oldenburg
218 CONTENTS
Parameters
hAC handle
nname of variable
vpointer on a float variable to store the result
Returns
Error code or zero on success
5.22.2.11 get_entries
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.22.2.12 get_error
algo_comm_t::get_error
Convert AC error codes into human readable error messages.
© 2005-2018 HörTech gGmbH, Oldenburg
5.23 altplugs_t Class Reference 219
Parameters
eError code
Returns
Error message
The documentation for this struct was generated from the following files:
mha.h
mha_algo_comm.cpp
5.23 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-2018 HörTech gGmbH, Oldenburg
220 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.23.1 Constructor & Destructor Documentation
5.23.1.1 altplugs_t()
altplugs_t::altplugs_t (
algo_comm_t iac,
const char chain,
const char algo )
© 2005-2018 HörTech gGmbH, Oldenburg
5.23 altplugs_t Class Reference 221
5.23.2 Member Function Documentation
5.23.2.1 prepare()
void altplugs_t::prepare (
mhaconfig_t &cf ) [virtual]
Implements MHAPlugin::plugin_t<MHAWindow::fun_t >(p. 884).
5.23.2.2 release()
void altplugs_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<MHAWindow::fun_t >(p. 885).
5.23.2.3 process() [1/4]
void altplugs_t::process (
mha_wave_t sIn,
mha_wave_t ∗∗ sOut )
5.23.2.4 process() [2/4]
void altplugs_t::process (
mha_spec_t sIn,
mha_wave_t ∗∗ sOut )
5.23.2.5 process() [3/4]
void altplugs_t::process (
mha_wave_t sIn,
mha_spec_t ∗∗ sOut )
© 2005-2018 HörTech gGmbH, Oldenburg
222 CONTENTS
5.23.2.6 process() [4/4]
void altplugs_t::process (
mha_spec_t sIn,
mha_spec_t ∗∗ sOut )
5.23.2.7 parse() [1/2]
std::string altplugs_t::parse (
const std::string & arg ) [virtual]
Reimplemented from MHAParser::base_t (p. 767).
5.23.2.8 parse() [2/2]
virtual void altplugs_t::parse (
const char a1,
char a2,
unsigned int a3 ) [inline], [virtual]
Reimplemented from MHAParser::base_t (p. 768).
5.23.2.9 event_set_plugs()
void altplugs_t::event_set_plugs ( ) [private]
5.23.2.10 event_add_plug()
void altplugs_t::event_add_plug ( ) [private]
5.23.2.11 event_delete_plug()
void altplugs_t::event_delete_plug ( ) [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.23 altplugs_t Class Reference 223
5.23.2.12 event_select_plug()
void altplugs_t::event_select_plug ( ) [private]
5.23.2.13 update_selector_list()
void altplugs_t::update_selector_list ( ) [private]
5.23.2.14 update_ramplen()
void altplugs_t::update_ramplen ( ) [private]
5.23.2.15 proc_ramp()
void altplugs_t::proc_ramp (
mha_wave_t s) [private]
5.23.3 Member Data Documentation
5.23.3.1 use_own_ac
MHAParser::bool_t altplugs_t::use_own_ac [private]
5.23.3.2 parser_plugs
MHAParser::vstring_t altplugs_t::parser_plugs [private]
5.23.3.3 add_plug
MHAParser::string_t altplugs_t::add_plug [private]
© 2005-2018 HörTech gGmbH, Oldenburg
224 CONTENTS
5.23.3.4 delete_plug
MHAParser::string_t altplugs_t::delete_plug [private]
5.23.3.5 ramplen
MHAParser::float_t altplugs_t::ramplen [private]
5.23.3.6 select_plug
MHAParser::kw_t altplugs_t::select_plug [private]
5.23.3.7 current
MHAParser::parser_t altplugs_t::current [private]
5.23.3.8 nondefault_labels
MHAParser::vstring_mon_t altplugs_t::nondefault_labels [private]
5.23.3.9 plugs
std::vector<mhaplug_cfg_t>altplugs_t::plugs [private]
5.23.3.10 selected_plug
mhaplug_cfg_taltplugs_t::selected_plug [private]
5.23.3.11 patchbay
MHAEvents::patchbay_t<altplugs_t>altplugs_t::patchbay [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.23 altplugs_t Class Reference 225
5.23.3.12 fallback_wave
MHASignal::waveform_taltplugs_t::fallback_wave [private]
5.23.3.13 fallback_spec
MHASignal::spectrum_taltplugs_t::fallback_spec [private]
5.23.3.14 cfin
mhaconfig_t altplugs_t::cfin [private]
5.23.3.15 cfout
mhaconfig_t altplugs_t::cfout [private]
5.23.3.16 prepared
bool altplugs_t::prepared [private]
5.23.3.17 added_via_plugs
bool altplugs_t::added_via_plugs [private]
5.23.3.18 ramp_counter
unsigned int altplugs_t::ramp_counter [private]
5.23.3.19 ramp_len
unsigned int altplugs_t::ramp_len [private]
The documentation for this class was generated from the following file:
altplugs.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
226 CONTENTS
5.24 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, MH-
AProc_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.24.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.24 analysepath_t Class Reference 227
5.24.1.1 analysepath_t()
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 )
5.24.1.2 analysepath_t()
analysepath_t::analysepath_t ( ) [virtual]
5.24.2 Member Function Documentation
5.24.2.1 rt_process()
void analysepath_t::rt_process (
mha_wave_t outer_input )
5.24.2.2 svc()
int analysepath_t::svc ( ) [virtual]
5.24.3 Member Data Documentation
5.24.3.1 inner_process_wave2wave
MHAProc_wave2wave_t analysepath_t::inner_process_wave2wave [private]
© 2005-2018 HörTech gGmbH, Oldenburg
228 CONTENTS
5.24.3.2 inner_process_wave2spec
MHAProc_wave2spec_t analysepath_t::inner_process_wave2spec [private]
5.24.3.3 inner_input
MHASignal::waveform_t analysepath_t::inner_input [private]
5.24.3.4 libdata
voidanalysepath_t::libdata [private]
5.24.3.5 wave_fifo
mha_fifo_t<mha_real_t>analysepath_t::wave_fifo [private]
5.24.3.6 ac_fifo
mha_fifo_t<MHA_AC::acspace2matrix_t>analysepath_t::ac_fifo [private]
5.24.3.7 inner_ac_copy
MHA_AC::acspace2matrix_t analysepath_t::inner_ac_copy [private]
5.24.3.8 outer_ac_copy
MHA_AC::acspace2matrix_t analysepath_t::outer_ac_copy [private]
5.24.3.9 outer_ac
algo_comm_t analysepath_t::outer_ac [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.24 analysepath_t Class Reference 229
5.24.3.10 inner_out_domain
mha_domain_t analysepath_t::inner_out_domain [private]
5.24.3.11 inner_error
MHA_Error analysepath_t::inner_error [private]
5.24.3.12 has_inner_error
bool analysepath_t::has_inner_error [private]
5.24.3.13 flag_terminate_inner_thread
bool analysepath_t::flag_terminate_inner_thread [private]
5.24.3.14 input_to_process
int analysepath_t::input_to_process [private]
5.24.3.15 ProcessMutex
pthread_mutex_t analysepath_t::ProcessMutex [private]
5.24.3.16 attr
pthread_attr_t analysepath_t::attr [private]
5.24.3.17 priority
struct sched_param analysepath_t::priority [private]
© 2005-2018 HörTech gGmbH, Oldenburg
230 CONTENTS
5.24.3.18 scheduler
int analysepath_t::scheduler [private]
5.24.3.19 thread
pthread_t analysepath_t::thread [private]
5.24.3.20 cond_to_process
pthread_cond_t analysepath_t::cond_to_process [private]
The documentation for this class was generated from the following file:
analysispath.cpp
5.25 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 >
© 2005-2018 HörTech gGmbH, Oldenburg
5.25 analysispath_if_t Class Reference 231
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
Additional Inherited Members
5.25.1 Constructor & Destructor Documentation
5.25.1.1 analysispath_if_t()
analysispath_if_t::analysispath_if_t (
algo_comm_t iac,
std::string th,
std::string al )
5.25.1.2 analysispath_if_t()
analysispath_if_t::analysispath_if_t ( )
© 2005-2018 HörTech gGmbH, Oldenburg
232 CONTENTS
5.25.2 Member Function Documentation
5.25.2.1 process()
mha_wave_t analysispath_if_t::process (
mha_wave_t s)
5.25.2.2 prepare()
void analysispath_if_t::prepare (
mhaconfig_t &conf ) [virtual]
Implements MHAPlugin::plugin_t<analysepath_t >(p. 884).
5.25.2.3 release()
void analysispath_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<analysepath_t >(p. 885).
5.25.2.4 loadlib()
void analysispath_if_t::loadlib ( ) [private]
5.25.3 Member Data Documentation
5.25.3.1 patchbay
MHAEvents::patchbay_t<analysispath_if_t >analysispath_if_t::patchbay [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.25 analysispath_if_t Class Reference 233
5.25.3.2 libname
MHAParser::string_t analysispath_if_t::libname [private]
5.25.3.3 fragsize
MHAParser::int_t analysispath_if_t::fragsize [private]
5.25.3.4 fifolen
MHAParser::int_t analysispath_if_t::fifolen [private]
5.25.3.5 priority
MHAParser::int_t analysispath_if_t::priority [private]
5.25.3.6 vars
MHAParser::vstring_t analysispath_if_t::vars [private]
5.25.3.7 plug
plug_tanalysispath_if_t::plug [private]
5.25.3.8 chain
std::string analysispath_if_t::chain [private]
5.25.3.9 algo
std::string analysispath_if_t::algo [private]
© 2005-2018 HörTech gGmbH, Oldenburg
234 CONTENTS
5.25.3.10 acspace_template
MHA_AC::acspace2matrix_tanalysispath_if_t::acspace_template [private]
The documentation for this class was generated from the following file:
analysispath.cpp
5.26 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.26.1 Detailed Description
A class to store frequency dependent data (e.g., HTL and UCL).
5.26.2 Member Function Documentation
5.26.2.1 get_frequencies()
std::vector<mha_real_t >AuditoryProfile::fmap_t::get_frequencies ( ) const
Return configured frequencies.
5.26.2.2 get_values()
std::vector<mha_real_t >AuditoryProfile::fmap_t::get_values ( ) const
Return stored values corresponding to the frequencies.
© 2005-2018 HörTech gGmbH, Oldenburg
5.27 AuditoryProfile::parser_t Class Reference 235
5.26.2.3 isempty()
bool AuditoryProfile::fmap_t::isempty ( ) const [inline]
The documentation for this class was generated from the following files:
auditory_profile.h
auditory_profile.cpp
5.27 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
© 2005-2018 HörTech gGmbH, Oldenburg
236 CONTENTS
Additional Inherited Members
5.27.1 Detailed Description
Class to make the auditory profile accessible through the parser interface.
5.27.2 Constructor & Destructor Documentation
5.27.2.1 parser_t()
AuditoryProfile::parser_t::parser_t ( )
5.27.3 Member Function Documentation
5.27.3.1 get_current_profile()
AuditoryProfile::profile_t AuditoryProfile::parser_t::get_current_profile ( )
5.27.4 Member Data Documentation
5.27.4.1 L
AuditoryProfile::parser_t::ear_t AuditoryProfile::parser_t::L [private]
5.27.4.2 R
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.28 AuditoryProfile::parser_t::ear_t Class Reference 237
5.28 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
Private Attributes
AuditoryProfile::parser_t::fmap_t HTL
AuditoryProfile::parser_t::fmap_t UCL
Additional Inherited Members
5.28.1 Constructor & Destructor Documentation
5.28.1.1 ear_t()
AuditoryProfile::parser_t::ear_t::ear_t ( )
5.28.2 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
238 CONTENTS
5.28.2.1 get_ear()
AuditoryProfile::profile_t::ear_t AuditoryProfile::parser_t::ear_t::get_ear ( )
const
5.28.3 Member Data Documentation
5.28.3.1 HTL
AuditoryProfile::parser_t::fmap_t AuditoryProfile::parser_t::ear_t::HTL [private]
5.28.3.2 UCL
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.29 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-2018 HörTech gGmbH, Oldenburg
5.29 AuditoryProfile::parser_t::fmap_t Class Reference 239
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.29.1 Constructor & Destructor Documentation
5.29.1.1 fmap_t()
AuditoryProfile::parser_t::fmap_t::fmap_t (
const std::string & name,
const std::string & help )
5.29.2 Member Function Documentation
5.29.2.1 get_fmap()
AuditoryProfile::fmap_t AuditoryProfile::parser_t::fmap_t::get_fmap ( ) const
5.29.2.2 validate()
void AuditoryProfile::parser_t::fmap_t::validate ( ) [private]
© 2005-2018 HörTech gGmbH, Oldenburg
240 CONTENTS
5.29.3 Member Data Documentation
5.29.3.1 patchbay
MHAEvents::patchbay_t<AuditoryProfile::parser_t::fmap_t>AuditoryProfile::parser-
_t::fmap_t::patchbay [private]
5.29.3.2 f
MHAParser::vfloat_t AuditoryProfile::parser_t::fmap_t::f [private]
5.29.3.3 value
MHAParser::vfloat_t AuditoryProfile::parser_t::fmap_t::value [private]
5.29.3.4 name_
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
5.30 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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.30 AuditoryProfile::profile_t Class Reference 241
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.30.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.30.2 Member Function Documentation
5.30.2.1 get_ear()
AuditoryProfile::profile_t::ear_t AuditoryProfile::profile_t::get_ear (
unsigned int channel ) const [inline]
Return ear information of channel number.
5.30.3 Member Data Documentation
5.30.3.1 L
AuditoryProfile::profile_t::ear_t AuditoryProfile::profile_t::L
Left ear data.
© 2005-2018 HörTech gGmbH, Oldenburg
242 CONTENTS
5.30.3.2 R
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.31 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.31.1 Detailed Description
Class for ear-dependent parameters, e.g., audiograms or unilateral loudness scaling.
5.31.2 Member Function Documentation
5.31.2.1 convert_empty2normal()
void AuditoryProfile::profile_t::ear_t::convert_empty2normal ( )
5.31.3 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.32 bbcalib_interface_t Class Reference 243
5.31.3.1 HTL
AuditoryProfile::fmap_t AuditoryProfile::profile_t::ear_t::HTL
5.31.3.2 UCL
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
5.32 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 ()
© 2005-2018 HörTech gGmbH, Oldenburg
244 CONTENTS
Private Attributes
calibrator_t calib_in
calibrator_t calib_out
MHAParser::mhapluginloader_t plugloader
Additional Inherited Members
5.32.1 Constructor & Destructor Documentation
5.32.1.1 bbcalib_interface_t()
bbcalib_interface_t::bbcalib_interface_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.32.1.2 bbcalib_interface_t()
bbcalib_interface_t::bbcalib_interface_t ( )
5.32.2 Member Function Documentation
5.32.2.1 process()
mha_wave_t bbcalib_interface_t::process (
mha_wave_t s)
5.32.2.2 prepare()
void bbcalib_interface_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<int >(p. 884).
© 2005-2018 HörTech gGmbH, Oldenburg
5.33 calibrator_runtime_layer_t Class Reference 245
5.32.2.3 release()
void bbcalib_interface_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<int >(p. 885).
5.32.3 Member Data Documentation
5.32.3.1 calib_in
calibrator_t bbcalib_interface_t::calib_in [private]
5.32.3.2 calib_out
calibrator_t bbcalib_interface_t::calib_out [private]
5.32.3.3 plugloader
MHAParser::mhapluginloader_t bbcalib_interface_t::plugloader [private]
The documentation for this class was generated from the following file:
transducers.cpp
5.33 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 ∗∗)
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 > > &)
© 2005-2018 HörTech gGmbH, Oldenburg
246 CONTENTS
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.33.1 Constructor & Destructor Documentation
5.33.1.1 calibrator_runtime_layer_t()
calibrator_runtime_layer_t::calibrator_runtime_layer_t (
bool is_input,
const mhaconfig_t &tf,
calibrator_variables_t &vars )
5.33.2 Member Function Documentation
5.33.2.1 process()
mha_real_t calibrator_runtime_layer_t::process (
mha_wave_t ∗∗ s)
5.33.2.2 firfirlen()
unsigned int calibrator_runtime_layer_t::firfirlen (
const std::vector<std::vector<float > > &fir ) [static], [private]
5.33.2.3 firfir2fftlen()
unsigned int calibrator_runtime_layer_t::firfir2fftlen (
unsigned int fragsize,
const std::vector<std::vector<float > > &fir ) [static], [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.33 calibrator_runtime_layer_t Class Reference 247
5.33.3 Member Data Documentation
5.33.3.1 fir
MHAFilter::fftfilter_t calibrator_runtime_layer_t::fir [private]
5.33.3.2 quant
MHASignal::quantizer_t calibrator_runtime_layer_t::quant [private]
5.33.3.3 gain
MHASignal::waveform_t calibrator_runtime_layer_t::gain [private]
5.33.3.4 softclip
softclipper_t calibrator_runtime_layer_t::softclip [private]
5.33.3.5 b_is_input
bool calibrator_runtime_layer_t::b_is_input [private]
5.33.3.6 b_use_fir
bool calibrator_runtime_layer_t::b_use_fir [private]
5.33.3.7 b_use_clipping
bool calibrator_runtime_layer_t::b_use_clipping [private]
© 2005-2018 HörTech gGmbH, Oldenburg
248 CONTENTS
5.33.3.8 speechnoise
MHASignal::loop_wavefragment_t calibrator_runtime_layer_t::speechnoise [private]
5.33.3.9 pmode
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.34 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
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)
© 2005-2018 HörTech gGmbH, Oldenburg
5.34 calibrator_t Class Reference 249
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.34.1 Constructor & Destructor Documentation
5.34.1.1 calibrator_t()
calibrator_t::calibrator_t (
algo_comm_t iac,
bool is_input )
5.34.2 Member Function Documentation
5.34.2.1 prepare()
void calibrator_t::prepare (
mhaconfig_t &tf ) [inline], [virtual]
Implements MHAPlugin::plugin_t<runtime_cfg_t >(p. 884).
5.34.2.2 release()
void calibrator_t::release (
void ) [inline], [virtual]
Reimplemented from MHAPlugin::plugin_t<runtime_cfg_t >(p. 885).
© 2005-2018 HörTech gGmbH, Oldenburg
250 CONTENTS
5.34.2.3 process()
mha_wave_t calibrator_t::process (
mha_wave_t s)
5.34.2.4 update()
void calibrator_t::update ( ) [private]
5.34.2.5 update_tau_level()
void calibrator_t::update_tau_level ( ) [private]
5.34.2.6 read_levels()
void calibrator_t::read_levels ( ) [private]
5.34.3 Member Data Documentation
5.34.3.1 b_is_input
bool calibrator_t::b_is_input [private]
5.34.3.2 patchbay
MHAEvents::patchbay_t<calibrator_t>calibrator_t::patchbay [private]
5.34.3.3 vars
calibrator_variables_t calibrator_t::vars [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.35 calibrator_variables_t Class Reference 251
5.34.3.4 prepared
bool calibrator_t::prepared [private]
The documentation for this class was generated from the following file:
transducers.cpp
5.35 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
5.35.1 Constructor & Destructor Documentation
5.35.1.1 calibrator_variables_t()
calibrator_variables_t::calibrator_variables_t (
bool is_input,
MHAParser::parser_t &parent )
© 2005-2018 HörTech gGmbH, Oldenburg
252 CONTENTS
5.35.2 Member Data Documentation
5.35.2.1 peaklevel
MHAParser::vfloat_t calibrator_variables_t::peaklevel
5.35.2.2 fir
MHAParser::mfloat_t calibrator_variables_t::fir
5.35.2.3 nbits
MHAParser::int_t calibrator_variables_t::nbits
5.35.2.4 tau_level
MHAParser::float_t calibrator_variables_t::tau_level
5.35.2.5 spnoise_mode
MHAParser::kw_t calibrator_variables_t::spnoise_mode
5.35.2.6 spnoise_channels
MHAParser::vint_t calibrator_variables_t::spnoise_channels
5.35.2.7 spnoise_level
MHAParser::float_t calibrator_variables_t::spnoise_level
© 2005-2018 HörTech gGmbH, Oldenburg
5.35 calibrator_variables_t Class Reference 253
5.35.2.8 rmslevel
MHAParser::vfloat_mon_t calibrator_variables_t::rmslevel
5.35.2.9 spnoise_parser
MHAParser::parser_t calibrator_variables_t::spnoise_parser
5.35.2.10 srate
MHAParser::float_mon_t calibrator_variables_t::srate
5.35.2.11 fragsize
MHAParser::int_mon_t calibrator_variables_t::fragsize
5.35.2.12 num_channels
MHAParser::int_mon_t calibrator_variables_t::num_channels
5.35.2.13 config_parser
MHAParser::parser_t calibrator_variables_t::config_parser
5.35.2.14 softclip
softclipper_variables_t calibrator_variables_t::softclip
5.35.2.15 do_clipping
MHAParser::bool_t calibrator_variables_t::do_clipping
The documentation for this class was generated from the following file:
transducers.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
254 CONTENTS
5.36 cfg_t Class Reference
Public Member Functions
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)
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 )
Public Attributes
mha_real_t start_lin
mha_real_t alpha
MHAFilter::o1flt_lowpass_t attack
MHAFilter::o1flt_maxtrack_t decay
unsigned int channel
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.36.1 Constructor & Destructor Documentation
5.36.1.1 cfg_t() [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-2018 HörTech gGmbH, Oldenburg
5.36 cfg_t Class Reference 255
5.36.1.2 cfg_t() [2/3]
cfg_t::cfg_t (
unsigned int ichannel,
unsigned int numchannels )
5.36.1.3 cfg_t() [3/3]
cfg_t::cfg_t (
mhaconfig_t chcfg,
mha_real_t newlev,
bool replace,
mha_real_t len )
5.36.2 Member Function Documentation
5.36.2.1 process() [1/2]
void cfg_t::process (
mha_wave_t s) [inline]
5.36.2.2 process() [2/2]
void cfg_t::process (
mha_spec_t s) [inline]
5.36.3 Member Data Documentation
5.36.3.1 start_lin
mha_real_t cfg_t::start_lin
© 2005-2018 HörTech gGmbH, Oldenburg
256 CONTENTS
5.36.3.2 alpha
mha_real_t cfg_t::alpha
5.36.3.3 attack
MHAFilter::o1flt_lowpass_t cfg_t::attack
5.36.3.4 decay
MHAFilter::o1flt_maxtrack_t cfg_t::decay
5.36.3.5 channel
unsigned int cfg_t::channel
5.36.3.6 gain_wave_
mha_real_t cfg_t::gain_wave_ [private]
5.36.3.7 gain_spec_
mha_real_t cfg_t::gain_spec_ [private]
5.36.3.8 replace_
bool cfg_t::replace_ [private]
5.36.3.9 use_frozen_
bool cfg_t::use_frozen_ [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.37 coherence::cohflt_if_t Class Reference 257
5.36.3.10 frozen_noise_
MHASignal::waveform_t cfg_t::frozen_noise_ [private]
5.36.3.11 pos
unsigned int cfg_t::pos [private]
The documentation for this class was generated from the following files:
softclip.cpp
example6.cpp
noise.cpp
5.37 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 )
© 2005-2018 HörTech gGmbH, Oldenburg
258 CONTENTS
Private Member Functions
• void update ()
Private Attributes
MHAEvents::patchbay_t<cohflt_if_t >patchbay
vars_t vars
const std::string algo
Additional Inherited Members
5.37.1 Constructor & Destructor Documentation
5.37.1.1 cohflt_if_t()
coherence::cohflt_if_t::cohflt_if_t (
const algo_comm_t &ac,
const std::string & th,
const std::string & al )
5.37.2 Member Function Documentation
5.37.2.1 prepare()
void coherence::cohflt_if_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<cohflt_t >(p. 884).
5.37.2.2 release()
void coherence::cohflt_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<cohflt_t >(p. 885).
© 2005-2018 HörTech gGmbH, Oldenburg
5.37 coherence::cohflt_if_t Class Reference 259
5.37.2.3 process()
mha_spec_t coherence::cohflt_if_t::process (
mha_spec_t s)
5.37.2.4 update()
void coherence::cohflt_if_t::update ( ) [private]
5.37.3 Member Data Documentation
5.37.3.1 patchbay
MHAEvents::patchbay_t<cohflt_if_t>coherence::cohflt_if_t::patchbay [private]
5.37.3.2 vars
vars_t coherence::cohflt_if_t::vars [private]
5.37.3.3 algo
const std::string coherence::cohflt_if_t::algo [private]
The documentation for this class was generated from the following file:
coherence.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
260 CONTENTS
5.38 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
© 2005-2018 HörTech gGmbH, Oldenburg
5.38 coherence::cohflt_t Class Reference 261
MHASignal::delay_wave_t gain_delay
MHASignal::spectrum_t s_out
• bool bInvert
MHAFilter::o1flt_lowpass_t lp1ltg
• bool b_ltg
• std::vector<float >staticgain
Additional Inherited Members
5.38.1 Constructor & Destructor Documentation
5.38.1.1 cohflt_t()
coherence::cohflt_t::cohflt_t (
vars_t &v,
const mhaconfig_t &icf,
algo_comm_t iac,
const std::string & name )
5.38.2 Member Function Documentation
5.38.2.1 process()
mha_spec_t coherence::cohflt_t::process (
mha_spec_t s)
5.38.2.2 insert()
void coherence::cohflt_t::insert ( )
5.38.3 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
262 CONTENTS
5.38.3.1 nbands
unsigned int coherence::cohflt_t::nbands [private]
5.38.3.2 avg_ipd
bool coherence::cohflt_t::avg_ipd [private]
5.38.3.3 cg
mha_complex_t coherence::cohflt_t::cg [private]
5.38.3.4 g
float coherence::cohflt_t::g [private]
5.38.3.5 c_scale
float coherence::cohflt_t::c_scale [private]
5.38.3.6 c_min
float coherence::cohflt_t::c_min [private]
5.38.3.7 alpha
MHASignal::waveform_t coherence::cohflt_t::alpha [private]
5.38.3.8 limit
float coherence::cohflt_t::limit [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.38 coherence::cohflt_t Class Reference 263
5.38.3.9 lp1r
MHAFilter::o1flt_lowpass_t coherence::cohflt_t::lp1r [private]
5.38.3.10 lp1i
MHAFilter::o1flt_lowpass_t coherence::cohflt_t::lp1i [private]
5.38.3.11 coh_c
MHA_AC::spectrum_t coherence::cohflt_t::coh_c [private]
5.38.3.12 coh_rlp
MHA_AC::waveform_t coherence::cohflt_t::coh_rlp [private]
5.38.3.13 gain
MHASignal::waveform_t coherence::cohflt_t::gain [private]
5.38.3.14 gain_delay
MHASignal::delay_wave_t coherence::cohflt_t::gain_delay [private]
5.38.3.15 s_out
MHASignal::spectrum_t coherence::cohflt_t::s_out [private]
5.38.3.16 bInvert
bool coherence::cohflt_t::bInvert [private]
© 2005-2018 HörTech gGmbH, Oldenburg
264 CONTENTS
5.38.3.17 lp1ltg
MHAFilter::o1flt_lowpass_t coherence::cohflt_t::lp1ltg [private]
5.38.3.18 b_ltg
bool coherence::cohflt_t::b_ltg [private]
5.38.3.19 staticgain
std::vector<float>coherence::cohflt_t::staticgain [private]
The documentation for this class was generated from the following file:
coherence.cpp
5.39 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-2018 HörTech gGmbH, Oldenburg
5.39 coherence::vars_t Class Reference 265
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.39.1 Constructor & Destructor Documentation
5.39.1.1 vars_t()
coherence::vars_t::vars_t (
MHAParser::parser_t p)
5.39.2 Member Data Documentation
5.39.2.1 tau_unit
MHAParser::kw_t coherence::vars_t::tau_unit
5.39.2.2 tau
MHAParser::vfloat_t coherence::vars_t::tau
5.39.2.3 alpha
MHAParser::vfloat_t coherence::vars_t::alpha
© 2005-2018 HörTech gGmbH, Oldenburg
266 CONTENTS
5.39.2.4 limit
MHAParser::float_t coherence::vars_t::limit
5.39.2.5 mapping
MHAParser::vfloat_t coherence::vars_t::mapping
5.39.2.6 average
MHAParser::kw_t coherence::vars_t::average
5.39.2.7 invert
MHAParser::bool_t coherence::vars_t::invert
5.39.2.8 ltgcomp
MHAParser::bool_t coherence::vars_t::ltgcomp
5.39.2.9 ltgtau
MHAParser::vfloat_t coherence::vars_t::ltgtau
5.39.2.10 staticgain
MHAParser::vfloat_t coherence::vars_t::staticgain
5.39.2.11 delay
MHAParser::int_t coherence::vars_t::delay
The documentation for this class was generated from the following file:
coherence.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
5.40 combc_if_t Class Reference 267
5.40 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
Additional Inherited Members
5.40.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
268 CONTENTS
5.40.1.1 combc_if_t()
combc_if_t::combc_if_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.40.2 Member Function Documentation
5.40.2.1 prepare()
void combc_if_t::prepare (
mhaconfig_t &chcfg ) [virtual]
Implements MHAPlugin::plugin_t<combc_t >(p. 884).
5.40.2.2 process() [1/2]
mha_wave_t combc_if_t::process (
mha_wave_t s)
5.40.2.3 process() [2/2]
mha_spec_t combc_if_t::process (
mha_spec_t s)
5.40.3 Member Data Documentation
5.40.3.1 outchannels
MHAParser::int_t combc_if_t::outchannels [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.41 combc_t Class Reference 269
5.40.3.2 interleaved
MHAParser::bool_t combc_if_t::interleaved [private]
5.40.3.3 channel_gain_name
MHAParser::string_t combc_if_t::channel_gain_name [private]
5.40.3.4 element_gain_name
MHAParser::string_t combc_if_t::element_gain_name [private]
The documentation for this class was generated from the following file:
combinechannels.cpp
5.41 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)
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.41.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
270 CONTENTS
5.41.1.1 combc_t()
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.41.2 Member Function Documentation
5.41.2.1 process() [1/2]
mha_wave_t combc_t::process (
mha_wave_t s)
5.41.2.2 process() [2/2]
mha_spec_t combc_t::process (
mha_spec_t s)
5.41.3 Member Data Documentation
5.41.3.1 ac_
algo_comm_t combc_t::ac_ [private]
5.41.3.2 interleaved_
bool combc_t::interleaved_ [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.42 comm_var_t Struct Reference 271
5.41.3.3 nbands
unsigned int combc_t::nbands [private]
5.41.3.4 w_out
MHASignal::waveform_t combc_t::w_out [private]
5.41.3.5 s_out
MHASignal::spectrum_t combc_t::s_out [private]
5.41.3.6 channel_gains_
std::vector<mha_real_t>combc_t::channel_gains_ [private]
5.41.3.7 element_gain_name_
std::string combc_t::element_gain_name_ [private]
The documentation for this class was generated from the following file:
combinechannels.cpp
5.42 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.
© 2005-2018 HörTech gGmbH, Oldenburg
272 CONTENTS
5.42.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.42.2 Member Data Documentation
5.42.2.1 data_type
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
5.42.2.2 num_entries
comm_var_t::num_entries
Number of entries.
© 2005-2018 HörTech gGmbH, Oldenburg
5.43 cpuload_t Class Reference 273
5.42.2.3 stride
comm_var_t::stride
length of one row (C interpretation) or of one column (Fortran interpretation)
5.42.2.4 data
comm_var_t::data
Pointer to variable data.
The documentation for this struct was generated from the following files:
mha.h
mha_algo_comm.cpp
5.43 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-2018 HörTech gGmbH, Oldenburg
274 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.43.1 Constructor & Destructor Documentation
5.43.1.1 cpuload_t()
cpuload_t::cpuload_t (
algo_comm_t iac,
const char ,
const char )
5.43.2 Member Function Documentation
5.43.2.1 process() [1/2]
mha_spec_t cpuload_t::process (
mha_spec_t s)
© 2005-2018 HörTech gGmbH, Oldenburg
5.43 cpuload_t Class Reference 275
5.43.2.2 process() [2/2]
mha_wave_t cpuload_t::process (
mha_wave_t s)
5.43.2.3 prepare()
void cpuload_t::prepare (
mhaconfig_t &cf ) [virtual]
Implements MHAPlugin::plugin_t<float >(p. 884).
5.43.2.4 compute_something()
void cpuload_t::compute_something ( ) [inline], [private]
5.43.2.5 compute_something_else()
void cpuload_t::compute_something_else ( ) [inline], [private]
5.43.3 Member Data Documentation
5.43.3.1 factor
MHAParser::float_t cpuload_t::factor [private]
5.43.3.2 use_sine
MHAParser::bool_t cpuload_t::use_sine [private]
5.43.3.3 phase
float cpuload_t::phase [private]
© 2005-2018 HörTech gGmbH, Oldenburg
276 CONTENTS
5.43.3.4 result
volatile float cpuload_t::result [private]
5.43.3.5 table
std::vector<float>cpuload_t::table [private]
The documentation for this class was generated from the following file:
cpuload.cpp
5.44 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 >
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 ()
© 2005-2018 HörTech gGmbH, Oldenburg
5.44 db_if_t Class Reference 277
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.44.1 Constructor & Destructor Documentation
5.44.1.1 db_if_t()
db_if_t::db_if_t (
algo_comm_t iac,
std::string th,
std::string al )
5.44.1.2 db_if_t()
db_if_t::db_if_t ( )
5.44.2 Member Function Documentation
5.44.2.1 process()
mha_wave_t db_if_t::process (
mha_wave_t s)
5.44.2.2 prepare()
void db_if_t::prepare (
mhaconfig_t &conf ) [virtual]
Implements MHAPlugin::plugin_t<db_t >(p. 884).
© 2005-2018 HörTech gGmbH, Oldenburg
278 CONTENTS
5.44.2.3 release()
void db_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<db_t >(p. 885).
5.44.3 Member Data Documentation
5.44.3.1 patchbay
MHAEvents::patchbay_t<db_if_t >db_if_t::patchbay [private]
5.44.3.2 fragsize
MHAParser::int_t db_if_t::fragsize [private]
5.44.3.3 plugloader
MHAParser::mhapluginloader_t db_if_t::plugloader [private]
5.44.3.4 chain
std::string db_if_t::chain [private]
5.44.3.5 algo
std::string db_if_t::algo [private]
5.44.3.6 bypass
bool db_if_t::bypass [private]
The documentation for this class was generated from the following file:
db.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
5.45 db_t Class Reference 279
5.45 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
Additional Inherited Members
5.45.1 Constructor & Destructor Documentation
5.45.1.1 db_t()
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.45.2 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
280 CONTENTS
5.45.2.1 inner_process()
mha_wave_t db_t::inner_process (
mha_wave_t s) [virtual]
Implements MHASignal::doublebuffer_t (p. 938).
5.45.3 Member Data Documentation
5.45.3.1 plugloader
MHAParser::mhapluginloader_t& db_t::plugloader [private]
The documentation for this class was generated from the following file:
db.cpp
5.46 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
© 2005-2018 HörTech gGmbH, Oldenburg
5.46 dc::dc_if_t Class Reference 281
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
Additional Inherited Members
5.46.1 Constructor & Destructor Documentation
5.46.1.1 dc_if_t()
dc::dc_if_t::dc_if_t (
const algo_comm_t &ac_,
const std::string & th_,
const std::string & al_ )
5.46.2 Member Function Documentation
5.46.2.1 prepare()
void dc::dc_if_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<dc_t >(p. 884).
© 2005-2018 HörTech gGmbH, Oldenburg
282 CONTENTS
5.46.2.2 process() [1/2]
mha_wave_t dc::dc_if_t::process (
mha_wave_t s_in )
5.46.2.3 process() [2/2]
mha_spec_t dc::dc_if_t::process (
mha_spec_t s_in )
5.46.2.4 update_monitors()
void dc::dc_if_t::update_monitors ( ) [private]
Called from within the processing routines: updates the monitor variables.
5.46.2.5 update()
void dc::dc_if_t::update ( ) [private]
Called by MHA configuration change event mechanism: creates new runtime configuration.
5.46.3 Member Data Documentation
5.46.3.1 algo
std::string dc::dc_if_t::algo [private]
5.46.3.2 wbinhib
wideband_inhib_vars_t dc::dc_if_t::wbinhib [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.47 dc::dc_t Class Reference 283
5.46.3.3 patchbay
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
5.47 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
© 2005-2018 HörTech gGmbH, Oldenburg
284 CONTENTS
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
Additional Inherited Members
5.47.1 Constructor & Destructor Documentation
5.47.1.1 dc_t()
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.47.2 Member Function Documentation
5.47.2.1 process() [1/2]
mha_wave_t dc::dc_t::process (
mha_wave_t s)
5.47.2.2 process() [2/2]
mha_spec_t dc::dc_t::process (
mha_spec_t s,
wb_inhib_cfg_t wbinhib )
© 2005-2018 HörTech gGmbH, Oldenburg
5.47 dc::dc_t Class Reference 285
5.47.2.3 explicit_insert()
void dc::dc_t::explicit_insert ( )
5.47.2.4 get_nbands()
unsigned dc::dc_t::get_nbands ( ) const [inline]
Number of frequency bands accessor.
5.47.2.5 get_level_in_db()
const MHASignal::waveform_t& dc::dc_t::get_level_in_db ( ) const [inline]
5.47.2.6 get_level_in_db_adjusted()
const MHASignal::waveform_t& dc::dc_t::get_level_in_db_adjusted ( ) const [inline]
5.47.3 Member Data Documentation
5.47.3.1 gt
std::vector<MHATableLookup::linear_table_t>dc::dc_t::gt [private]
5.47.3.2 rmslevel
MHAFilter::o1flt_lowpass_t dc::dc_t::rmslevel [private]
5.47.3.3 attack
MHAFilter::o1flt_lowpass_t dc::dc_t::attack [private]
© 2005-2018 HörTech gGmbH, Oldenburg
286 CONTENTS
5.47.3.4 decay
MHAFilter::o1flt_maxtrack_t dc::dc_t::decay [private]
5.47.3.5 powersum
bool dc::dc_t::powersum [private]
5.47.3.6 bypass
bool dc::dc_t::bypass [private]
5.47.3.7 naudiochannels
unsigned int dc::dc_t::naudiochannels [private]
5.47.3.8 nbands
unsigned int dc::dc_t::nbands [private]
5.47.3.9 level_in_db
MHA_AC::waveform_t dc::dc_t::level_in_db [private]
5.47.3.10 level_in_db_adjusted
MHA_AC::waveform_t dc::dc_t::level_in_db_adjusted [private]
5.47.3.11 inhib_gain
MHA_AC::waveform_t dc::dc_t::inhib_gain [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.48 dc::dc_vars_t Class Reference 287
5.47.3.12 max_level_difference
MHASignal::waveform_t dc::dc_t::max_level_difference [private]
5.47.3.13 k_nyquist
unsigned int dc::dc_t::k_nyquist [private]
The documentation for this class was generated from the following file:
dc.cpp
5.48 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 &)
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
© 2005-2018 HörTech gGmbH, Oldenburg
288 CONTENTS
• 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.48.1 Constructor & Destructor Documentation
5.48.1.1 dc_vars_t()
dc::dc_vars_t::dc_vars_t (
MHAParser::parser_t &p)
5.48.2 Member Data Documentation
5.48.2.1 powersum
MHAParser::bool_t dc::dc_vars_t::powersum
5.48.2.2 gtdata
MHAParser::mfloat_t dc::dc_vars_t::gtdata
© 2005-2018 HörTech gGmbH, Oldenburg
5.48 dc::dc_vars_t Class Reference 289
5.48.2.3 gtmin
MHAParser::vfloat_t dc::dc_vars_t::gtmin
5.48.2.4 gtstep
MHAParser::vfloat_t dc::dc_vars_t::gtstep
5.48.2.5 taurmslevel
MHAParser::vfloat_t dc::dc_vars_t::taurmslevel
5.48.2.6 tauattack
MHAParser::vfloat_t dc::dc_vars_t::tauattack
5.48.2.7 taudecay
MHAParser::vfloat_t dc::dc_vars_t::taudecay
5.48.2.8 filterbank
MHAParser::string_t dc::dc_vars_t::filterbank
5.48.2.9 cf_name
std::string dc::dc_vars_t::cf_name
5.48.2.10 ef_name
std::string dc::dc_vars_t::ef_name
© 2005-2018 HörTech gGmbH, Oldenburg
290 CONTENTS
5.48.2.11 bw_name
std::string dc::dc_vars_t::bw_name
5.48.2.12 chname
MHAParser::string_t dc::dc_vars_t::chname
5.48.2.13 bypass
MHAParser::bool_t dc::dc_vars_t::bypass
5.48.2.14 clientid
MHAParser::string_t dc::dc_vars_t::clientid
5.48.2.15 gainrule
MHAParser::string_t dc::dc_vars_t::gainrule
5.48.2.16 preset
MHAParser::string_t dc::dc_vars_t::preset
5.48.2.17 modified
MHAParser::int_mon_t dc::dc_vars_t::modified
5.48.2.18 max_level_difference
MHAParser::mfloat_t dc::dc_vars_t::max_level_difference
© 2005-2018 HörTech gGmbH, Oldenburg
5.48 dc::dc_vars_t Class Reference 291
5.48.2.19 input_level
MHAParser::vfloat_mon_t dc::dc_vars_t::input_level
5.48.2.20 filtered_level
MHAParser::vfloat_mon_t dc::dc_vars_t::filtered_level
5.48.2.21 center_frequencies
MHAParser::vfloat_mon_t dc::dc_vars_t::center_frequencies
5.48.2.22 edge_frequencies
MHAParser::vfloat_mon_t dc::dc_vars_t::edge_frequencies
5.48.2.23 band_weights
MHAParser::vfloat_mon_t dc::dc_vars_t::band_weights
5.48.2.24 use_wbinhib
MHAParser::bool_t dc::dc_vars_t::use_wbinhib
The documentation for this class was generated from the following file:
dc.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
292 CONTENTS
5.49 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.49.1 Constructor & Destructor Documentation
5.49.1.1 dc_vars_validator_t()
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.50 dc::wb_inhib_cfg_t Class Reference
Public Member Functions
wb_inhib_cfg_t (const wideband_inhib_vars_t &vars)
© 2005-2018 HörTech gGmbH, Oldenburg
5.50 dc::wb_inhib_cfg_t Class Reference 293
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
5.50.1 Constructor & Destructor Documentation
5.50.1.1 wb_inhib_cfg_t()
dc::wb_inhib_cfg_t::wb_inhib_cfg_t (
const wideband_inhib_vars_t &vars )
5.50.2 Member Data Documentation
5.50.2.1 weights
std::vector<float>dc::wb_inhib_cfg_t::weights
5.50.2.2 dl_map_min
float dc::wb_inhib_cfg_t::dl_map_min
5.50.2.3 dl_map_max
float dc::wb_inhib_cfg_t::dl_map_max
5.50.2.4 dl_diff
float dc::wb_inhib_cfg_t::dl_diff
© 2005-2018 HörTech gGmbH, Oldenburg
294 CONTENTS
5.50.2.5 l_min
float dc::wb_inhib_cfg_t::l_min
5.50.2.6 g_scale
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.51 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 >
Public Member Functions
wideband_inhib_vars_t ()
• void setchannels (unsigned int ch, unsigned int bnds)
wb_inhib_cfg_t current ()
• void update ()
© 2005-2018 HörTech gGmbH, Oldenburg
5.51 dc::wideband_inhib_vars_t Class Reference 295
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.51.1 Constructor & Destructor Documentation
5.51.1.1 wideband_inhib_vars_t()
dc::wideband_inhib_vars_t::wideband_inhib_vars_t ( )
5.51.2 Member Function Documentation
5.51.2.1 setchannels()
void dc::wideband_inhib_vars_t::setchannels (
unsigned int ch,
unsigned int bnds ) [inline]
5.51.2.2 current()
wb_inhib_cfg_tdc::wideband_inhib_vars_t::current ( ) [inline]
5.51.2.3 update()
void dc::wideband_inhib_vars_t::update ( )
© 2005-2018 HörTech gGmbH, Oldenburg
296 CONTENTS
5.51.3 Member Data Documentation
5.51.3.1 weights
MHAParser::vfloat_t dc::wideband_inhib_vars_t::weights
5.51.3.2 dl_map_min
MHAParser::float_t dc::wideband_inhib_vars_t::dl_map_min
5.51.3.3 dl_map_max
MHAParser::float_t dc::wideband_inhib_vars_t::dl_map_max
5.51.3.4 l_min
MHAParser::float_t dc::wideband_inhib_vars_t::l_min
5.51.3.5 g_scale
MHAParser::mfloat_t dc::wideband_inhib_vars_t::g_scale
5.51.3.6 patchbay
MHAEvents::patchbay_t<wideband_inhib_vars_t>dc::wideband_inhib_vars_t::patchbay
5.51.3.7 channels
unsigned int dc::wideband_inhib_vars_t::channels
© 2005-2018 HörTech gGmbH, Oldenburg
5.52 dc_simple::dc_if_t Class Reference 297
5.51.3.8 bands
unsigned int dc::wideband_inhib_vars_t::bands
The documentation for this class was generated from the following file:
dc.cpp
5.52 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 )
Private Member Functions
• void update_dc ()
• void update_level ()
• void has_been_modified ()
• void read_modified ()
• void update_level_mon ()
• void update_gain_mon ()
© 2005-2018 HörTech gGmbH, Oldenburg
298 CONTENTS
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.52.1 Constructor & Destructor Documentation
5.52.1.1 dc_if_t()
dc_simple::dc_if_t::dc_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 prepare()
void dc_simple::dc_if_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<runtime_cfg_t >(p. 884).
5.52.2.2 release()
void dc_simple::dc_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<runtime_cfg_t >(p. 885).
© 2005-2018 HörTech gGmbH, Oldenburg
5.52 dc_simple::dc_if_t Class Reference 299
5.52.2.3 process() [1/2]
mha_spec_t dc_simple::dc_if_t::process (
mha_spec_t s)
5.52.2.4 process() [2/2]
mha_wave_t dc_simple::dc_if_t::process (
mha_wave_t s)
5.52.2.5 update_dc()
void dc_simple::dc_if_t::update_dc ( ) [private]
5.52.2.6 update_level()
void dc_simple::dc_if_t::update_level ( ) [private]
5.52.2.7 has_been_modified()
void dc_simple::dc_if_t::has_been_modified ( ) [inline], [private]
5.52.2.8 read_modified()
void dc_simple::dc_if_t::read_modified ( ) [inline], [private]
5.52.2.9 update_level_mon()
void dc_simple::dc_if_t::update_level_mon ( ) [private]
5.52.2.10 update_gain_mon()
void dc_simple::dc_if_t::update_gain_mon ( ) [private]
© 2005-2018 HörTech gGmbH, Oldenburg
300 CONTENTS
5.52.3 Member Data Documentation
5.52.3.1 clientid
MHAParser::string_t dc_simple::dc_if_t::clientid [private]
5.52.3.2 gainrule
MHAParser::string_t dc_simple::dc_if_t::gainrule [private]
5.52.3.3 preset
MHAParser::string_t dc_simple::dc_if_t::preset [private]
5.52.3.4 modified
MHAParser::int_mon_t dc_simple::dc_if_t::modified [private]
5.52.3.5 mon_l
MHAParser::vfloat_mon_t dc_simple::dc_if_t::mon_l [private]
5.52.3.6 mon_g
MHAParser::vfloat_mon_t dc_simple::dc_if_t::mon_g [private]
5.52.3.7 filterbank
MHAParser::string_t dc_simple::dc_if_t::filterbank [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.53 dc_simple::dc_t Class Reference 301
5.52.3.8 center_frequencies
MHAParser::vfloat_mon_t dc_simple::dc_if_t::center_frequencies [private]
5.52.3.9 edge_frequencies
MHAParser::vfloat_mon_t dc_simple::dc_if_t::edge_frequencies [private]
5.52.3.10 patchbay
MHAEvents::patchbay_t<dc_if_t>dc_simple::dc_if_t::patchbay [private]
5.52.3.11 prepared
bool dc_simple::dc_if_t::prepared [private]
The documentation for this class was generated from the following file:
dc_simple.cpp
5.53 dc_simple::dc_t Class Reference
Inheritance diagram for dc_simple::dc_t:
dc_simple::dc_t
dc_simple::dc_vars
_validator_t
© 2005-2018 HörTech gGmbH, Oldenburg
302 CONTENTS
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
Additional Inherited Members
5.53.1 Constructor & Destructor Documentation
5.53.1.1 dc_t()
dc_simple::dc_t::dc_t (
const dc_vars_t &vars,
mha_real_t filter_rate,
unsigned int nch,
unsigned int fftlen )
5.53.2 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.53 dc_simple::dc_t Class Reference 303
5.53.2.1 process() [1/2]
mha_spec_t dc_simple::dc_t::process (
mha_spec_t s,
mha_wave_t level_db )
5.53.2.2 process() [2/2]
mha_wave_t dc_simple::dc_t::process (
mha_wave_t s,
mha_wave_t level_db )
5.53.3 Member Data Documentation
5.53.3.1 expansion_threshold
std::vector<mha_real_t>dc_simple::dc_t::expansion_threshold [private]
5.53.3.2 limiter_threshold
std::vector<mha_real_t>dc_simple::dc_t::limiter_threshold [private]
5.53.3.3 compression
std::vector<line_t>dc_simple::dc_t::compression [private]
5.53.3.4 expansion
std::vector<line_t>dc_simple::dc_t::expansion [private]
5.53.3.5 limiter
std::vector<line_t>dc_simple::dc_t::limiter [private]
© 2005-2018 HörTech gGmbH, Oldenburg
304 CONTENTS
5.53.3.6 maxgain
std::vector<mha_real_t>dc_simple::dc_t::maxgain [private]
5.53.3.7 nbands
unsigned int dc_simple::dc_t::nbands [private]
5.53.3.8 mon_l
std::vector<float>dc_simple::dc_t::mon_l
5.53.3.9 mon_g
std::vector<float>dc_simple::dc_t::mon_g
The documentation for this class was generated from the following file:
dc_simple.cpp
5.54 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.54.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.54 dc_simple::dc_t::line_t Class Reference 305
5.54.1.1 line_t() [1/2]
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.54.1.2 line_t() [2/2]
dc_simple::dc_t::line_t::line_t (
mha_real_t x1,
mha_real_t y1,
mha_real_t slope )
5.54.2 Member Function Documentation
5.54.2.1 operator()()
mha_real_t dc_simple::dc_t::line_t::operator() (
mha_real_t x) [inline]
5.54.3 Member Data Documentation
5.54.3.1 m
mha_real_t dc_simple::dc_t::line_t::m [private]
5.54.3.2 y0
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-2018 HörTech gGmbH, Oldenburg
306 CONTENTS
5.55 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.55.1 Constructor & Destructor Documentation
5.55.1.1 dc_vars_t()
dc_simple::dc_vars_t::dc_vars_t (
MHAParser::parser_t &p)
© 2005-2018 HörTech gGmbH, Oldenburg
5.55 dc_simple::dc_vars_t Class Reference 307
5.55.2 Member Data Documentation
5.55.2.1 g50
MHAParser::vfloat_t dc_simple::dc_vars_t::g50
5.55.2.2 g80
MHAParser::vfloat_t dc_simple::dc_vars_t::g80
5.55.2.3 maxgain
MHAParser::vfloat_t dc_simple::dc_vars_t::maxgain
5.55.2.4 expansion_threshold
MHAParser::vfloat_t dc_simple::dc_vars_t::expansion_threshold
5.55.2.5 expansion_slope
MHAParser::vfloat_t dc_simple::dc_vars_t::expansion_slope
5.55.2.6 limiter_threshold
MHAParser::vfloat_t dc_simple::dc_vars_t::limiter_threshold
5.55.2.7 tauattack
MHAParser::vfloat_t dc_simple::dc_vars_t::tauattack
© 2005-2018 HörTech gGmbH, Oldenburg
308 CONTENTS
5.55.2.8 taudecay
MHAParser::vfloat_t dc_simple::dc_vars_t::taudecay
5.55.2.9 bypass
MHAParser::bool_t dc_simple::dc_vars_t::bypass
The documentation for this class was generated from the following file:
dc_simple.cpp
5.56 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)
5.56.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.57 dc_simple::level_smoother_t Class Reference 309
5.56.1.1 dc_vars_validator_t()
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.57 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_-
tbuscfg)
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-2018 HörTech gGmbH, Oldenburg
310 CONTENTS
Additional Inherited Members
5.57.1 Constructor & Destructor Documentation
5.57.1.1 level_smoother_t()
dc_simple::level_smoother_t::level_smoother_t (
const dc_vars_t &vars,
mha_real_t filter_rate,
mhaconfig_t buscfg )
5.57.2 Member Function Documentation
5.57.2.1 process() [1/2]
mha_wave_t dc_simple::level_smoother_t::process (
mha_spec_t s)
5.57.2.2 process() [2/2]
mha_wave_t dc_simple::level_smoother_t::process (
mha_wave_t s)
5.57.3 Member Data Documentation
5.57.3.1 attack
MHAFilter::o1flt_lowpass_t dc_simple::level_smoother_t::attack [private]
5.57.3.2 decay
MHAFilter::o1flt_maxtrack_t dc_simple::level_smoother_t::decay [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.58 delay::interface_t Class Reference 311
5.57.3.3 nbands
unsigned int dc_simple::level_smoother_t::nbands [private]
5.57.3.4 fftlen
unsigned int dc_simple::level_smoother_t::fftlen [private]
5.57.3.5 level_wave
MHASignal::waveform_t dc_simple::level_smoother_t::level_wave [private]
5.57.3.6 level_spec
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
5.58 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 >
© 2005-2018 HörTech gGmbH, Oldenburg
312 CONTENTS
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
Additional Inherited Members
5.58.1 Constructor & Destructor Documentation
5.58.1.1 interface_t()
delay::interface_t::interface_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.58.2 Member Function Documentation
5.58.2.1 prepare()
void delay::interface_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<MHASignal::delay_t >(p. 884).
© 2005-2018 HörTech gGmbH, Oldenburg
5.59 delaysum::delaysum_if_t Class Reference 313
5.58.2.2 process()
mha_wave_t delay::interface_t::process (
mha_wave_t s)
5.58.2.3 update()
void delay::interface_t::update ( ) [private]
5.58.3 Member Data Documentation
5.58.3.1 delays
MHAParser::vint_t delay::interface_t::delays [private]
5.58.3.2 patchbay
MHAEvents::patchbay_t<interface_t>delay::interface_t::patchbay [private]
The documentation for this class was generated from the following file:
delay.cpp
5.59 delaysum::delaysum_if_t Class Reference
Interface class for the delaysum plugin.
© 2005-2018 HörTech gGmbH, Oldenburg
314 CONTENTS
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-2018 HörTech gGmbH, Oldenburg
5.59 delaysum::delaysum_if_t Class Reference 315
Additional Inherited Members
5.59.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.59.2 Constructor & Destructor Documentation
5.59.2.1 delaysum_if_t()
delaysum::delaysum_if_t::delaysum_if_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.59.3 Member Function Documentation
5.59.3.1 process()
mha_wave_t delaysum::delaysum_if_t::process (
mha_wave_t wave )
5.59.3.2 prepare()
void delaysum::delaysum_if_t::prepare (
mhaconfig_t &tfcfg ) [virtual]
Implements MHAPlugin::plugin_t<delaysum_t >(p. 884).
© 2005-2018 HörTech gGmbH, Oldenburg
316 CONTENTS
5.59.3.3 release()
void delaysum::delaysum_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<delaysum_t >(p. 885).
5.59.3.4 update_cfg()
void delaysum::delaysum_if_t::update_cfg (
void ) [private]
5.59.4 Member Data Documentation
5.59.4.1 weights
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.59.4.2 delay
MHAParser::vint_t delaysum::delaysum_if_t::delay [private]
vector of channel-specific delays, in samples.
5.59.4.3 patchbay
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.60 delaysum::delaysum_t Class Reference 317
5.60 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.
5.60.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.60.2 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
318 CONTENTS
5.60.2.1 delaysum_t()
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.60.3 Member Function Documentation
5.60.3.1 process()
mha_wave_t delaysum::delaysum_t::process (
mha_wave_t signal )
5.60.4 Member Data Documentation
5.60.4.1 weights
std::vector<mha_real_t>delaysum::delaysum_t::weights [private]
Relative weights for each channel. Order is [chan0, chan1, ...].
© 2005-2018 HörTech gGmbH, Oldenburg
5.61 doasvm_classification Class Reference 319
5.60.4.2 out
MHASignal::waveform_t delaysum::delaysum_t::out [private]
Output waveform.
The documentation for this class was generated from the following file:
delaysum.cpp
5.61 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)
© 2005-2018 HörTech gGmbH, Oldenburg
320 CONTENTS
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
Private Member Functions
• void update_cfg ()
Private Attributes
MHAEvents::patchbay_t<doasvm_classification >patchbay
Additional Inherited Members
5.61.1 Constructor & Destructor Documentation
5.61.1.1 doasvm_classification()
doasvm_classification::doasvm_classification (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
5.61.1.2 doasvm_classification()
doasvm_classification::doasvm_classification ( )
5.61.2 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.61 doasvm_classification Class Reference 321
5.61.2.1 process()
mha_wave_t doasvm_classification::process (
mha_wave_t signal )
Checks for the most recent configuration and defers processing to it.
5.61.2.2 prepare()
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. 884).
5.61.2.3 release()
void doasvm_classification::release (
void ) [inline], [virtual]
Reimplemented from MHAPlugin::plugin_t<doasvm_classification_config >(p. 885).
5.61.2.4 update_cfg()
void doasvm_classification::update_cfg ( ) [private]
5.61.3 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
322 CONTENTS
5.61.3.1 angles
MHAParser::vfloat_t doasvm_classification::angles
5.61.3.2 w
MHAParser::mfloat_t doasvm_classification::w
5.61.3.3 b
MHAParser::vfloat_t doasvm_classification::b
5.61.3.4 x
MHAParser::vfloat_t doasvm_classification::x
5.61.3.5 y
MHAParser::vfloat_t doasvm_classification::y
5.61.3.6 p_name
MHAParser::string_t doasvm_classification::p_name
5.61.3.7 max_p_ind_name
MHAParser::string_t doasvm_classification::max_p_ind_name
5.61.3.8 vGCC_name
MHAParser::string_t doasvm_classification::vGCC_name
© 2005-2018 HörTech gGmbH, Oldenburg
5.62 doasvm_classification_config Class Reference 323
5.61.3.9 patchbay
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.62 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 )
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.62.1 Constructor & Destructor Documentation
5.62.1.1 doasvm_classification_config()
doasvm_classification_config::doasvm_classification_config (
algo_comm_t &ac,
const mhaconfig_t in_cfg,
doasvm_classification _doasvm )
5.62.1.2 doasvm_classification_config()
doasvm_classification_config::doasvm_classification_config ( )
© 2005-2018 HörTech gGmbH, Oldenburg
324 CONTENTS
5.62.2 Member Function Documentation
5.62.2.1 process()
mha_wave_t doasvm_classification_config::process (
mha_wave_t wave )
5.62.3 Member Data Documentation
5.62.3.1 ac
algo_comm_t& doasvm_classification_config::ac
5.62.3.2 doasvm
doasvm_classificationdoasvm_classification_config::doasvm
5.62.3.3 p
MHA_AC::waveform_t doasvm_classification_config::p
5.62.3.4 p_max
MHA_AC::int_t doasvm_classification_config::p_max
5.62.3.5 c
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-2018 HörTech gGmbH, Oldenburg
5.63 doasvm_feature_extraction Class Reference 325
5.63 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-2018 HörTech gGmbH, Oldenburg
326 CONTENTS
Private Member Functions
• void update_cfg ()
Private Attributes
MHAEvents::patchbay_t<doasvm_feature_extraction >patchbay
Additional Inherited Members
5.63.1 Constructor & Destructor Documentation
5.63.1.1 doasvm_feature_extraction()
doasvm_feature_extraction::doasvm_feature_extraction (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
5.63.1.2 doasvm_feature_extraction()
doasvm_feature_extraction::doasvm_feature_extraction ( )
5.63.2 Member Function Documentation
5.63.2.1 process()
mha_wave_t doasvm_feature_extraction::process (
mha_wave_t signal )
Checks for the most recent configuration and defers processing to it.
5.63.2.2 prepare()
void doasvm_feature_extraction::prepare (
mhaconfig_t &signal_info ) [virtual]
Plugin preparation.
An opportunity to validate configuration parameters before instantiating a configuration.
© 2005-2018 HörTech gGmbH, Oldenburg
5.63 doasvm_feature_extraction Class Reference 327
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. 884).
5.63.2.3 release()
void doasvm_feature_extraction::release (
void ) [inline], [virtual]
Reimplemented from MHAPlugin::plugin_t<doasvm_feature_extraction_config >
(p. 885).
5.63.2.4 update_cfg()
void doasvm_feature_extraction::update_cfg ( ) [private]
5.63.3 Member Data Documentation
5.63.3.1 fftlen
MHAParser::int_t doasvm_feature_extraction::fftlen
5.63.3.2 max_lag
MHAParser::int_t doasvm_feature_extraction::max_lag
5.63.3.3 nupsample
MHAParser::int_t doasvm_feature_extraction::nupsample
© 2005-2018 HörTech gGmbH, Oldenburg
328 CONTENTS
5.63.3.4 vGCC_name
MHAParser::string_t doasvm_feature_extraction::vGCC_name
5.63.3.5 patchbay
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.64 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-2018 HörTech gGmbH, Oldenburg
5.64 doasvm_feature_extraction_config Class Reference 329
5.64.1 Constructor & Destructor Documentation
5.64.1.1 doasvm_feature_extraction_config()
doasvm_feature_extraction_config::doasvm_feature_extraction_config (
algo_comm_t &ac,
const mhaconfig_t in_cfg,
doasvm_feature_extraction _doagcc )
5.64.1.2 doasvm_feature_extraction_config()
doasvm_feature_extraction_config::doasvm_feature_extraction_config ( )
5.64.2 Member Function Documentation
5.64.2.1 process()
mha_wave_t doasvm_feature_extraction_config::process (
mha_wave_t wave )
5.64.3 Member Data Documentation
5.64.3.1 doagcc
doasvm_feature_extractiondoasvm_feature_extraction_config::doagcc
5.64.3.2 wndlen
unsigned int doasvm_feature_extraction_config::wndlen
© 2005-2018 HörTech gGmbH, Oldenburg
330 CONTENTS
5.64.3.3 fftlen
unsigned int doasvm_feature_extraction_config::fftlen
5.64.3.4 G_length
unsigned int doasvm_feature_extraction_config::G_length
5.64.3.5 GCC_start
unsigned int doasvm_feature_extraction_config::GCC_start
5.64.3.6 GCC_end
unsigned int doasvm_feature_extraction_config::GCC_end
5.64.3.7 vGCC_ac
MHA_AC::waveform_t doasvm_feature_extraction_config::vGCC_ac
5.64.3.8 fft
mha_fft_t doasvm_feature_extraction_config::fft
5.64.3.9 ifft
mha_fft_t doasvm_feature_extraction_config::ifft
5.64.3.10 hifftwin_sum
double doasvm_feature_extraction_config::hifftwin_sum
© 2005-2018 HörTech gGmbH, Oldenburg
5.64 doasvm_feature_extraction_config Class Reference 331
5.64.3.11 proc_wave
MHASignal::waveform_t doasvm_feature_extraction_config::proc_wave
5.64.3.12 hwin
MHASignal::waveform_t doasvm_feature_extraction_config::hwin
5.64.3.13 hifftwin
MHASignal::waveform_t doasvm_feature_extraction_config::hifftwin
5.64.3.14 vGCC
MHASignal::waveform_t doasvm_feature_extraction_config::vGCC
5.64.3.15 in_spec
MHASignal::spectrum_t doasvm_feature_extraction_config::in_spec
5.64.3.16 G
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-2018 HörTech gGmbH, Oldenburg
332 CONTENTS
5.65 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-2018 HörTech gGmbH, Oldenburg
5.65 droptect_t Class Reference 333
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.65.1 Detailed Description
Detect dropouts in a signal with a constant spectrum.
5.65.2 Constructor & Destructor Documentation
5.65.2.1 droptect_t()
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.65.3 Member Function Documentation
5.65.3.1 prepare()
void droptect_t::prepare (
mhaconfig_t &signal_info ) [virtual]
Implements MHAPlugin::plugin_t<int >(p. 884).
© 2005-2018 HörTech gGmbH, Oldenburg
334 CONTENTS
5.65.3.2 release()
void droptect_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<int >(p. 885).
5.65.3.3 process()
mha_spec_t droptect_t::process (
mha_spec_t signal )
5.65.4 Member Data Documentation
5.65.4.1 dropouts
MHAParser::vint_mon_t droptect_t::dropouts [private]
5.65.4.2 consecutive_dropouts
MHAParser::vint_mon_t droptect_t::consecutive_dropouts [private]
5.65.4.3 blocks
MHAParser::int_mon_t droptect_t::blocks [private]
5.65.4.4 reset
MHAParser::bool_t droptect_t::reset [private]
5.65.4.5 threshold
MHAParser::float_t droptect_t::threshold [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.65 droptect_t Class Reference 335
5.65.4.6 current_powspec
MHASignal::waveform_tdroptect_t::current_powspec [private]
5.65.4.7 filtered_powspec
MHASignal::waveform_tdroptect_t::filtered_powspec [private]
5.65.4.8 tau
MHAParser::float_t droptect_t::tau [private]
5.65.4.9 filter_activated
std::vector<bool>droptect_t::filter_activated [private]
5.65.4.10 period
float droptect_t::period [private]
The period of the process callback.
5.65.4.11 filtered_powspec_mon
MHAParser::mfloat_mon_t droptect_t::filtered_powspec_mon [private]
User access to filtered spectrum.
5.65.4.12 level_mon
MHAParser::float_mon_t droptect_t::level_mon [private]
The documentation for this class was generated from the following file:
droptect.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
336 CONTENTS
5.66 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.66.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.66 ds_t Class Reference 337
5.66.1.1 ds_t()
ds_t::ds_t (
algo_comm_t iac,
std::string ,
std::string )
5.66.2 Member Function Documentation
5.66.2.1 process()
mha_wave_t ds_t::process (
mha_wave_t s)
5.66.2.2 prepare()
void ds_t::prepare (
mhaconfig_t &cf ) [virtual]
Implements MHAPlugin::plugin_t<MHASignal::waveform_t >(p. 884).
5.66.2.3 release()
void ds_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<MHASignal::waveform_t >(p. 885).
5.66.3 Member Data Documentation
5.66.3.1 ratio
MHAParser::int_t ds_t::ratio [private]
© 2005-2018 HörTech gGmbH, Oldenburg
338 CONTENTS
5.66.3.2 antialias
MHAFilter::iir_filter_t ds_t::antialias [private]
The documentation for this class was generated from the following file:
downsample.cpp
5.67 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
Private Attributes
• std::string fullname
• std::string modulename
mha_libhandle_t h
5.67.1 Constructor & Destructor Documentation
5.67.1.1 dynamiclib_t()
dynamiclib_t::dynamiclib_t (
const std::string & n)
5.67.1.2 dynamiclib_t()
dynamiclib_t::dynamiclib_t ( )
5.67.2 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.67 dynamiclib_t Class Reference 339
5.67.2.1 resolve()
void dynamiclib_t::resolve (
const std::string & n)
5.67.2.2 resolve_checked()
void dynamiclib_t::resolve_checked (
const std::string & n)
5.67.2.3 getmodulename()
const std::string& dynamiclib_t::getmodulename ( ) const [inline]
5.67.2.4 getname()
const std::string& dynamiclib_t::getname ( ) const [inline]
5.67.3 Member Data Documentation
5.67.3.1 fullname
std::string dynamiclib_t::fullname [private]
5.67.3.2 modulename
std::string dynamiclib_t::modulename [private]
5.67.3.3 h
mha_libhandle_t dynamiclib_t::h [private]
The documentation for this class was generated from the following files:
mha_os.h
mha_os.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
340 CONTENTS
5.68 DynComp::dc_afterburn_rt_t Class Reference
Real-time class for after burn effect.
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.68.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.68.2 Constructor & Destructor Documentation
5.68.2.1 dc_afterburn_rt_t()
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.68.3 Member Function Documentation
5.68.3.1 burn()
void DynComp::dc_afterburn_rt_t::burn (
float & Gin,
float Lin,
unsigned int band,
unsigned int channel ) [inline]
gain modifier method (afterburn).
© 2005-2018 HörTech gGmbH, Oldenburg
5.68 DynComp::dc_afterburn_rt_t Class Reference 341
Parameters
Gin Linear gain.
Lin Input level (Pascal).
band Filter band number.
channel Channel number.
Output level for MPO is estimated by Gin Lin.
5.68.4 Member Data Documentation
5.68.4.1 drain_inv
std::vector<float>DynComp::dc_afterburn_rt_t::drain_inv [private]
5.68.4.2 conflux
std::vector<float>DynComp::dc_afterburn_rt_t::conflux [private]
5.68.4.3 maxgain
std::vector<float>DynComp::dc_afterburn_rt_t::maxgain [private]
5.68.4.4 mpo_inv
std::vector<float>DynComp::dc_afterburn_rt_t::mpo_inv [private]
5.68.4.5 lp
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
© 2005-2018 HörTech gGmbH, Oldenburg
342 CONTENTS
5.69 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 >
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.69 DynComp::dc_afterburn_t Class Reference 343
Additional Inherited Members
5.69.1 Detailed Description
Afterburn class, to be defined as a member of compressors.
5.69.2 Constructor & Destructor Documentation
5.69.2.1 dc_afterburn_t()
DynComp::dc_afterburn_t::dc_afterburn_t ( )
5.69.3 Member Function Documentation
5.69.3.1 set_fb_pars()
void DynComp::dc_afterburn_t::set_fb_pars (
const std::vector<float >&cf,
unsigned int channels,
float srate )
5.69.3.2 unset_fb_pars()
void DynComp::dc_afterburn_t::unset_fb_pars ( )
5.69.3.3 update_burner()
void DynComp::dc_afterburn_t::update_burner ( ) [inline]
© 2005-2018 HörTech gGmbH, Oldenburg
344 CONTENTS
5.69.3.4 burn()
void DynComp::dc_afterburn_t::burn (
float & Gin,
float Lin,
unsigned int band,
unsigned int channel ) [inline]
5.69.3.5 update()
void DynComp::dc_afterburn_t::update ( ) [private]
5.69.4 Member Data Documentation
5.69.4.1 patchbay
MHAEvents::patchbay_t<dc_afterburn_t>DynComp::dc_afterburn_t::patchbay [private]
5.69.4.2 _cf
std::vector<float>DynComp::dc_afterburn_t::_cf [private]
5.69.4.3 _channels
unsigned int DynComp::dc_afterburn_t::_channels [private]
5.69.4.4 _srate
float DynComp::dc_afterburn_t::_srate [private]
5.69.4.5 commit_pending
bool DynComp::dc_afterburn_t::commit_pending [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.70 DynComp::dc_afterburn_vars_t Class Reference 345
5.69.4.6 fb_pars_configured
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.70 DynComp::dc_afterburn_vars_t Class Reference
Variables for dc_afterburn_t (p. 342) class.
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
© 2005-2018 HörTech gGmbH, Oldenburg
346 CONTENTS
Additional Inherited Members
5.70.1 Detailed Description
Variables for dc_afterburn_t (p. 342) class.
5.70.2 Constructor & Destructor Documentation
5.70.2.1 dc_afterburn_vars_t()
DynComp::dc_afterburn_vars_t::dc_afterburn_vars_t ( )
5.70.3 Member Data Documentation
5.70.3.1 f
MHAParser::vfloat_t DynComp::dc_afterburn_vars_t::f
5.70.3.2 drain
MHAParser::vfloat_t DynComp::dc_afterburn_vars_t::drain
5.70.3.3 conflux
MHAParser::vfloat_t DynComp::dc_afterburn_vars_t::conflux
5.70.3.4 maxgain
MHAParser::vfloat_t DynComp::dc_afterburn_vars_t::maxgain
© 2005-2018 HörTech gGmbH, Oldenburg
5.71 DynComp::gaintable_t Class Reference 347
5.70.3.5 mpo
MHAParser::vfloat_t DynComp::dc_afterburn_vars_t::mpo
5.70.3.6 taugain
MHAParser::float_t DynComp::dc_afterburn_vars_t::taugain
5.70.3.7 commit
MHAParser::kw_t DynComp::dc_afterburn_vars_t::commit
5.70.3.8 bypass
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.71 DynComp::gaintable_t Class Reference
Gain table class.
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
© 2005-2018 HörTech gGmbH, Oldenburg
348 CONTENTS
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.71.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. 349) member function via a gain
prescription rule from an auditory profile.
5.71.2 Constructor & Destructor Documentation
5.71.2.1 gaintable_t()
gaintable_t::gaintable_t (
const std::vector<mha_real_t >&LInput,
const std::vector<mha_real_t >&FCenter,
unsigned int channels )
Constructor.
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.71.2.2 gaintable_t()
gaintable_t::gaintable_t ( )
© 2005-2018 HörTech gGmbH, Oldenburg
5.71 DynComp::gaintable_t Class Reference 349
5.71.3 Member Function Documentation
5.71.3.1 update()
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.71.3.2 get_gain() [1/3]
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.71.3.3 get_gain() [2/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
band Input frequency band
channel Audio channel
© 2005-2018 HörTech gGmbH, Oldenburg
350 CONTENTS
5.71.3.4 get_gain() [3/3]
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.71.3.5 nbands()
unsigned int DynComp::gaintable_t::nbands ( ) const [inline]
Return number of frequency bands.
5.71.3.6 nchannels()
unsigned int DynComp::gaintable_t::nchannels ( ) const [inline]
Return number of audio channels.
5.71.3.7 get_iofun()
std::vector<std::vector<mha_real_t > > gaintable_t::get_iofun ( ) const
Return current input-output function.
5.71.3.8 get_vL()
std::vector<mha_real_t>DynComp::gaintable_t::get_vL ( ) const [inline]
© 2005-2018 HörTech gGmbH, Oldenburg
5.71 DynComp::gaintable_t Class Reference 351
5.71.3.9 get_vF()
std::vector<mha_real_t>DynComp::gaintable_t::get_vF ( ) const [inline]
5.71.4 Member Data Documentation
5.71.4.1 num_L
unsigned int DynComp::gaintable_t::num_L [private]
5.71.4.2 num_F
unsigned int DynComp::gaintable_t::num_F [private]
5.71.4.3 num_channels
unsigned int DynComp::gaintable_t::num_channels [private]
5.71.4.4 vL
std::vector<mha_real_t>DynComp::gaintable_t::vL [private]
5.71.4.5 vF
std::vector<mha_real_t>DynComp::gaintable_t::vF [private]
5.71.4.6 vFlog
std::vector<mha_real_t>DynComp::gaintable_t::vFlog [private]
© 2005-2018 HörTech gGmbH, Oldenburg
352 CONTENTS
5.71.4.7 data
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.72 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 >
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.72 example1_t Class Reference 353
Additional Inherited Members
5.72.1 Detailed Description
This C++ class implements the simplest example plugin for the step-by-step tutorial.
It inherits from MHAPlugin::plugin_t (p. 882) for correct integration in the configuration lan-
guage interface.
5.72.2 Constructor & Destructor Documentation
5.72.2.1 example1_t()
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.72.3 Member Function Documentation
5.72.3.1 release()
void example1_t::release (
void ) [inline], [virtual]
Release may be empty.
Reimplemented from MHAPlugin::plugin_t<int >(p. 885).
5.72.3.2 prepare()
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-2018 HörTech gGmbH, Oldenburg
354 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<int >(p. 884).
5.72.3.3 process()
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.73 example2_t Class Reference
This C++ class implements the second example plugin for the step-by-step tutorial.
© 2005-2018 HörTech gGmbH, Oldenburg
5.73 example2_t Class Reference 355
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-2018 HörTech gGmbH, Oldenburg
356 CONTENTS
Additional Inherited Members
5.73.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.73.2 Constructor & Destructor Documentation
5.73.2.1 example2_t()
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.73.3 Member Function Documentation
5.73.3.1 prepare()
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. 884).
© 2005-2018 HörTech gGmbH, Oldenburg
5.73 example2_t Class Reference 357
5.73.3.2 release()
void example2_t::release (
void ) [virtual]
Undo restrictions posed in prepare.
Reimplemented from MHAPlugin::plugin_t<int >(p. 885).
5.73.3.3 process()
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.73.4 Member Data Documentation
5.73.4.1 scale_ch
MHAParser::int_t example2_t::scale_ch [private]
Index of audio channel to scale.
© 2005-2018 HörTech gGmbH, Oldenburg
358 CONTENTS
5.73.4.2 factor
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.74 example3_t Class Reference
A Plugin class using the openMHA Event mechanism.
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.74 example3_t Class Reference 359
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<example3_t >patchbay
The Event connector.
Additional Inherited Members
5.74.1 Detailed Description
A Plugin class using the openMHA Event mechanism.
This is the third example plugin for the step-by-step tutorial.
5.74.2 Constructor & Destructor Documentation
5.74.2.1 example3_t()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
360 CONTENTS
5.74.3 Member Function Documentation
5.74.3.1 on_scale_ch_writeaccess()
void example3_t::on_scale_ch_writeaccess ( ) [private]
5.74.3.2 on_scale_ch_valuechanged()
void example3_t::on_scale_ch_valuechanged ( ) [private]
5.74.3.3 on_scale_ch_readaccess()
void example3_t::on_scale_ch_readaccess ( ) [private]
5.74.3.4 on_prereadaccess()
void example3_t::on_prereadaccess ( ) [private]
5.74.3.5 prepare()
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.
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. 884).
© 2005-2018 HörTech gGmbH, Oldenburg
5.74 example3_t Class Reference 361
5.74.3.6 release()
void example3_t::release (
void ) [virtual]
Bookkeeping only.
Reimplemented from MHAPlugin::plugin_t<int >(p. 885).
5.74.3.7 process()
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.74.4 Member Data Documentation
5.74.4.1 scale_ch
MHAParser::int_t example3_t::scale_ch [private]
Index of audio channel to scale.
5.74.4.2 factor
MHAParser::float_t example3_t::factor [private]
The scaling factor applied to the selected channel.
© 2005-2018 HörTech gGmbH, Oldenburg
362 CONTENTS
5.74.4.3 prepared
MHAParser::int_mon_t example3_t::prepared [private]
Keep Track of the prepare/release calls.
5.74.4.4 patchbay
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.75 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 >
© 2005-2018 HörTech gGmbH, Oldenburg
5.75 example4_t Class Reference 363
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.
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.75.1 Detailed Description
A Plugin class using the spectral signal.
This is the fourth example plugin for the step-by-step tutorial.
5.75.2 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
364 CONTENTS
5.75.2.1 example4_t()
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.
5.75.3 Member Function Documentation
5.75.3.1 on_scale_ch_writeaccess()
void example4_t::on_scale_ch_writeaccess ( ) [private]
5.75.3.2 on_scale_ch_valuechanged()
void example4_t::on_scale_ch_valuechanged ( ) [private]
5.75.3.3 on_scale_ch_readaccess()
void example4_t::on_scale_ch_readaccess ( ) [private]
5.75.3.4 on_prereadaccess()
void example4_t::on_prereadaccess ( ) [private]
5.75.3.5 prepare()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.75 example4_t Class Reference 365
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. 884).
5.75.3.6 release()
void example4_t::release (
void ) [virtual]
Bookkeeping only.
Reimplemented from MHAPlugin::plugin_t<int >(p. 885).
5.75.3.7 process()
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.
Returns
Returns a pointer to the input signal structure, with a the signal modified by this plugin.
(In-place processing)
5.75.4 Member Data Documentation
5.75.4.1 scale_ch
MHAParser::int_t example4_t::scale_ch [private]
Index of audio channel to scale.
© 2005-2018 HörTech gGmbH, Oldenburg
366 CONTENTS
5.75.4.2 factor
MHAParser::float_t example4_t::factor [private]
The scaling factor applied to the selected channel.
5.75.4.3 prepared
MHAParser::int_mon_t example4_t::prepared [private]
Keep Track of the prepare/release calls.
5.75.4.4 patchbay
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.76 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
5.76.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.76 example5_t Class Reference 367
5.76.1.1 example5_t()
example5_t::example5_t (
unsigned int ichannel,
unsigned int numchannels,
mha_real_t iscale )
5.76.2 Member Function Documentation
5.76.2.1 process()
mha_spec_t example5_t::process (
mha_spec_t spec )
5.76.3 Member Data Documentation
5.76.3.1 channel
unsigned int example5_t::channel [private]
5.76.3.2 scale
mha_real_t example5_t::scale [private]
The documentation for this class was generated from the following file:
example5.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
368 CONTENTS
5.77 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 >
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.77 example6_t Class Reference 369
Additional Inherited Members
5.77.1 Constructor & Destructor Documentation
5.77.1.1 example6_t()
example6_t::example6_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.77.2 Member Function Documentation
5.77.2.1 process()
mha_wave_t example6_t::process (
mha_wave_t wave )
5.77.2.2 prepare()
void example6_t::prepare (
mhaconfig_t &tfcfg ) [virtual]
Implements MHAPlugin::plugin_t<cfg_t >(p. 884).
5.77.2.3 update_cfg()
void example6_t::update_cfg ( ) [private]
5.77.3 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
370 CONTENTS
5.77.3.1 channel_no
MHAParser::int_t example6_t::channel_no [private]
5.77.3.2 rmsdb
float example6_t::rmsdb [private]
5.77.3.3 patchbay
MHAEvents::patchbay_t<example6_t>example6_t::patchbay [private]
The documentation for this class was generated from the following file:
example6.cpp
5.78 expression_t Class Reference
Class for separating a string into a left hand value and a right hand value.
5.78.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
© 2005-2018 HörTech gGmbH, Oldenburg
5.79 fader_if_t Class Reference 371
5.79 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 &)
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
© 2005-2018 HörTech gGmbH, Oldenburg
372 CONTENTS
Additional Inherited Members
5.79.1 Constructor & Destructor Documentation
5.79.1.1 fader_if_t()
fader_if_t::fader_if_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.79.2 Member Function Documentation
5.79.2.1 process()
mha_spec_t fader_if_t::process (
mha_spec_t s)
5.79.2.2 prepare()
void fader_if_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<spec_fader_t >(p. 884).
5.79.2.3 update_cfg()
void fader_if_t::update_cfg (
void ) [private]
5.79.3 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.80 fader_wave::fader_wave_if_t Class Reference 373
5.79.3.1 patchbay
MHAEvents::patchbay_t<fader_if_t>fader_if_t::patchbay [private]
5.79.3.2 tau
MHAParser::float_t fader_if_t::tau [private]
5.79.3.3 newgains
MHAParser::vfloat_t fader_if_t::newgains [private]
5.79.3.4 actgains
mha_real_tfader_if_t::actgains [private]
The documentation for this class was generated from the following file:
fader_spec.cpp
5.80 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 >
© 2005-2018 HörTech gGmbH, Oldenburg
374 CONTENTS
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
Additional Inherited Members
5.80.1 Constructor & Destructor Documentation
5.80.1.1 fader_wave_if_t()
fader_wave::fader_wave_if_t::fader_wave_if_t (
algo_comm_t iac,
const char ,
const char )
5.80.2 Member Function Documentation
5.80.2.1 process()
mha_wave_t fader_wave::fader_wave_if_t::process (
mha_wave_t s)
© 2005-2018 HörTech gGmbH, Oldenburg
5.80 fader_wave::fader_wave_if_t Class Reference 375
5.80.2.2 prepare()
void fader_wave::fader_wave_if_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<runtime_cfg_t >(p. 884).
5.80.2.3 release()
void fader_wave::fader_wave_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<runtime_cfg_t >(p. 885).
5.80.2.4 set_level()
void fader_wave::fader_wave_if_t::set_level ( ) [private]
5.80.3 Member Data Documentation
5.80.3.1 gain
MHAParser::vfloat_t fader_wave::fader_wave_if_t::gain [private]
5.80.3.2 ramplen
MHAParser::float_t fader_wave::fader_wave_if_t::ramplen [private]
5.80.3.3 patchbay
MHAEvents::patchbay_t<fader_wave_if_t>fader_wave::fader_wave_if_t::patchbay [private]
© 2005-2018 HörTech gGmbH, Oldenburg
376 CONTENTS
5.80.3.4 prepared
bool fader_wave::fader_wave_if_t::prepared [private]
The documentation for this class was generated from the following file:
fader_wave.cpp
5.81 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
© 2005-2018 HörTech gGmbH, Oldenburg
5.81 fader_wave::level_adapt_t Class Reference 377
Additional Inherited Members
5.81.1 Constructor & Destructor Documentation
5.81.1.1 level_adapt_t()
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_ )
5.81.2 Member Function Documentation
5.81.2.1 update_frame()
void fader_wave::level_adapt_t::update_frame ( )
5.81.2.2 get_level()
std::vector<float>fader_wave::level_adapt_t::get_level ( ) const [inline]
5.81.2.3 can_update()
bool fader_wave::level_adapt_t::can_update ( ) const [inline]
5.81.3 Member Data Documentation
5.81.3.1 ilen
unsigned int fader_wave::level_adapt_t::ilen [private]
© 2005-2018 HörTech gGmbH, Oldenburg
378 CONTENTS
5.81.3.2 pos
unsigned int fader_wave::level_adapt_t::pos [private]
5.81.3.3 wnd
MHAWindow::fun_t fader_wave::level_adapt_t::wnd [private]
5.81.3.4 l_new
std::vector<float>fader_wave::level_adapt_t::l_new [private]
5.81.3.5 l_old
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.82 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 )
© 2005-2018 HörTech gGmbH, Oldenburg
5.82 fftfilterbank::fftfb_interface_t Class Reference 379
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.82.1 Constructor & Destructor Documentation
5.82.1.1 fftfb_interface_t()
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.
Parameters
ac algorithm communication handle
th chain name
al algorithm name
5.82.2 Member Function Documentation
5.82.2.1 prepare()
void fftfilterbank::fftfb_interface_t::prepare (
mhaconfig_t &tf ) [virtual]
© 2005-2018 HörTech gGmbH, Oldenburg
380 CONTENTS
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. 884).
5.82.2.2 release()
void fftfilterbank::fftfb_interface_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<fftfb_plug_t >(p. 885).
5.82.2.3 process() [1/2]
mha_spec_t fftfilterbank::fftfb_interface_t::process (
mha_spec_t s)
5.82.2.4 process() [2/2]
mha_wave_t fftfilterbank::fftfb_interface_t::process (
mha_wave_t s)
5.82.2.5 update_cfg()
void fftfilterbank::fftfb_interface_t::update_cfg (
void ) [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.82 fftfilterbank::fftfb_interface_t Class Reference 381
5.82.3 Member Data Documentation
5.82.3.1 return_imag
MHAParser::bool_t fftfilterbank::fftfb_interface_t::return_imag [private]
5.82.3.2 patchbay
MHAEvents::patchbay_t<fftfb_interface_t>fftfilterbank::fftfb_interface_t::patchbay
[private]
5.82.3.3 nchannels
MHA_AC::int_t fftfilterbank::fftfb_interface_t::nchannels [private]
5.82.3.4 algo
std::string fftfilterbank::fftfb_interface_t::algo [private]
5.82.3.5 prepared
bool fftfilterbank::fftfb_interface_t::prepared [private]
5.82.3.6 nbands
unsigned int fftfilterbank::fftfb_interface_t::nbands [private]
The documentation for this class was generated from the following file:
fftfilterbank.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
382 CONTENTS
5.83 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
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_
© 2005-2018 HörTech gGmbH, Oldenburg
5.83 fftfilterbank::fftfb_plug_t Class Reference 383
Additional Inherited Members
5.83.1 Constructor & Destructor Documentation
5.83.1.1 fftfb_plug_t()
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.83.2 Member Function Documentation
5.83.2.1 process() [1/2]
mha_spec_t fftfilterbank::fftfb_plug_t::process (
mha_spec_t s)
5.83.2.2 process() [2/2]
mha_wave_t fftfilterbank::fftfb_plug_t::process (
mha_wave_t s)
5.83.2.3 insert()
void fftfilterbank::fftfb_plug_t::insert ( )
5.83.3 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
384 CONTENTS
5.83.3.1 fb_acinfo
MHAOvlFilter::fftfb_ac_info_t fftfilterbank::fftfb_plug_t::fb_acinfo [private]
5.83.3.2 s_out
MHASignal::spectrum_t fftfilterbank::fftfb_plug_t::s_out [private]
5.83.3.3 imag
MHA_AC::waveform_t fftfilterbank::fftfb_plug_t::imag [private]
5.83.3.4 return_imag_
bool fftfilterbank::fftfb_plug_t::return_imag_ [private]
The documentation for this class was generated from the following file:
fftfilterbank.cpp
5.84 frequency_translator_t Class Reference
Inheritance diagram for frequency_translator_t:
frequency_translator_t
MHAPlugin::plugin_t
< hilbert_shifter_t >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< hilbert_shifter_t >
© 2005-2018 HörTech gGmbH, Oldenburg
5.84 frequency_translator_t Class Reference 385
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
MHAParser::float_t fmin
MHAParser::float_t fmax
MHAParser::int_t irslen
MHAParser::kw_t phasemode
Additional Inherited Members
5.84.1 Constructor & Destructor Documentation
5.84.1.1 frequency_translator_t()
frequency_translator_t::frequency_translator_t (
const algo_comm_t &iac,
const std::string & ith,
const std::string & ial )
5.84.2 Member Function Documentation
5.84.2.1 process()
mha_spec_t frequency_translator_t::process (
mha_spec_t s)
© 2005-2018 HörTech gGmbH, Oldenburg
386 CONTENTS
5.84.2.2 prepare()
void frequency_translator_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<hilbert_shifter_t >(p. 884).
5.84.2.3 release()
void frequency_translator_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<hilbert_shifter_t >(p. 885).
5.84.2.4 update()
void frequency_translator_t::update ( ) [private]
5.84.3 Member Data Documentation
5.84.3.1 patchbay
MHAEvents::patchbay_t<frequency_translator_t>frequency_translator_t::patchbay
[private]
5.84.3.2 df
MHAParser::vfloat_t frequency_translator_t::df [private]
5.84.3.3 fmin
MHAParser::float_t frequency_translator_t::fmin [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.85 fw_t Class Reference 387
5.84.3.4 fmax
MHAParser::float_t frequency_translator_t::fmax [private]
5.84.3.5 irslen
MHAParser::int_t frequency_translator_t::irslen [private]
5.84.3.6 phasemode
MHAParser::kw_t frequency_translator_t::phasemode [private]
The documentation for this class was generated from the following file:
fshift_hilbert.cpp
5.85 fw_t Class Reference
Inheritance diagram for fw_t:
fw_t
mhaserver_t
MHAParser::parser_t
MHAParser::base_t
© 2005-2018 HörTech gGmbH, Oldenburg
388 CONTENTS
Public Member Functions
fw_t ()
fw_t ()
• bool exit_request () const
Protected Attributes
• int proc_error
• int io_error
Private Types
• enum state_t {
fw_unprepared,fw_stopped,fw_starting,fw_running,
fw_stopping,fw_exiting }
Private Member Functions
• void prepare ()
preparation for processing
• void start ()
start of processing
• void stop ()
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 ()
© 2005-2018 HörTech gGmbH, Oldenburg
5.85 fw_t Class Reference 389
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
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.85.1 Member Enumeration Documentation
5.85.1.1 state_t
enum fw_t::state_t [private]
© 2005-2018 HörTech gGmbH, Oldenburg
390 CONTENTS
Enumerator
fw_unprepared
fw_stopped
fw_starting
fw_running
fw_stopping
fw_exiting
5.85.2 Constructor & Destructor Documentation
5.85.2.1 fw_t()
fw_t::fw_t ( )
5.85.2.2 fw_t()
fw_t::fw_t ( )
5.85.3 Member Function Documentation
5.85.3.1 exit_request()
bool fw_t::exit_request ( ) const [inline]
5.85.3.2 prepare()
void fw_t::prepare (
void ) [private]
preparation for processing
© 2005-2018 HörTech gGmbH, Oldenburg
5.85 fw_t Class Reference 391
5.85.3.3 start()
void fw_t::start ( ) [private]
start of processing
5.85.3.4 stop()
void fw_t::stop ( ) [private]
stop/pause of processing
5.85.3.5 release()
void fw_t::release ( ) [private]
release of IO device
5.85.3.6 quit()
void fw_t::quit ( ) [private]
controlled quit
5.85.3.7 stopped() [1/2]
static void fw_t::stopped (
void h,
int proc_err,
int io_err ) [inline], [static], [private]
5.85.3.8 started() [1/2]
static void fw_t::started (
void h) [inline], [static], [private]
© 2005-2018 HörTech gGmbH, Oldenburg
392 CONTENTS
5.85.3.9 process() [1/2]
static int fw_t::process (
void h,
mha_wave_t sIn,
mha_wave_t ∗∗ sOut ) [inline], [static], [private]
5.85.3.10 stopped() [2/2]
void fw_t::stopped (
int proc_err,
int io_err ) [private]
5.85.3.11 started() [2/2]
void fw_t::started ( ) [private]
5.85.3.12 process() [2/2]
int fw_t::process (
mha_wave_t s_in,
mha_wave_t ∗∗ s_out ) [private]
5.85.3.13 exec_fw_command()
void fw_t::exec_fw_command ( ) [private]
5.85.3.14 load_proc_lib()
void fw_t::load_proc_lib ( ) [private]
5.85.3.15 load_io_lib()
void fw_t::load_io_lib ( ) [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.85 fw_t Class Reference 393
5.85.3.16 fw_sleep_cmd()
void fw_t::fw_sleep_cmd ( ) [private]
5.85.3.17 fw_until_cmd()
void fw_t::fw_until_cmd ( ) [private]
5.85.3.18 get_input_signal_dimension()
void fw_t::get_input_signal_dimension ( ) [private]
5.85.3.19 async_read()
void fw_t::async_read ( ) [inline], [private]
5.85.3.20 async_poll_msg()
void fw_t::async_poll_msg ( ) [private]
5.85.3.21 get_parserstate()
void fw_t::get_parserstate ( ) [private]
5.85.4 Member Data Documentation
5.85.4.1 prepare_vars
fw_vars_t fw_t::prepare_vars [private]
© 2005-2018 HörTech gGmbH, Oldenburg
394 CONTENTS
5.85.4.2 nchannels_out
MHAParser::int_mon_t fw_t::nchannels_out [private]
5.85.4.3 proc_name
MHAParser::string_t fw_t::proc_name [private]
5.85.4.4 io_name
MHAParser::string_t fw_t::io_name [private]
5.85.4.5 exit_on_stop
MHAParser::bool_t fw_t::exit_on_stop [private]
5.85.4.6 fw_sleep
MHAParser::int_t fw_t::fw_sleep [private]
5.85.4.7 fw_until
MHAParser::string_t fw_t::fw_until [private]
5.85.4.8 fw_cmd
MHAParser::kw_t fw_t::fw_cmd [private]
5.85.4.9 parserstate
MHAParser::string_mon_t fw_t::parserstate [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.85 fw_t Class Reference 395
5.85.4.10 errorlog
MHAParser::string_t fw_t::errorlog [private]
5.85.4.11 fatallog
MHAParser::string_t fw_t::fatallog [private]
5.85.4.12 plugins
MHAParser::vstring_t fw_t::plugins [private]
5.85.4.13 plugin_paths
MHAParser::vstring_t fw_t::plugin_paths [private]
5.85.4.14 dump_mha
MHAParser::bool_t fw_t::dump_mha [private]
5.85.4.15 inst_name
MHAParser::string_t fw_t::inst_name [private]
A variable for naming MHA instances.
5.85.4.16 ac
MHAKernel::algo_comm_class_t fw_t::ac [private]
© 2005-2018 HörTech gGmbH, Oldenburg
396 CONTENTS
5.85.4.17 proc_lib
PluginLoader::mhapluginloader_tfw_t::proc_lib [private]
5.85.4.18 io_lib
io_lib_tfw_t::io_lib [private]
5.85.4.19 cfin
mhaconfig_t fw_t::cfin [private]
5.85.4.20 cfout
mhaconfig_t fw_t::cfout [private]
5.85.4.21 state
state_t fw_t::state [private]
5.85.4.22 b_exit_request
bool fw_t::b_exit_request [private]
5.85.4.23 proc_error
int fw_t::proc_error [protected]
5.85.4.24 io_error
int fw_t::io_error [protected]
© 2005-2018 HörTech gGmbH, Oldenburg
5.86 fw_vars_t Class Reference 397
5.85.4.25 proc_error_string
MHAParser::string_mon_t fw_t::proc_error_string [private]
5.85.4.26 patchbay
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.86 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
5.86.1 Constructor & Destructor Documentation
5.86.1.1 fw_vars_t()
fw_vars_t::fw_vars_t (
MHAParser::parser_t &p)
5.86.2 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
398 CONTENTS
5.86.2.1 lock_srate_fragsize()
void fw_vars_t::lock_srate_fragsize ( )
5.86.2.2 lock_channels()
void fw_vars_t::lock_channels ( )
5.86.2.3 unlock_srate_fragsize()
void fw_vars_t::unlock_srate_fragsize ( )
5.86.2.4 unlock_channels()
void fw_vars_t::unlock_channels ( )
5.86.3 Member Data Documentation
5.86.3.1 pinchannels
MHAParser::int_t fw_vars_t::pinchannels
5.86.3.2 pfragmentsize
MHAParser::int_t fw_vars_t::pfragmentsize
5.86.3.3 psrate
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-2018 HörTech gGmbH, Oldenburg
5.87 gain::gain_if_t Class Reference 399
5.87 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-2018 HörTech gGmbH, Oldenburg
400 CONTENTS
Additional Inherited Members
5.87.1 Constructor & Destructor Documentation
5.87.1.1 gain_if_t()
gain::gain_if_t::gain_if_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.87.2 Member Function Documentation
5.87.2.1 process() [1/2]
mha_wave_t gain::gain_if_t::process (
mha_wave_t s)
5.87.2.2 process() [2/2]
mha_spec_t gain::gain_if_t::process (
mha_spec_t s)
5.87.2.3 prepare()
void gain::gain_if_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<scaler_t >(p. 884).
5.87.2.4 release()
void gain::gain_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<scaler_t >(p. 885).
© 2005-2018 HörTech gGmbH, Oldenburg
5.87 gain::gain_if_t Class Reference 401
5.87.2.5 update_gain()
void gain::gain_if_t::update_gain ( ) [private]
5.87.2.6 update_bbgain()
void gain::gain_if_t::update_bbgain ( ) [private]
5.87.2.7 update_minmax()
void gain::gain_if_t::update_minmax ( ) [private]
5.87.3 Member Data Documentation
5.87.3.1 patchbay
MHAEvents::patchbay_t<gain_if_t>gain::gain_if_t::patchbay [private]
5.87.3.2 gains
MHAParser::vfloat_t gain::gain_if_t::gains [private]
5.87.3.3 bbgain
MHAParser::float_t gain::gain_if_t::bbgain [private]
5.87.3.4 vmin
MHAParser::float_t gain::gain_if_t::vmin [private]
© 2005-2018 HörTech gGmbH, Oldenburg
402 CONTENTS
5.87.3.5 vmax
MHAParser::float_t gain::gain_if_t::vmax [private]
The documentation for this class was generated from the following file:
gain.cpp
5.88 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.88.1 Constructor & Destructor Documentation
5.88.1.1 scaler_t()
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.89 hanning_ramps_t Class Reference 403
5.89 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.89.1 Constructor & Destructor Documentation
5.89.1.1 hanning_ramps_t()
hanning_ramps_t::hanning_ramps_t (
unsigned int la,
unsigned int lb )
5.89.1.2 hanning_ramps_t()
hanning_ramps_t::hanning_ramps_t (
void )
5.89.2 Member Function Documentation
5.89.2.1 operator()()
void hanning_ramps_t::operator() (
MHASignal::waveform_t &b)
© 2005-2018 HörTech gGmbH, Oldenburg
404 CONTENTS
5.89.3 Member Data Documentation
5.89.3.1 len_a
unsigned int hanning_ramps_t::len_a [private]
5.89.3.2 len_b
unsigned int hanning_ramps_t::len_b [private]
5.89.3.3 ramp_a
mha_real_thanning_ramps_t::ramp_a [private]
5.89.3.4 ramp_b
mha_real_thanning_ramps_t::ramp_b [private]
The documentation for this class was generated from the following file:
spec2wave.cpp
5.90 hilbert_shifter_t Class Reference
Inheritance diagram for hilbert_shifter_t:
hilbert_shifter_t
MHASignal::spectrum_t
mha_spec_t
© 2005-2018 HörTech gGmbH, Oldenburg
5.90 hilbert_shifter_t Class Reference 405
Public Member Functions
hilbert_shifter_t (unsigned int fftlen, unsigned int channels,mha_real_t srate, un-
signed 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
MHASignal::spectrum_t analytic
MHASignal::waveform_t shifted
MHASignal::spectrum_t mixw_shift
MHASignal::spectrum_t mixw_ref
• fftw_plan plan_spec2analytic
mha_fft_t mhafft
MHASignal::waveform_t phi
MHASignal::waveform_t dphi
unsigned int kmin
unsigned int kmax
unsigned int frameshift
Additional Inherited Members
5.90.1 Constructor & Destructor Documentation
5.90.1.1 hilbert_shifter_t()
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 )
© 2005-2018 HörTech gGmbH, Oldenburg
406 CONTENTS
5.90.1.2 hilbert_shifter_t()
hilbert_shifter_t::hilbert_shifter_t ( )
5.90.2 Member Function Documentation
5.90.2.1 process()
void hilbert_shifter_t::process (
mha_spec_t s)
5.90.3 Member Data Documentation
5.90.3.1 fullspec
MHASignal::spectrum_t hilbert_shifter_t::fullspec [private]
5.90.3.2 analytic
MHASignal::spectrum_t hilbert_shifter_t::analytic [private]
5.90.3.3 shifted
MHASignal::waveform_t hilbert_shifter_t::shifted [private]
5.90.3.4 mixw_shift
MHASignal::spectrum_t hilbert_shifter_t::mixw_shift [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.90 hilbert_shifter_t Class Reference 407
5.90.3.5 mixw_ref
MHASignal::spectrum_t hilbert_shifter_t::mixw_ref [private]
5.90.3.6 plan_spec2analytic
fftw_plan hilbert_shifter_t::plan_spec2analytic [private]
5.90.3.7 mhafft
mha_fft_t hilbert_shifter_t::mhafft [private]
5.90.3.8 phi
MHASignal::waveform_t hilbert_shifter_t::phi [private]
5.90.3.9 dphi
MHASignal::waveform_t hilbert_shifter_t::dphi [private]
5.90.3.10 kmin
unsigned int hilbert_shifter_t::kmin [private]
5.90.3.11 kmax
unsigned int hilbert_shifter_t::kmax [private]
5.90.3.12 frameshift
unsigned int hilbert_shifter_t::frameshift [private]
The documentation for this class was generated from the following file:
fshift_hilbert.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
408 CONTENTS
5.91 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.91.1 Constructor & Destructor Documentation
5.91.1.1 identity_t()
identity_t::identity_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
© 2005-2018 HörTech gGmbH, Oldenburg
5.91 identity_t Class Reference 409
5.91.2 Member Function Documentation
5.91.2.1 process() [1/2]
mha_wave_t identity_t::process (
mha_wave_t s)
5.91.2.2 process() [2/2]
mha_spec_t identity_t::process (
mha_spec_t s)
5.91.2.3 prepare()
void identity_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<int >(p. 884).
5.91.2.4 release()
void identity_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<int >(p. 885).
The documentation for this class was generated from the following file:
identity.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
410 CONTENTS
5.92 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 >
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.92.1 Constructor & Destructor Documentation
5.92.1.1 iirfilter_t()
iirfilter_t::iirfilter_t (
const algo_comm_t &ac,
const std::string & th,
const std::string & al )
© 2005-2018 HörTech gGmbH, Oldenburg
5.93 io_file_t Class Reference 411
5.92.2 Member Function Documentation
5.92.2.1 prepare_()
void iirfilter_t::prepare_ (
mhaconfig_t &tf )
5.92.2.2 release_()
void iirfilter_t::release_ ( ) [inline]
5.92.2.3 process()
mha_wave_t iirfilter_t::process (
mha_wave_t s)
The documentation for this class was generated from the following file:
iirfilter.cpp
5.93 io_file_t Class Reference
File IO.
Inheritance diagram for io_file_t:
io_file_t
MHAParser::parser_t
MHAParser::base_t
© 2005-2018 HörTech gGmbH, Oldenburg
412 CONTENTS
Public Member Functions
io_file_t (int fragsize, float samplerate,IOProcessEvent_t proc_event, void
proc_handle,IOStartedEvent_t start_event, void start_handle,IOStopped-
Event_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.
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.93 io_file_t Class Reference 413
Additional Inherited Members
5.93.1 Detailed Description
File IO.
5.93.2 Constructor & Destructor Documentation
5.93.2.1 io_file_t()
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 )
5.93.2.2 io_file_t()
io_file_t::io_file_t ( )
5.93.3 Member Function Documentation
5.93.3.1 prepare()
void io_file_t::prepare (
int nch_in,
int nch_out )
Allocate buffers, activate FILE client and install internal ports.
© 2005-2018 HörTech gGmbH, Oldenburg
414 CONTENTS
5.93.3.2 start()
void io_file_t::start ( )
5.93.3.3 stop()
void io_file_t::stop ( )
5.93.3.4 release()
void io_file_t::release (
void )
Remove FILE client and deallocate internal ports and buffers.
5.93.3.5 stopped()
void io_file_t::stopped (
int proc_err,
int io_err ) [private]
5.93.3.6 setlock()
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.93.4 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.93 io_file_t Class Reference 415
5.93.4.1 fragsize
int io_file_t::fragsize [private]
5.93.4.2 samplerate
float io_file_t::samplerate [private]
5.93.4.3 nchannels_in
int io_file_t::nchannels_in [private]
5.93.4.4 nchannels_file_in
int io_file_t::nchannels_file_in [private]
5.93.4.5 nchannels_out
int io_file_t::nchannels_out [private]
5.93.4.6 proc_event
IOProcessEvent_t io_file_t::proc_event [private]
5.93.4.7 proc_handle
voidio_file_t::proc_handle [private]
5.93.4.8 start_event
IOStartedEvent_t io_file_t::start_event [private]
© 2005-2018 HörTech gGmbH, Oldenburg
416 CONTENTS
5.93.4.9 start_handle
voidio_file_t::start_handle [private]
5.93.4.10 stop_event
IOStoppedEvent_t io_file_t::stop_event [private]
5.93.4.11 stop_handle
voidio_file_t::stop_handle [private]
5.93.4.12 filename_input
MHAParser::string_t io_file_t::filename_input [private]
5.93.4.13 filename_output
MHAParser::string_t io_file_t::filename_output [private]
5.93.4.14 output_sample_format
MHAParser::kw_t io_file_t::output_sample_format [private]
5.93.4.15 startsample
MHAParser::int_t io_file_t::startsample [private]
5.93.4.16 length
MHAParser::int_t io_file_t::length [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.93 io_file_t Class Reference 417
5.93.4.17 strict_channel_match
MHAParser::bool_t io_file_t::strict_channel_match [private]
5.93.4.18 strict_srate_match
MHAParser::bool_t io_file_t::strict_srate_match [private]
5.93.4.19 s_in
MHASignal::waveform_tio_file_t::s_in [private]
5.93.4.20 s_file_in
MHASignal::waveform_tio_file_t::s_file_in [private]
5.93.4.21 s_out
mha_wave_tio_file_t::s_out [private]
5.93.4.22 b_prepared
bool io_file_t::b_prepared [private]
5.93.4.23 sf_in
SNDFILEio_file_t::sf_in [private]
5.93.4.24 sf_out
SNDFILEio_file_t::sf_out [private]
© 2005-2018 HörTech gGmbH, Oldenburg
418 CONTENTS
5.93.4.25 sfinf_in
SF_INFO io_file_t::sfinf_in [private]
5.93.4.26 sfinf_out
SF_INFO io_file_t::sfinf_out [private]
5.93.4.27 total_read
sf_count_t io_file_t::total_read [private]
The documentation for this class was generated from the following file:
MHAIOFile.cpp
5.94 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
© 2005-2018 HörTech gGmbH, Oldenburg
5.94 io_lib_t Class Reference 419
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 ()
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.94.1 Detailed Description
Class for loading MHA sound IO module.
5.94.2 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
420 CONTENTS
5.94.2.1 io_lib_t()
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.94.2.2 io_lib_t()
io_lib_t::io_lib_t ( )
Deinitialize and unload this MHA sound io module.
5.94.3 Member Function Documentation
5.94.3.1 prepare()
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.
Parameters
inch number of input channels
outch number of output channels
© 2005-2018 HörTech gGmbH, Oldenburg
5.94 io_lib_t Class Reference 421
5.94.3.2 start()
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.94.3.3 stop()
void io_lib_t::stop ( )
5.94.3.4 release()
void io_lib_t::release ( )
5.94.3.5 lib_str_error()
std::string io_lib_t::lib_str_error (
int err )
5.94.3.6 test_error()
void io_lib_t::test_error ( ) [protected]
5.94.4 Member Data Documentation
5.94.4.1 lib_err
int io_lib_t::lib_err [protected]
5.94.4.2 lib_handle
dynamiclib_t io_lib_t::lib_handle [protected]
© 2005-2018 HörTech gGmbH, Oldenburg
422 CONTENTS
5.94.4.3 lib_data
voidio_lib_t::lib_data [protected]
5.94.4.4 IOInit_cb
IOInit_t io_lib_t::IOInit_cb [protected]
5.94.4.5 IOPrepare_cb
IOPrepare_t io_lib_t::IOPrepare_cb [protected]
5.94.4.6 IOStart_cb
IOStart_t io_lib_t::IOStart_cb [protected]
5.94.4.7 IOStop_cb
IOStop_t io_lib_t::IOStop_cb [protected]
5.94.4.8 IORelease_cb
IORelease_t io_lib_t::IORelease_cb [protected]
5.94.4.9 IOSetVar_cb
IOSetVar_t io_lib_t::IOSetVar_cb [protected]
5.94.4.10 IOStrError_cb
IOStrError_t io_lib_t::IOStrError_cb [protected]
© 2005-2018 HörTech gGmbH, Oldenburg
5.95 io_parser_t Class Reference 423
5.94.4.11 IODestroy_cb
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
5.95 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.
© 2005-2018 HörTech gGmbH, Oldenburg
424 CONTENTS
Private Member Functions
• void stopped (int, int)
• void started ()
• void process_frame ()
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.95.1 Detailed Description
Main class for Parser IO.
5.95.2 Constructor & Destructor Documentation
5.95.2.1 io_parser_t()
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 )
© 2005-2018 HörTech gGmbH, Oldenburg
5.95 io_parser_t Class Reference 425
5.95.2.2 io_parser_t()
io_parser_t::io_parser_t ( )
5.95.3 Member Function Documentation
5.95.3.1 prepare()
void io_parser_t::prepare (
int nch_in,
int nch_out )
Allocate buffers, activate JACK client and install internal ports.
5.95.3.2 start()
void io_parser_t::start ( )
5.95.3.3 stop()
void io_parser_t::stop ( )
5.95.3.4 release()
void io_parser_t::release (
void )
Remove JACK client and deallocate internal ports and buffers.
5.95.3.5 stopped()
void io_parser_t::stopped (
int proc_err,
int io_err ) [private]
© 2005-2018 HörTech gGmbH, Oldenburg
426 CONTENTS
5.95.3.6 started()
void io_parser_t::started ( ) [private]
5.95.3.7 process_frame()
void io_parser_t::process_frame ( ) [private]
5.95.4 Member Data Documentation
5.95.4.1 fragsize
unsigned int io_parser_t::fragsize [private]
5.95.4.2 nchannels_in
unsigned int io_parser_t::nchannels_in [private]
5.95.4.3 nchannels_out
unsigned int io_parser_t::nchannels_out [private]
5.95.4.4 proc_event
IOProcessEvent_t io_parser_t::proc_event [private]
5.95.4.5 proc_handle
voidio_parser_t::proc_handle [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.95 io_parser_t Class Reference 427
5.95.4.6 start_event
IOStartedEvent_t io_parser_t::start_event [private]
5.95.4.7 start_handle
voidio_parser_t::start_handle [private]
5.95.4.8 stop_event
IOStoppedEvent_t io_parser_t::stop_event [private]
5.95.4.9 stop_handle
voidio_parser_t::stop_handle [private]
5.95.4.10 input
MHAParser::mfloat_t io_parser_t::input [private]
5.95.4.11 output
MHAParser::mfloat_mon_t io_parser_t::output [private]
5.95.4.12 s_in
MHASignal::waveform_tio_parser_t::s_in [private]
5.95.4.13 s_out
mha_wave_tio_parser_t::s_out [private]
© 2005-2018 HörTech gGmbH, Oldenburg
428 CONTENTS
5.95.4.14 b_fw_started
bool io_parser_t::b_fw_started [private]
5.95.4.15 b_stopped
bool io_parser_t::b_stopped [private]
5.95.4.16 b_prepared
bool io_parser_t::b_prepared [private]
5.95.4.17 b_starting
bool io_parser_t::b_starting [private]
5.95.4.18 patchbay
MHAEvents::patchbay_t<io_parser_t>io_parser_t::patchbay [private]
The documentation for this class was generated from the following file:
MHAIOParser.cpp
5.96 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,IOStarted-
Event_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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.96 io_tcp_fwcb_t Class Reference 429
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.96.1 Detailed Description
TCP sound-io library's interface to the framework callbacks.
5.96.2 Constructor & Destructor Documentation
5.96.2.1 io_tcp_fwcb_t()
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.96.2.2 io_tcp_fwcb_t()
virtual io_tcp_fwcb_t::io_tcp_fwcb_t ( ) [inline], [virtual]
Do-nothing destructor.
© 2005-2018 HörTech gGmbH, Oldenburg
430 CONTENTS
5.96.3 Member Function Documentation
5.96.3.1 start()
void io_tcp_fwcb_t::start ( ) [virtual]
Call the framework's start callback.
5.96.3.2 process()
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.96.3.3 set_errnos()
void io_tcp_fwcb_t::set_errnos (
int proc_err,
int io_err ) [virtual]
Save error numbers to use during.
See also
stop (p. 431)
© 2005-2018 HörTech gGmbH, Oldenburg
5.96 io_tcp_fwcb_t Class Reference 431
Parameters
proc_err The error number from the
See also
process (p. 430) callback.
Parameters
io_err The error number from the io library itself.
5.96.3.4 stop()
void io_tcp_fwcb_t::stop ( ) [virtual]
Call the frameworks stop callback.
Uses the error numbers set previously with
See also
set_errnos (p. 430).
5.96.4 Member Data Documentation
5.96.4.1 proc_event
IOProcessEvent_t io_tcp_fwcb_t::proc_event [private]
Pointer to signal processing callback function.
5.96.4.2 start_event
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.
© 2005-2018 HörTech gGmbH, Oldenburg
432 CONTENTS
5.96.4.3 stop_event
IOStoppedEvent_t io_tcp_fwcb_t::stop_event [private]
Pointer to stop notification callback function.
Called when the connection is closed.
5.96.4.4 proc_handle
voidio_tcp_fwcb_t::proc_handle [private]
Handles belonging to framework.
5.96.4.5 start_handle
void io_tcp_fwcb_t::start_handle [private]
5.96.4.6 stop_handle
void io_tcp_fwcb_t::stop_handle [private]
5.96.4.7 proc_err
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. 431) from that callback. Within stop (p. 431), these error numbers are read again
and transmitted to the framework.
© 2005-2018 HörTech gGmbH, Oldenburg
5.97 io_tcp_parser_t Class Reference 433
5.96.4.8 io_err
int io_tcp_fwcb_t::io_err [private]
The documentation for this class was generated from the following file:
MHAIOTCP.cpp
5.97 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
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
© 2005-2018 HörTech gGmbH, Oldenburg
434 CONTENTS
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
Additional Inherited Members
5.97.1 Detailed Description
The parser interface of the IOTCP library.
5.97.2 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.97 io_tcp_parser_t Class Reference 435
5.97.2.1 io_tcp_parser_t()
io_tcp_parser_t::io_tcp_parser_t ( )
Constructor initializes parser variables.
5.97.2.2 io_tcp_parser_t()
virtual io_tcp_parser_t::io_tcp_parser_t ( ) [inline], [virtual]
Do-nothing destructor.
5.97.3 Member Function Documentation
5.97.3.1 get_local_address()
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.97.3.2 get_local_port()
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.97.3.3 set_local_port()
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-2018 HörTech gGmbH, Oldenburg
436 CONTENTS
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. 435) currently returns 0.
5.97.3.4 get_server_port_open()
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. 436).
5.97.3.5 set_server_port_open()
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. 436) currently returns
false.
© 2005-2018 HörTech gGmbH, Oldenburg
5.97 io_tcp_parser_t Class Reference 437
Postcondition
See also
get_server_port_open (p. 436) returns the value (p. 57) of open.
5.97.3.6 get_connected()
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. 437).
5.97.3.7 set_connected()
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. 437).
© 2005-2018 HörTech gGmbH, Oldenburg
438 CONTENTS
Postcondition
See also
get_connected (p. 437) returns the value (p. 57) of open.
5.97.3.8 set_new_peer()
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.
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. 437) currently returns false.
Postcondition
See also
get_connected (p. 437) returns true.
© 2005-2018 HörTech gGmbH, Oldenburg
5.97 io_tcp_parser_t Class Reference 439
5.97.3.9 debug()
virtual void io_tcp_parser_t::debug (
const std::string & message ) [inline], [virtual]
5.97.4 Member Data Documentation
5.97.4.1 local_address
MHAParser::string_t io_tcp_parser_t::local_address [private]
Lets the user set the local network interface to listen on.
5.97.4.2 local_port
MHAParser::int_t io_tcp_parser_t::local_port [private]
Lets the user choose the local tcp port to listen on.
5.97.4.3 server_port_open
MHAParser::int_mon_t io_tcp_parser_t::server_port_open [private]
Indicates wether the TCP server socket is currently open.
5.97.4.4 connected
MHAParser::int_mon_t io_tcp_parser_t::connected [private]
Indicator if there currently is a sound data connection over TCP.
5.97.4.5 peer_address
MHAParser::string_mon_t io_tcp_parser_t::peer_address [private]
Display the ip address of the currently connected sound data client.
© 2005-2018 HörTech gGmbH, Oldenburg
440 CONTENTS
5.97.4.6 peer_port
MHAParser::int_mon_t io_tcp_parser_t::peer_port [private]
Display the tcp port used by the current sound data client.
5.97.4.7 debug_filename
MHAParser::string_t io_tcp_parser_t::debug_filename [private]
filename to write debugging info to (if non-empty)
5.97.4.8 debug_file
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.98 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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.98 io_tcp_sound_t Class Reference 441
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. 583) structure.
virtual std::string hton (const mha_wave_t s_out)
Copy sound data from the output sound structure to a string.
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.98.1 Detailed Description
Sound data handling of io tcp library.
5.98.2 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
442 CONTENTS
5.98.2.1 io_tcp_sound_t()
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. 442).
Parameters
fragsize Number of sound samples in each channel expected and returned from
processing callback.
samplerate Number of samples per second in each channel.
5.98.2.2 io_tcp_sound_t()
virtual io_tcp_sound_t::io_tcp_sound_t ( ) [inline], [virtual]
Do-nothing destructor.
5.98.3 Member Function Documentation
5.98.3.1 check_sound_data_type()
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. 522)if mha_real_t is not compatible to 32-bit float.
© 2005-2018 HörTech gGmbH, Oldenburg
5.98 io_tcp_sound_t Class Reference 443
5.98.3.2 prepare()
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.98.3.3 release()
void io_tcp_sound_t::release (
void ) [virtual]
Called during release.
Deletes sound data storage.
5.98.3.4 chunkbytes_in()
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.98.3.5 header()
std::string io_tcp_sound_t::header ( ) const [virtual]
Create the tcp sound header lines.
5.98.3.6 ntoh()
mha_wave_t io_tcp_sound_t::ntoh (
const std::string & data ) [virtual]
Copy data received from tcp into mha_wave_t (p. 583) structure.
Doing network-to-host byte order swapping in the process.
© 2005-2018 HörTech gGmbH, Oldenburg
444 CONTENTS
Parameters
data One chunk (
See also
chunkbytes_in (p. 443)) of sound data to process.
Returns
Pointer to the sound data storage.
5.98.3.7 hton()
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.98.4 Member Data Documentation
5.98.4.1 fragsize
int io_tcp_sound_t::fragsize [private]
Number of sound samples in each channel expected and returned from processing callback.
© 2005-2018 HörTech gGmbH, Oldenburg
5.99 io_tcp_sound_t::float_union Union Reference 445
5.98.4.2 samplerate
float io_tcp_sound_t::samplerate [private]
Sampling rate.
Number of samples per second in each channel.
5.98.4.3 num_inchannels
int io_tcp_sound_t::num_inchannels [private]
Number of input channels.
Number of channels expected from and returned by signal processing callback.
5.98.4.4 num_outchannels
int io_tcp_sound_t::num_outchannels [private]
5.98.4.5 s_in
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.99 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]
© 2005-2018 HörTech gGmbH, Oldenburg
446 CONTENTS
5.99.1 Detailed Description
This union helps in conversion of floats from host byte order to network byte order and back
again.
5.99.2 Member Data Documentation
5.99.2.1 f
float io_tcp_sound_t::float_union::f
5.99.2.2 i
unsigned int io_tcp_sound_t::float_union::i
5.99.2.3 c
char io_tcp_sound_t::float_union::c[4]
The documentation for this union was generated from the following file:
MHAIOTCP.cpp
5.100 io_tcp_t Class Reference
The tcp sound io library.
© 2005-2018 HörTech gGmbH, Oldenburg
5.100 io_tcp_t Class Reference 447
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.100.1 Detailed Description
The tcp sound io library.
5.100.2 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
448 CONTENTS
5.100.2.1 io_tcp_t()
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.100.2.2 io_tcp_t()
virtual io_tcp_t::io_tcp_t ( ) [inline], [virtual]
5.100.3 Member Function Documentation
5.100.3.1 prepare()
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.100.3.2 start()
void io_tcp_t::start ( )
Call frameworks start callback if there is a sound data connection at the moment.
5.100.3.3 stop()
void io_tcp_t::stop ( )
Close the current connection if there is one.
stop IO thread
© 2005-2018 HörTech gGmbH, Oldenburg
5.100 io_tcp_t Class Reference 449
5.100.3.4 release()
void io_tcp_t::release (
void )
Close the current connection and close the server socket.
Stop IO thread and close server socket.
5.100.3.5 accept_loop()
void io_tcp_t::accept_loop ( ) [virtual]
IO thread executes this method.
5.100.3.6 connection_loop()
void io_tcp_t::connection_loop (
MHA_TCP::Connection c) [virtual]
IO thread executes this method for each connection.
Parameters
cpointer to connection. connection_loop deletes connection before exiting.
5.100.3.7 parse()
virtual void io_tcp_t::parse (
const char cmd,
char retval,
unsigned int len ) [inline], [virtual]
Parser interface.
5.100.4 Member Data Documentation
5.100.4.1 parser
io_tcp_parser_t io_tcp_t::parser [private]
© 2005-2018 HörTech gGmbH, Oldenburg
450 CONTENTS
5.100.4.2 sound
io_tcp_sound_t io_tcp_t::sound [private]
5.100.4.3 fwcb
io_tcp_fwcb_t io_tcp_t::fwcb [private]
5.100.4.4 server
MHA_TCP::Serverio_tcp_t::server [private]
5.100.4.5 thread
MHA_TCP::Threadio_tcp_t::thread [private]
5.100.4.6 notify_start
MHA_TCP::Async_Notify io_tcp_t::notify_start [private]
5.100.4.7 notify_stop
MHA_TCP::Async_Notify io_tcp_t::notify_stop [private]
5.100.4.8 notify_release
MHA_TCP::Async_Notify io_tcp_t::notify_release [private]
The documentation for this class was generated from the following file:
MHAIOTCP.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
5.101 latex_doc_t Class Reference 451
5.101 latex_doc_t Class Reference
Public Member Functions
latex_doc_t (const std::string & plugname, const std::string & plugin_macro)
• std::string get_latex_doc ()
• std::string get_main_category ()
• std::vector<std::string >get_categories ()
Private Member Functions
• std::string strdom (mha_domain_t d)
• std::string get_ac (MHAKernel::algo_comm_class_t &ac, std::string txt)
• std::string parsername (std::string s)
• std::string get_parser_var (MHAParser::base_t p, std::string name)
• std::string get_parser_tab (MHAParser::base_t p, std::string prefix)
Private Attributes
• std::string plugname
• std::string latex_plugname
MHAKernel::algo_comm_class_t ac
PluginLoader::mhapluginloader_t loader
• std::string plugin_macro
5.101.1 Constructor & Destructor Documentation
5.101.1.1 latex_doc_t()
latex_doc_t::latex_doc_t (
const std::string & plugname,
const std::string & plugin_macro )
5.101.2 Member Function Documentation
5.101.2.1 get_latex_doc()
std::string latex_doc_t::get_latex_doc ( )
© 2005-2018 HörTech gGmbH, Oldenburg
452 CONTENTS
5.101.2.2 get_main_category()
std::string latex_doc_t::get_main_category ( )
5.101.2.3 get_categories()
std::vector<std::string >latex_doc_t::get_categories ( )
5.101.2.4 strdom()
std::string latex_doc_t::strdom (
mha_domain_t d) [private]
5.101.2.5 get_ac()
std::string latex_doc_t::get_ac (
MHAKernel::algo_comm_class_t &ac,
std::string txt ) [private]
5.101.2.6 parsername()
std::string latex_doc_t::parsername (
std::string s) [private]
5.101.2.7 get_parser_var()
std::string latex_doc_t::get_parser_var (
MHAParser::base_t p,
std::string name ) [private]
5.101.2.8 get_parser_tab()
std::string latex_doc_t::get_parser_tab (
MHAParser::base_t p,
std::string prefix ) [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.101 latex_doc_t Class Reference 453
5.101.3 Member Data Documentation
5.101.3.1 plugname
std::string latex_doc_t::plugname [private]
5.101.3.2 latex_plugname
std::string latex_doc_t::latex_plugname [private]
5.101.3.3 ac
MHAKernel::algo_comm_class_t latex_doc_t::ac [private]
5.101.3.4 loader
PluginLoader::mhapluginloader_t latex_doc_t::loader [private]
5.101.3.5 plugin_macro
std::string latex_doc_t::plugin_macro [private]
The documentation for this class was generated from the following file:
generatemhaplugindoc.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
454 CONTENTS
5.102 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-2018 HörTech gGmbH, Oldenburg
5.102 lpc Class Reference 455
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.102.1 Constructor & Destructor Documentation
5.102.1.1 lpc()
lpc::lpc (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
5.102.1.2 lpc()
lpc::lpc ( )
5.102.2 Member Function Documentation
5.102.2.1 process()
mha_wave_t lpc::process (
mha_wave_t signal )
Checks for the most recent configuration and defers processing to it.
5.102.2.2 prepare()
void lpc::prepare (
mhaconfig_t &signal_info ) [virtual]
Plugin preparation.
An opportunity to validate configuration parameters before instantiating a configuration.
© 2005-2018 HörTech gGmbH, Oldenburg
456 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<lpc_config >(p. 884).
5.102.2.3 release()
void lpc::release (
void ) [inline], [virtual]
Reimplemented from MHAPlugin::plugin_t<lpc_config >(p. 885).
5.102.2.4 update_cfg()
void lpc::update_cfg ( ) [private]
5.102.3 Member Data Documentation
5.102.3.1 algo_name
std::string lpc::algo_name [private]
5.102.3.2 lpc_order
MHAParser::int_t lpc::lpc_order [private]
5.102.3.3 lpc_buffer_size
MHAParser::int_t lpc::lpc_buffer_size [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.103 lpc_bl_predictor Class Reference 457
5.102.3.4 shift
MHAParser::bool_t lpc::shift [private]
5.102.3.5 comp_each_iter
MHAParser::int_t lpc::comp_each_iter [private]
5.102.3.6 norm
MHAParser::bool_t lpc::norm [private]
5.102.3.7 patchbay
MHAEvents::patchbay_t<lpc>lpc::patchbay [private]
The documentation for this class was generated from the following files:
lpc.h
lpc.cpp
5.103 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 >
© 2005-2018 HörTech gGmbH, Oldenburg
458 CONTENTS
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
Private Member Functions
• void update_cfg ()
Private Attributes
MHAEvents::patchbay_t<lpc_bl_predictor >patchbay
Additional Inherited Members
5.103.1 Constructor & Destructor Documentation
5.103.1.1 lpc_bl_predictor()
lpc_bl_predictor::lpc_bl_predictor (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
© 2005-2018 HörTech gGmbH, Oldenburg
5.103 lpc_bl_predictor Class Reference 459
5.103.1.2 lpc_bl_predictor()
lpc_bl_predictor::lpc_bl_predictor ( )
5.103.2 Member Function Documentation
5.103.2.1 process()
mha_wave_t lpc_bl_predictor::process (
mha_wave_t signal )
Checks for the most recent configuration and defers processing to it.
5.103.2.2 prepare()
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. 884).
5.103.2.3 release()
void lpc_bl_predictor::release (
void ) [inline], [virtual]
Reimplemented from MHAPlugin::plugin_t<lpc_bl_predictor_config >(p. 885).
© 2005-2018 HörTech gGmbH, Oldenburg
460 CONTENTS
5.103.2.4 update_cfg()
void lpc_bl_predictor::update_cfg ( ) [private]
5.103.3 Member Data Documentation
5.103.3.1 lpc_order
MHAParser::int_t lpc_bl_predictor::lpc_order
5.103.3.2 name_kappa
MHAParser::string_t lpc_bl_predictor::name_kappa
5.103.3.3 name_lpc_f
MHAParser::string_t lpc_bl_predictor::name_lpc_f
5.103.3.4 name_lpc_b
MHAParser::string_t lpc_bl_predictor::name_lpc_b
5.103.3.5 name_f
MHAParser::string_t lpc_bl_predictor::name_f
5.103.3.6 name_b
MHAParser::string_t lpc_bl_predictor::name_b
© 2005-2018 HörTech gGmbH, Oldenburg
5.104 lpc_bl_predictor_config Class Reference 461
5.103.3.7 patchbay
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.104 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 )
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.104.1 Constructor & Destructor Documentation
5.104.1.1 lpc_bl_predictor_config()
lpc_bl_predictor_config::lpc_bl_predictor_config (
algo_comm_t &iac,
const mhaconfig_t in_cfg,
lpc_bl_predictor _lpc )
© 2005-2018 HörTech gGmbH, Oldenburg
462 CONTENTS
5.104.1.2 lpc_bl_predictor_config()
lpc_bl_predictor_config::lpc_bl_predictor_config ( )
5.104.2 Member Function Documentation
5.104.2.1 process()
mha_wave_t lpc_bl_predictor_config::process (
mha_wave_t wave )
5.104.3 Member Data Documentation
5.104.3.1 ac
algo_comm_t lpc_bl_predictor_config::ac [private]
5.104.3.2 f_est
MHA_AC::waveform_t lpc_bl_predictor_config::f_est [private]
5.104.3.3 b_est
MHA_AC::waveform_t lpc_bl_predictor_config::b_est [private]
5.104.3.4 forward
MHASignal::waveform_t lpc_bl_predictor_config::forward [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.104 lpc_bl_predictor_config Class Reference 463
5.104.3.5 backward
MHASignal::waveform_t lpc_bl_predictor_config::backward [private]
5.104.3.6 lpc_order
int lpc_bl_predictor_config::lpc_order [private]
5.104.3.7 name_km
std::string lpc_bl_predictor_config::name_km [private]
5.104.3.8 name_f
std::string lpc_bl_predictor_config::name_f [private]
5.104.3.9 name_b
std::string lpc_bl_predictor_config::name_b [private]
5.104.3.10 km
mha_wave_t lpc_bl_predictor_config::km [private]
5.104.3.11 s_f
mha_wave_t lpc_bl_predictor_config::s_f [private]
© 2005-2018 HörTech gGmbH, Oldenburg
464 CONTENTS
5.104.3.12 s_b
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.105 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 >
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)
© 2005-2018 HörTech gGmbH, Oldenburg
5.105 lpc_burglattice Class Reference 465
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.105.1 Constructor & Destructor Documentation
5.105.1.1 lpc_burglattice()
lpc_burglattice::lpc_burglattice (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
5.105.1.2 lpc_burglattice()
lpc_burglattice::lpc_burglattice ( )
5.105.2 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
466 CONTENTS
5.105.2.1 process()
mha_wave_t lpc_burglattice::process (
mha_wave_t signal )
Checks for the most recent configuration and defers processing to it.
5.105.2.2 prepare()
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. 884).
5.105.2.3 release()
void lpc_burglattice::release (
void ) [inline], [virtual]
Reimplemented from MHAPlugin::plugin_t<lpc_burglattice_config >(p. 885).
5.105.2.4 update_cfg()
void lpc_burglattice::update_cfg ( ) [private]
5.105.3 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.106 lpc_burglattice_config Class Reference 467
5.105.3.1 lpc_order
MHAParser::int_t lpc_burglattice::lpc_order
5.105.3.2 name_kappa
MHAParser::string_t lpc_burglattice::name_kappa
5.105.3.3 name_f
MHAParser::string_t lpc_burglattice::name_f
5.105.3.4 name_b
MHAParser::string_t lpc_burglattice::name_b
5.105.3.5 lambda
MHAParser::float_t lpc_burglattice::lambda
5.105.3.6 patchbay
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
5.106 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 )
© 2005-2018 HörTech gGmbH, Oldenburg
468 CONTENTS
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.106.1 Constructor & Destructor Documentation
5.106.1.1 lpc_burglattice_config()
lpc_burglattice_config::lpc_burglattice_config (
algo_comm_t &iac,
const mhaconfig_t in_cfg,
lpc_burglattice _lpc )
5.106.1.2 lpc_burglattice_config()
lpc_burglattice_config::lpc_burglattice_config ( )
5.106.2 Member Function Documentation
5.106.2.1 process()
mha_wave_t lpc_burglattice_config::process (
mha_wave_t wave )
© 2005-2018 HörTech gGmbH, Oldenburg
5.106 lpc_burglattice_config Class Reference 469
5.106.3 Member Data Documentation
5.106.3.1 ac
algo_comm_t lpc_burglattice_config::ac [private]
5.106.3.2 forward
MHASignal::waveform_t lpc_burglattice_config::forward [private]
5.106.3.3 backward
MHASignal::waveform_t lpc_burglattice_config::backward [private]
5.106.3.4 kappa
MHASignal::waveform_t lpc_burglattice_config::kappa [private]
5.106.3.5 kappa_block
MHA_AC::waveform_t lpc_burglattice_config::kappa_block [private]
5.106.3.6 dm
MHASignal::waveform_t lpc_burglattice_config::dm [private]
5.106.3.7 nm
MHASignal::waveform_t lpc_burglattice_config::nm [private]
© 2005-2018 HörTech gGmbH, Oldenburg
470 CONTENTS
5.106.3.8 lambda
mha_real_t lpc_burglattice_config::lambda [private]
5.106.3.9 lpc_order
int lpc_burglattice_config::lpc_order [private]
5.106.3.10 name_f
std::string lpc_burglattice_config::name_f [private]
5.106.3.11 name_b
std::string lpc_burglattice_config::name_b [private]
5.106.3.12 s_f
mha_wave_t lpc_burglattice_config::s_f [private]
5.106.3.13 s_b
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.107 lpc_config Class Reference
Public Member Functions
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)
lpc_config ()
mha_wave_t process (mha_wave_t )
• void insert ()
© 2005-2018 HörTech gGmbH, Oldenburg
5.107 lpc_config Class Reference 471
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.107.1 Constructor & Destructor Documentation
5.107.1.1 lpc_config()
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.107.1.2 lpc_config()
lpc_config::lpc_config ( )
5.107.2 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
472 CONTENTS
5.107.2.1 process()
mha_wave_t lpc_config::process (
mha_wave_t wave )
5.107.2.2 insert()
void lpc_config::insert ( )
5.107.3 Member Data Documentation
5.107.3.1 norm
bool lpc_config::norm [private]
5.107.3.2 shift
bool lpc_config::shift [private]
5.107.3.3 comp_each_iter
unsigned int lpc_config::comp_each_iter [private]
5.107.3.4 order
unsigned int lpc_config::order [private]
5.107.3.5 lpc_buffer_size
unsigned int lpc_config::lpc_buffer_size [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.107 lpc_config Class Reference 473
5.107.3.6 N
unsigned int lpc_config::N [private]
5.107.3.7 comp_iter
unsigned int lpc_config::comp_iter [private]
5.107.3.8 sample
mha_wave_t lpc_config::sample [private]
5.107.3.9 R
std::vector<mha_real_t>lpc_config::R [private]
5.107.3.10 A
std::vector<mha_real_t>lpc_config::A [private]
5.107.3.11 inwave
MHASignal::ringbuffer_t lpc_config::inwave [private]
5.107.3.12 lpc_out
MHA_AC::waveform_t lpc_config::lpc_out [private]
© 2005-2018 HörTech gGmbH, Oldenburg
474 CONTENTS
5.107.3.13 corr_out
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.108 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
5.108.1 Constructor & Destructor Documentation
5.108.1.1 cfg_t()
cfg_t::cfg_t (
std::vector<std::vector<float > > imixer,
unsigned int ci,
unsigned int co,
unsigned int fragsize,
unsigned int nfft )
5.108.2 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.108 matrixmixer::cfg_t Class Reference 475
5.108.2.1 process() [1/2]
mha_wave_t cfg_t::process (
mha_wave_t s)
5.108.2.2 process() [2/2]
mha_spec_t cfg_t::process (
mha_spec_t s)
5.108.3 Member Data Documentation
5.108.3.1 m
MHASignal::waveform_t matrixmixer::cfg_t::m [private]
5.108.3.2 wout
MHASignal::waveform_t matrixmixer::cfg_t::wout [private]
5.108.3.3 sout
MHASignal::spectrum_t matrixmixer::cfg_t::sout [private]
The documentation for this class was generated from the following file:
matrixmixer.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
476 CONTENTS
5.109 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-2018 HörTech gGmbH, Oldenburg
5.109 matrixmixer::matmix_t Class Reference 477
Additional Inherited Members
5.109.1 Constructor & Destructor Documentation
5.109.1.1 matmix_t()
matrixmixer::matmix_t::matmix_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.109.2 Member Function Documentation
5.109.2.1 prepare()
void matrixmixer::matmix_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<cfg_t >(p. 884).
5.109.2.2 process() [1/2]
mha_wave_t matrixmixer::matmix_t::process (
mha_wave_t s)
5.109.2.3 process() [2/2]
mha_spec_t matrixmixer::matmix_t::process (
mha_spec_t s)
5.109.2.4 update_m()
void matrixmixer::matmix_t::update_m (
void ) [private]
© 2005-2018 HörTech gGmbH, Oldenburg
478 CONTENTS
5.109.3 Member Data Documentation
5.109.3.1 patchbay
MHAEvents::patchbay_t<matmix_t>matrixmixer::matmix_t::patchbay [private]
5.109.3.2 mixer
MHAParser::mfloat_t matrixmixer::matmix_t::mixer [private]
5.109.3.3 ci
unsigned int matrixmixer::matmix_t::ci [private]
5.109.3.4 co
unsigned int matrixmixer::matmix_t::co [private]
The documentation for this class was generated from the following file:
matrixmixer.cpp
5.110 MHA_AC::ac2matrix_helper_t Class Reference
Inheritance diagram for MHA_AC::ac2matrix_helper_t:
MHA_AC::ac2matrix_helper_t
MHA_AC::ac2matrix_t
© 2005-2018 HörTech gGmbH, Oldenburg
5.110 MHA_AC::ac2matrix_helper_t Class Reference 479
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.110.1 Constructor & Destructor Documentation
5.110.1.1 ac2matrix_helper_t()
MHA_AC::ac2matrix_helper_t::ac2matrix_helper_t (
algo_comm_t iac,
const std::string & iname )
5.110.2 Member Function Documentation
5.110.2.1 getvar()
void MHA_AC::ac2matrix_helper_t::getvar ( )
5.110.3 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
480 CONTENTS
5.110.3.1 ac
algo_comm_t MHA_AC::ac2matrix_helper_t::ac
5.110.3.2 name
std::string MHA_AC::ac2matrix_helper_t::name
5.110.3.3 username
std::string MHA_AC::ac2matrix_helper_t::username
5.110.3.4 size
MHASignal::uint_vector_t MHA_AC::ac2matrix_helper_t::size
5.110.3.5 is_complex
bool MHA_AC::ac2matrix_helper_t::is_complex
5.110.3.6 acvar
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.111 MHA_AC::ac2matrix_t Class Reference 481
5.111 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
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.111.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. 482) function is real-time safe.
© 2005-2018 HörTech gGmbH, Oldenburg
482 CONTENTS
5.111.2 Constructor & Destructor Documentation
5.111.2.1 ac2matrix_t()
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.111.3 Member Function Documentation
5.111.3.1 update()
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.
5.111.3.2 getname()
const std::string& MHA_AC::ac2matrix_t::getname ( ) const [inline]
Return name of AC variable/matrix.
5.111.3.3 getusername()
const std::string& MHA_AC::ac2matrix_t::getusername ( ) const [inline]
Return user specified name of AC variable/matrix.
5.111.3.4 insert()
void MHA_AC::ac2matrix_t::insert (
algo_comm_t ac )
Insert matrix into an AC space (other than source AC space)
© 2005-2018 HörTech gGmbH, Oldenburg
5.112 MHA_AC::acspace2matrix_t Class Reference 483
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.112 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.
• 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)
© 2005-2018 HörTech gGmbH, Oldenburg
484 CONTENTS
Private Attributes
unsigned int len
MHA_AC::ac2matrix_t ∗∗ data
unsigned int frameno
5.112.1 Detailed Description
Copy all or a subset of all numeric AC variables into an array of matrixes.
5.112.2 Constructor & Destructor Documentation
5.112.2.1 acspace2matrix_t() [1/2]
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.112.2.2 acspace2matrix_t() [2/2]
MHA_AC::acspace2matrix_t::acspace2matrix_t (
const MHA_AC::acspace2matrix_t &src )
Constructor with initialization from an instance.
Parameters
src Instance to be copied.
© 2005-2018 HörTech gGmbH, Oldenburg
5.112 MHA_AC::acspace2matrix_t Class Reference 485
5.112.2.3 acspace2matrix_t()
MHA_AC::acspace2matrix_t::acspace2matrix_t ( )
5.112.3 Member Function Documentation
5.112.3.1 operator=()
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.112.3.2 operator[]() [1/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. 486)-1.
Return values
Reference to matrix.
5.112.3.3 operator[]() [2/2]
const MHA_AC::ac2matrix_t& MHA_AC::acspace2matrix_t::operator[ ] (
unsigned int k) const [inline]
Constant access operator.
© 2005-2018 HörTech gGmbH, Oldenburg
486 CONTENTS
Parameters
kindex into array; should not exceed size() (p. 486)-1.
Return values
Constant reference to matrix.
5.112.3.4 update()
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.112.3.5 size()
unsigned int MHA_AC::acspace2matrix_t::size ( ) const [inline]
Number of matrixes in AC space.
5.112.3.6 frame()
unsigned int MHA_AC::acspace2matrix_t::frame ( ) const [inline]
Actual frame number.
5.112.3.7 insert()
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.113 MHA_AC::double_t Class Reference 487
5.112.4 Member Data Documentation
5.112.4.1 len
unsigned int MHA_AC::acspace2matrix_t::len [private]
5.112.4.2 data
MHA_AC::ac2matrix_t∗∗ MHA_AC::acspace2matrix_t::data [private]
5.112.4.3 frameno
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.113 MHA_AC::double_t Class Reference
Insert a double precision floating point variable into the AC space.
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
© 2005-2018 HörTech gGmbH, Oldenburg
488 CONTENTS
5.113.1 Detailed Description
Insert a double precision floating point variable into the AC space.
The variable is automatically removed on destruction.
5.113.2 Constructor & Destructor Documentation
5.113.2.1 double_t()
MHA_AC::double_t::double_t (
algo_comm_t iac,
std::string n,
double v=0)
5.113.2.2 double_t()
MHA_AC::double_t::double_t ( )
5.113.3 Member Data Documentation
5.113.3.1 data
double MHA_AC::double_t::data
Floating point value variable.
5.113.3.2 ac
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-2018 HörTech gGmbH, Oldenburg
5.114 MHA_AC::float_t Class Reference 489
5.114 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.114.1 Detailed Description
Insert a float point variable into the AC space.
The variable is automatically removed on destruction.
5.114.2 Constructor & Destructor Documentation
5.114.2.1 float_t()
MHA_AC::float_t::float_t (
algo_comm_t iac,
std::string n,
float v=0)
Constructor.
© 2005-2018 HörTech gGmbH, Oldenburg
490 CONTENTS
5.114.2.2 float_t()
MHA_AC::float_t::float_t ( )
5.114.3 Member Data Documentation
5.114.3.1 data
float MHA_AC::float_t::data
Floating point value variable.
5.114.3.2 ac
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.115 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
© 2005-2018 HörTech gGmbH, Oldenburg
5.115 MHA_AC::int_t Class Reference 491
5.115.1 Detailed Description
Insert a integer variable into the AC space.
The variable is automatically removed on destruction.
5.115.2 Constructor & Destructor Documentation
5.115.2.1 int_t()
MHA_AC::int_t::int_t (
algo_comm_t iac,
std::string n,
int v=0)
5.115.2.2 int_t()
MHA_AC::int_t::int_t ( )
5.115.3 Member Data Documentation
5.115.3.1 data
int MHA_AC::int_t::data
Integer value variable.
5.115.3.2 ac
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
© 2005-2018 HörTech gGmbH, Oldenburg
492 CONTENTS
5.116 MHA_AC::spectrum_t Class Reference
Insert a MHASignal::spectrum_t (p. 979) 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
Additional Inherited Members
5.116.1 Detailed Description
Insert a MHASignal::spectrum_t (p. 979) class into the AC space.
The variable is automatically removed on destruction.
© 2005-2018 HörTech gGmbH, Oldenburg
5.116 MHA_AC::spectrum_t Class Reference 493
5.116.2 Constructor & Destructor Documentation
5.116.2.1 spectrum_t()
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. 496) class
channels Number of audio channels in the waveform_t (p. 496) class
insert_now Insert implicitely in the constructor (true) or explicitely in the insert() (p. 493)
function (false)
5.116.2.2 spectrum_t()
MHA_AC::spectrum_t::spectrum_t (
void ) [virtual]
Reimplemented from MHASignal::spectrum_t (p. 981).
5.116.3 Member Function Documentation
5.116.3.1 insert()
void MHA_AC::spectrum_t::insert ( )
Insert AC variable into AC space.
© 2005-2018 HörTech gGmbH, Oldenburg
494 CONTENTS
5.116.4 Member Data Documentation
5.116.4.1 ac
algo_comm_t MHA_AC::spectrum_t::ac [protected]
5.116.4.2 name
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.117 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 ()
© 2005-2018 HörTech gGmbH, Oldenburg
5.117 MHA_AC::stat_t Class Reference 495
Private Attributes
MHA_AC::waveform_t mean
MHA_AC::waveform_t std
5.117.1 Constructor & Destructor Documentation
5.117.1.1 stat_t()
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.117.2 Member Function Documentation
5.117.2.1 update()
void MHA_AC::stat_t::update ( )
5.117.2.2 insert()
void MHA_AC::stat_t::insert ( )
5.117.3 Member Data Documentation
5.117.3.1 mean
MHA_AC::waveform_t MHA_AC::stat_t::mean [private]
© 2005-2018 HörTech gGmbH, Oldenburg
496 CONTENTS
5.117.3.2 std
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.118 MHA_AC::waveform_t Class Reference
Insert a MHASignal::waveform_t (p. 993) 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
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.118 MHA_AC::waveform_t Class Reference 497
Protected Attributes
algo_comm_t ac
• std::string name
Additional Inherited Members
5.118.1 Detailed Description
Insert a MHASignal::waveform_t (p. 993) class into the AC space.
The variable is automatically removed on destruction.
5.118.2 Constructor & Destructor Documentation
5.118.2.1 waveform_t()
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. 496) class
channels Number of audio channels in the waveform_t (p. 496) class
insert_now Insert implicitely in the constructor (true) or explicitely in the insert() (p. 498)
function (false)
5.118.2.2 waveform_t()
MHA_AC::waveform_t::waveform_t (
void ) [virtual]
Reimplemented from MHASignal::waveform_t (p. 996).
© 2005-2018 HörTech gGmbH, Oldenburg
498 CONTENTS
5.118.3 Member Function Documentation
5.118.3.1 insert()
void MHA_AC::waveform_t::insert ( )
Insert AC variable into AC space.
5.118.4 Member Data Documentation
5.118.4.1 ac
algo_comm_t MHA_AC::waveform_t::ac [protected]
5.118.4.2 name
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.119 mha_audio_descriptor_t Struct Reference
Description of an audio fragment (planned as a replacement of mhaconfig_t (p. 595)).
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-2018 HörTech gGmbH, Oldenburg
5.119 mha_audio_descriptor_t Struct Reference 499
5.119.1 Detailed Description
Description of an audio fragment (planned as a replacement of mhaconfig_t (p. 595)).
5.119.2 Member Data Documentation
5.119.2.1 n_samples
unsigned int mha_audio_descriptor_t::n_samples
Number of samples.
5.119.2.2 n_channels
unsigned int mha_audio_descriptor_t::n_channels
Number of audio channels.
5.119.2.3 n_freqs
unsigned int mha_audio_descriptor_t::n_freqs
Number of frequency bands.
5.119.2.4 is_complex
unsigned int mha_audio_descriptor_t::is_complex
Flag about sample type.
5.119.2.5 dt
mha_real_t mha_audio_descriptor_t::dt
Time distance between samples (only equidistant samples allowed)
© 2005-2018 HörTech gGmbH, Oldenburg
500 CONTENTS
5.119.2.6 cf
mha_real_tmha_audio_descriptor_t::cf
Center frequencies of frequency bands.
5.119.2.7 chdir
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.h
5.120 mha_audio_t Struct Reference
An audio fragment in the openMHA (planned as a replacement of mha_wave_t (p. 583) and
mha_spec_t (p. 547)).
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. 499) is unset.
mha_complex_t cdata
Data pointer if flag mha_audio_descriptor_t::is_complex (p. 499) is set.
5.120.1 Detailed Description
An audio fragment in the openMHA (planned as a replacement of mha_wave_t (p. 583) and
mha_spec_t (p. 547)).
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. 583) and mha_spec_t (p. 547) data pointers into cor-
responding mha_audio_t (p. 500) objects.
© 2005-2018 HörTech gGmbH, Oldenburg
5.121 mha_channel_info_t Struct Reference 501
5.120.2 Member Data Documentation
5.120.2.1 descriptor
mha_audio_descriptor_t mha_audio_t::descriptor
Dimension and description of the data.
5.120.2.2 rdata
mha_real_tmha_audio_t::rdata
Data pointer if flag mha_audio_descriptor_t::is_complex (p. 499) is unset.
5.120.2.3 cdata
mha_complex_tmha_audio_t::cdata
Data pointer if flag mha_audio_descriptor_t::is_complex (p. 499) is set.
The documentation for this struct was generated from the following file:
mha.h
5.121 mha_channel_info_t Struct Reference
Channel information structure.
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.
© 2005-2018 HörTech gGmbH, Oldenburg
502 CONTENTS
5.121.1 Detailed Description
Channel information structure.
5.121.2 Member Data Documentation
5.121.2.1 id
int mha_channel_info_t::id
channel id
5.121.2.2 idstr
char mha_channel_info_t::idstr[32]
channel id
5.121.2.3 side
unsigned int mha_channel_info_t::side
side (left/right)
5.121.2.4 dir
mha_direction_t mha_channel_info_t::dir
source direction
5.121.2.5 peaklevel
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.h
© 2005-2018 HörTech gGmbH, Oldenburg
5.122 mha_complex_t Struct Reference 503
5.122 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.122.1 Detailed Description
Type for complex floating point values.
5.122.2 Member Data Documentation
5.122.2.1 re
mha_real_t mha_complex_t::re
Real part.
5.122.2.2 im
mha_real_t mha_complex_t::im
Imaginary part.
The documentation for this struct was generated from the following file:
mha.h
5.123 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.
© 2005-2018 HörTech gGmbH, Oldenburg
504 CONTENTS
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 &)
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.123 mha_dblbuf_t<FIFO >Class Template Reference 505
• 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.123.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.
5.123.2 Member Typedef Documentation
5.123.2.1 value_type
template<class FIFO >
typedef FIFO::value_type mha_dblbuf_t<FIFO >:: value_type
The datatype exchanged by the FIFO and this doublebuffer.
5.123.3 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
506 CONTENTS
5.123.3.1 mha_dblbuf_t()
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.123.3.2 mha_dblbuf_t()
template<class FIFO >
mha_dblbuf_t<FIFO >::mha_dblbuf_t ( ) [virtual]
5.123.4 Member Function Documentation
5.123.4.1 get_inner_size()
template<class FIFO >
virtual unsigned mha_dblbuf_t<FIFO >::get_inner_size ( ) const [inline], [virtual]
© 2005-2018 HörTech gGmbH, Oldenburg
5.123 mha_dblbuf_t<FIFO >Class Template Reference 507
5.123.4.2 get_outer_size()
template<class FIFO >
virtual unsigned mha_dblbuf_t<FIFO >::get_outer_size ( ) const [inline], [virtual]
5.123.4.3 get_delay()
template<class FIFO >
virtual unsigned mha_dblbuf_t<FIFO >::get_delay ( ) const [inline], [virtual]
5.123.4.4 get_fifo_size()
template<class FIFO >
virtual unsigned mha_dblbuf_t<FIFO >::get_fifo_size ( ) const [inline], [virtual]
5.123.4.5 get_input_channels()
template<class FIFO >
virtual unsigned mha_dblbuf_t<FIFO >::get_input_channels ( ) const [inline],
[virtual]
5.123.4.6 get_output_channels()
template<class FIFO >
virtual unsigned mha_dblbuf_t<FIFO >::get_output_channels ( ) const [inline],
[virtual]
5.123.4.7 get_input_fifo_fill_count()
template<class FIFO >
virtual unsigned mha_dblbuf_t<FIFO >::get_input_fifo_fill_count ( ) const [inline],
[virtual]
© 2005-2018 HörTech gGmbH, Oldenburg
508 CONTENTS
5.123.4.8 get_output_fifo_fill_count()
template<class FIFO >
virtual unsigned mha_dblbuf_t<FIFO >::get_output_fifo_fill_count ( ) const [inline],
[virtual]
5.123.4.9 get_input_fifo_space()
template<class FIFO >
virtual unsigned mha_dblbuf_t<FIFO >::get_input_fifo_space ( ) const [inline],
[virtual]
5.123.4.10 get_output_fifo_space()
template<class FIFO >
virtual unsigned mha_dblbuf_t<FIFO >::get_output_fifo_space ( ) const [inline],
[virtual]
5.123.4.11 get_inner_error()
template<class FIFO >
virtual MHA_Errormha_dblbuf_t<FIFO >::get_inner_error ( ) const [inline],
[virtual]
5.123.4.12 provoke_inner_error()
template<class FIFO >
void mha_dblbuf_t<FIFO >::provoke_inner_error (
const MHA_Error &error ) [virtual]
5.123.4.13 provoke_outer_error()
template<class FIFO >
void mha_dblbuf_t<FIFO >::provoke_outer_error (
const MHA_Error &error ) [virtual]
5.123.4.14 process()
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-2018 HörTech gGmbH, Oldenburg
5.123 mha_dblbuf_t<FIFO >Class Template Reference 509
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. 522)When count is >outer_size as given to constructor or the underlying
fifo implementation detects an error.
5.123.4.15 input()
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. 522)When the underlying fifo implementation detects an error.
5.123.4.16 output()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
510 CONTENTS
Exceptions
MHA_Error (p. 522)When the underlying fifo implementation detects an error.
5.123.5 Member Data Documentation
5.123.5.1 outer_size
template<class FIFO >
unsigned mha_dblbuf_t<FIFO >::outer_size [private]
The block size used by the outer process.
5.123.5.2 inner_size
template<class FIFO >
unsigned mha_dblbuf_t<FIFO >::inner_size [private]
The block size used by the inner process.
5.123.5.3 delay
template<class FIFO >
unsigned mha_dblbuf_t<FIFO >::delay [private]
The delay introduced by bidirectional buffer size adaptation.
5.123.5.4 fifo_size
template<class FIFO >
unsigned mha_dblbuf_t<FIFO >::fifo_size [private]
The size of each of the FIFOs.
© 2005-2018 HörTech gGmbH, Oldenburg
5.123 mha_dblbuf_t<FIFO >Class Template Reference 511
5.123.5.5 input_channels
template<class FIFO >
unsigned mha_dblbuf_t<FIFO >::input_channels [private]
The number of input channels.
5.123.5.6 output_channels
template<class FIFO >
unsigned mha_dblbuf_t<FIFO >::output_channels [private]
The number of output channels.
5.123.5.7 input_fifo
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.123.5.8 output_fifo
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.123.5.9 inner_error
template<class FIFO >
MHA_Errormha_dblbuf_t<FIFO >::inner_error [private]
Owned copy of exception to be thrown in inner thread.
© 2005-2018 HörTech gGmbH, Oldenburg
512 CONTENTS
5.123.5.10 outer_error
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
5.124 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.124.1 Detailed Description
Channel source direction structure.
5.124.2 Member Data Documentation
5.124.2.1 azimuth
mha_real_t mha_direction_t::azimuth
azimuth in radiants
© 2005-2018 HörTech gGmbH, Oldenburg
5.125 mha_drifter_fifo_t<T>Class Template Reference 513
5.124.2.2 elevation
mha_real_t mha_direction_t::elevation
elevation in radiants
5.124.2.3 distance
mha_real_t mha_direction_t::distance
distance in meters
The documentation for this struct was generated from the following file:
mha.h
5.125 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 >
© 2005-2018 HörTech gGmbH, Oldenburg
514 CONTENTS
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. 521) 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. 521) 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. 516) or mha_drifter_fifo_t<T>::write (p. 516)
when their xrun in succession counter exceeds its limit.
virtual void starting ()
Called by mha_drifter_fifo_t<T>::read (p. 516) or mha_drifter_fifo_t<T>::write (p. 516)
when the respective flag (mha_drifter_fifo_t<T>::reader_started (p. 519) or mha_drifter-
_fifo_t<T>::writer_started (p. 519)) 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.
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.125 mha_drifter_fifo_t<T>Class Template Reference 515
• 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. 519)
and mha_drifter_fifo_t<T>::writer_started (p. 519) are true, then first mha_drifter_fifo-
_t<T>::desired_fill_count (p. 519) instances of mha_drifter_fifo_t<T>::null_data (p. 521)
are delivered to the reader.
Additional Inherited Members
5.125.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.
5.125.2 Constructor & Destructor Documentation
5.125.2.1 mha_drifter_fifo_t() [1/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 )
Create drifter FIFO.
© 2005-2018 HörTech gGmbH, Oldenburg
516 CONTENTS
5.125.2.2 mha_drifter_fifo_t() [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.125.3 Member Function Documentation
5.125.3.1 write()
template<class T >
void mha_drifter_fifo_t<T>::write (
const T data,
unsigned count ) [virtual]
write data to fifo
Sets writer_started (p. 519) to true.
When processing has started, i.e. both reader_started (p. 519) and writer_started (p. 519)
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. 520) exceeds maximum_-
writer_xruns_in_succession_before_stop (p. 520).
Parameters
data Pointer to source data.
count Number of instances to copy
Reimplemented from mha_fifo_t<T>(p. 533).
5.125.3.2 read()
template<class T >
void mha_drifter_fifo_t<T>::read (
© 2005-2018 HörTech gGmbH, Oldenburg
5.125 mha_drifter_fifo_t<T>Class Template Reference 517
Tbuf,
unsigned count ) [virtual]
Read data from fifo.
Sets reader_started (p. 519) to true.
When processing has started, i.e. both reader_started (p. 519) and writer_started (p. 519)
are true, then read specified ammount of data from the fifo. As long as startup_zeros (p. 521)
is >0, null_data (p. 521) is delivered to the reader and startup_zeros (p. 521) is diminished.
Only when startup_zeros (p. 521) 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. 518), then
only so much data are read that minimum_fill_count (p. 518) entries remain in the fifo, the
missing data is replaced with null_data (p. 521), and the reader xrun counters are increased.
Processing is stopped when reader_xruns_in_succession (p. 520) exceeds maximum_-
reader_xruns_in_succession_before_stop (p. 521).
Parameters
buf Pointer to the target buffer
count Number of instances to copy
Reimplemented from mha_fifo_t<T>(p. 534).
5.125.3.3 get_fill_count()
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. 521) to the number of
samples actually in the fifo's buffer.
Reimplemented from mha_fifo_t<T>(p. 534).
5.125.3.4 get_available_space()
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. 521) 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. 534).
© 2005-2018 HörTech gGmbH, Oldenburg
518 CONTENTS
5.125.3.5 get_des_fill_count()
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.125.3.6 get_min_fill_count()
template<class T >
virtual unsigned mha_drifter_fifo_t<T>::get_min_fill_count ( ) const [inline],
[virtual]
The minimum fill count of this fifo.
5.125.3.7 stop()
template<class T >
void mha_drifter_fifo_t<T>::stop ( ) [virtual]
Called by mha_drifter_fifo_t<T>::read (p. 516) or mha_drifter_fifo_t<T>::write (p. 516)
when their xrun in succession counter exceeds its limit.
Called by read (p. 516) or write (p. 516) when their xrun in succession counter exceeds its limit.
May also be called explicitly.
5.125.3.8 starting()
template<class T >
void mha_drifter_fifo_t<T>::starting ( ) [virtual]
Called by mha_drifter_fifo_t<T>::read (p. 516) or mha_drifter_fifo_t<T>::write (p. 516)
when the respective flag (mha_drifter_fifo_t<T>::reader_started (p. 519) or mha_drifter_-
fifo_t<T>::writer_started (p. 519)) is about to be toggled from false to true.
The fifo's buffer is emptied, this method resets startup_zeros (p. 521) to desired_fill_count
(p. 519), and it also resets reader_xruns_since_start (p. 520) and writer_xruns_since_start
(p. 520) to 0.
5.125.4 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.125 mha_drifter_fifo_t<T>Class Template Reference 519
5.125.4.1 minimum_fill_count
template<class T >
const unsigned mha_drifter_fifo_t<T>::minimum_fill_count [private]
The minimum fill count of this fifo.
5.125.4.2 desired_fill_count
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.125.4.3 writer_started
template<class T >
bool mha_drifter_fifo_t<T>::writer_started [private]
Flag set to true when write is called the first time.
5.125.4.4 reader_started
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.125.4.5 writer_xruns_total
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-2018 HörTech gGmbH, Oldenburg
520 CONTENTS
5.125.4.6 reader_xruns_total
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.125.4.7 writer_xruns_since_start
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.125.4.8 reader_xruns_since_start
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.125.4.9 writer_xruns_in_succession
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.125.4.10 reader_xruns_in_succession
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.125 mha_drifter_fifo_t<T>Class Template Reference 521
5.125.4.11 maximum_writer_xruns_in_succession_before_stop
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.125.4.12 maximum_reader_xruns_in_succession_before_stop
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.125.4.13 null_data
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.
5.125.4.14 startup_zeros
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. 519)
and mha_drifter_fifo_t<T>::writer_started (p. 519) are true, then first mha_drifter_fifo_t<-
T>::desired_fill_count (p. 519) instances of mha_drifter_fifo_t<T>::null_data (p. 521) are
delivered to the reader.
These null_data (p. 521) instances are not transmitted through the fifo because filling the fifo
with enough null_data (p. 521) might not be realtime safe and this filling has to be initiated by
starting (p. 518) or stop (p. 518) (this implementation: starting (p. 518)) which are be called
with realtime constraints.
The documentation for this class was generated from the following file:
mha_fifo.h
© 2005-2018 HörTech gGmbH, Oldenburg
522 CONTENTS
5.126 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. 522).
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
5.126.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. 522) class holds source file name, line number and an error message.
5.126.2 Constructor & Destructor Documentation
5.126.2.1 MHA_Error() [1/2]
MHA_Error::MHA_Error (
const char s_file,
int l,
const char fmt,
... )
Create an instance of a MHA_Error (p. 522).
© 2005-2018 HörTech gGmbH, Oldenburg
5.126 MHA_Error Class Reference 523
Parameters
s_file source file name (FILE)
lsource line (LINE)
fmt format string for error message (as in printf)
5.126.2.2 MHA_Error() [2/2]
MHA_Error::MHA_Error (
const MHA_Error &p)
5.126.2.3 MHA_Error()
MHA_Error::MHA_Error ( ) throw )
5.126.3 Member Function Documentation
5.126.3.1 operator=()
MHA_Error & MHA_Error::operator= (
const MHA_Error &p)
5.126.3.2 get_msg()
const charMHA_Error::get_msg ( ) const [inline]
Return the error message without source position.
5.126.3.3 get_longmsg()
const charMHA_Error::get_longmsg ( ) const [inline]
Return the error message with source position.
© 2005-2018 HörTech gGmbH, Oldenburg
524 CONTENTS
5.126.3.4 what()
const charMHA_Error::what ( ) const throw ) [inline]
overwrite std::execption::what()
5.126.4 Member Data Documentation
5.126.4.1 msg
charMHA_Error::msg [private]
5.126.4.2 longmsg
charMHA_Error::longmsg [private]
The documentation for this class was generated from the following files:
mha_error.hh
mha_error.cpp
5.127 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 >
© 2005-2018 HörTech gGmbH, Oldenburg
5.127 mha_fifo_lw_t<T>Class Template Reference 525
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.
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.127.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.127.2 Constructor & Destructor Documentation
5.127.2.1 mha_fifo_lw_t()
template<class T >
mha_fifo_lw_t<T>:: mha_fifo_lw_t (
unsigned max_fill_count ) [explicit]
Create FIFO with fixed buffer size.
© 2005-2018 HörTech gGmbH, Oldenburg
526 CONTENTS
5.127.2.2 mha_fifo_lw_t()
template<class T >
mha_fifo_lw_t<T>::mha_fifo_lw_t ( ) [virtual]
release synchronization object
5.127.3 Member Function Documentation
5.127.3.1 write()
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.
Parameters
data Pointer to source data.
count Number of instances to copy.
Exceptions
MHA_Error (p. 522)when detecting a deadlock situation.
Reimplemented from mha_fifo_t<T>(p. 533).
5.127.3.2 read()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.127 mha_fifo_lw_t<T>Class Template Reference 527
Parameters
buf Pointer to the target buffer.
count Number of instances to copy.
Exceptions
MHA_Error (p. 522)when detecting a deadlock situation.
Reimplemented from mha_fifo_t<T>(p. 534).
5.127.3.3 set_error()
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. 522) to be thrown
5.127.4 Member Data Documentation
5.127.4.1 sync
template<class T >
mha_fifo_thread_platform_tmha_fifo_lw_t<T>::sync [private]
platform specific thread synchronization
© 2005-2018 HörTech gGmbH, Oldenburg
528 CONTENTS
5.127.4.2 error
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.128 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 ()
Private Attributes
• pthread_mutex_t mutex
• pthread_cond_t decrease_condition
• pthread_cond_t increase_condition
© 2005-2018 HörTech gGmbH, Oldenburg
5.128 mha_fifo_posix_threads_t Class Reference 529
5.128.1 Constructor & Destructor Documentation
5.128.1.1 mha_fifo_posix_threads_t()
mha_fifo_posix_threads_t::mha_fifo_posix_threads_t ( ) [inline]
5.128.1.2 mha_fifo_posix_threads_t()
virtual mha_fifo_posix_threads_t::mha_fifo_posix_threads_t ( ) [inline], [virtual]
5.128.2 Member Function Documentation
5.128.2.1 aquire_mutex()
virtual void mha_fifo_posix_threads_t::aquire_mutex ( ) [inline], [virtual]
Implements mha_fifo_thread_platform_t (p. 539).
5.128.2.2 release_mutex()
virtual void mha_fifo_posix_threads_t::release_mutex ( ) [inline], [virtual]
Implements mha_fifo_thread_platform_t (p. 539).
5.128.2.3 wait_for_decrease()
virtual void mha_fifo_posix_threads_t::wait_for_decrease ( ) [inline], [virtual]
Implements mha_fifo_thread_platform_t (p. 540).
© 2005-2018 HörTech gGmbH, Oldenburg
530 CONTENTS
5.128.2.4 wait_for_increase()
virtual void mha_fifo_posix_threads_t::wait_for_increase ( ) [inline], [virtual]
Implements mha_fifo_thread_platform_t (p. 540).
5.128.2.5 increment()
virtual void mha_fifo_posix_threads_t::increment ( ) [inline], [virtual]
Implements mha_fifo_thread_platform_t (p. 540).
5.128.2.6 decrement()
virtual void mha_fifo_posix_threads_t::decrement ( ) [inline], [virtual]
Implements mha_fifo_thread_platform_t (p. 540).
5.128.3 Member Data Documentation
5.128.3.1 mutex
pthread_mutex_t mha_fifo_posix_threads_t::mutex [private]
5.128.3.2 decrease_condition
pthread_cond_t mha_fifo_posix_threads_t::decrease_condition [private]
5.128.3.3 increase_condition
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.129 mha_fifo_t<T>Class Template Reference 531
5.129 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.
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.
© 2005-2018 HörTech gGmbH, Oldenburg
532 CONTENTS
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.
5.129.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.129.2 Member Typedef Documentation
5.129.2.1 value_type
template<class T>
typedef T mha_fifo_t<T>:: value_type
The data type exchanged by this fifo.
5.129.3 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.129 mha_fifo_t<T>Class Template Reference 533
5.129.3.1 mha_fifo_t() [1/3]
template<class T >
mha_fifo_t<T>:: mha_fifo_t (
unsigned max_fill_count ) [explicit]
Create FIFO with fixed buffer size.
5.129.3.2 mha_fifo_t() [2/3]
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.129.3.3 mha_fifo_t() [3/3]
template<class T>
mha_fifo_t<T>:: mha_fifo_t (
const mha_fifo_t<T>&src )
Copy constructor.
5.129.3.4 mha_fifo_t()
template<class T >
mha_fifo_t<T>::mha_fifo_t ( ) [virtual]
Destroy FIFO.
5.129.4 Member Function Documentation
5.129.4.1 write()
template<class T>
void mha_fifo_t<T>::write (
const T data,
unsigned count ) [virtual]
write specified ammount of data to the fifo.
© 2005-2018 HörTech gGmbH, Oldenburg
534 CONTENTS
Parameters
data Pointer to source data.
count Number of instances to copy
Exceptions
MHA_Error (p. 522)when there is not enough space available.
Reimplemented in mha_fifo_lw_t<T>(p. 526), and mha_drifter_fifo_t<T>(p. 516).
5.129.4.2 read()
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. 522)when there is not enough data available.
Reimplemented in mha_fifo_lw_t<T>(p. 526), and mha_drifter_fifo_t<T>(p. 516).
5.129.4.3 get_fill_count()
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. 517).
© 2005-2018 HörTech gGmbH, Oldenburg
5.129 mha_fifo_t<T>Class Template Reference 535
5.129.4.4 get_available_space()
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. 517).
5.129.4.5 get_max_fill_count()
template<class T>
virtual unsigned mha_fifo_t<T>::get_max_fill_count ( ) const [inline], [virtual]
The capacity of this fifo.
5.129.4.6 operator=()
template<class T>
mha_fifo_t<T>&mha_fifo_t<T>::operator= (
const mha_fifo_t<T>&src )
Assignment operator.
5.129.4.7 clear()
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.129.5 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
536 CONTENTS
5.129.5.1 max_fill_count
template<class T>
const unsigned mha_fifo_t<T>::max_fill_count [private]
The maximum fill count of this FIFO.
5.129.5.2 buf
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.129.5.3 write_ptr
template<class T>
Tmha_fifo_t<T>::write_ptr [private]
points to location where to write next
5.129.5.4 read_ptr
template<class T>
const Tmha_fifo_t<T>::read_ptr [private]
points to location where to read next
5.129.5.5 buf_uses_placement_new
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.130 mha_fifo_thread_guard_t Class Reference 537
5.130 mha_fifo_thread_guard_t Class Reference
Simple Mutex Guard Class.
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.130.1 Detailed Description
Simple Mutex Guard Class.
5.130.2 Constructor & Destructor Documentation
5.130.2.1 mha_fifo_thread_guard_t()
mha_fifo_thread_guard_t::mha_fifo_thread_guard_t (
mha_fifo_thread_platform_t sync ) [inline]
5.130.2.2 mha_fifo_thread_guard_t()
mha_fifo_thread_guard_t::mha_fifo_thread_guard_t ( ) [inline]
5.130.3 Member Data Documentation
5.130.3.1 sync
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
© 2005-2018 HörTech gGmbH, Oldenburg
538 CONTENTS
5.131 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
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 &)
© 2005-2018 HörTech gGmbH, Oldenburg
5.131 mha_fifo_thread_platform_t Class Reference 539
5.131.1 Detailed Description
Abstract base class for synchronizing multithreaded (producer/consumer) fifo operations.
Works only with single producer and single consumer.
5.131.2 Constructor & Destructor Documentation
5.131.2.1 mha_fifo_thread_platform_t()
virtual mha_fifo_thread_platform_t::mha_fifo_thread_platform_t ( ) [inline], [virtual]
Make destructor virtual.
5.131.2.2 mha_fifo_thread_platform_t() [1/2]
mha_fifo_thread_platform_t::mha_fifo_thread_platform_t (
const mha_fifo_thread_platform_t & ) [private]
5.131.2.3 mha_fifo_thread_platform_t() [2/2]
mha_fifo_thread_platform_t::mha_fifo_thread_platform_t ( ) [inline]
Make default constructor accessible.
5.131.3 Member Function Documentation
5.131.3.1 aquire_mutex()
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. 529).
© 2005-2018 HörTech gGmbH, Oldenburg
540 CONTENTS
5.131.3.2 release_mutex()
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. 529).
5.131.3.3 wait_for_decrease()
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. 529).
5.131.3.4 wait_for_increase()
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. 529).
5.131.3.5 increment()
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. 530).
© 2005-2018 HörTech gGmbH, Oldenburg
5.132 mha_rt_fifo_element_t<T>Class Template Reference 541
5.131.3.6 decrement()
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. 530).
5.131.3.7 operator=()
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.132 mha_rt_fifo_element_t<T>Class Template Reference
Object wrapper for mha_rt_fifo_t (p. 543).
Public Member Functions
mha_rt_fifo_element_t (T data)
Constructor.
mha_rt_fifo_element_t ()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
542 CONTENTS
5.132.1 Detailed Description
template<class T>
class mha_rt_fifo_element_t<T>
Object wrapper for mha_rt_fifo_t (p. 543).
5.132.2 Constructor & Destructor Documentation
5.132.2.1 mha_rt_fifo_element_t()
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.132.2.2 mha_rt_fifo_element_t()
template<class T >
mha_rt_fifo_element_t<T>::mha_rt_fifo_element_t ( ) [inline]
5.132.3 Member Data Documentation
5.132.3.1 next
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.133 mha_rt_fifo_t<T>Class Template Reference 543
5.132.3.2 abandonned
template<class T >
bool mha_rt_fifo_element_t<T>::abandonned
Indicates that this element will no longer be used and may be deleted.
5.132.3.3 data
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.133 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.
© 2005-2018 HörTech gGmbH, Oldenburg
544 CONTENTS
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. 545) or poll_1 (p. 545).
5.133.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. 545). The push operation is not real time safe,
it allocates and deallocates memory. The latest element is retrieved by calling poll (p. 545).
This operation will skip fifo elements if more than one push (p. 545) has been occured since
the last poll. To avoid skipping, call the poll_1 (p. 545) operation instead.
5.133.2 Constructor & Destructor Documentation
5.133.2.1 mha_rt_fifo_t()
template<class T >
mha_rt_fifo_t<T>:: mha_rt_fifo_t ( ) [inline]
Construct empty fifo.
5.133.2.2 mha_rt_fifo_t()
template<class T >
mha_rt_fifo_t<T>::mha_rt_fifo_t ( ) [inline]
Destructor will delete all data currently in the fifo.
© 2005-2018 HörTech gGmbH, Oldenburg
5.133 mha_rt_fifo_t<T>Class Template Reference 545
5.133.3 Member Function Documentation
5.133.3.1 poll()
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.
5.133.3.2 poll_1()
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. 545) or poll_1()
(p. 545) 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.133.3.3 push()
template<class T >
void mha_rt_fifo_t<T>::push (
Tdata ) [inline]
Add element to the Fifo.
Deletes abandonned elements in the fifo.
© 2005-2018 HörTech gGmbH, Oldenburg
546 CONTENTS
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.133.3.4 remove_abandonned()
template<class T >
void mha_rt_fifo_t<T>::remove_abandonned ( ) [inline], [private]
Deletes abandonned elements.
5.133.3.5 remove_all()
template<class T >
void mha_rt_fifo_t<T>::remove_all ( ) [inline], [private]
Deletes all elements.
5.133.4 Member Data Documentation
5.133.4.1 root
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.
5.133.4.2 current
template<class T >
mha_rt_fifo_element_t<T>mha_rt_fifo_t<T>::current [private]
The element most recently returned by poll (p. 545) or poll_1 (p. 545).
Searching for new elements starts here.
The documentation for this class was generated from the following file:
mha_fifo.h
© 2005-2018 HörTech gGmbH, Oldenburg
5.134 mha_spec_t Struct Reference 547
5.134 mha_spec_t Struct Reference
Spectrum signal structure.
Inheritance diagram for mha_spec_t:
mha_spec_t
MHASignal::spectrum_t
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
5.134.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
© 2005-2018 HörTech gGmbH, Oldenburg
548 CONTENTS
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.134.2 Member Data Documentation
5.134.2.1 buf
mha_complex_tmha_spec_t::buf
signal buffer
5.134.2.2 num_channels
unsigned int mha_spec_t::num_channels
number of channels
5.134.2.3 num_frames
unsigned int mha_spec_t::num_frames
number of frames in each channel
5.134.2.4 channel_info
mha_channel_info_tmha_spec_t::channel_info
detailed channel description
The documentation for this struct was generated from the following file:
mha.h
© 2005-2018 HörTech gGmbH, Oldenburg
5.135 MHA_TCP::Async_Notify Class Reference 549
5.135 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.135.1 Detailed Description
Portable Multiplexable cross-thread notification.
5.135.2 Constructor & Destructor Documentation
5.135.2.1 Async_Notify()
Async_Notify::Async_Notify ( )
© 2005-2018 HörTech gGmbH, Oldenburg
550 CONTENTS
5.135.2.2 Async_Notify()
Async_Notify::Async_Notify ( ) [virtual]
5.135.3 Member Function Documentation
5.135.3.1 reset()
void Async_Notify::reset ( ) [virtual]
Reimplemented from MHA_TCP::Wakeup_Event (p. 581).
5.135.3.2 set()
void Async_Notify::set ( ) [virtual]
5.135.4 Member Data Documentation
5.135.4.1 pipe
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.136 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-2018 HörTech gGmbH, Oldenburg
5.136 MHA_TCP::Client Class Reference 551
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.136.1 Detailed Description
A portable class for a tcp client connections.
5.136.2 Constructor & Destructor Documentation
5.136.2.1 Client() [1/2]
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. 565).
port The port or the TCP Server (p. 565).
5.136.2.2 Client() [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.
© 2005-2018 HörTech gGmbH, Oldenburg
552 CONTENTS
Parameters
host The hostname of the TCP Server (p. 565).
port The port or the TCP Server (p. 565).
timeout_watcher an Event watcher that implements a timeout.
The documentation for this class was generated from the following files:
mha_tcp.hh
mha_tcp.cpp
5.137 MHA_TCP::Connection Class Reference
Connection (p. 552) 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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.137 MHA_TCP::Connection Class Reference 553
• 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="")
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.
© 2005-2018 HörTech gGmbH, Oldenburg
554 CONTENTS
Private Attributes
• std::string outbuf
• std::string inbuf
Sockread_Event read_event
Sockwrite_Event write_event
• bool closed
struct sockaddr_in peer_addr
5.137.1 Detailed Description
Connection (p. 552) handles Communication between client and server, is used on both sides.
5.137.2 Constructor & Destructor Documentation
5.137.2.1 Connection()
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. 522)If the file descriptor is <0.
5.137.2.2 Connection()
Connection::Connection ( ) [virtual]
Destructor closes the underlying file descriptor.
© 2005-2018 HörTech gGmbH, Oldenburg
5.137 MHA_TCP::Connection Class Reference 555
5.137.3 Member Function Documentation
5.137.3.1 init_peer_data()
void MHA_TCP::Connection::init_peer_data ( ) [private]
determine peer address and port
5.137.3.2 can_sysread()
bool Connection::can_sysread ( ) [private]
Determine wether at least 1 byte can be read without blocking.
5.137.3.3 can_syswrite()
bool Connection::can_syswrite ( ) [private]
Determine wether at least 1 byte can be written without blocking.
5.137.3.4 sysread()
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.
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.
© 2005-2018 HörTech gGmbH, Oldenburg
556 CONTENTS
5.137.3.5 syswrite()
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.137.3.6 get_read_event()
Sockread_Event Connection::get_read_event ( )
5.137.3.7 get_write_event()
Sockwrite_Event Connection::get_write_event ( )
5.137.3.8 get_peer_address()
std::string Connection::get_peer_address ( )
Get peer's IP Address.
5.137.3.9 get_peer_port()
unsigned short Connection::get_peer_port ( )
Get peer's TCP port.
© 2005-2018 HörTech gGmbH, Oldenburg
5.137 MHA_TCP::Connection Class Reference 557
5.137.3.10 get_fd()
SOCKET MHA_TCP::Connection::get_fd ( ) const [inline]
Return the (protected) file descriptor of the connection.
Will be required for SSL.
5.137.3.11 eof()
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.137.3.12 can_read_line()
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.137.3.13 can_read_bytes()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
558 CONTENTS
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.137.3.14 read_line()
std::string Connection::read_line (
char delim = '\n' )
Reads a single line of data from the socket.
Blocks if necessary.
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.137.3.15 read_bytes()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.137 MHA_TCP::Connection Class Reference 559
Returns
The string of characters read. The string may be shorter if EOF is encountered.
5.137.3.16 try_write()
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.137.3.17 write()
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.
5.137.3.18 needs_write()
bool Connection::needs_write ( )
Checks if the internal "outgoing" buffer contains data.
5.137.3.19 buffered_incoming_bytes()
unsigned Connection::buffered_incoming_bytes ( ) const
Returns the number of bytes in the internal "incoming" buffer.
© 2005-2018 HörTech gGmbH, Oldenburg
560 CONTENTS
5.137.3.20 buffered_outgoing_bytes()
unsigned Connection::buffered_outgoing_bytes ( ) const
Returns the number of bytes in the internal "outgoing" buffer.
5.137.4 Member Data Documentation
5.137.4.1 outbuf
std::string MHA_TCP::Connection::outbuf [private]
5.137.4.2 inbuf
std::string MHA_TCP::Connection::inbuf [private]
5.137.4.3 read_event
Sockread_EventMHA_TCP::Connection::read_event [private]
5.137.4.4 write_event
Sockwrite_EventMHA_TCP::Connection::write_event [private]
5.137.4.5 closed
bool MHA_TCP::Connection::closed [private]
5.137.4.6 peer_addr
struct sockaddr_in MHA_TCP::Connection::peer_addr [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.138 MHA_TCP::Event_Watcher Class Reference 561
5.137.4.7 fd
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
5.138 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 ()
© 2005-2018 HörTech gGmbH, Oldenburg
562 CONTENTS
Private Attributes
std::set<Wakeup_Event >events
The list of events to watch.
5.138.1 Detailed Description
OS-independent event watcher, uses select on Unix and WaitForMultipleObjects on Windows.
5.138.2 Member Typedef Documentation
5.138.2.1 Events
typedef std::set<Wakeup_Event>MHA_TCP::Event_Watcher::Events
5.138.2.2 iterator
typedef std::set<Wakeup_Event>:: iterator MHA_TCP::Event_Watcher::iterator
5.138.3 Constructor & Destructor Documentation
5.138.3.1 Event_Watcher()
Event_Watcher::Event_Watcher ( ) [virtual]
5.138.4 Member Function Documentation
5.138.4.1 observe()
void Event_Watcher::observe (
Wakeup_Event event )
Add an event to this observer.
© 2005-2018 HörTech gGmbH, Oldenburg
5.139 MHA_TCP::OS_EVENT_TYPE Struct Reference 563
5.138.4.2 ignore()
void Event_Watcher::ignore (
Wakeup_Event event )
Remove an event from this observer.
5.138.4.3 wait()
std::set<Wakeup_Event >Event_Watcher::wait ( )
\ Wait for some event to occur.
Return all events that are ready
5.138.5 Member Data Documentation
5.138.5.1 events
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
5.139 MHA_TCP::OS_EVENT_TYPE Struct Reference
Public Types
enum { R=0, W=1, X=2, T}
Public Attributes
enum MHA_TCP::OS_EVENT_TYPE:: { ... } mode
union {
int fd
double timeout
};
5.139.1 Member Enumeration Documentation
5.139.1.1 anonymous enum
anonymous enum
© 2005-2018 HörTech gGmbH, Oldenburg
564 CONTENTS
Enumerator
R
W
X
T
5.139.2 Member Data Documentation
5.139.2.1 mode
enum { ... } MHA_TCP::OS_EVENT_TYPE::mode
5.139.2.2 fd
int MHA_TCP::OS_EVENT_TYPE::fd
5.139.2.3 timeout
double MHA_TCP::OS_EVENT_TYPE::timeout
5.139.2.4 "@4
union { ... }
The documentation for this struct was generated from the following file:
mha_tcp.hh
© 2005-2018 HörTech gGmbH, Oldenburg
5.140 MHA_TCP::Server Class Reference 565
5.140 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. 561).
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.140.1 Constructor & Destructor Documentation
5.140.1.1 Server() [1/2]
Server::Server (
unsigned short port = 0,
const std::string & iface = "0.0.0.0" )
Create a TCP server socket.
© 2005-2018 HörTech gGmbH, Oldenburg
566 CONTENTS
Parameters
port The TCP port to listen to.
iface The network interface to bind to.
5.140.1.2 Server() [2/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.140.1.3 Server()
Server::Server ( )
Close the TCP server socket.
5.140.2 Member Function Documentation
5.140.2.1 initialize()
void Server::initialize (
const std::string & iface,
unsigned short port ) [private]
5.140.2.2 get_interface()
std::string Server::get_interface ( ) const
Get the name given in the constructor for the network interface.
© 2005-2018 HörTech gGmbH, Oldenburg
5.140 MHA_TCP::Server Class Reference 567
5.140.2.3 get_port()
unsigned short Server::get_port ( ) const
Get the port that the TCP server socket currently listens to.
5.140.2.4 get_accept_event()
Sockaccept_Event Server::get_accept_event ( )
Produces an event that can be observed by an Event_Watcher (p. 561).
This event signals incoming connections that can be accepted.
5.140.2.5 accept()
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.140.2.6 try_accept()
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.140.3 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
568 CONTENTS
5.140.3.1 sock_addr
sockaddr_in MHA_TCP::Server::sock_addr [private]
5.140.3.2 serversocket
SOCKET MHA_TCP::Server::serversocket [private]
5.140.3.3 iface
std::string MHA_TCP::Server::iface [private]
5.140.3.4 port
unsigned short MHA_TCP::Server::port [private]
5.140.3.5 accept_event
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.141 MHA_TCP::Sockaccept_Event Class Reference
Inheritance diagram for MHA_TCP::Sockaccept_Event:
MHA_TCP::Sockaccept
_Event
MHA_TCP::Wakeup_Event
© 2005-2018 HörTech gGmbH, Oldenburg
5.142 MHA_TCP::Sockread_Event Class Reference 569
Public Member Functions
Sockaccept_Event (SOCKET)
Additional Inherited Members
5.141.1 Constructor & Destructor Documentation
5.141.1.1 Sockaccept_Event()
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
5.142 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.
© 2005-2018 HörTech gGmbH, Oldenburg
570 CONTENTS
Additional Inherited Members
5.142.1 Detailed Description
Watch socket for incoming data.
5.142.2 Constructor & Destructor Documentation
5.142.2.1 Sockread_Event()
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:
mha_tcp.hh
mha_tcp.cpp
5.143 MHA_TCP::Sockwrite_Event Class Reference
Inheritance diagram for MHA_TCP::Sockwrite_Event:
MHA_TCP::Sockwrite
_Event
MHA_TCP::Wakeup_Event
© 2005-2018 HörTech gGmbH, Oldenburg
5.144 MHA_TCP::Thread Class Reference 571
Public Member Functions
Sockwrite_Event (SOCKET s)
Additional Inherited Members
5.143.1 Constructor & Destructor Documentation
5.143.1.1 Sockwrite_Event()
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.144 MHA_TCP::Thread Class Reference
A very simple class for portable threads.
Public Types
enum { PREPARED,RUNNING,FINISHED }
The current state of the thread.
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. 571) is finished.
virtual void run ()
The internal method that delegated the new thread to the registered Thread (p. 571) function.
© 2005-2018 HörTech gGmbH, Oldenburg
572 CONTENTS
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. 522) 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.
Private Attributes
• pthread_t thread_handle
The posix thread handle.
• pthread_attr_t thread_attr
The posix thread attribute structure.
5.144.1 Detailed Description
A very simple class for portable threads.
5.144.2 Member Typedef Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.144 MHA_TCP::Thread Class Reference 573
5.144.2.1 thr_f
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.144.3 Member Enumeration Documentation
5.144.3.1 anonymous enum
anonymous enum
The current state of the thread.
Enumerator
PREPARED
RUNNING
FINISHED
5.144.4 Constructor & Destructor Documentation
5.144.4.1 Thread() [1/2]
MHA_TCP::Thread::Thread ( ) [protected]
Default constructor may only be used by derived classes that want to start the thread them-
selves.
5.144.4.2 Thread() [2/2]
Thread::Thread (
Thread::thr_f func,
void arg = 0 )
Constructor starts a new thread.
© 2005-2018 HörTech gGmbH, Oldenburg
574 CONTENTS
Parameters
func The function to be executed by the thread.
arg The argument given to pass to the thread function.
5.144.4.3 Thread()
Thread::Thread ( ) [virtual]
The destructor should only be called when the Thread (p. 571) is finished.
There is preliminary support for forceful thread cancellation in the destructor, but probably not
very robust or portable..
5.144.5 Member Function Documentation
5.144.5.1 run()
void Thread::run ( ) [virtual]
The internal method that delegated the new thread to the registered Thread (p. 571) function.
5.144.6 Member Data Documentation
5.144.6.1 thread_handle
pthread_t MHA_TCP::Thread::thread_handle [private]
The posix thread handle.
5.144.6.2 thread_attr
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.144 MHA_TCP::Thread Class Reference 575
5.144.6.3 arg
voidMHA_TCP::Thread::arg [protected]
The argument for the client's thread function.
5.144.6.4 return_value
voidMHA_TCP::Thread::return_value [protected]
The return value from the client's thread function is stored here When that function returns.
5.144.6.5 thread_finish_event
Async_Notify MHA_TCP::Thread::thread_finish_event
Event will be triggered when the thread exits.
5.144.6.6 state
enum { ... } MHA_TCP::Thread::state
The current state of the thread.
5.144.6.7 thread_func
thr_f MHA_TCP::Thread::thread_func
The thread function that the client has registered.
5.144.6.8 thread_arg
voidMHA_TCP::Thread::thread_arg
The argument that the client wants to be handed through to the thread function.
© 2005-2018 HörTech gGmbH, Oldenburg
576 CONTENTS
5.144.6.9 error
MHA_ErrorMHA_TCP::Thread::error
The MHA_Error (p. 522) 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.145 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 ()
Private Attributes
• double end_time
Additional Inherited Members
5.145.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.146 MHA_TCP::Timeout_Watcher Class Reference 577
5.145.1.1 Timeout_Event()
Timeout_Event::Timeout_Event (
double interval )
5.145.2 Member Function Documentation
5.145.2.1 get_os_event()
OS_EVENT_TYPE Timeout_Event::get_os_event ( ) [virtual]
Reimplemented from MHA_TCP::Wakeup_Event (p. 581).
5.145.3 Member Data Documentation
5.145.3.1 end_time
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.146 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-2018 HörTech gGmbH, Oldenburg
578 CONTENTS
Public Member Functions
Timeout_Watcher (double interval)
• virtual Timeout_Watcher ()
Private Attributes
Timeout_Event timeout
Additional Inherited Members
5.146.1 Detailed Description
OS-independent event watcher with internal fixed-end-time timeout.
5.146.2 Constructor & Destructor Documentation
5.146.2.1 Timeout_Watcher()
Timeout_Watcher::Timeout_Watcher (
double interval ) [explicit]
5.146.2.2 Timeout_Watcher()
Timeout_Watcher::Timeout_Watcher ( ) [virtual]
5.146.3 Member Data Documentation
5.146.3.1 timeout
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-2018 HörTech gGmbH, Oldenburg
5.147 MHA_TCP::Wakeup_Event Class Reference 579
5.147 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. 561) when this event is added to its list of observed events.
virtual void ignored_by (Event_Watcher observer)
Called by the Event_Watcher (p. 561) 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-2018 HörTech gGmbH, Oldenburg
580 CONTENTS
Private Attributes
std::set<class Event_Watcher >observers
A list of all Event_Watcher (p. 561) instances that this Wakeup_Event (p. 579) is observed by
(stored here for proper deregistering).
5.147.1 Detailed Description
A base class for asynchronous wakeup events.
5.147.2 Constructor & Destructor Documentation
5.147.2.1 Wakeup_Event()
Wakeup_Event::Wakeup_Event ( )
Event Constructor.
The new event has invalid state.
5.147.2.2 Wakeup_Event()
Wakeup_Event::Wakeup_Event ( ) [virtual]
Destructor deregisters from observers.
5.147.3 Member Function Documentation
5.147.3.1 observed_by()
void Wakeup_Event::observed_by (
Event_Watcher observer ) [virtual]
Called by the Event_Watcher (p. 561) when this event is added to its list of observed events.
© 2005-2018 HörTech gGmbH, Oldenburg
5.147 MHA_TCP::Wakeup_Event Class Reference 581
5.147.3.2 ignored_by()
void Wakeup_Event::ignored_by (
Event_Watcher observer ) [virtual]
Called by the Event_Watcher (p. 561) when this event is removed from its list of observed
events.
5.147.3.3 get_os_event()
OS_EVENT_TYPE Wakeup_Event::get_os_event ( ) [virtual]
Get necessary information for the Event Watcher.
Reimplemented in MHA_TCP::Timeout_Event (p. 577).
5.147.3.4 reset()
void Wakeup_Event::reset ( ) [virtual]
For pure notification events, reset the "signalled" status.
Reimplemented in MHA_TCP::Async_Notify (p. 550).
5.147.3.5 status()
bool Wakeup_Event::status ( ) [virtual]
Query wether the event is in signalled state now.
5.147.4 Member Data Documentation
5.147.4.1 observers
std::set<class Event_Watcher >MHA_TCP::Wakeup_Event::observers [private]
A list of all Event_Watcher (p. 561) instances that this Wakeup_Event (p. 579) is observed by
(stored here for proper deregistering).
© 2005-2018 HörTech gGmbH, Oldenburg
582 CONTENTS
5.147.4.2 os_event
OS_EVENT_TYPE MHA_TCP::Wakeup_Event::os_event [protected]
5.147.4.3 os_event_valid
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.148 mha_tictoc_t Struct Reference
Public Attributes
struct timeval tv1
struct timeval tv2
struct timezone tz
• float t
5.148.1 Member Data Documentation
5.148.1.1 tv1
struct timeval mha_tictoc_t::tv1
5.148.1.2 tv2
struct timeval mha_tictoc_t::tv2
5.148.1.3 tz
struct timezone mha_tictoc_t::tz
© 2005-2018 HörTech gGmbH, Oldenburg
5.149 mha_wave_t Struct Reference 583
5.148.1.4 t
float mha_tictoc_t::t
The documentation for this struct was generated from the following file:
mha_profiling.h
5.149 mha_wave_t Struct Reference
Waveform signal structure.
Inheritance diagram for mha_wave_t:
mha_wave_t MHASignal::waveform_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
MHAMultiSrc::waveform_t
mon_t
MHAFilter::o1flt_lowpass_t
MHAFilter::o1flt_maxtrack_t
MHAFilter::o1flt_mintrack_t
coherence::cohflt_t
MHAOvlFilter::overlap
_save_filterbank_t
multibandcompressor
::fftfb_plug_t
MHAOvlFilter::overlap
_save_filterbank_analytic_t fftfilterbank::fftfb
_plug_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.149.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-2018 HörTech gGmbH, Oldenburg
584 CONTENTS
5.149.2 Member Data Documentation
5.149.2.1 buf
mha_real_tmha_wave_t::buf
signal buffer
5.149.2.2 num_channels
unsigned int mha_wave_t::num_channels
number of channels
5.149.2.3 num_frames
unsigned int mha_wave_t::num_frames
number of frames in each channel
5.149.2.4 channel_info
mha_channel_info_tmha_wave_t::channel_info
detailed channel description
The documentation for this struct was generated from the following file:
mha.h
© 2005-2018 HörTech gGmbH, Oldenburg
5.150 mhachain::chain_base_t Class Reference 585
5.150 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 >
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
© 2005-2018 HörTech gGmbH, Oldenburg
586 CONTENTS
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.150.1 Constructor & Destructor Documentation
5.150.1.1 chain_base_t()
mhachain::chain_base_t::chain_base_t (
algo_comm_t iac,
const std::string & ichain,
const std::string & ialgo )
5.150.2 Member Function Documentation
5.150.2.1 process() [1/4]
void mhachain::chain_base_t::process (
mha_wave_t sin,
mha_wave_t ∗∗ sout )
5.150.2.2 process() [2/4]
void mhachain::chain_base_t::process (
mha_spec_t sin,
mha_wave_t ∗∗ sout )
© 2005-2018 HörTech gGmbH, Oldenburg
5.150 mhachain::chain_base_t Class Reference 587
5.150.2.3 process() [3/4]
void mhachain::chain_base_t::process (
mha_wave_t sin,
mha_spec_t ∗∗ sout )
5.150.2.4 process() [4/4]
void mhachain::chain_base_t::process (
mha_spec_t sin,
mha_spec_t ∗∗ sout )
5.150.2.5 prepare()
void mhachain::chain_base_t::prepare (
mhaconfig_t &cf ) [virtual]
Implements MHAPlugin::plugin_t<mhachain::plugs_t >(p. 884).
5.150.2.6 release()
void mhachain::chain_base_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<mhachain::plugs_t >(p. 885).
5.150.2.7 update()
void mhachain::chain_base_t::update ( ) [private]
5.150.3 Member Data Documentation
5.150.3.1 bprofiling
MHAParser::bool_t mhachain::chain_base_t::bprofiling [protected]
© 2005-2018 HörTech gGmbH, Oldenburg
588 CONTENTS
5.150.3.2 algos
MHAParser::vstring_t mhachain::chain_base_t::algos [protected]
5.150.3.3 old_algos
std::vector<std::string>mhachain::chain_base_t::old_algos [private]
5.150.3.4 patchbay
MHAEvents::patchbay_t<mhachain::chain_base_t >mhachain::chain_base_t::patchbay
[private]
5.150.3.5 cfin
mhaconfig_t mhachain::chain_base_t::cfin [private]
5.150.3.6 cfout
mhaconfig_t mhachain::chain_base_t::cfout [private]
5.150.3.7 b_prepared
bool mhachain::chain_base_t::b_prepared [private]
5.150.3.8 chain
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-2018 HörTech gGmbH, Oldenburg
5.151 mhachain::mhachain_t Class Reference 589
5.151 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.151.1 Constructor & Destructor Documentation
5.151.1.1 mhachain_t()
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-2018 HörTech gGmbH, Oldenburg
590 CONTENTS
5.152 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
5.152.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.152 mhachain::plugs_t Class Reference 591
5.152.1.1 plugs_t()
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.152.1.2 plugs_t()
mhachain::plugs_t::plugs_t ( )
5.152.2 Member Function Documentation
5.152.2.1 prepare()
void mhachain::plugs_t::prepare (
mhaconfig_t &tf )
5.152.2.2 release()
void mhachain::plugs_t::release (
void )
5.152.2.3 process()
void mhachain::plugs_t::process (
mha_wave_t win,
mha_spec_t sin,
mha_wave_t ∗∗ wout,
mha_spec_t ∗∗ sout )
© 2005-2018 HörTech gGmbH, Oldenburg
592 CONTENTS
5.152.2.4 prepared()
bool mhachain::plugs_t::prepared ( ) const [inline]
5.152.2.5 alloc_plugs()
void mhachain::plugs_t::alloc_plugs (
std::vector<std::string >algos ) [private]
5.152.2.6 cleanup_plugs()
void mhachain::plugs_t::cleanup_plugs ( ) [private]
5.152.2.7 update_proc_load()
void mhachain::plugs_t::update_proc_load ( ) [private]
5.152.3 Member Data Documentation
5.152.3.1 b_prepared
bool mhachain::plugs_t::b_prepared [private]
5.152.3.2 algos
std::vector<PluginLoader::mhapluginloader_t>mhachain::plugs_t::algos [private]
5.152.3.3 parser
MHAParser::parser_t& mhachain::plugs_t::parser [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.152 mhachain::plugs_t Class Reference 593
5.152.3.4 ac
algo_comm_t mhachain::plugs_t::ac [private]
5.152.3.5 chain
std::string mhachain::plugs_t::chain [private]
5.152.3.6 profiling
MHAParser::parser_t mhachain::plugs_t::profiling [private]
5.152.3.7 prof_algos
MHAParser::vstring_mon_t mhachain::plugs_t::prof_algos [private]
5.152.3.8 prof_init
MHAParser::vfloat_mon_t mhachain::plugs_t::prof_init [private]
5.152.3.9 prof_prepare
MHAParser::vfloat_mon_t mhachain::plugs_t::prof_prepare [private]
5.152.3.10 prof_release
MHAParser::vfloat_mon_t mhachain::plugs_t::prof_release [private]
5.152.3.11 prof_process
MHAParser::vfloat_mon_t mhachain::plugs_t::prof_process [private]
© 2005-2018 HörTech gGmbH, Oldenburg
594 CONTENTS
5.152.3.12 prof_process_tt
MHAParser::float_mon_t mhachain::plugs_t::prof_process_tt [private]
5.152.3.13 prof_process_load
MHAParser::vfloat_mon_t mhachain::plugs_t::prof_process_load [private]
5.152.3.14 proc_cnt
unsigned int mhachain::plugs_t::proc_cnt [private]
5.152.3.15 prof_cfg
mhaconfig_t mhachain::plugs_t::prof_cfg [private]
5.152.3.16 prof_load_con
MHAEvents::connector_t<mhachain::plugs_t>mhachain::plugs_t::prof_load_con [private]
5.152.3.17 prof_tt_con
MHAEvents::connector_t<mhachain::plugs_t>mhachain::plugs_t::prof_tt_con [private]
5.152.3.18 b_use_profiling
bool mhachain::plugs_t::b_use_profiling [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.153 mhaconfig_t Struct Reference 595
5.152.3.19 tictoc
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
5.153 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.
© 2005-2018 HörTech gGmbH, Oldenburg
596 CONTENTS
5.153.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. 498).
5.153.2 Member Data Documentation
5.153.2.1 channels
unsigned int mhaconfig_t::channels
Number of audio channels.
5.153.2.2 domain
unsigned int mhaconfig_t::domain
Signal domain (MHA_WAVEFORM or MHA_SPECTRUM)
5.153.2.3 fragsize
unsigned int mhaconfig_t::fragsize
Fragment size of waveform data.
5.153.2.4 wndlen
unsigned int mhaconfig_t::wndlen
Window length of spectral data.
© 2005-2018 HörTech gGmbH, Oldenburg
5.154 MHAEvents::connector_base_t Class Reference 597
5.153.2.5 fftlen
unsigned int mhaconfig_t::fftlen
FFT length of spectral data.
5.153.2.6 srate
mha_real_t mhaconfig_t::srate
Sampling rate in Hz.
The documentation for this struct was generated from the following file:
mha.h
5.154 MHAEvents::connector_base_t Class Reference
Inheritance diagram for MHAEvents::connector_base_t:
MHAEvents::connector
_base_t
MHAEvents::connector
_t< 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 >
© 2005-2018 HörTech gGmbH, Oldenburg
598 CONTENTS
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.154.1 Constructor & Destructor Documentation
5.154.1.1 connector_base_t()
MHAEvents::connector_base_t::connector_base_t ( )
5.154.1.2 connector_base_t()
MHAEvents::connector_base_t::connector_base_t ( ) [virtual]
5.154.2 Member Function Documentation
5.154.2.1 emit_event() [1/3]
void MHAEvents::connector_base_t::emit_event ( ) [virtual]
Reimplemented in MHAEvents::connector_t<receiver_t >(p. 601), MHAEvents-
::connector_t<MHAOvlFilter::fscale_bw_t >(p. 601), MHAEvents::connector_t<MH-
AParser::mhapluginloader_t >(p. 601), MHAEvents::connector_t<mhachain::plugs_t
>(p. 601), and MHAEvents::connector_t<MHAOvlFilter::fscale_t >(p. 601).
© 2005-2018 HörTech gGmbH, Oldenburg
5.154 MHAEvents::connector_base_t Class Reference 599
5.154.2.2 emit_event() [2/3]
void MHAEvents::connector_base_t::emit_event (
const std::string & ) [virtual]
Reimplemented in MHAEvents::connector_t<receiver_t >(p. 601), MHAEvents-
::connector_t<MHAOvlFilter::fscale_bw_t >(p. 601), MHAEvents::connector_t<MH-
AParser::mhapluginloader_t >(p. 601), MHAEvents::connector_t<mhachain::plugs_t
>(p. 601), and MHAEvents::connector_t<MHAOvlFilter::fscale_t >(p. 601).
5.154.2.3 emit_event() [3/3]
void MHAEvents::connector_base_t::emit_event (
const std::string & ,
unsigned int ,
unsigned int ) [virtual]
Reimplemented in MHAEvents::connector_t<receiver_t >(p. 602), MHAEvents-
::connector_t<MHAOvlFilter::fscale_bw_t >(p. 602), MHAEvents::connector_t<MH-
AParser::mhapluginloader_t >(p. 602), MHAEvents::connector_t<mhachain::plugs_t
>(p. 602), and MHAEvents::connector_t<MHAOvlFilter::fscale_t >(p. 602).
5.154.2.4 emitter_die()
void MHAEvents::connector_base_t::emitter_die ( )
5.154.3 Member Data Documentation
5.154.3.1 emitter_is_alive
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-2018 HörTech gGmbH, Oldenburg
600 CONTENTS
5.155 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)
Additional Inherited Members
5.155.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.155 MHAEvents::connector_t<receiver_t >Class Template
Reference 601
5.155.1.1 connector_t() [1/3]
template<class receiver_t>
MHAEvents::connector_t<receiver_t >:: connector_t (
emitter_t e,
receiver_t r,
void(receiver_t::)() rfun )
5.155.1.2 connector_t() [2/3]
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.155.1.3 connector_t() [3/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.155.1.4 connector_t()
template<class receiver_t >
MHAEvents::connector_t<receiver_t >::connector_t ( )
5.155.2 Member Function Documentation
5.155.2.1 emit_event() [1/3]
template<class receiver_t >
void MHAEvents::connector_t<receiver_t >::emit_event ( ) [private], [virtual]
Reimplemented from MHAEvents::connector_base_t (p. 598).
© 2005-2018 HörTech gGmbH, Oldenburg
602 CONTENTS
5.155.2.2 emit_event() [2/3]
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. 598).
5.155.2.3 emit_event() [3/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. 599).
5.155.3 Member Data Documentation
5.155.3.1 emitter
template<class receiver_t>
emitter_tMHAEvents::connector_t<receiver_t >::emitter [private]
5.155.3.2 receiver
template<class receiver_t>
receiver_tMHAEvents::connector_t<receiver_t >::receiver [private]
5.155.3.3 eventhandler
template<class receiver_t>
void(receiver_t::MHAEvents::connector_t<receiver_t >::eventhandler) () [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.156 MHAEvents::emitter_t Class Reference 603
5.155.3.4 eventhandler_s
template<class receiver_t>
void(receiver_t::MHAEvents::connector_t<receiver_t >::eventhandler_s) (const
std::string &) [private]
5.155.3.5 eventhandler_suu
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.156 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
5.156.1 Detailed Description
Class for emitting openMHA events.
Use the template claas MHAEvents::patchbay_t (p. 605) for connecting to an emitter.
© 2005-2018 HörTech gGmbH, Oldenburg
604 CONTENTS
5.156.2 Constructor & Destructor Documentation
5.156.2.1 emitter_t()
MHAEvents::emitter_t::emitter_t ( )
5.156.3 Member Function Documentation
5.156.3.1 operator()() [1/3]
void MHAEvents::emitter_t::operator() ( )
Emit an event without parameter.
5.156.3.2 operator()() [2/3]
void MHAEvents::emitter_t::operator() (
const std::string & arg )
Emit an event with string parameter.
5.156.3.3 operator()() [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.156.3.4 connect()
void MHAEvents::emitter_t::connect (
connector_base_t c)
© 2005-2018 HörTech gGmbH, Oldenburg
5.157 MHAEvents::patchbay_t<receiver_t >Class Template
Reference 605
5.156.3.5 disconnect()
void MHAEvents::emitter_t::disconnect (
connector_base_t c)
5.156.4 Member Data Documentation
5.156.4.1 connections
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
5.157 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
© 2005-2018 HörTech gGmbH, Oldenburg
606 CONTENTS
5.157.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. 606) 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.157.2 Constructor & Destructor Documentation
5.157.2.1 patchbay_t()
template<class receiver_t >
MHAEvents::patchbay_t<receiver_t >::patchbay_t ( )
5.157.3 Member Function Documentation
5.157.3.1 connect() [1/3]
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.
Parameters
ePointer to an event emitter
rPointer to the receiver
rfun Pointer to a member function of the receiver class
© 2005-2018 HörTech gGmbH, Oldenburg
5.157 MHAEvents::patchbay_t<receiver_t >Class Template
Reference 607
5.157.3.2 connect() [2/3]
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.157.3.3 connect() [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.157.4 Member Data Documentation
5.157.4.1 cons
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
© 2005-2018 HörTech gGmbH, Oldenburg
608 CONTENTS
5.158 MHAFilter::adapt_filter_param_t Class Reference
Public Member Functions
adapt_filter_param_t (mha_real_t imu, bool ierr_in)
Public Attributes
mha_real_t mu
• bool err_in
5.158.1 Constructor & Destructor Documentation
5.158.1.1 adapt_filter_param_t()
MHAFilter::adapt_filter_param_t::adapt_filter_param_t (
mha_real_t imu,
bool ierr_in )
5.158.2 Member Data Documentation
5.158.2.1 mu
mha_real_t MHAFilter::adapt_filter_param_t::mu
5.158.2.2 err_in
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.159 MHAFilter::adapt_filter_state_t Class Reference 609
5.159 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
5.159.1 Constructor & Destructor Documentation
5.159.1.1 adapt_filter_state_t()
MHAFilter::adapt_filter_state_t::adapt_filter_state_t (
int ntaps,
int nchannels )
5.159.2 Member Function Documentation
5.159.2.1 filter()
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.159.3 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
610 CONTENTS
5.159.3.1 ntaps
int MHAFilter::adapt_filter_state_t::ntaps [private]
5.159.3.2 nchannels
int MHAFilter::adapt_filter_state_t::nchannels [private]
5.159.3.3 W
MHASignal::waveform_t MHAFilter::adapt_filter_state_t::W [private]
5.159.3.4 X
MHASignal::waveform_t MHAFilter::adapt_filter_state_t::X [private]
5.159.3.5 od
MHASignal::waveform_t MHAFilter::adapt_filter_state_t::od [private]
5.159.3.6 oy
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.160 MHAFilter::adapt_filter_t Class Reference 611
5.160 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 >
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.160.1 Detailed Description
Adaptive filter.
© 2005-2018 HörTech gGmbH, Oldenburg
612 CONTENTS
5.160.2 Constructor & Destructor Documentation
5.160.2.1 adapt_filter_t()
MHAFilter::adapt_filter_t::adapt_filter_t (
std::string help )
5.160.3 Member Function Documentation
5.160.3.1 filter()
void MHAFilter::adapt_filter_t::filter (
mha_wave_t y,
mha_wave_t e,
mha_wave_t x,
mha_wave_t d)
5.160.3.2 set_channelcnt()
void MHAFilter::adapt_filter_t::set_channelcnt (
unsigned int nch )
5.160.3.3 update_mu()
void MHAFilter::adapt_filter_t::update_mu ( ) [private]
5.160.3.4 update_ntaps()
void MHAFilter::adapt_filter_t::update_ntaps ( ) [private]
5.160.4 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.161 MHAFilter::blockprocessing_polyphase_resampling_t Class
Reference 613
5.160.4.1 mu
MHAParser::float_t MHAFilter::adapt_filter_t::mu [private]
5.160.4.2 ntaps
MHAParser::int_t MHAFilter::adapt_filter_t::ntaps [private]
5.160.4.3 err_in
MHAParser::bool_t MHAFilter::adapt_filter_t::err_in [private]
5.160.4.4 connector
MHAEvents::patchbay_t<adapt_filter_t>MHAFilter::adapt_filter_t::connector [private]
5.160.4.5 nchannels
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.161 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.
© 2005-2018 HörTech gGmbH, Oldenburg
614 CONTENTS
Private Attributes
polyphase_resampling_t resampling
• unsigned fragsize_in
• unsigned fragsize_out
• unsigned num_channels
5.161.1 Detailed Description
A class that does polyphase resampling and takes into account block processing.
5.161.2 Constructor & Destructor Documentation
5.161.2.1 blockprocessing_polyphase_resampling_t()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.161 MHAFilter::blockprocessing_polyphase_resampling_t Class
Reference 615
5.161.2.2 blockprocessing_polyphase_resampling_t()
virtual MHAFilter::blockprocessing_polyphase_resampling_t::blockprocessing_polyphase-
_resampling_t ( ) [inline], [virtual]
5.161.3 Member Function Documentation
5.161.3.1 write()
void MHAFilter::blockprocessing_polyphase_resampling_t::write (
mha_wave_t &signal )
Write signal to the ringbuffer.
Parameters
signal input signal in original sampling rate
Exceptions
MHA_Error (p. 522)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.161.3.2 read()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
616 CONTENTS
Exceptions
MHA_Error (p. 522)Raises exception if there is not enough input signal, if the number of
channels of frames does not match.
5.161.3.3 can_read()
bool MHAFilter::blockprocessing_polyphase_resampling_t::can_read ( ) const [inline]
Checks if the resampling ring buffer can produce another output signal block.
5.161.4 Member Data Documentation
5.161.4.1 resampling
polyphase_resampling_tMHAFilter::blockprocessing_polyphase_resampling_t::resampling
[private]
5.161.4.2 fragsize_in
unsigned MHAFilter::blockprocessing_polyphase_resampling_t::fragsize_in [private]
5.161.4.3 fragsize_out
unsigned MHAFilter::blockprocessing_polyphase_resampling_t::fragsize_out [private]
5.161.4.4 num_channels
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-2018 HörTech gGmbH, Oldenburg
5.162 MHAFilter::complex_bandpass_t Class Reference 617
5.162 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.162.1 Detailed Description
Complex bandpass filter.
© 2005-2018 HörTech gGmbH, Oldenburg
618 CONTENTS
5.162.2 Constructor & Destructor Documentation
5.162.2.1 complex_bandpass_t()
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.162.3 Member Function Documentation
5.162.3.1 creator_A()
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.162.3.2 creator_B()
std::vector<mha_complex_t >MHAFilter::complex_bandpass_t::creator_B (
std::vector<mha_complex_t >A,
unsigned int order ) [static]
5.162.3.3 set_state() [1/3]
void MHAFilter::complex_bandpass_t::set_state (
mha_real_t val )
© 2005-2018 HörTech gGmbH, Oldenburg
5.162 MHAFilter::complex_bandpass_t Class Reference 619
5.162.3.4 set_state() [2/3]
void MHAFilter::complex_bandpass_t::set_state (
std::vector<mha_real_t >val )
5.162.3.5 set_state() [3/3]
void MHAFilter::complex_bandpass_t::set_state (
mha_complex_t val )
5.162.3.6 set_weights()
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.162.3.7 get_weights()
std::vector<mha_complex_t>MHAFilter::complex_bandpass_t::get_weights ( ) const
[inline]
5.162.3.8 filter() [1/4]
void MHAFilter::complex_bandpass_t::filter (
const mha_wave_t &X,
mha_spec_t &Y) [inline]
Filter method for real value input.
5.162.3.9 filter() [2/4]
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.
© 2005-2018 HörTech gGmbH, Oldenburg
620 CONTENTS
5.162.3.10 filter() [3/4]
void MHAFilter::complex_bandpass_t::filter (
const mha_spec_t &X,
mha_spec_t &Y) [inline]
Filter method for complex value input.
5.162.3.11 filter() [4/4]
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.162.3.12 inspect()
std::string MHAFilter::complex_bandpass_t::inspect ( ) const [inline]
5.162.4 Member Data Documentation
5.162.4.1 A_
std::vector<mha_complex_t>MHAFilter::complex_bandpass_t::A_ [private]
5.162.4.2 B_
std::vector<mha_complex_t>MHAFilter::complex_bandpass_t::B_ [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.163 MHAFilter::diff_t Class Reference 621
5.162.4.3 Yn
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.163 MHAFilter::diff_t Class Reference
Differentiator class (non-normalized)
Inheritance diagram for MHAFilter::diff_t:
MHAFilter::diff_t
MHAFilter::filter_t
Public Member Functions
diff_t (unsigned int ch)
Additional Inherited Members
5.163.1 Detailed Description
Differentiator class (non-normalized)
5.163.2 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
622 CONTENTS
5.163.2.1 diff_t()
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.164 MHAFilter::fftfilter_t Class Reference
FFT based FIR filter implementation.
Inheritance diagram for MHAFilter::fftfilter_t:
MHAFilter::fftfilter_t
MHAFilter::resampling
_filter_t
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
pwIRS)
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
psWeights)
Apply filter with changing coefficients to a waveform fragment.
© 2005-2018 HörTech gGmbH, Oldenburg
5.164 MHAFilter::fftfilter_t Class Reference 623
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.164.1 Detailed Description
FFT based FIR filter implementation.
The maximal number of coefficients can be FFT length - fragsize + 1.
5.164.2 Constructor & Destructor Documentation
5.164.2.1 fftfilter_t()
MHAFilter::fftfilter_t::fftfilter_t (
unsigned int fragsize,
unsigned int channels,
unsigned int fftlen )
Constructor.
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.164.2.2 fftfilter_t()
MHAFilter::fftfilter_t::fftfilter_t ( )
© 2005-2018 HörTech gGmbH, Oldenburg
624 CONTENTS
5.164.3 Member Function Documentation
5.164.3.1 update_coeffs()
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.164.3.2 filter() [1/3]
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-2018 HörTech gGmbH, Oldenburg
5.164 MHAFilter::fftfilter_t Class Reference 625
5.164.3.3 filter() [2/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.164.3.4 filter() [3/3]
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.164.4 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
626 CONTENTS
5.164.4.1 fragsize
unsigned int MHAFilter::fftfilter_t::fragsize [private]
5.164.4.2 channels
unsigned int MHAFilter::fftfilter_t::channels [private]
5.164.4.3 fftlen
unsigned int MHAFilter::fftfilter_t::fftlen [private]
5.164.4.4 wInput_fft
MHASignal::waveform_t MHAFilter::fftfilter_t::wInput_fft [private]
5.164.4.5 wInput
mha_wave_t MHAFilter::fftfilter_t::wInput [private]
5.164.4.6 wOutput_fft
MHASignal::waveform_t MHAFilter::fftfilter_t::wOutput_fft [private]
5.164.4.7 wOutput
mha_wave_t MHAFilter::fftfilter_t::wOutput [private]
5.164.4.8 sInput
MHASignal::spectrum_t MHAFilter::fftfilter_t::sInput [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.165 MHAFilter::fftfilterbank_t Class Reference 627
5.164.4.9 sWeights
MHASignal::spectrum_t MHAFilter::fftfilter_t::sWeights [private]
5.164.4.10 wIRS_fft
MHASignal::waveform_t MHAFilter::fftfilter_t::wIRS_fft [private]
5.164.4.11 fft
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.165 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-2018 HörTech gGmbH, Oldenburg
628 CONTENTS
Public Member Functions
fftfilterbank_t (unsigned int fragsize, unsigned int inputchannels, unsigned int fir-
channels, 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.165.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.165.2 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.165 MHAFilter::fftfilterbank_t Class Reference 629
5.165.2.1 fftfilterbank_t()
MHAFilter::fftfilterbank_t::fftfilterbank_t (
unsigned int fragsize,
unsigned int inputchannels,
unsigned int firchannels,
unsigned int fftlen )
Constructor.
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.165.2.2 fftfilterbank_t()
MHAFilter::fftfilterbank_t::fftfilterbank_t ( )
5.165.3 Member Function Documentation
5.165.3.1 update_coeffs()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
630 CONTENTS
5.165.3.2 filter() [1/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
Parameters
hFIR coefficients
5.165.3.3 filter() [2/2]
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.165.3.4 get_irs()
const mha_wave_tMHAFilter::fftfilterbank_t::get_irs ( ) const [inline]
© 2005-2018 HörTech gGmbH, Oldenburg
5.165 MHAFilter::fftfilterbank_t Class Reference 631
Return the current IRS.
5.165.4 Member Data Documentation
5.165.4.1 fragsize
unsigned int MHAFilter::fftfilterbank_t::fragsize [private]
5.165.4.2 inputchannels
unsigned int MHAFilter::fftfilterbank_t::inputchannels [private]
5.165.4.3 firchannels
unsigned int MHAFilter::fftfilterbank_t::firchannels [private]
5.165.4.4 outputchannels
unsigned int MHAFilter::fftfilterbank_t::outputchannels [private]
5.165.4.5 fftlen
unsigned int MHAFilter::fftfilterbank_t::fftlen [private]
5.165.4.6 hw
MHASignal::waveform_t MHAFilter::fftfilterbank_t::hw [private]
5.165.4.7 Hs
MHASignal::spectrum_t MHAFilter::fftfilterbank_t::Hs [private]
© 2005-2018 HörTech gGmbH, Oldenburg
632 CONTENTS
5.165.4.8 xw
MHASignal::waveform_t MHAFilter::fftfilterbank_t::xw [private]
5.165.4.9 Xs
MHASignal::spectrum_t MHAFilter::fftfilterbank_t::Xs [private]
5.165.4.10 yw
MHASignal::waveform_t MHAFilter::fftfilterbank_t::yw [private]
5.165.4.11 Ys
MHASignal::spectrum_t MHAFilter::fftfilterbank_t::Ys [private]
5.165.4.12 yw_temp
MHASignal::waveform_t MHAFilter::fftfilterbank_t::yw_temp [private]
5.165.4.13 tail
MHASignal::waveform_t MHAFilter::fftfilterbank_t::tail [private]
5.165.4.14 fft
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.166 MHAFilter::filter_t Class Reference 633
5.166 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)
Filter all channels in a waveform structure.
• void filter (mha_real_t dest, const mha_real_t src, unsigned int dframes, un-
signed 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.
© 2005-2018 HörTech gGmbH, Oldenburg
634 CONTENTS
Private Attributes
unsigned int len_A
unsigned int len_B
unsigned int len
unsigned int channels
double state
5.166.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. 583) structs. The filter coefficients can be directly
accessed.
Todo Implement a more robust filter form.
5.166.2 Constructor & Destructor Documentation
5.166.2.1 filter_t() [1/3]
MHAFilter::filter_t::filter_t (
unsigned int ch,
unsigned int lena,
unsigned int lenb )
Constructor.
Parameters
ch Number of channels
lena Number of recursive coefficients
lenb Number of non-recursive coefficients
5.166.2.2 filter_t() [2/3]
MHAFilter::filter_t::filter_t (
unsigned int ch,
© 2005-2018 HörTech gGmbH, Oldenburg
5.166 MHAFilter::filter_t Class Reference 635
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.166.2.3 filter_t() [3/3]
MHAFilter::filter_t::filter_t (
const MHAFilter::filter_t &src )
5.166.2.4 filter_t()
MHAFilter::filter_t::filter_t ( )
5.166.3 Member Function Documentation
5.166.3.1 filter() [1/3]
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-2018 HörTech gGmbH, Oldenburg
636 CONTENTS
5.166.3.2 filter() [2/3]
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.166.3.3 filter() [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.166.3.4 get_len_A()
unsigned int MHAFilter::filter_t::get_len_A ( ) const [inline]
Return length of recursive coefficients.
© 2005-2018 HörTech gGmbH, Oldenburg
5.166 MHAFilter::filter_t Class Reference 637
5.166.3.5 get_len_B()
unsigned int MHAFilter::filter_t::get_len_B ( ) const [inline]
Return length of non-recursive coefficients.
5.166.4 Member Data Documentation
5.166.4.1 A
doubleMHAFilter::filter_t::A
Pointer to recursive coefficients.
5.166.4.2 B
doubleMHAFilter::filter_t::B
Pointer to non-recursive coefficients.
5.166.4.3 len_A
unsigned int MHAFilter::filter_t::len_A [private]
5.166.4.4 len_B
unsigned int MHAFilter::filter_t::len_B [private]
5.166.4.5 len
unsigned int MHAFilter::filter_t::len [private]
© 2005-2018 HörTech gGmbH, Oldenburg
638 CONTENTS
5.166.4.6 channels
unsigned int MHAFilter::filter_t::channels [private]
5.166.4.7 state
doubleMHAFilter::filter_t::state [private]
The documentation for this class was generated from the following files:
mha_filter.hh
mha_filter.cpp
5.167 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-2018 HörTech gGmbH, Oldenburg
5.167 MHAFilter::gamma_flt_t Class Reference 639
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.167.1 Detailed Description
Class for gammatone filter.
5.167.2 Constructor & Destructor Documentation
5.167.2.1 gamma_flt_t()
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.167.2.2 gamma_flt_t()
MHAFilter::gamma_flt_t::gamma_flt_t ( )
5.167.3 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
640 CONTENTS
5.167.3.1 operator()() [1/3]
void MHAFilter::gamma_flt_t::operator() (
mha_wave_t &X,
mha_spec_t &Y) [inline]
Filter method.
5.167.3.2 operator()() [2/3]
void MHAFilter::gamma_flt_t::operator() (
mha_wave_t &X,
mha_wave_t &Yre,
mha_wave_t &Yim ) [inline]
Filter method.
5.167.3.3 operator()() [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.167.3.4 phase_correction()
void MHAFilter::gamma_flt_t::phase_correction (
unsigned int desired_delay,
unsigned int inchannels )
5.167.3.5 set_weights() [1/2]
void MHAFilter::gamma_flt_t::set_weights (
std::vector<mha_complex_t >new_B )
© 2005-2018 HörTech gGmbH, Oldenburg
5.167 MHAFilter::gamma_flt_t Class Reference 641
5.167.3.6 set_weights() [2/2]
void MHAFilter::gamma_flt_t::set_weights (
unsigned int stage,
std::vector<mha_complex_t >new_B )
5.167.3.7 get_weights() [1/2]
std::vector<mha_complex_t>MHAFilter::gamma_flt_t::get_weights ( ) const [inline]
5.167.3.8 get_weights() [2/2]
std::vector<mha_complex_t>MHAFilter::gamma_flt_t::get_weights (
unsigned int stage ) const [inline]
5.167.3.9 get_resynthesis_gain()
std::vector<mha_real_t>MHAFilter::gamma_flt_t::get_resynthesis_gain ( ) const
[inline]
5.167.3.10 reset_state()
void MHAFilter::gamma_flt_t::reset_state ( )
5.167.3.11 get_A()
const std::vector<mha_complex_t>& MHAFilter::gamma_flt_t::get_A ( ) [inline]
5.167.3.12 inspect()
std::string MHAFilter::gamma_flt_t::inspect ( ) const [inline]
5.167.4 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
642 CONTENTS
5.167.4.1 A
std::vector<mha_complex_t>MHAFilter::gamma_flt_t::A [private]
5.167.4.2 GF
std::vector<complex_bandpass_t>MHAFilter::gamma_flt_t::GF [private]
5.167.4.3 delay
MHASignal::delay_tMHAFilter::gamma_flt_t::delay [private]
5.167.4.4 envelope_delay
std::vector<int>MHAFilter::gamma_flt_t::envelope_delay [private]
5.167.4.5 resynthesis_gain
std::vector<mha_real_t>MHAFilter::gamma_flt_t::resynthesis_gain [private]
5.167.4.6 cf_
std::vector<mha_real_t>MHAFilter::gamma_flt_t::cf_ [private]
5.167.4.7 bw_
std::vector<mha_real_t>MHAFilter::gamma_flt_t::bw_ [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.168 MHAFilter::iir_filter_state_t Class Reference 643
5.167.4.8 srate_
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.168 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)
Additional Inherited Members
5.168.1 Constructor & Destructor Documentation
5.168.1.1 iir_filter_state_t()
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
© 2005-2018 HörTech gGmbH, Oldenburg
644 CONTENTS
5.169 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 >
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 ()
© 2005-2018 HörTech gGmbH, Oldenburg
5.169 MHAFilter::iir_filter_t Class Reference 645
Private Attributes
MHAParser::vfloat_t A
MHAParser::vfloat_t B
MHAEvents::patchbay_t<iir_filter_t >connector
unsigned int nchannels
Additional Inherited Members
5.169.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. 833), 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.169.2 Constructor & Destructor Documentation
5.169.2.1 iir_filter_t()
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.
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.
© 2005-2018 HörTech gGmbH, Oldenburg
646 CONTENTS
5.169.3 Member Function Documentation
5.169.3.1 filter() [1/2]
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. 646) method.
5.169.3.2 filter() [2/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. 646) method.
Returns
the filtered result sample.
© 2005-2018 HörTech gGmbH, Oldenburg
5.169 MHAFilter::iir_filter_t Class Reference 647
5.169.3.3 resize()
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.169.3.4 update_filter()
void MHAFilter::iir_filter_t::update_filter ( ) [private]
5.169.4 Member Data Documentation
5.169.4.1 A
MHAParser::vfloat_t MHAFilter::iir_filter_t::A [private]
5.169.4.2 B
MHAParser::vfloat_t MHAFilter::iir_filter_t::B [private]
5.169.4.3 connector
MHAEvents::patchbay_t<iir_filter_t>MHAFilter::iir_filter_t::connector [private]
5.169.4.4 nchannels
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
© 2005-2018 HörTech gGmbH, Oldenburg
648 CONTENTS
5.170 MHAFilter::iir_ord1_real_t Class Reference
First order recursive filter.
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.170.1 Detailed Description
First order recursive filter.
5.170.2 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.170 MHAFilter::iir_ord1_real_t Class Reference 649
5.170.2.1 iir_ord1_real_t() [1/2]
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.170.2.2 iir_ord1_real_t() [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)
5.170.3 Member Function Documentation
5.170.3.1 set_state() [1/3]
void MHAFilter::iir_ord1_real_t::set_state (
mha_real_t val )
5.170.3.2 set_state() [2/3]
void MHAFilter::iir_ord1_real_t::set_state (
std::vector<mha_real_t >val )
5.170.3.3 set_state() [3/3]
void MHAFilter::iir_ord1_real_t::set_state (
mha_complex_t val )
© 2005-2018 HörTech gGmbH, Oldenburg
650 CONTENTS
5.170.3.4 operator()() [1/5]
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.170.3.5 operator()() [2/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.170.3.6 operator()() [3/5]
void MHAFilter::iir_ord1_real_t::operator() (
const mha_wave_t &X,
mha_wave_t &Y) [inline]
Filter method for real value input.
5.170.3.7 operator()() [4/5]
void MHAFilter::iir_ord1_real_t::operator() (
const mha_spec_t &X,
mha_spec_t &Y) [inline]
Filter method for complex value input.
5.170.3.8 operator()() [5/5]
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-2018 HörTech gGmbH, Oldenburg
5.171 MHAFilter::o1_ar_filter_t Class Reference 651
5.170.4 Member Data Documentation
5.170.4.1 A_
std::vector<mha_real_t>MHAFilter::iir_ord1_real_t::A_ [private]
5.170.4.2 B_
std::vector<mha_real_t>MHAFilter::iir_ord1_real_t::B_ [private]
5.170.4.3 Yn
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.171 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-2018 HörTech gGmbH, Oldenburg
652 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. 583) 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.171.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.171.2 Constructor & Destructor Documentation
5.171.2.1 o1_ar_filter_t()
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. 993).
© 2005-2018 HörTech gGmbH, Oldenburg
5.171 MHAFilter::o1_ar_filter_t Class Reference 653
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.171.3 Member Function Documentation
5.171.3.1 set_tau_attack()
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.171.3.2 set_tau_release()
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.171.3.3 operator()() [1/2]
mha_real_t MHAFilter::o1_ar_filter_t::operator() (
© 2005-2018 HörTech gGmbH, Oldenburg
654 CONTENTS
unsigned int ch,
mha_real_t x) [inline]
Apply filter to value x, using state channel ch.
Parameters
ch Cannel number
xInput value
Returns
Output value
5.171.3.4 operator()() [2/2]
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. 583) data.
Parameters
in Input signal
out Output signal
The number of channels must match the number of filter bands.
5.171.4 Member Data Documentation
5.171.4.1 c1_a
MHASignal::waveform_t MHAFilter::o1_ar_filter_t::c1_a [protected]
5.171.4.2 c2_a
MHASignal::waveform_t MHAFilter::o1_ar_filter_t::c2_a [protected]
© 2005-2018 HörTech gGmbH, Oldenburg
5.172 MHAFilter::o1flt_lowpass_t Class Reference 655
5.171.4.3 c1_r
MHASignal::waveform_t MHAFilter::o1_ar_filter_t::c1_r [protected]
5.171.4.4 c2_r
MHASignal::waveform_t MHAFilter::o1_ar_filter_t::c2_r [protected]
5.171.4.5 fs
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.172 MHAFilter::o1flt_lowpass_t Class Reference
First order low pass filter.
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
© 2005-2018 HörTech gGmbH, Oldenburg
656 CONTENTS
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.172.1 Detailed Description
First order low pass filter.
5.172.2 Constructor & Destructor Documentation
5.172.2.1 o1flt_lowpass_t()
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.172.3 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.172 MHAFilter::o1flt_lowpass_t Class Reference 657
5.172.3.1 set_tau() [1/2]
void MHAFilter::o1flt_lowpass_t::set_tau (
unsigned int ch,
mha_real_t tau )
change the time constant in one channel
5.172.3.2 set_tau() [2/2]
void MHAFilter::o1flt_lowpass_t::set_tau (
mha_real_t tau )
set time constant in all channels to tau
5.172.3.3 get_c1()
mha_real_t MHAFilter::o1flt_lowpass_t::get_c1 (
unsigned int ch ) const [inline]
5.172.3.4 get_last_output()
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-2018 HörTech gGmbH, Oldenburg
658 CONTENTS
5.173 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.173.1 Detailed Description
First order maximum tracker.
© 2005-2018 HörTech gGmbH, Oldenburg
5.173 MHAFilter::o1flt_maxtrack_t Class Reference 659
5.173.2 Constructor & Destructor Documentation
5.173.2.1 o1flt_maxtrack_t()
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.173.3 Member Function Documentation
5.173.3.1 set_tau() [1/2]
void MHAFilter::o1flt_maxtrack_t::set_tau (
unsigned int ch,
mha_real_t tau )
change the time constant in one channel
5.173.3.2 set_tau() [2/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
© 2005-2018 HörTech gGmbH, Oldenburg
660 CONTENTS
5.174 MHAFilter::o1flt_mintrack_t Class Reference
First order minimum tracker.
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.174.1 Detailed Description
First order minimum tracker.
© 2005-2018 HörTech gGmbH, Oldenburg
5.175 MHAFilter::partitioned_convolution_t Class Reference 661
5.174.2 Constructor & Destructor Documentation
5.174.2.1 o1flt_mintrack_t()
MHAFilter::o1flt_mintrack_t::o1flt_mintrack_t (
const std::vector<mha_real_t >&tau,
mha_real_t fs_,
mha_real_t startval = 0 )
5.174.3 Member Function Documentation
5.174.3.1 set_tau() [1/2]
void MHAFilter::o1flt_mintrack_t::set_tau (
unsigned int ch,
mha_real_t tau )
change the time constant in one channel
5.174.3.2 set_tau() [2/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.175 MHAFilter::partitioned_convolution_t Class Reference
A filter class for partitioned convolution.
Classes
• struct index_t
Bookkeeping class.
© 2005-2018 HörTech gGmbH, Oldenburg
662 CONTENTS
Public Member Functions
partitioned_convolution_t (unsigned int fragsize, unsigned int nchannels_in, un-
signed 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
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.175 MHAFilter::partitioned_convolution_t Class Reference 663
5.175.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.175.2 Constructor & Destructor Documentation
5.175.2.1 partitioned_convolution_t()
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.
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.175.2.2 partitioned_convolution_t()
MHAFilter::partitioned_convolution_t::partitioned_convolution_t ( )
Free fftw resource allocated in constructor.
5.175.3 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
664 CONTENTS
5.175.3.1 process()
mha_wave_t MHAFilter::partitioned_convolution_t::process (
const mha_wave_t s_in )
processing
5.175.4 Member Data Documentation
5.175.4.1 fragsize
unsigned int MHAFilter::partitioned_convolution_t::fragsize
Audio fragment size, always equal to partition size.
5.175.4.2 nchannels_in
unsigned int MHAFilter::partitioned_convolution_t::nchannels_in
Number of audio input channels.
5.175.4.3 nchannels_out
unsigned int MHAFilter::partitioned_convolution_t::nchannels_out
Number of audio output channels.
5.175.4.4 output_partitions
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.175 MHAFilter::partitioned_convolution_t Class Reference 665
5.175.4.5 filter_partitions
unsigned int MHAFilter::partitioned_convolution_t::filter_partitions
The total number of non-zero impulse response partitions.
5.175.4.6 input_signal_wave
MHASignal::waveform_t MHAFilter::partitioned_convolution_t::input_signal_wave
Buffer for input signal.
Has nchannels_in channels and fragsize2 frames
5.175.4.7 current_input_signal_buffer_half_index
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.175.4.8 input_signal_spec
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.175.4.9 frequency_response
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.175.4.10 bookkeeping
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.
© 2005-2018 HörTech gGmbH, Oldenburg
666 CONTENTS
5.175.4.11 output_signal_spec
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.175.4.12 current_output_partition_index
unsigned int MHAFilter::partitioned_convolution_t::current_output_partition_index
A counter modulo output_partitions, indexing the "current" output partition.
5.175.4.13 output_signal_wave
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.175.4.14 fft
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.176 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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.176 MHAFilter::partitioned_convolution_t::index_t Struct
Reference 667
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.176.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.176.2 Constructor & Destructor Documentation
5.176.2.1 index_t() [1/2]
MHAFilter::partitioned_convolution_t::index_t::index_t (
unsigned int src,
unsigned int tgt,
unsigned int dly ) [inline]
Data constructor.
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.176.2.2 index_t() [2/2]
MHAFilter::partitioned_convolution_t::index_t::index_t ( ) [inline]
Default constructor for STL compatibility.
© 2005-2018 HörTech gGmbH, Oldenburg
668 CONTENTS
5.176.3 Member Data Documentation
5.176.3.1 source_channel_index
unsigned int MHAFilter::partitioned_convolution_t::index_t::source_channel_index
The input channel index to apply the current partition to.
5.176.3.2 target_channel_index
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.176.3.3 delay
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.177 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-2018 HörTech gGmbH, Oldenburg
5.177 MHAFilter::polyphase_resampling_t Class Reference 669
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.177.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-2018 HörTech gGmbH, Oldenburg
670 CONTENTS
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.177.2 Constructor & Destructor Documentation
5.177.2.1 polyphase_resampling_t()
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-2018 HörTech gGmbH, Oldenburg
5.177 MHAFilter::polyphase_resampling_t Class Reference 671
5.177.3 Member Function Documentation
5.177.3.1 write()
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. 522)Raises exception if there is not enough room or if the number of
channels does not match.
5.177.3.2 read()
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. 522)Raises exception if there is not enough input signal or if the number
of channels is too high.
© 2005-2018 HörTech gGmbH, Oldenburg
672 CONTENTS
5.177.3.3 readable_frames()
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. 671) ensures that enough past samples are present to compute the next target sample.
5.177.4 Member Data Documentation
5.177.4.1 upsampling_factor
unsigned MHAFilter::polyphase_resampling_t::upsampling_factor [private]
Integer upsampling factor.
Interpolation rate divided by source rate.
5.177.4.2 downsampling_factor
unsigned MHAFilter::polyphase_resampling_t::downsampling_factor [private]
Integer downsampling factor.
Interpolation rate divided by target rate.
5.177.4.3 now_index
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?
© 2005-2018 HörTech gGmbH, Oldenburg
5.178 MHAFilter::resampling_filter_t Class Reference 673
5.177.4.4 underflow
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. 671) are present before calling read
(p. 671)
5.177.4.5 impulse_response
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. 1028) 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. 1028) can be altered with =,
which our constructor does.
5.177.4.6 ringbuffer
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
5.178 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
© 2005-2018 HörTech gGmbH, Oldenburg
674 CONTENTS
Public Member Functions
resampling_filter_t (unsigned int fftlen, unsigned int irslen, unsigned int channels,
unsigned 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.178.1 Detailed Description
Hann shaped low pass filter for resampling.
This class uses FFT filter at upsampled rate.
5.178.2 Constructor & Destructor Documentation
5.178.2.1 resampling_filter_t()
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.
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)
© 2005-2018 HörTech gGmbH, Oldenburg
5.179 MHAFilter::smoothspec_t Class Reference 675
5.178.3 Member Function Documentation
5.178.3.1 fragsize_validator()
unsigned int MHAFilter::resampling_filter_t::fragsize_validator (
unsigned int fftlen,
unsigned int irslen ) [static]
5.178.4 Member Data Documentation
5.178.4.1 fragsize
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.179 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 ()
Private Member Functions
• void internal_fir (const mha_spec_t &)
© 2005-2018 HörTech gGmbH, Oldenburg
676 CONTENTS
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.179.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. 677) 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. 677) must correspond to the FFT
length and number of channels provided in the constructor. The function spec2fir() (p. 677)
can fill signal structures with more than window length frames.
5.179.2 Constructor & Destructor Documentation
5.179.2.1 smoothspec_t()
MHAFilter::smoothspec_t::smoothspec_t (
unsigned int fftlen,
unsigned int nchannels,
const MHAWindow::base_t &window,
bool minphase,
bool linphase_asym = false )
Constructor.
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.179 MHAFilter::smoothspec_t Class Reference 677
5.179.2.2 smoothspec_t()
MHAFilter::smoothspec_t::smoothspec_t ( )
5.179.3 Member Function Documentation
5.179.3.1 smoothspec() [1/2]
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.179.3.2 smoothspec() [2/2]
void MHAFilter::smoothspec_t::smoothspec (
mha_spec_t &spec ) [inline]
Create a smoothed spectrum (in place)
Parameters
spec Spectrum to be smoothed.
5.179.3.3 spec2fir()
void MHAFilter::smoothspec_t::spec2fir (
© 2005-2018 HörTech gGmbH, Oldenburg
678 CONTENTS
const mha_spec_t &spec,
mha_wave_t &fir )
Return FIR coefficients.
Parameters
spec Input spectrum
Return values
fir FIR coefficients, minimum length is window length
5.179.3.4 internal_fir()
void MHAFilter::smoothspec_t::internal_fir (
const mha_spec_t &s_in ) [private]
5.179.4 Member Data Documentation
5.179.4.1 fftlen
unsigned int MHAFilter::smoothspec_t::fftlen [private]
5.179.4.2 nchannels
unsigned int MHAFilter::smoothspec_t::nchannels [private]
5.179.4.3 window
MHAWindow::base_t MHAFilter::smoothspec_t::window [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.180 MHAFilter::thirdoctave_analyzer_t Class Reference 679
5.179.4.4 tmp_wave
MHASignal::waveform_t MHAFilter::smoothspec_t::tmp_wave [private]
5.179.4.5 tmp_spec
MHASignal::spectrum_t MHAFilter::smoothspec_t::tmp_spec [private]
5.179.4.6 minphase
MHASignal::minphase_tMHAFilter::smoothspec_t::minphase [private]
5.179.4.7 _linphase_asym
bool MHAFilter::smoothspec_t::_linphase_asym [private]
5.179.4.8 fft
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.180 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-2018 HörTech gGmbH, Oldenburg
680 CONTENTS
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.180.1 Constructor & Destructor Documentation
5.180.1.1 thirdoctave_analyzer_t()
MHAFilter::thirdoctave_analyzer_t::thirdoctave_analyzer_t (
mhaconfig_t cfg )
5.180.2 Member Function Documentation
5.180.2.1 process()
mha_wave_t MHAFilter::thirdoctave_analyzer_t::process (
mha_wave_t sIn )
5.180.2.2 nbands()
unsigned int MHAFilter::thirdoctave_analyzer_t::nbands ( )
5.180.2.3 nchannels()
unsigned int MHAFilter::thirdoctave_analyzer_t::nchannels ( )
© 2005-2018 HörTech gGmbH, Oldenburg
5.180 MHAFilter::thirdoctave_analyzer_t Class Reference 681
5.180.2.4 get_cf_hz()
std::vector<mha_real_t >MHAFilter::thirdoctave_analyzer_t::get_cf_hz ( )
5.180.2.5 cf_generator()
std::vector<mha_real_t >MHAFilter::thirdoctave_analyzer_t::cf_generator (
mhaconfig_t cfg ) [static]
5.180.2.6 bw_generator()
std::vector<mha_real_t >MHAFilter::thirdoctave_analyzer_t::bw_generator (
mhaconfig_t cfg ) [static]
5.180.2.7 dup()
std::vector<mha_real_t >MHAFilter::thirdoctave_analyzer_t::dup (
std::vector<mha_real_t >vec,
mhaconfig_t cfg ) [static]
5.180.3 Member Data Documentation
5.180.3.1 cfg_
mhaconfig_t MHAFilter::thirdoctave_analyzer_t::cfg_ [private]
5.180.3.2 cf
std::vector<mha_real_t>MHAFilter::thirdoctave_analyzer_t::cf [private]
5.180.3.3 fb
MHAFilter::gamma_flt_t MHAFilter::thirdoctave_analyzer_t::fb [private]
© 2005-2018 HörTech gGmbH, Oldenburg
682 CONTENTS
5.180.3.4 out_chunk
MHASignal::waveform_t MHAFilter::thirdoctave_analyzer_t::out_chunk [private]
5.180.3.5 out_chunk_im
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.181 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-2018 HörTech gGmbH, Oldenburg
5.181 MHAFilter::transfer_function_t Struct Reference 683
5.181.1 Detailed Description
a structure containing a source channel number, a target channel number, and an impulse
response.
5.181.2 Constructor & Destructor Documentation
5.181.2.1 transfer_function_t() [1/2]
MHAFilter::transfer_function_t::transfer_function_t ( ) [inline]
Default constructor for STL conformity.
Not used.
5.181.2.2 transfer_function_t() [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.181.3 Member Function Documentation
5.181.3.1 partitions()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
684 CONTENTS
Parameters
fragsize partition size
Returns
number of partitions occupied by the impulse response
5.181.3.2 non_empty_partitions()
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.181.3.3 isempty()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.182 MHAFilter::transfer_matrix_t Struct Reference 685
5.181.4 Member Data Documentation
5.181.4.1 source_channel_index
unsigned int MHAFilter::transfer_function_t::source_channel_index
Source audio channel index for this transfer function.
5.181.4.2 target_channel_index
unsigned int MHAFilter::transfer_function_t::target_channel_index
Target audio channel index for this transfer function.
5.181.4.3 impulse_response
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
5.182 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. 686) 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. 686) method on every
matrix member.
© 2005-2018 HörTech gGmbH, Oldenburg
686 CONTENTS
5.182.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.182.2 Member Function Documentation
5.182.2.1 partitions()
std::valarray<unsigned int>MHAFilter::transfer_matrix_t::partitions (
unsigned fragsize ) const [inline]
Returns an array of the results of calling the partitions() (p. 686) method on every matrix mem-
ber.
5.182.2.2 non_empty_partitions()
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. 686) method on every
matrix member.
The documentation for this struct was generated from the following file:
mha_filter.hh
5.183 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
© 2005-2018 HörTech gGmbH, Oldenburg
5.183 MHAIOJack::io_jack_t Class Reference 687
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,IO-
StoppedEvent_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 ()
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
© 2005-2018 HörTech gGmbH, Oldenburg
688 CONTENTS
Additional Inherited Members
5.183.1 Detailed Description
Main class for JACK IO.
This class registers a JACK client. JACK and framework states are managed by this class.
5.183.2 Constructor & Destructor Documentation
5.183.2.1 io_jack_t()
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.183.3 Member Function Documentation
5.183.3.1 prepare()
void io_jack_t::prepare (
int nch_in,
int nch_out )
Allocate buffers, activate JACK client and install internal ports.
5.183.3.2 release()
void io_jack_t::release (
void )
© 2005-2018 HörTech gGmbH, Oldenburg
5.183 MHAIOJack::io_jack_t Class Reference 689
5.183.3.3 reconnect_inports()
void io_jack_t::reconnect_inports ( ) [private]
Connect the input ports when connection variable is accessed.
5.183.3.4 reconnect_outports()
void io_jack_t::reconnect_outports ( ) [private]
Connect the output ports when connection variable is accessed.
5.183.3.5 get_physical_input_ports()
void io_jack_t::get_physical_input_ports ( ) [private]
5.183.3.6 get_physical_output_ports()
void io_jack_t::get_physical_output_ports ( ) [private]
5.183.3.7 get_all_input_ports()
void io_jack_t::get_all_input_ports ( ) [private]
5.183.3.8 get_all_output_ports()
void io_jack_t::get_all_output_ports ( ) [private]
5.183.3.9 get_delays_in()
void io_jack_t::get_delays_in ( ) [private]
© 2005-2018 HörTech gGmbH, Oldenburg
690 CONTENTS
5.183.3.10 get_delays_out()
void io_jack_t::get_delays_out ( ) [private]
5.183.3.11 read_get_cpu_load()
void io_jack_t::read_get_cpu_load ( ) [private]
5.183.3.12 read_get_xruns()
void io_jack_t::read_get_xruns ( ) [private]
5.183.3.13 read_get_scheduler()
void io_jack_t::read_get_scheduler ( ) [private]
5.183.4 Member Data Documentation
5.183.4.1 fw_fragsize
unsigned int MHAIOJack::io_jack_t::fw_fragsize [private]
5.183.4.2 fw_samplerate
float MHAIOJack::io_jack_t::fw_samplerate [private]
5.183.4.3 servername
MHAParser::string_t MHAIOJack::io_jack_t::servername [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.183 MHAIOJack::io_jack_t Class Reference 691
5.183.4.4 clientname
MHAParser::string_t MHAIOJack::io_jack_t::clientname [private]
5.183.4.5 connections_in
MHAParser::vstring_t MHAIOJack::io_jack_t::connections_in [private]
5.183.4.6 delays_in
MHAParser::vint_mon_t MHAIOJack::io_jack_t::delays_in [private]
5.183.4.7 connections_out
MHAParser::vstring_t MHAIOJack::io_jack_t::connections_out [private]
5.183.4.8 delays_out
MHAParser::vint_mon_t MHAIOJack::io_jack_t::delays_out [private]
5.183.4.9 portnames_in
MHAParser::vstring_t MHAIOJack::io_jack_t::portnames_in [private]
5.183.4.10 portnames_out
MHAParser::vstring_t MHAIOJack::io_jack_t::portnames_out [private]
5.183.4.11 ports_in_physical
MHAParser::vstring_mon_t MHAIOJack::io_jack_t::ports_in_physical [private]
© 2005-2018 HörTech gGmbH, Oldenburg
692 CONTENTS
5.183.4.12 ports_out_physical
MHAParser::vstring_mon_t MHAIOJack::io_jack_t::ports_out_physical [private]
5.183.4.13 ports_in_all
MHAParser::vstring_mon_t MHAIOJack::io_jack_t::ports_in_all [private]
5.183.4.14 ports_out_all
MHAParser::vstring_mon_t MHAIOJack::io_jack_t::ports_out_all [private]
5.183.4.15 ports_parser
MHAParser::parser_t MHAIOJack::io_jack_t::ports_parser [private]
5.183.4.16 state_cpuload
MHAParser::float_mon_t MHAIOJack::io_jack_t::state_cpuload [private]
5.183.4.17 state_xruns
MHAParser::int_mon_t MHAIOJack::io_jack_t::state_xruns [private]
5.183.4.18 state_priority
MHAParser::int_mon_t MHAIOJack::io_jack_t::state_priority [private]
5.183.4.19 state_scheduler
MHAParser::string_mon_t MHAIOJack::io_jack_t::state_scheduler [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.184 MHAIOPortAudio::device_info_t Class Reference 693
5.183.4.20 state_parser
MHAParser::parser_t MHAIOJack::io_jack_t::state_parser [private]
5.183.4.21 patchbay
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
5.184 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 ()
© 2005-2018 HörTech gGmbH, Oldenburg
694 CONTENTS
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
Additional Inherited Members
5.184.1 Constructor & Destructor Documentation
5.184.1.1 device_info_t()
MHAIOPortAudio::device_info_t::device_info_t ( ) [inline]
5.184.2 Member Function Documentation
5.184.2.1 fill_info()
void MHAIOPortAudio::device_info_t::fill_info ( ) [inline]
5.184.3 Member Data Documentation
5.184.3.1 numDevices
MHAParser::int_mon_t MHAIOPortAudio::device_info_t::numDevices
© 2005-2018 HörTech gGmbH, Oldenburg
5.184 MHAIOPortAudio::device_info_t Class Reference 695
5.184.3.2 structVersion
MHAParser::vint_mon_t MHAIOPortAudio::device_info_t::structVersion
5.184.3.3 name
MHAParser::vstring_mon_t MHAIOPortAudio::device_info_t::name
5.184.3.4 hostApi
MHAParser::vint_mon_t MHAIOPortAudio::device_info_t::hostApi
5.184.3.5 maxInputChannels
MHAParser::vint_mon_t MHAIOPortAudio::device_info_t::maxInputChannels
5.184.3.6 maxOutputChannels
MHAParser::vint_mon_t MHAIOPortAudio::device_info_t::maxOutputChannels
5.184.3.7 defaultLowInputLatency
MHAParser::vfloat_mon_t MHAIOPortAudio::device_info_t::defaultLowInputLatency
5.184.3.8 defaultLowOutputLatency
MHAParser::vfloat_mon_t MHAIOPortAudio::device_info_t::defaultLowOutputLatency
5.184.3.9 defaultHighInputLatency
MHAParser::vfloat_mon_t MHAIOPortAudio::device_info_t::defaultHighInputLatency
© 2005-2018 HörTech gGmbH, Oldenburg
696 CONTENTS
5.184.3.10 defaultHighOutputLatency
MHAParser::vfloat_mon_t MHAIOPortAudio::device_info_t::defaultHighOutputLatency
5.184.3.11 defaultSampleRate
MHAParser::vfloat_mon_t MHAIOPortAudio::device_info_t::defaultSampleRate
The documentation for this class was generated from the following file:
MHAIOPortAudio.cpp
5.185 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,I-
OStoppedEvent_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)
© 2005-2018 HörTech gGmbH, Oldenburg
5.185 MHAIOPortAudio::io_portaudio_t Class Reference 697
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
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.185.1 Detailed Description
Main class for Portaudio sound IO.
5.185.2 Constructor & Destructor Documentation
5.185.2.1 io_portaudio_t()
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]
© 2005-2018 HörTech gGmbH, Oldenburg
698 CONTENTS
5.185.2.2 io_portaudio_t()
MHAIOPortAudio::io_portaudio_t::io_portaudio_t ( ) [inline]
5.185.3 Member Function Documentation
5.185.3.1 device_name_updated()
void MHAIOPortAudio::io_portaudio_t::device_name_updated ( ) [inline]
5.185.3.2 device_index_updated()
void MHAIOPortAudio::io_portaudio_t::device_index_updated ( ) [inline]
5.185.3.3 cmd_prepare()
void MHAIOPortAudio::io_portaudio_t::cmd_prepare (
int nchannels_in,
int nchannels_out )
5.185.3.4 cmd_start()
void MHAIOPortAudio::io_portaudio_t::cmd_start ( )
5.185.3.5 cmd_stop()
void MHAIOPortAudio::io_portaudio_t::cmd_stop ( )
5.185.3.6 cmd_release()
void MHAIOPortAudio::io_portaudio_t::cmd_release ( )
© 2005-2018 HörTech gGmbH, Oldenburg
5.185 MHAIOPortAudio::io_portaudio_t Class Reference 699
5.185.3.7 portaudio_callback()
int MHAIOPortAudio::io_portaudio_t::portaudio_callback (
const void input,
void output,
unsigned long frame_count,
const PaStreamCallbackTimeInfo time_info,
PaStreamCallbackFlags status_flags )
5.185.4 Member Data Documentation
5.185.4.1 device_info
device_info_t MHAIOPortAudio::io_portaudio_t::device_info [private]
5.185.4.2 s_in
MHASignal::waveform_tMHAIOPortAudio::io_portaudio_t::s_in [private]
5.185.4.3 s_out
mha_wave_tMHAIOPortAudio::io_portaudio_t::s_out [private]
5.185.4.4 samplerate
float MHAIOPortAudio::io_portaudio_t::samplerate [private]
5.185.4.5 nchannels_out
unsigned int MHAIOPortAudio::io_portaudio_t::nchannels_out [private]
© 2005-2018 HörTech gGmbH, Oldenburg
700 CONTENTS
5.185.4.6 nchannels_in
unsigned int MHAIOPortAudio::io_portaudio_t::nchannels_in [private]
5.185.4.7 fragsize
unsigned int MHAIOPortAudio::io_portaudio_t::fragsize [private]
5.185.4.8 proc_event
IOProcessEvent_t MHAIOPortAudio::io_portaudio_t::proc_event [private]
5.185.4.9 proc_handle
voidMHAIOPortAudio::io_portaudio_t::proc_handle [private]
5.185.4.10 start_event
IOStartedEvent_t MHAIOPortAudio::io_portaudio_t::start_event [private]
5.185.4.11 start_handle
voidMHAIOPortAudio::io_portaudio_t::start_handle [private]
5.185.4.12 stop_event
IOStoppedEvent_t MHAIOPortAudio::io_portaudio_t::stop_event [private]
5.185.4.13 stop_handle
voidMHAIOPortAudio::io_portaudio_t::stop_handle [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.186 MHAJack::client_avg_t Class Reference 701
5.185.4.14 portaudio_stream
PaStreamMHAIOPortAudio::io_portaudio_t::portaudio_stream [private]
5.185.4.15 device_name
MHAParser::string_t MHAIOPortAudio::io_portaudio_t::device_name [private]
5.185.4.16 device_index
MHAParser::int_t MHAIOPortAudio::io_portaudio_t::device_index [private]
5.185.4.17 patchbay
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
5.186 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
© 2005-2018 HörTech gGmbH, Oldenburg
702 CONTENTS
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 frag-
size=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
Additional Inherited Members
5.186.1 Detailed Description
Generic JACK client for averaging a system response across time.
5.186.2 Constructor & Destructor Documentation
5.186.2.1 client_avg_t()
MHAJack::client_avg_t::client_avg_t (
const std::string & name_,
const unsigned int & nrep_ )
Constructor for averaging client.
© 2005-2018 HörTech gGmbH, Oldenburg
5.186 MHAJack::client_avg_t Class Reference 703
Parameters
name-
_
Name of JACK client
nrep-
_
Number of repetitions
5.186.3 Member Function Documentation
5.186.3.1 io()
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
5.186.3.2 proc() [1/2]
int MHAJack::client_avg_t::proc (
void handle,
mha_wave_t sIn,
mha_wave_t ∗∗ sOut ) [static], [private]
© 2005-2018 HörTech gGmbH, Oldenburg
704 CONTENTS
5.186.3.3 IOStoppedEvent() [1/2]
void MHAJack::client_avg_t::IOStoppedEvent (
void handle,
int proc_err,
int io_err ) [static], [private]
5.186.3.4 proc() [2/2]
void MHAJack::client_avg_t::proc (
mha_wave_t sIn,
mha_wave_t ∗∗ sOut ) [private]
5.186.3.5 IOStoppedEvent() [2/2]
void MHAJack::client_avg_t::IOStoppedEvent ( ) [private]
5.186.4 Member Data Documentation
5.186.4.1 b_stopped
bool MHAJack::client_avg_t::b_stopped [private]
5.186.4.2 pos
unsigned int MHAJack::client_avg_t::pos [private]
5.186.4.3 sn_in
mha_wave_tMHAJack::client_avg_t::sn_in [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.186 MHAJack::client_avg_t Class Reference 705
5.186.4.4 sn_out
mha_wave_tMHAJack::client_avg_t::sn_out [private]
5.186.4.5 name
std::string MHAJack::client_avg_t::name [private]
5.186.4.6 frag_out
MHASignal::waveform_tMHAJack::client_avg_t::frag_out [private]
5.186.4.7 nrep
const unsigned int MHAJack::client_avg_t::nrep [private]
5.186.4.8 n
unsigned int MHAJack::client_avg_t::n [private]
5.186.4.9 b_ready
bool MHAJack::client_avg_t::b_ready [private]
The documentation for this class was generated from the following files:
mhajack.h
mhajack.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
706 CONTENTS
5.187 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 frag-
size=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-2018 HörTech gGmbH, Oldenburg
5.187 MHAJack::client_noncont_t Class Reference 707
Additional Inherited Members
5.187.1 Detailed Description
Generic client for synchronous playback and recording of waveform fragments.
5.187.2 Constructor & Destructor Documentation
5.187.2.1 client_noncont_t()
MHAJack::client_noncont_t::client_noncont_t (
const std::string & name,
bool use_jack_transport = false )
5.187.3 Member Function Documentation
5.187.3.1 io()
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.187.3.2 proc() [1/2]
int MHAJack::client_noncont_t::proc (
void handle,
mha_wave_t sIn,
mha_wave_t ∗∗ sOut ) [static], [private]
© 2005-2018 HörTech gGmbH, Oldenburg
708 CONTENTS
5.187.3.3 IOStoppedEvent() [1/2]
void MHAJack::client_noncont_t::IOStoppedEvent (
void handle,
int proc_err,
int io_err ) [static], [private]
5.187.3.4 proc() [2/2]
void MHAJack::client_noncont_t::proc (
mha_wave_t sIn,
mha_wave_t ∗∗ sOut ) [private]
5.187.3.5 IOStoppedEvent() [2/2]
void MHAJack::client_noncont_t::IOStoppedEvent ( ) [private]
5.187.4 Member Data Documentation
5.187.4.1 b_stopped
bool MHAJack::client_noncont_t::b_stopped [private]
5.187.4.2 pos
unsigned int MHAJack::client_noncont_t::pos [private]
5.187.4.3 sn_in
mha_wave_tMHAJack::client_noncont_t::sn_in [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.188 MHAJack::client_t Class Reference 709
5.187.4.4 sn_out
mha_wave_tMHAJack::client_noncont_t::sn_out [private]
5.187.4.5 name
std::string MHAJack::client_noncont_t::name [private]
5.187.4.6 frag_out
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.188 MHAJack::client_t Class Reference
Generic asynchronous JACK client.
Inheritance diagram for MHAJack::client_t:
MHAJack::client_t
MHAIOJack::io_jack_t MHAJack::client_avg_t MHAJack::client_noncont_t
© 2005-2018 HörTech gGmbH, Oldenburg
710 CONTENTS
Public Member Functions
client_t (IOProcessEvent_t proc_event, void proc_handle=NULL, IOStarted-
Event_t start_event=NULL, void start_handle=NULL, IOStoppedEvent_t stop_-
event=NULL, 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.
• 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 ()
© 2005-2018 HörTech gGmbH, Oldenburg
5.188 MHAJack::client_t Class Reference 711
Static Private Member Functions
static int jack_proc_cb (jack_nframes_t, void )
static int jack_xrun_cb (void )
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.188.1 Detailed Description
Generic asynchronous JACK client.
5.188.2 Constructor & Destructor Documentation
5.188.2.1 client_t()
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 )
© 2005-2018 HörTech gGmbH, Oldenburg
712 CONTENTS
5.188.3 Member Function Documentation
5.188.3.1 prepare() [1/2]
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.
Parameters
client_name Name of this jack client
nch_in Input ports to register
nch_out Output ports to register
5.188.3.2 prepare() [2/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.188.3.3 release()
void MHAJack::client_t::release (
© 2005-2018 HörTech gGmbH, Oldenburg
5.188 MHAJack::client_t Class Reference 713
void )
Remove JACK client and deallocate internal ports and buffers.
5.188.3.4 start()
void MHAJack::client_t::start (
bool fail_on_async_jack_error = true )
5.188.3.5 stop()
void MHAJack::client_t::stop ( )
5.188.3.6 connect_input()
void MHAJack::client_t::connect_input (
const std::vector<std::string >&con )
Connect the input ports when connection variable is accessed.
5.188.3.7 connect_output()
void MHAJack::client_t::connect_output (
const std::vector<std::string >&con )
Connect the output ports when connection variable is accessed.
5.188.3.8 get_fragsize()
unsigned int MHAJack::client_t::get_fragsize ( ) const [inline]
5.188.3.9 get_srate()
float MHAJack::client_t::get_srate ( ) const [inline]
© 2005-2018 HörTech gGmbH, Oldenburg
714 CONTENTS
5.188.3.10 get_xruns()
unsigned long MHAJack::client_t::get_xruns ( ) [inline]
5.188.3.11 get_xruns_reset()
unsigned long MHAJack::client_t::get_xruns_reset ( )
5.188.3.12 str_error()
std::string MHAJack::client_t::str_error (
int err )
5.188.3.13 get_ports()
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.188.3.14 get_my_input_ports()
std::vector<std::string >MHAJack::client_t::get_my_input_ports ( )
5.188.3.15 get_my_output_ports()
std::vector<std::string >MHAJack::client_t::get_my_output_ports ( )
© 2005-2018 HörTech gGmbH, Oldenburg
5.188 MHAJack::client_t Class Reference 715
5.188.3.16 set_input_portnames()
void MHAJack::client_t::set_input_portnames (
const std::vector<std::string >&names )
5.188.3.17 set_output_portnames()
void MHAJack::client_t::set_output_portnames (
const std::vector<std::string >&names )
5.188.3.18 get_cpu_load()
float MHAJack::client_t::get_cpu_load ( )
5.188.3.19 set_use_jack_transport()
void MHAJack::client_t::set_use_jack_transport (
bool ut ) [inline]
5.188.3.20 prepare_impl()
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.
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
© 2005-2018 HörTech gGmbH, Oldenburg
716 CONTENTS
5.188.3.21 internal_start()
void MHAJack::client_t::internal_start ( ) [private]
5.188.3.22 internal_stop()
void MHAJack::client_t::internal_stop ( ) [private]
5.188.3.23 stopped()
void MHAJack::client_t::stopped (
int proc_err,
int io_err ) [private]
5.188.3.24 jack_proc_cb() [1/2]
int MHAJack::client_t::jack_proc_cb (
jack_nframes_t n,
void h) [static], [private]
5.188.3.25 jack_proc_cb() [2/2]
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.188.3.26 jack_xrun_cb() [1/2]
int MHAJack::client_t::jack_xrun_cb (
void h) [static], [private]
5.188.3.27 jack_xrun_cb() [2/2]
int MHAJack::client_t::jack_xrun_cb ( ) [inline], [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.188 MHAJack::client_t Class Reference 717
5.188.4 Member Data Documentation
5.188.4.1 num_xruns
unsigned long MHAJack::client_t::num_xruns [private]
5.188.4.2 fragsize
unsigned int MHAJack::client_t::fragsize [private]
5.188.4.3 samplerate
float MHAJack::client_t::samplerate [private]
5.188.4.4 nchannels_in
unsigned int MHAJack::client_t::nchannels_in [private]
5.188.4.5 nchannels_out
unsigned int MHAJack::client_t::nchannels_out [private]
5.188.4.6 proc_event
IOProcessEvent_t MHAJack::client_t::proc_event [private]
5.188.4.7 proc_handle
voidMHAJack::client_t::proc_handle [private]
© 2005-2018 HörTech gGmbH, Oldenburg
718 CONTENTS
5.188.4.8 start_event
IOStartedEvent_t MHAJack::client_t::start_event [private]
5.188.4.9 start_handle
voidMHAJack::client_t::start_handle [private]
5.188.4.10 stop_event
IOStoppedEvent_t MHAJack::client_t::stop_event [private]
5.188.4.11 stop_handle
voidMHAJack::client_t::stop_handle [private]
5.188.4.12 s_in
MHASignal::waveform_tMHAJack::client_t::s_in [private]
5.188.4.13 s_out
mha_wave_tMHAJack::client_t::s_out [private]
5.188.4.14 inch
MHAJack::port_t∗∗ MHAJack::client_t::inch [private]
5.188.4.15 outch
MHAJack::port_t∗∗ MHAJack::client_t::outch [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.188 MHAJack::client_t Class Reference 719
5.188.4.16 jc
jack_client_tMHAJack::client_t::jc [protected]
5.188.4.17 flags
unsigned int MHAJack::client_t::flags [private]
5.188.4.18 b_prepared
bool MHAJack::client_t::b_prepared [private]
5.188.4.19 use_jack_transport
bool MHAJack::client_t::use_jack_transport [private]
5.188.4.20 jstate_prev
jack_transport_state_t MHAJack::client_t::jstate_prev [private]
5.188.4.21 input_portnames
std::vector<std::string>MHAJack::client_t::input_portnames [private]
5.188.4.22 output_portnames
std::vector<std::string>MHAJack::client_t::output_portnames [private]
© 2005-2018 HörTech gGmbH, Oldenburg
720 CONTENTS
5.188.4.23 fail_on_async_jackerror
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.189 MHAJack::port_t Class Reference
Class for one channel/port.
Public Types
• enum dir_t {input,output }
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.189.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.189.2 Member Enumeration Documentation
5.189.2.1 dir_t
enum MHAJack::port_t::dir_t
© 2005-2018 HörTech gGmbH, Oldenburg
5.189 MHAJack::port_t Class Reference 721
Enumerator
input
output
5.189.3 Constructor & Destructor Documentation
5.189.3.1 port_t() [1/2]
MHAJack::port_t::port_t (
jack_client_t jc,
dir_t dir,
int id )
Parameters
jc JACK client.
dir Direction (input/output).
id Number in port name (starting with 1).
5.189.3.2 port_t() [2/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.189.3.3 port_t()
MHAJack::port_t::port_t ( )
© 2005-2018 HörTech gGmbH, Oldenburg
722 CONTENTS
5.189.4 Member Function Documentation
5.189.4.1 read()
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.189.4.2 write()
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.189.4.3 mute()
void MHAJack::port_t::mute (
unsigned int n)
Parameters
nNumber of samples to be muted (must be the same as reported by Jack processing
callback).
5.189.4.4 connect_to()
void MHAJack::port_t::connect_to (
const char pn )
© 2005-2018 HörTech gGmbH, Oldenburg
5.189 MHAJack::port_t Class Reference 723
Parameters
pn Port name to connect to
5.189.4.5 get_short_name()
const char MHAJack::port_t::get_short_name ( )
Return the port name.
5.189.5 Member Data Documentation
5.189.5.1 dir_type
dir_t MHAJack::port_t::dir_type [private]
5.189.5.2 port
jack_port_tMHAJack::port_t::port [private]
5.189.5.3 iob
jack_default_audio_sample_tMHAJack::port_t::iob [private]
5.189.5.4 jc
jack_client_tMHAJack::port_t::jc [private]
The documentation for this class was generated from the following files:
mhajack.h
mhajack.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
724 CONTENTS
5.190 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
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)
Public Attributes
char algo_comm_id_string
© 2005-2018 HörTech gGmbH, Oldenburg
5.190 MHAKernel::algo_comm_class_t Class Reference 725
Private Attributes
algo_comm_t ac
• int algo_comm_id_string_len
comm_var_map_t vars
5.190.1 Constructor & Destructor Documentation
5.190.1.1 algo_comm_class_t()
MHAKernel::algo_comm_class_t::algo_comm_class_t ( )
5.190.1.2 algo_comm_class_t()
MHAKernel::algo_comm_class_t::algo_comm_class_t ( ) [virtual]
5.190.2 Member Function Documentation
5.190.2.1 get_c_handle()
algo_comm_t MHAKernel::algo_comm_class_t::get_c_handle ( )
5.190.2.2 insert_var()
int MHAKernel::algo_comm_class_t::insert_var (
void handle,
const char name,
comm_var_t var ) [static]
5.190.2.3 insert_var_int()
int MHAKernel::algo_comm_class_t::insert_var_int (
void handle,
const char name,
int ivar ) [static]
© 2005-2018 HörTech gGmbH, Oldenburg
726 CONTENTS
5.190.2.4 insert_var_float()
int MHAKernel::algo_comm_class_t::insert_var_float (
void handle,
const char name,
float ivar ) [static]
5.190.2.5 remove_var()
int MHAKernel::algo_comm_class_t::remove_var (
void handle,
const char name ) [static]
5.190.2.6 remove_ref()
int MHAKernel::algo_comm_class_t::remove_ref (
void handle,
void ref ) [static]
5.190.2.7 is_var()
int MHAKernel::algo_comm_class_t::is_var (
void handle,
const char name ) [static]
5.190.2.8 get_var()
int MHAKernel::algo_comm_class_t::get_var (
void handle,
const char name,
comm_var_t var ) [static]
5.190.2.9 get_var_int()
int MHAKernel::algo_comm_class_t::get_var_int (
void handle,
const char name,
int ivar ) [static]
© 2005-2018 HörTech gGmbH, Oldenburg
5.190 MHAKernel::algo_comm_class_t Class Reference 727
5.190.2.10 get_var_float()
int MHAKernel::algo_comm_class_t::get_var_float (
void handle,
const char name,
float ivar ) [static]
5.190.2.11 get_entries()
int MHAKernel::algo_comm_class_t::get_entries (
void handle,
char ret,
unsigned int len ) [static]
5.190.2.12 get_error()
const char MHAKernel::algo_comm_class_t::get_error (
int e) [static]
5.190.2.13 local_insert_var()
void MHAKernel::algo_comm_class_t::local_insert_var (
const char name,
comm_var_t var ) [virtual]
5.190.2.14 local_remove_var()
void MHAKernel::algo_comm_class_t::local_remove_var (
const char name ) [virtual]
5.190.2.15 local_remove_ref()
void MHAKernel::algo_comm_class_t::local_remove_ref (
void addr ) [virtual]
© 2005-2018 HörTech gGmbH, Oldenburg
728 CONTENTS
5.190.2.16 local_is_var()
bool MHAKernel::algo_comm_class_t::local_is_var (
const char name ) [virtual]
5.190.2.17 local_get_var()
void MHAKernel::algo_comm_class_t::local_get_var (
const char name,
comm_var_t var ) [virtual]
5.190.2.18 local_get_entries()
std::string MHAKernel::algo_comm_class_t::local_get_entries ( ) [virtual]
5.190.2.19 size()
MHAKernel::comm_var_map_t::size_type MHAKernel::algo_comm_class_t::size ( ) const
[virtual]
5.190.3 Member Data Documentation
5.190.3.1 algo_comm_id_string
charMHAKernel::algo_comm_class_t::algo_comm_id_string
5.190.3.2 ac
algo_comm_t MHAKernel::algo_comm_class_t::ac [private]
5.190.3.3 algo_comm_id_string_len
int MHAKernel::algo_comm_class_t::algo_comm_id_string_len [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.191 MHAKernel::comm_var_map_t Class Reference 729
5.190.3.4 vars
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.191 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.191.1 Member Function Documentation
5.191.1.1 has_key()
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
5.192 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 >
© 2005-2018 HörTech gGmbH, Oldenburg
730 CONTENTS
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.192.1 Detailed Description
Base class for source selection.
See also
MHAMultiSrc::channel_t (p. 731)
MHAMultiSrc::channels_t (p. 732)
5.192.2 Constructor & Destructor Documentation
5.192.2.1 base_t()
MHAMultiSrc::base_t::base_t (
algo_comm_t iac )
5.192.3 Member Function Documentation
5.192.3.1 select_source()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.193 MHAMultiSrc::channel_t Class Reference 731
Parameters
src List of input sources
in_channels Number of input channels in direct input (the processed signal)
5.192.4 Member Data Documentation
5.192.4.1 ac
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.193 MHAMultiSrc::channel_t Class Reference
Public Attributes
• std::string name
• int channel
5.193.1 Member Data Documentation
5.193.1.1 name
std::string MHAMultiSrc::channel_t::name
5.193.1.2 channel
int MHAMultiSrc::channel_t::channel
The documentation for this class was generated from the following file:
mha_multisrc.h
© 2005-2018 HörTech gGmbH, Oldenburg
732 CONTENTS
5.194 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.194.1 Constructor & Destructor Documentation
5.194.1.1 channels_t()
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. 731) 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-2018 HörTech gGmbH, Oldenburg
5.195 MHAMultiSrc::spectrum_t Class Reference 733
5.195 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.195.1 Constructor & Destructor Documentation
5.195.1.1 spectrum_t()
MHAMultiSrc::spectrum_t::spectrum_t (
algo_comm_t iac,
std::string name,
unsigned int frames,
unsigned int channels )
© 2005-2018 HörTech gGmbH, Oldenburg
734 CONTENTS
5.195.2 Member Function Documentation
5.195.2.1 update()
mha_spec_t MHAMultiSrc::spectrum_t::update (
mha_spec_t s)
Update data of spectrum to hold actual input data.
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.196 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 >
© 2005-2018 HörTech gGmbH, Oldenburg
5.196 MHAMultiSrc::waveform_t Class Reference 735
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.
Additional Inherited Members
5.196.1 Constructor & Destructor Documentation
5.196.1.1 waveform_t()
MHAMultiSrc::waveform_t::waveform_t (
algo_comm_t iac,
std::string name,
unsigned int frames,
unsigned int channels )
5.196.2 Member Function Documentation
5.196.2.1 update()
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
© 2005-2018 HörTech gGmbH, Oldenburg
736 CONTENTS
5.197 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
5.197.1 Member Data Documentation
5.197.1.1 cf_l
mha_real_t MHAOvlFilter::band_descriptor_t::cf_l
5.197.1.2 ef_l
mha_real_t MHAOvlFilter::band_descriptor_t::ef_l
5.197.1.3 cf
mha_real_t MHAOvlFilter::band_descriptor_t::cf
5.197.1.4 ef_h
mha_real_t MHAOvlFilter::band_descriptor_t::ef_h
5.197.1.5 cf_h
mha_real_t MHAOvlFilter::band_descriptor_t::cf_h
© 2005-2018 HörTech gGmbH, Oldenburg
5.198 MHAOvlFilter::barkscale::bark2hz_t Class Reference 737
5.197.1.6 low_side_flat
bool MHAOvlFilter::band_descriptor_t::low_side_flat
5.197.1.7 high_side_flat
bool MHAOvlFilter::band_descriptor_t::high_side_flat
The documentation for this class was generated from the following file:
mha_fftfb.hh
5.198 MHAOvlFilter::barkscale::bark2hz_t Class Reference
Inheritance diagram for MHAOvlFilter::barkscale::bark2hz_t:
MHAOvlFilter::barkscale
::bark2hz_t
MHATableLookup::xy
_table_t
MHATableLookup::table_t
Public Member Functions
bark2hz_t ()
bark2hz_t ()
Additional Inherited Members
5.198.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
738 CONTENTS
5.198.1.1 bark2hz_t()
MHAOvlFilter::barkscale::bark2hz_t::bark2hz_t ( )
5.198.1.2 bark2hz_t()
MHAOvlFilter::barkscale::bark2hz_t::bark2hz_t ( )
The documentation for this class was generated from the following file:
mha_fftfb.cpp
5.199 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 ()
Additional Inherited Members
5.199.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.200 MHAOvlFilter::fftfb_ac_info_t Class Reference 739
5.199.1.1 hz2bark_t()
MHAOvlFilter::barkscale::hz2bark_t::hz2bark_t ( )
5.199.1.2 hz2bark_t()
MHAOvlFilter::barkscale::hz2bark_t::hz2bark_t ( )
The documentation for this class was generated from the following file:
mha_fftfb.cpp
5.200 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.200.1 Constructor & Destructor Documentation
5.200.1.1 fftfb_ac_info_t()
MHAOvlFilter::fftfb_ac_info_t::fftfb_ac_info_t (
const MHAOvlFilter::fftfb_t &fb,
algo_comm_t ac,
const std::string & prefix )
© 2005-2018 HörTech gGmbH, Oldenburg
740 CONTENTS
5.200.2 Member Function Documentation
5.200.2.1 insert()
void MHAOvlFilter::fftfb_ac_info_t::insert ( )
5.200.3 Member Data Documentation
5.200.3.1 cfv
MHA_AC::waveform_t MHAOvlFilter::fftfb_ac_info_t::cfv [private]
vector of nominal center frequencies / Hz
5.200.3.2 efv
MHA_AC::waveform_t MHAOvlFilter::fftfb_ac_info_t::efv [private]
vector of edge frequencies / Hz
5.200.3.3 bwv
MHA_AC::waveform_t MHAOvlFilter::fftfb_ac_info_t::bwv [private]
vector of band-weigths (sum of squared fft-bin-weigths)/num_frames
5.200.3.4 cLTASS
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.201 MHAOvlFilter::fftfb_t Class Reference 741
5.201 MHAOvlFilter::fftfb_t Class Reference
FFT based overlapping filter bank.
Inheritance diagram for MHAOvlFilter::fftfb_t:
MHAOvlFilter::fftfb_t
coherence::cohflt_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.
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.201.1 Detailed Description
FFT based overlapping filter bank.
© 2005-2018 HörTech gGmbH, Oldenburg
742 CONTENTS
5.201.2 Constructor & Destructor Documentation
5.201.2.1 fftfb_t()
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.201.2.2 fftfb_t()
MHAOvlFilter::fftfb_t::fftfb_t ( )
5.201.3 Member Function Documentation
5.201.3.1 apply_gains()
void MHAOvlFilter::fftfb_t::apply_gains (
mha_spec_t s_out,
const mha_spec_t s_in,
const mha_wave_t gains )
5.201.3.2 get_fbpower()
void MHAOvlFilter::fftfb_t::get_fbpower (
mha_wave_t fbpow,
const mha_spec_t s_in )
© 2005-2018 HörTech gGmbH, Oldenburg
5.201 MHAOvlFilter::fftfb_t Class Reference 743
5.201.3.3 get_fbpower_db()
void MHAOvlFilter::fftfb_t::get_fbpower_db (
mha_wave_t fbpow,
const mha_spec_t s_in )
5.201.3.4 get_ltass_gain_db()
std::vector<float >MHAOvlFilter::fftfb_t::get_ltass_gain_db ( ) const
5.201.3.5 bin1()
unsigned int MHAOvlFilter::fftfb_t::bin1 (
unsigned int band ) const [inline]
Return index of first non-zero filter shape window.
5.201.3.6 bin2()
unsigned int MHAOvlFilter::fftfb_t::bin2 (
unsigned int band ) const [inline]
Return index of first zero filter shape window above center frequency.
5.201.3.7 get_fftlen()
unsigned int MHAOvlFilter::fftfb_t::get_fftlen ( ) const [inline]
Return fft length.
5.201.3.8 w()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
744 CONTENTS
Parameters
kFrequency index
bBand index
5.201.4 Member Data Documentation
5.201.4.1 vbin1
unsigned intMHAOvlFilter::fftfb_t::vbin1 [private]
5.201.4.2 vbin2
unsigned intMHAOvlFilter::fftfb_t::vbin2 [private]
5.201.4.3 shape
mha_real_t(MHAOvlFilter::fftfb_t::shape) ( mha_real_t) [private]
5.201.4.4 fftlen
unsigned int MHAOvlFilter::fftfb_t::fftlen [private]
5.201.4.5 samplingrate
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-2018 HörTech gGmbH, Oldenburg
5.202 MHAOvlFilter::fftfb_vars_t Class Reference 745
5.202 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
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.
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
© 2005-2018 HörTech gGmbH, Oldenburg
746 CONTENTS
5.202.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. 745) 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.202.2 Constructor & Destructor Documentation
5.202.2.1 fftfb_vars_t()
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.202.3 Member Data Documentation
5.202.3.1 fscale
scale_var_t MHAOvlFilter::fftfb_vars_t::fscale
Frequency scale type (lin/bark/log/erb).
5.202.3.2 ovltype
scale_var_t MHAOvlFilter::fftfb_vars_t::ovltype
Filter shape (rect/lin/hann).
© 2005-2018 HörTech gGmbH, Oldenburg
5.202 MHAOvlFilter::fftfb_vars_t Class Reference 747
5.202.3.3 plateau
MHAParser::float_t MHAOvlFilter::fftfb_vars_t::plateau
relative plateau width.
5.202.3.4 ftype
MHAParser::kw_t MHAOvlFilter::fftfb_vars_t::ftype
Flag to decide wether edge or center frequencies are used.
5.202.3.5 f
fscale_t MHAOvlFilter::fftfb_vars_t::f
Frequency.
5.202.3.6 normalize
MHAParser::bool_t MHAOvlFilter::fftfb_vars_t::normalize
Normalize sum of channels.
5.202.3.7 fail_on_nonmonotonic
MHAParser::bool_t MHAOvlFilter::fftfb_vars_t::fail_on_nonmonotonic
Fail if frequency entries are non-monotonic (otherwise sort)
5.202.3.8 fail_on_unique_bins
MHAParser::bool_t MHAOvlFilter::fftfb_vars_t::fail_on_unique_bins
Fail if center frequencies share the same FFT bin.
© 2005-2018 HörTech gGmbH, Oldenburg
748 CONTENTS
5.202.3.9 cf
MHAParser::vfloat_mon_t MHAOvlFilter::fftfb_vars_t::cf
Final center frequencies in Hz.
5.202.3.10 ef
MHAParser::vfloat_mon_t MHAOvlFilter::fftfb_vars_t::ef
Final edge frequencies in Hz.
5.202.3.11 cLTASS
MHAParser::vfloat_mon_t MHAOvlFilter::fftfb_vars_t::cLTASS
Bandwidth correction for LTASS noise (level of 0 dB RMS LTASS noise)
5.202.3.12 shapes
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
5.203 MHAOvlFilter::fscale_bw_t Class Reference
Inheritance diagram for MHAOvlFilter::fscale_bw_t:
MHAOvlFilter::fscale_bw_t
MHAOvlFilter::fscale_t
© 2005-2018 HörTech gGmbH, Oldenburg
5.203 MHAOvlFilter::fscale_bw_t Class Reference 749
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
Additional Inherited Members
5.203.1 Constructor & Destructor Documentation
5.203.1.1 fscale_bw_t()
MHAOvlFilter::fscale_bw_t::fscale_bw_t (
MHAParser::parser_t &parent )
5.203.2 Member Function Documentation
5.203.2.1 get_bw_hz()
std::vector<mha_real_t >MHAOvlFilter::fscale_bw_t::get_bw_hz ( ) const
5.203.2.2 update_hz()
void MHAOvlFilter::fscale_bw_t::update_hz ( ) [private]
© 2005-2018 HörTech gGmbH, Oldenburg
750 CONTENTS
5.203.3 Member Data Documentation
5.203.3.1 bw
MHAParser::vfloat_t MHAOvlFilter::fscale_bw_t::bw [protected]
5.203.3.2 bw_hz
MHAParser::vfloat_mon_t MHAOvlFilter::fscale_bw_t::bw_hz [protected]
5.203.3.3 updater
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.204 MHAOvlFilter::fscale_t Class Reference
Inheritance diagram for MHAOvlFilter::fscale_t:
MHAOvlFilter::fscale_t
MHAOvlFilter::fscale_bw_t
Public Member Functions
fscale_t (MHAParser::parser_t &parent)
• std::vector<mha_real_t >get_f_hz () const
© 2005-2018 HörTech gGmbH, Oldenburg
5.204 MHAOvlFilter::fscale_t Class Reference 751
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.204.1 Constructor & Destructor Documentation
5.204.1.1 fscale_t()
MHAOvlFilter::fscale_t::fscale_t (
MHAParser::parser_t &parent )
5.204.2 Member Function Documentation
5.204.2.1 get_f_hz()
std::vector<mha_real_t >MHAOvlFilter::fscale_t::get_f_hz ( ) const
5.204.2.2 update_hz()
void MHAOvlFilter::fscale_t::update_hz ( ) [private]
5.204.3 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
752 CONTENTS
5.204.3.1 unit
scale_var_t MHAOvlFilter::fscale_t::unit
5.204.3.2 f
MHAParser::vfloat_t MHAOvlFilter::fscale_t::f
5.204.3.3 f_hz
MHAParser::vfloat_mon_t MHAOvlFilter::fscale_t::f_hz
5.204.3.4 updater
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
5.205 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
MHAOvlFilter::overlap
_save_filterbank_t
multibandcompressor
::fftfb_plug_t
MHAOvlFilter::overlap
_save_filterbank_analytic_t fftfilterbank::fftfb
_plug_t
© 2005-2018 HörTech gGmbH, Oldenburg
5.205 MHAOvlFilter::fspacing_t Class Reference 753
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_
5.205.1 Detailed Description
Class for frequency spacing, used by filterbank shape generator class.
5.205.2 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
754 CONTENTS
5.205.2.1 fspacing_t()
MHAOvlFilter::fspacing_t::fspacing_t (
const MHAOvlFilter::fftfb_vars_t &par,
unsigned int nfft,
mha_real_t fs )
5.205.3 Member Function Documentation
5.205.3.1 get_cf_fftbin()
std::vector<unsigned int >MHAOvlFilter::fspacing_t::get_cf_fftbin ( ) const
5.205.3.2 get_cf_hz()
std::vector<mha_real_t >MHAOvlFilter::fspacing_t::get_cf_hz ( ) const
5.205.3.3 get_ef_hz()
std::vector<mha_real_t >MHAOvlFilter::fspacing_t::get_ef_hz ( ) const
5.205.3.4 nbands()
unsigned int MHAOvlFilter::fspacing_t::nbands ( ) const [inline]
Return number of bands in filter bank.
5.205.3.5 fail_on_nonmonotonic_cf()
void MHAOvlFilter::fspacing_t::fail_on_nonmonotonic_cf ( ) [protected]
© 2005-2018 HörTech gGmbH, Oldenburg
5.205 MHAOvlFilter::fspacing_t Class Reference 755
5.205.3.6 fail_on_unique_fftbins()
void MHAOvlFilter::fspacing_t::fail_on_unique_fftbins ( ) [protected]
5.205.3.7 ef2bands()
void MHAOvlFilter::fspacing_t::ef2bands (
std::vector<mha_real_t >vef ) [private]
5.205.3.8 cf2bands()
void MHAOvlFilter::fspacing_t::cf2bands (
std::vector<mha_real_t >vcf ) [private]
5.205.3.9 equidist2bands()
void MHAOvlFilter::fspacing_t::equidist2bands (
std::vector<mha_real_t >vcf ) [private]
5.205.4 Member Data Documentation
5.205.4.1 bands
std::vector<MHAOvlFilter::band_descriptor_t>MHAOvlFilter::fspacing_t::bands [protected]
5.205.4.2 symmetry_scale
mha_real_t(MHAOvlFilter::fspacing_t::symmetry_scale) ( mha_real_t) [protected]
5.205.4.3 nfft_
unsigned int MHAOvlFilter::fspacing_t::nfft_ [private]
© 2005-2018 HörTech gGmbH, Oldenburg
756 CONTENTS
5.205.4.4 fs_
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
5.206 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
∗∗fltIm)
© 2005-2018 HörTech gGmbH, Oldenburg
5.206 MHAOvlFilter::overlap_save_filterbank_analytic_t Class
Reference 757
Private Attributes
MHAFilter::fftfilterbank_t imagfb
Additional Inherited Members
5.206.1 Constructor & Destructor Documentation
5.206.1.1 overlap_save_filterbank_analytic_t()
MHAOvlFilter::overlap_save_filterbank_analytic_t::overlap_save_filterbank_analytic-
_t (
MHAOvlFilter::overlap_save_filterbank_t::vars_t &fbpar,
mhaconfig_t channelconfig_in )
5.206.2 Member Function Documentation
5.206.2.1 filter_analytic()
void MHAOvlFilter::overlap_save_filterbank_analytic_t::filter_analytic (
const mha_wave_t sIn,
mha_wave_t ∗∗ fltRe,
mha_wave_t ∗∗ fltIm )
5.206.3 Member Data Documentation
5.206.3.1 imagfb
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
© 2005-2018 HörTech gGmbH, Oldenburg
758 CONTENTS
5.207 MHAOvlFilter::overlap_save_filterbank_t Class Reference
A time-domain minimal phase filter bank with frequency shapes from MHAOvlFilter::fftfb_t
(p. 741).
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 &fb-
par, mhaconfig_t channelconfig_in)
mhaconfig_t get_channelconfig () const
Private Attributes
mhaconfig_t channelconfig_out_
© 2005-2018 HörTech gGmbH, Oldenburg
5.207 MHAOvlFilter::overlap_save_filterbank_t Class Reference 759
Additional Inherited Members
5.207.1 Detailed Description
A time-domain minimal phase filter bank with frequency shapes from MHAOvlFilter::fftfb_t
(p. 741).
5.207.2 Constructor & Destructor Documentation
5.207.2.1 overlap_save_filterbank_t()
MHAOvlFilter::overlap_save_filterbank_t::overlap_save_filterbank_t (
MHAOvlFilter::overlap_save_filterbank_t::vars_t &fbpar,
mhaconfig_t channelconfig_in )
5.207.3 Member Function Documentation
5.207.3.1 get_channelconfig()
mhaconfig_t MHAOvlFilter::overlap_save_filterbank_t::get_channelconfig ( ) const
[inline]
5.207.4 Member Data Documentation
5.207.4.1 channelconfig_out_
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
© 2005-2018 HörTech gGmbH, Oldenburg
760 CONTENTS
5.208 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)
Public Attributes
MHAParser::int_t fftlen
MHAParser::kw_t phasemodel
MHAParser::window_t irswnd
5.208.1 Constructor & Destructor Documentation
5.208.1.1 vars_t()
MHAOvlFilter::overlap_save_filterbank_t::vars_t::vars_t (
MHAParser::parser_t &p)
5.208.2 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.209 MHAOvlFilter::scale_var_t Class Reference 761
5.208.2.1 fftlen
MHAParser::int_t MHAOvlFilter::overlap_save_filterbank_t::vars_t::fftlen
5.208.2.2 phasemodel
MHAParser::kw_t MHAOvlFilter::overlap_save_filterbank_t::vars_t::phasemodel
5.208.2.3 irswnd
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
5.209 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
© 2005-2018 HörTech gGmbH, Oldenburg
762 CONTENTS
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
Additional Inherited Members
5.209.1 Constructor & Destructor Documentation
5.209.1.1 scale_var_t()
MHAOvlFilter::scale_var_t::scale_var_t (
const std::string & help )
5.209.2 Member Function Documentation
5.209.2.1 add_fun()
void MHAOvlFilter::scale_var_t::add_fun (
const std::string & name,
scale_fun_t fun )
5.209.2.2 get_name()
std::string MHAOvlFilter::scale_var_t::get_name ( ) const [inline]
© 2005-2018 HörTech gGmbH, Oldenburg
5.209 MHAOvlFilter::scale_var_t Class Reference 763
5.209.2.3 get_fun()
scale_fun_tMHAOvlFilter::scale_var_t::get_fun ( ) const [inline]
5.209.2.4 hz2unit()
mha_real_t MHAOvlFilter::scale_var_t::hz2unit (
mha_real_t x) const
5.209.2.5 unit2hz()
mha_real_t MHAOvlFilter::scale_var_t::unit2hz (
mha_real_t x) const
5.209.3 Member Data Documentation
5.209.3.1 names
std::vector<std::string>MHAOvlFilter::scale_var_t::names [private]
5.209.3.2 funs
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-2018 HörTech gGmbH, Oldenburg
764 CONTENTS
5.210 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::string_mon_t
MHAParser::variable_t
MHAParser::vcomplex
_mon_t
MHAParser::vfloat_mon_t
MHAParser::vint_mon_t
MHAParser::vstring
_mon_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_file_t
io_parser_t
io_tcp_parser_t
MHAFilter::adapt_filter_t
MHAFilter::iir_filter_t
MHAIOJack::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 >
MHAPlugin::plugin_t
< combc_t >
MHAPlugin::plugin_t
< db_t >
MHAPlugin::plugin_t
< dc_t >
MHAPlugin::plugin_t
< delaysum_t >
Classes
• class replace_t
© 2005-2018 HörTech gGmbH, Oldenburg
5.210 MHAParser::base_t Class Reference 765
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-2018 HörTech gGmbH, Oldenburg
766 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.210.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. 767)
method. Parser proxy derivatives which overwrite any of the other parse() (p. 767) methods to
be the key method must make sure that the original parse() (p. 767) method utilizes the new
key method.
© 2005-2018 HörTech gGmbH, Oldenburg
5.210 MHAParser::base_t Class Reference 767
5.210.2 Member Typedef Documentation
5.210.2.1 repl_list_t
typedef std::vector<replace_t>MHAParser::base_t::repl_list_t [private]
5.210.3 Constructor & Destructor Documentation
5.210.3.1 base_t() [1/2]
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.210.3.2 base_t() [2/2]
MHAParser::base_t::base_t (
const base_t &src )
5.210.3.3 base_t()
MHAParser::base_t::base_t ( ) [virtual]
5.210.4 Member Function Documentation
5.210.4.1 parse() [1/3]
std::string MHAParser::base_t::parse (
const std::string & cs ) [virtual]
Causes this node to process a command in the openMHA configuration language.
© 2005-2018 HörTech gGmbH, Oldenburg
768 CONTENTS
Parameters
cs The command to parse
Returns
The response to the command, if successful
Exceptions
MHA_Error (p. 522)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. 1079), and altplugs_t (p. 222).
5.210.4.2 parse() [2/3]
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. 767).
Parameters
cmd Command to be parsed
retv Buffer for the result
len Length of buffer
Reimplemented in altplugs_t (p. 222).
5.210.4.3 parse() [3/3]
void MHAParser::base_t::parse (
const std::vector<std::string >&cs,
std::vector<std::string >&retv ) [virtual]
© 2005-2018 HörTech gGmbH, Oldenburg
5.210 MHAParser::base_t Class Reference 769
5.210.4.4 op_subparse()
std::string MHAParser::base_t::op_subparse (
expression_t & ) [virtual]
Reimplemented in MHAParser::c_ifc_parser_t (p. 784), and MHAParser::parser_t (p. 836).
5.210.4.5 op_setval()
std::string MHAParser::base_t::op_setval (
expression_t & ) [virtual]
Reimplemented in MHAParser::mcomplex_t (p. 817), MHAParser::mfloat_t (p. 822),
MHAParser::vcomplex_t (p. 856), MHAParser::vfloat_t (p. 861), MHAParser::vint_-
t(p. 865), MHAParser::complex_t (p. 792), MHAParser::float_t (p. 799), MHAParser-
::int_t (p. 804), MHAParser::bool_t (p. 781), MHAParser::vstring_t (p. 870), MHA-
Parser::string_t (p. 848), MHAParser::kw_t (p. 812), MHAParser::variable_t (p. 850),
MHAParser::c_ifc_parser_t (p. 785), and MHAParser::parser_t (p. 836).
5.210.4.6 op_query()
std::string MHAParser::base_t::op_query (
expression_t & ) [virtual]
Reimplemented in MHAParser::monitor_t (p. 832), MHAParser::c_ifc_parser_t (p. 785),
and MHAParser::parser_t (p. 837).
5.210.4.7 query_dump()
std::string MHAParser::base_t::query_dump (
const std::string & s) [virtual]
Reimplemented in MHAParser::monitor_t (p. 832), and MHAParser::parser_t (p. 837).
5.210.4.8 query_entries()
std::string MHAParser::base_t::query_entries (
const std::string & s) [virtual]
Reimplemented in MHAParser::parser_t (p. 837).
© 2005-2018 HörTech gGmbH, Oldenburg
770 CONTENTS
5.210.4.9 query_perm()
std::string MHAParser::base_t::query_perm (
const std::string & s) [virtual]
Reimplemented in MHAParser::variable_t (p. 850), and MHAParser::monitor_t (p. 832).
5.210.4.10 query_range()
std::string MHAParser::base_t::query_range (
const std::string & s) [virtual]
Reimplemented in MHAParser::kw_t (p. 812), and MHAParser::range_var_t (p. 841).
5.210.4.11 query_type()
std::string MHAParser::base_t::query_type (
const std::string & s) [virtual]
Reimplemented in MHAParser::mcomplex_mon_t (p. 815), MHAParser::vcomplex_mon-
_t (p. 854), MHAParser::complex_mon_t (p. 790), MHAParser::float_mon_t (p. 797),
MHAParser::mfloat_mon_t (p. 820), MHAParser::vfloat_mon_t (p. 858), MHAParser-
::vint_mon_t (p. 863), MHAParser::vstring_mon_t (p. 868), MHAParser::string_mon-
_t (p. 846), MHAParser::bool_mon_t (p. 779), MHAParser::int_mon_t (p. 802), MH-
AParser::mcomplex_t (p. 817), MHAParser::mfloat_t (p. 822), MHAParser::vcomplex-
_t (p. 856), MHAParser::vfloat_t (p. 861), MHAParser::vint_t (p. 866), MHAParser-
::complex_t (p. 792), MHAParser::float_t (p. 799), MHAParser::int_t (p. 805), MHA-
Parser::bool_t (p. 782), MHAParser::vstring_t (p. 870), MHAParser::string_t (p. 848),
MHAParser::kw_t (p. 813), and MHAParser::parser_t (p. 837).
5.210.4.12 query_val()
std::string MHAParser::base_t::query_val (
const std::string & s) [virtual]
Reimplemented in MHAParser::mcomplex_mon_t (p. 815), MHAParser::vcomplex_mon-
_t (p. 854), MHAParser::complex_mon_t (p. 789), MHAParser::float_mon_t (p. 796),
MHAParser::mfloat_mon_t (p. 819), MHAParser::vfloat_mon_t (p. 858), MHAParser-
::vint_mon_t (p. 863), MHAParser::vstring_mon_t (p. 868), MHAParser::string_mon-
_t (p. 846), MHAParser::bool_mon_t (p. 779), MHAParser::int_mon_t (p. 802), MH-
AParser::mcomplex_t (p. 818), MHAParser::mfloat_t (p. 823), MHAParser::vcomplex-
_t (p. 856), MHAParser::vfloat_t (p. 861), MHAParser::vint_t (p. 866), MHAParser-
::complex_t (p. 792), MHAParser::float_t (p. 800), MHAParser::int_t (p. 805), MHA-
Parser::bool_t (p. 782), MHAParser::vstring_t (p. 870), MHAParser::string_t (p. 849),
MHAParser::kw_t (p. 813), and MHAParser::parser_t (p. 838).
© 2005-2018 HörTech gGmbH, Oldenburg
5.210 MHAParser::base_t Class Reference 771
5.210.4.13 query_readfile()
std::string MHAParser::base_t::query_readfile (
const std::string & s) [virtual]
Reimplemented in MHAParser::parser_t (p. 837).
5.210.4.14 query_savefile()
std::string MHAParser::base_t::query_savefile (
const std::string & s) [virtual]
Reimplemented in MHAParser::parser_t (p. 838).
5.210.4.15 query_savefile_compact()
std::string MHAParser::base_t::query_savefile_compact (
const std::string & s) [virtual]
Reimplemented in MHAParser::parser_t (p. 838).
5.210.4.16 query_savemons()
std::string MHAParser::base_t::query_savemons (
const std::string & s) [virtual]
Reimplemented in MHAParser::parser_t (p. 838).
5.210.4.17 query_listids()
std::string MHAParser::base_t::query_listids (
const std::string & s) [virtual]
Reimplemented in MHAParser::parser_t (p. 838).
© 2005-2018 HörTech gGmbH, Oldenburg
772 CONTENTS
5.210.4.18 query_version()
std::string MHAParser::base_t::query_version (
const std::string & )
5.210.4.19 query_id()
std::string MHAParser::base_t::query_id (
const std::string & )
5.210.4.20 query_subst()
std::string MHAParser::base_t::query_subst (
const std::string & s)
5.210.4.21 query_addsubst()
std::string MHAParser::base_t::query_addsubst (
const std::string & s)
5.210.4.22 query_help()
std::string MHAParser::base_t::query_help (
const std::string & s)
5.210.4.23 query_cmds()
std::string MHAParser::base_t::query_cmds (
const std::string & s)
5.210.4.24 set_node_id()
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-2018 HörTech gGmbH, Oldenburg
5.210 MHAParser::base_t Class Reference 773
Parameters
sThe new identification string.
5.210.4.25 set_help()
void MHAParser::base_t::set_help (
const std::string & s)
Set the help comment of a variable or parser.
Parameters
sNew help comment.
5.210.4.26 add_parent_on_insert()
void MHAParser::base_t::add_parent_on_insert (
parser_t p,
std::string n)
5.210.4.27 rm_parent_on_remove()
void MHAParser::base_t::rm_parent_on_remove (
parser_t )
5.210.4.28 fullname()
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.210.4.29 activate_query()
void MHAParser::base_t::activate_query (
const std::string & n,
query_t a) [protected]
© 2005-2018 HörTech gGmbH, Oldenburg
774 CONTENTS
5.210.4.30 notify()
void MHAParser::base_t::notify ( ) [protected]
5.210.4.31 add_replace_pair()
void MHAParser::base_t::add_replace_pair (
const std::string & a,
const std::string & b) [private]
5.210.4.32 oplist()
std::string MHAParser::base_t::oplist ( ) [private]
5.210.5 Member Data Documentation
5.210.5.1 writeaccess
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.
5.210.5.2 valuechanged
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.210 MHAParser::base_t Class Reference 775
5.210.5.3 readaccess
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.210.5.4 prereadaccess
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.210.5.5 queries
query_map_t MHAParser::base_t::queries [protected]
5.210.5.6 data_is_initialized
bool MHAParser::base_t::data_is_initialized [protected]
5.210.5.7 help
std::string MHAParser::base_t::help [private]
5.210.5.8 id_str
std::string MHAParser::base_t::id_str [private]
© 2005-2018 HörTech gGmbH, Oldenburg
776 CONTENTS
5.210.5.9 operators
opact_map_t MHAParser::base_t::operators [private]
5.210.5.10 repl_list
repl_list_t MHAParser::base_t::repl_list [private]
5.210.5.11 nested_lock
bool MHAParser::base_t::nested_lock [private]
5.210.5.12 parent
parser_tMHAParser::base_t::parent [private]
5.210.5.13 thefullname
std::string MHAParser::base_t::thefullname [private]
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.211 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
© 2005-2018 HörTech gGmbH, Oldenburg
5.211 MHAParser::base_t::replace_t Class Reference 777
5.211.1 Constructor & Destructor Documentation
5.211.1.1 replace_t()
MHAParser::base_t::replace_t::replace_t (
const std::string & ia,
const std::string & ib )
5.211.2 Member Function Documentation
5.211.2.1 replace()
void MHAParser::base_t::replace_t::replace (
std::string & s)
5.211.2.2 get_a()
const std::string& MHAParser::base_t::replace_t::get_a ( ) const [inline]
5.211.2.3 get_b()
const std::string& MHAParser::base_t::replace_t::get_b ( ) const [inline]
5.211.3 Member Data Documentation
5.211.3.1 a
std::string MHAParser::base_t::replace_t::a [private]
© 2005-2018 HörTech gGmbH, Oldenburg
778 CONTENTS
5.211.3.2 b
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
5.212 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 &)
© 2005-2018 HörTech gGmbH, Oldenburg
5.212 MHAParser::bool_mon_t Class Reference 779
Additional Inherited Members
5.212.1 Detailed Description
Monitor with string value.
5.212.2 Constructor & Destructor Documentation
5.212.2.1 bool_mon_t()
MHAParser::bool_mon_t::bool_mon_t (
const std::string & hlp )
Create a monitor variable for string values.
Parameters
hlp A help text describing this monitor variable.
5.212.3 Member Function Documentation
5.212.3.1 query_val()
std::string MHAParser::bool_mon_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.212.3.2 query_type()
std::string MHAParser::bool_mon_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
© 2005-2018 HörTech gGmbH, Oldenburg
780 CONTENTS
5.212.4 Member Data Documentation
5.212.4.1 data
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.213 MHAParser::bool_t Class Reference
Variable with a boolean value ("yes"/"no")
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.213 MHAParser::bool_t Class Reference 781
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.213.1 Detailed Description
Variable with a boolean value ("yes"/"no")
5.213.2 Constructor & Destructor Documentation
5.213.2.1 bool_t()
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.213.3 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
782 CONTENTS
5.213.3.1 op_setval()
std::string MHAParser::bool_t::op_setval (
expression_t &x) [protected], [virtual]
Reimplemented from MHAParser::variable_t (p. 850).
5.213.3.2 query_type()
std::string MHAParser::bool_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.213.3.3 query_val()
std::string MHAParser::bool_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.213.4 Member Data Documentation
5.213.4.1 data
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-2018 HörTech gGmbH, Oldenburg
5.214 MHAParser::c_ifc_parser_t Class Reference 783
5.214 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-2018 HörTech gGmbH, Oldenburg
784 CONTENTS
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.214.1 Constructor & Destructor Documentation
5.214.1.1 c_ifc_parser_t()
MHAParser::c_ifc_parser_t::c_ifc_parser_t (
const std::string & modulename_ )
5.214.1.2 c_ifc_parser_t()
MHAParser::c_ifc_parser_t::c_ifc_parser_t ( )
5.214.2 Member Function Documentation
5.214.2.1 set_parse_cb()
void MHAParser::c_ifc_parser_t::set_parse_cb (
MHAParser::c_parse_cmd_t cb,
MHAParser::c_parse_err_t strerr,
void d)
© 2005-2018 HörTech gGmbH, Oldenburg
5.214 MHAParser::c_ifc_parser_t Class Reference 785
5.214.2.2 op_subparse()
std::string MHAParser::c_ifc_parser_t::op_subparse (
MHAParser::expression_t &x) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 768).
5.214.2.3 op_setval()
std::string MHAParser::c_ifc_parser_t::op_setval (
MHAParser::expression_t &x) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 769).
5.214.2.4 op_query()
std::string MHAParser::c_ifc_parser_t::op_query (
MHAParser::expression_t &x) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 769).
5.214.2.5 test_error()
void MHAParser::c_ifc_parser_t::test_error ( ) [private]
5.214.3 Member Data Documentation
5.214.3.1 modulename
std::string MHAParser::c_ifc_parser_t::modulename [private]
5.214.3.2 c_parse_cmd
c_parse_cmd_t MHAParser::c_ifc_parser_t::c_parse_cmd [private]
© 2005-2018 HörTech gGmbH, Oldenburg
786 CONTENTS
5.214.3.3 c_parse_err
c_parse_err_t MHAParser::c_ifc_parser_t::c_parse_err [private]
5.214.3.4 liberr
int MHAParser::c_ifc_parser_t::liberr [private]
5.214.3.5 libdata
voidMHAParser::c_ifc_parser_t::libdata [private]
5.214.3.6 ret_size
unsigned int MHAParser::c_ifc_parser_t::ret_size [private]
5.214.3.7 retv
charMHAParser::c_ifc_parser_t::retv [private]
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
5.215 MHAParser::commit_t<receiver_t >Class Template
Reference 787
5.215 MHAParser::commit_t<receiver_t >Class Template Reference
Parser variable with event-emission functionality.
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.215.1 Detailed Description
template<class receiver_t>
class MHAParser::commit_t<receiver_t >
Parser variable with event-emission functionality.
The commit_t (p. 787) variable can register an event receiver in its constructor, which is called
whenever the variable is set to "commit".
© 2005-2018 HörTech gGmbH, Oldenburg
788 CONTENTS
5.215.2 Constructor & Destructor Documentation
5.215.2.1 commit_t()
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.215.3 Member Data Documentation
5.215.3.1 extern_connector
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.216 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
© 2005-2018 HörTech gGmbH, Oldenburg
5.216 MHAParser::complex_mon_t Class Reference 789
Public Member Functions
complex_mon_t (const std::string &hlp)
Create a complex monitor variable.
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.216.1 Detailed Description
Monitor with complex value.
5.216.2 Constructor & Destructor Documentation
5.216.2.1 complex_mon_t()
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.216.3 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
790 CONTENTS
5.216.3.1 query_val()
std::string MHAParser::complex_mon_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.216.3.2 query_type()
std::string MHAParser::complex_mon_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.216.4 Member Data Documentation
5.216.4.1 data
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.217 MHAParser::complex_t Class Reference
Variable with complex value.
© 2005-2018 HörTech gGmbH, Oldenburg
5.217 MHAParser::complex_t Class Reference 791
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 &="")
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.217.1 Detailed Description
Variable with complex value.
© 2005-2018 HörTech gGmbH, Oldenburg
792 CONTENTS
5.217.2 Constructor & Destructor Documentation
5.217.2.1 complex_t()
MHAParser::complex_t::complex_t (
const std::string & h,
const std::string & v,
const std::string & rg = "" )
5.217.3 Member Function Documentation
5.217.3.1 op_setval()
std::string MHAParser::complex_t::op_setval (
expression_t &x) [protected], [virtual]
Reimplemented from MHAParser::variable_t (p. 850).
5.217.3.2 query_type()
std::string MHAParser::complex_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.217.3.3 query_val()
std::string MHAParser::complex_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.217.4 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.218 MHAParser::entry_t Class Reference 793
5.217.4.1 data
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.218 MHAParser::entry_t Class Reference
Public Member Functions
entry_t (const std::string &, base_t )
Public Attributes
• std::string name
base_t entry
5.218.1 Constructor & Destructor Documentation
5.218.1.1 entry_t()
MHAParser::entry_t::entry_t (
const std::string & n,
base_t e)
5.218.2 Member Data Documentation
5.218.2.1 name
std::string MHAParser::entry_t::name
© 2005-2018 HörTech gGmbH, Oldenburg
794 CONTENTS
5.218.2.2 entry
base_tMHAParser::entry_t::entry
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.219 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.219.1 Constructor & Destructor Documentation
5.219.1.1 expression_t() [1/2]
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)
© 2005-2018 HörTech gGmbH, Oldenburg
5.220 MHAParser::float_mon_t Class Reference 795
5.219.1.2 expression_t() [2/2]
expression_t::expression_t ( )
5.219.2 Member Data Documentation
5.219.2.1 lval
std::string MHAParser::expression_t::lval
5.219.2.2 rval
std::string MHAParser::expression_t::rval
5.219.2.3 op
std::string MHAParser::expression_t::op
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.220 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
© 2005-2018 HörTech gGmbH, Oldenburg
796 CONTENTS
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.220.1 Detailed Description
Monitor with float value.
5.220.2 Constructor & Destructor Documentation
5.220.2.1 float_mon_t()
MHAParser::float_mon_t::float_mon_t (
const std::string & hlp )
Initialize a floating point (32 bits) monitor variable.
Parameters
hlp A help text describing this monitor variable.
5.220.3 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.221 MHAParser::float_t Class Reference 797
5.220.3.1 query_val()
std::string MHAParser::float_mon_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.220.3.2 query_type()
std::string MHAParser::float_mon_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.220.4 Member Data Documentation
5.220.4.1 data
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.221 MHAParser::float_t Class Reference
Variable with float value.
© 2005-2018 HörTech gGmbH, Oldenburg
798 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-2018 HörTech gGmbH, Oldenburg
5.221 MHAParser::float_t Class Reference 799
Additional Inherited Members
5.221.1 Detailed Description
Variable with float value.
5.221.2 Constructor & Destructor Documentation
5.221.2.1 float_t()
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.221.3 Member Function Documentation
5.221.3.1 op_setval()
std::string MHAParser::float_t::op_setval (
expression_t &x) [protected], [virtual]
Reimplemented from MHAParser::variable_t (p. 850).
© 2005-2018 HörTech gGmbH, Oldenburg
800 CONTENTS
5.221.3.2 query_type()
std::string MHAParser::float_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.221.3.3 query_val()
std::string MHAParser::float_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.221.4 Member Data Documentation
5.221.4.1 data
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.222 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
© 2005-2018 HörTech gGmbH, Oldenburg
5.222 MHAParser::int_mon_t Class Reference 801
Public Member Functions
int_mon_t (const std::string &hlp)
Create a monitor variable for integral values.
Public Attributes
• 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.222.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.222.2 Constructor & Destructor Documentation
5.222.2.1 int_mon_t()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
802 CONTENTS
5.222.3 Member Function Documentation
5.222.3.1 query_val()
std::string MHAParser::int_mon_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.222.3.2 query_type()
std::string MHAParser::int_mon_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.222.4 Member Data Documentation
5.222.4.1 data
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.223 MHAParser::int_t Class Reference 803
5.223 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
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.
© 2005-2018 HörTech gGmbH, Oldenburg
804 CONTENTS
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.223.1 Detailed Description
Variable with integer value.
5.223.2 Constructor & Destructor Documentation
5.223.2.1 int_t()
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]).
5.223.3 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.224 MHAParser::keyword_list_t Class Reference 805
5.223.3.1 op_setval()
std::string MHAParser::int_t::op_setval (
expression_t &x) [protected], [virtual]
Reimplemented from MHAParser::variable_t (p. 850).
5.223.3.2 query_type()
std::string MHAParser::int_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.223.3.3 query_val()
std::string MHAParser::int_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.223.4 Member Data Documentation
5.223.4.1 data
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.224 MHAParser::keyword_list_t Class Reference
Keyword list class.
© 2005-2018 HörTech gGmbH, Oldenburg
806 CONTENTS
Public Types
typedef std::vector<std::string >::size_type size_t
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.224.1 Detailed Description
Keyword list class.
The stucture keyword_list_t (p. 805) defines a keyword list (vector of strings) with an index into
the list. Used as MHAParser::kw_t (p. 810), it can be used to access a set of valid keywords
through the parser (i.e. one of "pear apple banana").
5.224.2 Member Typedef Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.224 MHAParser::keyword_list_t Class Reference 807
5.224.2.1 size_t
typedef std::vector<std::string>::size_type MHAParser::keyword_list_t::size_t
5.224.3 Constructor & Destructor Documentation
5.224.3.1 keyword_list_t()
MHAParser::keyword_list_t::keyword_list_t ( )
Constructor.
5.224.4 Member Function Documentation
5.224.4.1 set_value()
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.224.4.2 set_entries()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
808 CONTENTS
Parameters
sSpace separated entry list.
5.224.4.3 get_value()
const std::string & MHAParser::keyword_list_t::get_value ( ) const
Return selected value.
5.224.4.4 get_entries()
const std::vector<std::string >& MHAParser::keyword_list_t::get_entries ( ) const
Return keyword list.
5.224.4.5 get_index()
const MHAParser::keyword_list_t::size_t & MHAParser::keyword_list_t::get_index ( )
const
Return index of selected value.
5.224.4.6 set_index()
void MHAParser::keyword_list_t::set_index (
unsigned int idx )
5.224.4.7 validate()
void MHAParser::keyword_list_t::validate ( ) const
Check if index of selected value is valid.
© 2005-2018 HörTech gGmbH, Oldenburg
5.224 MHAParser::keyword_list_t Class Reference 809
5.224.4.8 add_entry()
void MHAParser::keyword_list_t::add_entry (
const std::string & en ) [inline]
5.224.5 Member Data Documentation
5.224.5.1 index
size_t MHAParser::keyword_list_t::index [private]
Index into list.
5.224.5.2 entries
std::vector<std::string>MHAParser::keyword_list_t::entries [private]
List of valid entries.
5.224.5.3 empty_string
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
© 2005-2018 HörTech gGmbH, Oldenburg
810 CONTENTS
5.225 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
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.225 MHAParser::kw_t Class Reference 811
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.225.1 Detailed Description
Variable with keyword list value.
5.225.2 Constructor & Destructor Documentation
5.225.2.1 kw_t() [1/2]
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 "[", "]".
5.225.2.2 kw_t() [2/2]
MHAParser::kw_t::kw_t (
const kw_t &src )
Copy constructor.
© 2005-2018 HörTech gGmbH, Oldenburg
812 CONTENTS
5.225.3 Member Function Documentation
5.225.3.1 set_range()
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.225.3.2 isval()
bool MHAParser::kw_t::isval (
const std::string & testval ) const
Test if the given value is selected.
5.225.3.3 validate()
void MHAParser::kw_t::validate (
const keyword_list_t &s) [protected]
5.225.3.4 op_setval()
std::string MHAParser::kw_t::op_setval (
expression_t &x) [protected], [virtual]
Reimplemented from MHAParser::variable_t (p. 850).
© 2005-2018 HörTech gGmbH, Oldenburg
5.225 MHAParser::kw_t Class Reference 813
5.225.3.5 query_range()
std::string MHAParser::kw_t::query_range (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.225.3.6 query_val()
std::string MHAParser::kw_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.225.3.7 query_type()
std::string MHAParser::kw_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.225.4 Member Data Documentation
5.225.4.1 data
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
© 2005-2018 HörTech gGmbH, Oldenburg
814 CONTENTS
5.226 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.
Protected Member Functions
• std::string query_val (const std::string &)
• std::string query_type (const std::string &)
Additional Inherited Members
5.226.1 Detailed Description
Matrix of complex numbers monitor.
© 2005-2018 HörTech gGmbH, Oldenburg
5.226 MHAParser::mcomplex_mon_t Class Reference 815
5.226.2 Constructor & Destructor Documentation
5.226.2.1 mcomplex_mon_t()
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.226.3 Member Function Documentation
5.226.3.1 query_val()
std::string MHAParser::mcomplex_mon_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.226.3.2 query_type()
std::string MHAParser::mcomplex_mon_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.226.4 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
816 CONTENTS
5.226.4.1 data
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
5.227 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 &="")
© 2005-2018 HörTech gGmbH, Oldenburg
5.227 MHAParser::mcomplex_t Class Reference 817
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 &)
Additional Inherited Members
5.227.1 Detailed Description
Matrix variable with complex value.
5.227.2 Constructor & Destructor Documentation
5.227.2.1 mcomplex_t()
MHAParser::mcomplex_t::mcomplex_t (
const std::string & h,
const std::string & v,
const std::string & rg = "" )
5.227.3 Member Function Documentation
5.227.3.1 op_setval()
std::string MHAParser::mcomplex_t::op_setval (
expression_t &x) [protected], [virtual]
Reimplemented from MHAParser::variable_t (p. 850).
© 2005-2018 HörTech gGmbH, Oldenburg
818 CONTENTS
5.227.3.2 query_type()
std::string MHAParser::mcomplex_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.227.3.3 query_val()
std::string MHAParser::mcomplex_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.227.4 Member Data Documentation
5.227.4.1 data
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
5.228 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
© 2005-2018 HörTech gGmbH, Oldenburg
5.228 MHAParser::mfloat_mon_t Class Reference 819
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.228.1 Detailed Description
Matrix of floats monitor.
5.228.2 Constructor & Destructor Documentation
5.228.2.1 mfloat_mon_t()
MHAParser::mfloat_mon_t::mfloat_mon_t (
const std::string & hlp )
Create a matrix of floating point monitor values.
Parameters
hlp A help text describing this monitor variable.
5.228.3 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
820 CONTENTS
5.228.3.1 query_val()
std::string MHAParser::mfloat_mon_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.228.3.2 query_type()
std::string MHAParser::mfloat_mon_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.228.4 Member Data Documentation
5.228.4.1 data
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.229 MHAParser::mfloat_t Class Reference
Matrix variable with float value.
© 2005-2018 HörTech gGmbH, Oldenburg
5.229 MHAParser::mfloat_t Class Reference 821
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-2018 HörTech gGmbH, Oldenburg
822 CONTENTS
Additional Inherited Members
5.229.1 Detailed Description
Matrix variable with float value.
5.229.2 Constructor & Destructor Documentation
5.229.2.1 mfloat_t()
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.229.3 Member Function Documentation
5.229.3.1 op_setval()
std::string MHAParser::mfloat_t::op_setval (
expression_t &x) [protected], [virtual]
Reimplemented from MHAParser::variable_t (p. 850).
© 2005-2018 HörTech gGmbH, Oldenburg
5.230 MHAParser::mhaconfig_mon_t Class Reference 823
5.229.3.2 query_type()
std::string MHAParser::mfloat_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.229.3.3 query_val()
std::string MHAParser::mfloat_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.229.4 Member Data Documentation
5.229.4.1 data
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.230 MHAParser::mhaconfig_mon_t Class Reference
Inheritance diagram for MHAParser::mhaconfig_mon_t:
MHAParser::mhaconfig
_mon_t
MHAParser::parser_t
MHAParser::base_t
© 2005-2018 HörTech gGmbH, Oldenburg
824 CONTENTS
Public Member Functions
mhaconfig_mon_t (const std::string & help="")
• void update (const mhaconfig_t &cf)
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.230.1 Constructor & Destructor Documentation
5.230.1.1 mhaconfig_mon_t()
MHAParser::mhaconfig_mon_t::mhaconfig_mon_t (
const std::string & help = "" )
5.230.2 Member Function Documentation
5.230.2.1 update()
void MHAParser::mhaconfig_mon_t::update (
const mhaconfig_t &cf )
© 2005-2018 HörTech gGmbH, Oldenburg
5.230 MHAParser::mhaconfig_mon_t Class Reference 825
5.230.3 Member Data Documentation
5.230.3.1 channels
MHAParser::int_mon_t MHAParser::mhaconfig_mon_t::channels [private]
Number of audio channels.
5.230.3.2 domain
MHAParser::string_mon_t MHAParser::mhaconfig_mon_t::domain [private]
Signal domain (MHA_WAVEFORM or MHA_SPECTRUM)
5.230.3.3 fragsize
MHAParser::int_mon_t MHAParser::mhaconfig_mon_t::fragsize [private]
Fragment size of waveform data.
5.230.3.4 wndlen
MHAParser::int_mon_t MHAParser::mhaconfig_mon_t::wndlen [private]
Window length of spectral data.
5.230.3.5 fftlen
MHAParser::int_mon_t MHAParser::mhaconfig_mon_t::fftlen [private]
FFT length of spectral data.
© 2005-2018 HörTech gGmbH, Oldenburg
826 CONTENTS
5.230.3.6 srate
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.231 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-2018 HörTech gGmbH, Oldenburg
5.231 MHAParser::mhapluginloader_t Class Reference 827
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.231.1 Detailed Description
Class to create a plugin loader in a parser, including the load logic.
5.231.2 Constructor & Destructor Documentation
5.231.2.1 mhapluginloader_t()
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.231.2.2 mhapluginloader_t()
MHAParser::mhapluginloader_t::mhapluginloader_t ( )
5.231.3 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
828 CONTENTS
5.231.3.1 prepare()
void MHAParser::mhapluginloader_t::prepare (
mhaconfig_t &cf )
5.231.3.2 release()
void MHAParser::mhapluginloader_t::release ( )
5.231.3.3 process() [1/4]
void MHAParser::mhapluginloader_t::process (
mha_wave_t sIn,
mha_wave_t ∗∗ sOut ) [inline]
5.231.3.4 process() [2/4]
void MHAParser::mhapluginloader_t::process (
mha_spec_t sIn,
mha_spec_t ∗∗ sOut ) [inline]
5.231.3.5 process() [3/4]
void MHAParser::mhapluginloader_t::process (
mha_wave_t sIn,
mha_spec_t ∗∗ sOut ) [inline]
5.231.3.6 process() [4/4]
void MHAParser::mhapluginloader_t::process (
mha_spec_t sIn,
mha_wave_t ∗∗ sOut ) [inline]
© 2005-2018 HörTech gGmbH, Oldenburg
5.231 MHAParser::mhapluginloader_t Class Reference 829
5.231.3.7 get_cfin()
mhaconfig_t MHAParser::mhapluginloader_t::get_cfin ( ) const [inline]
5.231.3.8 get_cfout()
mhaconfig_t MHAParser::mhapluginloader_t::get_cfout ( ) const [inline]
5.231.3.9 get_last_name()
const std::string& MHAParser::mhapluginloader_t::get_last_name ( ) const [inline]
5.231.3.10 load_plug()
void MHAParser::mhapluginloader_t::load_plug ( ) [private]
5.231.4 Member Data Documentation
5.231.4.1 plug
PluginLoader::mhapluginloader_tMHAParser::mhapluginloader_t::plug [protected]
5.231.4.2 parent_
MHAParser::parser_t& MHAParser::mhapluginloader_t::parent_ [private]
5.231.4.3 plugname
MHAParser::string_t MHAParser::mhapluginloader_t::plugname [private]
© 2005-2018 HörTech gGmbH, Oldenburg
830 CONTENTS
5.231.4.4 prefix_
std::string MHAParser::mhapluginloader_t::prefix_ [private]
5.231.4.5 connector
MHAEvents::connector_t<mhapluginloader_t>MHAParser::mhapluginloader_t::connector
[private]
5.231.4.6 ac_
algo_comm_t MHAParser::mhapluginloader_t::ac_ [private]
5.231.4.7 last_name
std::string MHAParser::mhapluginloader_t::last_name [private]
5.231.4.8 plugname_name_
std::string MHAParser::mhapluginloader_t::plugname_name_ [private]
5.231.4.9 cf_in_
mhaconfig_t MHAParser::mhapluginloader_t::cf_in_ [private]
5.231.4.10 cf_out_
mhaconfig_t MHAParser::mhapluginloader_t::cf_out_ [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.232 MHAParser::monitor_t Class Reference 831
5.231.4.11 bookkeeping
double MHAParser::mhapluginloader_t::bookkeeping [static], [private]
The documentation for this class was generated from the following files:
mhapluginloader.h
mhapluginloader.cpp
5.232 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::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
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.232.1 Detailed Description
Base class for monitors and variable nodes.
© 2005-2018 HörTech gGmbH, Oldenburg
832 CONTENTS
5.232.2 Constructor & Destructor Documentation
5.232.2.1 monitor_t() [1/2]
MHAParser::monitor_t::monitor_t (
const std::string & h)
5.232.2.2 monitor_t() [2/2]
MHAParser::monitor_t::monitor_t (
const monitor_t &src )
5.232.3 Member Function Documentation
5.232.3.1 op_query()
std::string MHAParser::monitor_t::op_query (
expression_t &x) [virtual]
Reimplemented from MHAParser::base_t (p. 769).
5.232.3.2 query_dump()
std::string MHAParser::monitor_t::query_dump (
const std::string & s) [virtual]
Reimplemented from MHAParser::base_t (p. 769).
5.232.3.3 query_perm()
std::string MHAParser::monitor_t::query_perm (
const std::string & s) [virtual]
Reimplemented from MHAParser::base_t (p. 769).
Reimplemented in MHAParser::variable_t (p. 850).
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
5.233 MHAParser::parser_t Class Reference 833
5.233 MHAParser::parser_t Class Reference
Parser node class.
Inherits MHAParser::base_t.
Inherited by AuditoryProfile::parser_t,AuditoryProfile::parser_t::ear_t,Auditory-
Profile::parser_t::fmap_t,dc::wideband_inhib_vars_t,DynComp::dc_afterburn_vars-
_t,fw_t,io_file_t,io_parser_t,io_tcp_parser_t,MHAFilter::adapt_filter_t,MH-
AFilter::iir_filter_t,MHAIOJack::io_jack_t,MHAIOPortAudio::device_info_t,MHAIO-
PortAudio::io_portaudio_t,MHAParser::mhaconfig_mon_t,MHAParser::window_t,M-
HAPlugin::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 >,M-
HAPlugin::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 >,MHAPlugin::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<float >,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 >,MH-
APlugin::plugin_t<overlapadd_t >,MHAPlugin::plugin_t<prediction_error_config >,
MHAPlugin::plugin_t<resampling_t >,MHAPlugin::plugin_t<rmslevel_t >,MHA-
Plugin::plugin_t<route::process_t >,MHAPlugin::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<timo-
Config >,MHAPlugin::plugin_t<wave2spec_t >,MHAPlugin::plugin_t<wavwriter_t >,
and softclipper_variables_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-2018 HörTech gGmbH, Oldenburg
834 CONTENTS
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.233.1 Detailed Description
Parser node class.
Aparser_t (p. 833) instance is a node in the configuration tree. A parser node can contain any
number of other parser_t (p. 833) instances or configuration language variables. These items
are inserted into a parser node using the parser_t::insert_item (p. 835) method.
5.233.2 Constructor & Destructor Documentation
5.233.2.1 parser_t()
MHAParser::parser_t::parser_t (
const std::string & help_text = "" )
Construct detached node to be used in the configuration tree.
© 2005-2018 HörTech gGmbH, Oldenburg
5.233 MHAParser::parser_t Class Reference 835
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.233.2.2 parser_t()
MHAParser::parser_t::parser_t ( )
5.233.3 Member Function Documentation
5.233.3.1 insert_item()
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.233.3.2 remove_item() [1/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.
© 2005-2018 HörTech gGmbH, Oldenburg
836 CONTENTS
Parameters
nName of parser item to be removed from list.
5.233.3.3 force_remove_item()
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.
5.233.3.4 remove_item() [2/2]
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.233.3.5 op_subparse()
std::string MHAParser::parser_t::op_subparse (
expression_t &x) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 768).
© 2005-2018 HörTech gGmbH, Oldenburg
5.233 MHAParser::parser_t Class Reference 837
5.233.3.6 op_setval()
std::string MHAParser::parser_t::op_setval (
expression_t &x) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 769).
5.233.3.7 op_query()
std::string MHAParser::parser_t::op_query (
expression_t &x) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 769).
5.233.3.8 query_type()
std::string MHAParser::parser_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.233.3.9 query_dump()
std::string MHAParser::parser_t::query_dump (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 769).
5.233.3.10 query_entries()
std::string MHAParser::parser_t::query_entries (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 769).
© 2005-2018 HörTech gGmbH, Oldenburg
838 CONTENTS
5.233.3.11 query_readfile()
std::string MHAParser::parser_t::query_readfile (
const std::string & fname ) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.233.3.12 query_savefile()
std::string MHAParser::parser_t::query_savefile (
const std::string & fname ) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 771).
5.233.3.13 query_savefile_compact()
std::string MHAParser::parser_t::query_savefile_compact (
const std::string & fname ) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 771).
5.233.3.14 query_savemons()
std::string MHAParser::parser_t::query_savemons (
const std::string & fname ) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 771).
5.233.3.15 query_val()
std::string MHAParser::parser_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
© 2005-2018 HörTech gGmbH, Oldenburg
5.233 MHAParser::parser_t Class Reference 839
5.233.3.16 query_listids()
std::string MHAParser::parser_t::query_listids (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 771).
5.233.3.17 set_id_string()
void MHAParser::parser_t::set_id_string (
const std::string & s) [protected]
5.233.4 Member Data Documentation
5.233.4.1 entries
entry_map_t MHAParser::parser_t::entries [private]
5.233.4.2 id_string
std::string MHAParser::parser_t::id_string [private]
identification string
5.233.4.3 srcfile
std::string MHAParser::parser_t::srcfile [private]
5.233.4.4 srcline
unsigned int MHAParser::parser_t::srcline [private]
© 2005-2018 HörTech gGmbH, Oldenburg
840 CONTENTS
5.233.4.5 last_errormsg
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
5.234 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 > > &)
© 2005-2018 HörTech gGmbH, Oldenburg
5.234 MHAParser::range_var_t Class Reference 841
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.
Additional Inherited Members
5.234.1 Detailed Description
Base class for all variables with a numeric value range.
5.234.2 Constructor & Destructor Documentation
5.234.2.1 range_var_t() [1/2]
MHAParser::range_var_t::range_var_t (
const std::string & h,
const std::string & r = "" )
5.234.2.2 range_var_t() [2/2]
MHAParser::range_var_t::range_var_t (
const range_var_t &src )
5.234.3 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
842 CONTENTS
5.234.3.1 query_range()
std::string MHAParser::range_var_t::query_range (
const std::string & s) [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.234.3.2 set_range()
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.234.3.3 validate() [1/8]
void MHAParser::range_var_t::validate (
const int & v)
5.234.3.4 validate() [2/8]
void MHAParser::range_var_t::validate (
const float & v)
5.234.3.5 validate() [3/8]
void MHAParser::range_var_t::validate (
const mha_complex_t &v)
5.234.3.6 validate() [4/8]
void MHAParser::range_var_t::validate (
const std::vector<int >&v)
© 2005-2018 HörTech gGmbH, Oldenburg
5.234 MHAParser::range_var_t Class Reference 843
5.234.3.7 validate() [5/8]
void MHAParser::range_var_t::validate (
const std::vector<float >&v)
5.234.3.8 validate() [6/8]
void MHAParser::range_var_t::validate (
const std::vector<mha_complex_t >&v)
5.234.3.9 validate() [7/8]
void MHAParser::range_var_t::validate (
const std::vector<std::vector<float > > &v)
5.234.3.10 validate() [8/8]
void MHAParser::range_var_t::validate (
const std::vector<std::vector<mha_complex_t > > &v)
5.234.4 Member Data Documentation
5.234.4.1 low_limit
float MHAParser::range_var_t::low_limit [protected]
Lower limit of range.
5.234.4.2 up_limit
float MHAParser::range_var_t::up_limit [protected]
Upper limit of range.
© 2005-2018 HörTech gGmbH, Oldenburg
844 CONTENTS
5.234.4.3 low_incl
bool MHAParser::range_var_t::low_incl [protected]
Lower limit is included (or excluded) in range.
5.234.4.4 up_incl
bool MHAParser::range_var_t::up_incl [protected]
Upper limit is included (or excluded) in range.
5.234.4.5 check_low
bool MHAParser::range_var_t::check_low [protected]
Check lower limit.
5.234.4.6 check_up
bool MHAParser::range_var_t::check_up [protected]
Check upper limit.
5.234.4.7 check_range
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-2018 HörTech gGmbH, Oldenburg
5.235 MHAParser::string_mon_t Class Reference 845
5.235 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.235.1 Detailed Description
Monitor with string value.
© 2005-2018 HörTech gGmbH, Oldenburg
846 CONTENTS
5.235.2 Constructor & Destructor Documentation
5.235.2.1 string_mon_t()
MHAParser::string_mon_t::string_mon_t (
const std::string & hlp )
Create a monitor variable for string values.
Parameters
hlp A help text describing this monitor variable.
5.235.3 Member Function Documentation
5.235.3.1 query_val()
std::string MHAParser::string_mon_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.235.3.2 query_type()
std::string MHAParser::string_mon_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.235.4 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.236 MHAParser::string_t Class Reference 847
5.235.4.1 data
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.236 MHAParser::string_t Class Reference
Variable with a string value.
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.
© 2005-2018 HörTech gGmbH, Oldenburg
848 CONTENTS
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.236.1 Detailed Description
Variable with a string value.
5.236.2 Constructor & Destructor Documentation
5.236.2.1 string_t()
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.236.3 Member Function Documentation
5.236.3.1 op_setval()
std::string MHAParser::string_t::op_setval (
expression_t &x) [protected], [virtual]
Reimplemented from MHAParser::variable_t (p. 850).
© 2005-2018 HörTech gGmbH, Oldenburg
5.237 MHAParser::variable_t Class Reference 849
5.236.3.2 query_type()
std::string MHAParser::string_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.236.3.3 query_val()
std::string MHAParser::string_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.236.4 Member Data Documentation
5.236.4.1 data
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
5.237 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
© 2005-2018 HörTech gGmbH, Oldenburg
850 CONTENTS
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.237.1 Detailed Description
Base class for variable nodes.
5.237.2 Constructor & Destructor Documentation
5.237.2.1 variable_t()
MHAParser::variable_t::variable_t (
const std::string & h)
5.237.3 Member Function Documentation
5.237.3.1 op_setval()
std::string MHAParser::variable_t::op_setval (
expression_t &x) [virtual]
Reimplemented from MHAParser::base_t (p. 769).
Reimplemented in MHAParser::mcomplex_t (p. 817), MHAParser::mfloat_t (p. 822),
MHAParser::vcomplex_t (p. 856), MHAParser::vfloat_t (p. 861), MHAParser::vint_-
t(p. 865), MHAParser::complex_t (p. 792), MHAParser::float_t (p. 799), MHAParser-
::int_t (p. 804), MHAParser::bool_t (p. 781), MHAParser::vstring_t (p. 870), MHA-
Parser::string_t (p. 848), and MHAParser::kw_t (p. 812).
© 2005-2018 HörTech gGmbH, Oldenburg
5.238 MHAParser::vcomplex_mon_t Class Reference 851
5.237.3.2 query_perm()
std::string MHAParser::variable_t::query_perm (
const std::string & s) [virtual]
Reimplemented from MHAParser::monitor_t (p. 832).
5.237.3.3 setlock()
void MHAParser::variable_t::setlock (
const bool & b)
Lock a variable against write access.
Parameters
bLock state
5.237.4 Member Data Documentation
5.237.4.1 locked
bool MHAParser::variable_t::locked [private]
The documentation for this class was generated from the following files:
mha_parser.hh
mha_parser.cpp
5.238 MHAParser::vcomplex_mon_t Class Reference
Monitor with vector of complex values.
© 2005-2018 HörTech gGmbH, Oldenburg
852 CONTENTS
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.238.1 Detailed Description
Monitor with vector of complex values.
5.238.2 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.238 MHAParser::vcomplex_mon_t Class Reference 853
5.238.2.1 vcomplex_mon_t()
MHAParser::vcomplex_mon_t::vcomplex_mon_t (
const std::string & hlp )
Create a vector of complex monitor values.
© 2005-2018 HörTech gGmbH, Oldenburg
854 CONTENTS
Parameters
hlp A help text describing this monitor variable.
5.238.3 Member Function Documentation
5.238.3.1 query_val()
std::string MHAParser::vcomplex_mon_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.238.3.2 query_type()
std::string MHAParser::vcomplex_mon_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.238.4 Member Data Documentation
5.238.4.1 data
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.239 MHAParser::vcomplex_t Class Reference 855
5.239 MHAParser::vcomplex_t Class Reference
Vector variable with complex value.
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 &)
© 2005-2018 HörTech gGmbH, Oldenburg
856 CONTENTS
Additional Inherited Members
5.239.1 Detailed Description
Vector variable with complex value.
5.239.2 Constructor & Destructor Documentation
5.239.2.1 vcomplex_t()
MHAParser::vcomplex_t::vcomplex_t (
const std::string & h,
const std::string & v,
const std::string & rg = "" )
5.239.3 Member Function Documentation
5.239.3.1 op_setval()
std::string MHAParser::vcomplex_t::op_setval (
expression_t &x) [protected], [virtual]
Reimplemented from MHAParser::variable_t (p. 850).
5.239.3.2 query_type()
std::string MHAParser::vcomplex_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.239.3.3 query_val()
std::string MHAParser::vcomplex_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
© 2005-2018 HörTech gGmbH, Oldenburg
5.240 MHAParser::vfloat_mon_t Class Reference 857
5.239.4 Member Data Documentation
5.239.4.1 data
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
5.240 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.
© 2005-2018 HörTech gGmbH, Oldenburg
858 CONTENTS
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.240.1 Detailed Description
Vector of floats monitor.
5.240.2 Constructor & Destructor Documentation
5.240.2.1 vfloat_mon_t()
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.240.3 Member Function Documentation
5.240.3.1 query_val()
std::string MHAParser::vfloat_mon_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
© 2005-2018 HörTech gGmbH, Oldenburg
5.241 MHAParser::vfloat_t Class Reference 859
5.240.3.2 query_type()
std::string MHAParser::vfloat_mon_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.240.4 Member Data Documentation
5.240.4.1 data
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
5.241 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
© 2005-2018 HörTech gGmbH, Oldenburg
860 CONTENTS
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 &)
Additional Inherited Members
5.241.1 Detailed Description
Vector variable with float value.
5.241.2 Constructor & Destructor Documentation
5.241.2.1 vfloat_t()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.241 MHAParser::vfloat_t Class Reference 861
5.241.3 Member Function Documentation
5.241.3.1 op_setval()
std::string MHAParser::vfloat_t::op_setval (
expression_t &x) [protected], [virtual]
Reimplemented from MHAParser::variable_t (p. 850).
5.241.3.2 query_type()
std::string MHAParser::vfloat_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.241.3.3 query_val()
std::string MHAParser::vfloat_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.241.4 Member Data Documentation
5.241.4.1 data
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
© 2005-2018 HörTech gGmbH, Oldenburg
862 CONTENTS
5.242 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.
Protected Member Functions
• std::string query_val (const std::string &)
• std::string query_type (const std::string &)
Additional Inherited Members
5.242.1 Detailed Description
Vector of ints monitor.
© 2005-2018 HörTech gGmbH, Oldenburg
5.242 MHAParser::vint_mon_t Class Reference 863
5.242.2 Constructor & Destructor Documentation
5.242.2.1 vint_mon_t()
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.242.3 Member Function Documentation
5.242.3.1 query_val()
std::string MHAParser::vint_mon_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.242.3.2 query_type()
std::string MHAParser::vint_mon_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.242.4 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
864 CONTENTS
5.242.4.1 data
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
5.243 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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.243 MHAParser::vint_t Class Reference 865
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 &)
Additional Inherited Members
5.243.1 Detailed Description
Variable with vector<int>value.
5.243.2 Constructor & Destructor Documentation
5.243.2.1 vint_t()
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.243.3 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
866 CONTENTS
5.243.3.1 op_setval()
std::string MHAParser::vint_t::op_setval (
expression_t &x) [protected], [virtual]
Reimplemented from MHAParser::variable_t (p. 850).
5.243.3.2 query_type()
std::string MHAParser::vint_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.243.3.3 query_val()
std::string MHAParser::vint_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.243.4 Member Data Documentation
5.243.4.1 data
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.244 MHAParser::vstring_mon_t Class Reference 867
5.244 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.
Protected Member Functions
• std::string query_val (const std::string &)
• std::string query_type (const std::string &)
Additional Inherited Members
5.244.1 Detailed Description
Vector of monitors with string value.
© 2005-2018 HörTech gGmbH, Oldenburg
868 CONTENTS
5.244.2 Constructor & Destructor Documentation
5.244.2.1 vstring_mon_t()
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.244.3 Member Function Documentation
5.244.3.1 query_val()
std::string MHAParser::vstring_mon_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.244.3.2 query_type()
std::string MHAParser::vstring_mon_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.244.4 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.245 MHAParser::vstring_t Class Reference 869
5.244.4.1 data
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
5.245 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.
© 2005-2018 HörTech gGmbH, Oldenburg
870 CONTENTS
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.245.1 Detailed Description
Vector variable with string values.
5.245.2 Constructor & Destructor Documentation
5.245.2.1 vstring_t()
MHAParser::vstring_t::vstring_t (
const std::string & h,
const std::string & v)
5.245.3 Member Function Documentation
5.245.3.1 op_setval()
std::string MHAParser::vstring_t::op_setval (
expression_t &x) [protected], [virtual]
Reimplemented from MHAParser::variable_t (p. 850).
5.245.3.2 query_type()
std::string MHAParser::vstring_t::query_type (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
© 2005-2018 HörTech gGmbH, Oldenburg
5.246 MHAParser::window_t Class Reference 871
5.245.3.3 query_val()
std::string MHAParser::vstring_t::query_val (
const std::string & s) [protected], [virtual]
Reimplemented from MHAParser::base_t (p. 770).
5.245.4 Member Data Documentation
5.245.4.1 data
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
5.246 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
© 2005-2018 HörTech gGmbH, Oldenburg
872 CONTENTS
Public Types
• enum wtype_t {
wnd_rect =0, wnd_hann =1, wnd_hamming =2, wnd_blackman =3,
wnd_bartlett =4, wnd_user =5 }
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 min-
included) const
Create a window instance.
MHAWindow::base_t get_window (unsigned int len, float xmin, float xmax, bool min-
included, 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
Additional Inherited Members
5.246.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. 1022) based on the values provided by the configuration interface.
The configuration interface is derived from MHAParser::parser_t (p. 833) and can thus be
inserted into the configuration tree using the insert_item() (p. 835) 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. 1025) class constructor; for the user-defined type the values from the "user"
variable are copied.
© 2005-2018 HörTech gGmbH, Oldenburg
5.246 MHAParser::window_t Class Reference 873
5.246.2 Member Enumeration Documentation
5.246.2.1 wtype_t
enum MHAParser::window_t::wtype_t
Enumerator
wnd_rect
wnd_hann
wnd_hamming
wnd_blackman
wnd_bartlett
wnd_user
5.246.3 Constructor & Destructor Documentation
5.246.3.1 window_t()
MHAParser::window_t::window_t (
const std::string & help = "Window type configuration." )
Constructor to create parser class.
5.246.4 Member Function Documentation
5.246.4.1 get_window() [1/5]
MHAWindow::base_t MHAParser::window_t::get_window (
unsigned int len ) const
Create a window instance, use default parameters.
© 2005-2018 HörTech gGmbH, Oldenburg
874 CONTENTS
5.246.4.2 get_window() [2/5]
MHAWindow::base_t MHAParser::window_t::get_window (
unsigned int len,
float xmin ) const
Create a window instance.
5.246.4.3 get_window() [3/5]
MHAWindow::base_t MHAParser::window_t::get_window (
unsigned int len,
float xmin,
float xmax ) const
Create a window instance.
5.246.4.4 get_window() [4/5]
MHAWindow::base_t MHAParser::window_t::get_window (
unsigned int len,
float xmin,
float xmax,
bool minincluded ) const
Create a window instance.
5.246.4.5 get_window() [5/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.246.4.6 get_type()
MHAParser::window_t::wtype_t MHAParser::window_t::get_type ( ) const
Return currently selected window type.
© 2005-2018 HörTech gGmbH, Oldenburg
5.247 mhaplug_cfg_t Class Reference 875
5.246.5 Member Data Documentation
5.246.5.1 wtype
MHAParser::kw_t MHAParser::window_t::wtype [private]
5.246.5.2 user
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
5.247 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.247.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
876 CONTENTS
5.247.1.1 mhaplug_cfg_t()
mhaplug_cfg_t::mhaplug_cfg_t (
algo_comm_t iac,
const std::string & libname,
bool use_own_ac )
5.247.1.2 mhaplug_cfg_t()
mhaplug_cfg_t::mhaplug_cfg_t ( ) throw ) [inline]
The documentation for this class was generated from the following file:
altplugs.cpp
5.248 MHAPlugin::cfg_chain_t<runtime_cfg_t >Class Template Reference
Public Member Functions
cfg_chain_t (runtime_cfg_t id)
cfg_chain_t ()
Public Attributes
cfg_chain_t<runtime_cfg_t >next
• bool not_in_use
runtime_cfg_t data
5.248.1 Constructor & Destructor Documentation
5.248.1.1 cfg_chain_t()
template<class runtime_cfg_t>
MHAPlugin::cfg_chain_t<runtime_cfg_t >:: cfg_chain_t (
runtime_cfg_t id )
© 2005-2018 HörTech gGmbH, Oldenburg
5.249 MHAPlugin::config_t<runtime_cfg_t >Class Template
Reference 877
5.248.1.2 cfg_chain_t()
template<class runtime_cfg_t >
MHAPlugin::cfg_chain_t<runtime_cfg_t >::cfg_chain_t ( )
5.248.2 Member Data Documentation
5.248.2.1 next
template<class runtime_cfg_t>
cfg_chain_t<runtime_cfg_t >MHAPlugin::cfg_chain_t<runtime_cfg_t >::next
5.248.2.2 not_in_use
template<class runtime_cfg_t>
bool MHAPlugin::cfg_chain_t<runtime_cfg_t >::not_in_use
5.248.2.3 data
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.249 MHAPlugin::config_t<runtime_cfg_t >Class Template Reference
Template class for thread safe configuration.
Inheritance diagram for MHAPlugin::config_t<runtime_cfg_t >:
MHAPlugin::config_t
< runtime_cfg_t >
calibrator_t
dc_simple::dc_if_t
< level_smoother_t >
MHAPlugin::plugin_t
< runtime_cfg_t >
calibrator_t< calibrator
_runtime_layer_t >
dc_simple::dc_if_t
< dc_t >
fader_wave::fader_wave
_if_t< level_adapt_t >
© 2005-2018 HörTech gGmbH, Oldenburg
878 CONTENTS
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 ()
Private Attributes
MHAPlugin::cfg_chain_t<runtime_cfg_t >cfg_chain
MHAPlugin::cfg_chain_t<runtime_cfg_t >cfg_chain_current
5.249.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. 118) variables into
derived runtime configuration. The constructor should fail if the configuration is invalid by any
reason.
© 2005-2018 HörTech gGmbH, Oldenburg
5.249 MHAPlugin::config_t<runtime_cfg_t >Class Template
Reference 879
A new runtime configuration is provided by the function push_config() (p. 880). In the process-
ing thread, the actual configuration can be received by a call of poll_config() (p. 880).
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.
5.249.2 Constructor & Destructor Documentation
5.249.2.1 config_t()
template<class runtime_cfg_t >
MHAPlugin::config_t<runtime_cfg_t >:: config_t ( )
5.249.2.2 config_t()
template<class runtime_cfg_t >
MHAPlugin::config_t<runtime_cfg_t >::config_t ( )
© 2005-2018 HörTech gGmbH, Oldenburg
880 CONTENTS
5.249.3 Member Function Documentation
5.249.3.1 poll_config()
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. 522)if the resulting runtime configuration is NULL. This usually means
that no push_config has occured.
5.249.3.2 last_config()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.249 MHAPlugin::config_t<runtime_cfg_t >Class Template
Reference 881
5.249.3.3 push_config()
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.
This function adds a new run time configuration. The next time poll_config (p. 880) 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.
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.249.3.4 cleanup_unused_cfg()
template<class runtime_cfg_t >
void MHAPlugin::config_t<runtime_cfg_t >::cleanup_unused_cfg ( ) [protected]
5.249.3.5 remove_all_cfg()
template<class runtime_cfg_t >
void MHAPlugin::config_t<runtime_cfg_t >::remove_all_cfg ( ) [private]
5.249.4 Member Data Documentation
5.249.4.1 cfg
template<class runtime_cfg_t>
runtime_cfg_tMHAPlugin::config_t<runtime_cfg_t >::cfg [protected]
© 2005-2018 HörTech gGmbH, Oldenburg
882 CONTENTS
5.249.4.2 cfg_chain
template<class runtime_cfg_t>
MHAPlugin::cfg_chain_t<runtime_cfg_t>MHAPlugin::config_t<runtime_cfg_t >::cfg-
_chain [private]
5.249.4.3 cfg_chain_current
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.250 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 >
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 >
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.250 MHAPlugin::plugin_t<runtime_cfg_t >Class Template
Reference 883
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.250.1 Detailed Description
template<class runtime_cfg_t>
class MHAPlugin::plugin_t<runtime_cfg_t >
The template class for C++ openMHA plugins.
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. 8).
The template parameter runtime_cfg_t should be the runtime configuration of the plugin.
See MHAPlugin::config_t (p. 877) for details on the thread safe communication update mech-
anism.
5.250.2 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
884 CONTENTS
5.250.2.1 plugin_t()
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.250.2.2 plugin_t()
template<class runtime_cfg_t >
MHAPlugin::plugin_t<runtime_cfg_t >::plugin_t ( ) [virtual]
5.250.3 Member Function Documentation
5.250.3.1 prepare()
template<class runtime_cfg_t>
virtual void MHAPlugin::plugin_t<runtime_cfg_t >::prepare (
mhaconfig_t & ) [pure virtual]
Implemented in bbcalib_interface_t (p. 244), calibrator_t (p. 249), analysispath_if-
_t (p. 232), adm_if_t (p. 206), overlapadd::overlapadd_if_t (p. 1055), frequency_-
translator_t (p. 385), noisePowProposedScale::interface_t (p. 1048), dc_simple::dc_-
if_t (p. 298), dc::dc_if_t (p. 281), multibandcompressor::interface_t (p. 1037), combc-
_if_t (p. 268), coherence::cohflt_if_t (p. 258), plugin_interface_t (p. 1065), example6-
_t (p. 369), smoothgains_bridge::overlapadd_if_t (p. 1127), MHAPlugin_Resampling-
::resampling_if_t (p. 889), shadowfilter_end::shadowfilter_end_t (p. 1121), ac2wave_-
if_t (p. 146), noise_t (p. 1045), nlms_t (p. 1041), prediction_error (p. 1088), spec2wave-
_if_t (p. 1139), mhachain::chain_base_t (p. 587), acsave::acsave_t (p. 174), fader-
_wave::fader_wave_if_t (p. 374), doasvm_feature_extraction (p. 326), rmslevel_if_-
t(p. 1098), shadowfilter_begin::shadowfilter_begin_t (p. 1117), example3_t (p. 360),
example4_t (p. 364), lpc_bl_predictor (p. 459), lpc_burglattice (p. 466), steerbf (p. 1149),
delaysum::delaysum_if_t (p. 315), acPooling_wave (p. 166), lpc (p. 455), fader_if_t
(p. 372), acConcat_wave (p. 152), db_if_t (p. 277), acSteer (p. 184), acTransform_-
wave (p. 190), wave2spec_if_t (p. 1176), gain::gain_if_t (p. 400), droptect_t (p. 333),
© 2005-2018 HörTech gGmbH, Oldenburg
5.250 MHAPlugin::plugin_t<runtime_cfg_t >Class Template
Reference 885
example1_t (p. 353), sine_t (p. 1125), doasvm_classification (p. 321), example2_-
t(p. 356), wavrec_t (p. 1183), fftfilterbank::fftfb_interface_t (p. 379), route::interface-
_t (p. 1102), matrixmixer::matmix_t (p. 477), altplugs_t (p. 221), softclip_t (p. 1132),
save_spec_t (p. 1112), save_wave_t (p. 1114), acmon::acmon_t (p. 161), timoSmooth
(p. 1169), identity_t (p. 409), delay::interface_t (p. 312), cpuload_t (p. 275), ds_t (p. 337),
and us_t (p. 1174).
5.250.3.2 release()
template<class runtime_cfg_t >
void MHAPlugin::plugin_t<runtime_cfg_t >::release ( ) [virtual]
Reimplemented in bbcalib_interface_t (p. 244), calibrator_t (p. 249), analysispath_-
if_t (p. 232), adm_if_t (p. 206), overlapadd::overlapadd_if_t (p. 1055), frequency-
_translator_t (p. 386), dc_simple::dc_if_t (p. 298), multibandcompressor::interface-
_t (p. 1037), coherence::cohflt_if_t (p. 258), smoothgains_bridge::overlapadd_if_-
t(p. 1127), MHAPlugin_Resampling::resampling_if_t (p. 889), ac2wave_if_t (p. 146),
nlms_t (p. 1041), prediction_error (p. 1088), mhachain::chain_base_t (p. 587), acsave-
::acsave_t (p. 174), fader_wave::fader_wave_if_t (p. 375), doasvm_feature_extraction
(p. 327), example3_t (p. 360), example4_t (p. 365), lpc_bl_predictor (p. 459), lpc_-
burglattice (p. 466), steerbf (p. 1149), delaysum::delaysum_if_t (p. 315), acPooling_-
wave (p. 167), lpc (p. 456), acConcat_wave (p. 153), db_if_t (p. 277), acSteer (p. 185),
acTransform_wave (p. 190), droptect_t (p. 333), gain::gain_if_t (p. 400), example2-
_t (p. 357), doasvm_classification (p. 321), wavrec_t (p. 1183), fftfilterbank::fftfb_-
interface_t (p. 380), route::interface_t (p. 1102), example1_t (p. 353), altplugs_t (p. 221),
acmon::acmon_t (p. 161), timoSmooth (p. 1170), identity_t (p. 409), ds_t (p. 337), and
us_t (p. 1174).
5.250.3.3 prepare_()
template<class runtime_cfg_t >
void MHAPlugin::plugin_t<runtime_cfg_t >::prepare_ (
mhaconfig_t &cf )
5.250.3.4 release_()
template<class runtime_cfg_t >
void MHAPlugin::plugin_t<runtime_cfg_t >::release_ ( )
© 2005-2018 HörTech gGmbH, Oldenburg
886 CONTENTS
5.250.3.5 is_prepared()
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)
5.250.3.6 input_cfg()
template<class runtime_cfg_t>
mhaconfig_t MHAPlugin::plugin_t<runtime_cfg_t >::input_cfg ( ) const [inline]
Current input channel configuration.
5.250.3.7 output_cfg()
template<class runtime_cfg_t>
mhaconfig_t MHAPlugin::plugin_t<runtime_cfg_t >::output_cfg ( ) const [inline]
Current output channel configuration.
5.250.4 Member Data Documentation
5.250.4.1 tftype
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. 595) are stored in this member in the prepare() (p. 884) method.
Note
This member is likely to be removed in later versions, use input_cfg() (p. 886) and
output_cfg() (p. 886) instead.
© 2005-2018 HörTech gGmbH, Oldenburg
5.250 MHAPlugin::plugin_t<runtime_cfg_t >Class Template
Reference 887
5.250.4.2 ac
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.250.4.3 is_prepared_
template<class runtime_cfg_t>
bool MHAPlugin::plugin_t<runtime_cfg_t >::is_prepared_ [private]
5.250.4.4 input_cfg_
template<class runtime_cfg_t>
mhaconfig_t MHAPlugin::plugin_t<runtime_cfg_t >::input_cfg_ [private]
5.250.4.5 output_cfg_
template<class runtime_cfg_t>
mhaconfig_t MHAPlugin::plugin_t<runtime_cfg_t >::output_cfg_ [private]
5.250.4.6 mhaconfig_in
template<class runtime_cfg_t>
MHAParser::mhaconfig_mon_t MHAPlugin::plugin_t<runtime_cfg_t >::mhaconfig_in [private]
5.250.4.7 mhaconfig_out
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-2018 HörTech gGmbH, Oldenburg
888 CONTENTS
5.251 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-2018 HörTech gGmbH, Oldenburg
5.251 MHAPlugin_Resampling::resampling_if_t Class Reference889
Additional Inherited Members
5.251.1 Constructor & Destructor Documentation
5.251.1.1 resampling_if_t()
MHAPlugin_Resampling::resampling_if_t::resampling_if_t (
algo_comm_t iac,
std::string th,
std::string al )
5.251.2 Member Function Documentation
5.251.2.1 process()
mha_wave_t MHAPlugin_Resampling::resampling_if_t::process (
mha_wave_t s)
5.251.2.2 prepare()
void MHAPlugin_Resampling::resampling_if_t::prepare (
mhaconfig_t &conf ) [virtual]
Implements MHAPlugin::plugin_t<resampling_t >(p. 884).
5.251.2.3 release()
void MHAPlugin_Resampling::resampling_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<resampling_t >(p. 885).
5.251.3 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
890 CONTENTS
5.251.3.1 srate
MHAParser::float_t MHAPlugin_Resampling::resampling_if_t::srate [private]
5.251.3.2 fragsize
MHAParser::int_t MHAPlugin_Resampling::resampling_if_t::fragsize [private]
5.251.3.3 nyquist_ratio
MHAParser::float_t MHAPlugin_Resampling::resampling_if_t::nyquist_ratio [private]
5.251.3.4 irslen_outer2inner
MHAParser::float_t MHAPlugin_Resampling::resampling_if_t::irslen_outer2inner [private]
5.251.3.5 irslen_inner2outer
MHAParser::float_t MHAPlugin_Resampling::resampling_if_t::irslen_inner2outer [private]
5.251.3.6 plugloader
MHAParser::mhapluginloader_t MHAPlugin_Resampling::resampling_if_t::plugloader
[private]
5.251.3.7 chain
std::string MHAPlugin_Resampling::resampling_if_t::chain [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.252 MHAPlugin_Resampling::resampling_t Class Reference 891
5.251.3.8 algo
std::string MHAPlugin_Resampling::resampling_if_t::algo [private]
The documentation for this class was generated from the following file:
resampling.cpp
5.252 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.252.1 Constructor & Destructor Documentation
5.252.1.1 resampling_t()
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 )
© 2005-2018 HörTech gGmbH, Oldenburg
892 CONTENTS
5.252.2 Member Function Documentation
5.252.2.1 process()
mha_wave_t MHAPlugin_Resampling::resampling_t::process (
mha_wave_t s)
5.252.3 Member Data Documentation
5.252.3.1 outer_fragsize
unsigned MHAPlugin_Resampling::resampling_t::outer_fragsize [private]
5.252.3.2 inner_fragsize
unsigned MHAPlugin_Resampling::resampling_t::inner_fragsize [private]
5.252.3.3 outer_srate
float MHAPlugin_Resampling::resampling_t::outer_srate [private]
5.252.3.4 inner_srate
float MHAPlugin_Resampling::resampling_t::inner_srate [private]
5.252.3.5 nchannels_in
unsigned MHAPlugin_Resampling::resampling_t::nchannels_in [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.252 MHAPlugin_Resampling::resampling_t Class Reference 893
5.252.3.6 nchannels_out
unsigned MHAPlugin_Resampling::resampling_t::nchannels_out [private]
5.252.3.7 outer2inner_resampling
MHAFilter::blockprocessing_polyphase_resampling_t MHAPlugin_Resampling::resampling-
_t::outer2inner_resampling [private]
5.252.3.8 inner2outer_resampling
MHAFilter::blockprocessing_polyphase_resampling_t MHAPlugin_Resampling::resampling-
_t::inner2outer_resampling [private]
5.252.3.9 plugloader
MHAParser::mhapluginloader_t& MHAPlugin_Resampling::resampling_t::plugloader [private]
5.252.3.10 inner_signal
MHASignal::waveform_t MHAPlugin_Resampling::resampling_t::inner_signal [private]
5.252.3.11 output_signal
MHASignal::waveform_t MHAPlugin_Resampling::resampling_t::output_signal [private]
The documentation for this class was generated from the following file:
resampling.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
894 CONTENTS
5.253 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
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.253 MHAPlugin_Split::domain_handler_t Class Reference 895
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.
5.253.1 Detailed Description
Handles domain-specific partial input and output signal.
5.253.2 Constructor & Destructor Documentation
5.253.2.1 domain_handler_t() [1/2]
MHAPlugin_Split::domain_handler_t::domain_handler_t (
const domain_handler_t & ) [private]
Disallow copy constructor.
5.253.2.2 domain_handler_t() [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.
© 2005-2018 HörTech gGmbH, Oldenburg
896 CONTENTS
5.253.2.3 domain_handler_t()
virtual MHAPlugin_Split::domain_handler_t::domain_handler_t ( ) [inline], [virtual]
Deallocation of signal holders.
5.253.3 Member Function Documentation
5.253.3.1 operator=()
domain_handler_t& MHAPlugin_Split::domain_handler_t::operator= (
const domain_handler_t & ) [private]
Disallow assignment operator.
5.253.3.2 set_input_domain()
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
5.253.3.3 set_output_domain()
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.253 MHAPlugin_Split::domain_handler_t Class Reference 897
5.253.3.4 deallocate_domains()
void MHAPlugin_Split::domain_handler_t::deallocate_domains ( ) [inline]
Deallocate domain indicators and signal holders.
5.253.3.5 put_signal() [1/2]
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. 899).
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.253.3.6 put_signal() [2/2]
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. 899).
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-2018 HörTech gGmbH, Oldenburg
898 CONTENTS
Returns
The number of channels that were copied from the input signal
5.253.3.7 get_signal() [1/2]
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. 899) 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.253.3.8 get_signal() [2/2]
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. 899) 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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.253 MHAPlugin_Split::domain_handler_t Class Reference 899
Returns
The number of channels that were copied to the output signal
5.253.3.9 process()
void MHAPlugin_Split::domain_handler_t::process ( ) [inline], [virtual]
Call the processing method of the processor with configured input/output signal domains.
The input signal has to be stored using put_signal (p. 897) before this method may be called.
Implements MHAPlugin_Split::uni_processor_t (p. 923).
5.253.4 Member Data Documentation
5.253.4.1 wave_in
MHASignal::waveform_tMHAPlugin_Split::domain_handler_t::wave_in
Partial wave input signal.
5.253.4.2 wave_out
mha_wave_t∗∗ MHAPlugin_Split::domain_handler_t::wave_out
Partial wave output signal.
5.253.4.3 spec_in
MHASignal::spectrum_tMHAPlugin_Split::domain_handler_t::spec_in
Partial spec input signal.
© 2005-2018 HörTech gGmbH, Oldenburg
900 CONTENTS
5.253.4.4 spec_out
mha_spec_t∗∗ MHAPlugin_Split::domain_handler_t::spec_out
Partial spec input signal.
5.253.4.5 processor
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.254 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
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.254 MHAPlugin_Split::dummy_threads_t Class Reference 901
Additional Inherited Members
5.254.1 Detailed Description
Dummy specification of a thread platform: This class implements everything in a single thread.
5.254.2 Constructor & Destructor Documentation
5.254.2.1 dummy_threads_t()
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.254.3 Member Function Documentation
5.254.3.1 kick_thread()
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. 921).
© 2005-2018 HörTech gGmbH, Oldenburg
902 CONTENTS
5.254.3.2 catch_thread()
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. 921).
The documentation for this class was generated from the following file:
split.cpp
5.255 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-2018 HörTech gGmbH, Oldenburg
5.255 MHAPlugin_Split::posix_threads_t Class Reference 903
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.255.1 Detailed Description
Posix threads specification of thread platform.
5.255.2 Constructor & Destructor Documentation
5.255.2.1 posix_threads_t()
MHAPlugin_Split::posix_threads_t::posix_threads_t (
uni_processor_t proc,
const std::string & thread_scheduler,
int thread_priority ) [inline]
Constructor.
© 2005-2018 HörTech gGmbH, Oldenburg
904 CONTENTS
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.255.2.2 posix_threads_t()
MHAPlugin_Split::posix_threads_t::posix_threads_t ( ) [inline]
Terminate thread.
5.255.3 Member Function Documentation
5.255.3.1 kick_thread()
void MHAPlugin_Split::posix_threads_t::kick_thread ( ) [inline], [virtual]
Start signal processing in separate thread.
Implements MHAPlugin_Split::thread_platform_t (p. 921).
5.255.3.2 catch_thread()
void MHAPlugin_Split::posix_threads_t::catch_thread ( ) [inline], [virtual]
Wait for signal processing to finish.
Implements MHAPlugin_Split::thread_platform_t (p. 921).
5.255.3.3 thread_start()
static voidMHAPlugin_Split::posix_threads_t::thread_start (
void thr ) [inline], [static]
Thread start function.
© 2005-2018 HörTech gGmbH, Oldenburg
5.255 MHAPlugin_Split::posix_threads_t Class Reference 905
5.255.3.4 main()
void MHAPlugin_Split::posix_threads_t::main ( ) [inline]
Thread main loop. Wait for process/termination trigger, then act.
5.255.3.5 current_thread_scheduler()
static std::string MHAPlugin_Split::posix_threads_t::current_thread_scheduler ( )
[inline], [static]
5.255.3.6 current_thread_priority()
static int MHAPlugin_Split::posix_threads_t::current_thread_priority ( ) [inline],
[static]
5.255.4 Member Data Documentation
5.255.4.1 mutex
pthread_mutex_t MHAPlugin_Split::posix_threads_t::mutex [private]
The mutex.
5.255.4.2 kick_condition
pthread_cond_t MHAPlugin_Split::posix_threads_t::kick_condition [private]
The condition for signalling the kicking and termination.
5.255.4.3 catch_condition
pthread_cond_t MHAPlugin_Split::posix_threads_t::catch_condition [private]
The condition for signalling the processing is finished.
© 2005-2018 HörTech gGmbH, Oldenburg
906 CONTENTS
5.255.4.4 attr
pthread_attr_t MHAPlugin_Split::posix_threads_t::attr [private]
Thread attributes.
5.255.4.5 priority
struct sched_param MHAPlugin_Split::posix_threads_t::priority [private]
Thread scheduling priority.
5.255.4.6 scheduler
int MHAPlugin_Split::posix_threads_t::scheduler [private]
5.255.4.7 thread
pthread_t MHAPlugin_Split::posix_threads_t::thread [private]
The thread object.
5.255.4.8 kicked
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.255.4.9 processing_done
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.256 MHAPlugin_Split::split_t Class Reference 907
5.255.4.10 termination_request
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
5.256 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.
© 2005-2018 HörTech gGmbH, Oldenburg
908 CONTENTS
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 ()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.256 MHAPlugin_Split::split_t Class Reference 909
Additional Inherited Members
5.256.1 Detailed Description
Implements split plugin.
An instance of class split_t (p. 907) implements the split plugin functionality: The audio chan-
nels are splitted and groups of audio channels are processed by different plugins in parallel.
5.256.2 Constructor & Destructor Documentation
5.256.2.1 split_t()
MHAPlugin_Split::split_t::split_t (
algo_comm_t iac,
const std::string & chain_name,
const std::string & algo_name )
Plugin constructor.
5.256.2.2 split_t()
MHAPlugin_Split::split_t::split_t ( )
Plugin destructor. Unloads nested plugins.
5.256.3 Member Function Documentation
5.256.3.1 prepare_()
void MHAPlugin_Split::split_t::prepare_ (
mhaconfig_t &signal_parameters )
Check signal parameters, prepare chains, and allocate output signal holders.
© 2005-2018 HörTech gGmbH, Oldenburg
910 CONTENTS
5.256.3.2 release_()
void MHAPlugin_Split::split_t::release_ ( )
Delete output signal holder and release chains.
5.256.3.3 process()
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.256.3.4 update()
void MHAPlugin_Split::split_t::update ( ) [private]
Load plugins in response to a value change in the algos variable.
5.256.3.5 clear_chains()
void MHAPlugin_Split::split_t::clear_chains ( ) [private]
Unload the plugins.
5.256.3.6 copy_output_wave()
mha_wave_tMHAPlugin_Split::split_t::copy_output_wave ( ) [private]
5.256.3.7 copy_output_spec()
mha_spec_tMHAPlugin_Split::split_t::copy_output_spec ( ) [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.256 MHAPlugin_Split::split_t Class Reference 911
5.256.3.8 trigger_processing()
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.
5.256.3.9 collect_result()
template<class SigType >
void MHAPlugin_Split::split_t::collect_result (
SigType s_out ) [private]
Combine the output signal from the plugins.
5.256.3.10 signal_out() [1/2]
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.256.3.11 signal_out() [2/2]
MHASignal::spectrum_tMHAPlugin_Split::split_t::signal_out (
mha_spec_t ∗∗ ) [inline], [private]
Spectrum domain output signal structure. Parameter is ignored.
5.256.4 Member Data Documentation
5.256.4.1 patchbay
MHAEvents::patchbay_t<split_t>MHAPlugin_Split::split_t::patchbay [private]
Reload plugins when the algos variable changes.
© 2005-2018 HörTech gGmbH, Oldenburg
912 CONTENTS
5.256.4.2 algos
MHAParser::vstring_t MHAPlugin_Split::split_t::algos [private]
Vector of plugins to load in parallel.
5.256.4.3 channels
MHAParser::vint_t MHAPlugin_Split::split_t::channels [private]
Number of channels to route through each plugin.
5.256.4.4 thread_platform
MHAParser::kw_t MHAPlugin_Split::split_t::thread_platform [private]
Thread platform chooser.
5.256.4.5 worker_thread_scheduler
MHAParser::kw_t MHAPlugin_Split::split_t::worker_thread_scheduler [private]
Scheduler used for worker threads.
5.256.4.6 worker_thread_priority
MHAParser::int_t MHAPlugin_Split::split_t::worker_thread_priority [private]
Priority of worker threads.
5.256.4.7 framework_thread_scheduler
MHAParser::string_mon_t MHAPlugin_Split::split_t::framework_thread_scheduler [private]
Scheduler of the signal processing thread.
© 2005-2018 HörTech gGmbH, Oldenburg
5.256 MHAPlugin_Split::split_t Class Reference 913
5.256.4.8 framework_thread_priority
MHAParser::int_mon_t MHAPlugin_Split::split_t::framework_thread_priority [private]
Priority of signal processing thread.
5.256.4.9 delay
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.256.4.10 chains
std::vector<splitted_part_t>MHAPlugin_Split::split_t::chains [private]
Interfaces to parallel plugins.
5.256.4.11 wave_out
MHASignal::waveform_tMHAPlugin_Split::split_t::wave_out [private]
Combined output waveforms structure.
5.256.4.12 spec_out
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
© 2005-2018 HörTech gGmbH, Oldenburg
914 CONTENTS
5.257 MHAPlugin_Split::splitted_part_t Class Reference
The splitted_part_t (p. 914) 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
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. 918).
• 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. 894) instance.
• void release ()
Delegates the release method to the plugin and deletes the MHAPlugin_Split::domain_-
handler_t (p. 894) 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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.257 MHAPlugin_Split::splitted_part_t Class Reference 915
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.
Additional Inherited Members
5.257.1 Detailed Description
The splitted_part_t (p. 914) 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.257.2 Constructor & Destructor Documentation
5.257.2.1 splitted_part_t() [1/3]
MHAPlugin_Split::splitted_part_t::splitted_part_t (
const splitted_part_t & ) [private]
Disallow copy constructor.
5.257.2.2 splitted_part_t() [2/3]
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.
© 2005-2018 HörTech gGmbH, Oldenburg
916 CONTENTS
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.257.2.3 splitted_part_t() [3/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. 915)
instance will take ownership of this instance and release it in the destructor.
5.257.2.4 splitted_part_t()
MHAPlugin_Split::splitted_part_t::splitted_part_t ( ) throw )
Destructor. Deletes the plugin plug (p. 918).
5.257.3 Member Function Documentation
5.257.3.1 operator=()
splitted_part_t& MHAPlugin_Split::splitted_part_t::operator= (
const splitted_part_t & ) [private]
Disallow assignment operator.
© 2005-2018 HörTech gGmbH, Oldenburg
5.257 MHAPlugin_Split::splitted_part_t Class Reference 917
5.257.3.2 prepare()
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. 894) 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.257.3.3 release()
void MHAPlugin_Split::splitted_part_t::release (
void )
Delegates the release method to the plugin and deletes the MHAPlugin_Split::domain_-
handler_t (p. 894) instance.
Release the loaded plugin.
Plugin release.
5.257.3.4 parse()
std::string MHAPlugin_Split::splitted_part_t::parse (
const std::string & str ) [inline]
Delegates parser incovation to plugin.
© 2005-2018 HörTech gGmbH, Oldenburg
918 CONTENTS
5.257.3.5 trigger_processing()
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.257.3.6 collect_result()
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.257.4 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.258 MHAPlugin_Split::thread_platform_t Class Reference 919
5.257.4.1 plug
PluginLoader::fourway_processor_tMHAPlugin_Split::splitted_part_t::plug [private]
The plugin that performs the signal processing on the prepared channels.
5.257.4.2 domain
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.257.4.3 thread
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.258 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
© 2005-2018 HörTech gGmbH, Oldenburg
920 CONTENTS
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().
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.258.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.258.2 Constructor & Destructor Documentation
5.258.2.1 thread_platform_t() [1/2]
MHAPlugin_Split::thread_platform_t::thread_platform_t (
const thread_platform_t & ) [private]
Disallow copy constructor.
5.258.2.2 thread_platform_t() [2/2]
MHAPlugin_Split::thread_platform_t::thread_platform_t (
uni_processor_t proc ) [inline]
Constructor.
Derived classes create the thread in the constructor.
© 2005-2018 HörTech gGmbH, Oldenburg
5.258 MHAPlugin_Split::thread_platform_t Class Reference 921
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. 914) instance.
5.258.2.3 thread_platform_t()
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.258.3 Member Function Documentation
5.258.3.1 operator=()
thread_platform_t& MHAPlugin_Split::thread_platform_t::operator= (
const thread_platform_t & ) [private]
Disallow assignment operator.
5.258.3.2 kick_thread()
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. 904), and MHAPlugin_Split-
::dummy_threads_t (p. 901).
© 2005-2018 HörTech gGmbH, Oldenburg
922 CONTENTS
5.258.3.3 catch_thread()
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. 904), and MHAPlugin_Split-
::dummy_threads_t (p. 901).
5.258.4 Member Data Documentation
5.258.4.1 processor
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. 922) 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
5.259 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
© 2005-2018 HörTech gGmbH, Oldenburg
5.259 MHAPlugin_Split::uni_processor_t Class Reference 923
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.259.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.259.2 Constructor & Destructor Documentation
5.259.2.1 uni_processor_t()
virtual MHAPlugin_Split::uni_processor_t::uni_processor_t ( ) [inline], [virtual]
Classes containing virtual methods need virtual destructors.
5.259.3 Member Function Documentation
5.259.3.1 process()
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. 899).
The documentation for this class was generated from the following file:
split.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
924 CONTENTS
5.260 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
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.260 mhaserver_t Class Reference 925
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.260.1 Detailed Description
MHA Framework listening on TCP port for commands.
5.260.2 Constructor & Destructor Documentation
5.260.2.1 mhaserver_t()
mhaserver_t::mhaserver_t (
const std::string & ao,
const std::string & af,
const std::string & lf )
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.260.2.2 mhaserver_t()
mhaserver_t::mhaserver_t ( )
5.260.3 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
926 CONTENTS
5.260.3.1 received_group()
std::string mhaserver_t::received_group (
const std::string & line ) [virtual]
A line of text was received from network client.
5.260.3.2 acceptor_started()
void mhaserver_t::acceptor_started (
int status ) [virtual]
Notification: "TCP port is open".
5.260.3.3 set_announce_port()
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.260.3.4 logstring()
void mhaserver_t::logstring (
const std::string & s) [inline]
Log a message to log file.
5.260.3.5 run()
int mhaserver_t::run (
unsigned short port,
const std::string & _interface )
Accept network connections and act on commands.
Calls acceptor_started() (p. 926) 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-2018 HörTech gGmbH, Oldenburg
5.260 mhaserver_t Class Reference 927
5.260.4 Member Data Documentation
5.260.4.1 tcpserver
MHA_TCP::Servermhaserver_t::tcpserver [private]
5.260.4.2 ack_ok
std::string mhaserver_t::ack_ok [private]
5.260.4.3 ack_fail
std::string mhaserver_t::ack_fail [private]
5.260.4.4 logfile
std::string mhaserver_t::logfile [private]
5.260.4.5 announce_port
unsigned short mhaserver_t::announce_port [private]
5.260.4.6 pid_mon
MHAParser::int_mon_t mhaserver_t::pid_mon [private]
5.260.4.7 port
MHAParser::int_t mhaserver_t::port
The documentation for this class was generated from the following file:
mhamain.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
928 CONTENTS
5.261 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
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.261.1 Detailed Description
Class for asynchronous level metering.
© 2005-2018 HörTech gGmbH, Oldenburg
5.261 MHASignal::async_rmslevel_t Class Reference 929
5.261.2 Constructor & Destructor Documentation
5.261.2.1 async_rmslevel_t()
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.261.3 Member Function Documentation
5.261.3.1 rmslevel()
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.261.3.2 peaklevel()
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).
© 2005-2018 HörTech gGmbH, Oldenburg
930 CONTENTS
5.261.3.3 process()
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.261.4 Member Data Documentation
5.261.4.1 pos
unsigned int MHASignal::async_rmslevel_t::pos [private]
5.261.4.2 filled
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.262 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 )
Private Attributes
unsigned int delay
MHASignal::spectrum_t ∗∗ buffer
unsigned int pos
© 2005-2018 HörTech gGmbH, Oldenburg
5.262 MHASignal::delay_spec_t Class Reference 931
5.262.1 Constructor & Destructor Documentation
5.262.1.1 delay_spec_t()
MHASignal::delay_spec_t::delay_spec_t (
unsigned int delay,
unsigned int frames,
unsigned int channels )
5.262.1.2 delay_spec_t()
MHASignal::delay_spec_t::delay_spec_t ( )
5.262.2 Member Function Documentation
5.262.2.1 process()
mha_spec_t MHASignal::delay_spec_t::process (
mha_spec_t s)
5.262.3 Member Data Documentation
5.262.3.1 delay
unsigned int MHASignal::delay_spec_t::delay [private]
5.262.3.2 buffer
MHASignal::spectrum_t∗∗ MHASignal::delay_spec_t::buffer [private]
© 2005-2018 HörTech gGmbH, Oldenburg
932 CONTENTS
5.262.3.3 pos
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.263 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
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.263 MHASignal::delay_t Class Reference 933
5.263.1 Detailed Description
Class to realize a simple delay of waveform streams.
5.263.2 Constructor & Destructor Documentation
5.263.2.1 delay_t()
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.263.2.2 delay_t()
MHASignal::delay_t::delay_t ( )
5.263.3 Member Function Documentation
5.263.3.1 process()
mha_wave_t MHASignal::delay_t::process (
mha_wave_t s)
Processing method.
Parameters
sInput waveform fragment, with number of channels provided in constructor.
© 2005-2018 HörTech gGmbH, Oldenburg
934 CONTENTS
Returns
Output waveform fragment.
5.263.3.2 inspect()
std::string MHASignal::delay_t::inspect ( ) const [inline]
5.263.4 Member Data Documentation
5.263.4.1 channels
unsigned int MHASignal::delay_t::channels [private]
5.263.4.2 delays
unsigned intMHASignal::delay_t::delays [private]
5.263.4.3 pos
unsigned intMHASignal::delay_t::pos [private]
5.263.4.4 buffer
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.264 MHASignal::delay_wave_t Class Reference
Delayline containing wave fragments.
© 2005-2018 HörTech gGmbH, Oldenburg
5.264 MHASignal::delay_wave_t Class Reference 935
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
5.264.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.264.2 Constructor & Destructor Documentation
5.264.2.1 delay_wave_t()
MHASignal::delay_wave_t::delay_wave_t (
unsigned int delay,
unsigned int frames,
unsigned int channels )
5.264.2.2 delay_wave_t()
MHASignal::delay_wave_t::delay_wave_t ( )
5.264.3 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
936 CONTENTS
5.264.3.1 process()
mha_wave_t MHASignal::delay_wave_t::process (
mha_wave_t s)
5.264.4 Member Data Documentation
5.264.4.1 delay
unsigned int MHASignal::delay_wave_t::delay [private]
5.264.4.2 buffer
MHASignal::waveform_t∗∗ MHASignal::delay_wave_t::buffer [private]
5.264.4.3 pos
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.265 MHASignal::doublebuffer_t Class Reference
Double-buffering class.
Inheritance diagram for MHASignal::doublebuffer_t:
MHASignal::doublebuffer_t
db_t
© 2005-2018 HörTech gGmbH, Oldenburg
5.265 MHASignal::doublebuffer_t Class Reference 937
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.265.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. 938)
is called whenever enough data is available.
5.265.2 Constructor & Destructor Documentation
5.265.2.1 doublebuffer_t()
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-2018 HörTech gGmbH, Oldenburg
938 CONTENTS
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.265.2.2 doublebuffer_t()
MHASignal::doublebuffer_t::doublebuffer_t ( ) [virtual]
5.265.3 Member Function Documentation
5.265.3.1 outer_process()
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.265.3.2 inner_process()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.265 MHASignal::doublebuffer_t Class Reference 939
Parameters
sPointer to input waveform fragment.
Returns
Pointer to output waveform fragment.
Implemented in db_t (p. 279).
5.265.3.3 min()
unsigned int MHASignal::doublebuffer_t::min (
unsigned int a,
unsigned int b) [inline], [private]
5.265.4 Member Data Documentation
5.265.4.1 outer_out
waveform_t MHASignal::doublebuffer_t::outer_out [private]
5.265.4.2 this_outer_out
mha_wave_t MHASignal::doublebuffer_t::this_outer_out [private]
5.265.4.3 inner_in
waveform_t MHASignal::doublebuffer_t::inner_in [private]
5.265.4.4 inner_out
waveform_t MHASignal::doublebuffer_t::inner_out [private]
© 2005-2018 HörTech gGmbH, Oldenburg
940 CONTENTS
5.265.4.5 k_inner
unsigned int MHASignal::doublebuffer_t::k_inner [private]
5.265.4.6 k_outer
unsigned int MHASignal::doublebuffer_t::k_outer [private]
5.265.4.7 ch
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.266 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)
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.266 MHASignal::fft_t Class Reference 941
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.266.1 Constructor & Destructor Documentation
5.266.1.1 fft_t()
MHASignal::fft_t::fft_t (
const unsigned int & n)
5.266.1.2 fft_t()
MHASignal::fft_t::fft_t ( )
5.266.2 Member Function Documentation
5.266.2.1 wave2spec()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
942 CONTENTS
5.266.2.2 spec2wave() [1/2]
void MHASignal::fft_t::spec2wave (
const mha_spec_t spec,
mha_wave_t wave )
5.266.2.3 spec2wave() [2/2]
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.
5.266.2.4 forward()
void MHASignal::fft_t::forward (
mha_spec_t sIn,
mha_spec_t sOut )
5.266.2.5 backward()
void MHASignal::fft_t::backward (
mha_spec_t sIn,
mha_spec_t sOut )
5.266.2.6 wave2spec_scale()
void MHASignal::fft_t::wave2spec_scale (
const mha_wave_t wave,
mha_spec_t spec,
bool swap )
© 2005-2018 HörTech gGmbH, Oldenburg
5.266 MHASignal::fft_t Class Reference 943
5.266.2.7 spec2wave_scale()
void MHASignal::fft_t::spec2wave_scale (
const mha_spec_t spec,
mha_wave_t wave )
5.266.2.8 forward_scale()
void MHASignal::fft_t::forward_scale (
mha_spec_t sIn,
mha_spec_t sOut )
5.266.2.9 backward_scale()
void MHASignal::fft_t::backward_scale (
mha_spec_t sIn,
mha_spec_t sOut )
5.266.2.10 sort_fftw2spec()
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.266.2.11 sort_spec2fftw()
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.
5.266.3 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
944 CONTENTS
5.266.3.1 nfft
unsigned int MHASignal::fft_t::nfft [private]
5.266.3.2 n_re
unsigned int MHASignal::fft_t::n_re [private]
5.266.3.3 n_im
unsigned int MHASignal::fft_t::n_im [private]
5.266.3.4 scale
mha_real_t MHASignal::fft_t::scale [private]
5.266.3.5 buf_in
mha_real_tMHASignal::fft_t::buf_in [private]
5.266.3.6 buf_out
mha_real_tMHASignal::fft_t::buf_out [private]
5.266.3.7 fftw_plan_wave2spec
rfftw_plan MHASignal::fft_t::fftw_plan_wave2spec [private]
5.266.3.8 fftw_plan_spec2wave
rfftw_plan MHASignal::fft_t::fftw_plan_spec2wave [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.267 MHASignal::hilbert_fftw_t Class Reference 945
5.266.3.9 fftw_plan_fft
fftw_plan MHASignal::fft_t::fftw_plan_fft [private]
5.266.3.10 fftw_plan_ifft
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.267 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
5.267.1 Constructor & Destructor Documentation
5.267.1.1 hilbert_fftw_t()
MHASignal::hilbert_fftw_t::hilbert_fftw_t (
unsigned int len )
© 2005-2018 HörTech gGmbH, Oldenburg
946 CONTENTS
5.267.2 Member Function Documentation
5.267.2.1 hilbert()
void MHASignal::hilbert_fftw_t::hilbert (
const mha_wave_t s_in,
mha_wave_t s_out )
5.267.3 Member Data Documentation
5.267.3.1 n
unsigned int MHASignal::hilbert_fftw_t::n [private]
5.267.3.2 p1
rfftw_plan MHASignal::hilbert_fftw_t::p1 [private]
5.267.3.3 p2
fftw_plan MHASignal::hilbert_fftw_t::p2 [private]
5.267.3.4 buf_r_in
fftw_realMHASignal::hilbert_fftw_t::buf_r_in [private]
5.267.3.5 buf_r_out
fftw_realMHASignal::hilbert_fftw_t::buf_r_out [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.268 MHASignal::hilbert_t Class Reference 947
5.267.3.6 buf_c_in
fftw_complexMHASignal::hilbert_fftw_t::buf_c_in [private]
5.267.3.7 buf_c_out
fftw_complexMHASignal::hilbert_fftw_t::buf_c_out [private]
5.267.3.8 sc
mha_real_t MHASignal::hilbert_fftw_t::sc [private]
The documentation for this class was generated from the following file:
mha_signal.cpp
5.268 MHASignal::hilbert_t Class Reference
Hilbert transformation of a waveform segment.
Inheritance diagram for MHASignal::hilbert_t:
MHASignal::hilbert_t
MHASignal::minphase_t
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.
© 2005-2018 HörTech gGmbH, Oldenburg
948 CONTENTS
Private Attributes
void h
5.268.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.268.2 Constructor & Destructor Documentation
5.268.2.1 hilbert_t()
MHASignal::hilbert_t::hilbert_t (
unsigned int len )
Parameters
len Length of waveform segment
5.268.2.2 hilbert_t()
MHASignal::hilbert_t::hilbert_t ( )
5.268.3 Member Function Documentation
5.268.3.1 operator()()
void MHASignal::hilbert_t::operator() (
const mha_wave_t s_in,
mha_wave_t s_out )
Apply Hilbert transformation on a waveform segment.
© 2005-2018 HörTech gGmbH, Oldenburg
5.269 MHASignal::loop_wavefragment_t Class Reference 949
5.268.4 Member Data Documentation
5.268.4.1 h
voidMHASignal::hilbert_t::h [private]
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
5.269 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
MHASignal::waveform_t
mha_wave_t
Public Types
• enum level_mode_t {relative,peak,rms,rms_limit40 }
Switch for playback level mode.
• enum playback_mode_t {add,replace,input,mute }
Switch for playback mode.
© 2005-2018 HörTech gGmbH, Oldenburg
950 CONTENTS
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. 949) 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
Private Attributes
• std::vector<int >playback_channels
• bool b_loop
unsigned int pos
MHASignal::waveform_t intern_level
Additional Inherited Members
5.269.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.269.2 Member Enumeration Documentation
5.269.2.1 level_mode_t
enum MHASignal::loop_wavefragment_t::level_mode_t
Switch for playback level mode.
© 2005-2018 HörTech gGmbH, Oldenburg
5.269 MHASignal::loop_wavefragment_t Class Reference 951
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.269.2.2 playback_mode_t
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.269.3 Constructor & Destructor Documentation
5.269.3.1 loop_wavefragment_t()
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. 949) based on an existing wave-
form block.
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. 950) for details)
channels Mapping of input to output channels.
startpos Starting position
© 2005-2018 HörTech gGmbH, Oldenburg
952 CONTENTS
5.269.4 Member Function Documentation
5.269.4.1 get_mapping()
std::vector<int >MHASignal::loop_wavefragment_t::get_mapping (
unsigned int channels )
5.269.4.2 playback() [1/3]
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.269.4.3 playback() [2/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-2018 HörTech gGmbH, Oldenburg
5.269 MHASignal::loop_wavefragment_t Class Reference 953
5.269.4.4 playback() [3/3]
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.269.4.5 set_level_lin()
void MHASignal::loop_wavefragment_t::set_level_lin (
mha_real_t l)
5.269.4.6 set_level_db()
void MHASignal::loop_wavefragment_t::set_level_db (
mha_real_t l)
5.269.4.7 rewind()
void MHASignal::loop_wavefragment_t::rewind ( ) [inline]
5.269.4.8 locate_end()
void MHASignal::loop_wavefragment_t::locate_end ( ) [inline]
5.269.4.9 is_playback_active()
bool MHASignal::loop_wavefragment_t::is_playback_active ( ) const [inline]
© 2005-2018 HörTech gGmbH, Oldenburg
954 CONTENTS
5.269.5 Member Data Documentation
5.269.5.1 playback_channels
std::vector<int>MHASignal::loop_wavefragment_t::playback_channels [private]
5.269.5.2 b_loop
bool MHASignal::loop_wavefragment_t::b_loop [private]
5.269.5.3 pos
unsigned int MHASignal::loop_wavefragment_t::pos [private]
5.269.5.4 intern_level
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
5.270 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
© 2005-2018 HörTech gGmbH, Oldenburg
5.270 MHASignal::matrix_t Class Reference 955
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.
• 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.
© 2005-2018 HörTech gGmbH, Oldenburg
956 CONTENTS
• 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.
Private Attributes
• uint32_t complex_ofs
• uint32_t nelements
union {
mha_real_t rdata
mha_complex_t cdata
};
Additional Inherited Members
5.270.1 Detailed Description
n-dimensional matrix with real or complex floating point values.
Warning
The member functions imag() (p. 961) and operator() should only be called if the matrix
is defined to hold complex values.
5.270.2 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.270 MHASignal::matrix_t Class Reference 957
5.270.2.1 matrix_t() [1/5]
MHASignal::matrix_t::matrix_t (
unsigned int nrows,
unsigned int ncols,
bool b_is_complex = true )
Create a two-dimensional matrix.
© 2005-2018 HörTech gGmbH, Oldenburg
958 CONTENTS
Parameters
nrows Number of rows
ncols Number of columns
b_is_complex Add space for complex values
5.270.2.2 matrix_t() [2/5]
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
5.270.2.3 matrix_t() [3/5]
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.270.2.4 matrix_t() [4/5]
MHASignal::matrix_t::matrix_t (
const MHASignal::matrix_t &src )
© 2005-2018 HörTech gGmbH, Oldenburg
5.270 MHASignal::matrix_t Class Reference 959
5.270.2.5 matrix_t() [5/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.270.2.6 matrix_t()
MHASignal::matrix_t::matrix_t ( )
5.270.3 Member Function Documentation
5.270.3.1 operator=() [1/2]
matrix_t & MHASignal::matrix_t::operator= (
const MHASignal::matrix_t &src )
5.270.3.2 operator=() [2/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. 271))
Note
The type and dimension of the AC variable must match the type and dimension of the
matrix.
© 2005-2018 HörTech gGmbH, Oldenburg
960 CONTENTS
5.270.3.3 get_comm_var()
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. 271)), valid for the life time of the matrix.
5.270.3.4 dimension()
unsigned int MHASignal::matrix_t::dimension ( ) const [inline]
Return the dimension of the matrix.
Returns
Dimension of the matrix
5.270.3.5 size()
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.270 MHASignal::matrix_t Class Reference 961
5.270.3.6 get_nelements()
unsigned int MHASignal::matrix_t::get_nelements ( ) const
Return total number of elements.
5.270.3.7 is_same_size()
bool MHASignal::matrix_t::is_same_size (
const MHASignal::matrix_t &src )
Test if matrix has same size as other.
5.270.3.8 iscomplex()
bool MHASignal::matrix_t::iscomplex ( ) const [inline]
Return information about complexity.
5.270.3.9 real() [1/4]
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.
Parameters
index Index vector
5.270.3.10 imag() [1/4]
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.
© 2005-2018 HörTech gGmbH, Oldenburg
962 CONTENTS
Parameters
index Index vector
5.270.3.11 operator()() [1/4]
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.270.3.12 real() [2/4]
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.270.3.13 imag() [2/4]
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-2018 HörTech gGmbH, Oldenburg
5.270 MHASignal::matrix_t Class Reference 963
5.270.3.14 operator()() [2/4]
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.270.3.15 real() [3/4]
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.270.3.16 imag() [3/4]
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.270.3.17 operator()() [3/4]
mha_complex_t& MHASignal::matrix_t::operator() (
© 2005-2018 HörTech gGmbH, Oldenburg
964 CONTENTS
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
5.270.3.18 real() [4/4]
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.270.3.19 imag() [4/4]
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.270.3.20 operator()() [4/4]
const mha_complex_t& MHASignal::matrix_t::operator() (
unsigned int row,
unsigned int col ) const [inline]
© 2005-2018 HörTech gGmbH, Oldenburg
5.270 MHASignal::matrix_t Class Reference 965
Access complex value of an element in a two-dimensional matrix.
Parameters
row Row number of element
col Column number of element
5.270.3.21 get_nreals()
unsigned int MHASignal::matrix_t::get_nreals ( ) const [inline]
5.270.3.22 get_index() [1/2]
unsigned int MHASignal::matrix_t::get_index (
unsigned int row,
unsigned int col ) const
5.270.3.23 get_index() [2/2]
unsigned int MHASignal::matrix_t::get_index (
const MHASignal::uint_vector_t &index ) const
5.270.3.24 numbytes()
unsigned int MHASignal::matrix_t::numbytes ( ) const
Return number of bytes needed to store into memory.
5.270.3.25 write()
unsigned int MHASignal::matrix_t::write (
uint8_t buf,
unsigned int len ) const
Copy to memory area.
© 2005-2018 HörTech gGmbH, Oldenburg
966 CONTENTS
5.270.3.26 get_rdata()
const mha_real_tMHASignal::matrix_t::get_rdata ( ) const [inline]
Return pointer of real data.
5.270.3.27 get_cdata()
const mha_complex_tMHASignal::matrix_t::get_cdata ( ) const [inline]
Return pointer of complex data.
5.270.4 Member Data Documentation
5.270.4.1 complex_ofs
uint32_t MHASignal::matrix_t::complex_ofs [private]
5.270.4.2 nelements
uint32_t MHASignal::matrix_t::nelements [private]
5.270.4.3 rdata
mha_real_tMHASignal::matrix_t::rdata
5.270.4.4 cdata
mha_complex_tMHASignal::matrix_t::cdata
© 2005-2018 HörTech gGmbH, Oldenburg
5.271 MHASignal::minphase_t Class Reference 967
5.270.4.5 "@1
union { ... } [private]
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
5.271 MHASignal::minphase_t Class Reference
Minimal phase function.
Inheritance diagram for MHASignal::minphase_t:
MHASignal::minphase_t
MHASignal::hilbert_t
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.271.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{· · ·}.
© 2005-2018 HörTech gGmbH, Oldenburg
968 CONTENTS
5.271.2 Constructor & Destructor Documentation
5.271.2.1 minphase_t()
MHASignal::minphase_t::minphase_t (
unsigned int fftlen,
unsigned int ch )
Constructor.
Parameters
fftlen FFT length
ch Number of channels
5.271.3 Member Function Documentation
5.271.3.1 operator()()
void MHASignal::minphase_t::operator() (
mha_spec_t s)
Transform input spectrum to a minimal-phase spectrum, discarding the original phase.
Parameters
sSpectrum to operate on.
5.271.4 Member Data Documentation
5.271.4.1 phase
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.272 MHASignal::quantizer_t Class Reference 969
5.272 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.272.1 Detailed Description
Simple simulation of fixpoint quantization.
5.272.2 Constructor & Destructor Documentation
5.272.2.1 quantizer_t()
MHASignal::quantizer_t::quantizer_t (
unsigned int num_bits )
Constructor.
Parameters
num_bits Number of bits to simulate, or zero for limiting to [-1,1] only.
5.272.3 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
970 CONTENTS
5.272.3.1 operator()()
void MHASignal::quantizer_t::operator() (
mha_wave_t &s)
Quantization of a waveform fragment.
Parameters
sWaveform fragment to be quantized.
5.272.4 Member Data Documentation
5.272.4.1 limit
bool MHASignal::quantizer_t::limit [private]
5.272.4.2 upscale
mha_real_t MHASignal::quantizer_t::upscale [private]
5.272.4.3 downscale
mha_real_t MHASignal::quantizer_t::downscale [private]
5.272.4.4 up_limit
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.273 MHASignal::ringbuffer_t Class Reference 971
5.273 MHASignal::ringbuffer_t Class Reference
A ringbuffer class for time domain audio signal, which makes no assumptions with respect to
fragment size.
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.
© 2005-2018 HörTech gGmbH, Oldenburg
972 CONTENTS
Additional Inherited Members
5.273.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. 974) method. Indi-
vidual audio samples can be accessed and altered using the value (p. 973) method. Blocks of
audio data can be deleted from the ringbuffer using the discard (p. 973) method.
5.273.2 Constructor & Destructor Documentation
5.273.2.1 ringbuffer_t()
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. 522)if prefilled_frames >frames
© 2005-2018 HörTech gGmbH, Oldenburg
5.273 MHASignal::ringbuffer_t Class Reference 973
5.273.3 Member Function Documentation
5.273.3.1 contained_frames()
unsigned MHASignal::ringbuffer_t::contained_frames ( ) const [inline]
number of currently contained frames
5.273.3.2 value()
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. 973) method is called.
Parameters
frame frame index, 0 corresponds to oldest frame stored.
channel audio channel
Returns
reference to contained sample value
Exceptions
MHA_Error (p. 522)if channel or frame out of bounds.
5.273.3.3 discard()
void MHASignal::ringbuffer_t::discard (
unsigned frames ) [inline]
Discards the oldest frames.
Makes room for new write (p. 974), alters base frame index for value (p. 973)
© 2005-2018 HörTech gGmbH, Oldenburg
974 CONTENTS
Parameters
frames how many frames to discard.
Exceptions
MHA_Error (p. 522)if frames >contained_frames (p. 973)
5.273.3.4 write()
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. 522)if there is not enough space or if the channel count mismatches.
Nothing is copied if the space is insufficient.
5.273.4 Member Data Documentation
5.273.4.1 next_read_frame_index
unsigned MHASignal::ringbuffer_t::next_read_frame_index [private]
Index of oldest frame in underlying storage for the ringbuffer.
This value is added to the frame parameter of the value (p. 973) method, and this value is
altered when discard (p. 973) is called.
© 2005-2018 HörTech gGmbH, Oldenburg
5.274 MHASignal::schroeder_t Class Reference 975
5.273.4.2 next_write_frame_index
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.274 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
• enum sign_t {up,down }
Enumerator for sign of Schroeder tone complex sweep direction.
typedef float(groupdelay_t) (float f, float fmin, float fmax)
Function type for group delay definition.
© 2005-2018 HörTech gGmbH, Oldenburg
976 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.274.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.274.2 Member Typedef Documentation
5.274.2.1 groupdelay_t
typedef float(MHASignal::schroeder_t::groupdelay_t) (float f, float fmin, float
fmax)
Function type for group delay definition.
© 2005-2018 HörTech gGmbH, Oldenburg
5.274 MHASignal::schroeder_t Class Reference 977
Parameters
fFrequency relative to Nyquist frequency.
fmin Minimum frequency relative to Nyquist frequency.
fmax Maximum frequency relative to Nyquist frequency.
5.274.3 Member Enumeration Documentation
5.274.3.1 sign_t
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.274.4 Constructor & Destructor Documentation
5.274.4.1 schroeder_t() [1/2]
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)
© 2005-2018 HörTech gGmbH, Oldenburg
978 CONTENTS
5.274.4.2 schroeder_t() [2/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)
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.274.5 Member Function Documentation
5.274.5.1 identity()
static float MHASignal::schroeder_t::identity (
float x,
float ,
float ) [inline], [static]
© 2005-2018 HörTech gGmbH, Oldenburg
5.275 MHASignal::spectrum_t Class Reference 979
5.274.5.2 log_up()
static float MHASignal::schroeder_t::log_up (
float x,
float fmin,
float fmax ) [inline], [static]
5.274.5.3 log_down()
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.275 MHASignal::spectrum_t Class Reference
a signal processing class for spectral data (based on mha_spec_t (p. 547))
Inheritance diagram for MHASignal::spectrum_t:
MHASignal::spectrum_t
hilbert_shifter_t MHA_AC::spectrum_t
mha_spec_t
MHAMultiSrc::spectrum_t wave2spec_t
© 2005-2018 HörTech gGmbH, Oldenburg
980 CONTENTS
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
• 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.275.1 Detailed Description
a signal processing class for spectral data (based on mha_spec_t (p. 547))
5.275.2 Constructor & Destructor Documentation
5.275.2.1 spectrum_t() [1/4]
spectrum_t::spectrum_t (
const unsigned int & frames,
const unsigned int & channels )
constructor of spectrum class
Allocates buffers and initializes memory to zeros.
© 2005-2018 HörTech gGmbH, Oldenburg
5.275 MHASignal::spectrum_t Class Reference 981
Parameters
frames number of frames (fft bins) in one channel. Number of Frames is usually fftlen /
2+1
channels number of channels
5.275.2.2 spectrum_t() [2/4]
spectrum_t::spectrum_t (
const mha_spec_t &src ) [explicit]
Copy constructor.
5.275.2.3 spectrum_t() [3/4]
spectrum_t::spectrum_t (
const MHASignal::spectrum_t &src )
Copy constructor.
5.275.2.4 spectrum_t() [4/4]
spectrum_t::spectrum_t (
const std::vector<mha_complex_t >&src )
5.275.2.5 spectrum_t()
spectrum_t::spectrum_t (
void ) [virtual]
Reimplemented in MHA_AC::spectrum_t (p. 493).
5.275.3 Member Function Documentation
5.275.3.1 operator()()
mha_complex_t& MHASignal::spectrum_t::operator() (
unsigned int f,
unsigned int ch ) [inline]
Access to element.
© 2005-2018 HörTech gGmbH, Oldenburg
982 CONTENTS
Parameters
fBin number
ch Channel number
Returns
Reference to element
5.275.3.2 operator[]()
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.275.3.3 value()
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-2018 HörTech gGmbH, Oldenburg
5.275 MHASignal::spectrum_t Class Reference 983
5.275.3.4 copy()
void spectrum_t::copy (
const mha_spec_t &src )
copy all elements from a spectrum
Parameters
src input spectrum
5.275.3.5 copy_channel()
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.275.3.6 export_to()
void spectrum_t::export_to (
mha_spec_t &dest )
copy elements to spectrum structure
Parameters
dest destination spectrum structure
5.275.3.7 scale()
void spectrum_t::scale (
const unsigned int & a,
© 2005-2018 HörTech gGmbH, Oldenburg
984 CONTENTS
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.275.3.8 scale_channel()
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.276 MHASignal::stat_t Class Reference 985
5.276 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
5.276.1 Constructor & Destructor Documentation
5.276.1.1 stat_t()
MHASignal::stat_t::stat_t (
const unsigned int & frames,
const unsigned int & channels )
5.276.2 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
986 CONTENTS
5.276.2.1 mean()
void MHASignal::stat_t::mean (
mha_wave_t &m)
5.276.2.2 mean_std()
void MHASignal::stat_t::mean_std (
mha_wave_t &m,
mha_wave_t &s)
5.276.2.3 push() [1/2]
void MHASignal::stat_t::push (
const mha_wave_t &x)
5.276.2.4 push() [2/2]
void MHASignal::stat_t::push (
const mha_real_t &x,
const unsigned int & k,
const unsigned int & ch )
5.276.3 Member Data Documentation
5.276.3.1 n
MHASignal::waveform_t MHASignal::stat_t::n [private]
5.276.3.2 sum
MHASignal::waveform_t MHASignal::stat_t::sum [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.277 MHASignal::subsample_delay_t Class Reference 987
5.276.3.3 sum2
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.277 MHASignal::subsample_delay_t Class Reference
implements subsample delay in spectral domain.
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.277.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.277.2 Constructor & Destructor Documentation
5.277.2.1 subsample_delay_t()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
988 CONTENTS
Parameters
subsample_delay The subsample delay to apply. -0.5 <= subsample_delay <= 0.5
fftlen FFT length
Exceptions
MHA_Error (p. 522)if the parameters are out of range
5.277.3 Member Function Documentation
5.277.3.1 process() [1/2]
void MHASignal::subsample_delay_t::process (
mha_spec_t s)
Apply the phase_gains to s to achieve the subsample delay.
5.277.3.2 process() [2/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. 522)if idx >= s->num_channels
5.277.4 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.278 MHASignal::uint_vector_t Class Reference 989
5.277.4.1 phase_gains
spectrum_t MHASignal::subsample_delay_t::phase_gains
The complex factors to apply to achieve the necessary phase shift.
5.277.4.2 last_complex_bin
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
5.278 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
© 2005-2018 HörTech gGmbH, Oldenburg
990 CONTENTS
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. 989).
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.
Protected Attributes
• uint32_t length
uint32_t data
5.278.1 Detailed Description
Vector of unsigned values, used for size and index description of n-dimensional matrixes.
5.278.2 Constructor & Destructor Documentation
5.278.2.1 uint_vector_t() [1/3]
MHASignal::uint_vector_t::uint_vector_t (
unsigned int len )
Constructor, initializes all elements to zero.
© 2005-2018 HörTech gGmbH, Oldenburg
5.278 MHASignal::uint_vector_t Class Reference 991
Parameters
len Length of vector.
5.278.2.2 uint_vector_t() [2/3]
MHASignal::uint_vector_t::uint_vector_t (
const uint_vector_t &src )
5.278.2.3 uint_vector_t() [3/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.278.2.4 uint_vector_t()
MHASignal::uint_vector_t::uint_vector_t ( )
5.278.3 Member Function Documentation
5.278.3.1 operator==()
bool MHASignal::uint_vector_t::operator== (
const uint_vector_t &src ) const
Check for equality.
© 2005-2018 HörTech gGmbH, Oldenburg
992 CONTENTS
5.278.3.2 operator=()
uint_vector_t & MHASignal::uint_vector_t::operator= (
const uint_vector_t &src )
Assign from other uint_vector_t (p. 989).
Warning
This assignment will fail if the lengths mismatch.
5.278.3.3 get_length()
unsigned int MHASignal::uint_vector_t::get_length ( ) const [inline]
Return the length of the vector.
5.278.3.4 operator[]() [1/2]
const uint32_t& MHASignal::uint_vector_t::operator[ ] (
unsigned int k) const [inline]
Read-only access to elements.
5.278.3.5 operator[]() [2/2]
uint32_t& MHASignal::uint_vector_t::operator[ ] (
unsigned int k) [inline]
Access to elements.
5.278.3.6 numbytes()
unsigned int MHASignal::uint_vector_t::numbytes ( ) const
Return number of bytes needed to store into memory.
© 2005-2018 HörTech gGmbH, Oldenburg
5.279 MHASignal::waveform_t Class Reference 993
5.278.3.7 write()
unsigned int MHASignal::uint_vector_t::write (
uint8_t buf,
unsigned int len ) const
Copy to memory area.
5.278.3.8 getdata()
const uint32_tMHASignal::uint_vector_t::getdata ( ) const [inline]
Return pointer to the data field.
5.278.4 Member Data Documentation
5.278.4.1 length
uint32_t MHASignal::uint_vector_t::length [protected]
5.278.4.2 data
uint32_tMHASignal::uint_vector_t::data [protected]
The documentation for this class was generated from the following files:
mha_signal.hh
mha_signal.cpp
5.279 MHASignal::waveform_t Class Reference
signal processing class for waveform data (based on mha_wave_t (p. 583))
Inheritance diagram for MHASignal::waveform_t:
MHASignal::waveform_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
MHAMultiSrc::waveform_t
mon_t
MHAFilter::o1flt_lowpass_t
MHAFilter::o1flt_maxtrack_t
MHAFilter::o1flt_mintrack_t
coherence::cohflt_t
MHAOvlFilter::overlap
_save_filterbank_t
multibandcompressor
::fftfb_plug_t
MHAOvlFilter::overlap
_save_filterbank_analytic_t fftfilterbank::fftfb
_plug_t
MHAWindow::fun_t
MHAWindow::user_t
MHAWindow::bartlett_t
MHAWindow::blackman_t
MHAWindow::hamming_t
MHAWindow::hanning_t
MHAWindow::rect_t
© 2005-2018 HörTech gGmbH, Oldenburg
994 CONTENTS
Public Member Functions
waveform_t (const unsigned int &frames, const unsigned int & channels)
constructor of waveform_t (p. 993)
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. 583) 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
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.279 MHASignal::waveform_t Class Reference 995
• 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. 583) 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
Additional Inherited Members
5.279.1 Detailed Description
signal processing class for waveform data (based on mha_wave_t (p. 583))
5.279.2 Constructor & Destructor Documentation
5.279.2.1 waveform_t() [1/5]
waveform_t::waveform_t (
const unsigned int & frames,
const unsigned int & channels )
constructor of waveform_t (p. 993)
Allocates buffer memory and initializes values to zero.
© 2005-2018 HörTech gGmbH, Oldenburg
996 CONTENTS
Parameters
frames number of frames in each channel
channels number of channels
5.279.2.2 waveform_t() [2/5]
waveform_t::waveform_t (
const mhaconfig_t &cf ) [explicit]
Constructor to create a waveform from plugin configuration.
Parameters
cf Plugin configuration
5.279.2.3 waveform_t() [3/5]
waveform_t::waveform_t (
const mha_wave_t &src ) [explicit]
Copy contructor for mha_wave_t (p. 583) source.
5.279.2.4 waveform_t() [4/5]
waveform_t::waveform_t (
const MHASignal::waveform_t &src )
Copy contructor.
5.279.2.5 waveform_t() [5/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-2018 HörTech gGmbH, Oldenburg
5.279 MHASignal::waveform_t Class Reference 997
5.279.2.6 waveform_t()
waveform_t::waveform_t (
void ) [virtual]
Reimplemented in MHA_AC::waveform_t (p. 497).
5.279.3 Member Function Documentation
5.279.3.1 operator=()
void MHASignal::waveform_t::operator= (
const mha_real_t &v) [inline]
5.279.3.2 operator[]() [1/2]
mha_real_t& MHASignal::waveform_t::operator[ ] (
unsigned int k) [inline]
5.279.3.3 operator[]() [2/2]
const mha_real_t& MHASignal::waveform_t::operator[ ] (
unsigned int k) const [inline]
5.279.3.4 value() [1/2]
mha_real_t& MHASignal::waveform_t::value (
unsigned int t,
unsigned int ch ) [inline]
Element accessor.
Parameters
tFrame number
ch Channel number
© 2005-2018 HörTech gGmbH, Oldenburg
998 CONTENTS
Returns
Reference to element
5.279.3.5 operator()() [1/2]
mha_real_t& MHASignal::waveform_t::operator() (
unsigned int t,
unsigned int ch ) [inline]
Element accessor.
Parameters
tFrame number
ch Channel number
Returns
Reference to element
5.279.3.6 value() [2/2]
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.279 MHASignal::waveform_t Class Reference 999
5.279.3.7 operator()() [2/2]
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.279.3.8 sum() [1/3]
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)
Returns
sum
5.279.3.9 sum() [2/3]
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
© 2005-2018 HörTech gGmbH, Oldenburg
1000 CONTENTS
Parameters
astarting frame
bend frame (exluded)
ch channel number
Returns
sum
5.279.3.10 sum() [3/3]
mha_real_t waveform_t::sum ( )
sum of all elements
Returns
sum of all elements
5.279.3.11 sumsqr()
mha_real_t waveform_t::sumsqr ( )
sum of square of all elements
Returns
sum of square of all elements
5.279.3.12 sum_channel()
mha_real_t waveform_t::sum_channel (
const unsigned int & ch )
return sum of all elements in one channel
© 2005-2018 HörTech gGmbH, Oldenburg
5.279 MHASignal::waveform_t Class Reference 1001
Parameters
ch channel number
Returns
sum
5.279.3.13 assign() [1/2]
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.279.3.14 assign() [2/2]
void waveform_t::assign (
const mha_real_t &val )
set all elements to value
Parameters
val new value
5.279.3.15 assign_frame()
void waveform_t::assign_frame (
const unsigned int & k,
const mha_real_t &val )
assign value "val" to frame k in all channels
© 2005-2018 HörTech gGmbH, Oldenburg
1002 CONTENTS
Parameters
kframe number
val new value
5.279.3.16 assign_channel()
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.279.3.17 copy() [1/3]
void waveform_t::copy (
const std::vector<mha_real_t >&v)
5.279.3.18 copy() [2/3]
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.279.3.19 copy() [3/3]
void waveform_t::copy (
const mha_wave_t src )
© 2005-2018 HörTech gGmbH, Oldenburg
5.279 MHASignal::waveform_t Class Reference 1003
5.279.3.20 copy_channel()
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
5.279.3.21 copy_from_at()
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.279.3.22 export_to()
void waveform_t::export_to (
mha_wave_t &dest )
copy data into allocated mha_wave_t (p. 583) structure
© 2005-2018 HörTech gGmbH, Oldenburg
1004 CONTENTS
Parameters
dest destination structure
5.279.3.23 limit()
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.279.3.24 power()
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)
5.279.3.25 powspec()
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)
© 2005-2018 HörTech gGmbH, Oldenburg
5.279 MHASignal::waveform_t Class Reference 1005
5.279.3.26 scale() [1/2]
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.279.3.27 scale() [2/2]
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.279.3.28 scale_channel()
void waveform_t::scale_channel (
const unsigned int & ch,
const mha_real_t &src )
scale one channel of target with a scalar
© 2005-2018 HörTech gGmbH, Oldenburg
1006 CONTENTS
Parameters
ch channel number
src factor
5.279.3.29 scale_frame()
void waveform_t::scale_frame (
const unsigned int & frame,
const mha_real_t &val )
5.279.3.30 get_size()
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.280 MHASndFile::sf_t Class Reference
Inheritance diagram for MHASndFile::sf_t:
MHASndFile::sf_t
MHASndFile::sf_wave_t
Public Member Functions
sf_t (const std::string &fname)
sf_t ()
© 2005-2018 HörTech gGmbH, Oldenburg
5.281 MHASndFile::sf_wave_t Class Reference 1007
Public Attributes
SNDFILE sf
5.280.1 Constructor & Destructor Documentation
5.280.1.1 sf_t()
MHASndFile::sf_t::sf_t (
const std::string & fname )
5.280.1.2 sf_t()
MHASndFile::sf_t::sf_t ( )
5.280.2 Member Data Documentation
5.280.2.1 sf
SNDFILEMHASndFile::sf_t::sf
The documentation for this class was generated from the following files:
mhasndfile.h
mhasndfile.cpp
5.281 MHASndFile::sf_wave_t Class Reference
Inheritance diagram for MHASndFile::sf_wave_t:
MHASndFile::sf_wave_t
MHASndFile::sf_t MHASignal::waveform_t
mha_wave_t
© 2005-2018 HörTech gGmbH, Oldenburg
1008 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.281.1 Constructor & Destructor Documentation
5.281.1.1 sf_wave_t()
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.282 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-2018 HörTech gGmbH, Oldenburg
5.282 MHATableLookup::linear_table_t Class Reference 1009
Public Member Functions
linear_table_t (void)
contructor creates an empty linear_table_t (p. 1008) 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.282.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-2018 HörTech gGmbH, Oldenburg
1010 CONTENTS
5.282.2 Constructor & Destructor Documentation
5.282.2.1 linear_table_t()
linear_table_t::linear_table_t (
void )
contructor creates an empty linear_table_t (p. 1008) 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.282.2.2 linear_table_t()
linear_table_t::linear_table_t (
void )
destructor
5.282.3 Member Function Documentation
5.282.3.1 lookup()
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. 1014).
© 2005-2018 HörTech gGmbH, Oldenburg
5.282 MHATableLookup::linear_table_t Class Reference 1011
5.282.3.2 interp()
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. 1014).
5.282.3.3 set_xmin()
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.282.3.4 add_entry()
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.282.3.5 set_xmax()
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;
© 2005-2018 HörTech gGmbH, Oldenburg
1012 CONTENTS
5.282.3.6 prepare()
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.
5.282.3.7 clear()
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. 1015).
5.282.4 Member Data Documentation
5.282.4.1 vy
mha_real_tMHATableLookup::linear_table_t::vy [protected]
5.282.4.2 len
unsigned int MHATableLookup::linear_table_t::len [protected]
© 2005-2018 HörTech gGmbH, Oldenburg
5.283 MHATableLookup::table_t Class Reference 1013
5.282.4.3 vec_y
vector<mha_real_t>MHATableLookup::linear_table_t::vec_y [private]
5.282.4.4 xmin
mha_real_t MHATableLookup::linear_table_t::xmin [private]
5.282.4.5 xmax
mha_real_t MHATableLookup::linear_table_t::xmax [private]
5.282.4.6 scalefac
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.283 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-2018 HörTech gGmbH, Oldenburg
1014 CONTENTS
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.283.1 Constructor & Destructor Documentation
5.283.1.1 table_t()
table_t::table_t (
void )
5.283.1.2 table_t()
table_t::table_t (
void ) [virtual]
5.283.2 Member Function Documentation
5.283.2.1 lookup()
virtual mha_real_t MHATableLookup::table_t::lookup (
mha_real_t ) const [pure virtual]
Implemented in MHATableLookup::xy_table_t (p. 1017), and MHATableLookup::linear_-
table_t (p. 1010).
© 2005-2018 HörTech gGmbH, Oldenburg
5.284 MHATableLookup::xy_table_t Class Reference 1015
5.283.2.2 interp()
virtual mha_real_t MHATableLookup::table_t::interp (
mha_real_t ) const [pure virtual]
Implemented in MHATableLookup::xy_table_t (p. 1017), and MHATableLookup::linear_-
table_t (p. 1010).
5.283.2.3 clear()
virtual void MHATableLookup::table_t::clear (
void ) [protected], [pure virtual]
Implemented in MHATableLookup::xy_table_t (p. 1018), and MHATableLookup::linear_-
table_t (p. 1012).
The documentation for this class was generated from the following files:
mha_tablelookup.hh
mha_tablelookup.cpp
5.284 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
© 2005-2018 HörTech gGmbH, Oldenburg
1016 CONTENTS
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.
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.284.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 argu-
ment of xy_table_t::interp() (p. 1017) and xy_table_t::lookup() (p. 1017). 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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.284 MHATableLookup::xy_table_t Class Reference 1017
5.284.2 Constructor & Destructor Documentation
5.284.2.1 xy_table_t()
xy_table_t::xy_table_t ( )
5.284.3 Member Function Documentation
5.284.3.1 lookup()
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. 1014).
5.284.3.2 interp()
mha_real_t xy_table_t::interp (
mha_real_t x) const [virtual]
Linear interpolation function.
Parameters
xx value
© 2005-2018 HörTech gGmbH, Oldenburg
1018 CONTENTS
Returns
interpolated y value
Implements MHATableLookup::table_t (p. 1014).
5.284.3.3 add_entry() [1/2]
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.284.3.4 add_entry() [2/2]
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.284.3.5 clear()
void xy_table_t::clear (
void ) [virtual]
Clear the table and transformation functions.
Implements MHATableLookup::table_t (p. 1015).
© 2005-2018 HörTech gGmbH, Oldenburg
5.284 MHATableLookup::xy_table_t Class Reference 1019
5.284.3.6 set_xfun()
void xy_table_t::set_xfun (
float()(float) fun )
Set transformation function for x values.
Parameters
fun Transformation function.
5.284.3.7 set_yfun()
void xy_table_t::set_yfun (
float()(float) fun )
Set transformation function for y values during insertion.
Parameters
fun Transformation function.
5.284.3.8 set_xyfun()
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.284.3.9 get_xlimits()
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
© 2005-2018 HörTech gGmbH, Oldenburg
1020 CONTENTS
5.284.4 Member Data Documentation
5.284.4.1 mXY
std::map<mha_real_t,mha_real_t>MHATableLookup::xy_table_t::mXY [private]
5.284.4.2 xfun
float(MHATableLookup::xy_table_t::xfun) (float) [private]
5.284.4.3 yfun
float(MHATableLookup::xy_table_t::yfun) (float) [private]
5.284.4.4 xyfun
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
5.285 MHAWindow::bartlett_t Class Reference
Bartlett window.
© 2005-2018 HörTech gGmbH, Oldenburg
5.285 MHAWindow::bartlett_t Class Reference 1021
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.285.1 Detailed Description
Bartlett window.
5.285.2 Constructor & Destructor Documentation
5.285.2.1 bartlett_t()
MHAWindow::bartlett_t::bartlett_t (
unsigned int n) [inline]
The documentation for this class was generated from the following file:
mha_windowparser.h
© 2005-2018 HörTech gGmbH, Oldenburg
1022 CONTENTS
5.286 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.286.1 Detailed Description
Common base for window types.
5.286.2 Constructor & Destructor Documentation
5.286.2.1 base_t() [1/2]
MHAWindow::base_t::base_t (
unsigned int len )
Constructor.
© 2005-2018 HörTech gGmbH, Oldenburg
5.286 MHAWindow::base_t Class Reference 1023
Parameters
len Window length in samples.
5.286.2.2 base_t() [2/2]
MHAWindow::base_t::base_t (
const MHAWindow::base_t &src )
Copy constructor.
Parameters
src Source to be copied
5.286.3 Member Function Documentation
5.286.3.1 operator()() [1/2]
void MHAWindow::base_t::operator() (
mha_wave_t &s) const
Apply window to waveform segment (reference)
5.286.3.2 operator()() [2/2]
void MHAWindow::base_t::operator() (
mha_wave_t s) const
Apply window to waveform segment (pointer)
5.286.3.3 ramp_begin()
void MHAWindow::base_t::ramp_begin (
mha_wave_t &s) const
Apply a ramp at the begining.
© 2005-2018 HörTech gGmbH, Oldenburg
1024 CONTENTS
5.286.3.4 ramp_end()
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
5.287 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)
© 2005-2018 HörTech gGmbH, Oldenburg
5.288 MHAWindow::fun_t Class Reference 1025
Additional Inherited Members
5.287.1 Detailed Description
Blackman window.
5.287.2 Constructor & Destructor Documentation
5.287.2.1 blackman_t()
MHAWindow::blackman_t::blackman_t (
unsigned int n) [inline]
The documentation for this class was generated from the following file:
mha_windowparser.h
5.288 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.
© 2005-2018 HörTech gGmbH, Oldenburg
1026 CONTENTS
Additional Inherited Members
5.288.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.288.2 Constructor & Destructor Documentation
5.288.2.1 fun_t()
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.
Parameters
nWindow length
fun Generator function, i.e. MHAWindow::hanning() (p. 142)
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.289 MHAWindow::hamming_t Class Reference
Hamming window.
© 2005-2018 HörTech gGmbH, Oldenburg
5.289 MHAWindow::hamming_t Class Reference 1027
Inheritance diagram for MHAWindow::hamming_t:
MHAWindow::hamming_t
MHAWindow::fun_t
MHAWindow::base_t
MHASignal::waveform_t
mha_wave_t
Public Member Functions
hamming_t (unsigned int n)
Additional Inherited Members
5.289.1 Detailed Description
Hamming window.
5.289.2 Constructor & Destructor Documentation
5.289.2.1 hamming_t()
MHAWindow::hamming_t::hamming_t (
unsigned int n) [inline]
The documentation for this class was generated from the following file:
mha_windowparser.h
© 2005-2018 HörTech gGmbH, Oldenburg
1028 CONTENTS
5.290 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
Public Member Functions
hanning_t (unsigned int n)
Additional Inherited Members
5.290.1 Detailed Description
von-Hann window
5.290.2 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.291 MHAWindow::rect_t Class Reference 1029
5.290.2.1 hanning_t()
MHAWindow::hanning_t::hanning_t (
unsigned int n) [inline]
The documentation for this class was generated from the following file:
mha_windowparser.h
5.291 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
Public Member Functions
rect_t (unsigned int n)
© 2005-2018 HörTech gGmbH, Oldenburg
1030 CONTENTS
Additional Inherited Members
5.291.1 Detailed Description
Rectangular window.
5.291.2 Constructor & Destructor Documentation
5.291.2.1 rect_t()
MHAWindow::rect_t::rect_t (
unsigned int n) [inline]
The documentation for this class was generated from the following file:
mha_windowparser.h
5.292 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-2018 HörTech gGmbH, Oldenburg
5.292 MHAWindow::user_t Class Reference 1031
Public Member Functions
user_t (const std::vector<mha_real_t >&wnd)
Constructor.
Additional Inherited Members
5.292.1 Detailed Description
User defined window.
5.292.2 Constructor & Destructor Documentation
5.292.2.1 user_t()
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-2018 HörTech gGmbH, Oldenburg
1032 CONTENTS
5.293 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, MH-
AParser::parser_t &p, std::string help)
• void store ()
Additional Inherited Members
5.293.1 Constructor & Destructor Documentation
5.293.1.1 mon_t()
mon_t::mon_t (
unsigned int nch,
std::string name,
algo_comm_t ac,
std::string base,
MHAParser::parser_t &p,
std::string help )
© 2005-2018 HörTech gGmbH, Oldenburg
5.294 multibandcompressor::fftfb_plug_t Class Reference 1033
5.293.2 Member Function Documentation
5.293.2.1 store()
void mon_t::store ( )
The documentation for this class was generated from the following file:
rmslevel.cpp
5.294 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_t
ac, std::string alg)
• void insert ()
© 2005-2018 HörTech gGmbH, Oldenburg
1034 CONTENTS
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
Additional Inherited Members
5.294.1 Constructor & Destructor Documentation
5.294.1.1 fftfb_plug_t()
multibandcompressor::fftfb_plug_t::fftfb_plug_t (
MHAOvlFilter::fftfb_vars_t &vars,
const mhaconfig_t &cfg,
algo_comm_t ac,
std::string alg )
5.294.2 Member Function Documentation
5.294.2.1 insert()
void multibandcompressor::fftfb_plug_t::insert ( )
5.294.3 Member Data Documentation
5.294.3.1 cfv
MHA_AC::waveform_t multibandcompressor::fftfb_plug_t::cfv [private]
vector of nominal center frequencies / Hz
© 2005-2018 HörTech gGmbH, Oldenburg
5.295 multibandcompressor::interface_t Class Reference 1035
5.294.3.2 efv
MHA_AC::waveform_t multibandcompressor::fftfb_plug_t::efv [private]
vector of edge frequencies / Hz
5.294.3.3 bwv
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
5.295 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
© 2005-2018 HörTech gGmbH, Oldenburg
1036 CONTENTS
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
Additional Inherited Members
5.295.1 Constructor & Destructor Documentation
5.295.1.1 interface_t()
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.295 multibandcompressor::interface_t Class Reference 1037
5.295.2 Member Function Documentation
5.295.2.1 prepare()
void multibandcompressor::interface_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<fftfb_plug_t >(p. 884).
5.295.2.2 release()
void multibandcompressor::interface_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<fftfb_plug_t >(p. 885).
5.295.2.3 process()
mha_spec_t multibandcompressor::interface_t::process (
mha_spec_t s)
5.295.2.4 update_cfg()
void multibandcompressor::interface_t::update_cfg ( ) [private]
5.295.3 Member Data Documentation
5.295.3.1 num_channels
int multibandcompressor::interface_t::num_channels [private]
© 2005-2018 HörTech gGmbH, Oldenburg
1038 CONTENTS
5.295.3.2 burn
DynComp::dc_afterburn_t multibandcompressor::interface_t::burn [private]
5.295.3.3 patchbay
MHAEvents::patchbay_t<interface_t>multibandcompressor::interface_t::patchbay
[private]
5.295.3.4 algo
std::string multibandcompressor::interface_t::algo [private]
5.295.3.5 plug
MHAParser::mhapluginloader_t multibandcompressor::interface_t::plug [private]
5.295.3.6 plug_sigs
plugin_signals_tmultibandcompressor::interface_t::plug_sigs [private]
The documentation for this class was generated from the following file:
multibandcompressor.cpp
5.296 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
© 2005-2018 HörTech gGmbH, Oldenburg
5.296 multibandcompressor::plugin_signals_t Class Reference1039
Private Attributes
MHASignal::waveform_t plug_level
MHASignal::waveform_t gain
5.296.1 Constructor & Destructor Documentation
5.296.1.1 plugin_signals_t()
multibandcompressor::plugin_signals_t::plugin_signals_t (
unsigned int channels,
unsigned int bands )
5.296.2 Member Function Documentation
5.296.2.1 update_levels()
void multibandcompressor::plugin_signals_t::update_levels (
MHAOvlFilter::fftfb_t pFb,
mha_spec_t s_in )
5.296.2.2 apply_gains()
void multibandcompressor::plugin_signals_t::apply_gains (
MHAOvlFilter::fftfb_t pFb,
DynComp::dc_afterburn_t &burn,
mha_spec_t s_out )
5.296.3 Member Data Documentation
5.296.3.1 plug_level
MHASignal::waveform_t multibandcompressor::plugin_signals_t::plug_level [private]
© 2005-2018 HörTech gGmbH, Oldenburg
1040 CONTENTS
5.296.3.2 gain
MHASignal::waveform_t multibandcompressor::plugin_signals_t::gain [private]
5.296.3.3 plug_output
mha_wave_tmultibandcompressor::plugin_signals_t::plug_output
The documentation for this class was generated from the following file:
multibandcompressor.cpp
5.297 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 )
© 2005-2018 HörTech gGmbH, Oldenburg
5.297 nlms_t Class Reference 1041
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
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.297.1 Constructor & Destructor Documentation
5.297.1.1 nlms_t()
nlms_t::nlms_t (
algo_comm_t ac,
const char ,
const char ialg )
5.297.2 Member Function Documentation
5.297.2.1 prepare()
void nlms_t::prepare (
mhaconfig_t &cf ) [virtual]
Implements MHAPlugin::plugin_t<rt_nlms_t >(p. 884).
© 2005-2018 HörTech gGmbH, Oldenburg
1042 CONTENTS
5.297.2.2 release()
void nlms_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<rt_nlms_t >(p. 885).
5.297.2.3 process()
mha_wave_t nlms_t::process (
mha_wave_t s)
5.297.2.4 update()
void nlms_t::update ( ) [private]
5.297.3 Member Data Documentation
5.297.3.1 rho
MHAParser::float_t nlms_t::rho [private]
5.297.3.2 c
MHAParser::float_t nlms_t::c [private]
5.297.3.3 ntaps
MHAParser::int_t nlms_t::ntaps [private]
5.297.3.4 name_u
MHAParser::string_t nlms_t::name_u [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.297 nlms_t Class Reference 1043
5.297.3.5 name_d
MHAParser::string_t nlms_t::name_d [private]
5.297.3.6 normtype
MHAParser::kw_t nlms_t::normtype [private]
5.297.3.7 estimtype
MHAParser::kw_t nlms_t::estimtype [private]
5.297.3.8 lambda_smoothing_power
MHAParser::float_t nlms_t::lambda_smoothing_power [private]
5.297.3.9 name_e
MHAParser::string_t nlms_t::name_e [private]
5.297.3.10 name_f
MHAParser::string_t nlms_t::name_f [private]
5.297.3.11 n_no_update
MHAParser::int_t nlms_t::n_no_update [private]
5.297.3.12 algo
std::string nlms_t::algo [private]
© 2005-2018 HörTech gGmbH, Oldenburg
1044 CONTENTS
5.297.3.13 patchbay
MHAEvents::patchbay_t<nlms_t>nlms_t::patchbay [private]
The documentation for this class was generated from the following file:
nlms_wave.cpp
5.298 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 >
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.298 noise_t Class Reference 1045
Additional Inherited Members
5.298.1 Constructor & Destructor Documentation
5.298.1.1 noise_t()
noise_t::noise_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.298.2 Member Function Documentation
5.298.2.1 process() [1/2]
mha_wave_t noise_t::process (
mha_wave_t s)
5.298.2.2 process() [2/2]
mha_spec_t noise_t::process (
mha_spec_t s)
5.298.2.3 prepare()
void noise_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<cfg_t >(p. 884).
5.298.2.4 update_cfg()
void noise_t::update_cfg ( )
© 2005-2018 HörTech gGmbH, Oldenburg
1046 CONTENTS
5.298.3 Member Data Documentation
5.298.3.1 lev
MHAParser::float_t noise_t::lev [private]
5.298.3.2 mode
MHAParser::kw_t noise_t::mode [private]
5.298.3.3 frozennoise_length
MHAParser::float_t noise_t::frozennoise_length [private]
5.298.3.4 patchbay
MHAEvents::patchbay_t<noise_t>noise_t::patchbay [private]
The documentation for this class was generated from the following file:
noise.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
5.299 noisePowProposedScale::interface_t Class Reference 1047
5.299 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 >
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
© 2005-2018 HörTech gGmbH, Oldenburg
1048 CONTENTS
Additional Inherited Members
5.299.1 Constructor & Destructor Documentation
5.299.1.1 interface_t()
noisePowProposedScale::interface_t::interface_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & iname )
5.299.2 Member Function Documentation
5.299.2.1 process()
mha_spec_t noisePowProposedScale::interface_t::process (
mha_spec_t s)
5.299.2.2 prepare()
void noisePowProposedScale::interface_t::prepare (
mhaconfig_t &cf ) [virtual]
Implements MHAPlugin::plugin_t<noisePowProposed >(p. 884).
5.299.2.3 update_cfg()
void noisePowProposedScale::interface_t::update_cfg (
void ) [private]
5.299.3 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.300 noisePowProposedScale::noisePowProposed Class
Reference 1049
5.299.3.1 alphaPH1mean
MHAParser::float_t noisePowProposedScale::interface_t::alphaPH1mean [private]
5.299.3.2 alphaPSD
MHAParser::float_t noisePowProposedScale::interface_t::alphaPSD [private]
5.299.3.3 q
MHAParser::float_t noisePowProposedScale::interface_t::q [private]
5.299.3.4 xiOptDb
MHAParser::float_t noisePowProposedScale::interface_t::xiOptDb [private]
5.299.3.5 name
std::string noisePowProposedScale::interface_t::name [private]
5.299.3.6 patchbay
MHAEvents::patchbay_t<interface_t>noisePowProposedScale::interface_t::patchbay
[private]
The documentation for this class was generated from the following file:
noisePowProposedScale.cpp
5.300 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 ()
© 2005-2018 HörTech gGmbH, Oldenburg
1050 CONTENTS
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
5.300.1 Constructor & Destructor Documentation
5.300.1.1 noisePowProposed()
noisePowProposedScale::noisePowProposed::noisePowProposed (
const mhaconfig_t &cf,
algo_comm_t ac,
const std::string & name,
float alphaPH1mean,
float alphaPSD,
float q,
float xiOptDb )
5.300.2 Member Function Documentation
5.300.2.1 process()
void noisePowProposedScale::noisePowProposed::process (
mha_spec_t noisyDftFrame )
© 2005-2018 HörTech gGmbH, Oldenburg
5.300 noisePowProposedScale::noisePowProposed Class
Reference 1051
5.300.2.2 insert()
void noisePowProposedScale::noisePowProposed::insert ( ) [inline]
5.300.3 Member Data Documentation
5.300.3.1 noisyPer
MHASignal::waveform_t noisePowProposedScale::noisePowProposed::noisyPer [private]
5.300.3.2 PH1mean
MHASignal::waveform_t noisePowProposedScale::noisePowProposed::PH1mean [private]
5.300.3.3 noisePow
MHA_AC::waveform_t noisePowProposedScale::noisePowProposed::noisePow [private]
5.300.3.4 inputPow
MHA_AC::waveform_t noisePowProposedScale::noisePowProposed::inputPow [private]
5.300.3.5 snrPost1Debug
MHA_AC::waveform_t noisePowProposedScale::noisePowProposed::snrPost1Debug [private]
5.300.3.6 GLRDebug
MHA_AC::waveform_t noisePowProposedScale::noisePowProposed::GLRDebug [private]
© 2005-2018 HörTech gGmbH, Oldenburg
1052 CONTENTS
5.300.3.7 PH1Debug
MHA_AC::waveform_t noisePowProposedScale::noisePowProposed::PH1Debug [private]
5.300.3.8 estimateDebug
MHA_AC::waveform_t noisePowProposedScale::noisePowProposed::estimateDebug [private]
5.300.3.9 inputSpec
MHA_AC::spectrum_t noisePowProposedScale::noisePowProposed::inputSpec [private]
5.300.3.10 alphaPH1mean_
float noisePowProposedScale::noisePowProposed::alphaPH1mean_ [private]
5.300.3.11 alphaPSD_
float noisePowProposedScale::noisePowProposed::alphaPSD_ [private]
5.300.3.12 priorFact
float noisePowProposedScale::noisePowProposed::priorFact [private]
5.300.3.13 xiOpt
float noisePowProposedScale::noisePowProposed::xiOpt [private]
5.300.3.14 logGLRFact
float noisePowProposedScale::noisePowProposed::logGLRFact [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.301 overlapadd::overlapadd_if_t Class Reference 1053
5.300.3.15 GLRexp
float noisePowProposedScale::noisePowProposed::GLRexp [private]
5.300.3.16 frameno
int noisePowProposedScale::noisePowProposed::frameno [private]
The documentation for this class was generated from the following file:
noisePowProposedScale.cpp
5.301 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 >
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 )
© 2005-2018 HörTech gGmbH, Oldenburg
1054 CONTENTS
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.301.1 Constructor & Destructor Documentation
5.301.1.1 overlapadd_if_t()
overlapadd::overlapadd_if_t::overlapadd_if_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & ialg )
5.301.1.2 overlapadd_if_t()
overlapadd::overlapadd_if_t::overlapadd_if_t ( )
© 2005-2018 HörTech gGmbH, Oldenburg
5.301 overlapadd::overlapadd_if_t Class Reference 1055
5.301.2 Member Function Documentation
5.301.2.1 prepare()
void overlapadd::overlapadd_if_t::prepare (
mhaconfig_t &t) [virtual]
Implements MHAPlugin::plugin_t<overlapadd_t >(p. 884).
5.301.2.2 release()
void overlapadd::overlapadd_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<overlapadd_t >(p. 885).
5.301.2.3 process()
mha_wave_t overlapadd::overlapadd_if_t::process (
mha_wave_t wave_in )
5.301.2.4 update()
void overlapadd::overlapadd_if_t::update ( ) [private]
5.301.3 Member Data Documentation
5.301.3.1 patchbay
MHAEvents::patchbay_t<overlapadd_if_t>overlapadd::overlapadd_if_t::patchbay [private]
© 2005-2018 HörTech gGmbH, Oldenburg
1056 CONTENTS
5.301.3.2 nfft
MHAParser::int_t overlapadd::overlapadd_if_t::nfft [private]
FFT length to be used, zero-padding is FFT length-wndlength.
5.301.3.3 nwnd
MHAParser::int_t overlapadd::overlapadd_if_t::nwnd [private]
Window length to be used (overlap is 1-fragsize/wndlength)
5.301.3.4 wndpos
MHAParser::float_t overlapadd::overlapadd_if_t::wndpos [private]
Relative position of zero padding (0 end, 0.5 center, 1 start)
5.301.3.5 window
MHAParser::window_t overlapadd::overlapadd_if_t::window [private]
5.301.3.6 wndexp
MHAParser::float_t overlapadd::overlapadd_if_t::wndexp [private]
5.301.3.7 zerowindow
MHAParser::window_t overlapadd::overlapadd_if_t::zerowindow [private]
5.301.3.8 plugloader
MHAParser::mhapluginloader_t overlapadd::overlapadd_if_t::plugloader [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.302 overlapadd::overlapadd_t Class Reference 1057
5.301.3.9 prescale
MHAParser::float_mon_t overlapadd::overlapadd_if_t::prescale [private]
5.301.3.10 postscale
MHAParser::float_mon_t overlapadd::overlapadd_if_t::postscale [private]
5.301.3.11 algo
std::string overlapadd::overlapadd_if_t::algo [private]
5.301.3.12 cf_in
mhaconfig_t overlapadd::overlapadd_if_t::cf_in [private]
5.301.3.13 cf_out
mhaconfig_t overlapadd::overlapadd_if_t::cf_out [private]
The documentation for this class was generated from the following file:
overlapadd.cpp
5.302 overlapadd::overlapadd_t Class Reference
Public Member Functions
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)
overlapadd_t ()
mha_spec_t ola1 (mha_wave_t )
mha_wave_t ola2 (mha_spec_t )
© 2005-2018 HörTech gGmbH, Oldenburg
1058 CONTENTS
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.302.1 Constructor & Destructor Documentation
5.302.1.1 overlapadd_t()
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.302.1.2 overlapadd_t()
overlapadd::overlapadd_t::overlapadd_t ( )
5.302.2 Member Function Documentation
5.302.2.1 ola1()
mha_spec_t overlapadd::overlapadd_t::ola1 (
mha_wave_t s)
© 2005-2018 HörTech gGmbH, Oldenburg
5.302 overlapadd::overlapadd_t Class Reference 1059
5.302.2.2 ola2()
mha_wave_t overlapadd::overlapadd_t::ola2 (
mha_spec_t s)
5.302.3 Member Data Documentation
5.302.3.1 fft
mha_fft_t overlapadd::overlapadd_t::fft [private]
5.302.3.2 prewnd
MHAWindow::base_t overlapadd::overlapadd_t::prewnd [private]
5.302.3.3 postwnd
MHAWindow::base_t overlapadd::overlapadd_t::postwnd [private]
5.302.3.4 wave_in1
MHASignal::waveform_t overlapadd::overlapadd_t::wave_in1 [private]
5.302.3.5 wave_out1
MHASignal::waveform_t overlapadd::overlapadd_t::wave_out1 [private]
5.302.3.6 spec_in
MHASignal::spectrum_t overlapadd::overlapadd_t::spec_in [private]
© 2005-2018 HörTech gGmbH, Oldenburg
1060 CONTENTS
5.302.3.7 calc_out
MHASignal::waveform_t overlapadd::overlapadd_t::calc_out [private]
5.302.3.8 out_buf
MHASignal::waveform_t overlapadd::overlapadd_t::out_buf [private]
5.302.3.9 write_buf
MHASignal::waveform_t overlapadd::overlapadd_t::write_buf [private]
5.302.3.10 n_zero
unsigned int overlapadd::overlapadd_t::n_zero [private]
5.302.3.11 n_pad1
unsigned int overlapadd::overlapadd_t::n_pad1 [private]
5.302.3.12 n_pad2
unsigned int overlapadd::overlapadd_t::n_pad2 [private]
The documentation for this class was generated from the following file:
overlapadd.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
5.303 parser_int_dyn Class Reference 1061
5.303 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.303.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
1062 CONTENTS
5.303.1.1 parser_int_dyn()
parser_int_dyn::parser_int_dyn (
const std::string & help_text,
const std::string & initial_value,
const std::string & range ) [inline]
5.303.2 Member Function Documentation
5.303.2.1 set_max_angle_ind()
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.304 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
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 ()
© 2005-2018 HörTech gGmbH, Oldenburg
5.304 plug_t Class Reference 1063
Additional Inherited Members
5.304.1 Constructor & Destructor Documentation
5.304.1.1 plug_t()
plug_t::plug_t (
const std::string & libname,
const std::string & chain,
const std::string & algo )
5.304.1.2 plug_t()
plug_t::plug_t ( ) throw ) [inline]
5.304.2 Member Function Documentation
5.304.2.1 get_process_wave()
MHAProc_wave2wave_t plug_t::get_process_wave ( )
5.304.2.2 get_process_spec()
MHAProc_wave2spec_t plug_t::get_process_spec ( )
5.304.2.3 get_handle()
void plug_t::get_handle ( )
© 2005-2018 HörTech gGmbH, Oldenburg
1064 CONTENTS
5.304.2.4 get_ac()
algo_comm_t plug_t::get_ac ( ) [inline]
The documentation for this class was generated from the following file:
analysispath.cpp
5.305 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 ()
© 2005-2018 HörTech gGmbH, Oldenburg
5.305 plugin_interface_t Class Reference 1065
Private Attributes
MHAParser::int_t scale_ch
MHAParser::float_t factor
MHAEvents::patchbay_t<plugin_interface_t >patchbay
Additional Inherited Members
5.305.1 Constructor & Destructor Documentation
5.305.1.1 plugin_interface_t()
plugin_interface_t::plugin_interface_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.305.2 Member Function Documentation
5.305.2.1 process()
mha_spec_t plugin_interface_t::process (
mha_spec_t spec )
5.305.2.2 prepare()
void plugin_interface_t::prepare (
mhaconfig_t &tfcfg ) [virtual]
Implements MHAPlugin::plugin_t<example5_t >(p. 884).
5.305.2.3 update_cfg()
void plugin_interface_t::update_cfg ( ) [private]
© 2005-2018 HörTech gGmbH, Oldenburg
1066 CONTENTS
5.305.3 Member Data Documentation
5.305.3.1 scale_ch
MHAParser::int_t plugin_interface_t::scale_ch [private]
5.305.3.2 factor
MHAParser::float_t plugin_interface_t::factor [private]
5.305.3.3 patchbay
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.306 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
Private Attributes
• std::string plugin_extension
• std::list<std::string >library_paths
• std::list<plugindescription_t >plugins
• std::map<std::string, pluginloader_t >p
© 2005-2018 HörTech gGmbH, Oldenburg
5.306 pluginbrowser_t Class Reference 1067
5.306.1 Constructor & Destructor Documentation
5.306.1.1 pluginbrowser_t()
pluginbrowser_t::pluginbrowser_t ( )
5.306.2 Member Function Documentation
5.306.2.1 get_paths()
void pluginbrowser_t::get_paths ( )
5.306.2.2 scan_plugin()
plugindescription_t pluginbrowser_t::scan_plugin (
const std::string & name )
5.306.2.3 add_plugins()
void pluginbrowser_t::add_plugins ( )
5.306.2.4 clear_plugins()
void pluginbrowser_t::clear_plugins ( )
5.306.2.5 scan_plugins()
void pluginbrowser_t::scan_plugins ( )
© 2005-2018 HörTech gGmbH, Oldenburg
1068 CONTENTS
5.306.2.6 add_plugin()
void pluginbrowser_t::add_plugin (
const std::string & name )
5.306.2.7 get_plugins()
std::list<plugindescription_t>pluginbrowser_t::get_plugins ( ) const [inline]
5.306.3 Member Data Documentation
5.306.3.1 plugin_extension
std::string pluginbrowser_t::plugin_extension [private]
5.306.3.2 library_paths
std::list<std::string>pluginbrowser_t::library_paths [private]
5.306.3.3 plugins
std::list<plugindescription_t>pluginbrowser_t::plugins [private]
5.306.3.4 p
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-2018 HörTech gGmbH, Oldenburg
5.307 plugindescription_t Class Reference 1069
5.307 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.307.1 Member Data Documentation
5.307.1.1 name
std::string plugindescription_t::name
5.307.1.2 fullname
std::string plugindescription_t::fullname
5.307.1.3 documentation
std::string plugindescription_t::documentation
5.307.1.4 categories
std::vector<std::string>plugindescription_t::categories
© 2005-2018 HörTech gGmbH, Oldenburg
1070 CONTENTS
5.307.1.5 wave2wave
bool plugindescription_t::wave2wave
5.307.1.6 wave2spec
bool plugindescription_t::wave2spec
5.307.1.7 spec2wave
bool plugindescription_t::spec2wave
5.307.1.8 spec2spec
bool plugindescription_t::spec2spec
5.307.1.9 query_cmds
std::vector<std::string>plugindescription_t::query_cmds
5.307.1.10 queries
std::map<std::string,std::string>plugindescription_t::queries
The documentation for this class was generated from the following file:
pluginbrowser.h
© 2005-2018 HörTech gGmbH, Oldenburg
5.308 PluginLoader::config_file_splitter_t Class Reference 1071
5.308 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.308.1 Constructor & Destructor Documentation
5.308.1.1 config_file_splitter_t()
PluginLoader::config_file_splitter_t::config_file_splitter_t (
const std::string & name )
© 2005-2018 HörTech gGmbH, Oldenburg
1072 CONTENTS
5.308.2 Member Function Documentation
5.308.2.1 get_configname()
const std::string& PluginLoader::config_file_splitter_t::get_configname ( ) const
[inline]
5.308.2.2 get_libname()
const std::string& PluginLoader::config_file_splitter_t::get_libname ( ) const [inline]
5.308.2.3 get_origname()
const std::string& PluginLoader::config_file_splitter_t::get_origname ( ) const
[inline]
5.308.2.4 get_configfile()
const std::string& PluginLoader::config_file_splitter_t::get_configfile ( ) const
[inline]
5.308.3 Member Data Documentation
5.308.3.1 libname
std::string PluginLoader::config_file_splitter_t::libname [private]
5.308.3.2 configname
std::string PluginLoader::config_file_splitter_t::configname [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.309 PluginLoader::fourway_processor_t Class Reference 1073
5.308.3.3 origname
std::string PluginLoader::config_file_splitter_t::origname [private]
5.308.3.4 configfile
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.309 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-2018 HörTech gGmbH, Oldenburg
1074 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. 1076) are
released here in fourway_processor_t::release (p. 1076).
virtual std::string parse (const std::string &query)=0
Parser interface.
• virtual fourway_processor_t ()
Classes with virtual methods need virtual destructor.
5.309.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.309.2 Constructor & Destructor Documentation
5.309.2.1 fourway_processor_t()
virtual PluginLoader::fourway_processor_t::fourway_processor_t ( ) [inline], [virtual]
Classes with virtual methods need virtual destructor.
This destructor is empty.
5.309.3 Member Function Documentation
5.309.3.1 process() [1/4]
virtual void PluginLoader::fourway_processor_t::process (
mha_wave_t s_in,
mha_wave_t ∗∗ s_out ) [pure virtual]
Pure waveform processing.
© 2005-2018 HörTech gGmbH, Oldenburg
5.309 PluginLoader::fourway_processor_t Class Reference 1075
Parameters
s_in input waveform signal
s_out output waveform signal
Implemented in PluginLoader::mhapluginloader_t (p. 1080).
5.309.3.2 process() [2/4]
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. 1080).
5.309.3.3 process() [3/4]
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. 1081).
5.309.3.4 process() [4/4]
virtual void PluginLoader::fourway_processor_t::process (
© 2005-2018 HörTech gGmbH, Oldenburg
1076 CONTENTS
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
Implemented in PluginLoader::mhapluginloader_t (p. 1081).
5.309.3.5 prepare()
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. 1076), settings reflects domain and dimensions of the input signal. When
fourway_processor_t::prepare (p. 1076) returns, settings reflects domain and
dimensions of the output signal.
Implemented in PluginLoader::mhapluginloader_t (p. 1080).
5.309.3.6 release()
virtual void PluginLoader::fourway_processor_t::release ( ) [pure virtual]
Resources allocated for signal processing in fourway_processor_t::prepare (p. 1076) are re-
leased here in fourway_processor_t::release (p. 1076).
Implemented in PluginLoader::mhapluginloader_t (p. 1080).
© 2005-2018 HörTech gGmbH, Oldenburg
5.310 PluginLoader::mhapluginloader_t Class Reference 1077
5.309.3.7 parse()
virtual std::string PluginLoader::fourway_processor_t::parse (
const std::string & query ) [pure virtual]
Parser interface.
Implemented in PluginLoader::mhapluginloader_t (p. 1079).
The documentation for this class was generated from the following file:
mhapluginloader.h
5.310 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
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
© 2005-2018 HörTech gGmbH, Oldenburg
1078 CONTENTS
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
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.310.1 Constructor & Destructor Documentation
5.310.1.1 mhapluginloader_t()
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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.310 PluginLoader::mhapluginloader_t Class Reference 1079
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.310.1.2 mhapluginloader_t()
PluginLoader::mhapluginloader_t::mhapluginloader_t ( ) throw )
5.310.2 Member Function Documentation
5.310.2.1 parse()
std::string PluginLoader::mhapluginloader_t::parse (
const std::string & str ) [inline], [virtual]
Implements PluginLoader::fourway_processor_t (p. 1076).
5.310.2.2 has_process()
bool PluginLoader::mhapluginloader_t::has_process (
mha_domain_t in,
mha_domain_t out ) const
© 2005-2018 HörTech gGmbH, Oldenburg
1080 CONTENTS
5.310.2.3 has_parser()
bool PluginLoader::mhapluginloader_t::has_parser ( ) const
5.310.2.4 input_domain()
mha_domain_t PluginLoader::mhapluginloader_t::input_domain ( ) const
5.310.2.5 output_domain()
mha_domain_t PluginLoader::mhapluginloader_t::output_domain ( ) const
5.310.2.6 prepare()
void PluginLoader::mhapluginloader_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements PluginLoader::fourway_processor_t (p. 1076).
5.310.2.7 release()
void PluginLoader::mhapluginloader_t::release ( ) [virtual]
Implements PluginLoader::fourway_processor_t (p. 1076).
5.310.2.8 process() [1/4]
void PluginLoader::mhapluginloader_t::process (
mha_wave_t s_in,
mha_wave_t ∗∗ s_out ) [virtual]
Implements PluginLoader::fourway_processor_t (p. 1074).
© 2005-2018 HörTech gGmbH, Oldenburg
5.310 PluginLoader::mhapluginloader_t Class Reference 1081
5.310.2.9 process() [2/4]
void PluginLoader::mhapluginloader_t::process (
mha_spec_t s_in,
mha_spec_t ∗∗ s_out ) [virtual]
Implements PluginLoader::fourway_processor_t (p. 1075).
5.310.2.10 process() [3/4]
void PluginLoader::mhapluginloader_t::process (
mha_wave_t s_in,
mha_spec_t ∗∗ s_out ) [virtual]
Implements PluginLoader::fourway_processor_t (p. 1075).
5.310.2.11 process() [4/4]
void PluginLoader::mhapluginloader_t::process (
mha_spec_t s_in,
mha_wave_t ∗∗ s_out ) [virtual]
Implements PluginLoader::fourway_processor_t (p. 1075).
5.310.2.12 getfullname()
std::string PluginLoader::mhapluginloader_t::getfullname ( ) const [inline]
5.310.2.13 get_documentation()
std::string PluginLoader::mhapluginloader_t::get_documentation ( ) const [inline]
5.310.2.14 get_categories()
std::vector<std::string>PluginLoader::mhapluginloader_t::get_categories ( ) const
[inline]
© 2005-2018 HörTech gGmbH, Oldenburg
1082 CONTENTS
5.310.2.15 is_prepared()
bool PluginLoader::mhapluginloader_t::is_prepared ( ) const [inline]
5.310.2.16 test_error()
void PluginLoader::mhapluginloader_t::test_error ( ) [protected]
5.310.2.17 test_version()
void PluginLoader::mhapluginloader_t::test_version ( ) [protected]
5.310.2.18 mha_test_struct_size()
void PluginLoader::mhapluginloader_t::mha_test_struct_size (
unsigned int s) [protected]
5.310.2.19 resolve_and_init()
void PluginLoader::mhapluginloader_t::resolve_and_init ( ) [protected]
5.310.3 Member Data Documentation
5.310.3.1 lib_err
int PluginLoader::mhapluginloader_t::lib_err [protected]
5.310.3.2 ac
algo_comm_t PluginLoader::mhapluginloader_t::ac [protected]
© 2005-2018 HörTech gGmbH, Oldenburg
5.310 PluginLoader::mhapluginloader_t Class Reference 1083
5.310.3.3 lib_handle
dynamiclib_t PluginLoader::mhapluginloader_t::lib_handle [protected]
5.310.3.4 lib_data
voidPluginLoader::mhapluginloader_t::lib_data [protected]
5.310.3.5 MHAGetVersion_cb
MHAGetVersion_t PluginLoader::mhapluginloader_t::MHAGetVersion_cb [protected]
5.310.3.6 MHAInit_cb
MHAInit_t PluginLoader::mhapluginloader_t::MHAInit_cb [protected]
5.310.3.7 MHADestroy_cb
MHADestroy_t PluginLoader::mhapluginloader_t::MHADestroy_cb [protected]
5.310.3.8 MHAPrepare_cb
MHAPrepare_t PluginLoader::mhapluginloader_t::MHAPrepare_cb [protected]
5.310.3.9 MHARelease_cb
MHARelease_t PluginLoader::mhapluginloader_t::MHARelease_cb [protected]
5.310.3.10 MHAProc_wave2wave_cb
MHAProc_wave2wave_t PluginLoader::mhapluginloader_t::MHAProc_wave2wave_cb [protected]
© 2005-2018 HörTech gGmbH, Oldenburg
1084 CONTENTS
5.310.3.11 MHAProc_spec2spec_cb
MHAProc_spec2spec_t PluginLoader::mhapluginloader_t::MHAProc_spec2spec_cb [protected]
5.310.3.12 MHAProc_wave2spec_cb
MHAProc_wave2spec_t PluginLoader::mhapluginloader_t::MHAProc_wave2spec_cb [protected]
5.310.3.13 MHAProc_spec2wave_cb
MHAProc_spec2wave_t PluginLoader::mhapluginloader_t::MHAProc_spec2wave_cb [protected]
5.310.3.14 MHASet_cb
MHASet_t PluginLoader::mhapluginloader_t::MHASet_cb [protected]
5.310.3.15 MHAStrError_cb
MHAStrError_t PluginLoader::mhapluginloader_t::MHAStrError_cb [protected]
5.310.3.16 cf_input
mhaconfig_t PluginLoader::mhapluginloader_t::cf_input [protected]
5.310.3.17 cf_output
mhaconfig_t PluginLoader::mhapluginloader_t::cf_output [protected]
5.310.3.18 plugin_documentation
std::string PluginLoader::mhapluginloader_t::plugin_documentation [protected]
© 2005-2018 HörTech gGmbH, Oldenburg
5.311 pluginloader_t Class Reference 1085
5.310.3.19 plugin_categories
std::vector<std::string>PluginLoader::mhapluginloader_t::plugin_categories [protected]
5.310.3.20 b_check_version
bool PluginLoader::mhapluginloader_t::b_check_version [protected]
5.310.3.21 b_is_prepared
bool PluginLoader::mhapluginloader_t::b_is_prepared [protected]
The documentation for this class was generated from the following files:
mhapluginloader.h
mhapluginloader.cpp
5.311 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 ()
Additional Inherited Members
5.311.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
1086 CONTENTS
5.311.1.1 pluginloader_t()
pluginloader_t::pluginloader_t (
const std::string & name )
5.311.1.2 pluginloader_t()
pluginloader_t::pluginloader_t ( ) throw )
The documentation for this class was generated from the following files:
pluginbrowser.h
pluginbrowser.cpp
5.312 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-2018 HörTech gGmbH, Oldenburg
5.312 prediction_error Class Reference 1087
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.312.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
1088 CONTENTS
5.312.1.1 prediction_error()
prediction_error::prediction_error (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
5.312.1.2 prediction_error()
prediction_error::prediction_error ( )
5.312.2 Member Function Documentation
5.312.2.1 process()
mha_wave_t prediction_error::process (
mha_wave_t signal )
Checks for the most recent configuration and defers processing to it.
5.312.2.2 prepare()
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. 884).
© 2005-2018 HörTech gGmbH, Oldenburg
5.312 prediction_error Class Reference 1089
5.312.2.3 release()
void prediction_error::release (
void ) [inline], [virtual]
Reimplemented from MHAPlugin::plugin_t<prediction_error_config >(p. 885).
5.312.2.4 update_cfg()
void prediction_error::update_cfg ( ) [private]
5.312.3 Member Data Documentation
5.312.3.1 rho
MHAParser::float_t prediction_error::rho
5.312.3.2 c
MHAParser::float_t prediction_error::c
5.312.3.3 ntaps
MHAParser::int_t prediction_error::ntaps
5.312.3.4 gains
MHAParser::vfloat_t prediction_error::gains
5.312.3.5 name_e
MHAParser::string_t prediction_error::name_e
© 2005-2018 HörTech gGmbH, Oldenburg
1090 CONTENTS
5.312.3.6 name_f
MHAParser::string_t prediction_error::name_f
5.312.3.7 name_lpc
MHAParser::string_t prediction_error::name_lpc
5.312.3.8 lpc_order
MHAParser::int_t prediction_error::lpc_order
5.312.3.9 pred_err_delay
MHAParser::vint_t prediction_error::pred_err_delay
5.312.3.10 delay_w
MHAParser::vint_t prediction_error::delay_w
5.312.3.11 delay_d
MHAParser::vint_t prediction_error::delay_d
5.312.3.12 n_no_update
MHAParser::int_t prediction_error::n_no_update
© 2005-2018 HörTech gGmbH, Oldenburg
5.313 prediction_error_config Class Reference 1091
5.312.3.13 patchbay
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.313 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
• 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
© 2005-2018 HörTech gGmbH, Oldenburg
1092 CONTENTS
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.313.1 Constructor & Destructor Documentation
5.313.1.1 prediction_error_config()
prediction_error_config::prediction_error_config (
algo_comm_t &ac,
const mhaconfig_t in_cfg,
prediction_error pred_err )
5.313.1.2 prediction_error_config()
prediction_error_config::prediction_error_config ( )
5.313.2 Member Function Documentation
5.313.2.1 process()
mha_wave_t prediction_error_config::process (
mha_wave_t s_Y,
mha_real_t rho,
mha_real_t c)
5.313.2.2 insert()
void prediction_error_config::insert ( )
© 2005-2018 HörTech gGmbH, Oldenburg
5.313 prediction_error_config Class Reference 1093
5.313.3 Member Data Documentation
5.313.3.1 ac
algo_comm_t prediction_error_config::ac [private]
5.313.3.2 ntaps
unsigned int prediction_error_config::ntaps [private]
5.313.3.3 frames
unsigned int prediction_error_config::frames [private]
5.313.3.4 channels
unsigned int prediction_error_config::channels [private]
5.313.3.5 s_E
MHA_AC::waveform_t prediction_error_config::s_E [private]
5.313.3.6 F
MHA_AC::waveform_t prediction_error_config::F [private]
5.313.3.7 Pu
MHASignal::waveform_t prediction_error_config::Pu [private]
Power of input signal delayline.
© 2005-2018 HörTech gGmbH, Oldenburg
1094 CONTENTS
5.313.3.8 name_d_
std::string prediction_error_config::name_d_ [private]
5.313.3.9 name_lpc_
std::string prediction_error_config::name_lpc_ [private]
5.313.3.10 n_no_update_
int prediction_error_config::n_no_update_ [private]
5.313.3.11 no_iter
int prediction_error_config::no_iter [private]
5.313.3.12 iter
int prediction_error_config::iter [private]
5.313.3.13 v_G
MHASignal::waveform_t prediction_error_config::v_G [private]
5.313.3.14 s_U
MHASignal::waveform_t prediction_error_config::s_U [private]
5.313.3.15 s_E_pred_err_delay
MHASignal::delay_t prediction_error_config::s_E_pred_err_delay [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.313 prediction_error_config Class Reference 1095
5.313.3.16 s_W
MHASignal::delay_t prediction_error_config::s_W [private]
5.313.3.17 s_Wflt
MHASignal::ringbuffer_t prediction_error_config::s_Wflt [private]
5.313.3.18 s_U_delay
MHASignal::delay_t prediction_error_config::s_U_delay [private]
5.313.3.19 s_U_delayflt
MHASignal::ringbuffer_t prediction_error_config::s_U_delayflt [private]
5.313.3.20 F_Uflt
MHASignal::waveform_t prediction_error_config::F_Uflt [private]
5.313.3.21 s_Y_delay
MHASignal::delay_t prediction_error_config::s_Y_delay [private]
5.313.3.22 s_Y_delayflt
MHASignal::ringbuffer_t prediction_error_config::s_Y_delayflt [private]
5.313.3.23 UbufferPrew
MHASignal::ringbuffer_t prediction_error_config::UbufferPrew [private]
© 2005-2018 HörTech gGmbH, Oldenburg
1096 CONTENTS
5.313.3.24 s_LPC
mha_wave_t prediction_error_config::s_LPC [private]
5.313.3.25 UPrew
mha_wave_t prediction_error_config::UPrew [private]
5.313.3.26 YPrew
mha_wave_t prediction_error_config::YPrew [private]
5.313.3.27 EPrew
mha_wave_t prediction_error_config::EPrew [private]
5.313.3.28 UPrewW
mha_wave_t prediction_error_config::UPrewW [private]
5.313.3.29 smpl
mha_wave_t prediction_error_config::smpl [private]
5.313.3.30 s_Usmpl
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.314 rmslevel_if_t Class Reference 1097
5.314 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 >
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.314.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
1098 CONTENTS
5.314.1.1 rmslevel_if_t()
rmslevel_if_t::rmslevel_if_t (
const algo_comm_t &iac,
const std::string & ith,
const std::string & ial )
5.314.2 Member Function Documentation
5.314.2.1 process() [1/2]
mha_spec_t rmslevel_if_t::process (
mha_spec_t s)
5.314.2.2 process() [2/2]
mha_wave_t rmslevel_if_t::process (
mha_wave_t s)
5.314.2.3 prepare()
void rmslevel_if_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<rmslevel_t >(p. 884).
5.314.3 Member Data Documentation
5.314.3.1 name
std::string rmslevel_if_t::name [private]
The documentation for this class was generated from the following file:
rmslevel.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
5.315 rmslevel_t Class Reference 1099
5.315 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.315.1 Constructor & Destructor Documentation
5.315.1.1 rmslevel_t()
rmslevel_t::rmslevel_t (
unsigned int nch,
algo_comm_t ac,
std::string name,
MHAParser::parser_t &p,
unsigned int fftlen_ )
5.315.2 Member Function Documentation
5.315.2.1 process() [1/2]
mha_spec_t rmslevel_t::process (
mha_spec_t s)
© 2005-2018 HörTech gGmbH, Oldenburg
1100 CONTENTS
5.315.2.2 process() [2/2]
mha_wave_t rmslevel_t::process (
mha_wave_t s)
5.315.2.3 insert()
void rmslevel_t::insert ( )
5.315.3 Member Data Documentation
5.315.3.1 level_db
mon_t rmslevel_t::level_db [private]
5.315.3.2 peak_db
mon_t rmslevel_t::peak_db [private]
5.315.3.3 level
mon_t rmslevel_t::level [private]
5.315.3.4 peak
mon_t rmslevel_t::peak [private]
5.315.3.5 fftlen
unsigned int rmslevel_t::fftlen [private]
The documentation for this class was generated from the following file:
rmslevel.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
5.316 route::interface_t Class Reference 1101
5.316 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-2018 HörTech gGmbH, Oldenburg
1102 CONTENTS
Additional Inherited Members
5.316.1 Constructor & Destructor Documentation
5.316.1.1 interface_t()
route::interface_t::interface_t (
algo_comm_t iac,
const std::string & ,
const std::string & ialg )
5.316.2 Member Function Documentation
5.316.2.1 prepare()
void route::interface_t::prepare (
mhaconfig_t &cf ) [virtual]
Implements MHAPlugin::plugin_t<route::process_t >(p. 884).
5.316.2.2 release()
void route::interface_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<route::process_t >(p. 885).
5.316.2.3 process() [1/2]
mha_wave_t route::interface_t::process (
mha_wave_t s)
© 2005-2018 HörTech gGmbH, Oldenburg
5.316 route::interface_t Class Reference 1103
5.316.2.4 process() [2/2]
mha_spec_t route::interface_t::process (
mha_spec_t s)
5.316.2.5 update()
void route::interface_t::update ( ) [private]
5.316.3 Member Data Documentation
5.316.3.1 patchbay
MHAEvents::patchbay_t<route::interface_t>route::interface_t::patchbay [private]
5.316.3.2 route_out
MHAParser::vstring_t route::interface_t::route_out [private]
5.316.3.3 route_ac
MHAParser::vstring_t route::interface_t::route_ac [private]
5.316.3.4 cfin
mhaconfig_t route::interface_t::cfin [private]
5.316.3.5 cfout
mhaconfig_t route::interface_t::cfout [private]
© 2005-2018 HörTech gGmbH, Oldenburg
1104 CONTENTS
5.316.3.6 cfac
mhaconfig_t route::interface_t::cfac [private]
5.316.3.7 prepared
bool route::interface_t::prepared [private]
5.316.3.8 stopped
bool route::interface_t::stopped [private]
5.316.3.9 algo
std::string route::interface_t::algo [private]
The documentation for this class was generated from the following file:
route.cpp
5.317 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
© 2005-2018 HörTech gGmbH, Oldenburg
5.317 route::process_t Class Reference 1105
5.317.1 Constructor & Destructor Documentation
5.317.1.1 process_t()
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.317.2 Member Function Documentation
5.317.2.1 process() [1/2]
mha_wave_t route::process_t::process (
mha_wave_t s)
5.317.2.2 process() [2/2]
mha_spec_t route::process_t::process (
mha_spec_t s)
5.317.3 Member Data Documentation
5.317.3.1 wout
MHAMultiSrc::waveform_t route::process_t::wout [private]
© 2005-2018 HörTech gGmbH, Oldenburg
1106 CONTENTS
5.317.3.2 sout
MHAMultiSrc::spectrum_t route::process_t::sout [private]
5.317.3.3 wout_ac
MHAMultiSrc::waveform_t route::process_t::wout_ac [private]
5.317.3.4 sout_ac
MHAMultiSrc::spectrum_t route::process_t::sout_ac [private]
The documentation for this class was generated from the following file:
route.cpp
5.318 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, un-
signed 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.
© 2005-2018 HörTech gGmbH, Oldenburg
5.318 rt_nlms_t Class Reference 1107
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
5.318.1 Constructor & Destructor Documentation
5.318.1.1 rt_nlms_t()
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.318.1.2 rt_nlms_t()
rt_nlms_t::rt_nlms_t ( ) [inline]
5.318.2 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
1108 CONTENTS
5.318.2.1 process()
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.318.2.2 insert()
void rt_nlms_t::insert ( )
5.318.3 Member Data Documentation
5.318.3.1 ac
algo_comm_t rt_nlms_t::ac [private]
5.318.3.2 ntaps
unsigned int rt_nlms_t::ntaps [private]
5.318.3.3 frames
unsigned int rt_nlms_t::frames [private]
5.318.3.4 channels
unsigned int rt_nlms_t::channels [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.318 rt_nlms_t Class Reference 1109
5.318.3.5 F
MHA_AC::waveform_t rt_nlms_t::F [private]
5.318.3.6 U
MHASignal::waveform_t rt_nlms_t::U [private]
Input signal cache.
5.318.3.7 Uflt
MHASignal::waveform_t rt_nlms_t::Uflt [private]
Input signal cache (second filter)
5.318.3.8 Pu
MHASignal::waveform_t rt_nlms_t::Pu [private]
Power of input signal delayline.
5.318.3.9 fu
MHASignal::waveform_t rt_nlms_t::fu [private]
Filtered input signal.
5.318.3.10 fuflt
MHASignal::waveform_t rt_nlms_t::fuflt [private]
Filtered input signal.
© 2005-2018 HörTech gGmbH, Oldenburg
1110 CONTENTS
5.318.3.11 fu_previous
MHASignal::waveform_t rt_nlms_t::fu_previous [private]
5.318.3.12 y_previous
MHASignal::waveform_t rt_nlms_t::y_previous [private]
5.318.3.13 P_Sum
MHASignal::waveform_t rt_nlms_t::P_Sum [private]
5.318.3.14 name_u_
std::string rt_nlms_t::name_u_ [private]
5.318.3.15 name_d_
std::string rt_nlms_t::name_d_ [private]
5.318.3.16 name_e_
std::string rt_nlms_t::name_e_ [private]
5.318.3.17 n_no_update_
int rt_nlms_t::n_no_update_ [private]
5.318.3.18 no_iter
int rt_nlms_t::no_iter [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.319 save_spec_t Class Reference 1111
5.318.3.19 s_E
mha_wave_t rt_nlms_t::s_E [private]
The documentation for this class was generated from the following file:
nlms_wave.cpp
5.319 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
© 2005-2018 HörTech gGmbH, Oldenburg
1112 CONTENTS
Additional Inherited Members
5.319.1 Constructor & Destructor Documentation
5.319.1.1 save_spec_t()
save_spec_t::save_spec_t (
const algo_comm_t &iac,
const std::string & ith,
const std::string & ial ) [inline]
5.319.2 Member Function Documentation
5.319.2.1 process()
mha_spec_tsave_spec_t::process (
mha_spec_t s) [inline]
5.319.2.2 prepare()
void save_spec_t::prepare (
mhaconfig_t &tf ) [inline], [virtual]
Implements MHAPlugin::plugin_t<MHA_AC::spectrum_t >(p. 884).
5.319.3 Member Data Documentation
5.319.3.1 basename
std::string save_spec_t::basename [private]
The documentation for this class was generated from the following file:
save_spec.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
5.320 save_wave_t Class Reference 1113
5.320 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 >
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.320.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
1114 CONTENTS
5.320.1.1 save_wave_t()
save_wave_t::save_wave_t (
const algo_comm_t &iac,
const std::string & ith,
const std::string & ial ) [inline]
5.320.2 Member Function Documentation
5.320.2.1 process()
mha_wave_tsave_wave_t::process (
mha_wave_t s) [inline]
5.320.2.2 prepare()
void save_wave_t::prepare (
mhaconfig_t &tf ) [inline], [virtual]
Implements MHAPlugin::plugin_t<MHA_AC::waveform_t >(p. 884).
5.320.3 Member Data Documentation
5.320.3.1 basename
std::string save_wave_t::basename [private]
The documentation for this class was generated from the following file:
save_wave.cpp
5.321 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-2018 HörTech gGmbH, Oldenburg
5.321 shadowfilter_begin::cfg_t Class Reference 1115
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.321.1 Constructor & Destructor Documentation
5.321.1.1 cfg_t()
cfg_t::cfg_t (
int nfft,
int inch,
int outch,
algo_comm_t ac,
std::string name )
5.321.2 Member Function Documentation
5.321.2.1 process()
mha_spec_t cfg_t::process (
mha_spec_t s)
5.321.3 Member Data Documentation
5.321.3.1 in_spec_copy
MHA_AC::spectrum_t shadowfilter_begin::cfg_t::in_spec_copy [private]
5.321.3.2 out_spec
MHASignal::spectrum_t shadowfilter_begin::cfg_t::out_spec [private]
© 2005-2018 HörTech gGmbH, Oldenburg
1116 CONTENTS
5.321.3.3 nch
MHA_AC::int_t shadowfilter_begin::cfg_t::nch [private]
5.321.3.4 ntracks
MHA_AC::int_t shadowfilter_begin::cfg_t::ntracks [private]
The documentation for this class was generated from the following file:
shadowfilter_begin.cpp
5.322 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 &)
© 2005-2018 HörTech gGmbH, Oldenburg
5.322 shadowfilter_begin::shadowfilter_begin_t Class Reference1117
Private Attributes
• std::string basename
MHAParser::int_t nch
MHAParser::int_t ntracks
Additional Inherited Members
5.322.1 Constructor & Destructor Documentation
5.322.1.1 shadowfilter_begin_t()
shadowfilter_begin::shadowfilter_begin_t::shadowfilter_begin_t (
const algo_comm_t &iac,
const std::string & ith,
const std::string & ial )
5.322.2 Member Function Documentation
5.322.2.1 process()
mha_spec_t shadowfilter_begin::shadowfilter_begin_t::process (
mha_spec_t s)
5.322.2.2 prepare()
void shadowfilter_begin::shadowfilter_begin_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<cfg_t >(p. 884).
5.322.3 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
1118 CONTENTS
5.322.3.1 basename
std::string shadowfilter_begin::shadowfilter_begin_t::basename [private]
5.322.3.2 nch
MHAParser::int_t shadowfilter_begin::shadowfilter_begin_t::nch [private]
5.322.3.3 ntracks
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.323 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
5.323.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.323 shadowfilter_end::cfg_t Class Reference 1119
5.323.1.1 cfg_t()
cfg_t::cfg_t (
int nfft_,
algo_comm_t ac_,
std::string name_ )
5.323.2 Member Function Documentation
5.323.2.1 process()
mha_spec_t cfg_t::process (
mha_spec_t s)
5.323.3 Member Data Documentation
5.323.3.1 ac
algo_comm_t shadowfilter_end::cfg_t::ac [private]
5.323.3.2 name
std::string shadowfilter_end::cfg_t::name [private]
5.323.3.3 nfft
int shadowfilter_end::cfg_t::nfft [private]
5.323.3.4 ntracks
int shadowfilter_end::cfg_t::ntracks [private]
© 2005-2018 HörTech gGmbH, Oldenburg
1120 CONTENTS
5.323.3.5 nch_out
int shadowfilter_end::cfg_t::nch_out [private]
5.323.3.6 in_spec
mha_spec_t shadowfilter_end::cfg_t::in_spec [private]
5.323.3.7 out_spec
MHASignal::spectrum_t shadowfilter_end::cfg_t::out_spec [private]
5.323.3.8 gains
MHA_AC::spectrum_t shadowfilter_end::cfg_t::gains [private]
The documentation for this class was generated from the following file:
shadowfilter_end.cpp
5.324 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 >
© 2005-2018 HörTech gGmbH, Oldenburg
5.324 shadowfilter_end::shadowfilter_end_t Class Reference 1121
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.324.1 Constructor & Destructor Documentation
5.324.1.1 shadowfilter_end_t()
shadowfilter_end::shadowfilter_end_t::shadowfilter_end_t (
const algo_comm_t &iac,
const std::string & ith,
const std::string & ial )
5.324.2 Member Function Documentation
5.324.2.1 process()
mha_spec_t shadowfilter_end::shadowfilter_end_t::process (
mha_spec_t s)
5.324.2.2 prepare()
void shadowfilter_end::shadowfilter_end_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<cfg_t >(p. 884).
© 2005-2018 HörTech gGmbH, Oldenburg
1122 CONTENTS
5.324.3 Member Data Documentation
5.324.3.1 basename
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.325 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
5.325.1 Constructor & Destructor Documentation
5.325.1.1 sine_cfg_t()
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.325.2 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.326 sine_t Class Reference 1123
5.325.2.1 phase_increment_div_2pi
double sine_cfg_t::phase_increment_div_2pi
5.325.2.2 amplitude
double sine_cfg_t::amplitude
5.325.2.3 mix
int sine_cfg_t::mix
5.325.2.4 channels
const std::vector<int>sine_cfg_t::channels
The documentation for this struct was generated from the following file:
sine.cpp
5.326 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-2018 HörTech gGmbH, Oldenburg
1124 CONTENTS
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.326.1 Constructor & Destructor Documentation
5.326.1.1 sine_t()
sine_t::sine_t (
const algo_comm_t &iac,
const std::string & chain_name,
const std::string & algo_name )
5.326.1.2 sine_t()
sine_t::sine_t ( )
5.326.2 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.326 sine_t Class Reference 1125
5.326.2.1 process()
mha_wave_t sine_t::process (
mha_wave_t s)
5.326.2.2 prepare()
void sine_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<sine_cfg_t >(p. 884).
5.326.2.3 update_cfg()
void sine_t::update_cfg ( ) [private]
5.326.3 Member Data Documentation
5.326.3.1 lev
MHAParser::float_t sine_t::lev [private]
5.326.3.2 frequency
MHAParser::float_t sine_t::frequency [private]
5.326.3.3 mode
MHAParser::kw_t sine_t::mode [private]
5.326.3.4 channels
MHAParser::vint_t sine_t::channels [private]
© 2005-2018 HörTech gGmbH, Oldenburg
1126 CONTENTS
5.326.3.5 phase_div_2pi
double sine_t::phase_div_2pi [private]
5.326.3.6 patchbay
MHAEvents::patchbay_t<sine_t>sine_t::patchbay [private]
The documentation for this class was generated from the following file:
sine.cpp
5.327 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 >
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 )
© 2005-2018 HörTech gGmbH, Oldenburg
5.327 smoothgains_bridge::overlapadd_if_t Class Reference 1127
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.327.1 Constructor & Destructor Documentation
5.327.1.1 overlapadd_if_t()
smoothgains_bridge::overlapadd_if_t::overlapadd_if_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & ialg )
5.327.1.2 overlapadd_if_t()
smoothgains_bridge::overlapadd_if_t::overlapadd_if_t ( )
5.327.2 Member Function Documentation
5.327.2.1 prepare()
void smoothgains_bridge::overlapadd_if_t::prepare (
mhaconfig_t &t) [virtual]
Implements MHAPlugin::plugin_t<smoothspec_wrap_t >(p. 884).
© 2005-2018 HörTech gGmbH, Oldenburg
1128 CONTENTS
5.327.2.2 release()
void smoothgains_bridge::overlapadd_if_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<smoothspec_wrap_t >(p. 885).
5.327.2.3 process()
mha_spec_t smoothgains_bridge::overlapadd_if_t::process (
mha_spec_t spec )
5.327.2.4 update()
void smoothgains_bridge::overlapadd_if_t::update ( ) [private]
5.327.3 Member Data Documentation
5.327.3.1 patchbay
MHAEvents::patchbay_t<overlapadd_if_t>smoothgains_bridge::overlapadd_if_t::patchbay
[private]
5.327.3.2 mode
MHAParser::kw_t smoothgains_bridge::overlapadd_if_t::mode [private]
5.327.3.3 irswnd
MHAParser::window_t smoothgains_bridge::overlapadd_if_t::irswnd [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.328 smoothgains_bridge::smoothspec_wrap_t Class Reference1129
5.327.3.4 epsilon
MHAParser::float_t smoothgains_bridge::overlapadd_if_t::epsilon [private]
5.327.3.5 plugloader
MHAParser::mhapluginloader_t smoothgains_bridge::overlapadd_if_t::plugloader [private]
5.327.3.6 algo
std::string smoothgains_bridge::overlapadd_if_t::algo [private]
5.327.3.7 cf_in
mhaconfig_t smoothgains_bridge::overlapadd_if_t::cf_in [private]
5.327.3.8 cf_out
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.328 smoothgains_bridge::smoothspec_wrap_t Class Reference
Public Member Functions
smoothspec_wrap_t (mhaconfig_t spar_in, mhaconfig_t spar_out, const MH-
AParser::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 )
© 2005-2018 HörTech gGmbH, Oldenburg
1130 CONTENTS
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
5.328.1 Constructor & Destructor Documentation
5.328.1.1 smoothspec_wrap_t()
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.328.2 Member Function Documentation
5.328.2.1 proc_1()
mha_spec_t smoothgains_bridge::smoothspec_wrap_t::proc_1 (
mha_spec_t s)
5.328.2.2 proc_2()
mha_spec_t smoothgains_bridge::smoothspec_wrap_t::proc_2 (
mha_spec_t s)
5.328.3 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.329 softclip_t Class Reference 1131
5.328.3.1 spec_in_copy
MHASignal::spectrum_t smoothgains_bridge::smoothspec_wrap_t::spec_in_copy [private]
Copy of input spectrum for smoothspec.
5.328.3.2 smoothspec
MHAFilter::smoothspec_t smoothgains_bridge::smoothspec_wrap_t::smoothspec [private]
Smoothspec calculator.
5.328.3.3 use_smoothspec
bool smoothgains_bridge::smoothspec_wrap_t::use_smoothspec [private]
5.328.3.4 smoothspec_epsilon
float smoothgains_bridge::smoothspec_wrap_t::smoothspec_epsilon [private]
The documentation for this class was generated from the following file:
smoothgains_bridge.cpp
5.329 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 >
© 2005-2018 HörTech gGmbH, Oldenburg
1132 CONTENTS
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
Additional Inherited Members
5.329.1 Constructor & Destructor Documentation
5.329.1.1 softclip_t()
softclip_t::softclip_t (
const algo_comm_t &iac,
const std::string & chain,
const std::string & name )
5.329.2 Member Function Documentation
5.329.2.1 process()
mha_wave_t softclip_t::process (
mha_wave_t s)
© 2005-2018 HörTech gGmbH, Oldenburg
5.329 softclip_t Class Reference 1133
5.329.2.2 prepare()
void softclip_t::prepare (
mhaconfig_t &tf ) [virtual]
Implements MHAPlugin::plugin_t<cfg_t >(p. 884).
5.329.2.3 update()
void softclip_t::update ( )
5.329.3 Member Data Documentation
5.329.3.1 tftype
mhaconfig_t softclip_t::tftype [private]
5.329.3.2 attack
MHAParser::float_t softclip_t::attack [private]
5.329.3.3 decay
MHAParser::float_t softclip_t::decay [private]
5.329.3.4 start_limit
MHAParser::float_t softclip_t::start_limit [private]
5.329.3.5 slope_db
MHAParser::float_t softclip_t::slope_db [private]
© 2005-2018 HörTech gGmbH, Oldenburg
1134 CONTENTS
5.329.3.6 patchbay
MHAEvents::patchbay_t<softclip_t>softclip_t::patchbay [private]
The documentation for this class was generated from the following file:
softclip.cpp
5.330 softclipper_t Class Reference
Public Member Functions
softclipper_t (const softclipper_variables_t &v, const mhaconfig_t &)
mha_real_t process (mha_wave_t )
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.330.1 Constructor & Destructor Documentation
5.330.1.1 softclipper_t()
softclipper_t::softclipper_t (
const softclipper_variables_t &v,
const mhaconfig_t &tf )
5.330.2 Member Function Documentation
5.330.2.1 process()
mha_real_t softclipper_t::process (
mha_wave_t s)
© 2005-2018 HörTech gGmbH, Oldenburg
5.330 softclipper_t Class Reference 1135
5.330.3 Member Data Documentation
5.330.3.1 attack
MHAFilter::o1flt_lowpass_t softclipper_t::attack [private]
5.330.3.2 decay
MHAFilter::o1flt_maxtrack_t softclipper_t::decay [private]
5.330.3.3 clipmeter
MHAFilter::o1flt_lowpass_t softclipper_t::clipmeter [private]
5.330.3.4 threshold
mha_real_t softclipper_t::threshold [private]
5.330.3.5 hardlimit
mha_real_t softclipper_t::hardlimit [private]
5.330.3.6 slope
mha_real_t softclipper_t::slope [private]
5.330.3.7 linear
bool softclipper_t::linear [private]
The documentation for this class was generated from the following file:
transducers.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
1136 CONTENTS
5.331 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.331.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.331 softclipper_variables_t Class Reference 1137
5.331.1.1 softclipper_variables_t()
softclipper_variables_t::softclipper_variables_t ( )
5.331.2 Member Data Documentation
5.331.2.1 tau_attack
MHAParser::float_t softclipper_variables_t::tau_attack
5.331.2.2 tau_decay
MHAParser::float_t softclipper_variables_t::tau_decay
5.331.2.3 tau_clip
MHAParser::float_t softclipper_variables_t::tau_clip
5.331.2.4 threshold
MHAParser::float_t softclipper_variables_t::threshold
5.331.2.5 hardlimit
MHAParser::float_t softclipper_variables_t::hardlimit
5.331.2.6 slope
MHAParser::float_t softclipper_variables_t::slope
© 2005-2018 HörTech gGmbH, Oldenburg
1138 CONTENTS
5.331.2.7 linear
MHAParser::bool_t softclipper_variables_t::linear
5.331.2.8 clipped
MHAParser::float_mon_t softclipper_variables_t::clipped
5.331.2.9 max_clipped
MHAParser::float_t softclipper_variables_t::max_clipped
The documentation for this class was generated from the following file:
transducers.cpp
5.332 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-2018 HörTech gGmbH, Oldenburg
5.332 spec2wave_if_t Class Reference 1139
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.332.1 Constructor & Destructor Documentation
5.332.1.1 spec2wave_if_t()
spec2wave_if_t::spec2wave_if_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & )
5.332.2 Member Function Documentation
5.332.2.1 prepare()
void spec2wave_if_t::prepare (
mhaconfig_t &t) [virtual]
Implements MHAPlugin::plugin_t<spec2wave_t >(p. 884).
© 2005-2018 HörTech gGmbH, Oldenburg
1140 CONTENTS
5.332.2.2 process()
mha_wave_t spec2wave_if_t::process (
mha_spec_t spec_in )
5.332.2.3 update()
void spec2wave_if_t::update ( ) [private]
5.332.3 Member Data Documentation
5.332.3.1 patchbay
MHAEvents::patchbay_t<spec2wave_if_t>spec2wave_if_t::patchbay [private]
5.332.3.2 ramplen
MHAParser::float_t spec2wave_if_t::ramplen [private]
5.332.3.3 window_config
windowselector_t spec2wave_if_t::window_config [private]
The documentation for this class was generated from the following file:
spec2wave.cpp
5.333 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 )
© 2005-2018 HörTech gGmbH, Oldenburg
5.333 spec2wave_t Class Reference 1141
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.333.1 Constructor & Destructor Documentation
5.333.1.1 spec2wave_t()
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.333.1.2 spec2wave_t()
spec2wave_t::spec2wave_t ( )
5.333.2 Member Function Documentation
5.333.2.1 process()
mha_wave_t spec2wave_t::process (
mha_spec_t spec_in )
© 2005-2018 HörTech gGmbH, Oldenburg
1142 CONTENTS
5.333.3 Member Data Documentation
5.333.3.1 ft
mha_fft_t spec2wave_t::ft [private]
FFT class.
5.333.3.2 npad1
unsigned int spec2wave_t::npad1 [private]
length of zero padding before window
5.333.3.3 npad2
unsigned int spec2wave_t::npad2 [private]
length of zero padding after window
5.333.3.4 ramps
hanning_ramps_t spec2wave_t::ramps [private]
5.333.3.5 calc_out
MHASignal::waveform_t spec2wave_t::calc_out [private]
5.333.3.6 out_buf
MHASignal::waveform_t spec2wave_t::out_buf [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.334 spec_fader_t Class Reference 1143
5.333.3.7 write_buf
MHASignal::waveform_t spec2wave_t::write_buf [private]
5.333.3.8 sc
mha_real_t spec2wave_t::sc [private]
5.333.3.9 nfft
unsigned int spec2wave_t::nfft [private]
5.333.3.10 nwndshift
unsigned int spec2wave_t::nwndshift [private]
5.333.3.11 postwindow
MHAWindow::base_t spec2wave_t::postwindow [private]
The documentation for this class was generated from the following file:
spec2wave.cpp
5.334 spec_fader_t Class Reference
Public Member Functions
spec_fader_t (unsigned int ch, mha_real_t fr,MHAParser::vfloat_t &ng, MHA-
Parser::float_t &t)
spec_fader_t ()
Public Attributes
unsigned int nch
mha_real_t gains
unsigned int fr
© 2005-2018 HörTech gGmbH, Oldenburg
1144 CONTENTS
5.334.1 Constructor & Destructor Documentation
5.334.1.1 spec_fader_t()
spec_fader_t::spec_fader_t (
unsigned int ch,
mha_real_t fr,
MHAParser::vfloat_t &ng,
MHAParser::float_t &t)
5.334.1.2 spec_fader_t()
spec_fader_t::spec_fader_t ( ) [inline]
5.334.2 Member Data Documentation
5.334.2.1 nch
unsigned int spec_fader_t::nch
5.334.2.2 gains
mha_real_tspec_fader_t::gains
5.334.2.3 fr
unsigned int spec_fader_t::fr
The documentation for this class was generated from the following file:
fader_spec.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
5.335 speechnoise_t Class Reference 1145
5.335 speechnoise_t Class Reference
Inheritance diagram for speechnoise_t:
speechnoise_t
MHASignal::waveform_t
mha_wave_t
Public Types
• enum noise_type_t {
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 }
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.335.1 Member Enumeration Documentation
5.335.1.1 noise_type_t
enum speechnoise_t::noise_type_t
© 2005-2018 HörTech gGmbH, Oldenburg
1146 CONTENTS
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
5.335.2 Constructor & Destructor Documentation
5.335.2.1 speechnoise_t() [1/2]
speechnoise_t::speechnoise_t (
float duration,
float srate,
unsigned int channels,
speechnoise_t::noise_type_t noise_type = speechnoise_t::mha )
5.335.2.2 speechnoise_t() [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 )
© 2005-2018 HörTech gGmbH, Oldenburg
5.336 steerbf Class Reference 1147
5.335.3 Member Function Documentation
5.335.3.1 creator()
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.336 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-2018 HörTech gGmbH, Oldenburg
1148 CONTENTS
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.336.1 Constructor & Destructor Documentation
5.336.1.1 steerbf()
steerbf::steerbf (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs our plugin.
© 2005-2018 HörTech gGmbH, Oldenburg
5.336 steerbf Class Reference 1149
5.336.1.2 steerbf()
steerbf::steerbf ( )
5.336.2 Member Function Documentation
5.336.2.1 process()
mha_spec_t steerbf::process (
mha_spec_t signal )
Defers to configuration class.
5.336.2.2 prepare()
void steerbf::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<steerbf_config >(p. 884).
5.336.2.3 release()
void steerbf::release (
void ) [inline], [virtual]
Reimplemented from MHAPlugin::plugin_t<steerbf_config >(p. 885).
© 2005-2018 HörTech gGmbH, Oldenburg
1150 CONTENTS
5.336.2.4 update_cfg()
void steerbf::update_cfg ( ) [private]
5.336.3 Member Data Documentation
5.336.3.1 bf_src
MHAParser::string_t steerbf::bf_src
5.336.3.2 angle_ind
parser_int_dyn steerbf::angle_ind
5.336.3.3 angle_src
MHAParser::string_t steerbf::angle_src
5.336.3.4 patchbay
MHAEvents::patchbay_t<steerbf>steerbf::patchbay [private]
The documentation for this class was generated from the following files:
steerbf.h
steerbf.cpp
5.337 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-2018 HörTech gGmbH, Oldenburg
5.337 steerbf_config Class Reference 1151
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.337.1 Constructor & Destructor Documentation
5.337.1.1 steerbf_config()
steerbf_config::steerbf_config (
algo_comm_t &ac,
const mhaconfig_t in_cfg,
steerbf steerbf )
5.337.1.2 steerbf_config()
steerbf_config::steerbf_config ( )
5.337.2 Member Function Documentation
5.337.2.1 process()
mha_spec_t steerbf_config::process (
mha_spec_t inSpec )
5.337.3 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
1152 CONTENTS
5.337.3.1 nchan
unsigned int steerbf_config::nchan [private]
5.337.3.2 nfreq
unsigned int steerbf_config::nfreq [private]
5.337.3.3 outSpec
MHASignal::spectrum_t steerbf_config::outSpec [private]
5.337.3.4 bf_vec
mha_spec_t steerbf_config::bf_vec [private]
5.337.3.5 nangle
unsigned int steerbf_config::nangle [private]
5.337.3.6 _steerbf
steerbfsteerbf_config::_steerbf [private]
5.337.3.7 ac
algo_comm_t& steerbf_config::ac [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.338 timo_AC Class Reference 1153
5.337.3.8 bf_src_copy
std::string steerbf_config::bf_src_copy [private]
The documentation for this class was generated from the following files:
steerbf.h
steerbf.cpp
5.338 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.338.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
1154 CONTENTS
5.338.1.1 timo_AC()
timo_AC::timo_AC (
algo_comm_t &ac,
unsigned int fftlen,
unsigned int nfreq,
unsigned int nchan ) [inline]
5.338.2 Member Function Documentation
5.338.2.1 copy()
void timo_AC::copy ( )
5.338.2.2 insert()
void timo_AC::insert ( )
5.338.3 Member Data Documentation
5.338.3.1 gamma_post_AC
MHA_AC::waveform_t timo_AC::gamma_post_AC
5.338.3.2 xi_ml_AC
MHA_AC::waveform_t timo_AC::xi_ml_AC
5.338.3.3 lambda_ml_AC
MHA_AC::spectrum_t timo_AC::lambda_ml_AC
© 2005-2018 HörTech gGmbH, Oldenburg
5.338 timo_AC Class Reference 1155
5.338.3.4 lambda_ml_ceps_AC
MHA_AC::spectrum_t timo_AC::lambda_ml_ceps_AC
5.338.3.5 lambda_ml_smooth_AC
MHA_AC::waveform_t timo_AC::lambda_ml_smooth_AC
5.338.3.6 max_q_AC
MHA_AC::waveform_t timo_AC::max_q_AC
5.338.3.7 max_val_AC
MHA_AC::waveform_t timo_AC::max_val_AC
5.338.3.8 pitch_set_first_AC
MHA_AC::waveform_t timo_AC::pitch_set_first_AC
5.338.3.9 pitch_set_last_AC
MHA_AC::waveform_t timo_AC::pitch_set_last_AC
5.338.3.10 alpha_hat_AC
MHA_AC::waveform_t timo_AC::alpha_hat_AC
5.338.3.11 alpha_frame_AC
MHA_AC::waveform_t timo_AC::alpha_frame_AC
© 2005-2018 HörTech gGmbH, Oldenburg
1156 CONTENTS
5.338.3.12 lambda_ceps_AC
MHA_AC::spectrum_t timo_AC::lambda_ceps_AC
5.338.3.13 log_lambda_spec_AC
MHA_AC::spectrum_t timo_AC::log_lambda_spec_AC
5.338.3.14 lambda_spec_AC
MHA_AC::waveform_t timo_AC::lambda_spec_AC
5.338.3.15 xi_est_AC
MHA_AC::waveform_t timo_AC::xi_est_AC
5.338.3.16 gain_wiener_AC
MHA_AC::waveform_t timo_AC::gain_wiener_AC
5.338.3.17 winF0_AC
MHA_AC::waveform_t timo_AC::winF0_AC
5.338.3.18 SPP
MHA_AC::waveform_t timo_AC::SPP
The documentation for this class was generated from the following files:
timoconfig.h
timoconfig.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
5.339 timo_params Class Reference 1157
5.339 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.339.1 Constructor & Destructor Documentation
5.339.1.1 timo_params()
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,
© 2005-2018 HörTech gGmbH, Oldenburg
1158 CONTENTS
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]
5.339.2 Member Data Documentation
5.339.2.1 in_cfg
const mhaconfig_t timo_params::in_cfg
5.339.2.2 xi_min_db
float timo_params::xi_min_db
5.339.2.3 f0_low
float timo_params::f0_low
5.339.2.4 f0_high
float timo_params::f0_high
5.339.2.5 delta_pitch
float timo_params::delta_pitch
5.339.2.6 lambda_thresh
float timo_params::lambda_thresh
© 2005-2018 HörTech gGmbH, Oldenburg
5.339 timo_params Class Reference 1159
5.339.2.7 alpha_pitch
float timo_params::alpha_pitch
5.339.2.8 beta_const
float timo_params::beta_const
5.339.2.9 kappa_const
float timo_params::kappa_const
5.339.2.10 prior_q
float timo_params::prior_q
5.339.2.11 xi_opt_db
float timo_params::xi_opt_db
5.339.2.12 gain_min_db
float timo_params::gain_min_db
5.339.2.13 winF0
std::vector<float>timo_params::winF0
5.339.2.14 alpha_const_vals
std::vector<float>timo_params::alpha_const_vals
© 2005-2018 HörTech gGmbH, Oldenburg
1160 CONTENTS
5.339.2.15 alpha_const_limits_hz
std::vector<float>timo_params::alpha_const_limits_hz
5.339.2.16 noisePow_name
std::string timo_params::noisePow_name
The documentation for this class was generated from the following file:
timoconfig.h
5.340 timoConfig Class Reference
Public Member Functions
timoConfig (algo_comm_t &ac,timo_params &params)
timoConfig ()
mha_spec_t process (mha_spec_t )
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.340 timoConfig Class Reference 1161
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
5.340.1 Constructor & Destructor Documentation
5.340.1.1 timoConfig()
timoConfig::timoConfig (
algo_comm_t &ac,
timo_params &params )
5.340.1.2 timoConfig()
timoConfig::timoConfig ( )
5.340.2 Member Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
1162 CONTENTS
5.340.2.1 process()
mha_spec_t timoConfig::process (
mha_spec_t noisyFrame )
5.340.2.2 copy_AC()
void timoConfig::copy_AC (
timo_AC &tAC ) [private]
5.340.3 Member Data Documentation
5.340.3.1 ac
algo_comm_t timoConfig::ac [private]
5.340.3.2 params
timo_params timoConfig::params [private]
5.340.3.3 fftlen
unsigned int timoConfig::fftlen [private]
5.340.3.4 mha_fft
mha_fft_t timoConfig::mha_fft [private]
5.340.3.5 nfreq
unsigned int timoConfig::nfreq [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.340 timoConfig Class Reference 1163
5.340.3.6 nchan
unsigned int timoConfig::nchan [private]
5.340.3.7 tAC
timo_AC timoConfig::tAC [private]
5.340.3.8 ola_powspec_scale
float timoConfig::ola_powspec_scale [private]
5.340.3.9 q_low
float timoConfig::q_low [private]
5.340.3.10 q_high
float timoConfig::q_high [private]
5.340.3.11 winF0
MHASignal::waveform_t timoConfig::winF0 [private]
5.340.3.12 xi_min
float timoConfig::xi_min [private]
5.340.3.13 gain_min
float timoConfig::gain_min [private]
© 2005-2018 HörTech gGmbH, Oldenburg
1164 CONTENTS
5.340.3.14 alpha_const
MHASignal::waveform_t timoConfig::alpha_const [private]
5.340.3.15 alpha_prev
MHASignal::waveform_t timoConfig::alpha_prev [private]
5.340.3.16 noisePow
MHASignal::waveform_t timoConfig::noisePow [private]
5.340.3.17 powSpec
MHASignal::waveform_t timoConfig::powSpec [private]
5.340.3.18 gamma_post
MHASignal::waveform_t timoConfig::gamma_post [private]
5.340.3.19 xi_ml
MHASignal::waveform_t timoConfig::xi_ml [private]
5.340.3.20 lambda_ml_full
MHASignal::spectrum_t timoConfig::lambda_ml_full [private]
5.340.3.21 lambda_ml_ceps
MHASignal::spectrum_t timoConfig::lambda_ml_ceps [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.340 timoConfig Class Reference 1165
5.340.3.22 lambda_ml_smooth
MHASignal::waveform_t timoConfig::lambda_ml_smooth [private]
5.340.3.23 alpha_hat
MHASignal::waveform_t timoConfig::alpha_hat [private]
5.340.3.24 alpha_frame
MHASignal::waveform_t timoConfig::alpha_frame [private]
5.340.3.25 lambda_ceps
MHASignal::spectrum_t timoConfig::lambda_ceps [private]
5.340.3.26 lambda_ceps_prev
MHASignal::waveform_t timoConfig::lambda_ceps_prev [private]
5.340.3.27 log_lambda_spec
MHASignal::spectrum_t timoConfig::log_lambda_spec [private]
5.340.3.28 lambda_spec
MHASignal::waveform_t timoConfig::lambda_spec [private]
5.340.3.29 xi_est
MHASignal::waveform_t timoConfig::xi_est [private]
© 2005-2018 HörTech gGmbH, Oldenburg
1166 CONTENTS
5.340.3.30 gain_wiener
MHASignal::waveform_t timoConfig::gain_wiener [private]
5.340.3.31 spec_out
MHASignal::spectrum_t timoConfig::spec_out [private]
5.340.3.32 max_val
doubletimoConfig::max_val [private]
5.340.3.33 max_q
inttimoConfig::max_q [private]
5.340.3.34 pitch_set_first
inttimoConfig::pitch_set_first [private]
5.340.3.35 pitch_set_last
inttimoConfig::pitch_set_last [private]
5.340.3.36 priorFact
float timoConfig::priorFact [private]
5.340.3.37 xiOpt
float timoConfig::xiOpt [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.341 timoSmooth Class Reference 1167
5.340.3.38 logGLRFact
float timoConfig::logGLRFact [private]
5.340.3.39 GLRexp
float timoConfig::GLRexp [private]
5.340.3.40 GLR
MHASignal::waveform_t timoConfig::GLR [private]
The documentation for this class was generated from the following files:
timoconfig.h
timoconfig.cpp
5.341 timoSmooth Class Reference
Inheritance diagram for timoSmooth:
timoSmooth
MHAPlugin::plugin_t
< timoConfig >
MHAParser::parser_t
MHAParser::base_t
MHAPlugin::config_t
< timoConfig >
© 2005-2018 HörTech gGmbH, Oldenburg
1168 CONTENTS
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 ()
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.341.1 Constructor & Destructor Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.341 timoSmooth Class Reference 1169
5.341.1.1 timoSmooth()
timoSmooth::timoSmooth (
algo_comm_t &ac,
const std::string & chain_name,
const std::string & algo_name )
Constructs the beamforming plugin.
5.341.1.2 timoSmooth()
timoSmooth::timoSmooth ( )
5.341.2 Member Function Documentation
5.341.2.1 process()
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.
Returns
Returns a pointer to the input signal structure, with a the signal modified by this plugin.
5.341.2.2 prepare()
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
© 2005-2018 HörTech gGmbH, Oldenburg
1170 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<timoConfig >(p. 884).
5.341.2.3 release()
void timoSmooth::release (
void ) [inline], [virtual]
Reimplemented from MHAPlugin::plugin_t<timoConfig >(p. 885).
5.341.2.4 update_cfg()
void timoSmooth::update_cfg (
void ) [private]
5.341.2.5 on_model_param_valuechanged()
void timoSmooth::on_model_param_valuechanged ( ) [private]
5.341.3 Member Data Documentation
5.341.3.1 xi_min_db
MHAParser::float_t timoSmooth::xi_min_db [private]
5.341.3.2 f0_low
MHAParser::float_t timoSmooth::f0_low [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.341 timoSmooth Class Reference 1171
5.341.3.3 f0_high
MHAParser::float_t timoSmooth::f0_high [private]
5.341.3.4 delta_pitch
MHAParser::float_t timoSmooth::delta_pitch [private]
5.341.3.5 lambda_thresh
MHAParser::float_t timoSmooth::lambda_thresh [private]
5.341.3.6 alpha_pitch
MHAParser::float_t timoSmooth::alpha_pitch [private]
5.341.3.7 beta_const
MHAParser::float_t timoSmooth::beta_const [private]
5.341.3.8 kappa_const
MHAParser::float_t timoSmooth::kappa_const [private]
5.341.3.9 gain_min_db
MHAParser::float_t timoSmooth::gain_min_db [private]
5.341.3.10 win_f0
MHAParser::vfloat_t timoSmooth::win_f0 [private]
© 2005-2018 HörTech gGmbH, Oldenburg
1172 CONTENTS
5.341.3.11 alpha_const_vals
MHAParser::vfloat_t timoSmooth::alpha_const_vals [private]
5.341.3.12 alpha_const_limits_hz
MHAParser::vfloat_t timoSmooth::alpha_const_limits_hz [private]
5.341.3.13 noisePow_name
MHAParser::string_t timoSmooth::noisePow_name [private]
5.341.3.14 spp
MHAParser::parser_t timoSmooth::spp [private]
5.341.3.15 prior_q
MHAParser::float_t timoSmooth::prior_q [private]
5.341.3.16 xi_opt_db
MHAParser::float_t timoSmooth::xi_opt_db [private]
5.341.3.17 patchbay
MHAEvents::patchbay_t<timoSmooth>timoSmooth::patchbay [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.342 us_t Class Reference 1173
5.341.3.18 prepared
bool timoSmooth::prepared [private]
The documentation for this class was generated from the following files:
timosmooth.h
timoSmooth.cpp
5.342 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 >
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
© 2005-2018 HörTech gGmbH, Oldenburg
1174 CONTENTS
Additional Inherited Members
5.342.1 Constructor & Destructor Documentation
5.342.1.1 us_t()
us_t::us_t (
algo_comm_t iac,
std::string ,
std::string )
5.342.2 Member Function Documentation
5.342.2.1 process()
mha_wave_t us_t::process (
mha_wave_t s)
5.342.2.2 prepare()
void us_t::prepare (
mhaconfig_t &cf ) [virtual]
Implements MHAPlugin::plugin_t<MHASignal::waveform_t >(p. 884).
5.342.2.3 release()
void us_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<MHASignal::waveform_t >(p. 885).
5.342.3 Member Data Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
5.343 wave2spec_if_t Class Reference 1175
5.342.3.1 ratio
MHAParser::int_t us_t::ratio [private]
5.342.3.2 antialias
MHAFilter::iir_filter_t us_t::antialias [private]
The documentation for this class was generated from the following file:
upsample.cpp
5.343 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 ∗∗)
© 2005-2018 HörTech gGmbH, Oldenburg
1176 CONTENTS
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
Additional Inherited Members
5.343.1 Constructor & Destructor Documentation
5.343.1.1 wave2spec_if_t()
wave2spec_if_t::wave2spec_if_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & ialg )
5.343.2 Member Function Documentation
5.343.2.1 prepare()
void wave2spec_if_t::prepare (
mhaconfig_t &t) [virtual]
Implements MHAPlugin::plugin_t<wave2spec_t >(p. 884).
© 2005-2018 HörTech gGmbH, Oldenburg
5.343 wave2spec_if_t Class Reference 1177
5.343.2.2 process() [1/2]
void wave2spec_if_t::process (
mha_wave_t wave_in,
mha_spec_t ∗∗ sout )
5.343.2.3 process() [2/2]
void wave2spec_if_t::process (
mha_wave_t wave_in,
mha_wave_t ∗∗ sout )
5.343.2.4 update()
void wave2spec_if_t::update ( ) [private]
5.343.3 Member Data Documentation
5.343.3.1 patchbay
MHAEvents::patchbay_t<wave2spec_if_t>wave2spec_if_t::patchbay [private]
5.343.3.2 nfft
MHAParser::int_t wave2spec_if_t::nfft [private]
5.343.3.3 nwnd
MHAParser::int_t wave2spec_if_t::nwnd [private]
5.343.3.4 wndpos
MHAParser::float_t wave2spec_if_t::wndpos [private]
© 2005-2018 HörTech gGmbH, Oldenburg
1178 CONTENTS
5.343.3.5 window_config
windowselector_t wave2spec_if_t::window_config [private]
5.343.3.6 return_wave
MHAParser::bool_t wave2spec_if_t::return_wave [private]
5.343.3.7 algo
std::string wave2spec_if_t::algo [private]
The documentation for this class was generated from the following file:
wave2spec.cpp
5.344 wave2spec_t Class Reference
Inheritance diagram for wave2spec_t:
wave2spec_t
MHA_AC::spectrum_t
MHASignal::spectrum_t
mha_spec_t
© 2005-2018 HörTech gGmbH, Oldenburg
5.344 wave2spec_t Class Reference 1179
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
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.344.1 Constructor & Destructor Documentation
5.344.1.1 wave2spec_t()
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 )
© 2005-2018 HörTech gGmbH, Oldenburg
1180 CONTENTS
5.344.1.2 wave2spec_t()
wave2spec_t::wave2spec_t ( )
5.344.2 Member Function Documentation
5.344.2.1 process()
mha_spec_t wave2spec_t::process (
mha_wave_t wave_in )
5.344.2.2 calc_pre_wnd()
void wave2spec_t::calc_pre_wnd (
MHASignal::waveform_t &dest,
const MHASignal::waveform_t &src ) [private]
5.344.3 Member Data Documentation
5.344.3.1 nwnd
unsigned int wave2spec_t::nwnd [private]
5.344.3.2 nwndshift
unsigned int wave2spec_t::nwndshift [private]
5.344.3.3 ft
mha_fft_t wave2spec_t::ft [private]
FFT class.
© 2005-2018 HörTech gGmbH, Oldenburg
5.344 wave2spec_t Class Reference 1181
5.344.3.4 npad1
unsigned int wave2spec_t::npad1 [private]
length of zero padding before window
5.344.3.5 npad2
unsigned int wave2spec_t::npad2 [private]
length of zero padding after window
5.344.3.6 window
MHAWindow::base_t wave2spec_t::window [private]
5.344.3.7 calc_in
MHASignal::waveform_t wave2spec_t::calc_in [private]
5.344.3.8 in_buf
MHASignal::waveform_t wave2spec_t::in_buf [private]
5.344.3.9 spec_in
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
© 2005-2018 HörTech gGmbH, Oldenburg
1182 CONTENTS
5.345 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 >
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
© 2005-2018 HörTech gGmbH, Oldenburg
5.345 wavrec_t Class Reference 1183
Additional Inherited Members
5.345.1 Constructor & Destructor Documentation
5.345.1.1 wavrec_t()
wavrec_t::wavrec_t (
const algo_comm_t &iac,
const std::string & ,
const std::string & algo_name )
5.345.2 Member Function Documentation
5.345.2.1 process()
mha_wave_t wavrec_t::process (
mha_wave_t s)
5.345.2.2 prepare()
void wavrec_t::prepare (
mhaconfig_t &cf ) [virtual]
Implements MHAPlugin::plugin_t<wavwriter_t >(p. 884).
5.345.2.3 release()
void wavrec_t::release (
void ) [virtual]
Reimplemented from MHAPlugin::plugin_t<wavwriter_t >(p. 885).
5.345.2.4 start_new_session()
void wavrec_t::start_new_session ( ) [private]
© 2005-2018 HörTech gGmbH, Oldenburg
1184 CONTENTS
5.345.3 Member Data Documentation
5.345.3.1 record
MHAParser::bool_t wavrec_t::record [private]
5.345.3.2 fifolen
MHAParser::int_t wavrec_t::fifolen [private]
5.345.3.3 minwrite
MHAParser::int_t wavrec_t::minwrite [private]
5.345.3.4 prefix
MHAParser::string_t wavrec_t::prefix [private]
5.345.3.5 use_date
MHAParser::bool_t wavrec_t::use_date [private]
5.345.3.6 patchbay
MHAEvents::patchbay_t<wavrec_t>wavrec_t::patchbay [private]
The documentation for this class was generated from the following file:
wavrec.cpp
© 2005-2018 HörTech gGmbH, Oldenburg
5.346 wavwriter_t Class Reference 1185
5.346 wavwriter_t Class Reference
Public Member Functions
wavwriter_t (bool active, const mhaconfig_t &cf, unsigned int fifosize, unsigned int
minwrite, 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_)
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.346.1 Constructor & Destructor Documentation
5.346.1.1 wavwriter_t()
wavwriter_t::wavwriter_t (
bool active,
const mhaconfig_t &cf,
unsigned int fifosize,
unsigned int minwrite,
const std::string & prefix,
bool use_date )
© 2005-2018 HörTech gGmbH, Oldenburg
1186 CONTENTS
5.346.1.2 wavwriter_t()
wavwriter_t::wavwriter_t ( )
5.346.2 Member Function Documentation
5.346.2.1 process()
void wavwriter_t::process (
mha_wave_t s)
5.346.2.2 write_thread() [1/2]
static voidwavwriter_t::write_thread (
void this_ ) [inline], [static], [private]
5.346.2.3 write_thread() [2/2]
void wavwriter_t::write_thread ( ) [private]
5.346.3 Member Data Documentation
5.346.3.1 close_session
bool wavwriter_t::close_session [private]
5.346.3.2 act_
bool wavwriter_t::act_ [private]
© 2005-2018 HörTech gGmbH, Oldenburg
5.347 windowselector_t Class Reference 1187
5.346.3.3 cf_
mhaconfig_t wavwriter_t::cf_ [private]
5.346.3.4 sf
SNDFILEwavwriter_t::sf [private]
5.346.3.5 fifo
mha_fifo_t<mha_real_t>wavwriter_t::fifo [private]
5.346.3.6 minw_
unsigned int wavwriter_t::minw_ [private]
5.346.3.7 writethread
pthread_t wavwriter_t::writethread [private]
5.346.3.8 data
floatwavwriter_t::data [private]
The documentation for this class was generated from the following file:
wavrec.cpp
5.347 windowselector_t Class Reference
A combination of mha parser variables to describe an overalapadd analysis window.
© 2005-2018 HörTech gGmbH, Oldenburg
1188 CONTENTS
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. 1189)
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
5.347.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. 1022) when needed.
© 2005-2018 HörTech gGmbH, Oldenburg
5.347 windowselector_t Class Reference 1189
5.347.2 Constructor & Destructor Documentation
5.347.2.1 windowselector_t()
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.347.2.2 windowselector_t()
windowselector_t::windowselector_t ( )
destructor frees window data that were allocated
5.347.3 Member Function Documentation
5.347.3.1 get_window_data()
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. 1022) instance. The referenced instance lives until the
window parameters are changed, or this windowselector_t (p. 1187) instance is
destroyed.
© 2005-2018 HörTech gGmbH, Oldenburg
1190 CONTENTS
5.347.3.2 insert_items()
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.
Parameters
pThe configuration parser where to insert the window parameters. E.g. the plugin
wave2spec's interface class.
5.347.3.3 invalidate_window_data()
void windowselector_t::invalidate_window_data ( ) [private]
invalidates any allocated window samples.
5.347.3.4 update_parser()
void windowselector_t::update_parser ( ) [private]
invoked when a parser parameter changes.
Calls invalidate_window_data() (p. 1190) and emits the updated event.
5.347.4 Member Data Documentation
5.347.4.1 updated
MHAEvents::emitter_t windowselector_t::updated
A collector event that fires when any of the window parameters managed here is written to.
© 2005-2018 HörTech gGmbH, Oldenburg
5.347 windowselector_t Class Reference 1191
5.347.4.2 wnd
MHAWindow::base_twindowselector_t::wnd [private]
Storage for the window data returned by get_window_data() (p. 1189)
5.347.4.3 wndtype
MHAParser::kw_t windowselector_t::wndtype [private]
parser variable for window type
5.347.4.4 wndexp
MHAParser::float_t windowselector_t::wndexp [private]
parser variable for window exponent
5.347.4.5 userwnd
MHAParser::vfloat_t windowselector_t::userwnd [private]
parser variable for user window samples to use
5.347.4.6 patchbay
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-2018 HörTech gGmbH, Oldenburg
1192 CONTENTS
6 File Documentation
6.1 ac2wave.cpp File Reference
Classes
• class ac2wave_t
• class ac2wave_if_t
6.2 ac_monitor_type.cpp File Reference
6.3 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.4 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.4.1 Macro Definition Documentation
6.4.1.1 PATCH_VAR
#define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, & acConcat_wave::update-
_cfg)
© 2005-2018 HörTech gGmbH, Oldenburg
6.5 acConcat_wave.h File Reference 1193
6.4.1.2 INSERT_PATCH
#define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.5 acConcat_wave.h File Reference
Classes
• class acConcat_wave_config
• class acConcat_wave
6.6 acmon.cpp File Reference
Classes
• class acmon::acmon_t
Namespaces
acmon
Namespace for displaying ac variables as parser monitors.
6.7 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.7.1 Macro Definition Documentation
6.7.1.1 PATCH_VAR
#define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, & acPooling_wave::update-
_cfg)
© 2005-2018 HörTech gGmbH, Oldenburg
1194 CONTENTS
6.7.1.2 INSERT_PATCH
#define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.8 acPooling_wave.h File Reference
Classes
• class acPooling_wave_config
• class acPooling_wave
6.9 acsave.cpp File Reference
Classes
• class acsave::save_var_t
• class acsave::cfg_t
• class acsave::acsave_t
• struct acsave::mat4head_t
Namespaces
acsave
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.9.1 Macro Definition Documentation
6.9.1.1 ACSAVE_FMT_TXT
#define ACSAVE_FMT_TXT 0
© 2005-2018 HörTech gGmbH, Oldenburg
6.10 acSteer.cpp File Reference 1195
6.9.1.2 ACSAVE_SFMT_TXT
#define ACSAVE_SFMT_TXT "txt"
6.9.1.3 ACSAVE_FMT_MAT4
#define ACSAVE_FMT_MAT4 1
6.9.1.4 ACSAVE_SFMT_MAT4
#define ACSAVE_SFMT_MAT4 "mat4"
6.9.1.5 ACSAVE_FMT_M
#define ACSAVE_FMT_M 2
6.9.1.6 ACSAVE_SFMT_M
#define ACSAVE_SFMT_M "m"
6.10 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.10.1 Macro Definition Documentation
6.10.1.1 PATCH_VAR
#define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, & acSteer::update_cfg)
© 2005-2018 HörTech gGmbH, Oldenburg
1196 CONTENTS
6.10.1.2 INSERT_PATCH
#define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.11 acSteer.h File Reference
Classes
• class acSteer_config
• class acSteer
6.12 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.12.1 Macro Definition Documentation
6.12.1.1 PATCH_VAR
#define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, & acTransform_wave-
::update_cfg)
6.12.1.2 INSERT_PATCH
#define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.13 acTransform_wave.h File Reference
Classes
• class acTransform_wave_config
• class acTransform_wave
© 2005-2018 HörTech gGmbH, Oldenburg
6.14 adm.cpp File Reference 1197
6.14 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)
6.14.1 Function Documentation
6.14.1.1 adm_fir_lp()
MHASignal::waveform_tadm_fir_lp (
unsigned int fs,
unsigned f_pass,
unsigned int f_stop,
unsigned int order )
6.14.1.2 adm_fir_decomb()
MHASignal::waveform_tadm_fir_decomb (
unsigned int fs,
float dist_m,
unsigned int order )
6.15 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.
© 2005-2018 HörTech gGmbH, Oldenburg
1198 CONTENTS
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
6.16 altplugs.cpp File Reference
Classes
• class mhaplug_cfg_t
• class altplugs_t
Macros
• #define MHAPLUGIN_OVERLOAD_OUTDOMAIN
6.16.1 Macro Definition Documentation
6.16.1.1 MHAPLUGIN_OVERLOAD_OUTDOMAIN
#define MHAPLUGIN_OVERLOAD_OUTDOMAIN
6.17 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)
© 2005-2018 HörTech gGmbH, Oldenburg
6.18 analysispath.cpp File Reference 1199
6.17.1 Function Documentation
6.17.1.1 strdom()
std::string strdom (
mha_domain_t d)
6.17.1.2 print_ac()
void print_ac (
MHAKernel::algo_comm_class_t &ac,
std::string txt )
6.17.1.3 main()
int main (
int argc,
char ∗∗ argv )
6.18 analysispath.cpp File Reference
Classes
• class analysepath_t
• class plug_t
• class analysispath_if_t
Functions
static void thread_start (void instance)
6.18.1 Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
1200 CONTENTS
6.18.1.1 thread_start()
static voidthread_start (
void instance ) [static]
6.19 auditory_profile.cpp File Reference
6.20 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.21 browsemhaplugins.cpp File Reference
Macros
#define DEBUG(x) std::cerr << __FILE__ << ":" << __LINE__ << " " << #x<<"="<<x
<< std::endl
Functions
• int main (int argc, char ∗∗argv)
6.21.1 Macro Definition Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
6.22 coherence.cpp File Reference 1201
6.21.1.1 DEBUG
#define DEBUG(
x) std::cerr << __FILE__ << ":" << __LINE__ << " " << #x<<"="<<x
<< std::endl
6.21.2 Function Documentation
6.21.2.1 main()
int main (
int argc,
char ∗∗ argv )
6.22 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.23 combinechannels.cpp File Reference
Classes
• class combc_t
• class combc_if_t
© 2005-2018 HörTech gGmbH, Oldenburg
1202 CONTENTS
6.24 complex_filter.cpp File Reference
6.25 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
Namespaces
MHAFilter
Namespace for IIR and FIR filter classes.
6.26 cpuload.cpp File Reference
Classes
• class cpuload_t
6.27 db.cpp File Reference
Classes
• class db_t
• class db_if_t
6.28 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
© 2005-2018 HörTech gGmbH, Oldenburg
6.29 dc_afterburn.cpp File Reference 1203
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)
6.28.1 Macro Definition Documentation
6.28.1.1 DUPVEC
#define DUPVEC(
x) v.x.data = MHASignal::dupvec_chk(v.x.data,s)
6.29 dc_afterburn.cpp File Reference
Namespaces
DynComp
dynamic compression related classes and functions
Functions
• float mylogf (float x)
6.29.1 Function Documentation
6.29.1.1 mylogf()
float mylogf (
float x)
© 2005-2018 HörTech gGmbH, Oldenburg
1204 CONTENTS
6.30 dc_afterburn.h File Reference
Classes
• class DynComp::dc_afterburn_vars_t
Variables for dc_afterburn_t (p. 342) 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
6.31 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="")
© 2005-2018 HörTech gGmbH, Oldenburg
6.32 delay.cpp File Reference 1205
6.32 delay.cpp File Reference
Classes
• class delay::interface_t
Namespaces
delay
6.33 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.34 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.34.1 Macro Definition Documentation
6.34.1.1 PATCH_VAR
#define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, & doasvm_classification-
::update_cfg)
© 2005-2018 HörTech gGmbH, Oldenburg
1206 CONTENTS
6.34.1.2 INSERT_PATCH
#define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.35 doasvm_classification.h File Reference
Classes
• class doasvm_classification_config
• class doasvm_classification
6.36 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)
6.36.1 Macro Definition Documentation
6.36.1.1 PATCH_VAR
#define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, & doasvm_feature_-
extraction::update_cfg)
6.36.1.2 INSERT_PATCH
#define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.37 doasvm_feature_extraction.h File Reference
Classes
• class doasvm_feature_extraction_config
• class doasvm_feature_extraction
© 2005-2018 HörTech gGmbH, Oldenburg
6.38 doc_appendix.h File Reference 1207
6.38 doc_appendix.h File Reference
6.39 doc_examples.h File Reference
6.40 doc_frameworks.h File Reference
6.41 doc_general.h File Reference
6.42 doc_kernel.h File Reference
6.43 doc_matlab.h File Reference
6.44 doc_mhamain.h File Reference
6.45 doc_parser.h File Reference
6.46 doc_plugif.cpp File Reference
6.47 doc_plugins.h File Reference
6.48 doc_system.h File Reference
6.49 doc_toolbox.h File Reference
6.50 downsample.cpp File Reference
Classes
• class ds_t
6.51 droptect.cpp File Reference
Classes
• class droptect_t
Detect dropouts in a signal with a constant spectrum.
© 2005-2018 HörTech gGmbH, Oldenburg
1208 CONTENTS
6.52 example1.cpp File Reference
Classes
• class example1_t
This C++ class implements the simplest example plugin for the step-by-step tutorial.
6.53 example2.cpp File Reference
Classes
• class example2_t
This C++ class implements the second example plugin for the step-by-step tutorial.
6.54 example3.cpp File Reference
Classes
• class example3_t
A Plugin class using the openMHA Event mechanism.
6.55 example4.cpp File Reference
Classes
• class example4_t
A Plugin class using the spectral signal.
6.56 example5.cpp File Reference
Classes
• class example5_t
• class plugin_interface_t
Macros
• #define __declspec(p)
© 2005-2018 HörTech gGmbH, Oldenburg
6.57 example6.cpp File Reference 1209
6.56.1 Macro Definition Documentation
6.56.1.1 __declspec
#define __declspec(
p)
6.57 example6.cpp File Reference
Classes
• class cfg_t
• class example6_t
Macros
• #define __declspec(p)
6.57.1 Macro Definition Documentation
6.57.1.1 __declspec
#define __declspec(
p)
6.58 fader_spec.cpp File Reference
Classes
• class spec_fader_t
• class fader_if_t
6.59 fader_wave.cpp File Reference
Classes
• class fader_wave::level_adapt_t
• class fader_wave::fader_wave_if_t
© 2005-2018 HörTech gGmbH, Oldenburg
1210 CONTENTS
Namespaces
fader_wave
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.59.1 Macro Definition Documentation
6.59.1.1 DEBUG
#define DEBUG(
x) std::cerr << __FILE__ << ":" << __LINE__ << " " #x "=" << x<<
std::endl
6.60 fftfilterbank.cpp File Reference
Classes
• class fftfilterbank::fftfb_plug_t
• class fftfilterbank::fftfb_interface_t
Namespaces
fftfilterbank
6.61 fshift_hilbert.cpp File Reference
Classes
• class hilbert_shifter_t
• class frequency_translator_t
© 2005-2018 HörTech gGmbH, Oldenburg
6.62 gain.cpp File Reference 1211
6.62 gain.cpp File Reference
Classes
• class gain::scaler_t
• class gain::gain_if_t
Namespaces
gain
6.63 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.63.1 Function Documentation
6.63.1.1 convert_f2logf()
std::vector<mha_real_t>convert_f2logf (
const std::vector<mha_real_t >&vF )
6.63.1.2 isempty()
bool isempty (
const std::vector<std::vector<mha_real_t > > &arg )
6.64 gaintable.h File Reference
Classes
• class DynComp::gaintable_t
Gain table class.
© 2005-2018 HörTech gGmbH, Oldenburg
1212 CONTENTS
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.
6.65 generatemhaplugindoc.cpp File Reference
Classes
• class latex_doc_t
Functions
• std::string conv2latex (std::string s, bool iscolored=false)
void create_latex_doc (std::map<std::string, std::string >&doc, const std::string &plug-
name, const std::string &plugin_macro)
• int main (int argc, char ∗∗argv)
6.65.1 Function Documentation
6.65.1.1 conv2latex()
std::string conv2latex (
std::string s,
bool iscolored = false )
© 2005-2018 HörTech gGmbH, Oldenburg
6.66 hann.cpp File Reference 1213
6.65.1.2 create_latex_doc()
void create_latex_doc (
std::map<std::string, std::string >&doc,
const std::string & plugname,
const std::string & plugin_macro )
6.65.1.3 main()
int main (
int argc,
char ∗∗ argv )
6.66 hann.cpp File Reference
Macros
• #define PI 3.14159265358979323846
Functions
float hannf (const unsigned int N)
double hann (const unsigned int N)
6.66.1 Macro Definition Documentation
6.66.1.1 PI
#define PI 3.14159265358979323846
6.66.2 Function Documentation
6.66.2.1 hannf()
floathannf (
const unsigned int N)
© 2005-2018 HörTech gGmbH, Oldenburg
1214 CONTENTS
6.66.2.2 hann()
doublehann (
const unsigned int N)
6.67 hann.h File Reference
Functions
float hannf (const unsigned int N)
double hann (const unsigned int N)
6.67.1 Function Documentation
6.67.1.1 hannf()
floathannf (
const unsigned int N)
6.67.1.2 hann()
doublehann (
const unsigned int N)
6.68 identity.cpp File Reference
Classes
• class identity_t
6.69 ifftshift.cpp File Reference
Functions
• void ifftshift (mha_wave_t spec)
© 2005-2018 HörTech gGmbH, Oldenburg
6.70 ifftshift.h File Reference 1215
6.69.1 Function Documentation
6.69.1.1 ifftshift()
void ifftshift (
mha_wave_t spec )
6.70 ifftshift.h File Reference
Functions
• void ifftshift (mha_wave_t spec)
6.70.1 Function Documentation
6.70.1.1 ifftshift()
void ifftshift (
mha_wave_t spec )
6.71 iirfilter.cpp File Reference
Classes
• class iirfilter_t
6.72 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-2018 HörTech gGmbH, Oldenburg
1216 CONTENTS
6.72.1 Macro Definition Documentation
6.72.1.1 PATCH_VAR
#define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, & lpc::update_cfg)
6.72.1.2 INSERT_PATCH
#define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.72.2 Function Documentation
6.72.2.1 Levinson2()
void Levinson2 (
unsigned int P,
const std::vector<mha_real_t >&R,
std::vector<mha_real_t >&A)
6.73 lpc.h File Reference
Classes
• class lpc_config
• class lpc
6.74 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)
© 2005-2018 HörTech gGmbH, Oldenburg
6.75 lpc_bl_predictor.h File Reference 1217
6.74.1 Macro Definition Documentation
6.74.1.1 PATCH_VAR
#define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, & lpc_bl_predictor-
::update_cfg)
6.74.1.2 INSERT_PATCH
#define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.75 lpc_bl_predictor.h File Reference
Classes
• class lpc_bl_predictor_config
• class lpc_bl_predictor
Macros
• #define EPSILON 1e-10
6.75.1 Macro Definition Documentation
6.75.1.1 EPSILON
#define EPSILON 1e-10
6.76 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)
© 2005-2018 HörTech gGmbH, Oldenburg
1218 CONTENTS
6.76.1 Macro Definition Documentation
6.76.1.1 PATCH_VAR
#define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, & lpc_burglattice-
::update_cfg)
6.76.1.2 INSERT_PATCH
#define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.77 lpc_burg-lattice.h File Reference
Classes
• class lpc_burglattice_config
• class lpc_burglattice
Macros
• #define EPSILON 1e-10
6.77.1 Macro Definition Documentation
6.77.1.1 EPSILON
#define EPSILON 1e-10
6.78 matrixmixer.cpp File Reference
Classes
• class matrixmixer::cfg_t
• class matrixmixer::matmix_t
© 2005-2018 HörTech gGmbH, Oldenburg
6.79 mha.cpp File Reference 1219
Namespaces
matrixmixer
6.79 mha.cpp File Reference
Functions
• int mhamain (int argc, char argv[ ])
• int main (int argc, char argv[ ])
6.79.1 Function Documentation
6.79.1.1 mhamain()
int mhamain (
int argc,
char argv[ ] )
6.79.1.2 main()
int main (
int argc,
char argv[ ] )
6.80 mha.h File Reference
common types for MHA kernel, MHA framework applications and external plugins
© 2005-2018 HörTech gGmbH, Oldenburg
1220 CONTENTS
Classes
• struct mha_complex_t
Type for complex floating point values.
• 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. 595)).
• struct mha_audio_t
An audio fragment in the openMHA (planned as a replacement of mha_wave_t (p. 583) and
mha_spec_t (p. 547)).
• 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 5
Minor version number of MHA.
• #define MHA_VERSION_RELEASE 7
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)))
© 2005-2018 HörTech gGmbH, Oldenburg
6.80 mha.h File Reference 1221
Full version number of MHA kernel.
• #define MHA_VERSION_STRING MHA_XSTRF(MHA_VERSION_MAJOR) "." MH-
A_XSTRF(MHA_VERSION_MINOR)
Version string of MHA kernel (major.minor)
• #define MHA_RELEASE_VERSION_STRING MHA_XSTRF(MHA_VERSION_MAJ-
OR) "." MHA_XSTRF(MHA_VERSION_MINOR) "." MHA_XSTRF(MHA_VERSION_-
RELEASE)
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
• #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∗∗sOut)
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 ∗∗s-
Out)
typedef const char (MHAPluginDocumentation_t) (void)
typedef const char (MHAPluginCategory_t) (void)
© 2005-2018 HörTech gGmbH, Oldenburg
1222 CONTENTS
6.80.1 Detailed Description
common types for MHA kernel, MHA framework applications and external plugins
6.80.2 Macro Definition Documentation
6.80.2.1 MHA_CALLBACK_TEST
#define MHA_CALLBACK_TEST(
x)
Test macro to compare function type definition and declaration.
6.80.2.2 MHA_CALLBACK_TEST_PREFIX
#define MHA_CALLBACK_TEST_PREFIX(
prefix,
x)
6.80.2.3 MHA_XSTRF
#define MHA_XSTRF(
x)MHA_STRF(x)
6.80.2.4 MHA_STRF
#define MHA_STRF(
x) #x
6.80.2.5 MHA_VERSION_MAJOR
#define MHA_VERSION_MAJOR 4
Major version number of MHA.
© 2005-2018 HörTech gGmbH, Oldenburg
6.80 mha.h File Reference 1223
6.80.2.6 MHA_VERSION_MINOR
#define MHA_VERSION_MINOR 5
Minor version number of MHA.
6.80.2.7 MHA_VERSION_RELEASE
#define MHA_VERSION_RELEASE 7
Release number of MHA.
6.80.2.8 MHA_VERSION_BUILD
#define MHA_VERSION_BUILD 0
Build number of MHA (currently unused)
6.80.2.9 MHA_STRUCT_SIZEMATCH
#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.80.2.10 MHA_VERSION
#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.80.2.11 MHA_VERSION_STRING
#define MHA_VERSION_STRING MHA_XSTRF(MHA_VERSION_MAJOR) "." MHA_XSTRF(MHA_VERS-
ION_MINOR)
Version string of MHA kernel (major.minor)
© 2005-2018 HörTech gGmbH, Oldenburg
1224 CONTENTS
6.80.2.12 MHA_RELEASE_VERSION_STRING
#define MHA_RELEASE_VERSION_STRING MHA_XSTRF(MHA_VERSION_MAJOR) "." MHA_XSTRF(
MHA_VERSION_MINOR) "." MHA_XSTRF(MHA_VERSION_RELEASE)
Version string of MHA kernel (major.minor.release)
6.80.2.13 MHA_WAVEFORM
#define MHA_WAVEFORM 0
6.80.2.14 MHA_SPECTRUM
#define MHA_SPECTRUM 1
6.80.2.15 MHA_DOMAIN_MAX
#define MHA_DOMAIN_MAX 2
6.80.2.16 MHA_DOMAIN_UNKNOWN
#define MHA_DOMAIN_UNKNOWN MHA_DOMAIN_MAX
6.80.2.17 MHA_AC_UNKNOWN
#define MHA_AC_UNKNOWN 0
6.80.2.18 MHA_AC_CHAR
#define MHA_AC_CHAR 1
© 2005-2018 HörTech gGmbH, Oldenburg
6.80 mha.h File Reference 1225
6.80.2.19 MHA_AC_INT
#define MHA_AC_INT 2
6.80.2.20 MHA_AC_MHAREAL
#define MHA_AC_MHAREAL 3
6.80.2.21 MHA_AC_FLOAT
#define MHA_AC_FLOAT 4
6.80.2.22 MHA_AC_DOUBLE
#define MHA_AC_DOUBLE 5
6.80.2.23 MHA_AC_MHACOMPLEX
#define MHA_AC_MHACOMPLEX 6
6.80.2.24 MHA_AC_VEC_FLOAT
#define MHA_AC_VEC_FLOAT 51
6.80.2.25 MHA_AC_USER
#define MHA_AC_USER 1000
6.80.3 Typedef Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
1226 CONTENTS
6.80.3.1 mha_domain_t
typedef unsigned int mha_domain_t
6.80.3.2 algo_comm_t
typedef struct algo_comm_t algo_comm_t
6.80.3.3 MHAGetVersion_t
typedef unsigned int(MHAGetVersion_t) (void)
6.80.3.4 MHAInit_t
typedef int(MHAInit_t) ( algo_comm_t algo_comm, const char chain, const char algo,
void ∗∗h)
6.80.3.5 MHAPrepare_t
typedef int(MHAPrepare_t) (void h, mhaconfig_t cfg)
6.80.3.6 MHARelease_t
typedef int(MHARelease_t) (void h)
6.80.3.7 MHADestroy_t
typedef void(MHADestroy_t) (void h)
6.80.3.8 MHASet_t
typedef int(MHASet_t) (void h, const char cmd, char retval, unsigned int len)
© 2005-2018 HörTech gGmbH, Oldenburg
6.80 mha.h File Reference 1227
6.80.3.9 MHAStrError_t
typedef const char(MHAStrError_t) (void h, int err)
6.80.3.10 MHAProc_wave2wave_t
typedef int(MHAProc_wave2wave_t) (void h, mha_wave_t sIn, mha_wave_t ∗∗sOut)
6.80.3.11 MHAProc_wave2spec_t
typedef int(MHAProc_wave2spec_t) (void h, mha_wave_t sIn, mha_spec_t ∗∗sOut)
6.80.3.12 MHAProc_spec2wave_t
typedef int(MHAProc_spec2wave_t) (void h, mha_spec_t sIn, mha_wave_t ∗∗sOut)
6.80.3.13 MHAProc_spec2spec_t
typedef int(MHAProc_spec2spec_t) (void h, mha_spec_t sIn, mha_spec_t ∗∗sOut)
6.80.3.14 MHAPluginDocumentation_t
typedef const char(MHAPluginDocumentation_t) (void)
6.80.3.15 MHAPluginCategory_t
typedef const char(MHAPluginCategory_t) (void)
© 2005-2018 HörTech gGmbH, Oldenburg
1228 CONTENTS
6.81 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
6.81.1 Macro Definition Documentation
6.81.1.1 AC_SUCCESS
#define AC_SUCCESS 0
6.81.1.2 AC_INVALID_HANDLE
#define AC_INVALID_HANDLE -1
6.81.1.3 AC_INVALID_NAME
#define AC_INVALID_NAME -2
6.81.1.4 AC_STRING_TRUNCATED
#define AC_STRING_TRUNCATED -3
© 2005-2018 HörTech gGmbH, Oldenburg
6.82 mha_algo_comm.h File Reference 1229
6.81.1.5 AC_INVALID_OUTPTR
#define AC_INVALID_OUTPTR -4
6.81.1.6 AC_TYPE_MISMATCH
#define AC_TYPE_MISMATCH -5
6.81.1.7 AC_DIM_MISMATCH
#define AC_DIM_MISMATCH -6
6.81.2 Variable Documentation
6.81.2.1 algo_comm_default
algo_comm_t algo_comm_default
6.82 mha_algo_comm.h File Reference
Header file for Algorithm Communication.
Classes
• class MHA_AC::spectrum_t
Insert a MHASignal::spectrum_t (p. 979) class into the AC space.
• class MHA_AC::waveform_t
Insert a MHASignal::waveform_t (p. 993) 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-2018 HörTech gGmbH, Oldenburg
1230 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.82.1 Detailed Description
Header file for Algorithm Communication.
6.83 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-2018 HörTech gGmbH, Oldenburg
6.84 mha_defs.h File Reference 1231
Functions
algo_comm_class_t MHAKernel::algo_comm_safe_cast (void )
Variables
algo_comm_t algo_comm_default
6.83.1 Macro Definition Documentation
6.83.1.1 ALGO_COMM_ID_STR
#define ALGO_COMM_ID_STR "MFVK3jL5rmeus1XtggEI971aXCR/GU7RRehKz4kQtrg="
6.83.2 Variable Documentation
6.83.2.1 algo_comm_default
algo_comm_t algo_comm_default
6.84 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
© 2005-2018 HörTech gGmbH, Oldenburg
1232 CONTENTS
6.84.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.
6.84.2 Macro Definition Documentation
6.84.2.1 __MHA_FUN__
#define __MHA_FUN__ __FUNC__
6.84.2.2 CHECK_EXPR
#define CHECK_EXPR(
x) {if(!(x)){throw MHA_Error(__FILE__,__LINE__,"The expression \"" #x
"\" is invalid.");}}
6.84.2.3 CHECK_VAR
#define CHECK_VAR(
x) {if(!(x)){throw MHA_Error(__FILE__,__LINE__,"The variable \"" #x
"\" is not defined.");}}
6.84.2.4 __declspec
#define __declspec(
p)
6.84.2.5 M_PI
#define M_PI 3.14159265358979323846
Define pi if it is not defined yet.
© 2005-2018 HörTech gGmbH, Oldenburg
6.85 mha_errno.c File Reference 1233
6.84.2.6 MIN
#define MIN(
a,
b) (((a)<(b))?(a):(b))
Macro for minimum function.
6.84.2.7 MAX
#define MAX(
a,
b) (((a)>(b))?(a):(b))
Macro for maximum function.
6.84.2.8 MHA_EAR_LEFT
#define MHA_EAR_LEFT 0
6.84.2.9 MHA_EAR_RIGHT
#define MHA_EAR_RIGHT 1
6.84.2.10 MHA_EAR_MAX
#define MHA_EAR_MAX 2
6.85 mha_errno.c File Reference
Macros
• #define STRLEN 0x1000
Functions
const char mha_strerror (int mhaerrno)
• void mha_set_user_error (const char str)
© 2005-2018 HörTech gGmbH, Oldenburg
1234 CONTENTS
Variables
• char next_except_str [STRLEN] = ""
const char cstr_strerror [MHA_ERR_USER]
6.85.1 Macro Definition Documentation
6.85.1.1 STRLEN
#define STRLEN 0x1000
6.85.2 Function Documentation
6.85.2.1 mha_strerror()
const charmha_strerror (
int mhaerrno )
6.85.2.2 mha_set_user_error()
void mha_set_user_error (
const char str )
6.85.3 Variable Documentation
6.85.3.1 next_except_str
char next_except_str[ STRLEN] = ""
6.85.3.2 cstr_strerror
const charcstr_strerror[ MHA_ERR_USER]
© 2005-2018 HörTech gGmbH, Oldenburg
6.86 mha_errno.h File Reference 1235
6.86 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)
6.86.1 Macro Definition Documentation
6.86.1.1 MHA_ERR_SUCCESS
#define MHA_ERR_SUCCESS 0
6.86.1.2 MHA_ERR_UNKNOWN
#define MHA_ERR_UNKNOWN 1
6.86.1.3 MHA_ERR_INVALID_HANDLE
#define MHA_ERR_INVALID_HANDLE 2
6.86.1.4 MHA_ERR_NULL
#define MHA_ERR_NULL 3
© 2005-2018 HörTech gGmbH, Oldenburg
1236 CONTENTS
6.86.1.5 MHA_ERR_VARRANGE
#define MHA_ERR_VARRANGE 4
6.86.1.6 MHA_ERR_VARFMT
#define MHA_ERR_VARFMT 5
6.86.1.7 MHA_ERR_USER
#define MHA_ERR_USER 10000
6.86.2 Function Documentation
6.86.2.1 mha_strerror()
const charmha_strerror (
int mhaerrno )
6.86.2.2 mha_set_user_error()
void mha_set_user_error (
const char str )
6.87 mha_error.cpp File Reference
Implementation of openMHA error handling.
Namespaces
mha_error_helpers
© 2005-2018 HörTech gGmbH, Oldenburg
6.88 mha_error.hh File Reference 1237
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).
6.87.1 Detailed Description
Implementation of openMHA error handling.
This file forms a seperate library.
6.88 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. 522).
• #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. 522) with the values.
© 2005-2018 HörTech gGmbH, Oldenburg
1238 CONTENTS
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.
6.88.1 Macro Definition Documentation
6.88.1.1 Getmsg
#define Getmsg(
e) ((e).get_msg())
6.89 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.90 mha_events.cpp File Reference
6.91 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.
© 2005-2018 HörTech gGmbH, Oldenburg
6.92 mha_fftfb.cpp File Reference 1239
Namespaces
MHAEvents
Collection of event handling classes.
6.92 mha_fftfb.cpp File Reference
Classes
• class MHAOvlFilter::barkscale::hz2bark_t
• class MHAOvlFilter::barkscale::bark2hz_t
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)
© 2005-2018 HörTech gGmbH, Oldenburg
1240 CONTENTS
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]
6.92.1 Macro Definition Documentation
6.92.1.1 BARKSCALE_ENTRIES
#define BARKSCALE_ENTRIES 50
6.92.2 Function Documentation
6.92.2.1 filtershapefun()
mha_real_t filtershapefun (
mha_real_t f,
MHAOvlFilter::band_descriptor_t b,
mha_real_t plateau )
© 2005-2018 HörTech gGmbH, Oldenburg
6.93 mha_fftfb.hh File Reference 1241
6.93 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. 741).
• 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)
6.94 mha_fifo.cpp File Reference
6.95 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
© 2005-2018 HörTech gGmbH, Oldenburg
1242 CONTENTS
• 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. 543).
• 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.95.1 Macro Definition Documentation
6.95.1.1 mha_fifo_thread_platform_implementation_t
#define mha_fifo_thread_platform_implementation_t mha_fifo_posix_threads_t
6.96 mha_filter.cpp File Reference
Functions
• std::vector<mha_real_t >diff_coeffs ()
6.96.1 Function Documentation
6.96.1.1 diff_coeffs()
std::vector<mha_real_t>diff_coeffs ( )
© 2005-2018 HörTech gGmbH, Oldenburg
6.97 mha_filter.hh File Reference 1243
6.97 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.
• 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.
© 2005-2018 HörTech gGmbH, Oldenburg
1244 CONTENTS
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.97.1 Detailed Description
Header file for IIR filter classes.
6.98 mha_generic_chain.cpp File Reference
Functions
• void mhaconfig_compare (mhaconfig_t req, mhaconfig_t avail, const char cpref)
6.98.1 Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
6.99 mha_generic_chain.h File Reference 1245
6.98.1.1 mhaconfig_compare()
void mhaconfig_compare (
mhaconfig_t req,
mhaconfig_t avail,
const char cpref )
6.99 mha_generic_chain.h File Reference
Classes
• class mhachain::plugs_t
• class mhachain::chain_base_t
Namespaces
mhachain
Macros
• #define MHAPLUGIN_OVERLOAD_OUTDOMAIN
6.99.1 Macro Definition Documentation
6.99.1.1 MHAPLUGIN_OVERLOAD_OUTDOMAIN
#define MHAPLUGIN_OVERLOAD_OUTDOMAIN
6.100 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, IOStopped-
Event_t stop_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-2018 HörTech gGmbH, Oldenburg
1246 CONTENTS
6.100.1 Typedef Documentation
6.100.1.1 IOProcessEvent_t
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.100.1.2 IOStoppedEvent_t
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.100.1.3 IOStartedEvent_t
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.100.1.4 IOInit_t
typedef int(IOInit_t) (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 ∗∗handle)
6.100.1.5 IOPrepare_t
typedef int(IOPrepare_t) (void handle, int num_inchannels, int num_outchannels)
6.100.1.6 IOStart_t
typedef int(IOStart_t) (void handle)
© 2005-2018 HörTech gGmbH, Oldenburg
6.101 mha_multisrc.cpp File Reference 1247
6.100.1.7 IOStop_t
typedef int(IOStop_t) (void handle)
6.100.1.8 IORelease_t
typedef int(IORelease_t) (void handle)
6.100.1.9 IOSetVar_t
typedef int(IOSetVar_t) (void handle, const char cmd, char retval, unsigned int
len)
6.100.1.10 IOStrError_t
typedef const char(IOStrError_t) (void handle, int err)
6.100.1.11 IODestroy_t
typedef void(IODestroy_t) (void handle)
6.101 mha_multisrc.cpp File Reference
Namespaces
MHAMultiSrc
Collection of classes for selecting audio chunks from multiple sources.
6.102 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
© 2005-2018 HörTech gGmbH, Oldenburg
1248 CONTENTS
Namespaces
MHAMultiSrc
Collection of classes for selecting audio chunks from multiple sources.
6.103 mha_os.cpp File Reference
Functions
• std::string mha_getenv (std::string envvar)
• std::list<std::string >mha_library_paths ()
• std::list<std::string >list_dir (const std::string &path, const std::string &pattern)
6.103.1 Function Documentation
6.103.1.1 mha_getenv()
std::string mha_getenv (
std::string envvar )
6.103.1.2 mha_library_paths()
std::list<std::string>mha_library_paths ( )
6.103.1.3 list_dir()
std::list<std::string>list_dir (
const std::string & path,
const std::string & pattern )
6.104 mha_os.h File Reference
Classes
• class dynamiclib_t
© 2005-2018 HörTech gGmbH, Oldenburg
6.104 mha_os.h File Reference 1249
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 (std::string envvar)
• 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)
6.104.1 Macro Definition Documentation
6.104.1.1 mha_loadlib
#define mha_loadlib(
x) dlopen(x,RTLD_NOW)
© 2005-2018 HörTech gGmbH, Oldenburg
1250 CONTENTS
6.104.1.2 mha_freelib
#define mha_freelib(
x) dlclose(x)
6.104.1.3 mha_freelib_success
#define mha_freelib_success(
x) (x == 0)
6.104.1.4 mha_getlibfun
#define mha_getlibfun(
h,
x) x ## _cb = (x ## _t)dlsym(h,#x)
6.104.1.5 mha_getlibfun_checked
#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.104.1.6 mha_loadlib_error
#define mha_loadlib_error(
x) dlerror()
6.104.1.7 mha_lib_extension
#define mha_lib_extension ".so"
6.104.1.8 mha_msleep
#define mha_msleep(
milliseconds ) usleep((milliseconds)1000)
© 2005-2018 HörTech gGmbH, Oldenburg
6.104 mha_os.h File Reference 1251
6.104.1.9 FMTsz
#define FMTsz "%zu"
printf modifier to print integers of type size_t
6.104.1.10 MHA_RESOLVE
#define MHA_RESOLVE(
h,
t) t ## _cb = (t ## _t)(h->resolve(#t))
6.104.1.11 MHA_RESOLVE_CHECKED
#define MHA_RESOLVE_CHECKED(
h,
t) t ## _cb = (t ## _t)(h->resolve_checked(#t))
6.104.2 Typedef Documentation
6.104.2.1 mha_libhandle_t
typedef voidmha_libhandle_t
6.104.3 Function Documentation
6.104.3.1 mha_getenv()
std::string mha_getenv (
std::string envvar )
6.104.3.2 mha_library_paths()
std::list<std::string>mha_library_paths ( )
© 2005-2018 HörTech gGmbH, Oldenburg
1252 CONTENTS
6.104.3.3 list_dir()
std::list<std::string>list_dir (
const std::string & path,
const std::string & pattern )
6.104.3.4 mha_hton() [1/3]
void mha_hton (
float data,
unsigned int len ) [inline]
6.104.3.5 mha_ntoh() [1/3]
void mha_ntoh (
float data,
unsigned int len ) [inline]
6.104.3.6 mha_hton() [2/3]
void mha_hton (
uint32_t data,
unsigned int len ) [inline]
6.104.3.7 mha_ntoh() [2/3]
void mha_ntoh (
uint32_t data,
unsigned int len ) [inline]
6.104.3.8 mha_hton() [3/3]
void mha_hton (
int32_t data,
unsigned int len ) [inline]
© 2005-2018 HörTech gGmbH, Oldenburg
6.105 mha_parser.cpp File Reference 1253
6.104.3.9 mha_ntoh() [3/3]
void mha_ntoh (
int32_t data,
unsigned int len ) [inline]
6.105 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"
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.105.1 Macro Definition Documentation
6.105.1.1 MHAPLATFORM
#define MHAPLATFORM "undefined-linux"
6.105.2 Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
1254 CONTENTS
6.105.2.1 write_float()
static std::ostream& write_float (
std::ostream & o,
const float & f) [inline], [static]
6.105.2.2 parse_1_float()
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.105.2.3 parse_1_complex()
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.
Parameters
sThe string to parse
vThe complex variable to fill with a value
Returns
The rest of the string.
© 2005-2018 HörTech gGmbH, Oldenburg
6.106 mha_parser.hh File Reference 1255
6.106 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.
• 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.
© 2005-2018 HörTech gGmbH, Oldenburg
1256 CONTENTS
• 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::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.
Macros
• #define DEFAULT_RETSIZE 0x100000
• #define insert_member(x) insert_item(#x,&x)
Macro to insert a member variable into a parser.
© 2005-2018 HörTech gGmbH, Oldenburg
6.106 mha_parser.hh File Reference 1257
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.
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 &)
© 2005-2018 HörTech gGmbH, Oldenburg
1258 CONTENTS
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::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.106.1 Detailed Description
Header file for the MHA-Parser script language.
6.106.2 Macro Definition Documentation
6.106.2.1 DEFAULT_RETSIZE
#define DEFAULT_RETSIZE 0x100000
6.106.2.2 insert_member
#define insert_member(
x) insert_item(#x,&x)
Macro to insert a member variable into a parser.
© 2005-2018 HörTech gGmbH, Oldenburg
6.107 mha_plugin.hh File Reference 1259
Parameters
xMember variable to be inserted. Name of member variable will be used as configuration
name.
See also MHAParser::parser_t::insert_item() (p. 835).
6.107 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, out-
dom) MHAPLUGIN_PROC_CALLBACK_PREFIX(MHA_STATIC_ ## plugname ##
_,classname,indom,outdom)
• #define MHAPLUGIN_INIT_CALLBACKS(plugname, classname) MHAPLUGIN_INI-
T_CALLBACKS_PREFIX(MHA_STATIC_ ## plugname ## _,classname)
• #define MHAPLUGIN_CALLBACKS(plugname, classname, indom, outdom) MHAPL-
UGIN_CALLBACKS_PREFIX(MHA_STATIC_ ## plugname ## _,classname,indom,outdom)
C++ wrapper macro for the plugin interface.
• #define MHAPLUGIN_DOCUMENTATION(plugname, cat, doc) MHAPLUGIN_DOC-
UMENTATION_PREFIX(MHA_STATIC_ ## plugname ## _,cat,doc)
Wrapper macro for the plugin documentation interface.
© 2005-2018 HörTech gGmbH, Oldenburg
1260 CONTENTS
Functions
__attribute__ ((unused)) static const char mha_git_commit_hash
store git commit hash in every binary plgin to support reproducible research
6.107.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.107.2 Macro Definition Documentation
6.107.2.1 __declspec
#define __declspec(
p)
6.107.2.2 WINAPI
#define WINAPI
6.107.2.3 HINSTANCE
#define HINSTANCE int
6.107.2.4 GITCOMMITHASH
#define GITCOMMITHASH "independent-plugin-build"
© 2005-2018 HörTech gGmbH, Oldenburg
6.107 mha_plugin.hh File Reference 1261
6.107.2.5 MHAPLUGIN_PROC_CALLBACK_PREFIX
#define MHAPLUGIN_PROC_CALLBACK_PREFIX(
prefix,
classname,
indom,
outdom )
6.107.2.6 MHAPLUGIN_INIT_CALLBACKS_PREFIX
#define MHAPLUGIN_INIT_CALLBACKS_PREFIX(
prefix,
classname )
6.107.2.7 MHAPLUGIN_DOCUMENTATION_PREFIX
#define MHAPLUGIN_DOCUMENTATION_PREFIX(
prefix,
cat,
doc )
6.107.2.8 MHAPLUGIN_PROC_CALLBACK
#define MHAPLUGIN_PROC_CALLBACK(
plugname,
classname,
indom,
outdom )MHAPLUGIN_PROC_CALLBACK_PREFIX(MHA_STATIC_ ## plugname ## _-
,classname,indom,outdom)
6.107.2.9 MHAPLUGIN_INIT_CALLBACKS
#define MHAPLUGIN_INIT_CALLBACKS(
plugname,
classname )MHAPLUGIN_INIT_CALLBACKS_PREFIX(MHA_STATIC_ ## plugname ##
_,classname)
6.107.3 Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
1262 CONTENTS
6.107.3.1 __attribute__()
__attribute__ (
(unused) ) const
store git commit hash in every binary plgin to support reproducible research
6.108 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.108.1 Function Documentation
6.108.1.1 mha_tic()
void mha_tic (
mha_tictoc_t t)
6.108.1.2 mha_platform_tic()
void mha_platform_tic (
mha_platform_tictoc_t t)
6.108.1.3 mha_toc()
float mha_toc (
mha_tictoc_t t)
6.108.1.4 mha_platform_toc()
float mha_platform_toc (
mha_platform_tictoc_t t)
© 2005-2018 HörTech gGmbH, Oldenburg
6.109 mha_profiling.h File Reference 1263
6.109 mha_profiling.h File Reference
Classes
• struct mha_tictoc_t
Typedefs
• typedef mha_tictoc_t mha_platform_tictoc_t
Functions
• void mha_platform_tic (mha_platform_tictoc_t t)
• float mha_platform_toc (mha_platform_tictoc_t t)
6.109.1 Typedef Documentation
6.109.1.1 mha_platform_tictoc_t
typedef mha_tictoc_t mha_platform_tictoc_t
6.109.2 Function Documentation
6.109.2.1 mha_platform_tic()
void mha_platform_tic (
mha_platform_tictoc_t t)
6.109.2.2 mha_platform_toc()
float mha_platform_toc (
mha_platform_tictoc_t t)
© 2005-2018 HörTech gGmbH, Oldenburg
1264 CONTENTS
6.110 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.110.1 Typedef Documentation
6.110.1.1 rb_f_t
typedef VALUE(rb_f_t) (...)
6.110.2 Function Documentation
6.110.2.1 mha_free()
static void mha_free (
void mha ) [static]
6.110.2.2 mha_alloc()
static VALUE mha_alloc (
VALUE klass ) [static]
© 2005-2018 HörTech gGmbH, Oldenburg
6.111 mha_signal.cpp File Reference 1265
6.110.2.3 mha_exit_request()
static VALUE mha_exit_request (
VALUE self ) [static]
6.110.2.4 mha_parse()
static VALUE mha_parse (
VALUE self,
VALUE request ) [static]
6.110.2.5 Init_mha_ruby()
void Init_mha_ruby ( )
6.111 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)
© 2005-2018 HörTech gGmbH, Oldenburg
1266 CONTENTS
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.
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,
unsigned int offset)
Perform an inverse FFT on each channel of input spectrum.
© 2005-2018 HörTech gGmbH, Oldenburg
6.111 mha_signal.cpp File Reference 1267
• 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_t
out)
Tranform waveform segment into spectrum.
• void mha_fft_spec2wave_scale (mha_fft_t h, const mha_spec_t in, mha_wave_t
out)
Tranform spectrum into waveform segment.
• std::vector<float >std_vector_float (const mha_wave_t &w)
Converts a mha_wave_t (p. 583) structure into a std::vector<float>(interleaved order).
• std::vector<std::vector<float > > std_vector_vector_float (const mha_wave_t &w)
Converts a mha_wave_t (p. 583) 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. 547) 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.111.1 Macro Definition Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
1268 CONTENTS
6.111.1.1 MHA_ID_UINT_VECTOR
#define MHA_ID_UINT_VECTOR "MHASignal::uint_vector_t"
6.111.1.2 MHA_ID_MATRIX
#define MHA_ID_MATRIX "MHASignal::matrix_t"
6.111.1.3 ASSERT_EQUAL_DIM
#define ASSERT_EQUAL_DIM(
a,
b)
6.111.1.4 ASSERT_EQUAL_DIM_PTR
#define ASSERT_EQUAL_DIM_PTR(
a,
b)
6.111.2 Function Documentation
6.111.2.1 set_minabs()
void set_minabs (
mha_spec_t &self,
const mha_real_t &m)
6.111.2.2 safe_div()
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-2018 HörTech gGmbH, Oldenburg
6.112 mha_signal.hh File Reference 1269
6.111.2.3 intensity()
static mha_real_t intensity (
const mha_spec_t &s,
unsigned int channel,
unsigned int fftlen,
mha_real_t sqfreq_response = 0 ) [static]
6.112 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. 547))
• class MHASignal::waveform_t
signal processing class for waveform data (based on mha_wave_t (p. 583))
• 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-2018 HörTech gGmbH, Oldenburg
1270 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. 583).
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_-
tsrate)
conversion from fft bin index to frequency
mha_real_t MHASignal::freq2bin (mha_real_t freq, unsigned fftlen, mha_real_-
tsrate)
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.
© 2005-2018 HörTech gGmbH, Oldenburg
6.112 mha_signal.hh File Reference 1271
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 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.
© 2005-2018 HörTech gGmbH, Oldenburg
1272 CONTENTS
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.
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. 583) 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. 583) 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. 547) 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-2018 HörTech gGmbH, Oldenburg
6.112 mha_signal.hh File Reference 1273
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.
• 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, un-
signed 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
channel, 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)
© 2005-2018 HörTech gGmbH, Oldenburg
1274 CONTENTS
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].
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. 503) variable.
mha_complex_t mha_complex (mha_real_t real, mha_real_t imag=0)
Create a new mha_complex_t (p. 503) 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. 503) 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. 503).
mha_complex_t &expi (mha_complex_t &self, mha_real_t angle)
replaces the value of the given mha_complex_t (p. 503) 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.
© 2005-2018 HörTech gGmbH, Oldenburg
6.112 mha_signal.hh File Reference 1275
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. 503) 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. 503) with its conjugate.
• void conjugate (mha_spec_t &self)
Replace (!) the value of this mha_spec_t (p. 547) 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)
© 2005-2018 HörTech gGmbH, Oldenburg
1276 CONTENTS
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. 503)
std::istream & operator>> (std::istream &i, mha_complex_t &c)
preliminary istream operator for mha_complex_t (p. 503) without error checking
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,
unsigned 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_t
out)
Tranform waveform segment into spectrum.
• void mha_fft_spec2wave_scale (mha_fft_t h, const mha_spec_t in, mha_wave_t
out)
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)
© 2005-2018 HörTech gGmbH, Oldenburg
6.112 mha_signal.hh File Reference 1277
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.
• 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.112.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.112.2 Macro Definition Documentation
6.112.2.1 M_PI
#define M_PI 3.14159265358979323846
6.112.2.2 mha_round
#define mha_round(
x) (int)((float)x+0.5)
6.112.3 Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
1278 CONTENTS
6.112.3.1 mha_min_1()
unsigned int mha_min_1 (
unsigned int a) [inline]
6.112.3.2 value() [1/2]
mha_real_t& value (
mha_wave_t s,
unsigned int k) [inline]
6.112.3.3 value() [2/2]
mha_complex_t& value (
mha_spec_t s,
unsigned int k) [inline]
6.112.3.4 set_minabs()
void set_minabs (
mha_spec_t &,
const mha_real_t & )
6.112.3.5 safe_div()
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.
6.112.3.6 operator<<()
std::ostream& operator<< (
std::ostream & o,
const mha_complex_t &c) [inline]
ostream operator for mha_complex_t (p. 503)
© 2005-2018 HörTech gGmbH, Oldenburg
6.113 mha_signal_fft.h File Reference 1279
6.112.3.7 operator>>()
std::istream& operator>> (
std::istream & i,
mha_complex_t &c) [inline]
preliminary istream operator for mha_complex_t (p. 503) without error checking
6.113 mha_signal_fft.h File Reference
Classes
• class MHASignal::fft_t
Namespaces
MHASignal
Namespace for audio signal handling and processing classes.
6.114 mha_tablelookup.cpp File Reference
6.115 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.
6.115.1 Detailed Description
Header file for table lookup classes.
© 2005-2018 HörTech gGmbH, Oldenburg
1280 CONTENTS
6.116 mha_tcp.cpp File Reference
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)
6.116.1 Macro Definition Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
6.116 mha_tcp.cpp File Reference 1281
6.116.1.1 INVALID_SOCKET
#define INVALID_SOCKET (-1)
6.116.1.2 SOCKET_ERROR
#define SOCKET_ERROR (-1)
6.116.1.3 closesocket
#define closesocket(
fd ) (close((fd)))
6.116.1.4 ASYNC_CONNECT_STARTED
#define ASYNC_CONNECT_STARTED EINPROGRESS
6.116.2 Typedef Documentation
6.116.2.1 SOCKET
typedef int SOCKET
6.116.3 Function Documentation
6.116.3.1 host_port_to_sock_addr()
static sockaddr_in host_port_to_sock_addr (
const std::string & host,
unsigned short port ) [static]
© 2005-2018 HörTech gGmbH, Oldenburg
1282 CONTENTS
6.116.3.2 tcp_connect_to()
static SOCKET tcp_connect_to (
const std::string & host,
unsigned short port ) [static]
6.116.3.3 tcp_connect_to_with_timeout()
static SOCKET tcp_connect_to_with_timeout (
const std::string & host,
unsigned short port,
Timeout_Watcher &timeout_watcher ) [static]
6.116.3.4 thread_start_func()
static voidthread_start_func (
void thread ) [static]
6.117 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
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. 552) 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.
© 2005-2018 HörTech gGmbH, Oldenburg
6.117 mha_tcp.hh File Reference 1283
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.
6.117.1 Macro Definition Documentation
6.117.1.1 Sleep
#define Sleep(
x) usleep((x)1000);
© 2005-2018 HörTech gGmbH, Oldenburg
1284 CONTENTS
6.118 mha_toolbox.h File Reference
6.119 mha_windowparser.cpp File Reference
Variables
• float(wnd_funs [ ])(float)
6.119.1 Variable Documentation
6.119.1.1 wnd_funs
float(wnd_funs[ ])(float)
6.120 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-2018 HörTech gGmbH, Oldenburg
6.121 mhachain.cpp File Reference 1285
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.121 mhachain.cpp File Reference
Classes
• class mhachain::mhachain_t
Namespaces
mhachain
6.122 mhafw_lib.cpp File Reference
6.123 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-2018 HörTech gGmbH, Oldenburg
1286 CONTENTS
6.124 MHAIOFile.cpp File Reference
Classes
• class io_file_t
File IO.
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]
© 2005-2018 HörTech gGmbH, Oldenburg
6.124 MHAIOFile.cpp File Reference 1287
6.124.1 Macro Definition Documentation
6.124.1.1 DEBUG
#define DEBUG(
x) std::cerr << __FILE__ << ":" << __LINE__ << " " << #x"="<<
x<< std::endl
6.124.1.2 ERR_SUCCESS
#define ERR_SUCCESS 0
6.124.1.3 ERR_IHANDLE
#define ERR_IHANDLE -1
6.124.1.4 ERR_USER
#define ERR_USER -1000
6.124.1.5 MAX_USER_ERR
#define MAX_USER_ERR 0x500
6.124.1.6 IOInit
#define IOInit MHA_STATIC_MHAIOFile_IOInit
6.124.1.7 IOPrepare
#define IOPrepare MHA_STATIC_MHAIOFile_IOPrepare
© 2005-2018 HörTech gGmbH, Oldenburg
1288 CONTENTS
6.124.1.8 IOStart
#define IOStart MHA_STATIC_MHAIOFile_IOStart
6.124.1.9 IOStop
#define IOStop MHA_STATIC_MHAIOFile_IOStop
6.124.1.10 IORelease
#define IORelease MHA_STATIC_MHAIOFile_IORelease
6.124.1.11 IOSetVar
#define IOSetVar MHA_STATIC_MHAIOFile_IOSetVar
6.124.1.12 IOStrError
#define IOStrError MHA_STATIC_MHAIOFile_IOStrError
6.124.1.13 IODestroy
#define IODestroy MHA_STATIC_MHAIOFile_IODestroy
6.124.1.14 dummy_interface_test
#define dummy_interface_test MHA_STATIC_MHAIOFile_dummy_interface_test
6.124.2 Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
6.124 MHAIOFile.cpp File Reference 1289
6.124.2.1 IOInit()
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.124.2.2 IOPrepare()
int IOPrepare (
void handle,
int nch_in,
int nch_out )
6.124.2.3 IOStart()
int IOStart (
void handle )
6.124.2.4 IOStop()
int IOStop (
void handle )
6.124.2.5 IORelease()
int IORelease (
void handle )
© 2005-2018 HörTech gGmbH, Oldenburg
1290 CONTENTS
6.124.2.6 IOSetVar()
int IOSetVar (
void handle,
const char command,
char retval,
unsigned int maxretlen )
6.124.2.7 IOStrError()
const charIOStrError (
void handle,
int err )
6.124.2.8 IODestroy()
void IODestroy (
void handle )
6.124.2.9 dummy_interface_test()
void dummy_interface_test (
void )
6.124.3 Variable Documentation
6.124.3.1 user_err_msg
char user_err_msg[ MAX_USER_ERR] [static]
6.125 MHAIOJack.cpp File Reference
Classes
• class MHAIOJack::io_jack_t
Main class for JACK IO.
© 2005-2018 HörTech gGmbH, Oldenburg
6.125 MHAIOJack.cpp File Reference 1291
Namespaces
MHAIOJack
JACK IO.
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.125.1 Macro Definition Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
1292 CONTENTS
6.125.1.1 ERR_SUCCESS
#define ERR_SUCCESS 0
6.125.1.2 ERR_IHANDLE
#define ERR_IHANDLE -1
6.125.1.3 ERR_USER
#define ERR_USER -1000
6.125.1.4 MAX_USER_ERR
#define MAX_USER_ERR 0x500
6.125.1.5 IOInit
#define IOInit MHA_STATIC_MHAIOJack_IOInit
6.125.1.6 IOPrepare
#define IOPrepare MHA_STATIC_MHAIOJack_IOPrepare
6.125.1.7 IOStart
#define IOStart MHA_STATIC_MHAIOJack_IOStart
6.125.1.8 IOStop
#define IOStop MHA_STATIC_MHAIOJack_IOStop
© 2005-2018 HörTech gGmbH, Oldenburg
6.125 MHAIOJack.cpp File Reference 1293
6.125.1.9 IORelease
#define IORelease MHA_STATIC_MHAIOJack_IORelease
6.125.1.10 IOSetVar
#define IOSetVar MHA_STATIC_MHAIOJack_IOSetVar
6.125.1.11 IOStrError
#define IOStrError MHA_STATIC_MHAIOJack_IOStrError
6.125.1.12 IODestroy
#define IODestroy MHA_STATIC_MHAIOJack_IODestroy
6.125.1.13 dummy_interface_test
#define dummy_interface_test MHA_STATIC_MHAIOJack_dummy_interface_test
6.125.2 Function Documentation
6.125.2.1 IOInit()
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-2018 HörTech gGmbH, Oldenburg
1294 CONTENTS
6.125.2.2 IOPrepare()
int IOPrepare (
void handle,
int nch_in,
int nch_out )
6.125.2.3 IOStart()
int IOStart (
void handle )
6.125.2.4 IOStop()
int IOStop (
void handle )
6.125.2.5 IORelease()
int IORelease (
void handle )
6.125.2.6 IOSetVar()
int IOSetVar (
void handle,
const char command,
char retval,
unsigned int maxretlen )
6.125.2.7 IOStrError()
const charIOStrError (
void handle,
int err )
© 2005-2018 HörTech gGmbH, Oldenburg
6.126 MHAIOParser.cpp File Reference 1295
6.125.2.8 IODestroy()
void IODestroy (
void handle )
6.125.2.9 dummy_interface_test()
void dummy_interface_test (
void )
6.125.3 Variable Documentation
6.125.3.1 user_err_msg
char user_err_msg[ MAX_USER_ERR] = "" [static]
6.126 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
© 2005-2018 HörTech gGmbH, Oldenburg
1296 CONTENTS
Functions
• int IOInit (int fragsize, float, IOProcessEvent_t proc_event, void proc_handle, I-
OStartedEvent_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.126.1 Macro Definition Documentation
6.126.1.1 ERR_SUCCESS
#define ERR_SUCCESS 0
6.126.1.2 ERR_IHANDLE
#define ERR_IHANDLE -1
6.126.1.3 ERR_USER
#define ERR_USER -1000
6.126.1.4 MAX_USER_ERR
#define MAX_USER_ERR 0x500
© 2005-2018 HörTech gGmbH, Oldenburg
6.126 MHAIOParser.cpp File Reference 1297
6.126.1.5 IOInit
#define IOInit MHA_STATIC_MHAIOParser_IOInit
6.126.1.6 IOPrepare
#define IOPrepare MHA_STATIC_MHAIOParser_IOPrepare
6.126.1.7 IOStart
#define IOStart MHA_STATIC_MHAIOParser_IOStart
6.126.1.8 IOStop
#define IOStop MHA_STATIC_MHAIOParser_IOStop
6.126.1.9 IORelease
#define IORelease MHA_STATIC_MHAIOParser_IORelease
6.126.1.10 IOSetVar
#define IOSetVar MHA_STATIC_MHAIOParser_IOSetVar
6.126.1.11 IOStrError
#define IOStrError MHA_STATIC_MHAIOParser_IOStrError
6.126.1.12 IODestroy
#define IODestroy MHA_STATIC_MHAIOParser_IODestroy
© 2005-2018 HörTech gGmbH, Oldenburg
1298 CONTENTS
6.126.1.13 dummy_interface_test
#define dummy_interface_test MHA_STATIC_MHAIOParser_dummy_interface_test
6.126.2 Function Documentation
6.126.2.1 IOInit()
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.126.2.2 IOPrepare()
int IOPrepare (
void handle,
int nch_in,
int nch_out )
6.126.2.3 IOStart()
int IOStart (
void handle )
6.126.2.4 IOStop()
int IOStop (
void handle )
© 2005-2018 HörTech gGmbH, Oldenburg
6.126 MHAIOParser.cpp File Reference 1299
6.126.2.5 IORelease()
int IORelease (
void handle )
6.126.2.6 IOSetVar()
int IOSetVar (
void handle,
const char command,
char retval,
unsigned int maxretlen )
6.126.2.7 IOStrError()
const charIOStrError (
void handle,
int err )
6.126.2.8 IODestroy()
void IODestroy (
void handle )
6.126.2.9 dummy_interface_test()
void dummy_interface_test (
void )
6.126.3 Variable Documentation
6.126.3.1 user_err_msg
char user_err_msg[ MAX_USER_ERR] [static]
© 2005-2018 HörTech gGmbH, Oldenburg
1300 CONTENTS
6.127 MHAIOPortAudio.cpp File Reference
Classes
• class MHAIOPortAudio::device_info_t
• class MHAIOPortAudio::io_portaudio_t
Main class for Portaudio sound IO.
Namespaces
MHAIOPortAudio
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
userData)
• 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)
© 2005-2018 HörTech gGmbH, Oldenburg
6.127 MHAIOPortAudio.cpp File Reference 1301
Variables
static char user_err_msg [MAX_USER_ERR] = ""
• PaStreamCallback portaudio_callback
6.127.1 Macro Definition Documentation
6.127.1.1 ERR_SUCCESS
#define ERR_SUCCESS 0
6.127.1.2 ERR_IHANDLE
#define ERR_IHANDLE -1
6.127.1.3 ERR_USER
#define ERR_USER -1000
6.127.1.4 MAX_USER_ERR
#define MAX_USER_ERR 0x500
6.127.1.5 IOInit
#define IOInit MHA_STATIC_MHAIOPortAudio_IOInit
6.127.1.6 IOPrepare
#define IOPrepare MHA_STATIC_MHAIOPortAudio_IOPrepare
© 2005-2018 HörTech gGmbH, Oldenburg
1302 CONTENTS
6.127.1.7 IOStart
#define IOStart MHA_STATIC_MHAIOPortAudio_IOStart
6.127.1.8 IOStop
#define IOStop MHA_STATIC_MHAIOPortAudio_IOStop
6.127.1.9 IORelease
#define IORelease MHA_STATIC_MHAIOPortAudio_IORelease
6.127.1.10 IOSetVar
#define IOSetVar MHA_STATIC_MHAIOPortAudio_IOSetVar
6.127.1.11 IOStrError
#define IOStrError MHA_STATIC_MHAIOPortAudio_IOStrError
6.127.1.12 IODestroy
#define IODestroy MHA_STATIC_MHAIOPortAudio_IODestroy
6.127.1.13 dummy_interface_test
#define dummy_interface_test MHA_STATIC_MHAIOPortAudio_dummy_interface_test
6.127.2 Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
6.127 MHAIOPortAudio.cpp File Reference 1303
6.127.2.1 portaudio_callback()
int portaudio_callback (
const void input,
void output,
unsigned long frameCount,
const PaStreamCallbackTimeInfo timeInfo,
PaStreamCallbackFlags statusFlags,
void userData )
6.127.2.2 IOInit()
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.127.2.3 IOPrepare()
int IOPrepare (
void handle,
int nch_in,
int nch_out )
6.127.2.4 IOStart()
int IOStart (
void handle )
6.127.2.5 IOStop()
int IOStop (
void handle )
© 2005-2018 HörTech gGmbH, Oldenburg
1304 CONTENTS
6.127.2.6 IORelease()
int IORelease (
void handle )
6.127.2.7 IOSetVar()
int IOSetVar (
void handle,
const char command,
char retval,
unsigned int maxretlen )
6.127.2.8 IOStrError()
const charIOStrError (
void handle,
int err )
6.127.2.9 IODestroy()
void IODestroy (
void handle )
6.127.2.10 dummy_interface_test()
void dummy_interface_test (
void )
6.127.3 Variable Documentation
6.127.3.1 user_err_msg
char user_err_msg[ MAX_USER_ERR] = "" [static]
© 2005-2018 HörTech gGmbH, Oldenburg
6.128 MHAIOTCP.cpp File Reference 1305
6.127.3.2 portaudio_callback
PaStreamCallback portaudio_callback
6.128 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.
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
© 2005-2018 HörTech gGmbH, Oldenburg
1306 CONTENTS
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]
6.128.1 Macro Definition Documentation
6.128.1.1 ERR_SUCCESS
#define ERR_SUCCESS 0
6.128.1.2 ERR_IHANDLE
#define ERR_IHANDLE -1
6.128.1.3 ERR_USER
#define ERR_USER -1000
6.128.1.4 MAX_USER_ERR
#define MAX_USER_ERR 0x2000
© 2005-2018 HörTech gGmbH, Oldenburg
6.128 MHAIOTCP.cpp File Reference 1307
6.128.1.5 MHA_ErrorMsg2
#define MHA_ErrorMsg2(
x,
y)MHA_Error(__FILE__,__LINE__,(x),(y))
6.128.1.6 MHA_ErrorMsg3
#define MHA_ErrorMsg3(
x,
y,
z)MHA_Error(__FILE__,__LINE__,(x),(y),(z))
6.128.1.7 MIN_TCP_PORT
#define MIN_TCP_PORT 0
6.128.1.8 MIN_TCP_PORT_STR
#define MIN_TCP_PORT_STR "0"
6.128.1.9 MAX_TCP_PORT
#define MAX_TCP_PORT 65535
6.128.1.10 MAX_TCP_PORT_STR
#define MAX_TCP_PORT_STR "65535"
6.128.1.11 IOInit
#define IOInit MHA_STATIC_MHAIOTCP_IOInit
© 2005-2018 HörTech gGmbH, Oldenburg
1308 CONTENTS
6.128.1.12 IOPrepare
#define IOPrepare MHA_STATIC_MHAIOTCP_IOPrepare
6.128.1.13 IOStart
#define IOStart MHA_STATIC_MHAIOTCP_IOStart
6.128.1.14 IOStop
#define IOStop MHA_STATIC_MHAIOTCP_IOStop
6.128.1.15 IORelease
#define IORelease MHA_STATIC_MHAIOTCP_IORelease
6.128.1.16 IOSetVar
#define IOSetVar MHA_STATIC_MHAIOTCP_IOSetVar
6.128.1.17 IOStrError
#define IOStrError MHA_STATIC_MHAIOTCP_IOStrError
6.128.1.18 IODestroy
#define IODestroy MHA_STATIC_MHAIOTCP_IODestroy
6.128.1.19 dummy_interface_test
#define dummy_interface_test MHA_STATIC_MHAIOTCP_dummy_interface_test
© 2005-2018 HörTech gGmbH, Oldenburg
6.128 MHAIOTCP.cpp File Reference 1309
6.128.2 Function Documentation
6.128.2.1 copy_error()
static int copy_error (
MHA_Error &e) [static]
6.128.2.2 thread_startup_function()
static voidthread_startup_function (
void parameter ) [static]
6.128.2.3 IOInit()
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.128.2.4 IOPrepare()
int IOPrepare (
void handle,
int num_inchannels,
int num_outchannels )
6.128.2.5 IOStart()
int IOStart (
void handle )
© 2005-2018 HörTech gGmbH, Oldenburg
1310 CONTENTS
6.128.2.6 IOStop()
int IOStop (
void handle )
6.128.2.7 IORelease()
int IORelease (
void handle )
6.128.2.8 IOSetVar()
int IOSetVar (
void handle,
const char cmd,
char retval,
unsigned int len )
6.128.2.9 IOStrError()
const charIOStrError (
void handle,
int err )
6.128.2.10 IODestroy()
void IODestroy (
void handle )
6.128.2.11 dummy_interface_test()
void dummy_interface_test (
void )
6.128.3 Variable Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
6.129 mhajack.cpp File Reference 1311
6.128.3.1 user_err_msg
char user_err_msg[ MAX_USER_ERR] [static]
6.129 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.129.1 Function Documentation
6.129.1.1 jack_error_handler()
static void jack_error_handler (
const char msg ) [static]
6.129.1.2 dummy_jack_proc_cb()
static int dummy_jack_proc_cb (
jack_nframes_t ,
void ) [static]
6.129.1.3 make_friendly_number()
void make_friendly_number (
jack_default_audio_sample_t & x) [inline]
© 2005-2018 HörTech gGmbH, Oldenburg
1312 CONTENTS
6.129.2 Variable Documentation
6.129.2.1 last_jack_err_msg
char last_jack_err_msg[ MAX_USER_ERR] = ""
6.129.2.2 last_jack_err
int last_jack_err = 0
6.130 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.
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
© 2005-2018 HörTech gGmbH, Oldenburg
6.130 mhajack.h File Reference 1313
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]
6.130.1 Macro Definition Documentation
6.130.1.1 MHAJACK_FW_STARTED
#define MHAJACK_FW_STARTED 1
6.130.1.2 MHAJACK_STOPPED
#define MHAJACK_STOPPED 2
6.130.1.3 MHAJACK_STARTING
#define MHAJACK_STARTING 8
© 2005-2018 HörTech gGmbH, Oldenburg
1314 CONTENTS
6.130.1.4 IO_ERROR_JACK
#define IO_ERROR_JACK 11
6.130.1.5 IO_ERROR_MHAJACKLIB
#define IO_ERROR_MHAJACKLIB 12
6.130.1.6 MAX_USER_ERR
#define MAX_USER_ERR 0x500
6.130.2 Variable Documentation
6.130.2.1 last_jack_err_msg
char last_jack_err_msg[ MAX_USER_ERR]
6.131 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-2018 HörTech gGmbH, Oldenburg
6.131 mhamain.cpp File Reference 1315
6.131.1 Macro Definition Documentation
6.131.1.1 MAX_LINE_LENGTH
#define MAX_LINE_LENGTH 0x100000
6.131.1.2 HELP_TEXT
#define HELP_TEXT
6.131.1.3 GREETING_TEXT
#define GREETING_TEXT
6.131.2 Function Documentation
6.131.2.1 create_lock()
void create_lock (
unsigned int p,
std::string s)
6.131.2.2 remove_lock()
void remove_lock (
unsigned int p)
6.131.2.3 mhamain()
int mhamain (
int argc,
char argv[ ] )
© 2005-2018 HörTech gGmbH, Oldenburg
1316 CONTENTS
6.132 mhapluginloader.cpp File Reference
6.133 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.
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. 595) structures, and report differences as an error.
6.134 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.134.1 Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
6.135 mhasndfile.h File Reference 1317
6.134.1.1 write_wave()
void write_wave (
const mha_wave_t &sig,
const char fname,
const float & srate,
const int & format )
6.134.1.2 validator_channels()
unsigned int validator_channels (
std::vector<int >channel_map,
unsigned int channels )
6.134.1.3 validator_length()
unsigned int validator_length (
unsigned int maxlen,
unsigned int frames,
unsigned int startpos )
6.135 mhasndfile.h File Reference
Classes
• class MHASndFile::sf_t
• class MHASndFile::sf_wave_t
Namespaces
MHASndFile
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_EN-
DIAN_FILE)
6.135.1 Function Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
1318 CONTENTS
6.135.1.1 write_wave()
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.136 multibandcompressor.cpp File Reference
Classes
• class multibandcompressor::plugin_signals_t
• class multibandcompressor::fftfb_plug_t
• class multibandcompressor::interface_t
Namespaces
multibandcompressor
6.137 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
Functions
• void make_friendly_number_by_limiting (mha_real_t &x)
© 2005-2018 HörTech gGmbH, Oldenburg
6.137 nlms_wave.cpp File Reference 1319
6.137.1 Macro Definition Documentation
6.137.1.1 NORMALIZATION_TYPES
#define NORMALIZATION_TYPES "[none default sum]"
6.137.1.2 NORM_NONE
#define NORM_NONE 0
6.137.1.3 NORM_DEFAULT
#define NORM_DEFAULT 1
6.137.1.4 NORM_SUM
#define NORM_SUM 2
6.137.1.5 ESTIMATION_TYPES
#define ESTIMATION_TYPES "[previous current]"
6.137.1.6 ESTIM_PREV
#define ESTIM_PREV 0
6.137.1.7 ESTIM_CUR
#define ESTIM_CUR 1
© 2005-2018 HörTech gGmbH, Oldenburg
1320 CONTENTS
6.137.2 Function Documentation
6.137.2.1 make_friendly_number_by_limiting()
void make_friendly_number_by_limiting (
mha_real_t &x) [inline]
6.138 noise.cpp File Reference
Classes
• class cfg_t
• class noise_t
6.139 noisePowProposedScale.cpp File Reference
Classes
• class noisePowProposedScale::noisePowProposed
• class noisePowProposedScale::interface_t
Namespaces
noisePowProposedScale
Macros
• #define POWSPEC_FACTOR 0.0025
6.139.1 Macro Definition Documentation
6.139.1.1 POWSPEC_FACTOR
#define POWSPEC_FACTOR 0.0025
© 2005-2018 HörTech gGmbH, Oldenburg
6.140 overlapadd.cpp File Reference 1321
6.140 overlapadd.cpp File Reference
Classes
• class overlapadd::overlapadd_t
• class overlapadd::overlapadd_if_t
Namespaces
overlapadd
6.141 pluginbrowser.cpp File Reference
6.142 pluginbrowser.h File Reference
Classes
• class plugindescription_t
• class pluginloader_t
• class pluginbrowser_t
6.143 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.143.1 Macro Definition Documentation
6.143.1.1 PATCH_VAR
#define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, & prediction_error-
::update_cfg)
© 2005-2018 HörTech gGmbH, Oldenburg
1322 CONTENTS
6.143.1.2 INSERT_PATCH
#define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.143.2 Function Documentation
6.143.2.1 make_friendly_number_by_limiting()
void make_friendly_number_by_limiting (
mha_real_t &x) [inline]
6.144 prediction_error.h File Reference
Classes
• class prediction_error_config
• class prediction_error
6.145 resampling.cpp File Reference
Classes
• class MHAPlugin_Resampling::resampling_t
• class MHAPlugin_Resampling::resampling_if_t
Namespaces
MHAPlugin_Resampling
6.146 rmslevel.cpp File Reference
Classes
• class mon_t
• class rmslevel_t
• class rmslevel_if_t
© 2005-2018 HörTech gGmbH, Oldenburg
6.147 route.cpp File Reference 1323
6.147 route.cpp File Reference
Classes
• class route::process_t
• class route::interface_t
Namespaces
route
6.148 save_spec.cpp File Reference
Classes
• class save_spec_t
6.149 save_wave.cpp File Reference
Classes
• class save_wave_t
6.150 shadowfilter_begin.cpp File Reference
Classes
• class shadowfilter_begin::cfg_t
• class shadowfilter_begin::shadowfilter_begin_t
Namespaces
shadowfilter_begin
6.151 shadowfilter_end.cpp File Reference
Classes
• class shadowfilter_end::cfg_t
• class shadowfilter_end::shadowfilter_end_t
© 2005-2018 HörTech gGmbH, Oldenburg
1324 CONTENTS
Namespaces
shadowfilter_end
6.152 sine.cpp File Reference
Classes
• struct sine_cfg_t
• class sine_t
6.153 smoothgains_bridge.cpp File Reference
Classes
• class smoothgains_bridge::smoothspec_wrap_t
• class smoothgains_bridge::overlapadd_if_t
Namespaces
smoothgains_bridge
6.154 softclip.cpp File Reference
Classes
• class cfg_t
• class softclip_t
6.155 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)
© 2005-2018 HörTech gGmbH, Oldenburg
6.156 speechnoise.cpp File Reference 1325
6.155.1 Function Documentation
6.155.1.1 max()
unsigned int max (
unsigned int a,
unsigned int b) [inline]
6.155.1.2 min()
unsigned int min (
unsigned int a,
unsigned int b) [inline]
6.156 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-2018 HörTech gGmbH, Oldenburg
1326 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.156.1 Macro Definition Documentation
© 2005-2018 HörTech gGmbH, Oldenburg
6.156 speechnoise.cpp File Reference 1327
6.156.1.1 NUM_ENTR_MHAORIG
#define NUM_ENTR_MHAORIG 76
6.156.1.2 NUM_ENTR_LTASS
#define NUM_ENTR_LTASS 25
6.156.1.3 NUM_ENTR_OLNOISE
#define NUM_ENTR_OLNOISE 49
6.156.2 Function Documentation
6.156.2.1 fhz2bandno()
float fhz2bandno (
float x)
6.156.2.2 erb_hz_f_hz()
float erb_hz_f_hz (
float f_hz )
6.156.2.3 hz2hz()
float hz2hz (
float x)
Dummy scale transformation Hz to Hz.
This function implements a dummy scale transformation (linear frequency scale).
© 2005-2018 HörTech gGmbH, Oldenburg
1328 CONTENTS
Parameters
xInput frequency in Hz
Returns
Frequency in Hz
6.156.2.4 bandw_correction()
float bandw_correction (
float f,
float ldb )
6.156.3 Variable Documentation
6.156.3.1 vMHAOrigSpec
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.156.3.2 vMHAOrigFreq
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-2018 HörTech gGmbH, Oldenburg
6.156 speechnoise.cpp File Reference 1329
6.156.3.3 vLTASS_freq
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.156.3.4 vLTASS_combined_lev
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.156.3.5 vLTASS_female_lev
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.156.3.6 vLTASS_male_lev
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.156.3.7 vOlnoiseFreq
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.156.3.8 vOlnoiseLev
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}
© 2005-2018 HörTech gGmbH, Oldenburg
1330 CONTENTS
6.157 speechnoise.h File Reference
Classes
• class speechnoise_t
6.158 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. 914) instance manages the plugin that performs processing on the
reduced set of channels.
• class MHAPlugin_Split::split_t
Implements split plugin.
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
enum { MHAPlugin_Split::INVALID_THREAD_PRIORITY = 999999999 }
Invalid thread priority.
© 2005-2018 HörTech gGmbH, Oldenburg
6.159 steerbf.cpp File Reference 1331
6.158.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.158.2 Macro Definition Documentation
6.158.2.1 MHAPLUGIN_OVERLOAD_OUTDOMAIN
#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.158.2.2 posixthreads
#define posixthreads 1
6.158.2.3 default_thread_platform_string
#define default_thread_platform_string "posix"
6.158.2.4 default_thread_platform_type
#define default_thread_platform_type posix_threads_t
6.159 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-2018 HörTech gGmbH, Oldenburg
1332 CONTENTS
6.159.1 Macro Definition Documentation
6.159.1.1 PATCH_VAR
#define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, & steerbf::update_cfg)
6.159.1.2 INSERT_PATCH
#define INSERT_PATCH(
var )insert_member(var); PATCH_VAR(var)
6.160 steerbf.h File Reference
Classes
• class parser_int_dyn
• class steerbf_config
• class steerbf
6.161 testalsadevice.c File Reference
Functions
• int main (int argc, char ∗∗argv)
6.161.1 Function Documentation
6.161.1.1 main()
int main (
int argc,
char ∗∗ argv )
© 2005-2018 HörTech gGmbH, Oldenburg
6.162 timoconfig.cpp File Reference 1333
6.162 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.162.1 Macro Definition Documentation
6.162.1.1 LPSCALE
#define LPSCALE (5.2429e+007)
6.162.1.2 POWSPEC_FACTOR
#define POWSPEC_FACTOR 0.0025
6.162.1.3 OVERLAP_FACTOR
#define OVERLAP_FACTOR 2
6.162.1.4 EPSILON
#define EPSILON (1e-10)
6.162.1.5 CHANLOOP
#define CHANLOOP for ( unsigned int c=0; c<nchan; ++c )
© 2005-2018 HörTech gGmbH, Oldenburg
1334 CONTENTS
6.163 timoconfig.h File Reference
Classes
• class timo_AC
• class timo_params
• class timoConfig
6.164 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)
6.164.1 Macro Definition Documentation
6.164.1.1 INSERT_VAR
#define INSERT_VAR(
var ) insert_item(#var, &var)
6.164.1.2 PATCH_VAR
#define PATCH_VAR(
var ) patchbay.connect(&var.valuechanged, this, & timoSmooth::on_model-
_param_valuechanged)
6.164.1.3 INSERT_PATCH
#define INSERT_PATCH(
var )INSERT_VAR(var); PATCH_VAR(var)
© 2005-2018 HörTech gGmbH, Oldenburg
6.165 timosmooth.h File Reference 1335
6.165 timosmooth.h File Reference
Classes
• class timoSmooth
6.166 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)
6.166.1 Typedef Documentation
6.166.1.1 rmslevelmeter
typedef MHAPlugin::config_t<MHASignal::async_rmslevel_t>rmslevelmeter
6.166.1.2 rtcalibrator
typedef MHAPlugin::plugin_t<calibrator_runtime_layer_t>rtcalibrator
© 2005-2018 HörTech gGmbH, Oldenburg
1336 CONTENTS
6.166.2 Function Documentation
6.166.2.1 kw_index2type()
speechnoise_t::noise_type_t kw_index2type (
unsigned int idx )
6.166.2.2 vint_0123n1()
std::vector<int>vint_0123n1 (
unsigned int n)
6.167 upsample.cpp File Reference
Classes
• class us_t
6.168 wave2spec.cpp File Reference
Classes
• class wave2spec_t
• class wave2spec_if_t
Macros
• #define MHAPLUGIN_OVERLOAD_OUTDOMAIN
6.168.1 Macro Definition Documentation
6.168.1.1 MHAPLUGIN_OVERLOAD_OUTDOMAIN
#define MHAPLUGIN_OVERLOAD_OUTDOMAIN
© 2005-2018 HörTech gGmbH, Oldenburg
6.169 wavrec.cpp File Reference 1337
6.169 wavrec.cpp File Reference
Classes
• class wavwriter_t
• class wavrec_t
Macros
• #define DEBUG(x) std::cerr << __FILE__ << ":" << __LINE__ << " " << #x << "="
<< x<< std::endl
6.169.1 Macro Definition Documentation
6.169.1.1 DEBUG
#define DEBUG(
x) std::cerr << __FILE__ << ":" << __LINE__ << " " << #x << "=" <<
x<< std::endl
6.170 windowselector.cpp File Reference
6.171 windowselector.h File Reference
Classes
• class windowselector_t
A combination of mha parser variables to describe an overalapadd analysis window.
© 2005-2018 HörTech gGmbH, Oldenburg
Index
__MHA_FUN__
mha_defs.h, 1232
__attribute__
mha_plugin.hh, 1261
__declspec
example5.cpp, 1209
example6.cpp, 1209
mha_defs.h, 1232
mha_plugin.hh, 1260
_cf
DynComp::dc_afterburn_t, 344
_channels
DynComp::dc_afterburn_t, 344
_conjugate
Complex arithmetics in the openMHA, 77
_linphase_asym
MHAFilter::smoothspec_t, 679
_reciprocal
Complex arithmetics in the openMHA, 78
_srate
DynComp::dc_afterburn_t, 344
_steerbf
steerbf_config, 1152
Async_Notify
MHA_TCP::Async_Notify, 549
Connection
MHA_TCP::Connection, 554
Delay
ADM::Delay, 200
Event_Watcher
MHA_TCP::Event_Watcher, 562
Linearphase_FIR
ADM::Linearphase_FIR, 203
MHA_Error
MHA_Error, 523
Server
MHA_TCP::Server, 566
Thread
MHA_TCP::Thread, 574
Timeout_Watcher
MHA_TCP::Timeout_Watcher, 578
Wakeup_Event
MHA_TCP::Wakeup_Event, 580
acConcat_wave
acConcat_wave, 152
acConcat_wave_config
acConcat_wave_config, 154
acPooling_wave
acPooling_wave, 165
acPooling_wave_config
acPooling_wave_config, 170
acSteer
acSteer, 184
acSteer_config
acSteer_config, 187
acTransform_wave
acTransform_wave, 189
acTransform_wave_config
acTransform_wave_config, 193
acmon_t
acmon::acmon_t, 160
acspace2matrix_t
MHA_AC::acspace2matrix_t, 484
adm_rtconfig_t
adm_rtconfig_t, 210
algo_comm_class_t
MHAKernel::algo_comm_class_t, 725
analysepath_t
analysepath_t, 227
analysispath_if_t
analysispath_if_t, 231
bark2hz_t
MHAOvlFilter::barkscale::bark2hz_t, 738
base_t
MHAParser::base_t, 767
bbcalib_interface_t
bbcalib_interface_t, 244
blockprocessing_polyphase_resampling_t
MHAFilter::blockprocessing_polyphase-
_resampling_t, 615
c_ifc_parser_t
MHAParser::c_ifc_parser_t, 784
cfg_chain_t
MHAPlugin::cfg_chain_t, 876
cfg_t
acsave::cfg_t, 177
config_t
MHAPlugin::config_t, 879
connector_base_t
MHAEvents::connector_base_t, 598
connector_t
MHAEvents::connector_t, 601
db_if_t
db_if_t, 277
delay_spec_t
MHASignal::delay_spec_t, 931
1340 INDEX
delay_t
MHASignal::delay_t, 933
delay_wave_t
MHASignal::delay_wave_t, 935
doasvm_classification
doasvm_classification, 320
doasvm_classification_config
doasvm_classification_config, 323
doasvm_feature_extraction
doasvm_feature_extraction, 326
doasvm_feature_extraction_config
doasvm_feature_extraction_config, 329
domain_handler_t
MHAPlugin_Split::domain_handler_t, 895
double_t
MHA_AC::double_t, 488
doublebuffer_t
MHASignal::doublebuffer_t, 938
dynamiclib_t
dynamiclib_t, 338
emitter_t
MHAEvents::emitter_t, 604
fft_t
MHASignal::fft_t, 941
fftfb_t
MHAOvlFilter::fftfb_t, 742
fftfilter_t
MHAFilter::fftfilter_t, 623
fftfilterbank_t
MHAFilter::fftfilterbank_t, 629
filter_t
MHAFilter::filter_t, 635
float_t
MHA_AC::float_t, 489
fourway_processor_t
PluginLoader::fourway_processor_t, 1074
fw_t
fw_t, 390
gaintable_t
DynComp::gaintable_t, 348
gamma_flt_t
MHAFilter::gamma_flt_t, 639
hanning_ramps_t
hanning_ramps_t, 403
hilbert_shifter_t
hilbert_shifter_t, 405
hilbert_t
MHASignal::hilbert_t, 948
hz2bark_t
MHAOvlFilter::barkscale::hz2bark_t, 739
int_t
MHA_AC::int_t, 491
io_file_t
io_file_t, 413
io_lib_t
io_lib_t, 420
io_parser_t
io_parser_t, 424
io_portaudio_t
MHAIOPortAudio::io_portaudio_t, 697
io_tcp_fwcb_t
io_tcp_fwcb_t, 429
io_tcp_parser_t
io_tcp_parser_t, 435
io_tcp_sound_t
io_tcp_sound_t, 442
io_tcp_t
io_tcp_t, 448
linear_table_t
MHATableLookup::linear_table_t, 1010
lpc
lpc, 455
lpc_bl_predictor
lpc_bl_predictor, 458
lpc_bl_predictor_config
lpc_bl_predictor_config, 461
lpc_burglattice
lpc_burglattice, 465
lpc_burglattice_config
lpc_burglattice_config, 468
lpc_config
lpc_config, 471
matrix_t
MHASignal::matrix_t, 959
mha_dblbuf_t
mha_dblbuf_t, 506
mha_fifo_lw_t
mha_fifo_lw_t, 525
mha_fifo_posix_threads_t
mha_fifo_posix_threads_t, 529
mha_fifo_t
mha_fifo_t, 533
mha_fifo_thread_guard_t
mha_fifo_thread_guard_t, 537
mha_fifo_thread_platform_t
mha_fifo_thread_platform_t, 539
mha_rt_fifo_element_t
mha_rt_fifo_element_t, 542
mha_rt_fifo_t
mha_rt_fifo_t, 544
mhaplug_cfg_t
mhaplug_cfg_t, 876
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1341
mhapluginloader_t
MHAParser::mhapluginloader_t, 827
PluginLoader::mhapluginloader_t, 1079
mhaserver_t
mhaserver_t, 925
overlapadd_if_t
overlapadd::overlapadd_if_t, 1054
smoothgains_bridge::overlapadd_if_-
t, 1127
overlapadd_t
overlapadd::overlapadd_t, 1058
parser_t
MHAParser::parser_t, 835
partitioned_convolution_t
MHAFilter::partitioned_convolution_t, 663
patchbay_t
MHAEvents::patchbay_t, 606
plug_t
plug_t, 1063
plugin_t
MHAPlugin::plugin_t, 884
pluginloader_t
pluginloader_t, 1086
plugs_t
mhachain::plugs_t, 591
port_t
MHAJack::port_t, 721
posix_threads_t
MHAPlugin_Split::posix_threads_t, 904
prediction_error
prediction_error, 1088
prediction_error_config
prediction_error_config, 1092
rt_nlms_t
rt_nlms_t, 1107
save_var_t
acsave::save_var_t, 180
sf_t
MHASndFile::sf_t, 1007
sine_t
sine_t, 1124
smoothspec_t
MHAFilter::smoothspec_t, 677
spec2wave_t
spec2wave_t, 1141
spec_fader_t
spec_fader_t, 1144
spectrum_t
MHA_AC::spectrum_t, 493
MHASignal::spectrum_t, 981
split_t
MHAPlugin_Split::split_t, 909
splitted_part_t
MHAPlugin_Split::splitted_part_t, 916
steerbf
steerbf, 1148
steerbf_config
steerbf_config, 1151
table_t
MHATableLookup::table_t, 1014
thread_platform_t
MHAPlugin_Split::thread_platform_t, 921
timoConfig
timoConfig, 1161
timoSmooth
timoSmooth, 1169
uint_vector_t
MHASignal::uint_vector_t, 991
uni_processor_t
MHAPlugin_Split::uni_processor_t, 923
wave2spec_t
wave2spec_t, 1179
waveform_t
MHA_AC::waveform_t, 497
MHASignal::waveform_t, 996
wavwriter_t
wavwriter_t, 1185
windowselector_t
windowselector_t, 1189
A
lpc_config, 473
MHAFilter::filter_t, 637
MHAFilter::gamma_flt_t, 641
MHAFilter::iir_filter_t, 647
a
MHAParser::base_t::replace_t, 777
A_
MHAFilter::complex_bandpass_t, 620
MHAFilter::iir_ord1_real_t, 651
AC variable, 4
AC_DIM_MISMATCH
mha_algo_comm.cpp, 1229
AC_INVALID_HANDLE
mha_algo_comm.cpp, 1228
AC_INVALID_NAME
mha_algo_comm.cpp, 1228
AC_INVALID_OUTPTR
mha_algo_comm.cpp, 1228
AC_STRING_TRUNCATED
mha_algo_comm.cpp, 1228
AC_SUCCESS
mha_algo_comm.cpp, 1228
© 2005-2018 HörTech gGmbH, Oldenburg
1342 INDEX
AC_TYPE_MISMATCH
mha_algo_comm.cpp, 1229
ACSAVE_FMT_MAT4
acsave.cpp, 1195
ACSAVE_FMT_TXT
acsave.cpp, 1194
ACSAVE_FMT_M
acsave.cpp, 1195
ACSAVE_SFMT_MAT4
acsave.cpp, 1195
ACSAVE_SFMT_TXT
acsave.cpp, 1194
ACSAVE_SFMT_M
acsave.cpp, 1195
ADM::ADM<F>,194
ADM::ADM
ADM, 195
beta, 196
m_beta, 197
m_decomb, 197
m_delay_back, 197
m_delay_front, 197
m_lp_bf, 197
m_lp_result, 197
m_mu_beta, 198
m_powerfilter_coeff, 198
m_powerfilter_norm, 198
m_powerfilter_state, 198
process, 196
ADM::Delay
Delay, 200
Delay, 199
m_coeff, 200
m_fullsamples, 200
m_norm, 201
m_now_in, 201
m_state, 201
process, 200
ADM::Delay<F>,198
ADM::Linearphase_FIR<F>,201
ADM::Linearphase_FIR
Linearphase_FIR, 203
Linearphase_FIR, 202
m_alphas, 203
m_now, 204
m_order, 203
m_output, 203
process, 203
ADM, 88
ADM::ADM, 195
C, 89
DELAY_FREQ, 89
PI, 89
START_BETA, 90
subsampledelay_coeff, 89
ALGO_COMM_ID_STR
mha_algo_comm.hh, 1231
ASSERT_EQUAL_DIM_PTR
mha_signal.cpp, 1268
ASSERT_EQUAL_DIM
mha_signal.cpp, 1268
ASYNC_CONNECT_STARTED
mha_tcp.cpp, 1281
abandonned
mha_rt_fifo_element_t, 542
abs
Complex arithmetics in the openMHA, 75
abs2
Complex arithmetics in the openMHA, 75
ac
ac2wave_t, 149
acConcat_wave_config, 155
acPooling_wave_config, 170
acTransform_wave_config, 193
acmon::acmon_t, 162
acsave::cfg_t, 178
acsave::save_var_t, 182
doasvm_classification_config, 324
fw_t, 395
latex_doc_t, 453
lpc_bl_predictor_config, 462
lpc_burglattice_config, 469
MHA_AC::ac2matrix_helper_t, 479
MHA_AC::double_t, 488
MHA_AC::float_t, 490
MHA_AC::int_t, 491
MHA_AC::spectrum_t, 494
MHA_AC::waveform_t, 498
MHAKernel::algo_comm_class_t, 728
MHAMultiSrc::base_t, 731
MHAPlugin::plugin_t, 886
mhachain::plugs_t, 592
PluginLoader::mhapluginloader_t, 1082
prediction_error_config, 1093
rt_nlms_t, 1108
shadowfilter_end::cfg_t, 1119
steerbf_config, 1152
timoConfig, 1162
ac2matrix_helper_t
MHA_AC::ac2matrix_helper_t, 479
ac2matrix_t
MHA_AC::ac2matrix_t, 482
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1343
ac2wave.cpp, 1192
ac2wave_if_t, 145
ac2wave_if_t, 146
delay_ac, 147
delay_in, 147
gain_ac, 147
gain_in, 147
name, 147
patchbay, 148
prepare, 146
prepared, 147
process, 146
release, 146
update, 146
zeros, 147
ac2wave_t, 148
ac, 149
ac2wave_t, 148
channels, 149
delay_ac, 150
delay_in, 150
frames, 149
gain_ac, 150
gain_in, 150
name, 150
process, 149
w, 149
ac_
combc_t, 270
MHAParser::mhapluginloader_t, 830
ac_fifo
analysepath_t, 228
ac_monitor_t
acmon::ac_monitor_t, 157
ac_monitor_type.cpp, 1192
ac_monitor_type.hh, 1192
acConcat_wave, 151
acConcat_wave, 152
acConcat_wave, 152
name_conAC, 153
num_AC, 153
patchbay, 154
prefix_names_AC, 153
prepare, 152
process, 152
release, 153
samples_AC, 153
update_cfg, 153
acConcat_wave.cpp, 1192
INSERT_PATCH, 1192
PATCH_VAR, 1192
acConcat_wave.h, 1193
acConcat_wave_config, 154
acConcat_wave_config, 154
ac, 155
acConcat_wave_config, 154
numSamples_AC, 155
process, 155
strNames_AC, 155
vGCC_con, 155
vGCC, 155
acPooling_wave, 164
acPooling_wave, 165
acPooling_wave, 165
alpha, 168
like_ratio_name, 168
lower_threshold, 168
max_pool_ind_name, 168
neighbourhood, 168
numsamples, 167
p_name, 168
patchbay, 168
pool_name, 168
pooling_type, 167
pooling_wndlen, 167
prepare, 166
process, 165
release, 167
update_cfg, 167
upper_threshold, 167
acPooling_wave.cpp, 1193
INSERT_PATCH, 1193
PATCH_VAR, 1193
acPooling_wave.h, 1194
acPooling_wave_config, 169
acPooling_wave_config, 170
ac, 170
acPooling_wave_config, 169
alpha, 172
c, 171
insert, 170
like_ratio, 171
low_thresh, 171
neigh, 172
p, 170
p_max, 171
pool, 172
pooling_ind, 171
pooling_option, 171
pooling_size, 171
process, 170
raw_p_name, 170
© 2005-2018 HörTech gGmbH, Oldenburg
1344 INDEX
up_thresh, 171
acSteer, 183
acSteer, 184
acSteer, 184
acSteerName1, 185
acSteerName2, 185
nrefmic, 186
nsteerchan, 185
patchbay, 186
prepare, 184
process, 184
release, 185
steerFile, 185
update_cfg, 185
acSteer.cpp, 1195
INSERT_PATCH, 1195
PATCH_VAR, 1195
acSteer.h, 1196
acSteer_config, 186
acSteer_config, 187
acSteer_config, 186
insert, 187
nangle, 188
nchan, 187
nfreq, 187
nrefmic, 187
nsteerchan, 187
specSteer1, 188
specSteer2, 188
acSteerName1
acSteer, 185
acSteerName2
acSteer, 185
acTransform_wave, 188
acTransform_wave, 189
acTransform_wave, 189
ang_name, 191
numsamples, 191
patchbay, 192
prepare, 190
process, 190
raw_p_max_name, 191
raw_p_name, 191
release, 190
rotated_p_max_name, 191
rotated_p_name, 191
to_from, 191
update_cfg, 190
acTransform_wave.cpp, 1196
INSERT_PATCH, 1196
PATCH_VAR, 1196
acTransform_wave.h, 1196
acTransform_wave_config, 192
acTransform_wave_config, 193
ac, 193
acTransform_wave_config, 192
ang_name, 193
offset, 194
process, 193
raw_p_max_name, 193
raw_p_name, 193
resolution, 194
rotated_i, 194
rotated_p, 194
to_from, 194
accept
MHA_TCP::Server, 567
accept_event
MHA_TCP::Server, 568
accept_loop
io_tcp_t, 449
acceptor_started
mhaserver_t, 926
ack_fail
mhaserver_t, 927
ack_ok
mhaserver_t, 927
acmon, 88
acmon.cpp, 1193
acmon::ac_monitor_t, 156
ac_monitor_t, 157
dimstr, 158
getvar, 157
mon, 158
mon_complex, 158
mon_mat, 158
mon_mat_complex, 158
name, 158
p_parser, 159
use_mat, 159
acmon::acmon_t, 159
acmon_t, 160
ac, 162
acmon_t, 160
algo, 163
b_cont, 163
b_snapshot, 163
chain, 163
dimensions, 162
dispmode, 162
patchbay, 162
prepare, 161
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1345
process, 161
recmode, 162
release, 161
save_vars, 161
update_recmode, 161
varlist, 162
vars, 162
acmon_t
acmon::acmon_t, 160
acsave, 88
acsave.cpp, 1194
ACSAVE_FMT_MAT4, 1195
ACSAVE_FMT_TXT, 1194
ACSAVE_FMT_M, 1195
ACSAVE_SFMT_MAT4, 1195
ACSAVE_SFMT_TXT, 1194
ACSAVE_SFMT_M, 1195
acsave::acsave_t, 172
acsave_t, 174
algo, 176
b_flushed, 176
b_prepared, 176
bflush, 175
chain, 176
event_start_recording, 174
event_stop_and_flush, 175
fileformat, 175
fname, 175
patchbay, 176
prepare, 174
process, 174,175
reclen, 175
release, 174
variables, 175
varlist, 176
varlist_t, 173
acsave::cfg_t, 177
cfg_t, 177
ac, 178
cfg_t, 177
flush_data, 177
max_frames, 178
nvars, 178
rec_frames, 178
store_frame, 177
varlist, 178
acsave::mat4head_t, 179
cols, 179
imag, 179
namelen, 179
rows, 179
t, 179
acsave::save_var_t, 180
save_var_t, 180
ac, 182
b_complex, 182
data, 181
framecnt, 182
maxframe, 182
name, 181
ndim, 182
nframes, 181
save_m, 181
save_mat4, 181
save_txt, 181
save_var_t, 180
store_frame, 181
acsave_t
acsave::acsave_t, 174
acspace2matrix_t
MHA_AC::acspace2matrix_t, 484
acspace_template
analysispath_if_t, 233
act_
wavwriter_t, 1186
actgains
fader_if_t, 373
activate_query
MHAParser::base_t, 773
acvar
MHA_AC::ac2matrix_helper_t, 480
adapt_filter_param_t
MHAFilter::adapt_filter_param_t, 608
adapt_filter_state_t
MHAFilter::adapt_filter_state_t, 609
adapt_filter_t
MHAFilter::adapt_filter_t, 612
add_entry
MHAParser::keyword_list_t, 808
MHATableLookup::linear_table_t, 1011
MHATableLookup::xy_table_t, 1018
add_fun
MHAOvlFilter::scale_var_t, 762
add_parent_on_insert
MHAParser::base_t, 773
add_plug
altplugs_t, 223
add_plugin
pluginbrowser_t, 1067
add_plugins
pluginbrowser_t, 1067
add_replace_pair
© 2005-2018 HörTech gGmbH, Oldenburg
1346 INDEX
MHAParser::base_t, 774
added_via_plugs
altplugs_t, 225
adm
adm_rtconfig_t, 211
adm.cpp, 1197
adm_fir_decomb, 1197
adm_fir_lp, 1197
adm.hh, 1197
adm_fir_decomb
adm.cpp, 1197
adm_fir_lp
adm.cpp, 1197
adm_if_t, 204
adm_if_t, 205
beta, 207
bypass, 207
coeff_decomb, 208
coeff_lp, 208
decomb_order, 207
distances, 207
front_channels, 207
input_channels, 208
is_prepared, 206
lp_order, 207
mu_beta, 207
out, 206
patchbay, 208
prepare, 206
process, 206
rear_channels, 207
release, 206
srate, 208
tau_beta, 208
update, 206
adm_rtconfig_t, 209
adm_rtconfig_t, 210
adm, 211
adm_rtconfig_t, 210
adm_t, 209
adms, 212
check_index, 211
decomb_coeffs, 212
front_channel, 211
front_channels, 212
lp_coeffs, 212
num_adms, 211
rear_channel, 211
rear_channels, 212
adm_t
adm_rtconfig_t, 209
adms
adm_rtconfig_t, 212
algo
acmon::acmon_t, 163
acsave::acsave_t, 176
analysispath_if_t, 233
coherence::cohflt_if_t, 259
db_if_t, 278
dc::dc_if_t, 282
fftfilterbank::fftfb_interface_t, 381
MHAPlugin_Resampling::resampling_if-
_t, 890
multibandcompressor::interface_t, 1038
nlms_t, 1043
overlapadd::overlapadd_if_t, 1057
route::interface_t, 1104
smoothgains_bridge::overlapadd_if_-
t, 1129
wave2spec_if_t, 1178
algo_comm_class_t
MHAKernel::algo_comm_class_t, 725
algo_comm_default
mha_algo_comm.cpp, 1229
mha_algo_comm.hh, 1231
algo_comm_id_string
MHAKernel::algo_comm_class_t, 728
algo_comm_id_string_len
MHAKernel::algo_comm_class_t, 728
algo_comm_safe_cast
MHAKernel, 111
algo_comm_t, 213
get_entries, 218
get_error, 218
get_var, 216
get_var_float, 217
get_var_int, 217
handle, 213
insert_var, 214
insert_var_float, 215
insert_var_int, 214
is_var, 216
mha.h, 1226
remove_ref, 215
remove_var, 215
algo_name
lpc, 456
algos
MHAPlugin_Split::split_t, 911
mhachain::chain_base_t, 587
mhachain::plugs_t, 592
all_dump
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1347
MHAParser, 123
all_ids
MHAParser, 123
alloc_plugs
mhachain::plugs_t, 592
almost
Complex arithmetics in the openMHA, 78
alpha
acPooling_wave, 168
acPooling_wave_config, 172
cfg_t, 255
coherence::cohflt_t, 262
coherence::vars_t, 265
alpha_const
timoConfig, 1163
alpha_const_limits_hz
timo_params, 1159
timoSmooth, 1172
alpha_const_vals
timo_params, 1159
timoSmooth, 1171
alpha_frame
timoConfig, 1165
alpha_frame_AC
timo_AC, 1155
alpha_hat
timoConfig, 1165
alpha_hat_AC
timo_AC, 1155
alpha_pitch
timo_params, 1158
timoSmooth, 1171
alpha_prev
timoConfig, 1164
alphaPH1mean
noisePowProposedScale::interface_-
t, 1048
alphaPH1mean_
noisePowProposedScale::noisePow-
Proposed, 1052
alphaPSD_
noisePowProposedScale::noisePow-
Proposed, 1052
alphaPSD
noisePowProposedScale::interface_-
t, 1049
altplugs.cpp, 1198
MHAPLUGIN_OVERLOAD_OUTDOM-
AIN, 1198
altplugs_t, 219
add_plug, 223
added_via_plugs, 225
altplugs_t, 220
cfin, 225
cfout, 225
current, 224
delete_plug, 223
event_add_plug, 222
event_delete_plug, 222
event_select_plug, 222
event_set_plugs, 222
fallback_spec, 225
fallback_wave, 224
nondefault_labels, 224
parse, 222
parser_plugs, 223
patchbay, 224
plugs, 224
prepare, 221
prepared, 225
proc_ramp, 223
process, 221
ramp_counter, 225
ramp_len, 225
ramplen, 224
release, 221
select_plug, 224
selected_plug, 224
update_ramplen, 223
update_selector_list, 223
use_own_ac, 223
amplitude
sine_cfg_t, 1123
analysemhaplugin.cpp, 1198
main, 1199
print_ac, 1199
strdom, 1199
analysepath_t, 226
analysepath_t, 227
ac_fifo, 228
analysepath_t, 226
attr, 229
cond_to_process, 230
flag_terminate_inner_thread, 229
has_inner_error, 229
inner_ac_copy, 228
inner_error, 229
inner_input, 228
inner_out_domain, 228
inner_process_wave2spec, 227
inner_process_wave2wave, 227
input_to_process, 229
© 2005-2018 HörTech gGmbH, Oldenburg
1348 INDEX
libdata, 228
outer_ac, 228
outer_ac_copy, 228
priority, 229
ProcessMutex, 229
rt_process, 227
scheduler, 229
svc, 227
thread, 230
wave_fifo, 228
analysispath.cpp, 1199
thread_start, 1199
analysispath_if_t, 230
analysispath_if_t, 231
acspace_template, 233
algo, 233
analysispath_if_t, 231
chain, 233
fifolen, 233
fragsize, 233
libname, 232
loadlib, 232
patchbay, 232
plug, 233
prepare, 232
priority, 233
process, 232
release, 232
vars, 233
analytic
hilbert_shifter_t, 406
ang_name
acTransform_wave, 191
acTransform_wave_config, 193
angle
Complex arithmetics in the openMHA, 72
angle_ind
steerbf, 1150
angle_src
steerbf, 1150
angles
doasvm_classification, 321
announce_port
mhaserver_t, 927
antialias
ds_t, 337
us_t, 1175
apply_gains
MHAOvlFilter::fftfb_t, 742
multibandcompressor::plugin_signals_t,
1039
aquire_mutex
mha_fifo_posix_threads_t, 529
mha_fifo_thread_platform_t, 539
arg
MHA_TCP::Thread, 574
assign
MHASignal::waveform_t, 1001
Vector and matrix processing toolbox, 53
assign_channel
MHASignal::waveform_t, 1002
assign_frame
MHASignal::waveform_t, 1001
Async_Notify
MHA_TCP::Async_Notify, 549
async_poll_msg
fw_t, 393
async_read
fw_t, 393
async_rmslevel_t
MHASignal::async_rmslevel_t, 929
attack
cfg_t, 256
dc::dc_t, 285
dc_simple::level_smoother_t, 310
softclip_t, 1133
softclipper_t, 1135
attr
analysepath_t, 229
MHAPlugin_Split::posix_threads_t, 905
auditory_profile.cpp, 1200
auditory_profile.h, 1200
AuditoryProfile, 90
AuditoryProfile::fmap_t, 234
get_frequencies, 234
get_values, 234
isempty, 234
AuditoryProfile::parser_t, 235
get_current_profile, 236
L, 236
parser_t, 236
R, 236
AuditoryProfile::parser_t::ear_t, 237
ear_t, 237
get_ear, 237
HTL, 238
UCL, 238
AuditoryProfile::parser_t::fmap_t, 238
f, 240
fmap_t, 239
get_fmap, 239
name_, 240
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1349
patchbay, 240
validate, 239
value, 240
AuditoryProfile::profile_t, 240
get_ear, 241
L, 241
R, 241
AuditoryProfile::profile_t::ear_t, 242
convert_empty2normal, 242
HTL, 242
UCL, 243
average
coherence::vars_t, 266
avg_ipd
coherence::cohflt_t, 262
azimuth
mha_direction_t, 512
B
MHAFilter::filter_t, 637
MHAFilter::iir_filter_t, 647
b
doasvm_classification, 322
MHAParser::base_t::replace_t, 777
B_
MHAFilter::complex_bandpass_t, 620
MHAFilter::iir_ord1_real_t, 651
b_check_version
PluginLoader::mhapluginloader_t, 1085
b_complex
acsave::save_var_t, 182
b_cont
acmon::acmon_t, 163
b_est
lpc_bl_predictor_config, 462
b_exit_request
fw_t, 396
b_flushed
acsave::acsave_t, 176
b_fw_started
io_parser_t, 427
b_is_input
calibrator_runtime_layer_t, 247
calibrator_t, 250
b_is_prepared
PluginLoader::mhapluginloader_t, 1085
b_loop
MHASignal::loop_wavefragment_t, 954
b_ltg
coherence::cohflt_t, 264
b_prepared
acsave::acsave_t, 176
io_file_t, 417
io_parser_t, 428
MHAJack::client_t, 719
mhachain::chain_base_t, 588
mhachain::plugs_t, 592
b_ready
MHAJack::client_avg_t, 705
b_snapshot
acmon::acmon_t, 163
b_starting
io_parser_t, 428
b_stopped
io_parser_t, 428
MHAJack::client_avg_t, 704
MHAJack::client_noncont_t, 708
b_use_clipping
calibrator_runtime_layer_t, 247
b_use_fir
calibrator_runtime_layer_t, 247
b_use_profiling
mhachain::plugs_t, 594
BARKSCALE_ENTRIES
mha_fftfb.cpp, 1240
bInvert
coherence::cohflt_t, 263
backward
lpc_bl_predictor_config, 462
lpc_burglattice_config, 469
MHASignal::fft_t, 942
backward_scale
MHASignal::fft_t, 943
band_weights
dc::dc_vars_t, 291
bands
dc::wideband_inhib_vars_t, 296
MHAOvlFilter::fspacing_t, 755
bandw_correction
speechnoise.cpp, 1328
bark2hz_t
MHAOvlFilter::barkscale::bark2hz_t, 737
bartlett
MHAWindow, 142
bartlett_t
MHAWindow::bartlett_t, 1021
base_t
MHAMultiSrc::base_t, 730
MHAParser::base_t, 767
MHAWindow::base_t, 1022,1023
basename
save_spec_t, 1112
save_wave_t, 1114
© 2005-2018 HörTech gGmbH, Oldenburg
1350 INDEX
shadowfilter_begin::shadowfilter_begin-
_t, 1117
shadowfilter_end::shadowfilter_end_-
t, 1122
bbcalib_interface_t, 243
bbcalib_interface_t, 244
bbcalib_interface_t, 244
calib_in, 245
calib_out, 245
plugloader, 245
prepare, 244
process, 244
release, 244
bbgain
gain::gain_if_t, 401
beta
ADM::ADM, 196
adm_if_t, 207
beta_const
timo_params, 1159
timoSmooth, 1171
bf_src
steerbf, 1150
bf_src_copy
steerbf_config, 1152
bf_vec
steerbf_config, 1152
bflush
acsave::acsave_t, 175
bin1
MHAOvlFilter::fftfb_t, 743
bin2
MHAOvlFilter::fftfb_t, 743
bin2freq
Vector and matrix processing toolbox, 47
blackman
MHAWindow, 142
blackman_t
MHAWindow::blackman_t, 1025
blockprocessing_polyphase_resampling_t
MHAFilter::blockprocessing_polyphase-
_resampling_t, 614
blocks
droptect_t, 334
bookkeeping
MHAFilter::partitioned_convolution_t, 665
MHAParser::mhapluginloader_t, 830
bool_mon_t
MHAParser::bool_mon_t, 779
bool_t
MHAParser::bool_t, 781
bprofiling
mhachain::chain_base_t, 587
bracket_balance
MHAParser::StrCnv, 126
browsemhaplugins.cpp, 1200
DEBUG, 1200
main, 1201
buf
mha_fifo_t, 536
mha_spec_t, 548
mha_wave_t, 584
buf_c_in
MHASignal::hilbert_fftw_t, 946
buf_c_out
MHASignal::hilbert_fftw_t, 947
buf_in
MHASignal::fft_t, 944
buf_out
MHASignal::fft_t, 944
buf_r_in
MHASignal::hilbert_fftw_t, 946
buf_r_out
MHASignal::hilbert_fftw_t, 946
buf_uses_placement_new
mha_fifo_t, 536
buffer
MHASignal::delay_spec_t, 931
MHASignal::delay_t, 934
MHASignal::delay_wave_t, 936
buffered_incoming_bytes
MHA_TCP::Connection, 559
buffered_outgoing_bytes
MHA_TCP::Connection, 559
burn
DynComp::dc_afterburn_rt_t, 340
DynComp::dc_afterburn_t, 343
multibandcompressor::interface_t, 1037
butter_stop_ord1
MHAFilter, 105
bw
MHAOvlFilter::fscale_bw_t, 750
bw_
MHAFilter::gamma_flt_t, 642
bw_generator
MHAFilter::thirdoctave_analyzer_t, 681
bw_hz
MHAOvlFilter::fscale_bw_t, 750
bw_name
dc::dc_vars_t, 289
bwv
MHAOvlFilter::fftfb_ac_info_t, 740
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1351
multibandcompressor::fftfb_plug_t, 1035
bypass
adm_if_t, 207
db_if_t, 278
dc::dc_t, 286
dc::dc_vars_t, 290
dc_simple::dc_vars_t, 308
DynComp::dc_afterburn_vars_t, 347
C
ADM, 89
c
acPooling_wave_config, 171
doasvm_classification_config, 324
io_tcp_sound_t::float_union, 446
nlms_t, 1042
prediction_error, 1089
c1_a
MHAFilter::o1_ar_filter_t, 654
c1_r
MHAFilter::o1_ar_filter_t, 654
c2_a
MHAFilter::o1_ar_filter_t, 654
c2_r
MHAFilter::o1_ar_filter_t, 655
c_ifc_parser_t
MHAParser::c_ifc_parser_t, 784
c_min
coherence::cohflt_t, 262
c_parse_cmd
MHAParser::c_ifc_parser_t, 785
c_parse_cmd_t
MHAParser, 122
c_parse_err
MHAParser::c_ifc_parser_t, 785
c_parse_err_t
MHAParser, 122
c_scale
coherence::cohflt_t, 262
CHANLOOP
timoconfig.cpp, 1333
CHECK_EXPR
mha_defs.h, 1232
CHECK_VAR
mha_defs.h, 1232
cLTASS
MHAOvlFilter::fftfb_ac_info_t, 740
MHAOvlFilter::fftfb_vars_t, 748
calc_in
wave2spec_t, 1181
calc_out
overlapadd::overlapadd_t, 1059
spec2wave_t, 1142
calc_pre_wnd
wave2spec_t, 1180
calib_in
bbcalib_interface_t, 245
calib_out
bbcalib_interface_t, 245
calibrator_runtime_layer_t, 245
b_is_input, 247
b_use_clipping, 247
b_use_fir, 247
calibrator_runtime_layer_t, 246
fir, 247
firfir2fftlen, 246
firfirlen, 246
gain, 247
pmode, 248
process, 246
quant, 247
softclip, 247
speechnoise, 247
calibrator_t, 248
b_is_input, 250
calibrator_t, 249
patchbay, 250
prepare, 249
prepared, 250
process, 249
read_levels, 250
release, 249
update, 250
update_tau_level, 250
vars, 250
calibrator_variables_t, 251
calibrator_variables_t, 251
config_parser, 253
do_clipping, 253
fir, 252
fragsize, 253
nbits, 252
num_channels, 253
peaklevel, 252
rmslevel, 252
softclip, 253
spnoise_channels, 252
spnoise_level, 252
spnoise_mode, 252
spnoise_parser, 253
srate, 253
tau_level, 252
can_read
© 2005-2018 HörTech gGmbH, Oldenburg
1352 INDEX
MHAFilter::blockprocessing_polyphase-
_resampling_t, 616
can_read_bytes
MHA_TCP::Connection, 557
can_read_line
MHA_TCP::Connection, 557
can_sysread
MHA_TCP::Connection, 555
can_syswrite
MHA_TCP::Connection, 555
can_update
fader_wave::level_adapt_t, 377
catch_condition
MHAPlugin_Split::posix_threads_t, 905
catch_thread
MHAPlugin_Split::dummy_threads_t, 901
MHAPlugin_Split::posix_threads_t, 904
MHAPlugin_Split::thread_platform_t, 921
categories
plugindescription_t, 1069
cdata
MHASignal::matrix_t, 966
mha_audio_t, 501
center_frequencies
dc::dc_vars_t, 291
dc_simple::dc_if_t, 300
cf
MHAFilter::thirdoctave_analyzer_t, 681
MHAOvlFilter::band_descriptor_t, 736
MHAOvlFilter::fftfb_vars_t, 747
mha_audio_descriptor_t, 499
cf2bands
MHAOvlFilter::fspacing_t, 755
cf_
MHAFilter::gamma_flt_t, 642
wavwriter_t, 1186
cf_generator
MHAFilter::thirdoctave_analyzer_t, 681
cf_h
MHAOvlFilter::band_descriptor_t, 736
cf_in
overlapadd::overlapadd_if_t, 1057
smoothgains_bridge::overlapadd_if_-
t, 1129
cf_in_
MHAParser::mhapluginloader_t, 830
cf_input
PluginLoader::mhapluginloader_t, 1084
cf_l
MHAOvlFilter::band_descriptor_t, 736
cf_name
dc::dc_vars_t, 289
cf_out
overlapadd::overlapadd_if_t, 1057
smoothgains_bridge::overlapadd_if_-
t, 1129
cf_out_
MHAParser::mhapluginloader_t, 830
cf_output
PluginLoader::mhapluginloader_t, 1084
cfac
route::interface_t, 1103
cfg
MHAPlugin::config_t, 881
cfg_
MHAFilter::thirdoctave_analyzer_t, 681
cfg_chain
MHAPlugin::config_t, 881
cfg_chain_current
MHAPlugin::config_t, 882
cfg_chain_t
MHAPlugin::cfg_chain_t, 876
cfg_dump
MHAParser, 122
cfg_dump_short
MHAParser, 122
cfg_t, 254
acsave::cfg_t, 177
alpha, 255
attack, 256
cfg_t, 254,255
channel, 256
decay, 256
frozen_noise_, 256
gain_spec_, 256
gain_wave_, 256
matrixmixer::cfg_t, 474
pos, 257
process, 255
replace_, 256
shadowfilter_begin::cfg_t, 1115
shadowfilter_end::cfg_t, 1118
start_lin, 255
use_frozen_, 256
cfin
altplugs_t, 225
fw_t, 396
mhachain::chain_base_t, 588
route::interface_t, 1103
cfout
altplugs_t, 225
fw_t, 396
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1353
mhachain::chain_base_t, 588
route::interface_t, 1103
cfv
MHAOvlFilter::fftfb_ac_info_t, 740
multibandcompressor::fftfb_plug_t, 1034
cg
coherence::cohflt_t, 262
ch
MHASignal::doublebuffer_t, 940
chain
acmon::acmon_t, 163
acsave::acsave_t, 176
analysispath_if_t, 233
db_if_t, 278
MHAPlugin_Resampling::resampling_if-
_t, 890
mhachain::chain_base_t, 588
mhachain::plugs_t, 593
chain_base_t
mhachain::chain_base_t, 586
chains
MHAPlugin_Split::split_t, 913
channel
cfg_t, 256
example5_t, 367
MHAMultiSrc::channel_t, 731
channel_gain_name
combc_if_t, 269
channel_gains_
combc_t, 271
channel_info
mha_spec_t, 548
mha_wave_t, 584
channel_no
example6_t, 369
channelconfig_out_
MHAOvlFilter::overlap_save_filterbank_t,
759
channels
ac2wave_t, 149
dc::wideband_inhib_vars_t, 296
MHAFilter::fftfilter_t, 626
MHAFilter::filter_t, 637
MHAParser::mhaconfig_mon_t, 825
MHAPlugin_Split::split_t, 912
MHASignal::delay_t, 934
mhaconfig_t, 596
prediction_error_config, 1093
rt_nlms_t, 1108
sine_cfg_t, 1123
sine_t, 1125
Vector and matrix processing toolbox, 44
channels_t
MHAMultiSrc::channels_t, 732
chdir
mha_audio_descriptor_t, 500
check_index
adm_rtconfig_t, 211
check_low
MHAParser::range_var_t, 844
check_range
MHAParser::range_var_t, 844
check_sound_data_type
io_tcp_sound_t, 442
check_up
MHAParser::range_var_t, 844
chname
dc::dc_vars_t, 290
chunkbytes_in
io_tcp_sound_t, 443
ci
matrixmixer::matmix_t, 478
cleanup_plugs
mhachain::plugs_t, 592
cleanup_unused_cfg
MHAPlugin::config_t, 881
clear
MHATableLookup::linear_table_t, 1012
MHATableLookup::table_t, 1015
MHATableLookup::xy_table_t, 1018
mha_fifo_t, 535
Vector and matrix processing toolbox, 52,
53
clear_chains
MHAPlugin_Split::split_t, 910
clear_plugins
pluginbrowser_t, 1067
Client
MHA_TCP::Client, 551
client_avg_t
MHAJack::client_avg_t, 702
client_noncont_t
MHAJack::client_noncont_t, 707
client_t
MHAJack::client_t, 711
clientid
dc::dc_vars_t, 290
dc_simple::dc_if_t, 300
clientname
MHAIOJack::io_jack_t, 690
clipmeter
softclipper_t, 1135
© 2005-2018 HörTech gGmbH, Oldenburg
1354 INDEX
clipped
softclipper_variables_t, 1138
close_session
wavwriter_t, 1186
closed
MHA_TCP::Connection, 560
closesocket
mha_tcp.cpp, 1281
cmd_prepare
MHAIOPortAudio::io_portaudio_t, 698
cmd_release
MHAIOPortAudio::io_portaudio_t, 698
cmd_start
MHAIOPortAudio::io_portaudio_t, 698
cmd_stop
MHAIOPortAudio::io_portaudio_t, 698
co
matrixmixer::matmix_t, 478
coeff_decomb
adm_if_t, 208
coeff_lp
adm_if_t, 208
coh_c
coherence::cohflt_t, 263
coh_rlp
coherence::cohflt_t, 263
coherence, 90
getcipd, 91
coherence.cpp, 1201
coherence::cohflt_if_t, 257
algo, 259
cohflt_if_t, 258
patchbay, 259
prepare, 258
process, 258
release, 258
update, 259
vars, 259
coherence::cohflt_t, 260
alpha, 262
avg_ipd, 262
b_ltg, 264
bInvert, 263
c_min, 262
c_scale, 262
cg, 262
coh_c, 263
coh_rlp, 263
cohflt_t, 261
g, 262
gain, 263
gain_delay, 263
insert, 261
limit, 262
lp1i, 263
lp1ltg, 263
lp1r, 262
nbands, 261
process, 261
s_out, 263
staticgain, 264
coherence::vars_t, 264
alpha, 265
average, 266
delay, 266
invert, 266
limit, 265
ltgcomp, 266
ltgtau, 266
mapping, 266
staticgain, 266
tau, 265
tau_unit, 265
vars_t, 265
cohflt_if_t
coherence::cohflt_if_t, 258
cohflt_t
coherence::cohflt_t, 261
collect_result
MHAPlugin_Split::split_t, 911
MHAPlugin_Split::splitted_part_t, 918
colored_intensity
Vector and matrix processing toolbox, 63
cols
acsave::mat4head_t, 179
combc_if_t, 267
channel_gain_name, 269
combc_if_t, 267
element_gain_name, 269
interleaved, 268
outchannels, 268
prepare, 268
process, 268
combc_t, 269
ac_, 270
channel_gains_, 271
combc_t, 269
element_gain_name_, 271
interleaved_, 270
nbands, 270
process, 270
s_out, 271
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1355
w_out, 271
combinechannels.cpp, 1201
comm_var_t, 271
data, 273
data_type, 272
num_entries, 272
stride, 272
commentate
MHAParser, 122
commit
DynComp::dc_afterburn_vars_t, 347
commit_pending
DynComp::dc_afterburn_t, 344
commit_t
MHAParser::commit_t, 788
Communication between algorithms, 28
get_var_float, 31
get_var_int, 30
get_var_spectrum, 29
get_var_vfloat, 31
get_var_waveform, 30
comp_each_iter
lpc, 457
lpc_config, 472
comp_iter
lpc_config, 473
Complex arithmetics in the openMHA, 68
_conjugate, 77
_reciprocal, 78
abs, 75
abs2, 75
almost, 78
angle, 72
conjugate, 77
expi, 71,74
mha_complex, 70
normalize, 78
operator!=, 77
operator<,79
operator,74,75
operator=, 74
operator+, 72,73
operator+=, 72,73
operator-, 73,74,76
operator-=, 73
operator/, 76
operator/=, 75,76
operator==, 77
reciprocal, 77
safe_div, 76
set, 70,71
stdcomplex, 71
complex_bandpass_t
MHAFilter::complex_bandpass_t, 618
complex_filter.cpp, 1202
complex_filter.h, 1202
complex_mon_t
MHAParser::complex_mon_t, 789
complex_ofs
MHASignal::matrix_t, 966
complex_t
MHAParser::complex_t, 792
compression
dc_simple::dc_t, 303
compute_something
cpuload_t, 275
compute_something_else
cpuload_t, 275
Concept of Variables and Data Exchange in
the openMHA, 4
cond_to_process
analysepath_t, 230
config_file_splitter_t
PluginLoader::config_file_splitter_t, 1071
config_parser
calibrator_variables_t, 253
config_t
MHAPlugin::config_t, 879
configfile
PluginLoader::config_file_splitter_t, 1073
configname
PluginLoader::config_file_splitter_t, 1072
configuration, 4
configuration variable, 4
conflux
DynComp::dc_afterburn_rt_t, 341
DynComp::dc_afterburn_vars_t, 346
conjugate
Complex arithmetics in the openMHA, 77
Vector and matrix processing toolbox, 66
connect
MHAEvents::emitter_t, 604
MHAEvents::patchbay_t, 606,607
connect_input
MHAJack::client_t, 713
connect_output
MHAJack::client_t, 713
connect_to
MHAJack::port_t, 722
connected
io_tcp_parser_t, 439
Connection
© 2005-2018 HörTech gGmbH, Oldenburg
1356 INDEX
MHA_TCP::Connection, 554
connection_loop
io_tcp_t, 449
connections
MHAEvents::emitter_t, 605
connections_in
MHAIOJack::io_jack_t, 691
connections_out
MHAIOJack::io_jack_t, 691
connector
MHAFilter::adapt_filter_t, 613
MHAFilter::iir_filter_t, 647
MHAParser::mhapluginloader_t, 830
connector_base_t
MHAEvents::connector_base_t, 598
connector_t
MHAEvents::connector_t, 600,601
cons
MHAEvents::patchbay_t, 607
consecutive_dropouts
droptect_t, 334
contained_frames
MHASignal::ringbuffer_t, 973
conv2latex
generatemhaplugindoc.cpp, 1212
convert_empty2normal
AuditoryProfile::profile_t::ear_t, 242
convert_f2logf
gaintable.cpp, 1211
copy
MHASignal::spectrum_t, 982
MHASignal::waveform_t, 1002
timo_AC, 1154
copy_AC
timoConfig, 1162
copy_channel
MHASignal::spectrum_t, 983
MHASignal::waveform_t, 1003
Vector and matrix processing toolbox, 61,
62
copy_error
MHAIOTCP.cpp, 1309
copy_from_at
MHASignal::waveform_t, 1003
copy_output_spec
MHAPlugin_Split::split_t, 910
copy_output_wave
MHAPlugin_Split::split_t, 910
copy_permuted
MHASignal, 139
corr_out
lpc_config, 473
cpuload.cpp, 1202
cpuload_t, 273
compute_something, 275
compute_something_else, 275
cpuload_t, 274
factor, 275
phase, 275
prepare, 275
process, 274
result, 275
table, 276
use_sine, 275
create_latex_doc
generatemhaplugindoc.cpp, 1212
create_lock
mhamain.cpp, 1315
creator
speechnoise_t, 1147
creator_A
MHAFilter::complex_bandpass_t, 618
creator_B
MHAFilter::complex_bandpass_t, 618
cstr_strerror
mha_errno.c, 1234
current
altplugs_t, 224
dc::wideband_inhib_vars_t, 295
mha_rt_fifo_t, 546
current_input_signal_buffer_half_index
MHAFilter::partitioned_convolution_t, 665
current_output_partition_index
MHAFilter::partitioned_convolution_t, 666
current_powspec
droptect_t, 334
current_thread_priority
MHAPlugin_Split::posix_threads_t, 905
current_thread_scheduler
MHAPlugin_Split::posix_threads_t, 905
DEBUG
browsemhaplugins.cpp, 1200
fader_wave.cpp, 1210
MHAIOFile.cpp, 1287
wavrec.cpp, 1337
DEFAULT_RETSIZE
mha_parser.hh, 1258
DELAY_FREQ
ADM, 89
DUPVEC
dc.cpp, 1203
data
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1357
acsave::save_var_t, 181
comm_var_t, 273
DynComp::gaintable_t, 351
MHA_AC::acspace2matrix_t, 487
MHA_AC::double_t, 488
MHA_AC::float_t, 490
MHA_AC::int_t, 491
MHAParser::bool_mon_t, 780
MHAParser::bool_t, 782
MHAParser::complex_mon_t, 790
MHAParser::complex_t, 792
MHAParser::float_mon_t, 797
MHAParser::float_t, 800
MHAParser::int_mon_t, 802
MHAParser::int_t, 805
MHAParser::kw_t, 813
MHAParser::mcomplex_mon_t, 815
MHAParser::mcomplex_t, 818
MHAParser::mfloat_mon_t, 820
MHAParser::mfloat_t, 823
MHAParser::string_mon_t, 846
MHAParser::string_t, 849
MHAParser::vcomplex_mon_t, 854
MHAParser::vcomplex_t, 857
MHAParser::vfloat_mon_t, 859
MHAParser::vfloat_t, 861
MHAParser::vint_mon_t, 863
MHAParser::vint_t, 866
MHAParser::vstring_mon_t, 868
MHAParser::vstring_t, 871
MHAPlugin::cfg_chain_t, 877
MHASignal::uint_vector_t, 993
mha_rt_fifo_element_t, 543
wavwriter_t, 1187
data_is_initialized
MHAParser::base_t, 775
data_type
comm_var_t, 272
db.cpp, 1202
db2lin
Vector and matrix processing toolbox, 45
db_if_t, 276
db_if_t, 277
algo, 278
bypass, 278
chain, 278
db_if_t, 277
fragsize, 278
patchbay, 278
plugloader, 278
prepare, 277
process, 277
release, 277
db_t, 279
db_t, 279
inner_process, 279
plugloader, 280
dbspl2pa
Vector and matrix processing toolbox, 46
DC
dc_simple, 92
dc, 91
get_audiochannels, 91
dc.cpp, 1202
DUPVEC, 1203
dc::dc_if_t, 280
algo, 282
dc_if_t, 281
patchbay, 282
prepare, 281
process, 281,282
update, 282
update_monitors, 282
wbinhib, 282
dc::dc_t, 283
attack, 285
bypass, 286
dc_t, 284
decay, 285
explicit_insert, 284
get_level_in_db, 285
get_level_in_db_adjusted, 285
get_nbands, 285
gt, 285
inhib_gain, 286
k_nyquist, 287
level_in_db, 286
level_in_db_adjusted, 286
max_level_difference, 286
naudiochannels, 286
nbands, 286
powersum, 286
process, 284
rmslevel, 285
dc::dc_vars_t, 287
band_weights, 291
bw_name, 289
bypass, 290
center_frequencies, 291
cf_name, 289
chname, 290
clientid, 290
© 2005-2018 HörTech gGmbH, Oldenburg
1358 INDEX
dc_vars_t, 288
edge_frequencies, 291
ef_name, 289
filterbank, 289
filtered_level, 291
gainrule, 290
gtdata, 288
gtmin, 288
gtstep, 289
input_level, 290
max_level_difference, 290
modified, 290
powersum, 288
preset, 290
tauattack, 289
taudecay, 289
taurmslevel, 289
use_wbinhib, 291
dc::dc_vars_validator_t, 292
dc_vars_validator_t, 292
dc::wb_inhib_cfg_t, 292
dl_diff, 293
dl_map_max, 293
dl_map_min, 293
g_scale, 294
l_min, 293
wb_inhib_cfg_t, 293
weights, 293
dc::wideband_inhib_vars_t, 294
bands, 296
channels, 296
current, 295
dl_map_max, 296
dl_map_min, 296
g_scale, 296
l_min, 296
patchbay, 296
setchannels, 295
update, 295
weights, 296
wideband_inhib_vars_t, 295
dc_afterburn.cpp, 1203
mylogf, 1203
dc_afterburn.h, 1204
dc_afterburn_rt_t
DynComp::dc_afterburn_rt_t, 340
dc_afterburn_t
DynComp::dc_afterburn_t, 343
dc_afterburn_vars_t
DynComp::dc_afterburn_vars_t, 346
dc_if_t
dc::dc_if_t, 281
dc_simple::dc_if_t, 298
dc_simple, 92
DC, 92
force_resize, 93
LEVEL, 92
not_zero, 93
test_fail, 92
dc_simple.cpp, 1204
dc_simple::dc_if_t, 297
center_frequencies, 300
clientid, 300
dc_if_t, 298
edge_frequencies, 301
filterbank, 300
gainrule, 300
has_been_modified, 299
modified, 300
mon_g, 300
mon_l, 300
patchbay, 301
prepare, 298
prepared, 301
preset, 300
process, 298,299
read_modified, 299
release, 298
update_dc, 299
update_gain_mon, 299
update_level, 299
update_level_mon, 299
dc_simple::dc_t, 301
compression, 303
dc_t, 302
expansion, 303
expansion_threshold, 303
limiter, 303
limiter_threshold, 303
maxgain, 303
mon_g, 304
mon_l, 304
nbands, 304
process, 302,303
dc_simple::dc_t::line_t, 304
line_t, 304,305
m, 305
operator(), 305
y0, 305
dc_simple::dc_vars_t, 306
bypass, 308
dc_vars_t, 306
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1359
expansion_slope, 307
expansion_threshold, 307
g50, 307
g80, 307
limiter_threshold, 307
maxgain, 307
tauattack, 307
taudecay, 307
dc_simple::dc_vars_validator_t, 308
dc_vars_validator_t, 308
dc_simple::level_smoother_t, 309
attack, 310
decay, 310
fftlen, 311
level_smoother_t, 310
level_spec, 311
level_wave, 311
nbands, 310
process, 310
dc_t
dc::dc_t, 284
dc_simple::dc_t, 302
dc_vars_t
dc::dc_vars_t, 288
dc_simple::dc_vars_t, 306
dc_vars_validator_t
dc::dc_vars_validator_t, 292
dc_simple::dc_vars_validator_t, 308
deallocate_domains
MHAPlugin_Split::domain_handler_t, 896
debug
io_tcp_parser_t, 438
debug_file
io_tcp_parser_t, 440
debug_filename
io_tcp_parser_t, 440
decay
cfg_t, 256
dc::dc_t, 285
dc_simple::level_smoother_t, 310
softclip_t, 1133
softclipper_t, 1135
decomb_coeffs
adm_rtconfig_t, 212
decomb_order
adm_if_t, 207
decrease_condition
mha_fifo_posix_threads_t, 530
decrement
mha_fifo_posix_threads_t, 530
mha_fifo_thread_platform_t, 540
default_thread_platform_string
split.cpp, 1331
default_thread_platform_type
split.cpp, 1331
defaultHighInputLatency
MHAIOPortAudio::device_info_t, 695
defaultHighOutputLatency
MHAIOPortAudio::device_info_t, 695
defaultLowInputLatency
MHAIOPortAudio::device_info_t, 695
defaultLowOutputLatency
MHAIOPortAudio::device_info_t, 695
defaultSampleRate
MHAIOPortAudio::device_info_t, 696
Delay
ADM::Delay, 199
delay, 93
coherence::vars_t, 266
delaysum::delaysum_if_t, 316
MHAFilter::gamma_flt_t, 642
MHAFilter::partitioned_convolution_t-
::index_t, 668
MHAPlugin_Split::split_t, 913
MHASignal::delay_spec_t, 931
MHASignal::delay_wave_t, 936
mha_dblbuf_t, 510
delay.cpp, 1205
delay::interface_t, 311
delays, 313
interface_t, 312
patchbay, 313
prepare, 312
process, 312
update, 313
delay_ac
ac2wave_if_t, 147
ac2wave_t, 150
delay_d
prediction_error, 1090
delay_in
ac2wave_if_t, 147
ac2wave_t, 150
delay_spec_t
MHASignal::delay_spec_t, 931
delay_t
MHASignal::delay_t, 933
delay_w
prediction_error, 1090
delay_wave_t
MHASignal::delay_wave_t, 935
delays
© 2005-2018 HörTech gGmbH, Oldenburg
1360 INDEX
delay::interface_t, 313
MHASignal::delay_t, 934
delays_in
MHAIOJack::io_jack_t, 691
delays_out
MHAIOJack::io_jack_t, 691
delaysum, 93
delaysum.cpp, 1205
delaysum::delaysum_if_t, 313
delay, 316
delaysum_if_t, 315
patchbay, 316
prepare, 315
process, 315
release, 315
update_cfg, 316
weights, 316
delaysum::delaysum_t, 317
delaysum_t, 317
out, 318
process, 318
weights, 318
delaysum_if_t
delaysum::delaysum_if_t, 315
delaysum_t
delaysum::delaysum_t, 317
delete_plug
altplugs_t, 223
delta_pitch
timo_params, 1158
timoSmooth, 1171
descriptor
mha_audio_t, 501
desired_fill_count
mha_drifter_fifo_t, 519
device_index
MHAIOPortAudio::io_portaudio_t, 701
device_index_updated
MHAIOPortAudio::io_portaudio_t, 698
device_info
MHAIOPortAudio::io_portaudio_t, 699
device_info_t
MHAIOPortAudio::device_info_t, 694
device_name
MHAIOPortAudio::io_portaudio_t, 701
device_name_updated
MHAIOPortAudio::io_portaudio_t, 698
df
frequency_translator_t, 386
diff_coeffs
mha_filter.cpp, 1242
diff_t
MHAFilter::diff_t, 621
digits
mha_error_helpers, 98
dimension
MHASignal::matrix_t, 960
dimensions
acmon::acmon_t, 162
dimstr
acmon::ac_monitor_t, 158
dir
mha_channel_info_t, 502
dir_t
MHAJack::port_t, 720
dir_type
MHAJack::port_t, 723
discard
MHASignal::ringbuffer_t, 973
disconnect
MHAEvents::emitter_t, 604
dispmode
acmon::acmon_t, 162
distance
mha_direction_t, 513
distances
adm_if_t, 207
dl_diff
dc::wb_inhib_cfg_t, 293
dl_map_max
dc::wb_inhib_cfg_t, 293
dc::wideband_inhib_vars_t, 296
dl_map_min
dc::wb_inhib_cfg_t, 293
dc::wideband_inhib_vars_t, 296
dm
lpc_burglattice_config, 469
do_clipping
calibrator_variables_t, 253
doagcc
doasvm_feature_extraction_config, 329
doasvm
doasvm_classification_config, 324
doasvm_classification, 319
doasvm_classification, 320
angles, 321
b, 322
doasvm_classification, 320
max_p_ind_name, 322
p_name, 322
patchbay, 322
prepare, 321
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1361
process, 320
release, 321
update_cfg, 321
vGCC_name, 322
w, 322
x, 322
y, 322
doasvm_classification.cpp, 1205
INSERT_PATCH, 1205
PATCH_VAR, 1205
doasvm_classification.h, 1206
doasvm_classification_config, 323
doasvm_classification_config, 323
ac, 324
c, 324
doasvm, 324
doasvm_classification_config, 323
p, 324
p_max, 324
process, 324
doasvm_feature_extraction, 325
doasvm_feature_extraction, 326
doasvm_feature_extraction, 326
fftlen, 327
max_lag, 327
nupsample, 327
patchbay, 328
prepare, 326
process, 326
release, 327
update_cfg, 327
vGCC_name, 327
doasvm_feature_extraction.cpp, 1206
INSERT_PATCH, 1206
PATCH_VAR, 1206
doasvm_feature_extraction.h, 1206
doasvm_feature_extraction_config, 328
doasvm_feature_extraction_config, 329
doagcc, 329
doasvm_feature_extraction_config, 329
fft, 330
fftlen, 329
G, 331
G_length, 330
GCC_end, 330
GCC_start, 330
hifftwin, 331
hifftwin_sum, 330
hwin, 331
ifft, 330
in_spec, 331
proc_wave, 330
process, 329
vGCC_ac, 330
vGCC, 331
wndlen, 329
doc_appendix.h, 1207
doc_examples.h, 1207
doc_frameworks.h, 1207
doc_general.h, 1207
doc_kernel.h, 1207
doc_matlab.h, 1207
doc_mhamain.h, 1207
doc_parser.h, 1207
doc_plugif.cpp, 1207
doc_plugins.h, 1207
doc_system.h, 1207
doc_toolbox.h, 1207
documentation
plugindescription_t, 1069
domain
MHAParser::mhaconfig_mon_t, 825
MHAPlugin_Split::splitted_part_t, 919
mhaconfig_t, 596
domain_handler_t
MHAPlugin_Split::domain_handler_t, 895
double_t
MHA_AC::double_t, 488
doublebuffer_t
MHASignal::doublebuffer_t, 937
downsample.cpp, 1207
downsampling_factor
MHAFilter::polyphase_resampling_t, 672
downscale
MHASignal::quantizer_t, 970
dphi
hilbert_shifter_t, 407
drain
DynComp::dc_afterburn_vars_t, 346
drain_inv
DynComp::dc_afterburn_rt_t, 341
dropouts
droptect_t, 334
droptect.cpp, 1207
droptect_t, 332
blocks, 334
consecutive_dropouts, 334
current_powspec, 334
dropouts, 334
droptect_t, 333
filter_activated, 335
filtered_powspec, 335
© 2005-2018 HörTech gGmbH, Oldenburg
1362 INDEX
filtered_powspec_mon, 335
level_mon, 335
period, 335
prepare, 333
process, 334
release, 333
reset, 334
tau, 335
threshold, 334
ds_t, 336
antialias, 337
ds_t, 336
prepare, 337
process, 337
ratio, 337
release, 337
dt
mha_audio_descriptor_t, 499
dtime
MHA_TCP, 101
dummy_interface_test
MHAIOFile.cpp, 1288,1290
MHAIOJack.cpp, 1293,1295
MHAIOParser.cpp, 1297,1299
MHAIOPortAudio.cpp, 1302,1304
MHAIOTCP.cpp, 1308,1310
dummy_jack_proc_cb
mhajack.cpp, 1311
dummy_threads_t
MHAPlugin_Split::dummy_threads_t, 901
dump_mha
fw_t, 395
dup
MHAFilter::thirdoctave_analyzer_t, 681
dupvec
Vector and matrix processing toolbox, 49
dupvec_chk
Vector and matrix processing toolbox, 49
DynComp, 94
interp1, 94
interp2, 95
DynComp::dc_afterburn_rt_t, 340
burn, 340
conflux, 341
dc_afterburn_rt_t, 340
drain_inv, 341
lp, 341
maxgain, 341
mpo_inv, 341
DynComp::dc_afterburn_t, 342
_cf, 344
_channels, 344
_srate, 344
burn, 343
commit_pending, 344
dc_afterburn_t, 343
fb_pars_configured, 344
patchbay, 344
set_fb_pars, 343
unset_fb_pars, 343
update, 344
update_burner, 343
DynComp::dc_afterburn_vars_t, 345
bypass, 347
commit, 347
conflux, 346
dc_afterburn_vars_t, 346
drain, 346
f, 346
maxgain, 346
mpo, 346
taugain, 347
DynComp::gaintable_t, 347
gaintable_t, 348
data, 351
gaintable_t, 348
get_gain, 349,350
get_iofun, 350
get_vF, 350
get_vL, 350
nbands, 350
nchannels, 350
num_channels, 351
num_F, 351
num_L, 351
update, 349
vFlog, 351
vF, 351
vL, 351
dynamiclib_t, 338
dynamiclib_t, 338
dynamiclib_t, 338
fullname, 339
getmodulename, 339
getname, 339
h, 339
modulename, 339
resolve, 338
resolve_checked, 339
EPSILON
lpc_bl_predictor.h, 1217
lpc_burg-lattice.h, 1218
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1363
timoconfig.cpp, 1333
EPrew
prediction_error_config, 1096
ERR_IHANDLE
MHAIOFile.cpp, 1287
MHAIOJack.cpp, 1292
MHAIOParser.cpp, 1296
MHAIOPortAudio.cpp, 1301
MHAIOTCP.cpp, 1306
ERR_SUCCESS
MHAIOFile.cpp, 1287
MHAIOJack.cpp, 1291
MHAIOParser.cpp, 1296
MHAIOPortAudio.cpp, 1301
MHAIOTCP.cpp, 1306
ERR_USER
MHAIOFile.cpp, 1287
MHAIOJack.cpp, 1292
MHAIOParser.cpp, 1296
MHAIOPortAudio.cpp, 1301
MHAIOTCP.cpp, 1306
ESTIM_CUR
nlms_wave.cpp, 1319
ESTIM_PREV
nlms_wave.cpp, 1319
ESTIMATION_TYPES
nlms_wave.cpp, 1319
ear_t
AuditoryProfile::parser_t::ear_t, 237
edge_frequencies
dc::dc_vars_t, 291
dc_simple::dc_if_t, 301
ef
MHAOvlFilter::fftfb_vars_t, 748
ef2bands
MHAOvlFilter::fspacing_t, 755
ef_h
MHAOvlFilter::band_descriptor_t, 736
ef_l
MHAOvlFilter::band_descriptor_t, 736
ef_name
dc::dc_vars_t, 289
efv
MHAOvlFilter::fftfb_ac_info_t, 740
multibandcompressor::fftfb_plug_t, 1034
element_gain_name
combc_if_t, 269
element_gain_name_
combc_t, 271
elevation
mha_direction_t, 512
emit_event
MHAEvents::connector_base_t, 598,599
MHAEvents::connector_t, 601,602
emitter
MHAEvents::connector_t, 602
emitter_die
MHAEvents::connector_base_t, 599
emitter_is_alive
MHAEvents::connector_base_t, 599
empty_string
MHAParser::keyword_list_t, 809
end_time
MHA_TCP::Timeout_Event, 577
entries
MHAParser::keyword_list_t, 809
MHAParser::parser_t, 839
entry
MHAParser::entry_t, 793
entry_map_t
MHAParser, 121
entry_t
MHAParser::entry_t, 793
envelope_delay
MHAFilter::gamma_flt_t, 642
envreplace
MHAParser, 124
eof
MHA_TCP::Connection, 557
epsilon
smoothgains_bridge::overlapadd_if_-
t, 1128
equal_dim
Vector and matrix processing toolbox, 49,
50
equidist2bands
MHAOvlFilter::fspacing_t, 755
erb_hz_f_hz
speechnoise.cpp, 1327
err_in
MHAFilter::adapt_filter_param_t, 608
MHAFilter::adapt_filter_t, 613
error
MHA_TCP::Thread, 575
mha_fifo_lw_t, 527
Error handling in the openMHA, 32
MHA_ErrorMsg, 32
MHA_assert, 34
MHA_assert_equal, 34
mha_debug, 34
errorlog
fw_t, 394
© 2005-2018 HörTech gGmbH, Oldenburg
1364 INDEX
estimateDebug
noisePowProposedScale::noisePow-
Proposed, 1052
estimtype
nlms_t, 1043
event_add_plug
altplugs_t, 222
event_delete_plug
altplugs_t, 222
event_select_plug
altplugs_t, 222
event_set_plugs
altplugs_t, 222
event_start_recording
acsave::acsave_t, 174
event_stop_and_flush
acsave::acsave_t, 175
eventhandler
MHAEvents::connector_t, 602
eventhandler_s
MHAEvents::connector_t, 602
eventhandler_suu
MHAEvents::connector_t, 603
Events
MHA_TCP::Event_Watcher, 562
events
MHA_TCP::Event_Watcher, 563
example1.cpp, 1208
example1_t, 352
example1_t, 353
prepare, 353
process, 354
release, 353
example2.cpp, 1208
example2_t, 354
example2_t, 356
factor, 357
prepare, 356
process, 357
release, 357
scale_ch, 357
example3.cpp, 1208
example3_t, 358
example3_t, 359
factor, 361
on_prereadaccess, 360
on_scale_ch_readaccess, 360
on_scale_ch_valuechanged, 360
on_scale_ch_writeaccess, 360
patchbay, 362
prepare, 360
prepared, 361
process, 361
release, 360
scale_ch, 361
example4.cpp, 1208
example4_t, 362
example4_t, 363
factor, 365
on_prereadaccess, 364
on_scale_ch_readaccess, 364
on_scale_ch_valuechanged, 364
on_scale_ch_writeaccess, 364
patchbay, 366
prepare, 364
prepared, 366
process, 365
release, 365
scale_ch, 365
example5.cpp, 1208
__declspec, 1209
example5_t, 366
channel, 367
example5_t, 366
process, 367
scale, 367
example6.cpp, 1209
__declspec, 1209
example6_t, 368
channel_no, 369
example6_t, 369
patchbay, 370
prepare, 369
process, 369
rmsdb, 370
update_cfg, 369
exec_fw_command
fw_t, 392
exit_on_stop
fw_t, 394
exit_request
fw_t, 390
expansion
dc_simple::dc_t, 303
expansion_slope
dc_simple::dc_vars_t, 307
expansion_threshold
dc_simple::dc_t, 303
dc_simple::dc_vars_t, 307
expflt
MHAOvlFilter::ShapeFun, 118
expi
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1365
Complex arithmetics in the openMHA, 71,
74
explicit_insert
dc::dc_t, 284
export_to
MHASignal::spectrum_t, 983
MHASignal::waveform_t, 1003
expression_t, 370
MHAParser::expression_t, 794
extern_connector
MHAParser::commit_t, 788
F
prediction_error_config, 1093
rt_nlms_t, 1108
f
AuditoryProfile::parser_t::fmap_t, 240
DynComp::dc_afterburn_vars_t, 346
io_tcp_sound_t::float_union, 446
MHAOvlFilter::fftfb_vars_t, 747
MHAOvlFilter::fscale_t, 752
f0_high
timo_params, 1158
timoSmooth, 1170
f0_low
timo_params, 1158
timoSmooth, 1170
F_Uflt
prediction_error_config, 1095
f_est
lpc_bl_predictor_config, 462
f_hz
MHAOvlFilter::fscale_t, 752
FMTsz
mha_os.h, 1250
factor
cpuload_t, 275
example2_t, 357
example3_t, 361
example4_t, 365
plugin_interface_t, 1066
fader_if_t, 371
actgains, 373
fader_if_t, 372
newgains, 373
patchbay, 372
prepare, 372
process, 372
tau, 373
update_cfg, 372
fader_spec.cpp, 1209
fader_wave, 95
level_adaptor, 96
fader_wave.cpp, 1209
DEBUG, 1210
fader_wave::fader_wave_if_t, 373
fader_wave_if_t, 374
gain, 375
patchbay, 375
prepare, 374
prepared, 375
process, 374
ramplen, 375
release, 375
set_level, 375
fader_wave::level_adapt_t, 376
can_update, 377
get_level, 377
ilen, 377
l_new, 378
l_old, 378
level_adapt_t, 377
pos, 377
update_frame, 377
wnd, 378
fader_wave_if_t
fader_wave::fader_wave_if_t, 374
fail_on_async_jackerror
MHAJack::client_t, 719
fail_on_nonmonotonic
MHAOvlFilter::fftfb_vars_t, 747
fail_on_nonmonotonic_cf
MHAOvlFilter::fspacing_t, 754
fail_on_unique_bins
MHAOvlFilter::fftfb_vars_t, 747
fail_on_unique_fftbins
MHAOvlFilter::fspacing_t, 754
fallback_spec
altplugs_t, 225
fallback_wave
altplugs_t, 224
Fast Fourier Transform functions, 80
mha_fft_backward, 85
mha_fft_backward_scale, 86
mha_fft_forward, 85
mha_fft_forward_scale, 86
mha_fft_free, 81
mha_fft_new, 81
mha_fft_spec2wave, 83,84
mha_fft_spec2wave_scale, 87
mha_fft_t, 81
mha_fft_wave2spec, 82
mha_fft_wave2spec_scale, 86
© 2005-2018 HörTech gGmbH, Oldenburg
1366 INDEX
fatallog
fw_t, 395
fb
MHAFilter::thirdoctave_analyzer_t, 681
fb_acinfo
fftfilterbank::fftfb_plug_t, 383
fb_pars_configured
DynComp::dc_afterburn_t, 344
fd
MHA_TCP::Connection, 560
MHA_TCP::OS_EVENT_TYPE, 564
fft
doasvm_feature_extraction_config, 330
MHAFilter::fftfilter_t, 627
MHAFilter::fftfilterbank_t, 632
MHAFilter::partitioned_convolution_t, 666
MHAFilter::smoothspec_t, 679
overlapadd::overlapadd_t, 1059
fft_t
MHASignal::fft_t, 941
fftfb_ac_info_t
MHAOvlFilter::fftfb_ac_info_t, 739
fftfb_interface_t
fftfilterbank::fftfb_interface_t, 379
fftfb_plug_t
fftfilterbank::fftfb_plug_t, 383
multibandcompressor::fftfb_plug_t, 1034
fftfb_t
MHAOvlFilter::fftfb_t, 742
fftfb_vars_t
MHAOvlFilter::fftfb_vars_t, 746
fftfilter_t
MHAFilter::fftfilter_t, 623
fftfilterbank, 96
fftfilterbank.cpp, 1210
fftfilterbank::fftfb_interface_t, 378
algo, 381
fftfb_interface_t, 379
nbands, 381
nchannels, 381
patchbay, 381
prepare, 379
prepared, 381
process, 380
release, 380
return_imag, 381
update_cfg, 380
fftfilterbank::fftfb_plug_t, 382
fb_acinfo, 383
fftfb_plug_t, 383
imag, 384
insert, 383
process, 383
return_imag_, 384
s_out, 384
fftfilterbank_t
MHAFilter::fftfilterbank_t, 628
fftlen
dc_simple::level_smoother_t, 311
doasvm_feature_extraction, 327
doasvm_feature_extraction_config, 329
MHAFilter::fftfilter_t, 626
MHAFilter::fftfilterbank_t, 631
MHAFilter::smoothspec_t, 678
MHAOvlFilter::fftfb_t, 744
MHAOvlFilter::overlap_save_filterbank_-
t::vars_t, 760
MHAParser::mhaconfig_mon_t, 825
mhaconfig_t, 596
rmslevel_t, 1100
timoConfig, 1162
fftw_plan_fft
MHASignal::fft_t, 944
fftw_plan_ifft
MHASignal::fft_t, 945
fftw_plan_spec2wave
MHASignal::fft_t, 944
fftw_plan_wave2spec
MHASignal::fft_t, 944
fhz2bandno
speechnoise.cpp, 1327
fifo
wavwriter_t, 1187
fifo_size
mha_dblbuf_t, 510
fifolen
analysispath_if_t, 233
wavrec_t, 1184
fileformat
acsave::acsave_t, 175
filename_input
io_file_t, 416
filename_output
io_file_t, 416
fill_info
MHAIOPortAudio::device_info_t, 694
filled
MHASignal::async_rmslevel_t, 930
filter
MHAFilter::adapt_filter_state_t, 609
MHAFilter::adapt_filter_t, 612
MHAFilter::complex_bandpass_t, 619,
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1367
620
MHAFilter::fftfilter_t, 624,625
MHAFilter::fftfilterbank_t, 629,630
MHAFilter::filter_t, 635,636
MHAFilter::iir_filter_t, 646
filter_activated
droptect_t, 335
filter_analytic
MHAOvlFilter::overlap_save_filterbank_-
analytic_t, 757
filter_partitions
MHAFilter::partitioned_convolution_t, 664
filter_t
MHAFilter::filter_t, 634,635
filterbank
dc::dc_vars_t, 289
dc_simple::dc_if_t, 300
filtered_level
dc::dc_vars_t, 291
filtered_powspec
droptect_t, 335
filtered_powspec_mon
droptect_t, 335
filtershapefun
mha_fftfb.cpp, 1240
fir
calibrator_runtime_layer_t, 247
calibrator_variables_t, 252
firchannels
MHAFilter::fftfilterbank_t, 631
firfir2fftlen
calibrator_runtime_layer_t, 246
firfirlen
calibrator_runtime_layer_t, 246
flag_terminate_inner_thread
analysepath_t, 229
flags
MHAJack::client_t, 719
float_mon_t
MHAParser::float_mon_t, 796
float_t
MHA_AC::float_t, 489
MHAParser::float_t, 799
flush_data
acsave::cfg_t, 177
fmap_t
AuditoryProfile::parser_t::fmap_t, 239
fmax
frequency_translator_t, 386
fmin
frequency_translator_t, 386
fname
acsave::acsave_t, 175
for_each
Vector and matrix processing toolbox, 44
force_remove_item
MHAParser::parser_t, 836
force_resize
dc_simple, 93
forward
lpc_bl_predictor_config, 462
lpc_burglattice_config, 469
MHASignal::fft_t, 942
forward_scale
MHASignal::fft_t, 943
fr
spec_fader_t, 1144
frag_out
MHAJack::client_avg_t, 705
MHAJack::client_noncont_t, 709
fragsize
analysispath_if_t, 233
calibrator_variables_t, 253
db_if_t, 278
io_file_t, 414
io_parser_t, 426
io_tcp_sound_t, 444
MHAFilter::fftfilter_t, 625
MHAFilter::fftfilterbank_t, 631
MHAFilter::partitioned_convolution_t, 664
MHAFilter::resampling_filter_t, 675
MHAIOPortAudio::io_portaudio_t, 700
MHAJack::client_t, 717
MHAParser::mhaconfig_mon_t, 825
MHAPlugin_Resampling::resampling_if-
_t, 890
mhaconfig_t, 596
fragsize_in
MHAFilter::blockprocessing_polyphase-
_resampling_t, 616
fragsize_out
MHAFilter::blockprocessing_polyphase-
_resampling_t, 616
fragsize_validator
MHAFilter::resampling_filter_t, 675
frame
MHA_AC::acspace2matrix_t, 486
framecnt
acsave::save_var_t, 182
frameno
MHA_AC::acspace2matrix_t, 487
noisePowProposedScale::noisePow-
© 2005-2018 HörTech gGmbH, Oldenburg
1368 INDEX
Proposed, 1053
frames
ac2wave_t, 149
prediction_error_config, 1093
rt_nlms_t, 1108
frameshift
hilbert_shifter_t, 407
framework_thread_priority
MHAPlugin_Split::split_t, 912
framework_thread_scheduler
MHAPlugin_Split::split_t, 912
freq2bin
Vector and matrix processing toolbox, 47
frequency
sine_t, 1125
frequency_response
MHAFilter::partitioned_convolution_t, 665
frequency_translator_t, 384
df, 386
fmax, 386
fmin, 386
frequency_translator_t, 385
irslen, 387
patchbay, 386
phasemode, 387
prepare, 385
process, 385
release, 386
update, 386
front_channel
adm_rtconfig_t, 211
front_channels
adm_if_t, 207
adm_rtconfig_t, 212
frozen_noise_
cfg_t, 256
frozennoise_length
noise_t, 1046
fs
MHAFilter::o1_ar_filter_t, 655
fs_
MHAOvlFilter::fspacing_t, 755
fscale
MHAOvlFilter::fftfb_vars_t, 746
fscale_bw_t
MHAOvlFilter::fscale_bw_t, 749
fscale_t
MHAOvlFilter::fscale_t, 751
fshift_hilbert.cpp, 1210
fspacing_t
MHAOvlFilter::fspacing_t, 753
ft
spec2wave_t, 1142
wave2spec_t, 1180
ftype
MHAOvlFilter::fftfb_vars_t, 747
fu
rt_nlms_t, 1109
fu_previous
rt_nlms_t, 1109
fuflt
rt_nlms_t, 1109
fullname
dynamiclib_t, 339
MHAParser::base_t, 773
plugindescription_t, 1069
fullspec
hilbert_shifter_t, 406
fun_t
MHAWindow::fun_t, 1026
funs
MHAOvlFilter::scale_var_t, 763
fw_cmd
fw_t, 394
fw_fragsize
MHAIOJack::io_jack_t, 690
fw_samplerate
MHAIOJack::io_jack_t, 690
fw_sleep
fw_t, 394
fw_sleep_cmd
fw_t, 392
fw_t, 387
fw_t, 390
ac, 395
async_poll_msg, 393
async_read, 393
b_exit_request, 396
cfin, 396
cfout, 396
dump_mha, 395
errorlog, 394
exec_fw_command, 392
exit_on_stop, 394
exit_request, 390
fatallog, 395
fw_cmd, 394
fw_sleep, 394
fw_sleep_cmd, 392
fw_t, 390
fw_until, 394
fw_until_cmd, 393
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1369
get_input_signal_dimension, 393
get_parserstate, 393
inst_name, 395
io_error, 396
io_lib, 396
io_name, 394
load_io_lib, 392
load_proc_lib, 392
nchannels_out, 393
parserstate, 394
patchbay, 397
plugin_paths, 395
plugins, 395
prepare, 390
prepare_vars, 393
proc_error, 396
proc_error_string, 396
proc_lib, 395
proc_name, 394
process, 391,392
quit, 391
release, 391
start, 390
started, 391,392
state, 396
state_t, 389
stop, 391
stopped, 391,392
fw_until
fw_t, 394
fw_until_cmd
fw_t, 393
fw_vars_t, 397
fw_vars_t, 397
lock_channels, 398
lock_srate_fragsize, 397
pfragmentsize, 398
pinchannels, 398
psrate, 398
unlock_channels, 398
unlock_srate_fragsize, 398
fwcb
io_tcp_t, 450
G
doasvm_feature_extraction_config, 331
g
coherence::cohflt_t, 262
g50
dc_simple::dc_vars_t, 307
g80
dc_simple::dc_vars_t, 307
G_ERRNO
MHA_TCP, 101
G_length
doasvm_feature_extraction_config, 330
g_scale
dc::wb_inhib_cfg_t, 294
dc::wideband_inhib_vars_t, 296
GCC_end
doasvm_feature_extraction_config, 330
GCC_start
doasvm_feature_extraction_config, 330
GITCOMMITHASH
mha_plugin.hh, 1260
GLRDebug
noisePowProposedScale::noisePow-
Proposed, 1051
GLRexp
noisePowProposedScale::noisePow-
Proposed, 1052
timoConfig, 1167
GLR
timoConfig, 1167
GREETING_TEXT
mhamain.cpp, 1315
gain, 96
calibrator_runtime_layer_t, 247
coherence::cohflt_t, 263
fader_wave::fader_wave_if_t, 375
multibandcompressor::plugin_signals_t,
1039
gain.cpp, 1211
gain::gain_if_t, 399
bbgain, 401
gain_if_t, 400
gains, 401
patchbay, 401
prepare, 400
process, 400
release, 400
update_bbgain, 401
update_gain, 400
update_minmax, 401
vmax, 401
vmin, 401
gain::scaler_t, 402
scaler_t, 402
gain_ac
ac2wave_if_t, 147
ac2wave_t, 150
gain_delay
coherence::cohflt_t, 263
© 2005-2018 HörTech gGmbH, Oldenburg
1370 INDEX
gain_if_t
gain::gain_if_t, 400
gain_in
ac2wave_if_t, 147
ac2wave_t, 150
gain_min
timoConfig, 1163
gain_min_db
timo_params, 1159
timoSmooth, 1171
gain_spec_
cfg_t, 256
gain_wave_
cfg_t, 256
gain_wiener
timoConfig, 1165
gain_wiener_AC
timo_AC, 1156
gainrule
dc::dc_vars_t, 290
dc_simple::dc_if_t, 300
gains
gain::gain_if_t, 401
prediction_error, 1089
shadowfilter_end::cfg_t, 1120
spec_fader_t, 1144
gaintable.cpp, 1211
convert_f2logf, 1211
isempty, 1211
gaintable.h, 1211
gaintable_t
DynComp::gaintable_t, 348
gamma_flt_t
MHAFilter::gamma_flt_t, 639
gamma_post
timoConfig, 1164
gamma_post_AC
timo_AC, 1154
gauss
MHAOvlFilter::ShapeFun, 118
gcd
MHAFilter, 106
generatemhaplugindoc.cpp, 1212
conv2latex, 1212
create_latex_doc, 1212
main, 1213
get_A
MHAFilter::gamma_flt_t, 641
get_a
MHAParser::base_t::replace_t, 777
get_ac
latex_doc_t, 452
plug_t, 1063
get_accept_event
MHA_TCP::Server, 567
get_all_input_ports
MHAIOJack::io_jack_t, 689
get_all_output_ports
MHAIOJack::io_jack_t, 689
get_audiochannels
dc, 91
get_available_space
mha_drifter_fifo_t, 517
mha_fifo_t, 534
get_b
MHAParser::base_t::replace_t, 777
get_bw_hz
MHAOvlFilter::fscale_bw_t, 749
get_c1
MHAFilter::o1flt_lowpass_t, 657
get_c_handle
MHAKernel::algo_comm_class_t, 725
get_categories
latex_doc_t, 452
PluginLoader::mhapluginloader_t, 1081
get_cdata
MHASignal::matrix_t, 966
get_cf_fftbin
MHAOvlFilter::fspacing_t, 754
get_cf_hz
MHAFilter::thirdoctave_analyzer_t, 680
MHAOvlFilter::fspacing_t, 754
get_cfin
MHAParser::mhapluginloader_t, 828
get_cfout
MHAParser::mhapluginloader_t, 829
get_channelconfig
MHAOvlFilter::overlap_save_filterbank_t,
759
get_comm_var
MHASignal::matrix_t, 960
get_configfile
PluginLoader::config_file_splitter_t, 1072
get_configname
PluginLoader::config_file_splitter_t, 1072
get_connected
io_tcp_parser_t, 437
get_cpu_load
MHAJack::client_t, 715
get_current_profile
AuditoryProfile::parser_t, 236
get_delay
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1371
mha_dblbuf_t, 507
get_delays_in
MHAIOJack::io_jack_t, 689
get_delays_out
MHAIOJack::io_jack_t, 689
get_des_fill_count
mha_drifter_fifo_t, 517
get_documentation
PluginLoader::mhapluginloader_t, 1081
get_ear
AuditoryProfile::parser_t::ear_t, 237
AuditoryProfile::profile_t, 241
get_ef_hz
MHAOvlFilter::fspacing_t, 754
get_entries
algo_comm_t, 218
MHAKernel::algo_comm_class_t, 727
MHAParser::keyword_list_t, 808
get_error
algo_comm_t, 218
MHAKernel::algo_comm_class_t, 727
get_f_hz
MHAOvlFilter::fscale_t, 751
get_fbpower
MHAOvlFilter::fftfb_t, 742
get_fbpower_db
MHAOvlFilter::fftfb_t, 742
get_fd
MHA_TCP::Connection, 556
get_fftlen
MHAOvlFilter::fftfb_t, 743
get_fifo_size
mha_dblbuf_t, 507
get_fill_count
mha_drifter_fifo_t, 517
mha_fifo_t, 534
get_fmap
AuditoryProfile::parser_t::fmap_t, 239
get_fragsize
MHAJack::client_t, 713
get_frequencies
AuditoryProfile::fmap_t, 234
get_fun
MHAOvlFilter::scale_var_t, 762
get_gain
DynComp::gaintable_t, 349,350
get_handle
plug_t, 1063
get_index
MHAParser::keyword_list_t, 808
MHASignal::matrix_t, 965
get_inner_error
mha_dblbuf_t, 508
get_inner_size
mha_dblbuf_t, 506
get_input_channels
mha_dblbuf_t, 507
get_input_fifo_fill_count
mha_dblbuf_t, 507
get_input_fifo_space
mha_dblbuf_t, 508
get_input_signal_dimension
fw_t, 393
get_interface
MHA_TCP::Server, 566
get_iofun
DynComp::gaintable_t, 350
get_irs
MHAFilter::fftfilterbank_t, 630
get_last_name
MHAParser::mhapluginloader_t, 829
get_last_output
MHAFilter::o1flt_lowpass_t, 657
get_latex_doc
latex_doc_t, 451
get_len_A
MHAFilter::filter_t, 636
get_len_B
MHAFilter::filter_t, 636
get_length
MHASignal::uint_vector_t, 992
get_level
fader_wave::level_adapt_t, 377
get_level_in_db
dc::dc_t, 285
get_level_in_db_adjusted
dc::dc_t, 285
get_libname
PluginLoader::config_file_splitter_t, 1072
get_local_address
io_tcp_parser_t, 435
get_local_port
io_tcp_parser_t, 435
get_longmsg
MHA_Error, 523
get_ltass_gain_db
MHAOvlFilter::fftfb_t, 743
get_main_category
latex_doc_t, 451
get_mapping
MHASignal::loop_wavefragment_t, 952
get_max_fill_count
© 2005-2018 HörTech gGmbH, Oldenburg
1372 INDEX
mha_fifo_t, 535
get_min_fill_count
mha_drifter_fifo_t, 518
get_msg
MHA_Error, 523
get_my_input_ports
MHAJack::client_t, 714
get_my_output_ports
MHAJack::client_t, 714
get_name
MHAOvlFilter::scale_var_t, 762
get_nbands
dc::dc_t, 285
get_nelements
MHASignal::matrix_t, 960
get_nreals
MHASignal::matrix_t, 965
get_origname
PluginLoader::config_file_splitter_t, 1072
get_os_event
MHA_TCP::Timeout_Event, 577
MHA_TCP::Wakeup_Event, 581
get_outer_size
mha_dblbuf_t, 506
get_output_channels
mha_dblbuf_t, 507
get_output_fifo_fill_count
mha_dblbuf_t, 507
get_output_fifo_space
mha_dblbuf_t, 508
get_parser_tab
latex_doc_t, 452
get_parser_var
latex_doc_t, 452
get_parserstate
fw_t, 393
get_paths
pluginbrowser_t, 1067
get_peer_address
MHA_TCP::Connection, 556
get_peer_port
MHA_TCP::Connection, 556
get_physical_input_ports
MHAIOJack::io_jack_t, 689
get_physical_output_ports
MHAIOJack::io_jack_t, 689
get_plugins
pluginbrowser_t, 1068
get_port
MHA_TCP::Server, 566
get_port_capture_latency
MHAJack, 109
get_port_capture_latency_int
MHAJack, 109
get_port_playback_latency
MHAJack, 110
get_port_playback_latency_int
MHAJack, 110
get_ports
MHAJack::client_t, 714
get_precision
MHAParser, 122
get_process_spec
plug_t, 1063
get_process_wave
plug_t, 1063
get_rdata
MHASignal::matrix_t, 965
get_read_event
MHA_TCP::Connection, 556
get_resynthesis_gain
MHAFilter::gamma_flt_t, 641
get_server_port_open
io_tcp_parser_t, 436
get_short_name
MHAJack::port_t, 723
get_signal
MHAPlugin_Split::domain_handler_t, 898
get_size
MHASignal::waveform_t, 1006
get_srate
MHAJack::client_t, 713
get_type
MHAParser::window_t, 874
get_value
MHAParser::keyword_list_t, 808
get_values
AuditoryProfile::fmap_t, 234
get_var
algo_comm_t, 216
MHAKernel::algo_comm_class_t, 726
get_var_float
algo_comm_t, 217
Communication between algorithms, 31
MHAKernel::algo_comm_class_t, 726
get_var_int
algo_comm_t, 217
Communication between algorithms, 30
MHAKernel::algo_comm_class_t, 726
get_var_spectrum
Communication between algorithms, 29
get_var_vfloat
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1373
Communication between algorithms, 31
get_var_waveform
Communication between algorithms, 30
get_vF
DynComp::gaintable_t, 350
get_vL
DynComp::gaintable_t, 350
get_weights
MHAFilter::complex_bandpass_t, 619
MHAFilter::gamma_flt_t, 641
get_window
MHAParser::window_t, 873,874
get_window_data
windowselector_t, 1189
get_write_event
MHA_TCP::Connection, 556
get_xlimits
MHATableLookup::xy_table_t, 1019
get_xruns
MHAJack::client_t, 713
get_xruns_reset
MHAJack::client_t, 714
getcipd
coherence, 91
getdata
MHASignal::uint_vector_t, 993
getfullname
PluginLoader::mhapluginloader_t, 1081
getmodulename
dynamiclib_t, 339
Getmsg
mha_error.hh, 1238
getname
dynamiclib_t, 339
MHA_AC::ac2matrix_t, 482
getusername
MHA_AC::ac2matrix_t, 482
getvar
acmon::ac_monitor_t, 157
MHA_AC::ac2matrix_helper_t, 479
GF
MHAFilter::gamma_flt_t, 642
groupdelay_t
MHASignal::schroeder_t, 976
gt
dc::dc_t, 285
gtdata
dc::dc_vars_t, 288
gtmin
dc::dc_vars_t, 288
gtstep
dc::dc_vars_t, 289
h
dynamiclib_t, 339
MHASignal::hilbert_t, 949
H_ERRNO
MHA_TCP, 100
HELP_TEXT
mhamain.cpp, 1315
HINSTANCE
mha_plugin.hh, 1260
HSTRERROR
MHA_TCP, 100
HTL
AuditoryProfile::parser_t::ear_t, 238
AuditoryProfile::profile_t::ear_t, 242
hamming
MHAWindow, 142
hamming_t
MHAWindow::hamming_t, 1027
handle
algo_comm_t, 213
hann
hann.cpp, 1213
hann.h, 1214
MHAOvlFilter::ShapeFun, 117
hann.cpp, 1213
hann, 1213
hannf, 1213
PI, 1213
hann.h, 1214
hann, 1214
hannf, 1214
hannf
hann.cpp, 1213
hann.h, 1214
hanning
MHAWindow, 142
hanning_ramps_t, 403
hanning_ramps_t, 403
hanning_ramps_t, 403
len_a, 404
len_b, 404
operator(), 403
ramp_a, 404
ramp_b, 404
hanning_t
MHAWindow::hanning_t, 1028
hardlimit
softclipper_t, 1135
softclipper_variables_t, 1137
has_been_modified
© 2005-2018 HörTech gGmbH, Oldenburg
1374 INDEX
dc_simple::dc_if_t, 299
has_inner_error
analysepath_t, 229
has_key
MHAKernel::comm_var_map_t, 729
has_parser
PluginLoader::mhapluginloader_t, 1079
has_process
PluginLoader::mhapluginloader_t, 1079
header
io_tcp_sound_t, 443
help
MHAParser::base_t, 775
hifftwin
doasvm_feature_extraction_config, 331
hifftwin_sum
doasvm_feature_extraction_config, 330
high_side_flat
MHAOvlFilter::band_descriptor_t, 737
hilbert
MHASignal::hilbert_fftw_t, 946
hilbert_fftw_t
MHASignal::hilbert_fftw_t, 945
hilbert_shifter_t, 404
hilbert_shifter_t, 405
analytic, 406
dphi, 407
frameshift, 407
fullspec, 406
hilbert_shifter_t, 405
kmax, 407
kmin, 407
mhafft, 407
mixw_ref, 406
mixw_shift, 406
phi, 407
plan_spec2analytic, 407
process, 406
shifted, 406
hilbert_t
MHASignal::hilbert_t, 948
host_port_to_sock_addr
mha_tcp.cpp, 1281
hostApi
MHAIOPortAudio::device_info_t, 695
Hs
MHAFilter::fftfilterbank_t, 631
hton
io_tcp_sound_t, 444
hw
MHAFilter::fftfilterbank_t, 631
hwin
doasvm_feature_extraction_config, 331
hz2bark
MHAOvlFilter::FreqScaleFun, 114
hz2bark_analytic
MHAOvlFilter::FreqScaleFun, 115
hz2bark_t
MHAOvlFilter::barkscale::hz2bark_t, 738
hz2erb
MHAOvlFilter::FreqScaleFun, 115
hz2erb_glasberg1990
MHAOvlFilter::FreqScaleFun, 115
hz2hz
MHAOvlFilter::FreqScaleFun, 114
speechnoise.cpp, 1327
hz2khz
MHAOvlFilter::FreqScaleFun, 114
hz2log
MHAOvlFilter::FreqScaleFun, 115
hz2octave
MHAOvlFilter::FreqScaleFun, 114
hz2third_octave
MHAOvlFilter::FreqScaleFun, 114
hz2unit
MHAOvlFilter::scale_var_t, 763
i
io_tcp_sound_t::float_union, 446
INSERT_PATCH
acConcat_wave.cpp, 1192
acPooling_wave.cpp, 1193
acSteer.cpp, 1195
acTransform_wave.cpp, 1196
doasvm_classification.cpp, 1205
doasvm_feature_extraction.cpp, 1206
lpc.cpp, 1216
lpc_bl_predictor.cpp, 1217
lpc_burg-lattice.cpp, 1218
prediction_error.cpp, 1321
steerbf.cpp, 1332
timoSmooth.cpp, 1334
INSERT_VAR
timoSmooth.cpp, 1334
INVALID_SOCKET
mha_tcp.cpp, 1280
IO_ERROR_JACK
mhajack.h, 1313
IO_ERROR_MHAJACKLIB
mhajack.h, 1314
IODestroy
MHAIOFile.cpp, 1288,1290
MHAIOJack.cpp, 1293,1294
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1375
MHAIOParser.cpp, 1297,1299
MHAIOPortAudio.cpp, 1302,1304
MHAIOTCP.cpp, 1308,1310
IODestroy_cb
io_lib_t, 422
IODestroy_t
mha_io_ifc.h, 1247
IOInit
MHAIOFile.cpp, 1287,1288
MHAIOJack.cpp, 1292,1293
MHAIOParser.cpp, 1296,1298
MHAIOPortAudio.cpp, 1301,1303
MHAIOTCP.cpp, 1307,1309
IOInit_cb
io_lib_t, 422
IOInit_t
mha_io_ifc.h, 1246
IOPrepare
MHAIOFile.cpp, 1287,1289
MHAIOJack.cpp, 1292,1293
MHAIOParser.cpp, 1297,1298
MHAIOPortAudio.cpp, 1301,1303
MHAIOTCP.cpp, 1307,1309
IOPrepare_cb
io_lib_t, 422
IOPrepare_t
mha_io_ifc.h, 1246
IOProcessEvent_t
mha_io_ifc.h, 1246
IORelease
MHAIOFile.cpp, 1288,1289
MHAIOJack.cpp, 1292,1294
MHAIOParser.cpp, 1297,1298
MHAIOPortAudio.cpp, 1302,1303
MHAIOTCP.cpp, 1308,1310
IORelease_cb
io_lib_t, 422
IORelease_t
mha_io_ifc.h, 1247
IOSetVar
MHAIOFile.cpp, 1288,1289
MHAIOJack.cpp, 1293,1294
MHAIOParser.cpp, 1297,1299
MHAIOPortAudio.cpp, 1302,1304
MHAIOTCP.cpp, 1308,1310
IOSetVar_cb
io_lib_t, 422
IOSetVar_t
mha_io_ifc.h, 1247
IOStart
MHAIOFile.cpp, 1287,1289
MHAIOJack.cpp, 1292,1294
MHAIOParser.cpp, 1297,1298
MHAIOPortAudio.cpp, 1301,1303
MHAIOTCP.cpp, 1308,1309
IOStart_cb
io_lib_t, 422
IOStart_t
mha_io_ifc.h, 1246
IOStartedEvent_t
mha_io_ifc.h, 1246
IOStop
MHAIOFile.cpp, 1288,1289
MHAIOJack.cpp, 1292,1294
MHAIOParser.cpp, 1297,1298
MHAIOPortAudio.cpp, 1302,1303
MHAIOTCP.cpp, 1308,1309
IOStop_cb
io_lib_t, 422
IOStop_t
mha_io_ifc.h, 1246
IOStoppedEvent
MHAJack::client_avg_t, 703,704
MHAJack::client_noncont_t, 707,708
IOStoppedEvent_t
mha_io_ifc.h, 1246
IOStrError
MHAIOFile.cpp, 1288,1290
MHAIOJack.cpp, 1293,1294
MHAIOParser.cpp, 1297,1299
MHAIOPortAudio.cpp, 1302,1304
MHAIOTCP.cpp, 1308,1310
IOStrError_cb
io_lib_t, 422
IOStrError_t
mha_io_ifc.h, 1247
id
mha_channel_info_t, 502
id_str
MHAParser::base_t, 775
id_string
MHAParser::parser_t, 839
identity
MHASignal::schroeder_t, 978
identity.cpp, 1214
identity_t, 408
identity_t, 408
prepare, 409
process, 409
release, 409
idstr
mha_channel_info_t, 502
© 2005-2018 HörTech gGmbH, Oldenburg
1376 INDEX
iface
MHA_TCP::Server, 568
ifft
doasvm_feature_extraction_config, 330
ifftshift
ifftshift.cpp, 1215
ifftshift.h, 1215
ifftshift.cpp, 1214
ifftshift, 1215
ifftshift.h, 1215
ifftshift, 1215
ignore
MHA_TCP::Event_Watcher, 562
ignored_by
MHA_TCP::Wakeup_Event, 580
iir_filter_state_t
MHAFilter::iir_filter_state_t, 643
iir_filter_t
MHAFilter::iir_filter_t, 645
iir_ord1_real_t
MHAFilter::iir_ord1_real_t, 648,649
iirfilter.cpp, 1215
iirfilter_t, 410
iirfilter_t, 410
prepare_, 411
process, 411
release_, 411
ilen
fader_wave::level_adapt_t, 377
im
mha_complex_t, 503
imag
acsave::mat4head_t, 179
fftfilterbank::fftfb_plug_t, 384
MHASignal::matrix_t, 961964
imagfb
MHAOvlFilter::overlap_save_filterbank_-
analytic_t, 757
impulse_response
MHAFilter::polyphase_resampling_t, 673
MHAFilter::transfer_function_t, 685
in_buf
wave2spec_t, 1181
in_cfg
timo_params, 1158
in_spec
doasvm_feature_extraction_config, 331
shadowfilter_end::cfg_t, 1120
in_spec_copy
shadowfilter_begin::cfg_t, 1115
inbuf
MHA_TCP::Connection, 560
inch
MHAJack::client_t, 718
increase_condition
mha_fifo_posix_threads_t, 530
increment
mha_fifo_posix_threads_t, 530
mha_fifo_thread_platform_t, 540
index
MHAParser::keyword_list_t, 809
index_t
MHAFilter::partitioned_convolution_t-
::index_t, 667
inhib_gain
dc::dc_t, 286
Init_mha_ruby
mha_ruby.cpp, 1265
init_peer_data
MHA_TCP::Connection, 555
initialize
MHA_TCP::Server, 566
inner2outer_resampling
MHAPlugin_Resampling::resampling_t,
893
inner_ac_copy
analysepath_t, 228
inner_error
analysepath_t, 229
mha_dblbuf_t, 511
inner_fragsize
MHAPlugin_Resampling::resampling_t,
892
inner_in
MHASignal::doublebuffer_t, 939
inner_input
analysepath_t, 228
inner_out
MHASignal::doublebuffer_t, 939
inner_out_domain
analysepath_t, 228
inner_process
db_t, 279
MHASignal::doublebuffer_t, 938
inner_process_wave2spec
analysepath_t, 227
inner_process_wave2wave
analysepath_t, 227
inner_signal
MHAPlugin_Resampling::resampling_t,
893
inner_size
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1377
mha_dblbuf_t, 510
inner_srate
MHAPlugin_Resampling::resampling_t,
892
input
io_parser_t, 427
mha_dblbuf_t, 509
input_cfg
MHAPlugin::plugin_t, 886
input_cfg_
MHAPlugin::plugin_t, 887
input_channels
adm_if_t, 208
mha_dblbuf_t, 510
input_domain
PluginLoader::mhapluginloader_t, 1080
input_fifo
mha_dblbuf_t, 511
input_level
dc::dc_vars_t, 290
input_portnames
MHAJack::client_t, 719
input_signal_spec
MHAFilter::partitioned_convolution_t, 665
input_signal_wave
MHAFilter::partitioned_convolution_t, 665
input_to_process
analysepath_t, 229
inputPow
noisePowProposedScale::noisePow-
Proposed, 1051
inputSpec
noisePowProposedScale::noisePow-
Proposed, 1052
inputchannels
MHAFilter::fftfilterbank_t, 631
insert
acPooling_wave_config, 170
acSteer_config, 187
coherence::cohflt_t, 261
fftfilterbank::fftfb_plug_t, 383
lpc_config, 472
MHA_AC::ac2matrix_t, 482
MHA_AC::acspace2matrix_t, 486
MHA_AC::spectrum_t, 493
MHA_AC::stat_t, 495
MHA_AC::waveform_t, 498
MHAOvlFilter::fftfb_ac_info_t, 740
multibandcompressor::fftfb_plug_t, 1034
noisePowProposedScale::noisePow-
Proposed, 1050
prediction_error_config, 1092
rmslevel_t, 1100
rt_nlms_t, 1108
timo_AC, 1154
insert_item
MHAParser::parser_t, 835
insert_items
windowselector_t, 1189
insert_member
mha_parser.hh, 1258
insert_var
algo_comm_t, 214
MHAKernel::algo_comm_class_t, 725
insert_var_float
algo_comm_t, 215
MHAKernel::algo_comm_class_t, 725
insert_var_int
algo_comm_t, 214
MHAKernel::algo_comm_class_t, 725
inspect
MHAFilter::complex_bandpass_t, 620
MHAFilter::gamma_flt_t, 641
MHASignal::delay_t, 934
inst_name
fw_t, 395
int_mon_t
MHAParser::int_mon_t, 801
int_t
MHA_AC::int_t, 491
MHAParser::int_t, 804
integrate
Vector and matrix processing toolbox, 51
intensity
mha_signal.cpp, 1268
interface_t
delay::interface_t, 312
multibandcompressor::interface_t, 1036
noisePowProposedScale::interface_-
t, 1048
route::interface_t, 1102
interleaved
combc_if_t, 268
interleaved_
combc_t, 270
intern_level
MHASignal::loop_wavefragment_t, 954
internal_fir
MHAFilter::smoothspec_t, 678
internal_start
MHAJack::client_t, 715
internal_stop
© 2005-2018 HörTech gGmbH, Oldenburg
1378 INDEX
MHAJack::client_t, 716
interp
MHATableLookup::linear_table_t, 1010
MHATableLookup::table_t, 1014
MHATableLookup::xy_table_t, 1017
interp1
DynComp, 94
interp2
DynComp, 95
inv_scale
MHAOvlFilter::FreqScaleFun, 116
invalidate_window_data
windowselector_t, 1190
invert
coherence::vars_t, 266
inwave
lpc_config, 473
io
MHAJack, 109
MHAJack::client_avg_t, 703
MHAJack::client_noncont_t, 707
io_err
io_tcp_fwcb_t, 432
io_error
fw_t, 396
io_file_t, 411
io_file_t, 413
b_prepared, 417
filename_input, 416
filename_output, 416
fragsize, 414
io_file_t, 413
length, 416
nchannels_file_in, 415
nchannels_in, 415
nchannels_out, 415
output_sample_format, 416
prepare, 413
proc_event, 415
proc_handle, 415
release, 414
s_file_in, 417
s_in, 417
s_out, 417
samplerate, 415
setlock, 414
sf_in, 417
sf_out, 417
sfinf_in, 417
sfinf_out, 418
start, 413
start_event, 415
start_handle, 415
startsample, 416
stop, 414
stop_event, 416
stop_handle, 416
stopped, 414
strict_channel_match, 416
strict_srate_match, 417
total_read, 418
io_jack_t
MHAIOJack::io_jack_t, 688
io_lib
fw_t, 396
io_lib_t, 418
io_lib_t, 420
IODestroy_cb, 422
IOInit_cb, 422
IOPrepare_cb, 422
IORelease_cb, 422
IOSetVar_cb, 422
IOStart_cb, 422
IOStop_cb, 422
IOStrError_cb, 422
io_lib_t, 419
lib_data, 421
lib_err, 421
lib_handle, 421
lib_str_error, 421
prepare, 420
release, 421
start, 420
stop, 421
test_error, 421
io_name
fw_t, 394
io_parser_t, 423
io_parser_t, 424
b_fw_started, 427
b_prepared, 428
b_starting, 428
b_stopped, 428
fragsize, 426
input, 427
io_parser_t, 424
nchannels_in, 426
nchannels_out, 426
output, 427
patchbay, 428
prepare, 425
proc_event, 426
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1379
proc_handle, 426
process_frame, 426
release, 425
s_in, 427
s_out, 427
start, 425
start_event, 426
start_handle, 427
started, 425
stop, 425
stop_event, 427
stop_handle, 427
stopped, 425
io_portaudio_t
MHAIOPortAudio::io_portaudio_t, 697
io_tcp_fwcb_t, 428
io_tcp_fwcb_t, 429
io_err, 432
io_tcp_fwcb_t, 429
proc_err, 432
proc_event, 431
proc_handle, 432
process, 430
set_errnos, 430
start, 430
start_event, 431
start_handle, 432
stop, 431
stop_event, 431
stop_handle, 432
io_tcp_parser_t, 433
io_tcp_parser_t, 435
connected, 439
debug, 438
debug_file, 440
debug_filename, 440
get_connected, 437
get_local_address, 435
get_local_port, 435
get_server_port_open, 436
io_tcp_parser_t, 434
local_address, 439
local_port, 439
peer_address, 439
peer_port, 439
server_port_open, 439
set_connected, 437
set_local_port, 435
set_new_peer, 438
set_server_port_open, 436
io_tcp_sound_t, 440
io_tcp_sound_t, 442
check_sound_data_type, 442
chunkbytes_in, 443
fragsize, 444
header, 443
hton, 444
io_tcp_sound_t, 441
ntoh, 443
num_inchannels, 445
num_outchannels, 445
prepare, 442
release, 443
s_in, 445
samplerate, 444
io_tcp_sound_t::float_union, 445
c, 446
f, 446
i, 446
io_tcp_t, 446
io_tcp_t, 448
accept_loop, 449
connection_loop, 449
fwcb, 450
io_tcp_t, 447
notify_release, 450
notify_start, 450
notify_stop, 450
parse, 449
parser, 449
prepare, 448
release, 448
server, 450
sound, 449
start, 448
stop, 448
thread, 450
iob
MHAJack::port_t, 723
irslen
frequency_translator_t, 387
irslen_inner2outer
MHAPlugin_Resampling::resampling_if-
_t, 890
irslen_outer2inner
MHAPlugin_Resampling::resampling_if-
_t, 890
irswnd
MHAOvlFilter::overlap_save_filterbank_-
t::vars_t, 761
smoothgains_bridge::overlapadd_if_-
t, 1128
© 2005-2018 HörTech gGmbH, Oldenburg
1380 INDEX
is_complex
MHA_AC::ac2matrix_helper_t, 480
mha_audio_descriptor_t, 499
is_playback_active
MHASignal::loop_wavefragment_t, 953
is_prepared
adm_if_t, 206
MHAPlugin::plugin_t, 885
PluginLoader::mhapluginloader_t, 1081
is_prepared_
MHAPlugin::plugin_t, 887
is_same_size
MHASignal::matrix_t, 961
is_var
algo_comm_t, 216
MHAKernel::algo_comm_class_t, 726
iscomplex
MHASignal::matrix_t, 961
isempty
AuditoryProfile::fmap_t, 234
gaintable.cpp, 1211
MHAFilter::transfer_function_t, 684
isval
MHAParser::kw_t, 812
iter
prediction_error_config, 1094
iterator
MHA_TCP::Event_Watcher, 562
jack_error_handler
mhajack.cpp, 1311
jack_proc_cb
MHAJack::client_t, 716
jack_xrun_cb
MHAJack::client_t, 716
jc
MHAJack::client_t, 718
MHAJack::port_t, 723
jstate_prev
MHAJack::client_t, 719
k_inner
MHASignal::doublebuffer_t, 939
k_nyquist
dc::dc_t, 287
k_outer
MHASignal::doublebuffer_t, 940
kappa
lpc_burglattice_config, 469
kappa_block
lpc_burglattice_config, 469
kappa_const
timo_params, 1159
timoSmooth, 1171
keyword_list_t
MHAParser::keyword_list_t, 807
kick_condition
MHAPlugin_Split::posix_threads_t, 905
kick_thread
MHAPlugin_Split::dummy_threads_t, 901
MHAPlugin_Split::posix_threads_t, 904
MHAPlugin_Split::thread_platform_t, 921
kicked
MHAPlugin_Split::posix_threads_t, 906
km
lpc_bl_predictor_config, 463
kmax
hilbert_shifter_t, 407
kmin
hilbert_shifter_t, 407
kth_smallest
MHASignal, 135
kw_index2type
transducers.cpp, 1336
kw_t
MHAParser::kw_t, 811
L
AuditoryProfile::parser_t, 236
AuditoryProfile::profile_t, 241
l_min
dc::wb_inhib_cfg_t, 293
dc::wideband_inhib_vars_t, 296
l_new
fader_wave::level_adapt_t, 378
l_old
fader_wave::level_adapt_t, 378
LEVEL
dc_simple, 92
LPSCALE
timoconfig.cpp, 1333
lambda
lpc_burglattice, 467
lpc_burglattice_config, 469
lambda_ceps
timoConfig, 1165
lambda_ceps_AC
timo_AC, 1155
lambda_ceps_prev
timoConfig, 1165
lambda_ml_AC
timo_AC, 1154
lambda_ml_ceps
timoConfig, 1164
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1381
lambda_ml_ceps_AC
timo_AC, 1154
lambda_ml_full
timoConfig, 1164
lambda_ml_smooth
timoConfig, 1164
lambda_ml_smooth_AC
timo_AC, 1155
lambda_smoothing_power
nlms_t, 1043
lambda_spec
timoConfig, 1165
lambda_spec_AC
timo_AC, 1156
lambda_thresh
timo_params, 1158
timoSmooth, 1171
last_complex_bin
MHASignal::subsample_delay_t, 989
last_config
MHAPlugin::config_t, 880
last_errormsg
MHAParser::parser_t, 839
last_jack_err
mhajack.cpp, 1312
last_jack_err_msg
mhajack.cpp, 1312
mhajack.h, 1314
last_name
MHAParser::mhapluginloader_t, 830
latex_doc_t, 451
ac, 453
get_ac, 452
get_categories, 452
get_latex_doc, 451
get_main_category, 451
get_parser_tab, 452
get_parser_var, 452
latex_doc_t, 451
latex_plugname, 453
loader, 453
parsername, 452
plugin_macro, 453
plugname, 453
strdom, 452
latex_plugname
latex_doc_t, 453
len
MHA_AC::acspace2matrix_t, 487
MHAFilter::filter_t, 637
MHATableLookup::linear_table_t, 1012
len_A
MHAFilter::filter_t, 637
len_a
hanning_ramps_t, 404
len_B
MHAFilter::filter_t, 637
len_b
hanning_ramps_t, 404
length
io_file_t, 416
MHASignal::uint_vector_t, 993
lev
noise_t, 1046
sine_t, 1125
level
rmslevel_t, 1100
level_adapt_t
fader_wave::level_adapt_t, 377
level_adaptor
fader_wave, 96
level_db
rmslevel_t, 1100
level_in_db
dc::dc_t, 286
level_in_db_adjusted
dc::dc_t, 286
level_mode_t
MHASignal::loop_wavefragment_t, 950
level_mon
droptect_t, 335
level_smoother_t
dc_simple::level_smoother_t, 310
level_spec
dc_simple::level_smoother_t, 311
level_wave
dc_simple::level_smoother_t, 311
Levinson2
lpc.cpp, 1216
lib_data
io_lib_t, 421
PluginLoader::mhapluginloader_t, 1083
lib_err
io_lib_t, 421
PluginLoader::mhapluginloader_t, 1082
lib_handle
io_lib_t, 421
PluginLoader::mhapluginloader_t, 1082
lib_str_error
io_lib_t, 421
libdata
analysepath_t, 228
© 2005-2018 HörTech gGmbH, Oldenburg
1382 INDEX
MHAParser::c_ifc_parser_t, 786
liberr
MHAParser::c_ifc_parser_t, 786
libname
analysispath_if_t, 232
PluginLoader::config_file_splitter_t, 1072
library_paths
pluginbrowser_t, 1068
like_ratio
acPooling_wave_config, 171
like_ratio_name
acPooling_wave, 168
limit
coherence::cohflt_t, 262
coherence::vars_t, 265
MHASignal, 135
MHASignal::quantizer_t, 970
MHASignal::waveform_t, 1004
limiter
dc_simple::dc_t, 303
limiter_threshold
dc_simple::dc_t, 303
dc_simple::dc_vars_t, 307
lin2db
Vector and matrix processing toolbox, 44
line_t
dc_simple::dc_t::line_t, 304,305
linear
MHAOvlFilter::ShapeFun, 117
softclipper_t, 1135
softclipper_variables_t, 1137
linear_table_t
MHATableLookup::linear_table_t, 1010
Linearphase_FIR
ADM::Linearphase_FIR, 202
list_dir
mha_os.cpp, 1248
mha_os.h, 1251
load_io_lib
fw_t, 392
load_plug
MHAParser::mhapluginloader_t, 829
load_proc_lib
fw_t, 392
loader
latex_doc_t, 453
loadlib
analysispath_if_t, 232
local_address
io_tcp_parser_t, 439
local_get_entries
MHAKernel::algo_comm_class_t, 728
local_get_var
MHAKernel::algo_comm_class_t, 728
local_insert_var
MHAKernel::algo_comm_class_t, 727
local_is_var
MHAKernel::algo_comm_class_t, 727
local_port
io_tcp_parser_t, 439
local_remove_ref
MHAKernel::algo_comm_class_t, 727
local_remove_var
MHAKernel::algo_comm_class_t, 727
locate_end
MHASignal::loop_wavefragment_t, 953
lock_channels
fw_vars_t, 398
lock_srate_fragsize
fw_vars_t, 397
locked
MHAParser::variable_t, 851
log_down
MHASignal::schroeder_t, 979
log_lambda_spec
timoConfig, 1165
log_lambda_spec_AC
timo_AC, 1156
log_up
MHASignal::schroeder_t, 978
logGLRFact
noisePowProposedScale::noisePow-
Proposed, 1052
timoConfig, 1166
logfile
mhaserver_t, 927
logstring
mhaserver_t, 926
longmsg
MHA_Error, 524
lookup
MHATableLookup::linear_table_t, 1010
MHATableLookup::table_t, 1014
MHATableLookup::xy_table_t, 1017
loop_wavefragment_t
MHASignal::loop_wavefragment_t, 951
low_incl
MHAParser::range_var_t, 843
low_limit
MHAParser::range_var_t, 843
low_side_flat
MHAOvlFilter::band_descriptor_t, 736
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1383
low_thresh
acPooling_wave_config, 171
lower_threshold
acPooling_wave, 168
lp
DynComp::dc_afterburn_rt_t, 341
lp1i
coherence::cohflt_t, 263
lp1ltg
coherence::cohflt_t, 263
lp1r
coherence::cohflt_t, 262
lp_coeffs
adm_rtconfig_t, 212
lp_order
adm_if_t, 207
lpc, 454
lpc, 455
algo_name, 456
comp_each_iter, 457
lpc, 455
lpc_buffer_size, 456
lpc_order, 456
norm, 457
patchbay, 457
prepare, 455
process, 455
release, 456
shift, 456
update_cfg, 456
lpc.cpp, 1215
INSERT_PATCH, 1216
Levinson2, 1216
PATCH_VAR, 1216
lpc.h, 1216
lpc_bl_predictor, 457
lpc_bl_predictor, 458
lpc_bl_predictor, 458
lpc_order, 460
name_b, 460
name_f, 460
name_kappa, 460
name_lpc_b, 460
name_lpc_f, 460
patchbay, 460
prepare, 459
process, 459
release, 459
update_cfg, 459
lpc_bl_predictor.cpp, 1216
INSERT_PATCH, 1217
PATCH_VAR, 1217
lpc_bl_predictor.h, 1217
EPSILON, 1217
lpc_bl_predictor_config, 461
lpc_bl_predictor_config, 461
ac, 462
b_est, 462
backward, 462
f_est, 462
forward, 462
km, 463
lpc_bl_predictor_config, 461
lpc_order, 463
name_b, 463
name_f, 463
name_km, 463
process, 462
s_b, 463
s_f, 463
lpc_buffer_size
lpc, 456
lpc_config, 472
lpc_burg-lattice.cpp, 1217
INSERT_PATCH, 1218
PATCH_VAR, 1218
lpc_burg-lattice.h, 1218
EPSILON, 1218
lpc_burglattice, 464
lpc_burglattice, 465
lambda, 467
lpc_burglattice, 465
lpc_order, 466
name_b, 467
name_f, 467
name_kappa, 467
patchbay, 467
prepare, 466
process, 465
release, 466
update_cfg, 466
lpc_burglattice_config, 467
lpc_burglattice_config, 468
ac, 469
backward, 469
dm, 469
forward, 469
kappa, 469
kappa_block, 469
lambda, 469
lpc_burglattice_config, 468
lpc_order, 470
© 2005-2018 HörTech gGmbH, Oldenburg
1384 INDEX
name_b, 470
name_f, 470
nm, 469
process, 468
s_b, 470
s_f, 470
lpc_config, 470
lpc_config, 471
A, 473
comp_each_iter, 472
comp_iter, 473
corr_out, 473
insert, 472
inwave, 473
lpc_buffer_size, 472
lpc_config, 471
lpc_out, 473
N, 472
norm, 472
order, 472
process, 471
R, 473
sample, 473
shift, 472
lpc_order
lpc, 456
lpc_bl_predictor, 460
lpc_bl_predictor_config, 463
lpc_burglattice, 466
lpc_burglattice_config, 470
prediction_error, 1090
lpc_out
lpc_config, 473
ltgcomp
coherence::vars_t, 266
ltgtau
coherence::vars_t, 266
lval
MHAParser::expression_t, 795
m
dc_simple::dc_t::line_t, 305
matrixmixer::cfg_t, 475
M_PI
mha_defs.h, 1232
mha_signal.hh, 1277
m_alphas
ADM::Linearphase_FIR, 203
m_beta
ADM::ADM, 197
m_coeff
ADM::Delay, 200
m_decomb
ADM::ADM, 197
m_delay_back
ADM::ADM, 197
m_delay_front
ADM::ADM, 197
m_fullsamples
ADM::Delay, 200
m_lp_bf
ADM::ADM, 197
m_lp_result
ADM::ADM, 197
m_mu_beta
ADM::ADM, 198
m_norm
ADM::Delay, 201
m_now
ADM::Linearphase_FIR, 204
m_now_in
ADM::Delay, 201
m_order
ADM::Linearphase_FIR, 203
m_output
ADM::Linearphase_FIR, 203
m_powerfilter_coeff
ADM::ADM, 198
m_powerfilter_norm
ADM::ADM, 198
m_powerfilter_state
ADM::ADM, 198
m_state
ADM::Delay, 201
MAX_LINE_LENGTH
mhamain.cpp, 1315
MAX_TCP_PORT_STR
MHAIOTCP.cpp, 1307
MAX_TCP_PORT
MHAIOTCP.cpp, 1307
MAX_USER_ERR
MHAIOFile.cpp, 1287
MHAIOJack.cpp, 1292
MHAIOParser.cpp, 1296
MHAIOPortAudio.cpp, 1301
MHAIOTCP.cpp, 1306
mhajack.h, 1314
MAX
mha_defs.h, 1233
MHA_AC::ac2matrix_helper_t, 478
ac, 479
ac2matrix_helper_t, 479
acvar, 480
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1385
getvar, 479
is_complex, 480
name, 480
size, 480
username, 480
MHA_AC::ac2matrix_t, 481
ac2matrix_t, 482
getname, 482
getusername, 482
insert, 482
update, 482
MHA_AC::acspace2matrix_t, 483
acspace2matrix_t, 484
acspace2matrix_t, 484
data, 487
frame, 486
frameno, 487
insert, 486
len, 487
operator=, 485
operator[], 485
size, 486
update, 486
MHA_AC::double_t, 487
double_t, 488
ac, 488
data, 488
double_t, 488
MHA_AC::float_t, 489
float_t, 489
ac, 490
data, 490
float_t, 489
MHA_AC::int_t, 490
int_t, 491
ac, 491
data, 491
int_t, 491
MHA_AC::spectrum_t, 492
spectrum_t, 493
ac, 494
insert, 493
name, 494
spectrum_t, 493
MHA_AC::stat_t, 494
insert, 495
mean, 495
stat_t, 495
std, 495
update, 495
MHA_AC::waveform_t, 496
waveform_t, 497
ac, 498
insert, 498
name, 498
waveform_t, 497
MHA_AC_CHAR
mha.h, 1224
MHA_AC_DOUBLE
mha.h, 1225
MHA_AC_FLOAT
mha.h, 1225
MHA_AC_INT
mha.h, 1224
MHA_AC_MHACOMPLEX
mha.h, 1225
MHA_AC_MHAREAL
mha.h, 1225
MHA_AC_UNKNOWN
mha.h, 1224
MHA_AC_USER
mha.h, 1225
MHA_AC_VEC_FLOAT
mha.h, 1225
MHA_AC, 96
MHA_CALLBACK_TEST_PREFIX
mha.h, 1222
MHA_CALLBACK_TEST
mha.h, 1222
MHA_DOMAIN_MAX
mha.h, 1224
MHA_DOMAIN_UNKNOWN
mha.h, 1224
MHA_EAR_LEFT
mha_defs.h, 1233
MHA_EAR_MAX
mha_defs.h, 1233
MHA_EAR_RIGHT
mha_defs.h, 1233
MHA_ERR_INVALID_HANDLE
mha_errno.h, 1235
MHA_ERR_NULL
mha_errno.h, 1235
MHA_ERR_SUCCESS
mha_errno.h, 1235
MHA_ERR_UNKNOWN
mha_errno.h, 1235
MHA_ERR_USER
mha_errno.h, 1236
MHA_ERR_VARFMT
mha_errno.h, 1236
MHA_ERR_VARRANGE
© 2005-2018 HörTech gGmbH, Oldenburg
1386 INDEX
mha_errno.h, 1235
MHA_Error, 522
MHA_Error, 523
get_longmsg, 523
get_msg, 523
longmsg, 524
MHA_Error, 522,523
msg, 524
operator=, 523
what, 523
MHA_ErrorMsg
Error handling in the openMHA, 32
MHA_ErrorMsg2
MHAIOTCP.cpp, 1306
MHA_ErrorMsg3
MHAIOTCP.cpp, 1307
MHA_ID_MATRIX
mha_signal.cpp, 1268
MHA_ID_UINT_VECTOR
mha_signal.cpp, 1267
MHA_RELEASE_VERSION_STRING
mha.h, 1223
MHA_RESOLVE_CHECKED
mha_os.h, 1251
MHA_RESOLVE
mha_os.h, 1251
MHA_SPECTRUM
mha.h, 1224
MHA_STRUCT_SIZEMATCH
mha.h, 1223
MHA_STRF
mha.h, 1222
MHA_TCP::Async_Notify, 549
Async_Notify, 549
Async_Notify, 549
pipe, 550
reset, 550
set, 550
MHA_TCP::Client, 550
Client, 551
MHA_TCP::Connection, 552
Connection, 554
buffered_incoming_bytes, 559
buffered_outgoing_bytes, 559
can_read_bytes, 557
can_read_line, 557
can_sysread, 555
can_syswrite, 555
closed, 560
Connection, 554
eof, 557
fd, 560
get_fd, 556
get_peer_address, 556
get_peer_port, 556
get_read_event, 556
get_write_event, 556
inbuf, 560
init_peer_data, 555
needs_write, 559
outbuf, 560
peer_addr, 560
read_bytes, 558
read_event, 560
read_line, 558
sysread, 555
syswrite, 555
try_write, 559
write, 559
write_event, 560
MHA_TCP::Event_Watcher, 561
Event_Watcher, 562
Events, 562
events, 563
ignore, 562
iterator, 562
observe, 562
wait, 563
MHA_TCP::OS_EVENT_TYPE, 563
fd, 564
mode, 564
timeout, 564
MHA_TCP::Server, 565
Server, 566
accept, 567
accept_event, 568
get_accept_event, 567
get_interface, 566
get_port, 566
iface, 568
initialize, 566
port, 568
Server, 565,566
serversocket, 568
sock_addr, 567
try_accept, 567
MHA_TCP::Sockaccept_Event, 568
Sockaccept_Event, 569
MHA_TCP::Sockread_Event, 569
Sockread_Event, 570
MHA_TCP::Sockwrite_Event, 570
Sockwrite_Event, 571
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1387
MHA_TCP::Thread, 571
Thread, 574
arg, 574
error, 575
return_value, 575
run, 574
state, 575
thr_f, 572
Thread, 573
thread_arg, 575
thread_attr, 574
thread_finish_event, 575
thread_func, 575
thread_handle, 574
MHA_TCP::Timeout_Event, 576
end_time, 577
get_os_event, 577
Timeout_Event, 576
MHA_TCP::Timeout_Watcher, 577
Timeout_Watcher, 578
timeout, 578
Timeout_Watcher, 578
MHA_TCP::Wakeup_Event, 579
Wakeup_Event, 580
get_os_event, 581
ignored_by, 580
observed_by, 580
observers, 581
os_event, 581
os_event_valid, 582
reset, 581
status, 581
Wakeup_Event, 580
MHA_TCP, 98
dtime, 101
G_ERRNO, 101
H_ERRNO, 100
HSTRERROR, 100
N_ERRNO, 100
SOCKET, 100
STRERROR, 100
stime, 101
MHA_VERSION_BUILD
mha.h, 1223
MHA_VERSION_MAJOR
mha.h, 1222
MHA_VERSION_MINOR
mha.h, 1222
MHA_VERSION_RELEASE
mha.h, 1223
MHA_VERSION_STRING
mha.h, 1223
MHA_VERSION
mha.h, 1223
MHA_WAVEFORM
mha.h, 1224
MHA_XSTRF
mha.h, 1222
MHA_assert
Error handling in the openMHA, 34
MHA_assert_equal
Error handling in the openMHA, 34
MHADestroy_cb
PluginLoader::mhapluginloader_t, 1083
MHADestroy_t
mha.h, 1226
MHAEvents, 102
MHAEvents::connector_base_t, 597
connector_base_t, 598
connector_base_t, 598
emit_event, 598,599
emitter_die, 599
emitter_is_alive, 599
MHAEvents::connector_t
connector_t, 601
connector_t, 600,601
emit_event, 601,602
emitter, 602
eventhandler, 602
eventhandler_s, 602
eventhandler_suu, 603
receiver, 602
MHAEvents::connector_t<receiver_t >,600
MHAEvents::emitter_t, 603
emitter_t, 604
connect, 604
connections, 605
disconnect, 604
operator(), 604
MHAEvents::patchbay_t
patchbay_t, 606
connect, 606,607
cons, 607
MHAEvents::patchbay_t<receiver_t >,605
MHAFilter, 102
butter_stop_ord1, 105
gcd, 106
make_friendly_number, 104
o1_lp_coeffs, 104
resampling_factors, 106
sinc, 106
spec2fir, 105
© 2005-2018 HörTech gGmbH, Oldenburg
1388 INDEX
MHAFilter::adapt_filter_param_t, 608
adapt_filter_param_t, 608
err_in, 608
mu, 608
MHAFilter::adapt_filter_state_t, 609
adapt_filter_state_t, 609
filter, 609
nchannels, 610
ntaps, 609
od, 610
oy, 610
W, 610
X, 610
MHAFilter::adapt_filter_t, 611
adapt_filter_t, 612
connector, 613
err_in, 613
filter, 612
mu, 612
nchannels, 613
ntaps, 613
set_channelcnt, 612
update_mu, 612
update_ntaps, 612
MHAFilter::blockprocessing_polyphase_-
resampling_t, 613
blockprocessing_polyphase_resampling-
_t, 615
blockprocessing_polyphase_resampling-
_t, 614
can_read, 616
fragsize_in, 616
fragsize_out, 616
num_channels, 616
read, 615
resampling, 616
write, 615
MHAFilter::complex_bandpass_t, 617
A_, 620
B_, 620
complex_bandpass_t, 618
creator_A, 618
creator_B, 618
filter, 619,620
get_weights, 619
inspect, 620
set_state, 618,619
set_weights, 619
Yn, 620
MHAFilter::diff_t, 621
diff_t, 621
MHAFilter::fftfilter_t, 622
fftfilter_t, 623
channels, 626
fft, 627
fftfilter_t, 623
fftlen, 626
filter, 624,625
fragsize, 625
sInput, 626
sWeights, 626
update_coeffs, 624
wIRS_fft, 627
wInput, 626
wInput_fft, 626
wOutput, 626
wOutput_fft, 626
MHAFilter::fftfilterbank_t, 627
fftfilterbank_t, 629
fft, 632
fftfilterbank_t, 628
fftlen, 631
filter, 629,630
firchannels, 631
fragsize, 631
get_irs, 630
Hs, 631
hw, 631
inputchannels, 631
outputchannels, 631
tail, 632
update_coeffs, 629
Xs, 632
xw, 631
Ys, 632
yw, 632
yw_temp, 632
MHAFilter::filter_t, 633
filter_t, 635
A, 637
B, 637
channels, 637
filter, 635,636
filter_t, 634,635
get_len_A, 636
get_len_B, 636
len, 637
len_A, 637
len_B, 637
state, 638
MHAFilter::gamma_flt_t, 638
gamma_flt_t, 639
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1389
A, 641
bw_, 642
cf_, 642
delay, 642
envelope_delay, 642
gamma_flt_t, 639
get_A, 641
get_resynthesis_gain, 641
get_weights, 641
GF, 642
inspect, 641
operator(), 639,640
phase_correction, 640
reset_state, 641
resynthesis_gain, 642
set_weights, 640
srate_, 642
MHAFilter::iir_filter_state_t, 643
iir_filter_state_t, 643
MHAFilter::iir_filter_t, 644
A, 647
B, 647
connector, 647
filter, 646
iir_filter_t, 645
nchannels, 647
resize, 646
update_filter, 647
MHAFilter::iir_ord1_real_t, 648
A_, 651
B_, 651
iir_ord1_real_t, 648,649
operator(), 649,650
set_state, 649
Yn, 651
MHAFilter::o1_ar_filter_t, 651
c1_a, 654
c1_r, 654
c2_a, 654
c2_r, 655
fs, 655
o1_ar_filter_t, 652
operator(), 653,654
set_tau_attack, 653
set_tau_release, 653
MHAFilter::o1flt_lowpass_t, 655
get_c1, 657
get_last_output, 657
o1flt_lowpass_t, 656
set_tau, 656,657
MHAFilter::o1flt_maxtrack_t, 658
o1flt_maxtrack_t, 659
set_tau, 659
MHAFilter::o1flt_mintrack_t, 660
o1flt_mintrack_t, 661
set_tau, 661
MHAFilter::partitioned_convolution_t, 661
partitioned_convolution_t, 663
bookkeeping, 665
current_input_signal_buffer_half_index,
665
current_output_partition_index, 666
fft, 666
filter_partitions, 664
fragsize, 664
frequency_response, 665
input_signal_spec, 665
input_signal_wave, 665
nchannels_in, 664
nchannels_out, 664
output_partitions, 664
output_signal_spec, 665
output_signal_wave, 666
partitioned_convolution_t, 663
process, 663
MHAFilter::partitioned_convolution_t::index-
_t, 666
delay, 668
index_t, 667
source_channel_index, 668
target_channel_index, 668
MHAFilter::polyphase_resampling_t, 668
downsampling_factor, 672
impulse_response, 673
now_index, 672
polyphase_resampling_t, 670
read, 671
readable_frames, 671
ringbuffer, 673
underflow, 672
upsampling_factor, 672
write, 671
MHAFilter::resampling_filter_t, 673
fragsize, 675
fragsize_validator, 675
resampling_filter_t, 674
MHAFilter::smoothspec_t, 675
_linphase_asym, 679
smoothspec_t, 677
fft, 679
fftlen, 678
internal_fir, 678
© 2005-2018 HörTech gGmbH, Oldenburg
1390 INDEX
minphase, 679
nchannels, 678
smoothspec, 677
smoothspec_t, 676
spec2fir, 677
tmp_spec, 679
tmp_wave, 678
window, 678
MHAFilter::thirdoctave_analyzer_t, 679
bw_generator, 681
cf, 681
cf_generator, 681
cfg_, 681
dup, 681
fb, 681
get_cf_hz, 680
nbands, 680
nchannels, 680
out_chunk, 681
out_chunk_im, 682
process, 680
thirdoctave_analyzer_t, 680
MHAFilter::transfer_function_t, 682
impulse_response, 685
isempty, 684
non_empty_partitions, 684
partitions, 683
source_channel_index, 685
target_channel_index, 685
transfer_function_t, 683
MHAFilter::transfer_matrix_t, 685
non_empty_partitions, 686
partitions, 686
MHAGetVersion_cb
PluginLoader::mhapluginloader_t, 1083
MHAGetVersion_t
mha.h, 1226
MHAIOFile.cpp, 1286
DEBUG, 1287
dummy_interface_test, 1288,1290
ERR_IHANDLE, 1287
ERR_SUCCESS, 1287
ERR_USER, 1287
IODestroy, 1288,1290
IOInit, 1287,1288
IOPrepare, 1287,1289
IORelease, 1288,1289
IOSetVar, 1288,1289
IOStart, 1287,1289
IOStop, 1288,1289
IOStrError, 1288,1290
MAX_USER_ERR, 1287
user_err_msg, 1290
MHAIOJack, 107
MHAIOJack.cpp, 1290
dummy_interface_test, 1293,1295
ERR_IHANDLE, 1292
ERR_SUCCESS, 1291
ERR_USER, 1292
IODestroy, 1293,1294
IOInit, 1292,1293
IOPrepare, 1292,1293
IORelease, 1292,1294
IOSetVar, 1293,1294
IOStart, 1292,1294
IOStop, 1292,1294
IOStrError, 1293,1294
MAX_USER_ERR, 1292
user_err_msg, 1295
MHAIOJack::io_jack_t, 686
clientname, 690
connections_in, 691
connections_out, 691
delays_in, 691
delays_out, 691
fw_fragsize, 690
fw_samplerate, 690
get_all_input_ports, 689
get_all_output_ports, 689
get_delays_in, 689
get_delays_out, 689
get_physical_input_ports, 689
get_physical_output_ports, 689
io_jack_t, 688
patchbay, 693
portnames_in, 691
portnames_out, 691
ports_in_all, 692
ports_in_physical, 691
ports_out_all, 692
ports_out_physical, 691
ports_parser, 692
prepare, 688
read_get_cpu_load, 690
read_get_scheduler, 690
read_get_xruns, 690
reconnect_inports, 688
reconnect_outports, 689
release, 688
servername, 690
state_cpuload, 692
state_parser, 692
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1391
state_priority, 692
state_scheduler, 692
state_xruns, 692
MHAIOParser.cpp, 1295
dummy_interface_test, 1297,1299
ERR_IHANDLE, 1296
ERR_SUCCESS, 1296
ERR_USER, 1296
IODestroy, 1297,1299
IOInit, 1296,1298
IOPrepare, 1297,1298
IORelease, 1297,1298
IOSetVar, 1297,1299
IOStart, 1297,1298
IOStop, 1297,1298
IOStrError, 1297,1299
MAX_USER_ERR, 1296
user_err_msg, 1299
MHAIOPortAudio, 107
parserFriendlyName, 107
MHAIOPortAudio.cpp, 1300
dummy_interface_test, 1302,1304
ERR_IHANDLE, 1301
ERR_SUCCESS, 1301
ERR_USER, 1301
IODestroy, 1302,1304
IOInit, 1301,1303
IOPrepare, 1301,1303
IORelease, 1302,1303
IOSetVar, 1302,1304
IOStart, 1301,1303
IOStop, 1302,1303
IOStrError, 1302,1304
MAX_USER_ERR, 1301
portaudio_callback, 1302,1304
user_err_msg, 1304
MHAIOPortAudio::device_info_t, 693
defaultHighInputLatency, 695
defaultHighOutputLatency, 695
defaultLowInputLatency, 695
defaultLowOutputLatency, 695
defaultSampleRate, 696
device_info_t, 694
fill_info, 694
hostApi, 695
maxInputChannels, 695
maxOutputChannels, 695
name, 695
numDevices, 694
structVersion, 694
MHAIOPortAudio::io_portaudio_t, 696
io_portaudio_t, 697
cmd_prepare, 698
cmd_release, 698
cmd_start, 698
cmd_stop, 698
device_index, 701
device_index_updated, 698
device_info, 699
device_name, 701
device_name_updated, 698
fragsize, 700
io_portaudio_t, 697
nchannels_in, 699
nchannels_out, 699
patchbay, 701
portaudio_callback, 698
portaudio_stream, 700
proc_event, 700
proc_handle, 700
s_in, 699
s_out, 699
samplerate, 699
start_event, 700
start_handle, 700
stop_event, 700
stop_handle, 700
MHAIOTCP.cpp, 1305
copy_error, 1309
dummy_interface_test, 1308,1310
ERR_IHANDLE, 1306
ERR_SUCCESS, 1306
ERR_USER, 1306
IODestroy, 1308,1310
IOInit, 1307,1309
IOPrepare, 1307,1309
IORelease, 1308,1310
IOSetVar, 1308,1310
IOStart, 1308,1309
IOStop, 1308,1309
IOStrError, 1308,1310
MAX_TCP_PORT_STR, 1307
MAX_TCP_PORT, 1307
MAX_USER_ERR, 1306
MHA_ErrorMsg2, 1306
MHA_ErrorMsg3, 1307
MIN_TCP_PORT_STR, 1307
MIN_TCP_PORT, 1307
thread_startup_function, 1309
user_err_msg, 1310
MHAInit_cb
PluginLoader::mhapluginloader_t, 1083
© 2005-2018 HörTech gGmbH, Oldenburg
1392 INDEX
MHAInit_t
mha.h, 1226
MHAJACK_FW_STARTED
mhajack.h, 1313
MHAJACK_STARTING
mhajack.h, 1313
MHAJACK_STOPPED
mhajack.h, 1313
MHAJack, 108
get_port_capture_latency, 109
get_port_capture_latency_int, 109
get_port_playback_latency, 110
get_port_playback_latency_int, 110
io, 109
MHAJack::client_avg_t, 701
b_ready, 705
b_stopped, 704
client_avg_t, 702
frag_out, 705
IOStoppedEvent, 703,704
io, 703
n, 705
name, 705
nrep, 705
pos, 704
proc, 703,704
sn_in, 704
sn_out, 704
MHAJack::client_noncont_t, 706
b_stopped, 708
client_noncont_t, 707
frag_out, 709
IOStoppedEvent, 707,708
io, 707
name, 709
pos, 708
proc, 707,708
sn_in, 708
sn_out, 708
MHAJack::client_t, 709
b_prepared, 719
client_t, 711
connect_input, 713
connect_output, 713
fail_on_async_jackerror, 719
flags, 719
fragsize, 717
get_cpu_load, 715
get_fragsize, 713
get_my_input_ports, 714
get_my_output_ports, 714
get_ports, 714
get_srate, 713
get_xruns, 713
get_xruns_reset, 714
inch, 718
input_portnames, 719
internal_start, 715
internal_stop, 716
jack_proc_cb, 716
jack_xrun_cb, 716
jc, 718
jstate_prev, 719
nchannels_in, 717
nchannels_out, 717
num_xruns, 717
outch, 718
output_portnames, 719
prepare, 712
prepare_impl, 715
proc_event, 717
proc_handle, 717
release, 712
s_in, 718
s_out, 718
samplerate, 717
set_input_portnames, 714
set_output_portnames, 715
set_use_jack_transport, 715
start, 713
start_event, 717
start_handle, 718
stop, 713
stop_event, 718
stop_handle, 718
stopped, 716
str_error, 714
use_jack_transport, 719
MHAJack::port_t, 720
port_t, 721
connect_to, 722
dir_t, 720
dir_type, 723
get_short_name, 723
iob, 723
jc, 723
mute, 722
port, 723
port_t, 721
read, 722
write, 722
MHAKernel, 110
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1393
algo_comm_safe_cast, 111
MHAKernel::algo_comm_class_t, 724
algo_comm_class_t, 725
ac, 728
algo_comm_class_t, 725
algo_comm_id_string, 728
algo_comm_id_string_len, 728
get_c_handle, 725
get_entries, 727
get_error, 727
get_var, 726
get_var_float, 726
get_var_int, 726
insert_var, 725
insert_var_float, 725
insert_var_int, 725
is_var, 726
local_get_entries, 728
local_get_var, 728
local_insert_var, 727
local_is_var, 727
local_remove_ref, 727
local_remove_var, 727
remove_ref, 726
remove_var, 726
size, 728
vars, 728
MHAKernel::comm_var_map_t, 729
has_key, 729
MHAMultiSrc, 111
MHAMultiSrc::base_t, 729
ac, 731
base_t, 730
select_source, 730
MHAMultiSrc::channel_t, 731
channel, 731
name, 731
MHAMultiSrc::channels_t, 732
channels_t, 732
MHAMultiSrc::spectrum_t, 733
spectrum_t, 733
update, 734
MHAMultiSrc::waveform_t, 734
update, 735
waveform_t, 735
MHAOvlFilter, 111
scale_fun_t, 112
MHAOvlFilter::FreqScaleFun, 113
hz2bark, 114
hz2bark_analytic, 115
hz2erb, 115
hz2erb_glasberg1990, 115
hz2hz, 114
hz2khz, 114
hz2log, 115
hz2octave, 114
hz2third_octave, 114
inv_scale, 116
MHAOvlFilter::ShapeFun, 116
expflt, 118
gauss, 118
hann, 117
linear, 117
rect, 116
MHAOvlFilter::band_descriptor_t, 736
cf, 736
cf_h, 736
cf_l, 736
ef_h, 736
ef_l, 736
high_side_flat, 737
low_side_flat, 736
MHAOvlFilter::barkscale, 112
vbark, 113
vfreq, 113
MHAOvlFilter::barkscale::bark2hz_t, 737
bark2hz_t, 738
bark2hz_t, 737
MHAOvlFilter::barkscale::hz2bark_t, 738
hz2bark_t, 739
hz2bark_t, 738
MHAOvlFilter::fftfb_ac_info_t, 739
bwv, 740
cLTASS, 740
cfv, 740
efv, 740
fftfb_ac_info_t, 739
insert, 740
MHAOvlFilter::fftfb_t, 741
fftfb_t, 742
apply_gains, 742
bin1, 743
bin2, 743
fftfb_t, 742
fftlen, 744
get_fbpower, 742
get_fbpower_db, 742
get_fftlen, 743
get_ltass_gain_db, 743
samplingrate, 744
shape, 744
vbin1, 744
© 2005-2018 HörTech gGmbH, Oldenburg
1394 INDEX
vbin2, 744
w, 743
MHAOvlFilter::fftfb_vars_t, 745
cLTASS, 748
cf, 747
ef, 748
f, 747
fail_on_nonmonotonic, 747
fail_on_unique_bins, 747
fftfb_vars_t, 746
fscale, 746
ftype, 747
normalize, 747
ovltype, 746
plateau, 746
shapes, 748
MHAOvlFilter::fscale_bw_t, 748
bw, 750
bw_hz, 750
fscale_bw_t, 749
get_bw_hz, 749
update_hz, 749
updater, 750
MHAOvlFilter::fscale_t, 750
f, 752
f_hz, 752
fscale_t, 751
get_f_hz, 751
unit, 751
update_hz, 751
updater, 752
MHAOvlFilter::fspacing_t, 752
bands, 755
cf2bands, 755
ef2bands, 755
equidist2bands, 755
fail_on_nonmonotonic_cf, 754
fail_on_unique_fftbins, 754
fs_, 755
fspacing_t, 753
get_cf_fftbin, 754
get_cf_hz, 754
get_ef_hz, 754
nbands, 754
nfft_, 755
symmetry_scale, 755
MHAOvlFilter::overlap_save_filterbank_-
analytic_t, 756
filter_analytic, 757
imagfb, 757
overlap_save_filterbank_analytic_t, 757
MHAOvlFilter::overlap_save_filterbank_t, 758
channelconfig_out_, 759
get_channelconfig, 759
overlap_save_filterbank_t, 759
MHAOvlFilter::overlap_save_filterbank_t-
::vars_t, 760
fftlen, 760
irswnd, 761
phasemodel, 761
vars_t, 760
MHAOvlFilter::scale_var_t, 761
add_fun, 762
funs, 763
get_fun, 762
get_name, 762
hz2unit, 763
names, 763
scale_var_t, 762
unit2hz, 763
MHAPLATFORM
mha_parser.cpp, 1253
MHAPLUGIN_CALLBACKS_PREFIX
The openMHA Plugins (programming in-
terface), 8
MHAPLUGIN_CALLBACKS
The openMHA Plugins (programming in-
terface), 8
MHAPLUGIN_DOCUMENTATION_PREFIX
mha_plugin.hh, 1261
MHAPLUGIN_DOCUMENTATION
The openMHA Plugins (programming in-
terface), 9
MHAPLUGIN_INIT_CALLBACKS_PREFIX
mha_plugin.hh, 1261
MHAPLUGIN_INIT_CALLBACKS
mha_plugin.hh, 1261
MHAPLUGIN_OVERLOAD_OUTDOMAIN
altplugs.cpp, 1198
mha_generic_chain.h, 1245
split.cpp, 1331
wave2spec.cpp, 1336
MHAPLUGIN_PROC_CALLBACK_PREFIX
mha_plugin.hh, 1260
MHAPLUGIN_PROC_CALLBACK
mha_plugin.hh, 1261
MHAParser, 118
all_dump, 123
all_ids, 123
c_parse_cmd_t, 122
c_parse_err_t, 122
cfg_dump, 122
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1395
cfg_dump_short, 122
commentate, 122
entry_map_t, 121
envreplace, 124
get_precision, 122
mon_dump, 123
opact_map_t, 121
opact_t, 121
query_map_t, 121
query_t, 121
strreplace, 123
trim, 122
MHAParser::StrCnv, 124
bracket_balance, 126
num_brackets, 125
str2val, 126,127
str2val<mha_real_t >,127
val2str, 127130
MHAParser::base_t, 764
base_t, 767
activate_query, 773
add_parent_on_insert, 773
add_replace_pair, 774
base_t, 767
data_is_initialized, 775
fullname, 773
help, 775
id_str, 775
nested_lock, 776
notify, 773
op_query, 769
op_setval, 769
op_subparse, 768
operators, 775
oplist, 774
parent, 776
parse, 767,768
prereadaccess, 775
queries, 775
query_addsubst, 772
query_cmds, 772
query_dump, 769
query_entries, 769
query_help, 772
query_id, 772
query_listids, 771
query_perm, 769
query_range, 770
query_readfile, 770
query_savefile, 771
query_savefile_compact, 771
query_savemons, 771
query_subst, 772
query_type, 770
query_val, 770
query_version, 771
readaccess, 774
repl_list, 776
repl_list_t, 767
rm_parent_on_remove, 773
set_help, 773
set_node_id, 772
thefullname, 776
valuechanged, 774
writeaccess, 774
MHAParser::base_t::replace_t, 776
a, 777
b, 777
get_a, 777
get_b, 777
replace, 777
replace_t, 777
MHAParser::bool_mon_t, 778
bool_mon_t, 779
data, 780
query_type, 779
query_val, 779
MHAParser::bool_t, 780
bool_t, 781
data, 782
op_setval, 781
query_type, 782
query_val, 782
MHAParser::c_ifc_parser_t, 783
c_ifc_parser_t, 784
c_ifc_parser_t, 784
c_parse_cmd, 785
c_parse_err, 785
libdata, 786
liberr, 786
modulename, 785
op_query, 785
op_setval, 785
op_subparse, 784
ret_size, 786
retv, 786
set_parse_cb, 784
test_error, 785
MHAParser::commit_t
commit_t, 788
extern_connector, 788
MHAParser::commit_t<receiver_t >,787
© 2005-2018 HörTech gGmbH, Oldenburg
1396 INDEX
MHAParser::complex_mon_t, 788
complex_mon_t, 789
data, 790
query_type, 790
query_val, 789
MHAParser::complex_t, 790
complex_t, 792
data, 792
op_setval, 792
query_type, 792
query_val, 792
MHAParser::entry_t, 793
entry, 793
entry_t, 793
name, 793
MHAParser::expression_t, 794
expression_t, 794
lval, 795
op, 795
rval, 795
MHAParser::float_mon_t, 795
data, 797
float_mon_t, 796
query_type, 797
query_val, 796
MHAParser::float_t, 797
data, 800
float_t, 799
op_setval, 799
query_type, 799
query_val, 800
MHAParser::int_mon_t, 800
data, 802
int_mon_t, 801
query_type, 802
query_val, 802
MHAParser::int_t, 803
data, 805
int_t, 804
op_setval, 804
query_type, 805
query_val, 805
MHAParser::keyword_list_t, 805
add_entry, 808
empty_string, 809
entries, 809
get_entries, 808
get_index, 808
get_value, 808
index, 809
keyword_list_t, 807
set_entries, 807
set_index, 808
set_value, 807
size_t, 806
validate, 808
MHAParser::kw_t, 810
data, 813
isval, 812
kw_t, 811
op_setval, 812
query_range, 812
query_type, 813
query_val, 813
set_range, 812
validate, 812
MHAParser::mcomplex_mon_t, 814
data, 815
mcomplex_mon_t, 815
query_type, 815
query_val, 815
MHAParser::mcomplex_t, 816
data, 818
mcomplex_t, 817
op_setval, 817
query_type, 817
query_val, 818
MHAParser::mfloat_mon_t, 818
data, 820
mfloat_mon_t, 819
query_type, 820
query_val, 819
MHAParser::mfloat_t, 820
data, 823
mfloat_t, 822
op_setval, 822
query_type, 822
query_val, 823
MHAParser::mhaconfig_mon_t, 823
channels, 825
domain, 825
fftlen, 825
fragsize, 825
mhaconfig_mon_t, 824
srate, 825
update, 824
wndlen, 825
MHAParser::mhapluginloader_t, 826
mhapluginloader_t, 827
ac_, 830
bookkeeping, 830
cf_in_, 830
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1397
cf_out_, 830
connector, 830
get_cfin, 828
get_cfout, 829
get_last_name, 829
last_name, 830
load_plug, 829
mhapluginloader_t, 827
parent_, 829
plug, 829
plugname, 829
plugname_name_, 830
prefix_, 829
prepare, 827
process, 828
release, 828
MHAParser::monitor_t, 831
monitor_t, 832
op_query, 832
query_dump, 832
query_perm, 832
MHAParser::parser_t, 833
parser_t, 835
entries, 839
force_remove_item, 836
id_string, 839
insert_item, 835
last_errormsg, 839
op_query, 837
op_setval, 836
op_subparse, 836
parser_t, 834
query_dump, 837
query_entries, 837
query_listids, 838
query_readfile, 837
query_savefile, 838
query_savefile_compact, 838
query_savemons, 838
query_type, 837
query_val, 838
remove_item, 835,836
set_id_string, 839
srcfile, 839
srcline, 839
MHAParser::range_var_t, 840
check_low, 844
check_range, 844
check_up, 844
low_incl, 843
low_limit, 843
query_range, 841
range_var_t, 841
set_range, 842
up_incl, 844
up_limit, 843
validate, 842,843
MHAParser::string_mon_t, 845
data, 846
query_type, 846
query_val, 846
string_mon_t, 846
MHAParser::string_t, 847
data, 849
op_setval, 848
query_type, 848
query_val, 849
string_t, 848
MHAParser::variable_t, 849
locked, 851
op_setval, 850
query_perm, 850
setlock, 851
variable_t, 850
MHAParser::vcomplex_mon_t, 851
data, 854
query_type, 854
query_val, 854
vcomplex_mon_t, 852
MHAParser::vcomplex_t, 855
data, 857
op_setval, 856
query_type, 856
query_val, 856
vcomplex_t, 856
MHAParser::vfloat_mon_t, 857
data, 859
query_type, 858
query_val, 858
vfloat_mon_t, 858
MHAParser::vfloat_t, 859
data, 861
op_setval, 861
query_type, 861
query_val, 861
vfloat_t, 860
MHAParser::vint_mon_t, 862
data, 863
query_type, 863
query_val, 863
vint_mon_t, 863
MHAParser::vint_t, 864
© 2005-2018 HörTech gGmbH, Oldenburg
1398 INDEX
data, 866
op_setval, 865
query_type, 866
query_val, 866
vint_t, 865
MHAParser::vstring_mon_t, 867
data, 868
query_type, 868
query_val, 868
vstring_mon_t, 868
MHAParser::vstring_t, 869
data, 871
op_setval, 870
query_type, 870
query_val, 870
vstring_t, 870
MHAParser::window_t, 871
get_type, 874
get_window, 873,874
user, 875
window_t, 873
wtype, 875
wtype_t, 873
MHAPlugin, 130
MHAPlugin::cfg_chain_t
cfg_chain_t, 876
cfg_chain_t, 876
data, 877
next, 877
not_in_use, 877
MHAPlugin::cfg_chain_t<runtime_cfg_t >,
876
MHAPlugin::config_t
config_t, 879
cfg, 881
cfg_chain, 881
cfg_chain_current, 882
cleanup_unused_cfg, 881
config_t, 879
last_config, 880
poll_config, 880
push_config, 880
remove_all_cfg, 881
MHAPlugin::config_t<runtime_cfg_t >,877
MHAPlugin::plugin_t
plugin_t, 884
ac, 886
input_cfg, 886
input_cfg_, 887
is_prepared, 885
is_prepared_, 887
mhaconfig_in, 887
mhaconfig_out, 887
output_cfg, 886
output_cfg_, 887
plugin_t, 883
prepare, 884
prepare_, 885
release, 885
release_, 885
tftype, 886
MHAPlugin::plugin_t<runtime_cfg_t >,882
MHAPlugin_Resampling, 130
MHAPlugin_Resampling::resampling_if_-
t, 888
algo, 890
chain, 890
fragsize, 890
irslen_inner2outer, 890
irslen_outer2inner, 890
nyquist_ratio, 890
plugloader, 890
prepare, 889
process, 889
release, 889
resampling_if_t, 889
srate, 889
MHAPlugin_Resampling::resampling_t, 891
inner2outer_resampling, 893
inner_fragsize, 892
inner_signal, 893
inner_srate, 892
nchannels_in, 892
nchannels_out, 892
outer2inner_resampling, 893
outer_fragsize, 892
outer_srate, 892
output_signal, 893
plugloader, 893
process, 892
resampling_t, 891
MHAPlugin_Split, 131
MHAPlugin_Split::domain_handler_t, 894
domain_handler_t, 895
deallocate_domains, 896
domain_handler_t, 895
get_signal, 898
operator=, 896
process, 899
processor, 900
put_signal, 897
set_input_domain, 896
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1399
set_output_domain, 896
spec_in, 899
spec_out, 899
wave_in, 899
wave_out, 899
MHAPlugin_Split::dummy_threads_t, 900
catch_thread, 901
dummy_threads_t, 901
kick_thread, 901
MHAPlugin_Split::posix_threads_t, 902
posix_threads_t, 904
attr, 905
catch_condition, 905
catch_thread, 904
current_thread_priority, 905
current_thread_scheduler, 905
kick_condition, 905
kick_thread, 904
kicked, 906
main, 904
mutex, 905
posix_threads_t, 903
priority, 906
processing_done, 906
scheduler, 906
termination_request, 906
thread, 906
thread_start, 904
MHAPlugin_Split::split_t, 907
split_t, 909
algos, 911
chains, 913
channels, 912
clear_chains, 910
collect_result, 911
copy_output_spec, 910
copy_output_wave, 910
delay, 913
framework_thread_priority, 912
framework_thread_scheduler, 912
patchbay, 911
prepare_, 909
process, 910
release_, 909
signal_out, 911
spec_out, 913
split_t, 909
thread_platform, 912
trigger_processing, 910
update, 910
wave_out, 913
worker_thread_priority, 912
worker_thread_scheduler, 912
MHAPlugin_Split::splitted_part_t, 914
splitted_part_t, 916
collect_result, 918
domain, 919
operator=, 916
parse, 917
plug, 918
prepare, 916
release, 917
splitted_part_t, 915,916
thread, 919
trigger_processing, 917
MHAPlugin_Split::thread_platform_t, 919
thread_platform_t, 921
catch_thread, 921
kick_thread, 921
operator=, 921
processor, 922
thread_platform_t, 920
MHAPlugin_Split::uni_processor_t, 922
uni_processor_t, 923
process, 923
MHAPluginCategory_t
mha.h, 1227
MHAPluginDocumentation_t
mha.h, 1227
MHAPrepare_cb
PluginLoader::mhapluginloader_t, 1083
MHAPrepare_t
mha.h, 1226
MHAProc_spec2spec_cb
PluginLoader::mhapluginloader_t, 1083
MHAProc_spec2spec_t
mha.h, 1227
MHAProc_spec2wave_cb
PluginLoader::mhapluginloader_t, 1084
MHAProc_spec2wave_t
mha.h, 1227
MHAProc_wave2spec_cb
PluginLoader::mhapluginloader_t, 1084
MHAProc_wave2spec_t
mha.h, 1227
MHAProc_wave2wave_cb
PluginLoader::mhapluginloader_t, 1083
MHAProc_wave2wave_t
mha.h, 1227
MHARelease_cb
PluginLoader::mhapluginloader_t, 1083
MHARelease_t
© 2005-2018 HörTech gGmbH, Oldenburg
1400 INDEX
mha.h, 1226
MHASet_cb
PluginLoader::mhapluginloader_t, 1084
MHASet_t
mha.h, 1226
MHASignal, 132
copy_permuted, 139
kth_smallest, 135
limit, 135
mean, 137
median, 136
quantile, 137
saveas_mat4, 138,139
scale, 135
signal_counter, 139
MHASignal::async_rmslevel_t, 928
async_rmslevel_t, 929
filled, 930
peaklevel, 929
pos, 930
process, 929
rmslevel, 929
MHASignal::delay_spec_t, 930
delay_spec_t, 931
buffer, 931
delay, 931
delay_spec_t, 931
pos, 931
process, 931
MHASignal::delay_t, 932
delay_t, 933
buffer, 934
channels, 934
delay_t, 933
delays, 934
inspect, 934
pos, 934
process, 933
MHASignal::delay_wave_t, 934
delay_wave_t, 935
buffer, 936
delay, 936
delay_wave_t, 935
pos, 936
process, 935
MHASignal::doublebuffer_t, 936
doublebuffer_t, 938
ch, 940
doublebuffer_t, 937
inner_in, 939
inner_out, 939
inner_process, 938
k_inner, 939
k_outer, 940
min, 939
outer_out, 939
outer_process, 938
this_outer_out, 939
MHASignal::fft_t, 940
fft_t, 941
backward, 942
backward_scale, 943
buf_in, 944
buf_out, 944
fft_t, 941
fftw_plan_fft, 944
fftw_plan_ifft, 945
fftw_plan_spec2wave, 944
fftw_plan_wave2spec, 944
forward, 942
forward_scale, 943
n_im, 944
n_re, 944
nfft, 943
scale, 944
sort_fftw2spec, 943
sort_spec2fftw, 943
spec2wave, 941,942
spec2wave_scale, 942
wave2spec, 941
wave2spec_scale, 942
MHASignal::hilbert_fftw_t, 945
buf_c_in, 946
buf_c_out, 947
buf_r_in, 946
buf_r_out, 946
hilbert, 946
hilbert_fftw_t, 945
n, 946
p1, 946
p2, 946
sc, 947
MHASignal::hilbert_t, 947
hilbert_t, 948
h, 949
hilbert_t, 948
operator(), 948
MHASignal::loop_wavefragment_t, 949
b_loop, 954
get_mapping, 952
intern_level, 954
is_playback_active, 953
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1401
level_mode_t, 950
locate_end, 953
loop_wavefragment_t, 951
playback, 952,953
playback_channels, 954
playback_mode_t, 951
pos, 954
rewind, 953
set_level_db, 953
set_level_lin, 953
MHASignal::matrix_t, 954
matrix_t, 959
cdata, 966
complex_ofs, 966
dimension, 960
get_cdata, 966
get_comm_var, 960
get_index, 965
get_nelements, 960
get_nreals, 965
get_rdata, 965
imag, 961964
is_same_size, 961
iscomplex, 961
matrix_t, 956,958
nelements, 966
numbytes, 965
operator(), 962964
operator=, 959
rdata, 966
real, 961964
size, 960
write, 965
MHASignal::minphase_t, 967
minphase_t, 968
operator(), 968
phase, 968
MHASignal::quantizer_t, 969
downscale, 970
limit, 970
operator(), 969
quantizer_t, 969
up_limit, 970
upscale, 970
MHASignal::ringbuffer_t, 971
contained_frames, 973
discard, 973
next_read_frame_index, 974
next_write_frame_index, 974
ringbuffer_t, 972
value, 973
write, 974
MHASignal::schroeder_t, 975
groupdelay_t, 976
identity, 978
log_down, 979
log_up, 978
schroeder_t, 977,978
sign_t, 977
MHASignal::spectrum_t, 979
spectrum_t, 981
copy, 982
copy_channel, 983
export_to, 983
operator(), 981
operator[], 982
scale, 983
scale_channel, 984
spectrum_t, 980,981
value, 982
MHASignal::stat_t, 985
mean, 985
mean_std, 986
n, 986
push, 986
stat_t, 985
sum, 986
sum2, 986
MHASignal::subsample_delay_t, 987
last_complex_bin, 989
phase_gains, 988
process, 988
subsample_delay_t, 987
MHASignal::uint_vector_t, 989
uint_vector_t, 991
data, 993
get_length, 992
getdata, 993
length, 993
numbytes, 992
operator=, 991
operator==, 991
operator[], 992
uint_vector_t, 990,991
write, 992
MHASignal::waveform_t, 993
waveform_t, 996
assign, 1001
assign_channel, 1002
assign_frame, 1001
copy, 1002
copy_channel, 1003
© 2005-2018 HörTech gGmbH, Oldenburg
1402 INDEX
copy_from_at, 1003
export_to, 1003
get_size, 1006
limit, 1004
operator(), 998
operator=, 997
operator[], 997
power, 1004
powspec, 1004
scale, 1005
scale_channel, 1005
scale_frame, 1006
sum, 999,1000
sum_channel, 1000
sumsqr, 1000
value, 997,998
waveform_t, 995,996
MHASndFile, 140
MHASndFile::sf_t, 1006
sf_t, 1007
sf, 1007
sf_t, 1007
MHASndFile::sf_wave_t, 1007
sf_wave_t, 1008
MHAStrError_cb
PluginLoader::mhapluginloader_t, 1084
MHAStrError_t
mha.h, 1226
MHATableLookup, 140
MHATableLookup::linear_table_t, 1008
linear_table_t, 1010
add_entry, 1011
clear, 1012
interp, 1010
len, 1012
linear_table_t, 1010
lookup, 1010
prepare, 1011
scalefac, 1013
set_xmax, 1011
set_xmin, 1011
vec_y, 1012
vy, 1012
xmax, 1013
xmin, 1013
MHATableLookup::table_t, 1013
table_t, 1014
clear, 1015
interp, 1014
lookup, 1014
table_t, 1014
MHATableLookup::xy_table_t, 1015
add_entry, 1018
clear, 1018
get_xlimits, 1019
interp, 1017
lookup, 1017
mXY, 1020
set_xfun, 1018
set_xyfun, 1019
set_yfun, 1019
xfun, 1020
xy_table_t, 1017
xyfun, 1020
yfun, 1020
MHAWindow, 140
bartlett, 142
blackman, 142
hamming, 142
hanning, 142
rect, 141
MHAWindow::bartlett_t, 1020
bartlett_t, 1021
MHAWindow::base_t, 1022
base_t, 1022,1023
operator(), 1023
ramp_begin, 1023
ramp_end, 1023
MHAWindow::blackman_t, 1024
blackman_t, 1025
MHAWindow::fun_t, 1025
fun_t, 1026
MHAWindow::hamming_t, 1026
hamming_t, 1027
MHAWindow::hanning_t, 1028
hanning_t, 1028
MHAWindow::rect_t, 1029
rect_t, 1030
MHAWindow::user_t, 1030
user_t, 1031
MIN_TCP_PORT_STR
MHAIOTCP.cpp, 1307
MIN_TCP_PORT
MHAIOTCP.cpp, 1307
MIN
mha_defs.h, 1232
mXY
MHATableLookup::xy_table_t, 1020
main
analysemhaplugin.cpp, 1199
browsemhaplugins.cpp, 1201
generatemhaplugindoc.cpp, 1213
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1403
MHAPlugin_Split::posix_threads_t, 904
mha.cpp, 1219
testalsadevice.c, 1332
make_friendly_number
MHAFilter, 104
mhajack.cpp, 1311
make_friendly_number_by_limiting
nlms_wave.cpp, 1320
prediction_error.cpp, 1322
mapping
coherence::vars_t, 266
matmix_t
matrixmixer::matmix_t, 477
matrix_t
MHASignal::matrix_t, 956,958
matrixmixer, 96
matrixmixer.cpp, 1218
matrixmixer::cfg_t, 474
cfg_t, 474
m, 475
process, 474,475
sout, 475
wout, 475
matrixmixer::matmix_t, 476
ci, 478
co, 478
matmix_t, 477
mixer, 478
patchbay, 478
prepare, 477
process, 477
update_m, 477
max
spec2wave.cpp, 1325
Vector and matrix processing toolbox, 65
max_clipped
softclipper_variables_t, 1138
max_fill_count
mha_fifo_t, 535
max_frames
acsave::cfg_t, 178
max_lag
doasvm_feature_extraction, 327
max_level_difference
dc::dc_t, 286
dc::dc_vars_t, 290
max_p_ind_name
doasvm_classification, 322
max_pool_ind_name
acPooling_wave, 168
max_q
timoConfig, 1166
max_q_AC
timo_AC, 1155
max_val
timoConfig, 1166
max_val_AC
timo_AC, 1155
maxInputChannels
MHAIOPortAudio::device_info_t, 695
maxOutputChannels
MHAIOPortAudio::device_info_t, 695
maxabs
Vector and matrix processing toolbox, 63,
64
maxframe
acsave::save_var_t, 182
maxgain
dc_simple::dc_t, 303
dc_simple::dc_vars_t, 307
DynComp::dc_afterburn_rt_t, 341
DynComp::dc_afterburn_vars_t, 346
maximum_reader_xruns_in_succession_-
before_stop
mha_drifter_fifo_t, 521
maximum_writer_xruns_in_succession_-
before_stop
mha_drifter_fifo_t, 520
mcomplex_mon_t
MHAParser::mcomplex_mon_t, 815
mcomplex_t
MHAParser::mcomplex_t, 817
mean
MHA_AC::stat_t, 495
MHASignal, 137
MHASignal::stat_t, 985
mean_std
MHASignal::stat_t, 986
median
MHASignal, 136
mfloat_mon_t
MHAParser::mfloat_mon_t, 819
mfloat_t
MHAParser::mfloat_t, 822
mha.cpp, 1219
main, 1219
mhamain, 1219
mha.h, 1219
algo_comm_t, 1226
MHA_AC_CHAR, 1224
MHA_AC_DOUBLE, 1225
MHA_AC_FLOAT, 1225
© 2005-2018 HörTech gGmbH, Oldenburg
1404 INDEX
MHA_AC_INT, 1224
MHA_AC_MHACOMPLEX, 1225
MHA_AC_MHAREAL, 1225
MHA_AC_UNKNOWN, 1224
MHA_AC_USER, 1225
MHA_AC_VEC_FLOAT, 1225
MHA_CALLBACK_TEST_PREFIX, 1222
MHA_CALLBACK_TEST, 1222
MHA_DOMAIN_MAX, 1224
MHA_DOMAIN_UNKNOWN, 1224
MHA_RELEASE_VERSION_STRING,
1223
MHA_SPECTRUM, 1224
MHA_STRUCT_SIZEMATCH, 1223
MHA_STRF, 1222
MHA_VERSION_BUILD, 1223
MHA_VERSION_MAJOR, 1222
MHA_VERSION_MINOR, 1222
MHA_VERSION_RELEASE, 1223
MHA_VERSION_STRING, 1223
MHA_VERSION, 1223
MHA_WAVEFORM, 1224
MHA_XSTRF, 1222
MHADestroy_t, 1226
MHAGetVersion_t, 1226
MHAInit_t, 1226
MHAPluginCategory_t, 1227
MHAPluginDocumentation_t, 1227
MHAPrepare_t, 1226
MHAProc_spec2spec_t, 1227
MHAProc_spec2wave_t, 1227
MHAProc_wave2spec_t, 1227
MHAProc_wave2wave_t, 1227
MHARelease_t, 1226
MHASet_t, 1226
MHAStrError_t, 1226
mha_domain_t, 1225
mha_algo_comm.cpp, 1228
AC_DIM_MISMATCH, 1229
AC_INVALID_HANDLE, 1228
AC_INVALID_NAME, 1228
AC_INVALID_OUTPTR, 1228
AC_STRING_TRUNCATED, 1228
AC_SUCCESS, 1228
AC_TYPE_MISMATCH, 1229
algo_comm_default, 1229
mha_algo_comm.h, 1229
mha_algo_comm.hh, 1230
ALGO_COMM_ID_STR, 1231
algo_comm_default, 1231
mha_alloc
mha_ruby.cpp, 1264
mha_audio_descriptor_t, 498
cf, 499
chdir, 500
dt, 499
is_complex, 499
n_channels, 499
n_freqs, 499
n_samples, 499
mha_audio_t, 500
cdata, 501
descriptor, 501
rdata, 501
mha_channel_info_t, 501
dir, 502
id, 502
idstr, 502
peaklevel, 502
side, 502
mha_complex
Complex arithmetics in the openMHA, 70
mha_complex_t, 503
im, 503
re, 503
mha_dblbuf_t
mha_dblbuf_t, 506
delay, 510
fifo_size, 510
get_delay, 507
get_fifo_size, 507
get_inner_error, 508
get_inner_size, 506
get_input_channels, 507
get_input_fifo_fill_count, 507
get_input_fifo_space, 508
get_outer_size, 506
get_output_channels, 507
get_output_fifo_fill_count, 507
get_output_fifo_space, 508
inner_error, 511
inner_size, 510
input, 509
input_channels, 510
input_fifo, 511
mha_dblbuf_t, 505
outer_error, 511
outer_size, 510
output, 509
output_channels, 511
output_fifo, 511
process, 508
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1405
provoke_inner_error, 508
provoke_outer_error, 508
value_type, 505
mha_dblbuf_t<FIFO >,503
mha_debug
Error handling in the openMHA, 34
mha_defs.h, 1231
__MHA_FUN__, 1232
__declspec, 1232
CHECK_EXPR, 1232
CHECK_VAR, 1232
M_PI, 1232
MAX, 1233
MHA_EAR_LEFT, 1233
MHA_EAR_MAX, 1233
MHA_EAR_RIGHT, 1233
MIN, 1232
mha_direction_t, 512
azimuth, 512
distance, 513
elevation, 512
mha_domain_t
mha.h, 1225
mha_drifter_fifo_t
desired_fill_count, 519
get_available_space, 517
get_des_fill_count, 517
get_fill_count, 517
get_min_fill_count, 518
maximum_reader_xruns_in_succession-
_before_stop, 521
maximum_writer_xruns_in_succession-
_before_stop, 520
mha_drifter_fifo_t, 515
minimum_fill_count, 518
null_data, 521
read, 516
reader_started, 519
reader_xruns_in_succession, 520
reader_xruns_since_start, 520
reader_xruns_total, 519
starting, 518
startup_zeros, 521
stop, 518
write, 516
writer_started, 519
writer_xruns_in_succession, 520
writer_xruns_since_start, 520
writer_xruns_total, 519
mha_drifter_fifo_t<T>,513
mha_errno.c, 1233
cstr_strerror, 1234
mha_set_user_error, 1234
mha_strerror, 1234
next_except_str, 1234
STRLEN, 1234
mha_errno.h, 1235
MHA_ERR_INVALID_HANDLE, 1235
MHA_ERR_NULL, 1235
MHA_ERR_SUCCESS, 1235
MHA_ERR_UNKNOWN, 1235
MHA_ERR_USER, 1236
MHA_ERR_VARFMT, 1236
MHA_ERR_VARRANGE, 1235
mha_set_user_error, 1236
mha_strerror, 1236
mha_error.cpp, 1236
mha_error.hh, 1237
Getmsg, 1238
mha_error_helpers, 97
digits, 98
snprintf_required_length, 98
mha_event_emitter.h, 1238
mha_events.cpp, 1238
mha_events.h, 1238
mha_exit_request
mha_ruby.cpp, 1264
mha_fft
timoConfig, 1162
mha_fft_backward
Fast Fourier Transform functions, 85
mha_fft_backward_scale
Fast Fourier Transform functions, 86
mha_fft_forward
Fast Fourier Transform functions, 85
mha_fft_forward_scale
Fast Fourier Transform functions, 86
mha_fft_free
Fast Fourier Transform functions, 81
mha_fft_new
Fast Fourier Transform functions, 81
mha_fft_spec2wave
Fast Fourier Transform functions, 83,84
mha_fft_spec2wave_scale
Fast Fourier Transform functions, 87
mha_fft_t
Fast Fourier Transform functions, 81
mha_fft_wave2spec
Fast Fourier Transform functions, 82
mha_fft_wave2spec_scale
Fast Fourier Transform functions, 86
mha_fftfb.cpp, 1239
© 2005-2018 HörTech gGmbH, Oldenburg
1406 INDEX
BARKSCALE_ENTRIES, 1240
filtershapefun, 1240
mha_fftfb.hh, 1241
mha_fifo.cpp, 1241
mha_fifo.h, 1241
mha_fifo_thread_platform_implementation-
_t, 1242
mha_fifo_lw_t
mha_fifo_lw_t, 525
error, 527
mha_fifo_lw_t, 525
read, 526
set_error, 527
sync, 527
write, 526
mha_fifo_lw_t<T>,524
mha_fifo_posix_threads_t, 528
mha_fifo_posix_threads_t, 529
aquire_mutex, 529
decrease_condition, 530
decrement, 530
increase_condition, 530
increment, 530
mha_fifo_posix_threads_t, 529
mutex, 530
release_mutex, 529
wait_for_decrease, 529
wait_for_increase, 529
mha_fifo_t
mha_fifo_t, 533
buf, 536
buf_uses_placement_new, 536
clear, 535
get_available_space, 534
get_fill_count, 534
get_max_fill_count, 535
max_fill_count, 535
mha_fifo_t, 532,533
operator=, 535
read, 534
read_ptr, 536
value_type, 532
write, 533
write_ptr, 536
mha_fifo_t<T>,531
mha_fifo_thread_guard_t, 537
mha_fifo_thread_guard_t, 537
mha_fifo_thread_guard_t, 537
sync, 537
mha_fifo_thread_platform_implementation_t
mha_fifo.h, 1242
mha_fifo_thread_platform_t, 538
mha_fifo_thread_platform_t, 539
aquire_mutex, 539
decrement, 540
increment, 540
mha_fifo_thread_platform_t, 539
operator=, 541
release_mutex, 539
wait_for_decrease, 540
wait_for_increase, 540
mha_filter.cpp, 1242
diff_coeffs, 1242
mha_filter.hh, 1243
mha_free
mha_ruby.cpp, 1264
mha_freelib
mha_os.h, 1249
mha_freelib_success
mha_os.h, 1250
mha_generic_chain.cpp, 1244
mhaconfig_compare, 1244
mha_generic_chain.h, 1245
MHAPLUGIN_OVERLOAD_OUTDOM-
AIN, 1245
mha_getenv
mha_os.cpp, 1248
mha_os.h, 1251
mha_getlibfun
mha_os.h, 1250
mha_getlibfun_checked
mha_os.h, 1250
mha_hton
mha_os.h, 1252
mha_io_ifc.h, 1245
IODestroy_t, 1247
IOInit_t, 1246
IOPrepare_t, 1246
IOProcessEvent_t, 1246
IORelease_t, 1247
IOSetVar_t, 1247
IOStart_t, 1246
IOStartedEvent_t, 1246
IOStop_t, 1246
IOStoppedEvent_t, 1246
IOStrError_t, 1247
mha_lib_extension
mha_os.h, 1250
mha_libhandle_t
mha_os.h, 1251
mha_library_paths
mha_os.cpp, 1248
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1407
mha_os.h, 1251
mha_loadlib
mha_os.h, 1249
mha_loadlib_error
mha_os.h, 1250
mha_min_1
mha_signal.hh, 1277
mha_msleep
mha_os.h, 1250
mha_multisrc.cpp, 1247
mha_multisrc.h, 1247
mha_ntoh
mha_os.h, 1252
mha_os.cpp, 1248
list_dir, 1248
mha_getenv, 1248
mha_library_paths, 1248
mha_os.h, 1248
FMTsz, 1250
list_dir, 1251
MHA_RESOLVE_CHECKED, 1251
MHA_RESOLVE, 1251
mha_freelib, 1249
mha_freelib_success, 1250
mha_getenv, 1251
mha_getlibfun, 1250
mha_getlibfun_checked, 1250
mha_hton, 1252
mha_lib_extension, 1250
mha_libhandle_t, 1251
mha_library_paths, 1251
mha_loadlib, 1249
mha_loadlib_error, 1250
mha_msleep, 1250
mha_ntoh, 1252
mha_parse
mha_ruby.cpp, 1265
mha_parser.cpp, 1253
MHAPLATFORM, 1253
parse_1_complex, 1254
parse_1_float, 1254
write_float, 1253
mha_parser.hh, 1255
DEFAULT_RETSIZE, 1258
insert_member, 1258
mha_platform_tic
mha_profiling.c, 1262
mha_profiling.h, 1263
mha_platform_tictoc_t
mha_profiling.h, 1263
mha_platform_toc
mha_profiling.c, 1262
mha_profiling.h, 1263
mha_plugin.hh, 1259
__attribute__, 1261
__declspec, 1260
GITCOMMITHASH, 1260
HINSTANCE, 1260
MHAPLUGIN_DOCUMENTATION_PR-
EFIX, 1261
MHAPLUGIN_INIT_CALLBACKS_PRE-
FIX, 1261
MHAPLUGIN_INIT_CALLBACKS, 1261
MHAPLUGIN_PROC_CALLBACK_PR-
EFIX, 1260
MHAPLUGIN_PROC_CALLBACK, 1261
WINAPI, 1260
mha_profiling.c, 1262
mha_platform_tic, 1262
mha_platform_toc, 1262
mha_tic, 1262
mha_toc, 1262
mha_profiling.h, 1263
mha_platform_tic, 1263
mha_platform_tictoc_t, 1263
mha_platform_toc, 1263
mha_real_t
Vector and matrix processing toolbox, 43
mha_round
mha_signal.hh, 1277
mha_rt_fifo_element_t
mha_rt_fifo_element_t, 542
abandonned, 542
data, 543
mha_rt_fifo_element_t, 542
next, 542
mha_rt_fifo_element_t<T>,541
mha_rt_fifo_t
mha_rt_fifo_t, 544
current, 546
mha_rt_fifo_t, 544
poll, 545
poll_1, 545
push, 545
remove_abandonned, 546
remove_all, 546
root, 546
mha_rt_fifo_t<T>,543
mha_ruby.cpp, 1264
Init_mha_ruby, 1265
mha_alloc, 1264
mha_exit_request, 1264
© 2005-2018 HörTech gGmbH, Oldenburg
1408 INDEX
mha_free, 1264
mha_parse, 1265
rb_f_t, 1264
mha_set_user_error
mha_errno.c, 1234
mha_errno.h, 1236
mha_signal.cpp, 1265
ASSERT_EQUAL_DIM_PTR, 1268
ASSERT_EQUAL_DIM, 1268
intensity, 1268
MHA_ID_MATRIX, 1268
MHA_ID_UINT_VECTOR, 1267
safe_div, 1268
set_minabs, 1268
mha_signal.hh, 1269
M_PI, 1277
mha_min_1, 1277
mha_round, 1277
operator<<,1278
operator>>,1278
safe_div, 1278
set_minabs, 1278
value, 1278
mha_signal_fft.h, 1279
mha_spec_t, 547
buf, 548
channel_info, 548
num_channels, 548
num_frames, 548
mha_strerror
mha_errno.c, 1234
mha_errno.h, 1236
mha_tablelookup.cpp, 1279
mha_tablelookup.hh, 1279
mha_tcp.cpp, 1280
ASYNC_CONNECT_STARTED, 1281
closesocket, 1281
host_port_to_sock_addr, 1281
INVALID_SOCKET, 1280
SOCKET_ERROR, 1281
SOCKET, 1281
tcp_connect_to, 1281
tcp_connect_to_with_timeout, 1282
thread_start_func, 1282
mha_tcp.hh, 1282
Sleep, 1283
mha_test_struct_size
PluginLoader::mhapluginloader_t, 1082
mha_tic
mha_profiling.c, 1262
mha_tictoc_t, 582
t, 582
tv1, 582
tv2, 582
tz, 582
mha_toc
mha_profiling.c, 1262
mha_toolbox.h, 1284
mha_wave_t, 583
buf, 584
channel_info, 584
num_channels, 584
num_frames, 584
mha_windowparser.cpp, 1284
wnd_funs, 1284
mha_windowparser.h, 1284
mhachain, 101
mhachain.cpp, 1285
mhachain::chain_base_t, 585
algos, 587
b_prepared, 588
bprofiling, 587
cfin, 588
cfout, 588
chain, 588
chain_base_t, 586
old_algos, 588
patchbay, 588
prepare, 587
process, 586,587
release, 587
update, 587
mhachain::mhachain_t, 589
mhachain_t, 589
mhachain::plugs_t, 590
plugs_t, 591
ac, 592
algos, 592
alloc_plugs, 592
b_prepared, 592
b_use_profiling, 594
chain, 593
cleanup_plugs, 592
parser, 592
plugs_t, 590
prepare, 591
prepared, 591
proc_cnt, 594
process, 591
prof_algos, 593
prof_cfg, 594
prof_init, 593
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1409
prof_load_con, 594
prof_prepare, 593
prof_process, 593
prof_process_load, 594
prof_process_tt, 593
prof_release, 593
prof_tt_con, 594
profiling, 593
release, 591
tictoc, 594
update_proc_load, 592
mhachain_t
mhachain::mhachain_t, 589
mhaconfig_compare
mha_generic_chain.cpp, 1244
PluginLoader, 143
mhaconfig_in
MHAPlugin::plugin_t, 887
mhaconfig_mon_t
MHAParser::mhaconfig_mon_t, 824
mhaconfig_out
MHAPlugin::plugin_t, 887
mhaconfig_t, 595
channels, 596
domain, 596
fftlen, 596
fragsize, 596
srate, 597
wndlen, 596
mhafft
hilbert_shifter_t, 407
mhafw_lib.cpp, 1285
mhafw_lib.h, 1285
mhajack.cpp, 1311
dummy_jack_proc_cb, 1311
jack_error_handler, 1311
last_jack_err, 1312
last_jack_err_msg, 1312
make_friendly_number, 1311
mhajack.h, 1312
IO_ERROR_JACK, 1313
IO_ERROR_MHAJACKLIB, 1314
last_jack_err_msg, 1314
MAX_USER_ERR, 1314
MHAJACK_FW_STARTED, 1313
MHAJACK_STARTING, 1313
MHAJACK_STOPPED, 1313
mhamain
mha.cpp, 1219
mhamain.cpp, 1315
mhamain.cpp, 1314
create_lock, 1315
GREETING_TEXT, 1315
HELP_TEXT, 1315
MAX_LINE_LENGTH, 1315
mhamain, 1315
remove_lock, 1315
mhaplug_cfg_t, 875
mhaplug_cfg_t, 876
mhaplug_cfg_t, 875
mhapluginloader.cpp, 1316
mhapluginloader.h, 1316
mhapluginloader_t
MHAParser::mhapluginloader_t, 827
PluginLoader::mhapluginloader_t, 1078
mhaserver_t, 924
mhaserver_t, 925
acceptor_started, 926
ack_fail, 927
ack_ok, 927
announce_port, 927
logfile, 927
logstring, 926
mhaserver_t, 925
pid_mon, 927
port, 927
received_group, 925
run, 926
set_announce_port, 926
tcpserver, 927
mhasndfile.cpp, 1316
validator_channels, 1317
validator_length, 1317
write_wave, 1316
mhasndfile.h, 1317
write_wave, 1317
mhastrdomain
PluginLoader, 143
min
MHASignal::doublebuffer_t, 939
spec2wave.cpp, 1325
Vector and matrix processing toolbox, 65
minimum_fill_count
mha_drifter_fifo_t, 518
minphase
MHAFilter::smoothspec_t, 679
minphase_t
MHASignal::minphase_t, 968
minw_
wavwriter_t, 1187
minwrite
wavrec_t, 1184
© 2005-2018 HörTech gGmbH, Oldenburg
1410 INDEX
mix
sine_cfg_t, 1123
mixer
matrixmixer::matmix_t, 478
mixw_ref
hilbert_shifter_t, 406
mixw_shift
hilbert_shifter_t, 406
mode
MHA_TCP::OS_EVENT_TYPE, 564
noise_t, 1046
sine_t, 1125
smoothgains_bridge::overlapadd_if_-
t, 1128
modified
dc::dc_vars_t, 290
dc_simple::dc_if_t, 300
modulename
dynamiclib_t, 339
MHAParser::c_ifc_parser_t, 785
mon
acmon::ac_monitor_t, 158
mon_complex
acmon::ac_monitor_t, 158
mon_dump
MHAParser, 123
mon_g
dc_simple::dc_if_t, 300
dc_simple::dc_t, 304
mon_l
dc_simple::dc_if_t, 300
dc_simple::dc_t, 304
mon_mat
acmon::ac_monitor_t, 158
mon_mat_complex
acmon::ac_monitor_t, 158
mon_t, 1032
mon_t, 1032
store, 1033
monitor variable, 4
monitor_t
MHAParser::monitor_t, 832
mpo
DynComp::dc_afterburn_vars_t, 346
mpo_inv
DynComp::dc_afterburn_rt_t, 341
msg
MHA_Error, 524
mu
MHAFilter::adapt_filter_param_t, 608
MHAFilter::adapt_filter_t, 612
mu_beta
adm_if_t, 207
multibandcompressor, 142
multibandcompressor.cpp, 1318
multibandcompressor::fftfb_plug_t, 1033
bwv, 1035
cfv, 1034
efv, 1034
fftfb_plug_t, 1034
insert, 1034
multibandcompressor::interface_t, 1035
algo, 1038
burn, 1037
interface_t, 1036
num_channels, 1037
patchbay, 1038
plug, 1038
plug_sigs, 1038
prepare, 1037
process, 1037
release, 1037
update_cfg, 1037
multibandcompressor::plugin_signals_t, 1038
apply_gains, 1039
gain, 1039
plug_level, 1039
plug_output, 1040
plugin_signals_t, 1039
update_levels, 1039
mute
MHAJack::port_t, 722
mutex
MHAPlugin_Split::posix_threads_t, 905
mha_fifo_posix_threads_t, 530
mylogf
dc_afterburn.cpp, 1203
N
lpc_config, 472
n
MHAJack::client_avg_t, 705
MHASignal::hilbert_fftw_t, 946
MHASignal::stat_t, 986
N_ERRNO
MHA_TCP, 100
n_channels
mha_audio_descriptor_t, 499
n_freqs
mha_audio_descriptor_t, 499
n_im
MHASignal::fft_t, 944
n_no_update
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1411
nlms_t, 1043
prediction_error, 1090
n_no_update_
prediction_error_config, 1094
rt_nlms_t, 1110
n_pad1
overlapadd::overlapadd_t, 1060
n_pad2
overlapadd::overlapadd_t, 1060
n_re
MHASignal::fft_t, 944
n_samples
mha_audio_descriptor_t, 499
n_zero
overlapadd::overlapadd_t, 1060
NORM_DEFAULT
nlms_wave.cpp, 1319
NORM_NONE
nlms_wave.cpp, 1319
NORM_SUM
nlms_wave.cpp, 1319
NORMALIZATION_TYPES
nlms_wave.cpp, 1319
NUM_ENTR_LTASS
speechnoise.cpp, 1327
NUM_ENTR_MHAORIG
speechnoise.cpp, 1326
NUM_ENTR_OLNOISE
speechnoise.cpp, 1327
name
ac2wave_if_t, 147
ac2wave_t, 150
acmon::ac_monitor_t, 158
acsave::save_var_t, 181
MHA_AC::ac2matrix_helper_t, 480
MHA_AC::spectrum_t, 494
MHA_AC::waveform_t, 498
MHAIOPortAudio::device_info_t, 695
MHAJack::client_avg_t, 705
MHAJack::client_noncont_t, 709
MHAMultiSrc::channel_t, 731
MHAParser::entry_t, 793
noisePowProposedScale::interface_-
t, 1049
plugindescription_t, 1069
rmslevel_if_t, 1098
shadowfilter_end::cfg_t, 1119
name_
AuditoryProfile::parser_t::fmap_t, 240
name_b
lpc_bl_predictor, 460
lpc_bl_predictor_config, 463
lpc_burglattice, 467
lpc_burglattice_config, 470
name_conAC
acConcat_wave, 153
name_d
nlms_t, 1042
name_d_
prediction_error_config, 1093
rt_nlms_t, 1110
name_e
nlms_t, 1043
prediction_error, 1089
name_e_
rt_nlms_t, 1110
name_f
lpc_bl_predictor, 460
lpc_bl_predictor_config, 463
lpc_burglattice, 467
lpc_burglattice_config, 470
nlms_t, 1043
prediction_error, 1089
name_kappa
lpc_bl_predictor, 460
lpc_burglattice, 467
name_km
lpc_bl_predictor_config, 463
name_lpc
prediction_error, 1090
name_lpc_
prediction_error_config, 1094
name_lpc_b
lpc_bl_predictor, 460
name_lpc_f
lpc_bl_predictor, 460
name_u
nlms_t, 1042
name_u_
rt_nlms_t, 1110
namelen
acsave::mat4head_t, 179
names
MHAOvlFilter::scale_var_t, 763
nangle
acSteer_config, 188
steerbf_config, 1152
naudiochannels
dc::dc_t, 286
nbands
coherence::cohflt_t, 261
combc_t, 270
© 2005-2018 HörTech gGmbH, Oldenburg
1412 INDEX
dc::dc_t, 286
dc_simple::dc_t, 304
dc_simple::level_smoother_t, 310
DynComp::gaintable_t, 350
fftfilterbank::fftfb_interface_t, 381
MHAFilter::thirdoctave_analyzer_t, 680
MHAOvlFilter::fspacing_t, 754
nbits
calibrator_variables_t, 252
nch
shadowfilter_begin::cfg_t, 1115
shadowfilter_begin::shadowfilter_begin-
_t, 1118
spec_fader_t, 1144
nch_out
shadowfilter_end::cfg_t, 1119
nchan
acSteer_config, 187
steerbf_config, 1151
timoConfig, 1162
nchannels
DynComp::gaintable_t, 350
fftfilterbank::fftfb_interface_t, 381
MHAFilter::adapt_filter_state_t, 610
MHAFilter::adapt_filter_t, 613
MHAFilter::iir_filter_t, 647
MHAFilter::smoothspec_t, 678
MHAFilter::thirdoctave_analyzer_t, 680
nchannels_file_in
io_file_t, 415
nchannels_in
io_file_t, 415
io_parser_t, 426
MHAFilter::partitioned_convolution_t, 664
MHAIOPortAudio::io_portaudio_t, 699
MHAJack::client_t, 717
MHAPlugin_Resampling::resampling_t,
892
nchannels_out
fw_t, 393
io_file_t, 415
io_parser_t, 426
MHAFilter::partitioned_convolution_t, 664
MHAIOPortAudio::io_portaudio_t, 699
MHAJack::client_t, 717
MHAPlugin_Resampling::resampling_t,
892
ndim
acsave::save_var_t, 182
needs_write
MHA_TCP::Connection, 559
neigh
acPooling_wave_config, 172
neighbourhood
acPooling_wave, 168
nelements
MHASignal::matrix_t, 966
nested_lock
MHAParser::base_t, 776
newgains
fader_if_t, 373
next
MHAPlugin::cfg_chain_t, 877
mha_rt_fifo_element_t, 542
next_except_str
mha_errno.c, 1234
next_read_frame_index
MHASignal::ringbuffer_t, 974
next_write_frame_index
MHASignal::ringbuffer_t, 974
nfft
MHASignal::fft_t, 943
overlapadd::overlapadd_if_t, 1055
shadowfilter_end::cfg_t, 1119
spec2wave_t, 1143
wave2spec_if_t, 1177
nfft_
MHAOvlFilter::fspacing_t, 755
nframes
acsave::save_var_t, 181
nfreq
acSteer_config, 187
steerbf_config, 1152
timoConfig, 1162
nlms_t, 1040
algo, 1043
c, 1042
estimtype, 1043
lambda_smoothing_power, 1043
n_no_update, 1043
name_d, 1042
name_e, 1043
name_f, 1043
name_u, 1042
nlms_t, 1041
normtype, 1043
ntaps, 1042
patchbay, 1043
prepare, 1041
process, 1042
release, 1041
rho, 1042
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1413
update, 1042
nlms_wave.cpp, 1318
ESTIM_CUR, 1319
ESTIM_PREV, 1319
ESTIMATION_TYPES, 1319
make_friendly_number_by_limiting, 1320
NORM_DEFAULT, 1319
NORM_NONE, 1319
NORM_SUM, 1319
NORMALIZATION_TYPES, 1319
nm
lpc_burglattice_config, 469
no_iter
prediction_error_config, 1094
rt_nlms_t, 1110
noise.cpp, 1320
noise_t, 1044
frozennoise_length, 1046
lev, 1046
mode, 1046
noise_t, 1045
patchbay, 1046
prepare, 1045
process, 1045
update_cfg, 1045
noise_type_t
speechnoise_t, 1145
noisePow
noisePowProposedScale::noisePow-
Proposed, 1051
timoConfig, 1164
noisePow_name
timo_params, 1160
timoSmooth, 1172
noisePowProposed
noisePowProposedScale::noisePow-
Proposed, 1050
noisePowProposedScale, 143
noisePowProposedScale.cpp, 1320
POWSPEC_FACTOR, 1320
noisePowProposedScale::interface_t, 1047
alphaPH1mean, 1048
alphaPSD, 1049
interface_t, 1048
name, 1049
patchbay, 1049
prepare, 1048
process, 1048
q, 1049
update_cfg, 1048
xiOptDb, 1049
noisePowProposedScale::noisePowProposed,
1049
alphaPH1mean_, 1052
alphaPSD_, 1052
estimateDebug, 1052
frameno, 1053
GLRDebug, 1051
GLRexp, 1052
inputPow, 1051
inputSpec, 1052
insert, 1050
logGLRFact, 1052
noisePow, 1051
noisePowProposed, 1050
noisyPer, 1051
PH1Debug, 1051
PH1mean, 1051
priorFact, 1052
process, 1050
snrPost1Debug, 1051
xiOpt, 1052
noisyPer
noisePowProposedScale::noisePow-
Proposed, 1051
non_empty_partitions
MHAFilter::transfer_function_t, 684
MHAFilter::transfer_matrix_t, 686
nondefault_labels
altplugs_t, 224
norm
lpc, 457
lpc_config, 472
normalize
Complex arithmetics in the openMHA, 78
MHAOvlFilter::fftfb_vars_t, 747
normtype
nlms_t, 1043
not_in_use
MHAPlugin::cfg_chain_t, 877
not_zero
dc_simple, 93
notify
MHAParser::base_t, 773
notify_release
io_tcp_t, 450
notify_start
io_tcp_t, 450
notify_stop
io_tcp_t, 450
now_index
MHAFilter::polyphase_resampling_t, 672
© 2005-2018 HörTech gGmbH, Oldenburg
1414 INDEX
npad1
spec2wave_t, 1142
wave2spec_t, 1180
npad2
spec2wave_t, 1142
wave2spec_t, 1181
nrefmic
acSteer, 186
acSteer_config, 187
nrep
MHAJack::client_avg_t, 705
nsteerchan
acSteer, 185
acSteer_config, 187
ntaps
MHAFilter::adapt_filter_state_t, 609
MHAFilter::adapt_filter_t, 613
nlms_t, 1042
prediction_error, 1089
prediction_error_config, 1093
rt_nlms_t, 1108
ntoh
io_tcp_sound_t, 443
ntracks
shadowfilter_begin::cfg_t, 1116
shadowfilter_begin::shadowfilter_begin-
_t, 1118
shadowfilter_end::cfg_t, 1119
null_data
mha_drifter_fifo_t, 521
num_AC
acConcat_wave, 153
num_adms
adm_rtconfig_t, 211
num_brackets
MHAParser::StrCnv, 125
num_channels
calibrator_variables_t, 253
DynComp::gaintable_t, 351
MHAFilter::blockprocessing_polyphase-
_resampling_t, 616
mha_spec_t, 548
mha_wave_t, 584
multibandcompressor::interface_t, 1037
num_entries
comm_var_t, 272
num_F
DynComp::gaintable_t, 351
num_frames
mha_spec_t, 548
mha_wave_t, 584
num_inchannels
io_tcp_sound_t, 445
num_L
DynComp::gaintable_t, 351
num_outchannels
io_tcp_sound_t, 445
num_xruns
MHAJack::client_t, 717
numDevices
MHAIOPortAudio::device_info_t, 694
numSamples_AC
acConcat_wave_config, 155
numbytes
MHASignal::matrix_t, 965
MHASignal::uint_vector_t, 992
numsamples
acPooling_wave, 167
acTransform_wave, 191
nupsample
doasvm_feature_extraction, 327
nvars
acsave::cfg_t, 178
nwnd
overlapadd::overlapadd_if_t, 1056
wave2spec_if_t, 1177
wave2spec_t, 1180
nwndshift
spec2wave_t, 1143
wave2spec_t, 1180
nyquist_ratio
MHAPlugin_Resampling::resampling_if-
_t, 890
o1_ar_filter_t
MHAFilter::o1_ar_filter_t, 652
o1_lp_coeffs
MHAFilter, 104
o1flt_lowpass_t
MHAFilter::o1flt_lowpass_t, 656
o1flt_maxtrack_t
MHAFilter::o1flt_maxtrack_t, 659
o1flt_mintrack_t
MHAFilter::o1flt_mintrack_t, 661
OVERLAP_FACTOR
timoconfig.cpp, 1333
observe
MHA_TCP::Event_Watcher, 562
observed_by
MHA_TCP::Wakeup_Event, 580
observers
MHA_TCP::Wakeup_Event, 581
od
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1415
MHAFilter::adapt_filter_state_t, 610
offset
acTransform_wave_config, 194
ola1
overlapadd::overlapadd_t, 1058
ola2
overlapadd::overlapadd_t, 1058
ola_powspec_scale
timoConfig, 1163
old_algos
mhachain::chain_base_t, 588
on_model_param_valuechanged
timoSmooth, 1170
on_prereadaccess
example3_t, 360
example4_t, 364
on_scale_ch_readaccess
example3_t, 360
example4_t, 364
on_scale_ch_valuechanged
example3_t, 360
example4_t, 364
on_scale_ch_writeaccess
example3_t, 360
example4_t, 364
op
MHAParser::expression_t, 795
op_query
MHAParser::base_t, 769
MHAParser::c_ifc_parser_t, 785
MHAParser::monitor_t, 832
MHAParser::parser_t, 837
op_setval
MHAParser::base_t, 769
MHAParser::bool_t, 781
MHAParser::c_ifc_parser_t, 785
MHAParser::complex_t, 792
MHAParser::float_t, 799
MHAParser::int_t, 804
MHAParser::kw_t, 812
MHAParser::mcomplex_t, 817
MHAParser::mfloat_t, 822
MHAParser::parser_t, 836
MHAParser::string_t, 848
MHAParser::variable_t, 850
MHAParser::vcomplex_t, 856
MHAParser::vfloat_t, 861
MHAParser::vint_t, 865
MHAParser::vstring_t, 870
op_subparse
MHAParser::base_t, 768
MHAParser::c_ifc_parser_t, 784
MHAParser::parser_t, 836
opact_map_t
MHAParser, 121
opact_t
MHAParser, 121
operator!=
Complex arithmetics in the openMHA, 77
operator<
Complex arithmetics in the openMHA, 79
operator<<
mha_signal.hh, 1278
operator>>
mha_signal.hh, 1278
operator
Complex arithmetics in the openMHA, 74,
75
operator=
Complex arithmetics in the openMHA, 74
Vector and matrix processing toolbox, 59,
60
operator=
Vector and matrix processing toolbox, 61
operator()
dc_simple::dc_t::line_t, 305
hanning_ramps_t, 403
MHAEvents::emitter_t, 604
MHAFilter::gamma_flt_t, 639,640
MHAFilter::iir_ord1_real_t, 649,650
MHAFilter::o1_ar_filter_t, 653,654
MHASignal::hilbert_t, 948
MHASignal::matrix_t, 962964
MHASignal::minphase_t, 968
MHASignal::quantizer_t, 969
MHASignal::spectrum_t, 981
MHASignal::waveform_t, 998
MHAWindow::base_t, 1023
operator+
Complex arithmetics in the openMHA, 72,
73
operator+=
Complex arithmetics in the openMHA, 72,
73
Vector and matrix processing toolbox, 58,
59,61
operator-
Complex arithmetics in the openMHA, 73,
74,76
operator-=
Complex arithmetics in the openMHA, 73
Vector and matrix processing toolbox, 59
© 2005-2018 HörTech gGmbH, Oldenburg
1416 INDEX
operator/
Complex arithmetics in the openMHA, 76
operator/=
Complex arithmetics in the openMHA, 75,
76
Vector and matrix processing toolbox, 60
operator=
MHA_AC::acspace2matrix_t, 485
MHA_Error, 523
MHAPlugin_Split::domain_handler_t, 896
MHAPlugin_Split::splitted_part_t, 916
MHAPlugin_Split::thread_platform_t, 921
MHASignal::matrix_t, 959
MHASignal::uint_vector_t, 991
MHASignal::waveform_t, 997
mha_fifo_t, 535
mha_fifo_thread_platform_t, 541
operator==
Complex arithmetics in the openMHA, 77
MHASignal::uint_vector_t, 991
operator[]
MHA_AC::acspace2matrix_t, 485
MHASignal::spectrum_t, 982
MHASignal::uint_vector_t, 992
MHASignal::waveform_t, 997
operators
MHAParser::base_t, 775
oplist
MHAParser::base_t, 774
order
lpc_config, 472
origname
PluginLoader::config_file_splitter_t, 1072
os_event
MHA_TCP::Wakeup_Event, 581
os_event_valid
MHA_TCP::Wakeup_Event, 582
out
adm_if_t, 206
delaysum::delaysum_t, 318
out_buf
overlapadd::overlapadd_t, 1060
spec2wave_t, 1142
out_chunk
MHAFilter::thirdoctave_analyzer_t, 681
out_chunk_im
MHAFilter::thirdoctave_analyzer_t, 682
out_spec
shadowfilter_begin::cfg_t, 1115
shadowfilter_end::cfg_t, 1120
outSpec
steerbf_config, 1152
outbuf
MHA_TCP::Connection, 560
outch
MHAJack::client_t, 718
outchannels
combc_if_t, 268
outer2inner_resampling
MHAPlugin_Resampling::resampling_t,
893
outer_ac
analysepath_t, 228
outer_ac_copy
analysepath_t, 228
outer_error
mha_dblbuf_t, 511
outer_fragsize
MHAPlugin_Resampling::resampling_t,
892
outer_out
MHASignal::doublebuffer_t, 939
outer_process
MHASignal::doublebuffer_t, 938
outer_size
mha_dblbuf_t, 510
outer_srate
MHAPlugin_Resampling::resampling_t,
892
output
io_parser_t, 427
mha_dblbuf_t, 509
output_cfg
MHAPlugin::plugin_t, 886
output_cfg_
MHAPlugin::plugin_t, 887
output_channels
mha_dblbuf_t, 511
output_domain
PluginLoader::mhapluginloader_t, 1080
output_fifo
mha_dblbuf_t, 511
output_partitions
MHAFilter::partitioned_convolution_t, 664
output_portnames
MHAJack::client_t, 719
output_sample_format
io_file_t, 416
output_signal
MHAPlugin_Resampling::resampling_t,
893
output_signal_spec
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1417
MHAFilter::partitioned_convolution_t, 665
output_signal_wave
MHAFilter::partitioned_convolution_t, 666
outputchannels
MHAFilter::fftfilterbank_t, 631
overlap_save_filterbank_analytic_t
MHAOvlFilter::overlap_save_filterbank_-
analytic_t, 757
overlap_save_filterbank_t
MHAOvlFilter::overlap_save_filterbank_t,
759
overlapadd, 143
overlapadd.cpp, 1321
overlapadd::overlapadd_if_t, 1053
overlapadd_if_t, 1054
algo, 1057
cf_in, 1057
cf_out, 1057
nfft, 1055
nwnd, 1056
overlapadd_if_t, 1054
patchbay, 1055
plugloader, 1056
postscale, 1057
prepare, 1055
prescale, 1056
process, 1055
release, 1055
update, 1055
window, 1056
wndexp, 1056
wndpos, 1056
zerowindow, 1056
overlapadd::overlapadd_t, 1057
overlapadd_t, 1058
calc_out, 1059
fft, 1059
n_pad1, 1060
n_pad2, 1060
n_zero, 1060
ola1, 1058
ola2, 1058
out_buf, 1060
overlapadd_t, 1058
postwnd, 1059
prewnd, 1059
spec_in, 1059
wave_in1, 1059
wave_out1, 1059
write_buf, 1060
overlapadd_if_t
overlapadd::overlapadd_if_t, 1054
smoothgains_bridge::overlapadd_if_-
t, 1127
overlapadd_t
overlapadd::overlapadd_t, 1058
ovltype
MHAOvlFilter::fftfb_vars_t, 746
oy
MHAFilter::adapt_filter_state_t, 610
p
acPooling_wave_config, 170
doasvm_classification_config, 324
pluginbrowser_t, 1068
p1
MHASignal::hilbert_fftw_t, 946
p2
MHASignal::hilbert_fftw_t, 946
P_Sum
rt_nlms_t, 1110
p_max
acPooling_wave_config, 171
doasvm_classification_config, 324
p_name
acPooling_wave, 168
doasvm_classification, 322
p_parser
acmon::ac_monitor_t, 159
PATCH_VAR
acConcat_wave.cpp, 1192
acPooling_wave.cpp, 1193
acSteer.cpp, 1195
acTransform_wave.cpp, 1196
doasvm_classification.cpp, 1205
doasvm_feature_extraction.cpp, 1206
lpc.cpp, 1216
lpc_bl_predictor.cpp, 1217
lpc_burg-lattice.cpp, 1218
prediction_error.cpp, 1321
steerbf.cpp, 1332
timoSmooth.cpp, 1334
PH1Debug
noisePowProposedScale::noisePow-
Proposed, 1051
PH1mean
noisePowProposedScale::noisePow-
Proposed, 1051
POWSPEC_FACTOR
noisePowProposedScale.cpp, 1320
timoconfig.cpp, 1333
pa22dbspl
Vector and matrix processing toolbox, 45
© 2005-2018 HörTech gGmbH, Oldenburg
1418 INDEX
pa2dbspl
Vector and matrix processing toolbox, 45
params
timoConfig, 1162
parent
MHAParser::base_t, 776
parent_
MHAParser::mhapluginloader_t, 829
parse
altplugs_t, 222
io_tcp_t, 449
MHAParser::base_t, 767,768
MHAPlugin_Split::splitted_part_t, 917
PluginLoader::fourway_processor_t, 1076
PluginLoader::mhapluginloader_t, 1079
parse_1_complex
mha_parser.cpp, 1254
parse_1_float
mha_parser.cpp, 1254
parser
io_tcp_t, 449
mhachain::plugs_t, 592
parser_int_dyn, 1061
parser_int_dyn, 1061
set_max_angle_ind, 1062
parser_plugs
altplugs_t, 223
parser_t
AuditoryProfile::parser_t, 236
MHAParser::parser_t, 834
parserFriendlyName
MHAIOPortAudio, 107
parsername
latex_doc_t, 452
parserstate
fw_t, 394
partitioned_convolution_t
MHAFilter::partitioned_convolution_t, 663
partitions
MHAFilter::transfer_function_t, 683
MHAFilter::transfer_matrix_t, 686
patchbay
ac2wave_if_t, 148
acConcat_wave, 154
acPooling_wave, 168
acSteer, 186
acTransform_wave, 192
acmon::acmon_t, 162
acsave::acsave_t, 176
adm_if_t, 208
altplugs_t, 224
analysispath_if_t, 232
AuditoryProfile::parser_t::fmap_t, 240
calibrator_t, 250
coherence::cohflt_if_t, 259
db_if_t, 278
dc::dc_if_t, 282
dc::wideband_inhib_vars_t, 296
dc_simple::dc_if_t, 301
delay::interface_t, 313
delaysum::delaysum_if_t, 316
doasvm_classification, 322
doasvm_feature_extraction, 328
DynComp::dc_afterburn_t, 344
example3_t, 362
example4_t, 366
example6_t, 370
fader_if_t, 372
fader_wave::fader_wave_if_t, 375
fftfilterbank::fftfb_interface_t, 381
frequency_translator_t, 386
fw_t, 397
gain::gain_if_t, 401
io_parser_t, 428
lpc, 457
lpc_bl_predictor, 460
lpc_burglattice, 467
MHAIOJack::io_jack_t, 693
MHAIOPortAudio::io_portaudio_t, 701
MHAPlugin_Split::split_t, 911
matrixmixer::matmix_t, 478
mhachain::chain_base_t, 588
multibandcompressor::interface_t, 1038
nlms_t, 1043
noise_t, 1046
noisePowProposedScale::interface_-
t, 1049
overlapadd::overlapadd_if_t, 1055
plugin_interface_t, 1066
prediction_error, 1090
route::interface_t, 1103
sine_t, 1126
smoothgains_bridge::overlapadd_if_-
t, 1128
softclip_t, 1133
spec2wave_if_t, 1140
steerbf, 1150
timoSmooth, 1172
wave2spec_if_t, 1177
wavrec_t, 1184
windowselector_t, 1191
peak
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1419
rmslevel_t, 1100
peak_db
rmslevel_t, 1100
peaklevel
calibrator_variables_t, 252
MHASignal::async_rmslevel_t, 929
mha_channel_info_t, 502
peer_addr
MHA_TCP::Connection, 560
peer_address
io_tcp_parser_t, 439
peer_port
io_tcp_parser_t, 439
period
droptect_t, 335
pfragmentsize
fw_vars_t, 398
phase
cpuload_t, 275
MHASignal::minphase_t, 968
phase_correction
MHAFilter::gamma_flt_t, 640
phase_div_2pi
sine_t, 1125
phase_gains
MHASignal::subsample_delay_t, 988
phase_increment_div_2pi
sine_cfg_t, 1122
phasemode
frequency_translator_t, 387
phasemodel
MHAOvlFilter::overlap_save_filterbank_-
t::vars_t, 761
phi
hilbert_shifter_t, 407
PI
ADM, 89
hann.cpp, 1213
pid_mon
mhaserver_t, 927
pinchannels
fw_vars_t, 398
pipe
MHA_TCP::Async_Notify, 550
pitch_set_first
timoConfig, 1166
pitch_set_first_AC
timo_AC, 1155
pitch_set_last
timoConfig, 1166
pitch_set_last_AC
timo_AC, 1155
plan_spec2analytic
hilbert_shifter_t, 407
plateau
MHAOvlFilter::fftfb_vars_t, 746
playback
MHASignal::loop_wavefragment_t, 952,
953
playback_channels
MHASignal::loop_wavefragment_t, 954
playback_mode_t
MHASignal::loop_wavefragment_t, 951
plug
analysispath_if_t, 233
MHAParser::mhapluginloader_t, 829
MHAPlugin_Split::splitted_part_t, 918
multibandcompressor::interface_t, 1038
plug_level
multibandcompressor::plugin_signals_t,
1039
plug_output
multibandcompressor::plugin_signals_t,
1040
plug_sigs
multibandcompressor::interface_t, 1038
plug_t, 1062
plug_t, 1063
get_ac, 1063
get_handle, 1063
get_process_spec, 1063
get_process_wave, 1063
plug_t, 1063
plugin_categories
PluginLoader::mhapluginloader_t, 1084
plugin_documentation
PluginLoader::mhapluginloader_t, 1084
plugin_extension
pluginbrowser_t, 1068
plugin_interface_t, 1064
factor, 1066
patchbay, 1066
plugin_interface_t, 1065
prepare, 1065
process, 1065
scale_ch, 1066
update_cfg, 1065
plugin_macro
latex_doc_t, 453
plugin_paths
fw_t, 395
plugin_signals_t
© 2005-2018 HörTech gGmbH, Oldenburg
1420 INDEX
multibandcompressor::plugin_signals_t,
1039
plugin_t
MHAPlugin::plugin_t, 883
PluginLoader, 143
mhaconfig_compare, 143
mhastrdomain, 143
PluginLoader::config_file_splitter_t, 1071
config_file_splitter_t, 1071
configfile, 1073
configname, 1072
get_configfile, 1072
get_configname, 1072
get_libname, 1072
get_origname, 1072
libname, 1072
origname, 1072
PluginLoader::fourway_processor_t, 1073
fourway_processor_t, 1074
parse, 1076
prepare, 1076
process, 1074,1075
release, 1076
PluginLoader::mhapluginloader_t, 1077
mhapluginloader_t, 1079
ac, 1082
b_check_version, 1085
b_is_prepared, 1085
cf_input, 1084
cf_output, 1084
get_categories, 1081
get_documentation, 1081
getfullname, 1081
has_parser, 1079
has_process, 1079
input_domain, 1080
is_prepared, 1081
lib_data, 1083
lib_err, 1082
lib_handle, 1082
MHADestroy_cb, 1083
MHAGetVersion_cb, 1083
MHAInit_cb, 1083
MHAPrepare_cb, 1083
MHAProc_spec2spec_cb, 1083
MHAProc_spec2wave_cb, 1084
MHAProc_wave2spec_cb, 1084
MHAProc_wave2wave_cb, 1083
MHARelease_cb, 1083
MHASet_cb, 1084
MHAStrError_cb, 1084
mha_test_struct_size, 1082
mhapluginloader_t, 1078
output_domain, 1080
parse, 1079
plugin_categories, 1084
plugin_documentation, 1084
prepare, 1080
process, 1080,1081
release, 1080
resolve_and_init, 1082
test_error, 1082
test_version, 1082
pluginbrowser.cpp, 1321
pluginbrowser.h, 1321
pluginbrowser_t, 1066
add_plugin, 1067
add_plugins, 1067
clear_plugins, 1067
get_paths, 1067
get_plugins, 1068
library_paths, 1068
p, 1068
plugin_extension, 1068
pluginbrowser_t, 1067
plugins, 1068
scan_plugin, 1067
scan_plugins, 1067
plugindescription_t, 1069
categories, 1069
documentation, 1069
fullname, 1069
name, 1069
queries, 1070
query_cmds, 1070
spec2spec, 1070
spec2wave, 1070
wave2spec, 1070
wave2wave, 1069
pluginloader_t, 1085
pluginloader_t, 1086
pluginloader_t, 1085
plugins
fw_t, 395
pluginbrowser_t, 1068
plugloader
bbcalib_interface_t, 245
db_if_t, 278
db_t, 280
MHAPlugin_Resampling::resampling_if-
_t, 890
MHAPlugin_Resampling::resampling_t,
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1421
893
overlapadd::overlapadd_if_t, 1056
smoothgains_bridge::overlapadd_if_-
t, 1129
plugname
latex_doc_t, 453
MHAParser::mhapluginloader_t, 829
plugname_name_
MHAParser::mhapluginloader_t, 830
plugs
altplugs_t, 224
plugs_t
mhachain::plugs_t, 590
pmode
calibrator_runtime_layer_t, 248
poll
mha_rt_fifo_t, 545
poll_1
mha_rt_fifo_t, 545
poll_config
MHAPlugin::config_t, 880
polyphase_resampling_t
MHAFilter::polyphase_resampling_t, 670
pool
acPooling_wave_config, 172
pool_name
acPooling_wave, 168
pooling_ind
acPooling_wave_config, 171
pooling_option
acPooling_wave_config, 171
pooling_size
acPooling_wave_config, 171
pooling_type
acPooling_wave, 167
pooling_wndlen
acPooling_wave, 167
port
MHA_TCP::Server, 568
MHAJack::port_t, 723
mhaserver_t, 927
port_t
MHAJack::port_t, 721
portaudio_callback
MHAIOPortAudio.cpp, 1302,1304
MHAIOPortAudio::io_portaudio_t, 698
portaudio_stream
MHAIOPortAudio::io_portaudio_t, 700
portnames_in
MHAIOJack::io_jack_t, 691
portnames_out
MHAIOJack::io_jack_t, 691
ports_in_all
MHAIOJack::io_jack_t, 692
ports_in_physical
MHAIOJack::io_jack_t, 691
ports_out_all
MHAIOJack::io_jack_t, 692
ports_out_physical
MHAIOJack::io_jack_t, 691
ports_parser
MHAIOJack::io_jack_t, 692
pos
cfg_t, 257
fader_wave::level_adapt_t, 377
MHAJack::client_avg_t, 704
MHAJack::client_noncont_t, 708
MHASignal::async_rmslevel_t, 930
MHASignal::delay_spec_t, 931
MHASignal::delay_t, 934
MHASignal::delay_wave_t, 936
MHASignal::loop_wavefragment_t, 954
posix_threads_t
MHAPlugin_Split::posix_threads_t, 903
posixthreads
split.cpp, 1331
postscale
overlapadd::overlapadd_if_t, 1057
postwindow
spec2wave_t, 1143
postwnd
overlapadd::overlapadd_t, 1059
powSpec
timoConfig, 1164
power
MHASignal::waveform_t, 1004
powersum
dc::dc_t, 286
dc::dc_vars_t, 288
powspec
MHASignal::waveform_t, 1004
pred_err_delay
prediction_error, 1090
prediction_error, 1086
prediction_error, 1088
c, 1089
delay_d, 1090
delay_w, 1090
gains, 1089
lpc_order, 1090
n_no_update, 1090
name_e, 1089
© 2005-2018 HörTech gGmbH, Oldenburg
1422 INDEX
name_f, 1089
name_lpc, 1090
ntaps, 1089
patchbay, 1090
pred_err_delay, 1090
prediction_error, 1087
prepare, 1088
process, 1088
release, 1088
rho, 1089
update_cfg, 1089
prediction_error.cpp, 1321
INSERT_PATCH, 1321
make_friendly_number_by_limiting, 1322
PATCH_VAR, 1321
prediction_error.h, 1322
prediction_error_config, 1091
prediction_error_config, 1092
ac, 1093
channels, 1093
EPrew, 1096
F, 1093
F_Uflt, 1095
frames, 1093
insert, 1092
iter, 1094
n_no_update_, 1094
name_d_, 1093
name_lpc_, 1094
no_iter, 1094
ntaps, 1093
prediction_error_config, 1092
process, 1092
Pu, 1093
s_E_pred_err_delay, 1094
s_LPC, 1095
s_U_delay, 1095
s_U_delayflt, 1095
s_Usmpl, 1096
s_Wflt, 1095
s_Y_delay, 1095
s_Y_delayflt, 1095
s_E, 1093
s_U, 1094
s_W, 1094
smpl, 1096
UPrew, 1096
UPrewW, 1096
UbufferPrew, 1095
v_G, 1094
YPrew, 1096
prefix
wavrec_t, 1184
prefix_
MHAParser::mhapluginloader_t, 829
prefix_names_AC
acConcat_wave, 153
prepare
ac2wave_if_t, 146
acConcat_wave, 152
acPooling_wave, 166
acSteer, 184
acTransform_wave, 190
acmon::acmon_t, 161
acsave::acsave_t, 174
adm_if_t, 206
altplugs_t, 221
analysispath_if_t, 232
bbcalib_interface_t, 244
calibrator_t, 249
coherence::cohflt_if_t, 258
combc_if_t, 268
cpuload_t, 275
db_if_t, 277
dc::dc_if_t, 281
dc_simple::dc_if_t, 298
delay::interface_t, 312
delaysum::delaysum_if_t, 315
doasvm_classification, 321
doasvm_feature_extraction, 326
droptect_t, 333
ds_t, 337
example1_t, 353
example2_t, 356
example3_t, 360
example4_t, 364
example6_t, 369
fader_if_t, 372
fader_wave::fader_wave_if_t, 374
fftfilterbank::fftfb_interface_t, 379
frequency_translator_t, 385
fw_t, 390
gain::gain_if_t, 400
identity_t, 409
io_file_t, 413
io_lib_t, 420
io_parser_t, 425
io_tcp_sound_t, 442
io_tcp_t, 448
lpc, 455
lpc_bl_predictor, 459
lpc_burglattice, 466
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1423
MHAIOJack::io_jack_t, 688
MHAJack::client_t, 712
MHAParser::mhapluginloader_t, 827
MHAPlugin::plugin_t, 884
MHAPlugin_Resampling::resampling_if-
_t, 889
MHAPlugin_Split::splitted_part_t, 916
MHATableLookup::linear_table_t, 1011
matrixmixer::matmix_t, 477
mhachain::chain_base_t, 587
mhachain::plugs_t, 591
multibandcompressor::interface_t, 1037
nlms_t, 1041
noise_t, 1045
noisePowProposedScale::interface_-
t, 1048
overlapadd::overlapadd_if_t, 1055
plugin_interface_t, 1065
PluginLoader::fourway_processor_t, 1076
PluginLoader::mhapluginloader_t, 1080
prediction_error, 1088
rmslevel_if_t, 1098
route::interface_t, 1102
save_spec_t, 1112
save_wave_t, 1114
shadowfilter_begin::shadowfilter_begin-
_t, 1117
shadowfilter_end::shadowfilter_end_-
t, 1121
sine_t, 1125
smoothgains_bridge::overlapadd_if_-
t, 1127
softclip_t, 1132
spec2wave_if_t, 1139
steerbf, 1149
timoSmooth, 1169
us_t, 1174
wave2spec_if_t, 1176
wavrec_t, 1183
prepare_
iirfilter_t, 411
MHAPlugin::plugin_t, 885
MHAPlugin_Split::split_t, 909
prepare_impl
MHAJack::client_t, 715
prepare_vars
fw_t, 393
prepared
ac2wave_if_t, 147
altplugs_t, 225
calibrator_t, 250
dc_simple::dc_if_t, 301
example3_t, 361
example4_t, 366
fader_wave::fader_wave_if_t, 375
fftfilterbank::fftfb_interface_t, 381
mhachain::plugs_t, 591
route::interface_t, 1104
timoSmooth, 1172
prereadaccess
MHAParser::base_t, 775
prescale
overlapadd::overlapadd_if_t, 1056
preset
dc::dc_vars_t, 290
dc_simple::dc_if_t, 300
prewnd
overlapadd::overlapadd_t, 1059
print_ac
analysemhaplugin.cpp, 1199
prior_q
timo_params, 1159
timoSmooth, 1172
priorFact
noisePowProposedScale::noisePow-
Proposed, 1052
timoConfig, 1166
priority
analysepath_t, 229
analysispath_if_t, 233
MHAPlugin_Split::posix_threads_t, 906
proc
MHAJack::client_avg_t, 703,704
MHAJack::client_noncont_t, 707,708
proc_1
smoothgains_bridge::smoothspec_-
wrap_t, 1130
proc_2
smoothgains_bridge::smoothspec_-
wrap_t, 1130
proc_cnt
mhachain::plugs_t, 594
proc_err
io_tcp_fwcb_t, 432
proc_error
fw_t, 396
proc_error_string
fw_t, 396
proc_event
io_file_t, 415
io_parser_t, 426
io_tcp_fwcb_t, 431
© 2005-2018 HörTech gGmbH, Oldenburg
1424 INDEX
MHAIOPortAudio::io_portaudio_t, 700
MHAJack::client_t, 717
proc_handle
io_file_t, 415
io_parser_t, 426
io_tcp_fwcb_t, 432
MHAIOPortAudio::io_portaudio_t, 700
MHAJack::client_t, 717
proc_lib
fw_t, 395
proc_name
fw_t, 394
proc_ramp
altplugs_t, 223
proc_wave
doasvm_feature_extraction_config, 330
process
ADM::ADM, 196
ADM::Delay, 200
ADM::Linearphase_FIR, 203
ac2wave_if_t, 146
ac2wave_t, 149
acConcat_wave, 152
acConcat_wave_config, 155
acPooling_wave, 165
acPooling_wave_config, 170
acSteer, 184
acTransform_wave, 190
acTransform_wave_config, 193
acmon::acmon_t, 161
acsave::acsave_t, 174,175
adm_if_t, 206
altplugs_t, 221
analysispath_if_t, 232
bbcalib_interface_t, 244
calibrator_runtime_layer_t, 246
calibrator_t, 249
cfg_t, 255
coherence::cohflt_if_t, 258
coherence::cohflt_t, 261
combc_if_t, 268
combc_t, 270
cpuload_t, 274
db_if_t, 277
dc::dc_if_t, 281,282
dc::dc_t, 284
dc_simple::dc_if_t, 298,299
dc_simple::dc_t, 302,303
dc_simple::level_smoother_t, 310
delay::interface_t, 312
delaysum::delaysum_if_t, 315
delaysum::delaysum_t, 318
doasvm_classification, 320
doasvm_classification_config, 324
doasvm_feature_extraction, 326
doasvm_feature_extraction_config, 329
droptect_t, 334
ds_t, 337
example1_t, 354
example2_t, 357
example3_t, 361
example4_t, 365
example5_t, 367
example6_t, 369
fader_if_t, 372
fader_wave::fader_wave_if_t, 374
fftfilterbank::fftfb_interface_t, 380
fftfilterbank::fftfb_plug_t, 383
frequency_translator_t, 385
fw_t, 391,392
gain::gain_if_t, 400
hilbert_shifter_t, 406
identity_t, 409
iirfilter_t, 411
io_tcp_fwcb_t, 430
lpc, 455
lpc_bl_predictor, 459
lpc_bl_predictor_config, 462
lpc_burglattice, 465
lpc_burglattice_config, 468
lpc_config, 471
MHAFilter::partitioned_convolution_t, 663
MHAFilter::thirdoctave_analyzer_t, 680
MHAParser::mhapluginloader_t, 828
MHAPlugin_Resampling::resampling_if-
_t, 889
MHAPlugin_Resampling::resampling_t,
892
MHAPlugin_Split::domain_handler_t, 899
MHAPlugin_Split::split_t, 910
MHAPlugin_Split::uni_processor_t, 923
MHASignal::async_rmslevel_t, 929
MHASignal::delay_spec_t, 931
MHASignal::delay_t, 933
MHASignal::delay_wave_t, 935
MHASignal::subsample_delay_t, 988
matrixmixer::cfg_t, 474,475
matrixmixer::matmix_t, 477
mha_dblbuf_t, 508
mhachain::chain_base_t, 586,587
mhachain::plugs_t, 591
multibandcompressor::interface_t, 1037
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1425
nlms_t, 1042
noise_t, 1045
noisePowProposedScale::interface_-
t, 1048
noisePowProposedScale::noisePow-
Proposed, 1050
overlapadd::overlapadd_if_t, 1055
plugin_interface_t, 1065
PluginLoader::fourway_processor_-
t, 1074,1075
PluginLoader::mhapluginloader_t, 1080,
1081
prediction_error, 1088
prediction_error_config, 1092
rmslevel_if_t, 1098
rmslevel_t, 1099
route::interface_t, 1102
route::process_t, 1105
rt_nlms_t, 1107
save_spec_t, 1112
save_wave_t, 1114
shadowfilter_begin::cfg_t, 1115
shadowfilter_begin::shadowfilter_begin-
_t, 1117
shadowfilter_end::cfg_t, 1119
shadowfilter_end::shadowfilter_end_-
t, 1121
sine_t, 1124
smoothgains_bridge::overlapadd_if_-
t, 1128
softclip_t, 1132
softclipper_t, 1134
spec2wave_if_t, 1139
spec2wave_t, 1141
steerbf, 1149
steerbf_config, 1151
timoConfig, 1161
timoSmooth, 1169
us_t, 1174
wave2spec_if_t, 1176,1177
wave2spec_t, 1180
wavrec_t, 1183
wavwriter_t, 1186
process_frame
io_parser_t, 426
process_t
route::process_t, 1105
ProcessMutex
analysepath_t, 229
processing_done
MHAPlugin_Split::posix_threads_t, 906
processor
MHAPlugin_Split::domain_handler_t, 900
MHAPlugin_Split::thread_platform_t, 922
prof_algos
mhachain::plugs_t, 593
prof_cfg
mhachain::plugs_t, 594
prof_init
mhachain::plugs_t, 593
prof_load_con
mhachain::plugs_t, 594
prof_prepare
mhachain::plugs_t, 593
prof_process
mhachain::plugs_t, 593
prof_process_load
mhachain::plugs_t, 594
prof_process_tt
mhachain::plugs_t, 593
prof_release
mhachain::plugs_t, 593
prof_tt_con
mhachain::plugs_t, 594
profiling
mhachain::plugs_t, 593
provoke_inner_error
mha_dblbuf_t, 508
provoke_outer_error
mha_dblbuf_t, 508
psrate
fw_vars_t, 398
Pu
prediction_error_config, 1093
rt_nlms_t, 1109
push
MHASignal::stat_t, 986
mha_rt_fifo_t, 545
push_config
MHAPlugin::config_t, 880
put_signal
MHAPlugin_Split::domain_handler_t, 897
q
noisePowProposedScale::interface_-
t, 1049
q_high
timoConfig, 1163
q_low
timoConfig, 1163
quant
calibrator_runtime_layer_t, 247
quantile
© 2005-2018 HörTech gGmbH, Oldenburg
1426 INDEX
MHASignal, 137
quantizer_t
MHASignal::quantizer_t, 969
queries
MHAParser::base_t, 775
plugindescription_t, 1070
query_addsubst
MHAParser::base_t, 772
query_cmds
MHAParser::base_t, 772
plugindescription_t, 1070
query_dump
MHAParser::base_t, 769
MHAParser::monitor_t, 832
MHAParser::parser_t, 837
query_entries
MHAParser::base_t, 769
MHAParser::parser_t, 837
query_help
MHAParser::base_t, 772
query_id
MHAParser::base_t, 772
query_listids
MHAParser::base_t, 771
MHAParser::parser_t, 838
query_map_t
MHAParser, 121
query_perm
MHAParser::base_t, 769
MHAParser::monitor_t, 832
MHAParser::variable_t, 850
query_range
MHAParser::base_t, 770
MHAParser::kw_t, 812
MHAParser::range_var_t, 841
query_readfile
MHAParser::base_t, 770
MHAParser::parser_t, 837
query_savefile
MHAParser::base_t, 771
MHAParser::parser_t, 838
query_savefile_compact
MHAParser::base_t, 771
MHAParser::parser_t, 838
query_savemons
MHAParser::base_t, 771
MHAParser::parser_t, 838
query_subst
MHAParser::base_t, 772
query_t
MHAParser, 121
query_type
MHAParser::base_t, 770
MHAParser::bool_mon_t, 779
MHAParser::bool_t, 782
MHAParser::complex_mon_t, 790
MHAParser::complex_t, 792
MHAParser::float_mon_t, 797
MHAParser::float_t, 799
MHAParser::int_mon_t, 802
MHAParser::int_t, 805
MHAParser::kw_t, 813
MHAParser::mcomplex_mon_t, 815
MHAParser::mcomplex_t, 817
MHAParser::mfloat_mon_t, 820
MHAParser::mfloat_t, 822
MHAParser::parser_t, 837
MHAParser::string_mon_t, 846
MHAParser::string_t, 848
MHAParser::vcomplex_mon_t, 854
MHAParser::vcomplex_t, 856
MHAParser::vfloat_mon_t, 858
MHAParser::vfloat_t, 861
MHAParser::vint_mon_t, 863
MHAParser::vint_t, 866
MHAParser::vstring_mon_t, 868
MHAParser::vstring_t, 870
query_val
MHAParser::base_t, 770
MHAParser::bool_mon_t, 779
MHAParser::bool_t, 782
MHAParser::complex_mon_t, 789
MHAParser::complex_t, 792
MHAParser::float_mon_t, 796
MHAParser::float_t, 800
MHAParser::int_mon_t, 802
MHAParser::int_t, 805
MHAParser::kw_t, 813
MHAParser::mcomplex_mon_t, 815
MHAParser::mcomplex_t, 818
MHAParser::mfloat_mon_t, 819
MHAParser::mfloat_t, 823
MHAParser::parser_t, 838
MHAParser::string_mon_t, 846
MHAParser::string_t, 849
MHAParser::vcomplex_mon_t, 854
MHAParser::vcomplex_t, 856
MHAParser::vfloat_mon_t, 858
MHAParser::vfloat_t, 861
MHAParser::vint_mon_t, 863
MHAParser::vint_t, 866
MHAParser::vstring_mon_t, 868
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1427
MHAParser::vstring_t, 870
query_version
MHAParser::base_t, 771
quit
fw_t, 391
R
AuditoryProfile::parser_t, 236
AuditoryProfile::profile_t, 241
lpc_config, 473
rad2smp
Vector and matrix processing toolbox, 48
ramp_a
hanning_ramps_t, 404
ramp_b
hanning_ramps_t, 404
ramp_begin
MHAWindow::base_t, 1023
ramp_counter
altplugs_t, 225
ramp_end
MHAWindow::base_t, 1023
ramp_len
altplugs_t, 225
ramplen
altplugs_t, 224
fader_wave::fader_wave_if_t, 375
spec2wave_if_t, 1140
ramps
spec2wave_t, 1142
range
Vector and matrix processing toolbox, 43
range_var_t
MHAParser::range_var_t, 841
ratio
ds_t, 337
us_t, 1174
raw_p_max_name
acTransform_wave, 191
acTransform_wave_config, 193
raw_p_name
acPooling_wave_config, 170
acTransform_wave, 191
acTransform_wave_config, 193
rb_f_t
mha_ruby.cpp, 1264
rdata
MHASignal::matrix_t, 966
mha_audio_t, 501
re
mha_complex_t, 503
read
MHAFilter::blockprocessing_polyphase-
_resampling_t, 615
MHAFilter::polyphase_resampling_t, 671
MHAJack::port_t, 722
mha_drifter_fifo_t, 516
mha_fifo_lw_t, 526
mha_fifo_t, 534
read_bytes
MHA_TCP::Connection, 558
read_event
MHA_TCP::Connection, 560
read_get_cpu_load
MHAIOJack::io_jack_t, 690
read_get_scheduler
MHAIOJack::io_jack_t, 690
read_get_xruns
MHAIOJack::io_jack_t, 690
read_levels
calibrator_t, 250
read_line
MHA_TCP::Connection, 558
read_modified
dc_simple::dc_if_t, 299
read_ptr
mha_fifo_t, 536
readable_frames
MHAFilter::polyphase_resampling_t, 671
readaccess
MHAParser::base_t, 774
reader_started
mha_drifter_fifo_t, 519
reader_xruns_in_succession
mha_drifter_fifo_t, 520
reader_xruns_since_start
mha_drifter_fifo_t, 520
reader_xruns_total
mha_drifter_fifo_t, 519
real
MHASignal::matrix_t, 961964
rear_channel
adm_rtconfig_t, 211
rear_channels
adm_if_t, 207
adm_rtconfig_t, 212
rec_frames
acsave::cfg_t, 178
received_group
mhaserver_t, 925
receiver
MHAEvents::connector_t, 602
reciprocal
© 2005-2018 HörTech gGmbH, Oldenburg
1428 INDEX
Complex arithmetics in the openMHA, 77
reclen
acsave::acsave_t, 175
recmode
acmon::acmon_t, 162
reconnect_inports
MHAIOJack::io_jack_t, 688
reconnect_outports
MHAIOJack::io_jack_t, 689
record
wavrec_t, 1184
rect
MHAOvlFilter::ShapeFun, 116
MHAWindow, 141
rect_t
MHAWindow::rect_t, 1030
release
ac2wave_if_t, 146
acConcat_wave, 153
acPooling_wave, 167
acSteer, 185
acTransform_wave, 190
acmon::acmon_t, 161
acsave::acsave_t, 174
adm_if_t, 206
altplugs_t, 221
analysispath_if_t, 232
bbcalib_interface_t, 244
calibrator_t, 249
coherence::cohflt_if_t, 258
db_if_t, 277
dc_simple::dc_if_t, 298
delaysum::delaysum_if_t, 315
doasvm_classification, 321
doasvm_feature_extraction, 327
droptect_t, 333
ds_t, 337
example1_t, 353
example2_t, 357
example3_t, 360
example4_t, 365
fader_wave::fader_wave_if_t, 375
fftfilterbank::fftfb_interface_t, 380
frequency_translator_t, 386
fw_t, 391
gain::gain_if_t, 400
identity_t, 409
io_file_t, 414
io_lib_t, 421
io_parser_t, 425
io_tcp_sound_t, 443
io_tcp_t, 448
lpc, 456
lpc_bl_predictor, 459
lpc_burglattice, 466
MHAIOJack::io_jack_t, 688
MHAJack::client_t, 712
MHAParser::mhapluginloader_t, 828
MHAPlugin::plugin_t, 885
MHAPlugin_Resampling::resampling_if-
_t, 889
MHAPlugin_Split::splitted_part_t, 917
mhachain::chain_base_t, 587
mhachain::plugs_t, 591
multibandcompressor::interface_t, 1037
nlms_t, 1041
overlapadd::overlapadd_if_t, 1055
PluginLoader::fourway_processor_t, 1076
PluginLoader::mhapluginloader_t, 1080
prediction_error, 1088
route::interface_t, 1102
smoothgains_bridge::overlapadd_if_-
t, 1127
steerbf, 1149
timoSmooth, 1170
us_t, 1174
wavrec_t, 1183
release_
iirfilter_t, 411
MHAPlugin::plugin_t, 885
MHAPlugin_Split::split_t, 909
release_mutex
mha_fifo_posix_threads_t, 529
mha_fifo_thread_platform_t, 539
remove_abandonned
mha_rt_fifo_t, 546
remove_all
mha_rt_fifo_t, 546
remove_all_cfg
MHAPlugin::config_t, 881
remove_item
MHAParser::parser_t, 835,836
remove_lock
mhamain.cpp, 1315
remove_ref
algo_comm_t, 215
MHAKernel::algo_comm_class_t, 726
remove_var
algo_comm_t, 215
MHAKernel::algo_comm_class_t, 726
repl_list
MHAParser::base_t, 776
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1429
repl_list_t
MHAParser::base_t, 767
replace
MHAParser::base_t::replace_t, 777
replace_
cfg_t, 256
replace_t
MHAParser::base_t::replace_t, 777
resampling
MHAFilter::blockprocessing_polyphase-
_resampling_t, 616
resampling.cpp, 1322
resampling_factors
MHAFilter, 106
resampling_filter_t
MHAFilter::resampling_filter_t, 674
resampling_if_t
MHAPlugin_Resampling::resampling_if-
_t, 889
resampling_t
MHAPlugin_Resampling::resampling_t,
891
reset
droptect_t, 334
MHA_TCP::Async_Notify, 550
MHA_TCP::Wakeup_Event, 581
reset_state
MHAFilter::gamma_flt_t, 641
resize
MHAFilter::iir_filter_t, 646
resolution
acTransform_wave_config, 194
resolve
dynamiclib_t, 338
resolve_and_init
PluginLoader::mhapluginloader_t, 1082
resolve_checked
dynamiclib_t, 339
result
cpuload_t, 275
resynthesis_gain
MHAFilter::gamma_flt_t, 642
ret_size
MHAParser::c_ifc_parser_t, 786
return_imag
fftfilterbank::fftfb_interface_t, 381
return_imag_
fftfilterbank::fftfb_plug_t, 384
return_value
MHA_TCP::Thread, 575
return_wave
wave2spec_if_t, 1178
retv
MHAParser::c_ifc_parser_t, 786
rewind
MHASignal::loop_wavefragment_t, 953
rho
nlms_t, 1042
prediction_error, 1089
ringbuffer
MHAFilter::polyphase_resampling_t, 673
ringbuffer_t
MHASignal::ringbuffer_t, 972
rm_parent_on_remove
MHAParser::base_t, 773
rmsdb
example6_t, 370
rmslevel
calibrator_variables_t, 252
dc::dc_t, 285
MHASignal::async_rmslevel_t, 929
Vector and matrix processing toolbox, 62,
64
rmslevel.cpp, 1322
rmslevel_if_t, 1097
name, 1098
prepare, 1098
process, 1098
rmslevel_if_t, 1097
rmslevel_t, 1099
fftlen, 1100
insert, 1100
level, 1100
level_db, 1100
peak, 1100
peak_db, 1100
process, 1099
rmslevel_t, 1099
rmslevelmeter
transducers.cpp, 1335
root
mha_rt_fifo_t, 546
rotated_i
acTransform_wave_config, 194
rotated_p
acTransform_wave_config, 194
rotated_p_max_name
acTransform_wave, 191
rotated_p_name
acTransform_wave, 191
route, 144
route.cpp, 1323
© 2005-2018 HörTech gGmbH, Oldenburg
1430 INDEX
route::interface_t, 1101
algo, 1104
cfac, 1103
cfin, 1103
cfout, 1103
interface_t, 1102
patchbay, 1103
prepare, 1102
prepared, 1104
process, 1102
release, 1102
route_ac, 1103
route_out, 1103
stopped, 1104
update, 1103
route::process_t, 1104
process, 1105
process_t, 1105
sout, 1105
sout_ac, 1106
wout, 1105
wout_ac, 1106
route_ac
route::interface_t, 1103
route_out
route::interface_t, 1103
rows
acsave::mat4head_t, 179
rt_nlms_t, 1106
rt_nlms_t, 1107
ac, 1108
channels, 1108
F, 1108
frames, 1108
fu, 1109
fu_previous, 1109
fuflt, 1109
insert, 1108
n_no_update_, 1110
name_d_, 1110
name_e_, 1110
name_u_, 1110
no_iter, 1110
ntaps, 1108
P_Sum, 1110
process, 1107
Pu, 1109
rt_nlms_t, 1107
s_E, 1110
U, 1109
Uflt, 1109
y_previous, 1110
rt_process
analysepath_t, 227
rtcalibrator
transducers.cpp, 1335
run
MHA_TCP::Thread, 574
mhaserver_t, 926
runtime configuration, 4
rval
MHAParser::expression_t, 795
s_E_pred_err_delay
prediction_error_config, 1094
s_LPC
prediction_error_config, 1095
s_U_delay
prediction_error_config, 1095
s_U_delayflt
prediction_error_config, 1095
s_Usmpl
prediction_error_config, 1096
s_Wflt
prediction_error_config, 1095
s_Y_delay
prediction_error_config, 1095
s_Y_delayflt
prediction_error_config, 1095
s_b
lpc_bl_predictor_config, 463
lpc_burglattice_config, 470
s_E
prediction_error_config, 1093
rt_nlms_t, 1110
s_f
lpc_bl_predictor_config, 463
lpc_burglattice_config, 470
s_file_in
io_file_t, 417
s_in
io_file_t, 417
io_parser_t, 427
io_tcp_sound_t, 445
MHAIOPortAudio::io_portaudio_t, 699
MHAJack::client_t, 718
s_out
coherence::cohflt_t, 263
combc_t, 271
fftfilterbank::fftfb_plug_t, 384
io_file_t, 417
io_parser_t, 427
MHAIOPortAudio::io_portaudio_t, 699
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1431
MHAJack::client_t, 718
s_U
prediction_error_config, 1094
s_W
prediction_error_config, 1094
sInput
MHAFilter::fftfilter_t, 626
SOCKET_ERROR
mha_tcp.cpp, 1281
SOCKET
MHA_TCP, 100
mha_tcp.cpp, 1281
SPP
timo_AC, 1156
START_BETA
ADM, 90
STRERROR
MHA_TCP, 100
STRLEN
mha_errno.c, 1234
sWeights
MHAFilter::fftfilter_t, 626
safe_div
Complex arithmetics in the openMHA, 76
mha_signal.cpp, 1268
mha_signal.hh, 1278
sample
lpc_config, 473
samplerate
io_file_t, 415
io_tcp_sound_t, 444
MHAIOPortAudio::io_portaudio_t, 699
MHAJack::client_t, 717
samples_AC
acConcat_wave, 153
samplingrate
MHAOvlFilter::fftfb_t, 744
save_m
acsave::save_var_t, 181
save_mat4
acsave::save_var_t, 181
save_spec.cpp, 1323
save_spec_t, 1111
basename, 1112
prepare, 1112
process, 1112
save_spec_t, 1112
save_txt
acsave::save_var_t, 181
save_var_t
acsave::save_var_t, 180
save_vars
acmon::acmon_t, 161
save_wave.cpp, 1323
save_wave_t, 1113
basename, 1114
prepare, 1114
process, 1114
save_wave_t, 1113
saveas_mat4
MHASignal, 138,139
sc
MHASignal::hilbert_fftw_t, 947
spec2wave_t, 1143
scale
example5_t, 367
MHASignal, 135
MHASignal::fft_t, 944
MHASignal::spectrum_t, 983
MHASignal::waveform_t, 1005
scale_ch
example2_t, 357
example3_t, 361
example4_t, 365
plugin_interface_t, 1066
scale_channel
MHASignal::spectrum_t, 984
MHASignal::waveform_t, 1005
scale_frame
MHASignal::waveform_t, 1006
scale_fun_t
MHAOvlFilter, 112
scale_var_t
MHAOvlFilter::scale_var_t, 762
scalefac
MHATableLookup::linear_table_t, 1013
scaler_t
gain::scaler_t, 402
scan_plugin
pluginbrowser_t, 1067
scan_plugins
pluginbrowser_t, 1067
scheduler
analysepath_t, 229
MHAPlugin_Split::posix_threads_t, 906
schroeder_t
MHASignal::schroeder_t, 977,978
sec2smp
Vector and matrix processing toolbox, 46
select_plug
altplugs_t, 224
select_source
© 2005-2018 HörTech gGmbH, Oldenburg
1432 INDEX
MHAMultiSrc::base_t, 730
selected_plug
altplugs_t, 224
Server
MHA_TCP::Server, 565,566
server
io_tcp_t, 450
server_port_open
io_tcp_parser_t, 439
servername
MHAIOJack::io_jack_t, 690
serversocket
MHA_TCP::Server, 568
set
Complex arithmetics in the openMHA, 70,
71
MHA_TCP::Async_Notify, 550
set_announce_port
mhaserver_t, 926
set_channelcnt
MHAFilter::adapt_filter_t, 612
set_connected
io_tcp_parser_t, 437
set_entries
MHAParser::keyword_list_t, 807
set_errnos
io_tcp_fwcb_t, 430
set_error
mha_fifo_lw_t, 527
set_fb_pars
DynComp::dc_afterburn_t, 343
set_help
MHAParser::base_t, 773
set_id_string
MHAParser::parser_t, 839
set_index
MHAParser::keyword_list_t, 808
set_input_domain
MHAPlugin_Split::domain_handler_t, 896
set_input_portnames
MHAJack::client_t, 714
set_level
fader_wave::fader_wave_if_t, 375
set_level_db
MHASignal::loop_wavefragment_t, 953
set_level_lin
MHASignal::loop_wavefragment_t, 953
set_local_port
io_tcp_parser_t, 435
set_max_angle_ind
parser_int_dyn, 1062
set_minabs
mha_signal.cpp, 1268
mha_signal.hh, 1278
set_new_peer
io_tcp_parser_t, 438
set_node_id
MHAParser::base_t, 772
set_output_domain
MHAPlugin_Split::domain_handler_t, 896
set_output_portnames
MHAJack::client_t, 715
set_parse_cb
MHAParser::c_ifc_parser_t, 784
set_range
MHAParser::kw_t, 812
MHAParser::range_var_t, 842
set_server_port_open
io_tcp_parser_t, 436
set_state
MHAFilter::complex_bandpass_t, 618,
619
MHAFilter::iir_ord1_real_t, 649
set_tau
MHAFilter::o1flt_lowpass_t, 656,657
MHAFilter::o1flt_maxtrack_t, 659
MHAFilter::o1flt_mintrack_t, 661
set_tau_attack
MHAFilter::o1_ar_filter_t, 653
set_tau_release
MHAFilter::o1_ar_filter_t, 653
set_use_jack_transport
MHAJack::client_t, 715
set_value
MHAParser::keyword_list_t, 807
set_weights
MHAFilter::complex_bandpass_t, 619
MHAFilter::gamma_flt_t, 640
set_xfun
MHATableLookup::xy_table_t, 1018
set_xmax
MHATableLookup::linear_table_t, 1011
set_xmin
MHATableLookup::linear_table_t, 1011
set_xyfun
MHATableLookup::xy_table_t, 1019
set_yfun
MHATableLookup::xy_table_t, 1019
setchannels
dc::wideband_inhib_vars_t, 295
setlock
io_file_t, 414
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1433
MHAParser::variable_t, 851
sf
MHASndFile::sf_t, 1007
wavwriter_t, 1187
sf_in
io_file_t, 417
sf_out
io_file_t, 417
sf_t
MHASndFile::sf_t, 1007
sf_wave_t
MHASndFile::sf_wave_t, 1008
sfinf_in
io_file_t, 417
sfinf_out
io_file_t, 418
shadowfilter_begin, 144
shadowfilter_begin.cpp, 1323
shadowfilter_begin::cfg_t, 1114
cfg_t, 1115
in_spec_copy, 1115
nch, 1115
ntracks, 1116
out_spec, 1115
process, 1115
shadowfilter_begin::shadowfilter_begin_-
t, 1116
basename, 1117
nch, 1118
ntracks, 1118
prepare, 1117
process, 1117
shadowfilter_begin_t, 1117
shadowfilter_begin_t
shadowfilter_begin::shadowfilter_begin-
_t, 1117
shadowfilter_end, 144
shadowfilter_end.cpp, 1323
shadowfilter_end::cfg_t, 1118
ac, 1119
cfg_t, 1118
gains, 1120
in_spec, 1120
name, 1119
nch_out, 1119
nfft, 1119
ntracks, 1119
out_spec, 1120
process, 1119
shadowfilter_end::shadowfilter_end_t, 1120
basename, 1122
prepare, 1121
process, 1121
shadowfilter_end_t, 1121
shadowfilter_end_t
shadowfilter_end::shadowfilter_end_-
t, 1121
shape
MHAOvlFilter::fftfb_t, 744
shapes
MHAOvlFilter::fftfb_vars_t, 748
shift
lpc, 456
lpc_config, 472
shifted
hilbert_shifter_t, 406
side
mha_channel_info_t, 502
sign_t
MHASignal::schroeder_t, 977
signal_counter
MHASignal, 139
signal_out
MHAPlugin_Split::split_t, 911
sinc
MHAFilter, 106
sine.cpp, 1324
sine_cfg_t, 1122
amplitude, 1123
channels, 1123
mix, 1123
phase_increment_div_2pi, 1122
sine_cfg_t, 1122
sine_t, 1123
sine_t, 1124
channels, 1125
frequency, 1125
lev, 1125
mode, 1125
patchbay, 1126
phase_div_2pi, 1125
prepare, 1125
process, 1124
sine_t, 1124
update_cfg, 1125
size
MHA_AC::ac2matrix_helper_t, 480
MHA_AC::acspace2matrix_t, 486
MHAKernel::algo_comm_class_t, 728
MHASignal::matrix_t, 960
Vector and matrix processing toolbox, 51,
52
© 2005-2018 HörTech gGmbH, Oldenburg
1434 INDEX
size_t
MHAParser::keyword_list_t, 806
Sleep
mha_tcp.hh, 1283
slope
softclipper_t, 1135
softclipper_variables_t, 1137
slope_db
softclip_t, 1133
smoothgains_bridge, 144
smoothgains_bridge.cpp, 1324
smoothgains_bridge::overlapadd_if_t, 1126
overlapadd_if_t, 1127
algo, 1129
cf_in, 1129
cf_out, 1129
epsilon, 1128
irswnd, 1128
mode, 1128
overlapadd_if_t, 1127
patchbay, 1128
plugloader, 1129
prepare, 1127
process, 1128
release, 1127
update, 1128
smoothgains_bridge::smoothspec_wrap_-
t, 1129
proc_1, 1130
proc_2, 1130
smoothspec, 1131
smoothspec_epsilon, 1131
smoothspec_wrap_t, 1130
spec_in_copy, 1130
use_smoothspec, 1131
smoothspec
MHAFilter::smoothspec_t, 677
smoothgains_bridge::smoothspec_-
wrap_t, 1131
smoothspec_epsilon
smoothgains_bridge::smoothspec_-
wrap_t, 1131
smoothspec_t
MHAFilter::smoothspec_t, 676
smoothspec_wrap_t
smoothgains_bridge::smoothspec_-
wrap_t, 1130
smp2rad
Vector and matrix processing toolbox, 47
smp2sec
Vector and matrix processing toolbox, 46
smpl
prediction_error_config, 1096
sn_in
MHAJack::client_avg_t, 704
MHAJack::client_noncont_t, 708
sn_out
MHAJack::client_avg_t, 704
MHAJack::client_noncont_t, 708
snprintf_required_length
mha_error_helpers, 98
snrPost1Debug
noisePowProposedScale::noisePow-
Proposed, 1051
sock_addr
MHA_TCP::Server, 567
Sockaccept_Event
MHA_TCP::Sockaccept_Event, 569
Sockread_Event
MHA_TCP::Sockread_Event, 570
Sockwrite_Event
MHA_TCP::Sockwrite_Event, 571
softclip
calibrator_runtime_layer_t, 247
calibrator_variables_t, 253
softclip.cpp, 1324
softclip_t, 1131
attack, 1133
decay, 1133
patchbay, 1133
prepare, 1132
process, 1132
slope_db, 1133
softclip_t, 1132
start_limit, 1133
tftype, 1133
update, 1133
softclipper_t, 1134
attack, 1135
clipmeter, 1135
decay, 1135
hardlimit, 1135
linear, 1135
process, 1134
slope, 1135
softclipper_t, 1134
threshold, 1135
softclipper_variables_t, 1136
clipped, 1138
hardlimit, 1137
linear, 1137
max_clipped, 1138
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1435
slope, 1137
softclipper_variables_t, 1136
tau_attack, 1137
tau_clip, 1137
tau_decay, 1137
threshold, 1137
sort_fftw2spec
MHASignal::fft_t, 943
sort_spec2fftw
MHASignal::fft_t, 943
sound
io_tcp_t, 449
source_channel_index
MHAFilter::partitioned_convolution_t-
::index_t, 668
MHAFilter::transfer_function_t, 685
sout
matrixmixer::cfg_t, 475
route::process_t, 1105
sout_ac
route::process_t, 1106
spec2fir
MHAFilter, 105
MHAFilter::smoothspec_t, 677
spec2spec
plugindescription_t, 1070
spec2wave
MHASignal::fft_t, 941,942
plugindescription_t, 1070
spec2wave.cpp, 1324
max, 1325
min, 1325
spec2wave_if_t, 1138
patchbay, 1140
prepare, 1139
process, 1139
ramplen, 1140
spec2wave_if_t, 1139
update, 1140
window_config, 1140
spec2wave_scale
MHASignal::fft_t, 942
spec2wave_t, 1140
spec2wave_t, 1141
calc_out, 1142
ft, 1142
nfft, 1143
npad1, 1142
npad2, 1142
nwndshift, 1143
out_buf, 1142
postwindow, 1143
process, 1141
ramps, 1142
sc, 1143
spec2wave_t, 1141
write_buf, 1142
spec_fader_t, 1143
spec_fader_t, 1144
fr, 1144
gains, 1144
nch, 1144
spec_fader_t, 1144
spec_in
MHAPlugin_Split::domain_handler_t, 899
overlapadd::overlapadd_t, 1059
wave2spec_t, 1181
spec_in_copy
smoothgains_bridge::smoothspec_-
wrap_t, 1130
spec_out
MHAPlugin_Split::domain_handler_t, 899
MHAPlugin_Split::split_t, 913
timoConfig, 1166
specSteer1
acSteer_config, 188
specSteer2
acSteer_config, 188
spectrum_t
MHA_AC::spectrum_t, 493
MHAMultiSrc::spectrum_t, 733
MHASignal::spectrum_t, 980,981
speechnoise
calibrator_runtime_layer_t, 247
speechnoise.cpp, 1325
bandw_correction, 1328
erb_hz_f_hz, 1327
fhz2bandno, 1327
hz2hz, 1327
NUM_ENTR_LTASS, 1327
NUM_ENTR_MHAORIG, 1326
NUM_ENTR_OLNOISE, 1327
vLTASS_combined_lev, 1329
vLTASS_female_lev, 1329
vLTASS_freq, 1328
vLTASS_male_lev, 1329
vMHAOrigFreq, 1328
vMHAOrigSpec, 1328
vOlnoiseFreq, 1329
vOlnoiseLev, 1329
speechnoise.h, 1330
speechnoise_t, 1145
© 2005-2018 HörTech gGmbH, Oldenburg
1436 INDEX
creator, 1147
noise_type_t, 1145
speechnoise_t, 1146
split.cpp, 1330
default_thread_platform_string, 1331
default_thread_platform_type, 1331
MHAPLUGIN_OVERLOAD_OUTDOM-
AIN, 1331
posixthreads, 1331
split_t
MHAPlugin_Split::split_t, 909
splitted_part_t
MHAPlugin_Split::splitted_part_t, 915,
916
spnoise_channels
calibrator_variables_t, 252
spnoise_level
calibrator_variables_t, 252
spnoise_mode
calibrator_variables_t, 252
spnoise_parser
calibrator_variables_t, 253
spp
timoSmooth, 1172
srate
adm_if_t, 208
calibrator_variables_t, 253
MHAParser::mhaconfig_mon_t, 825
MHAPlugin_Resampling::resampling_if-
_t, 889
mhaconfig_t, 597
srate_
MHAFilter::gamma_flt_t, 642
srcfile
MHAParser::parser_t, 839
srcline
MHAParser::parser_t, 839
start
fw_t, 390
io_file_t, 413
io_lib_t, 420
io_parser_t, 425
io_tcp_fwcb_t, 430
io_tcp_t, 448
MHAJack::client_t, 713
start_event
io_file_t, 415
io_parser_t, 426
io_tcp_fwcb_t, 431
MHAIOPortAudio::io_portaudio_t, 700
MHAJack::client_t, 717
start_handle
io_file_t, 415
io_parser_t, 427
io_tcp_fwcb_t, 432
MHAIOPortAudio::io_portaudio_t, 700
MHAJack::client_t, 718
start_limit
softclip_t, 1133
start_lin
cfg_t, 255
start_new_session
wavrec_t, 1183
started
fw_t, 391,392
io_parser_t, 425
starting
mha_drifter_fifo_t, 518
startsample
io_file_t, 416
startup_zeros
mha_drifter_fifo_t, 521
stat_t
MHA_AC::stat_t, 495
MHASignal::stat_t, 985
state
fw_t, 396
MHA_TCP::Thread, 575
MHAFilter::filter_t, 638
state_cpuload
MHAIOJack::io_jack_t, 692
state_parser
MHAIOJack::io_jack_t, 692
state_priority
MHAIOJack::io_jack_t, 692
state_scheduler
MHAIOJack::io_jack_t, 692
state_t
fw_t, 389
state_xruns
MHAIOJack::io_jack_t, 692
staticgain
coherence::cohflt_t, 264
coherence::vars_t, 266
status
MHA_TCP::Wakeup_Event, 581
std
MHA_AC::stat_t, 495
std_vector_float
Vector and matrix processing toolbox, 58
std_vector_vector_complex
Vector and matrix processing toolbox, 58
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1437
std_vector_vector_float
Vector and matrix processing toolbox, 58
stdcomplex
Complex arithmetics in the openMHA, 71
steerFile
acSteer, 185
steerbf, 1147
steerbf, 1148
angle_ind, 1150
angle_src, 1150
bf_src, 1150
patchbay, 1150
prepare, 1149
process, 1149
release, 1149
steerbf, 1148
update_cfg, 1149
steerbf.cpp, 1331
INSERT_PATCH, 1332
PATCH_VAR, 1332
steerbf.h, 1332
steerbf_config, 1150
_steerbf, 1152
steerbf_config, 1151
ac, 1152
bf_src_copy, 1152
bf_vec, 1152
nangle, 1152
nchan, 1151
nfreq, 1152
outSpec, 1152
process, 1151
steerbf_config, 1151
stime
MHA_TCP, 101
stop
fw_t, 391
io_file_t, 414
io_lib_t, 421
io_parser_t, 425
io_tcp_fwcb_t, 431
io_tcp_t, 448
MHAJack::client_t, 713
mha_drifter_fifo_t, 518
stop_event
io_file_t, 416
io_parser_t, 427
io_tcp_fwcb_t, 431
MHAIOPortAudio::io_portaudio_t, 700
MHAJack::client_t, 718
stop_handle
io_file_t, 416
io_parser_t, 427
io_tcp_fwcb_t, 432
MHAIOPortAudio::io_portaudio_t, 700
MHAJack::client_t, 718
stopped
fw_t, 391,392
io_file_t, 414
io_parser_t, 425
MHAJack::client_t, 716
route::interface_t, 1104
store
mon_t, 1033
store_frame
acsave::cfg_t, 177
acsave::save_var_t, 181
str2val
MHAParser::StrCnv, 126,127
str2val<mha_real_t >
MHAParser::StrCnv, 127
str_error
MHAJack::client_t, 714
strNames_AC
acConcat_wave_config, 155
strdom
analysemhaplugin.cpp, 1199
latex_doc_t, 452
strict_channel_match
io_file_t, 416
strict_srate_match
io_file_t, 417
stride
comm_var_t, 272
string_mon_t
MHAParser::string_mon_t, 846
string_t
MHAParser::string_t, 848
strreplace
MHAParser, 123
structVersion
MHAIOPortAudio::device_info_t, 694
subsample_delay_t
MHASignal::subsample_delay_t, 987
subsampledelay_coeff
ADM, 89
sum
MHASignal::stat_t, 986
MHASignal::waveform_t, 999,1000
sum2
MHASignal::stat_t, 986
sum_channel
© 2005-2018 HörTech gGmbH, Oldenburg
1438 INDEX
MHASignal::waveform_t, 1000
sumsqr
MHASignal::waveform_t, 1000
sumsqr_channel
Vector and matrix processing toolbox, 66
sumsqr_frame
Vector and matrix processing toolbox, 66
svc
analysepath_t, 227
symmetry_scale
MHAOvlFilter::fspacing_t, 755
sync
mha_fifo_lw_t, 527
mha_fifo_thread_guard_t, 537
sysread
MHA_TCP::Connection, 555
syswrite
MHA_TCP::Connection, 555
t
acsave::mat4head_t, 179
mha_tictoc_t, 582
tAC
timoConfig, 1163
table
cpuload_t, 276
table_t
MHATableLookup::table_t, 1014
tail
MHAFilter::fftfilterbank_t, 632
target_channel_index
MHAFilter::partitioned_convolution_t-
::index_t, 668
MHAFilter::transfer_function_t, 685
tau
coherence::vars_t, 265
droptect_t, 335
fader_if_t, 373
tau_attack
softclipper_variables_t, 1137
tau_beta
adm_if_t, 208
tau_clip
softclipper_variables_t, 1137
tau_decay
softclipper_variables_t, 1137
tau_level
calibrator_variables_t, 252
tau_unit
coherence::vars_t, 265
tauattack
dc::dc_vars_t, 289
dc_simple::dc_vars_t, 307
taudecay
dc::dc_vars_t, 289
dc_simple::dc_vars_t, 307
taugain
DynComp::dc_afterburn_vars_t, 347
taurmslevel
dc::dc_vars_t, 289
tcp_connect_to
mha_tcp.cpp, 1281
tcp_connect_to_with_timeout
mha_tcp.cpp, 1282
tcpserver
mhaserver_t, 927
termination_request
MHAPlugin_Split::posix_threads_t, 906
test_error
io_lib_t, 421
MHAParser::c_ifc_parser_t, 785
PluginLoader::mhapluginloader_t, 1082
test_fail
dc_simple, 92
test_version
PluginLoader::mhapluginloader_t, 1082
testalsadevice.c, 1332
main, 1332
tftype
MHAPlugin::plugin_t, 886
softclip_t, 1133
The MHA Framework interface, 27
The openMHA configuration language, 35
The openMHA Plugins (programming inter-
face), 6
MHAPLUGIN_CALLBACKS_PREFIX, 8
MHAPLUGIN_CALLBACKS, 8
MHAPLUGIN_DOCUMENTATION, 9
The openMHA Toolbox library, 36
thefullname
MHAParser::base_t, 776
thirdoctave_analyzer_t
MHAFilter::thirdoctave_analyzer_t, 680
this_outer_out
MHASignal::doublebuffer_t, 939
thr_f
MHA_TCP::Thread, 572
Thread
MHA_TCP::Thread, 573
thread
analysepath_t, 230
io_tcp_t, 450
MHAPlugin_Split::posix_threads_t, 906
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1439
MHAPlugin_Split::splitted_part_t, 919
thread_arg
MHA_TCP::Thread, 575
thread_attr
MHA_TCP::Thread, 574
thread_finish_event
MHA_TCP::Thread, 575
thread_func
MHA_TCP::Thread, 575
thread_handle
MHA_TCP::Thread, 574
thread_platform
MHAPlugin_Split::split_t, 912
thread_platform_t
MHAPlugin_Split::thread_platform_t, 920
thread_start
analysispath.cpp, 1199
MHAPlugin_Split::posix_threads_t, 904
thread_start_func
mha_tcp.cpp, 1282
thread_startup_function
MHAIOTCP.cpp, 1309
threshold
droptect_t, 334
softclipper_t, 1135
softclipper_variables_t, 1137
tictoc
mhachain::plugs_t, 594
timeout
MHA_TCP::OS_EVENT_TYPE, 564
MHA_TCP::Timeout_Watcher, 578
Timeout_Event
MHA_TCP::Timeout_Event, 576
Timeout_Watcher
MHA_TCP::Timeout_Watcher, 578
timeshift
Vector and matrix processing toolbox, 54
timo_AC, 1153
alpha_frame_AC, 1155
alpha_hat_AC, 1155
copy, 1154
gain_wiener_AC, 1156
gamma_post_AC, 1154
insert, 1154
lambda_ceps_AC, 1155
lambda_ml_AC, 1154
lambda_ml_ceps_AC, 1154
lambda_ml_smooth_AC, 1155
lambda_spec_AC, 1156
log_lambda_spec_AC, 1156
max_q_AC, 1155
max_val_AC, 1155
pitch_set_first_AC, 1155
pitch_set_last_AC, 1155
SPP, 1156
timo_AC, 1153
winF0_AC, 1156
xi_est_AC, 1156
xi_ml_AC, 1154
timo_params, 1157
alpha_const_limits_hz, 1159
alpha_const_vals, 1159
alpha_pitch, 1158
beta_const, 1159
delta_pitch, 1158
f0_high, 1158
f0_low, 1158
gain_min_db, 1159
in_cfg, 1158
kappa_const, 1159
lambda_thresh, 1158
noisePow_name, 1160
prior_q, 1159
timo_params, 1157
winF0, 1159
xi_min_db, 1158
xi_opt_db, 1159
timoConfig, 1160
timoConfig, 1161
ac, 1162
alpha_const, 1163
alpha_frame, 1165
alpha_hat, 1165
alpha_prev, 1164
copy_AC, 1162
fftlen, 1162
GLRexp, 1167
GLR, 1167
gain_min, 1163
gain_wiener, 1165
gamma_post, 1164
lambda_ceps, 1165
lambda_ceps_prev, 1165
lambda_ml_ceps, 1164
lambda_ml_full, 1164
lambda_ml_smooth, 1164
lambda_spec, 1165
log_lambda_spec, 1165
logGLRFact, 1166
max_q, 1166
max_val, 1166
mha_fft, 1162
© 2005-2018 HörTech gGmbH, Oldenburg
1440 INDEX
nchan, 1162
nfreq, 1162
noisePow, 1164
ola_powspec_scale, 1163
params, 1162
pitch_set_first, 1166
pitch_set_last, 1166
powSpec, 1164
priorFact, 1166
process, 1161
q_high, 1163
q_low, 1163
spec_out, 1166
tAC, 1163
timoConfig, 1161
winF0, 1163
xi_est, 1165
xi_min, 1163
xi_ml, 1164
xiOpt, 1166
timoSmooth, 1167
timoSmooth, 1169
alpha_const_limits_hz, 1172
alpha_const_vals, 1171
alpha_pitch, 1171
beta_const, 1171
delta_pitch, 1171
f0_high, 1170
f0_low, 1170
gain_min_db, 1171
kappa_const, 1171
lambda_thresh, 1171
noisePow_name, 1172
on_model_param_valuechanged, 1170
patchbay, 1172
prepare, 1169
prepared, 1172
prior_q, 1172
process, 1169
release, 1170
spp, 1172
timoSmooth, 1168
update_cfg, 1170
win_f0, 1171
xi_min_db, 1170
xi_opt_db, 1172
timoSmooth.cpp, 1334
INSERT_PATCH, 1334
INSERT_VAR, 1334
PATCH_VAR, 1334
timoconfig.cpp, 1333
CHANLOOP, 1333
EPSILON, 1333
LPSCALE, 1333
OVERLAP_FACTOR, 1333
POWSPEC_FACTOR, 1333
timoconfig.h, 1334
timosmooth.h, 1335
tmp_spec
MHAFilter::smoothspec_t, 679
tmp_wave
MHAFilter::smoothspec_t, 678
to_from
acTransform_wave, 191
acTransform_wave_config, 194
total_read
io_file_t, 418
transducers.cpp, 1335
kw_index2type, 1336
rmslevelmeter, 1335
rtcalibrator, 1335
vint_0123n1, 1336
transfer_function_t
MHAFilter::transfer_function_t, 683
trigger_processing
MHAPlugin_Split::split_t, 910
MHAPlugin_Split::splitted_part_t, 917
trim
MHAParser, 122
try_accept
MHA_TCP::Server, 567
try_write
MHA_TCP::Connection, 559
tv1
mha_tictoc_t, 582
tv2
mha_tictoc_t, 582
tz
mha_tictoc_t, 582
U
rt_nlms_t, 1109
UCL
AuditoryProfile::parser_t::ear_t, 238
AuditoryProfile::profile_t::ear_t, 243
UPrew
prediction_error_config, 1096
UPrewW
prediction_error_config, 1096
UbufferPrew
prediction_error_config, 1095
Uflt
rt_nlms_t, 1109
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1441
uint_vector_t
MHASignal::uint_vector_t, 990,991
underflow
MHAFilter::polyphase_resampling_t, 672
unit
MHAOvlFilter::fscale_t, 751
unit2hz
MHAOvlFilter::scale_var_t, 763
unlock_channels
fw_vars_t, 398
unlock_srate_fragsize
fw_vars_t, 398
unset_fb_pars
DynComp::dc_afterburn_t, 343
up_incl
MHAParser::range_var_t, 844
up_limit
MHAParser::range_var_t, 843
MHASignal::quantizer_t, 970
up_thresh
acPooling_wave_config, 171
update
ac2wave_if_t, 146
adm_if_t, 206
calibrator_t, 250
coherence::cohflt_if_t, 259
dc::dc_if_t, 282
dc::wideband_inhib_vars_t, 295
delay::interface_t, 313
DynComp::dc_afterburn_t, 344
DynComp::gaintable_t, 349
frequency_translator_t, 386
MHA_AC::ac2matrix_t, 482
MHA_AC::acspace2matrix_t, 486
MHA_AC::stat_t, 495
MHAMultiSrc::spectrum_t, 734
MHAMultiSrc::waveform_t, 735
MHAParser::mhaconfig_mon_t, 824
MHAPlugin_Split::split_t, 910
mhachain::chain_base_t, 587
nlms_t, 1042
overlapadd::overlapadd_if_t, 1055
route::interface_t, 1103
smoothgains_bridge::overlapadd_if_-
t, 1128
softclip_t, 1133
spec2wave_if_t, 1140
wave2spec_if_t, 1177
update_bbgain
gain::gain_if_t, 401
update_burner
DynComp::dc_afterburn_t, 343
update_cfg
acConcat_wave, 153
acPooling_wave, 167
acSteer, 185
acTransform_wave, 190
delaysum::delaysum_if_t, 316
doasvm_classification, 321
doasvm_feature_extraction, 327
example6_t, 369
fader_if_t, 372
fftfilterbank::fftfb_interface_t, 380
lpc, 456
lpc_bl_predictor, 459
lpc_burglattice, 466
multibandcompressor::interface_t, 1037
noise_t, 1045
noisePowProposedScale::interface_-
t, 1048
plugin_interface_t, 1065
prediction_error, 1089
sine_t, 1125
steerbf, 1149
timoSmooth, 1170
update_coeffs
MHAFilter::fftfilter_t, 624
MHAFilter::fftfilterbank_t, 629
update_dc
dc_simple::dc_if_t, 299
update_filter
MHAFilter::iir_filter_t, 647
update_frame
fader_wave::level_adapt_t, 377
update_gain
gain::gain_if_t, 400
update_gain_mon
dc_simple::dc_if_t, 299
update_hz
MHAOvlFilter::fscale_bw_t, 749
MHAOvlFilter::fscale_t, 751
update_level
dc_simple::dc_if_t, 299
update_level_mon
dc_simple::dc_if_t, 299
update_levels
multibandcompressor::plugin_signals_t,
1039
update_m
matrixmixer::matmix_t, 477
update_minmax
gain::gain_if_t, 401
© 2005-2018 HörTech gGmbH, Oldenburg
1442 INDEX
update_monitors
dc::dc_if_t, 282
update_mu
MHAFilter::adapt_filter_t, 612
update_ntaps
MHAFilter::adapt_filter_t, 612
update_parser
windowselector_t, 1190
update_proc_load
mhachain::plugs_t, 592
update_ramplen
altplugs_t, 223
update_recmode
acmon::acmon_t, 161
update_selector_list
altplugs_t, 223
update_tau_level
calibrator_t, 250
updated
windowselector_t, 1190
updater
MHAOvlFilter::fscale_bw_t, 750
MHAOvlFilter::fscale_t, 752
upper_threshold
acPooling_wave, 167
upsample.cpp, 1336
upsampling_factor
MHAFilter::polyphase_resampling_t, 672
upscale
MHASignal::quantizer_t, 970
us_t, 1173
antialias, 1175
prepare, 1174
process, 1174
ratio, 1174
release, 1174
us_t, 1174
use_date
wavrec_t, 1184
use_frozen_
cfg_t, 256
use_jack_transport
MHAJack::client_t, 719
use_mat
acmon::ac_monitor_t, 159
use_own_ac
altplugs_t, 223
use_sine
cpuload_t, 275
use_smoothspec
smoothgains_bridge::smoothspec_-
wrap_t, 1131
use_wbinhib
dc::dc_vars_t, 291
user
MHAParser::window_t, 875
user_err_msg
MHAIOFile.cpp, 1290
MHAIOJack.cpp, 1295
MHAIOParser.cpp, 1299
MHAIOPortAudio.cpp, 1304
MHAIOTCP.cpp, 1310
user_t
MHAWindow::user_t, 1031
username
MHA_AC::ac2matrix_helper_t, 480
userwnd
windowselector_t, 1191
v_G
prediction_error_config, 1094
vFlog
DynComp::gaintable_t, 351
vGCC_ac
doasvm_feature_extraction_config, 330
vGCC_con
acConcat_wave_config, 155
vGCC_name
doasvm_classification, 322
doasvm_feature_extraction, 327
vGCC
acConcat_wave_config, 155
doasvm_feature_extraction_config, 331
vLTASS_combined_lev
speechnoise.cpp, 1329
vLTASS_female_lev
speechnoise.cpp, 1329
vLTASS_freq
speechnoise.cpp, 1328
vLTASS_male_lev
speechnoise.cpp, 1329
vMHAOrigFreq
speechnoise.cpp, 1328
vMHAOrigSpec
speechnoise.cpp, 1328
vOlnoiseFreq
speechnoise.cpp, 1329
vOlnoiseLev
speechnoise.cpp, 1329
val2str
MHAParser::StrCnv, 127130
validate
AuditoryProfile::parser_t::fmap_t, 239
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1443
MHAParser::keyword_list_t, 808
MHAParser::kw_t, 812
MHAParser::range_var_t, 842,843
validator_channels
mhasndfile.cpp, 1317
validator_length
mhasndfile.cpp, 1317
value
AuditoryProfile::parser_t::fmap_t, 240
MHASignal::ringbuffer_t, 973
MHASignal::spectrum_t, 982
MHASignal::waveform_t, 997,998
mha_signal.hh, 1278
Vector and matrix processing toolbox, 54
57
value_type
mha_dblbuf_t, 505
mha_fifo_t, 532
valuechanged
MHAParser::base_t, 774
variable, 4
variable_t
MHAParser::variable_t, 850
variables, 4
acsave::acsave_t, 175
varlist
acmon::acmon_t, 162
acsave::acsave_t, 176
acsave::cfg_t, 178
varlist_t
acsave::acsave_t, 173
vars
acmon::acmon_t, 162
analysispath_if_t, 233
calibrator_t, 250
coherence::cohflt_if_t, 259
MHAKernel::algo_comm_class_t, 728
vars_t
coherence::vars_t, 265
MHAOvlFilter::overlap_save_filterbank_-
t::vars_t, 760
vbark
MHAOvlFilter::barkscale, 113
vbin1
MHAOvlFilter::fftfb_t, 744
vbin2
MHAOvlFilter::fftfb_t, 744
vcomplex_mon_t
MHAParser::vcomplex_mon_t, 852
vcomplex_t
MHAParser::vcomplex_t, 856
vec_y
MHATableLookup::linear_table_t, 1012
Vector and matrix processing toolbox, 38
assign, 53
bin2freq, 47
channels, 44
clear, 52,53
colored_intensity, 63
conjugate, 66
copy_channel, 61,62
db2lin, 45
dbspl2pa, 46
dupvec, 49
dupvec_chk, 49
equal_dim, 49,50
for_each, 44
freq2bin, 47
integrate, 51
lin2db, 44
max, 65
maxabs, 63,64
mha_real_t, 43
min, 65
operator=, 59,60
operator=, 61
operator+=, 58,59,61
operator-=, 59
operator/=, 60
pa22dbspl, 45
pa2dbspl, 45
rad2smp, 48
range, 43
rmslevel, 62,64
sec2smp, 46
size, 51,52
smp2rad, 47
smp2sec, 46
std_vector_float, 58
std_vector_vector_complex, 58
std_vector_vector_float, 58
sumsqr_channel, 66
sumsqr_frame, 66
timeshift, 54
value, 5457
vF
DynComp::gaintable_t, 351
vfloat_mon_t
MHAParser::vfloat_mon_t, 858
vfloat_t
MHAParser::vfloat_t, 860
vfreq
© 2005-2018 HörTech gGmbH, Oldenburg
1444 INDEX
MHAOvlFilter::barkscale, 113
vint_0123n1
transducers.cpp, 1336
vint_mon_t
MHAParser::vint_mon_t, 863
vint_t
MHAParser::vint_t, 865
vL
DynComp::gaintable_t, 351
vmax
gain::gain_if_t, 401
vmin
gain::gain_if_t, 401
vstring_mon_t
MHAParser::vstring_mon_t, 868
vstring_t
MHAParser::vstring_t, 870
vy
MHATableLookup::linear_table_t, 1012
W
MHAFilter::adapt_filter_state_t, 610
w
ac2wave_t, 149
doasvm_classification, 322
MHAOvlFilter::fftfb_t, 743
w_out
combc_t, 271
WINAPI
mha_plugin.hh, 1260
wIRS_fft
MHAFilter::fftfilter_t, 627
wInput
MHAFilter::fftfilter_t, 626
wInput_fft
MHAFilter::fftfilter_t, 626
wOutput
MHAFilter::fftfilter_t, 626
wOutput_fft
MHAFilter::fftfilter_t, 626
wait
MHA_TCP::Event_Watcher, 563
wait_for_decrease
mha_fifo_posix_threads_t, 529
mha_fifo_thread_platform_t, 540
wait_for_increase
mha_fifo_posix_threads_t, 529
mha_fifo_thread_platform_t, 540
Wakeup_Event
MHA_TCP::Wakeup_Event, 580
wave2spec
MHASignal::fft_t, 941
plugindescription_t, 1070
wave2spec.cpp, 1336
MHAPLUGIN_OVERLOAD_OUTDOM-
AIN, 1336
wave2spec_if_t, 1175
algo, 1178
nfft, 1177
nwnd, 1177
patchbay, 1177
prepare, 1176
process, 1176,1177
return_wave, 1178
update, 1177
wave2spec_if_t, 1176
window_config, 1177
wndpos, 1177
wave2spec_scale
MHASignal::fft_t, 942
wave2spec_t, 1178
wave2spec_t, 1179
calc_in, 1181
calc_pre_wnd, 1180
ft, 1180
in_buf, 1181
npad1, 1180
npad2, 1181
nwnd, 1180
nwndshift, 1180
process, 1180
spec_in, 1181
wave2spec_t, 1179
window, 1181
wave2wave
plugindescription_t, 1069
wave_fifo
analysepath_t, 228
wave_in
MHAPlugin_Split::domain_handler_t, 899
wave_in1
overlapadd::overlapadd_t, 1059
wave_out
MHAPlugin_Split::domain_handler_t, 899
MHAPlugin_Split::split_t, 913
wave_out1
overlapadd::overlapadd_t, 1059
waveform_t
MHA_AC::waveform_t, 497
MHAMultiSrc::waveform_t, 735
MHASignal::waveform_t, 995,996
wavrec.cpp, 1337
DEBUG, 1337
© 2005-2018 HörTech gGmbH, Oldenburg
INDEX 1445
wavrec_t, 1182
fifolen, 1184
minwrite, 1184
patchbay, 1184
prefix, 1184
prepare, 1183
process, 1183
record, 1184
release, 1183
start_new_session, 1183
use_date, 1184
wavrec_t, 1183
wavwriter_t, 1185
wavwriter_t, 1185
act_, 1186
cf_, 1186
close_session, 1186
data, 1187
fifo, 1187
minw_, 1187
process, 1186
sf, 1187
wavwriter_t, 1185
write_thread, 1186
writethread, 1187
wb_inhib_cfg_t
dc::wb_inhib_cfg_t, 293
wbinhib
dc::dc_if_t, 282
weights
dc::wb_inhib_cfg_t, 293
dc::wideband_inhib_vars_t, 296
delaysum::delaysum_if_t, 316
delaysum::delaysum_t, 318
what
MHA_Error, 523
wideband_inhib_vars_t
dc::wideband_inhib_vars_t, 295
win_f0
timoSmooth, 1171
winF0
timo_params, 1159
timoConfig, 1163
winF0_AC
timo_AC, 1156
window
MHAFilter::smoothspec_t, 678
overlapadd::overlapadd_if_t, 1056
wave2spec_t, 1181
window_config
spec2wave_if_t, 1140
wave2spec_if_t, 1177
window_t
MHAParser::window_t, 873
windowselector.cpp, 1337
windowselector.h, 1337
windowselector_t, 1187
windowselector_t, 1189
get_window_data, 1189
insert_items, 1189
invalidate_window_data, 1190
patchbay, 1191
update_parser, 1190
updated, 1190
userwnd, 1191
windowselector_t, 1189
wnd, 1190
wndexp, 1191
wndtype, 1191
wnd
fader_wave::level_adapt_t, 378
windowselector_t, 1190
wnd_funs
mha_windowparser.cpp, 1284
wndexp
overlapadd::overlapadd_if_t, 1056
windowselector_t, 1191
wndlen
doasvm_feature_extraction_config, 329
MHAParser::mhaconfig_mon_t, 825
mhaconfig_t, 596
wndpos
overlapadd::overlapadd_if_t, 1056
wave2spec_if_t, 1177
wndtype
windowselector_t, 1191
worker_thread_priority
MHAPlugin_Split::split_t, 912
worker_thread_scheduler
MHAPlugin_Split::split_t, 912
wout
matrixmixer::cfg_t, 475
route::process_t, 1105
wout_ac
route::process_t, 1106
write
MHA_TCP::Connection, 559
MHAFilter::blockprocessing_polyphase-
_resampling_t, 615
MHAFilter::polyphase_resampling_t, 671
MHAJack::port_t, 722
MHASignal::matrix_t, 965
© 2005-2018 HörTech gGmbH, Oldenburg
1446 INDEX
MHASignal::ringbuffer_t, 974
MHASignal::uint_vector_t, 992
mha_drifter_fifo_t, 516
mha_fifo_lw_t, 526
mha_fifo_t, 533
write_buf
overlapadd::overlapadd_t, 1060
spec2wave_t, 1142
write_event
MHA_TCP::Connection, 560
write_float
mha_parser.cpp, 1253
write_ptr
mha_fifo_t, 536
write_thread
wavwriter_t, 1186
write_wave
mhasndfile.cpp, 1316
mhasndfile.h, 1317
writeaccess
MHAParser::base_t, 774
writer_started
mha_drifter_fifo_t, 519
writer_xruns_in_succession
mha_drifter_fifo_t, 520
writer_xruns_since_start
mha_drifter_fifo_t, 520
writer_xruns_total
mha_drifter_fifo_t, 519
writethread
wavwriter_t, 1187
Writing openMHA Plugins. A step-by-step tu-
torial, 11
wtype
MHAParser::window_t, 875
wtype_t
MHAParser::window_t, 873
X
MHAFilter::adapt_filter_state_t, 610
x
doasvm_classification, 322
xfun
MHATableLookup::xy_table_t, 1020
xi_est
timoConfig, 1165
xi_est_AC
timo_AC, 1156
xi_min
timoConfig, 1163
xi_min_db
timo_params, 1158
timoSmooth, 1170
xi_ml
timoConfig, 1164
xi_ml_AC
timo_AC, 1154
xi_opt_db
timo_params, 1159
timoSmooth, 1172
xiOpt
noisePowProposedScale::noisePow-
Proposed, 1052
timoConfig, 1166
xiOptDb
noisePowProposedScale::interface_-
t, 1049
xmax
MHATableLookup::linear_table_t, 1013
xmin
MHATableLookup::linear_table_t, 1013
Xs
MHAFilter::fftfilterbank_t, 632
xw
MHAFilter::fftfilterbank_t, 631
xy_table_t
MHATableLookup::xy_table_t, 1017
xyfun
MHATableLookup::xy_table_t, 1020
y
doasvm_classification, 322
y0
dc_simple::dc_t::line_t, 305
y_previous
rt_nlms_t, 1110
YPrew
prediction_error_config, 1096
yfun
MHATableLookup::xy_table_t, 1020
Yn
MHAFilter::complex_bandpass_t, 620
MHAFilter::iir_ord1_real_t, 651
Ys
MHAFilter::fftfilterbank_t, 632
yw
MHAFilter::fftfilterbank_t, 632
yw_temp
MHAFilter::fftfilterbank_t, 632
zeros
ac2wave_if_t, 147
zerowindow
overlapadd::overlapadd_if_t, 1056
© 2005-2018 HörTech gGmbH, Oldenburg

Navigation menu