Signal arrangement plugin types
Posted: Thu Feb 20, 2020 10:09 pm
Hi -
I'm having difficulties understanding how mhachain and overlapadd work, and what their differences are. From my understanding after reading the plugins document (http://www.openmha.org/docs/openMHA_plugins.pdf), mhachain is useful for creating a chain of plugins to create signal flow (such as in example 11, short time Fourier transform: wave2spec -> identity -> spec2wave), and overlapadd takes care of the signal transformation of that example, for example.
Why, then, do I see overlapadd being used as a subparser/config parameter of mhachain (in config files such as example 14: example_dc_simple_live.cfg), and vice versa? I see examples of peculiarities like this scattered throughout the examples and it is difficult to decipher. What is the difference between these?
It seems they are used nearly interchangeably, if not arbitrarily. When do I know which one to use? I see in the documentation that overlapadd is not realtime-safe, yet it is used in the dc_simple_live example using Jack as the realtime audio engine.
On a related note, I am getting the following error when using a sequence of plugins with mhachain.
I can paste my configuration file here if it is useful for resolving my issue.
Thanks!
I'm having difficulties understanding how mhachain and overlapadd work, and what their differences are. From my understanding after reading the plugins document (http://www.openmha.org/docs/openMHA_plugins.pdf), mhachain is useful for creating a chain of plugins to create signal flow (such as in example 11, short time Fourier transform: wave2spec -> identity -> spec2wave), and overlapadd takes care of the signal transformation of that example, for example.
Why, then, do I see overlapadd being used as a subparser/config parameter of mhachain (in config files such as example 14: example_dc_simple_live.cfg), and vice versa? I see examples of peculiarities like this scattered throughout the examples and it is difficult to decipher. What is the difference between these?
Code: Select all
# fshift_live.cfg
mhalib = overlapadd
mha.plugin_name = mhachain
mha.mhachain.algos = [fshift_hilbert gain]
# example_dc_simple_live.cfg
mhalib = transducers
mha.plugin_name = overlapadd
mha.overlapadd.plugin_name = mhachain
mha.overlapadd.mhachain.algos = [...]
# example-wave2spec-spec2wave.cfg
mhalib = mhachain
mha.algos = [wave2spec identity spec2wave]
On a related note, I am getting the following error when using a sequence of plugins with mhachain.
Code: Select all
>> mha_set(openmha, 'cmd', 'start')
Error using mhactl_wrapper>mhactl_wrapper_2 (line 55)
An error occured while sending to MHA server:
[1: 'cmd=start'] (mhafw_lib) The processing library returned invalid fragment size.
Error in mhactl_wrapper (line 33)
r = interface( handle, query );
Error in mha_set (line 15)
mhactl_wrapper(handle,assignments);
Thanks!