EditorX Sensor Input

From I-CubeX Wiki
Revision as of 19:35, 31 October 2015 by Admin (talk | contribs) (Processing)
Jump to: navigation, search

The Sensor Input section configures a single sensor input of the digitizer.

Analog/Digital

Sensors are either analog or digital. Analog sensors output a single value that is captured by the digitizer using its analog to digital converter, after which a number of algorithms can be applied to process the sensor value and output it as a MIDI message. Digital sensors convert analog value(s) in the sensor itself and output a serial data stream using the I2C protocol that is received by the digitizer, which then can apply a number of algorithms to process the sensor values and output them as MIDI messages.

When selecting Analog, a number of conversion methods will be made available that may be applied in conjunction with processing methods. When selecting Digital, a number of sensor presets can be selected, applicable to the corresponding I-CubeX sensors.

Analog Sensors

For analog sensors the following conversion methods are available:

  • Lookup table
  • Absolute value
  • Time duration
  • Frequency
  • Absolute value, then frequency

A lookup table takes the sensor value as the index for a table and then outputs the value stored at that index. This method is useful for linearizing the response curve of a sensor, such as the ReachClose, ReachFar and all Touch sensors.

The absolute value method subtracts an offset value of the sensor value and if the result is negative, changes the sign of the value so that the output is always positive.This method is useful for sensors whose value at rest, ie. when the sensor is not stimulated, is not zero but varies around a value, such as the BendMicro/Mini/Short, BioVolt and GForce3D.

The time duration method counts the milliseconds between a peak (or dip) and the following peak (or dip), if no end-peak detection is enabled. If end-peak detection is enabled, the time duration method counts the time between a peak and its end (ie. the time the value drops below the threshold set for peak detection). The range of the time duration is 1 - 16383 ms. The time duration unit can be set separately, and setting it to 1 means the time duration is output in seconds, setting it to 100 means the time duration is output in 10ths of a second. This method has many applications, such as measuring the time between taps on a Touch sensor, the time a hand was held over a ReachClose sensor or the time between two activations of a MoveOn sensor.

The frequency method operates like the time duration method but outputs a frequency instead of a time value. The frequency unit can be set separately, and setting it to 1 means the frequency is output in Hertz (Hz), setting to 60 means the frequency is output as beats per minute (BPM). This method has many applications, such as measuring the BPM of taps on a Touch sensor, or the frequency of breaking a SeeLaser-Red beam pointed at a Flash sensor.

The "absolute value, then frequency" method combines the absolute value method with the frequency method. This method is useful for capturing beats per minute (BPM) when using a BioVolt as a heartbeat sensor.

Digital Sensors

The following digital sensor presets are available:

  • Magnetic3D
  • Moist
  • MoveAlong
  • MoveAround
  • Orient3D

Please refer to the [firmware v7.2] documentation for details about these presets.


Processing

The following processing methods are available:

  • Continuous output
  • Peak / Dip detection
  • Peak / Dip End notification
  • Smoothing
  • Differentiation
  • Constant output
  • Inversion

The Continuous output method involves no other processing than that each sensor value is transmitted as a MIDI message.

The Peak / Dip detection method starts searching for a peak or dip 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 or equal as 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 or lower than the Min threshold. If the Inversion method is enabled, the search for a dip is started if the sensor value is lower than the Max value of the Range slider. A MIDI message is output as soon as the sensor value is equal or smaller than the Min value of the Range slider. No new dip will be searched until the sensor value is equal or higher than the Max value. The number of samples that are analyzed before establishing whether the sensor value is equal or smaller (peak) or larger (dip) than the previous sensor value can be set separately. Setting the number of samples higher than 1 allows for sub-peaks, eg. due to noise, to be filtered out.

If the Peak / Dip End notification method is enabled, a MIDI message with value 0 is output if the sensor value reaches the Min value after a peak has been detected. If the Inversion method is enabled a MIDI message with value 127 (or 16383 in the case of pitchbend messages) is output is the sensor value reaches the Max value after a dip has been detected.

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 Differentiation method outputs the difference between the current and the previous sensor value.

The Constant output method allows for the output of the same value each time a peak or dip has been detected.

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.

Please refer to the [firmware v7.2] documentation for more information about processing methods.

MIDI Message

The MIDI Message settings configure the digitizer to output MIDI messages with the sensor value. The following MIDI messages can be selected:

  • NoteOff
  • NoteOn
  • KeyPressure
  • ControlChange
  • ProgramChange
  • AfterTouch
  • PitchBend

If the sensor input is configured to process values continuously as well as detect peaks or dips and their ending, the peak or dip and their ending are sent in the form of the MIDI message selected but additional MIDI key-pressure messages are sent to transmit the sensor value after the peak or dip is detected and until their end is detected.