Skip to content

OSC Communication v3

Balandino Di Donato edited this page Nov 13, 2018 · 7 revisions

Myo Mapper initially sends OSC messages to the port 5432 and receive messages at the port 5431, but it can be changed through the setting panel.

Outgoing OSC messages

OSC tag Myo parameter Value Type Range
/myoID/orientation/quaternion Quaternion x, y, z, w float; float; float; float
/myoID/orientation/scaled Yaw Scaled, Pitch Scaled, Roll Scaled float; float; float 0, 1; 0, 1; 0, 1
/myoID/orientation/raw Yaw, Pitch, Roll float; float; float -PI, PI; -PI, PI; -PI, PI
/myoID/orientation/scaled/velocity Scaled Yaw's velocity, Scaled Pitch's velocity, Scaled Roll's velocity float; float; float 0, 1; 0, 1; 0, 1
/myoID/orientation/scaled/acceleration Scaled Yaw's acceleration, Scaled Pitch's acceleration, Scaled Roll's acceleration float; float; float 0, 1; 0, 1; 0, 1
/myoID/orientation/quaternion x, y, z, w float; float; float; float 0, 1; 0, 1; 0, 1; 0, 1
/myoID/acceleration/raw Acc. x, Acc. y, Acc. z float; float; float -16, 16; -16, 16; -16, 16
/myoID/acceleration/raw/fod Acc. x F.O.D., Acc. y F.O.D., Acc. z F.O.D. float; float; float -16, 16; -16, 16; -16, 16
/myoID/acceleration/scaled Acc. x Scaled, Acc. y Scaled, Acc. z Scaled float; float; float 0, 1; 0, 1; 0, 1
/myoID/acceleration/scaled/fod Acc. x Scaled F.O.D., Acc. y Scaled F.O.D., Acc. z Scaled F.O.D. float; float; float -1, 1; -1, 1; -, 1
/myoID/acceleration/scaled/fod/mavg Acc. x Scaled F.O.D.'s Mavg, Acc. y Scaled F.O.D.'s Mavg, Acc. z Scaled F.O.D.'s Mavg float; float; float -1, 1; -1, 1; -1, 1
/myoID/gyro/raw Gyro X, Gyro Y, Gyro Z float; float; float -2000, 2000; -2000, 2000; -2000, 2000
/myoID/gyro/raw/fod Gyro x F.O.D., Gyro y F.O.D., Gyro z F.O.D. float; float; float -2000, 2000; -2000, 2000; -2000, 2000
/myoID/gyro/scaled Gyro x Scaled, Gyro y Scaled, Gyro z Scaled float; float; float 0, 1; 0, 1; 0, 1
/myoID/gyro/scaled/abs Gyro x Scaled Abs, Gyro y Scaled Abs, Gyro z Scaled Abs float; float; float 0, 1; 0, 1; 0, 1
/myoID/gyro/scaled/fod Gyro x Scaled F.O.D., Gyro y Scaled F.O.D., Gyro z Scaled F.O.D. float; float; float 0, 1; 0, 1; 0, 1
/myoID/gyro/scaled/fod/mavg Gyro x Scaled F.O.D. Mavg, Gyro y Scaled F.O.D. Mavg, Gyro z Scaled F.O.D. Mavg float; float; float 0, 1; 0, 1; 0, 1
/myoID/emg/scaled/abs/mav EMGs Mean Absolute Value float 0, 1
/emg/scaled/abs/mav/fod EMGs Mean Absolute Value F.O.D. float 0, 1
/myoID/EMG/raw EMG 1, EMG 2 ... EMG 8 int; int; ... int -127, 128; -127, 128 ... -127, 128
/myoID/EMG/raw/zcr EMG 1's Zcr, EMG 2's Zcr, ... EMG 8's Zcr, int; int; ... int 0, ∞; 0, ∞ ... 0, ∞
/myoID/EMG/raw/zcr/mavg EMG 1 Zcr's Mavg, EMG 2 Zcr's Mavg, ... EMG 8 Zcr's Mavg, int; int; ... int 0, ∞; 0, ∞ ... 0, ∞
/myoID/emg/scaled EMG 1 Scaled, EMG 2 Scaled ... EMG 8 Scaled float; float; ... float -1, 1; -1, 1 ... -1, 1
/myoID/emg/scaled/min EMG 1 Scaled's Min, EMG 2 Scaled's Min ... EMG 8 Scaled's Min float; float; ... float 0, 1; 0, 1 ... 0, 1
/myoID/emg/scaled/max EMG 1 Scaled's Max, EMG 2 Scaled's Max ... EMG 8 Scaled's Max float; float; ... float 0, 1; 0, 1 ... 0, 1
/myoID/emg/scaled/fod EMG 1 Scaled F.O.D., EMG 2 Scaled F.O.D. ... EMG 8 Scaled F.O.D. float; float; ... float 0, 1; 0, 1 ... 0, 1
/myoID/emg/scaled/sod EMG 1 Scaled S.O.D., EMG 2 Scaled S.O.D. ... EMG 8 Scaled S.O.D. float; float; ... float 0, 1; 0, 1 ... 0, 1
/myoID/emg/scaled/abs/mav/max EMGs Mav F.O.D.'s Max float 0,1
/myoID/emg/scaled/abs/mav/min EMGs Mav F.O.D.'s Min float 0,1
/myoID/pose Hand pose int; string -1, 5 ; "unknown", "rest", "fist", "fingerSpread", "waveIn", "waveOut", "doubleTap"

OSC messages to Wekinator

To facilitate the Myo data streaming to Wekinator, Myo Mapper also sends an OSC message through the port 6448, with the tag /myoX where X is the Myo number.

You can add values to this message by selecting the data through the To Weki toggles. All data are listed in the message in the same order they are selected.

Accepted OSC messages

NB: id = the value which indicates the selected Myo. It has to be an int; which value can be 1; 2; 3; 4. myoValue = the value which has to be processed. It has to be a String which value can be Yaw; Pitch; Roll.

OSC tag Value Type Range Functions
/myoID/myoValue/calibrate String calibrate Centre the current value within the set range
/myoID/myoValue/inMin float 0; 1 Set the lowest incoming value
/myoID/myoValue/inMax float 0; 1 Set the highest incoming value
/myoID/myoValue/outMin float 0; 1 Set the lowest outgoing value
/myoID/myoValue/outMax float 0; 1 Set the highest outgoing value
/myoID/myoValue/reverse int 0; 1 Reverse the current value

N.B.:

EMG pad enumumeration

Source image: Arief, Z., Sulistijono, I. A., & Ardiansyah, R. A. (2015, September). Comparison of five time series EMG features extractions using Myo Armband. In Electronics Symposium (IES), 2015 International (pp. 11-14). IEEE. Chicago.