Here are some photos of a completed mouthpiece. It's supported on a "neck unit". which is the formed wire device that hooks around the back of the user's neck and supports the mouthpiece in front of the mouth for use as a breath/multimodal controller.
- Breath blowing out
- Breath sucking in
- Lower lip
- Upper lip
- Oral cavity/tongue/throat
- Forward tilt
- Side tilt
- Rotation about the vertical axis
The red cable is from the USB port of the Teensy 3.2 processor plugged into the bottom of the main PCB. The Teensy will eventually send MIDI but for now it streams all sensor data to my Mac on which I am developing a Max patch for calibration, generating MIDI controllers and pitch bend and generating note-ons/offs with breath pressure. The tilt and rotation sensing is done with an Adafruit IMU board that plugs to a header on top of the main PCB in the blue mouthpiece housing.
Here the mouthpiece calibration patch I created in Max 7. It shows graphs of data from the sensors and provides controls for setting the usable range out of the total raw range of 1024 values measured by the Teensy 3.2 analog to digital converter.
The upper graph in each sensor's section shows the uncalibrated sensor value and the lower graph shows the calibrated values. Calibration is done by rescaling the raw value into the range between the "min" and "max" usable values of the sensor's total range. Eventually it will also be possible to also remap each sensor's calibrated output through a user adjustable non linear curve and then map the values to MIDI controllers, pitch bend, etc.