EditorX-82 Sensor Input Processing

From I-CubeX Wiki
Jump to: navigation, search

The Processing sub-section configures a sensor input to apply algorithms to the sensor input value(s). The Visualize button opens a window that displays the Signal Flow of the sensor data.

Editorx-81 processing analog section.png Editorx-81 processing digital section.png


Processing

The following processing methods are available:

  • Continuous output
  • Peak / Dip detection, or pass Threshold detection
  • Peak / Dip End notification, or below Threshold detection
  • Smoothing
  • Difference calculation
  • Constant output
  • Inversion

A sensor input will only process values if either the Continuous or Peak method is enabled, or both. Multiple processing methods can be selected.

How the processing methods are applied to the sensor signal can be seen in the signal flow diagrams.

See also the EDIT CONFIG command for more information about processing methods than provided here.


Input Range

The input range is set using the "Min" and "Max" values. The input range of analog sensors is displayed in Volt (0 to 5 V). The input range of digital sensors is displayed as a percentage (0 to 100 %) of the full range. For example, the Orient4D pitch range is -180º to +180º, so the size of the range is 360º so that 10% of the range represents the value -180 + 36 = -144º and 90% of the range represents +144º. Consult the product datasheet of the digital sensor for more details wrt. the applicable units and size of the range.

If there is noise, interference, crosstalk from other inputs or another unwanted signal in the input value below or above a specific level increase the Min value and/or lower the Max value to exclude it from further processing.

Continuous

The Continuous output method checks whether the sensor value has changed more than the Noise value before it is transmitted as a MIDI message. The Noise value can be set separately in steps of 1 when the MIDI message transmits sensor input values as 7-bit values (all MIDI messages except PitchBend), and in steps of 16 when the MIDI message transmits sensor input values as 14-bit values (Pitchbend messages). Setting the Noise value to zero results in all sensor values being output.

Editorx-81 processing continuous.png

Peak / Dip

The Peak detection method starts searching for a peak if the sensor value equals or crosses the Min threshold (ie. the Min value of the Range slider below the Processing menu). As long as each subsequent sensor value is greater than the previous value, no value is transmitted as a MIDI message. As soon as the sensor value is smaller than or equal to the previous value a MIDI message is output where the sensor value is scaled between the Min and Max value of the Range. After the peak is detected and output, no new peak will be searched until the sensor value is equal to or lower than the Min threshold.

If Inversion is enabled, if the sensor value is lower than the Max value of the Range slider, a search for a dip (instead of a peak) is started. As long as each subsequent sensor value is smaller than the previous value, no value is transmitted as a MIDI message. As soon as the sensor value is greater than or equal to the previous value a MIDI message is output where the sensor value is scaled between the Min and Max value of the Range. After the dip is detected and output, no new dip will be searched until the sensor value is equal to or higher than the Max value.

If Peak End (or Dip End) is selected, and a peak or dip has been detected, a MIDI message with value 0 is output as soon as the sensor value is equal to or smaller than the Min value of the Range slider, or, if Inversion is enabled, a MIDI message is output with value 127 (or 16383 in the case of Pitchbend messages) as soon as the sensor value is equal to or larger than the Max value of the Range slider.

The number of samples that are analyzed before establishing whether the sensor value is equal to or smaller than (in case of peak search) or larger than (in case of dip search) the previous sensor value can be set separately in the Window field. Setting the number of samples higher than 1 allows for sub-peaks, eg. due to noise, to be filtered out.

The Peak / Dip output method checks whether the sensor value has changed more than the Noise value before it is transmitted as a MIDI message. The Noise value can be set separately in steps of 1 when the MIDI message transmits sensor input values as 7-bit values (all MIDI messages except PitchBend), and in steps of 16 when the MIDI message transmits sensor input values as 14-bit values (Pitchbend messages). Setting the Noise value to zero results in all sensor values being output.

Editorx-81 processing peak.png

Smoothing

The Smoothing method applies an exponential moving average filter to the sensor values. The smoothing factor can be set separately, and a higher value increases the smoothing. The number of samples used to calculate the average can be set separately, and a higher number increases the smoothing. The advantage of the exponential smoothing average compared to the simple moving average is that the former results in less latency while providing a smoother output. The Smoothing or Averaging method will only be active when either the Continuous or Peak method is enabled, or both.

Editorx-81 processing continuous smooth.png Editorx-81 processing menu continuous smooth.png


Difference

The Difference method outputs the difference between the current and the previous sensor values. The Difference method will only be active when either the Continuous or Peak method is enabled, or both.

Editorx-81 processing menu continuous difference.png Editorx-81 processing menu peak difference.png


Constant

The Constant output method allows for the output of the same value each time the threshold was passed. The threshold is either the Min value set in the Range field, or the Max value if the Range is inverted by checking Inverted in the Processing menu. The constant value can be set separately in steps of 7. The Constant method will only be active when the Peak method is selected, and in which case it is renamed to Threshold.

Editorx-81 processing threshold constant.png Editorx-81 processing menu threshold constant.png

Inversion

The Inversion method inverts the range of the sensor input, ie. a higher sensor value results in a lower output value. This method can also be realized by selecting the Lookup Table method in the analog sensor methods. The Inversion method will only be active when either the Continuous or Peak (renamed to Dip once Invert is selected) method is enabled, or both.

Editorx-81 processing menu continuous invert.png Editorx-81 processing menu dip invert.png