Hi all.
I've been looking at electric wind instruments, both professional and also do-it-yourself projects. The mouthpiece seems to be the most tricky part to get done right.
I have seen a few approaches for implementing breath sensors and bite sensors, and I'm not sure which one would be the most accurate / easy to implement using available parts, and also which one would work the best with Teensy to provide reasonable latency.
So, here are my choices and what I already have.
Breath sensing
-----------------------------------
I've seen people using mostly MPXV4006 and MPX5010 diff or gauge sensors, they seem to provide a pressure range that more accurately matches wind instruments. According to some studies, blowing pressures in wind instruments range between 1 and 12 kPa.
I have a MPXV7002 differential sensor -2.0 to 2.0 kPa and I haven't yet tested it. Wondering, if 2kPa might be too sensitive and get oversaturated by breath? But we should also consider that the tube will have a side path to have free breathing. So, only a part of the air stream will reach the sensor, in which case 2kPa might be sufficient. Not sure, will see when I get to testing it (Teensy still in my cart in the store).
I could not find MPXV4006 nor MPX5010 in my closest Distrelec store, and shipping from another store would cost more than the parts themselves.
Another option is to buy ABPDRRV060MGSA3 - Basic Board Mount Pressure Sensor 0 ... 60 mbar, Gauge, Digital/SPI, Gas/Liquid, DIP, Honeywell. 60mbar corresponds to 6kPa, which is closer to a real woodwind (but again - not considering the open side tube).
Not sure about SPI. Which option would provide lower delay on Teensy - analog output from the sensor or SPI?
Another novel approach that I saw in a Youtube video is to use a balloon rubber on a bottleneck and a reflective sensor CNY70. As you blow, the rubber gets closer to the sensor and it receives more of the reflected light. But I'm not sure if it's a better and more accurate solution than a pressure sensor. What do you think?
Bite (lip pressure) sensing
-----------------------------------
I have read an AKAI EWI tear-down article. They seem to be using some kind of capacitive sensing with two metallic plates getting pressed together when biting. I have looked at a similar DIY sensor article for Arduino, and it seems to be tricky to implement right - it needs very accurate resistor value tweaking and also depends on input pin specifics with internal pull resistors and maximal current. There might be a risk damaging my Teensy while experimenting with such a capacitor.
Also, I don't want to have a strong bite but more like lower lip pressure, like what I'm used to when playing my Clarineo.
I have seen an article where a person uses a reflective sensor (QRD1114) for the bite mechanism. I don't have QRD1114 available, but I have CNY70 - should work the same, I guess.
But I'm not sure how to implement it mechanically - unfortunately, there are no detailed examples. So, my idea is to buy some cheap sax mouthpieces from China and a few plastic reeds to experiment with.
Then I cut the part under the reed to make it more round at the front, so that the reed has wider amplitude to move when I press it with my lower lip. Then it all boils down to - how to translate the small vertical movement of the reed to something that the optical sensor can understand with enough accuracy?
Also, I'll have to seal the sensor part to protect it from moisture (the open tube will drain it all out at the end of the instrument, the same way as Akai / Roland does).
I might instead buy an Akai mouthpiece, but then I'd have to think of connecting that capacitive bite sensor to Teensy.
I hope it won't end up costing me more than buying and modding an Akai EWI-USB
Thanks for reading this lengthy "thinking aloud", and I hope somebody has something to say about this.
I'll especially appreciate ideas from people who have successfully created such mouthpieces and have been using them for some time.
I've been looking at electric wind instruments, both professional and also do-it-yourself projects. The mouthpiece seems to be the most tricky part to get done right.
I have seen a few approaches for implementing breath sensors and bite sensors, and I'm not sure which one would be the most accurate / easy to implement using available parts, and also which one would work the best with Teensy to provide reasonable latency.
So, here are my choices and what I already have.
Breath sensing
-----------------------------------
I've seen people using mostly MPXV4006 and MPX5010 diff or gauge sensors, they seem to provide a pressure range that more accurately matches wind instruments. According to some studies, blowing pressures in wind instruments range between 1 and 12 kPa.
I have a MPXV7002 differential sensor -2.0 to 2.0 kPa and I haven't yet tested it. Wondering, if 2kPa might be too sensitive and get oversaturated by breath? But we should also consider that the tube will have a side path to have free breathing. So, only a part of the air stream will reach the sensor, in which case 2kPa might be sufficient. Not sure, will see when I get to testing it (Teensy still in my cart in the store).
I could not find MPXV4006 nor MPX5010 in my closest Distrelec store, and shipping from another store would cost more than the parts themselves.
Another option is to buy ABPDRRV060MGSA3 - Basic Board Mount Pressure Sensor 0 ... 60 mbar, Gauge, Digital/SPI, Gas/Liquid, DIP, Honeywell. 60mbar corresponds to 6kPa, which is closer to a real woodwind (but again - not considering the open side tube).
Not sure about SPI. Which option would provide lower delay on Teensy - analog output from the sensor or SPI?
Another novel approach that I saw in a Youtube video is to use a balloon rubber on a bottleneck and a reflective sensor CNY70. As you blow, the rubber gets closer to the sensor and it receives more of the reflected light. But I'm not sure if it's a better and more accurate solution than a pressure sensor. What do you think?
Bite (lip pressure) sensing
-----------------------------------
I have read an AKAI EWI tear-down article. They seem to be using some kind of capacitive sensing with two metallic plates getting pressed together when biting. I have looked at a similar DIY sensor article for Arduino, and it seems to be tricky to implement right - it needs very accurate resistor value tweaking and also depends on input pin specifics with internal pull resistors and maximal current. There might be a risk damaging my Teensy while experimenting with such a capacitor.
Also, I don't want to have a strong bite but more like lower lip pressure, like what I'm used to when playing my Clarineo.
I have seen an article where a person uses a reflective sensor (QRD1114) for the bite mechanism. I don't have QRD1114 available, but I have CNY70 - should work the same, I guess.
But I'm not sure how to implement it mechanically - unfortunately, there are no detailed examples. So, my idea is to buy some cheap sax mouthpieces from China and a few plastic reeds to experiment with.
Then I cut the part under the reed to make it more round at the front, so that the reed has wider amplitude to move when I press it with my lower lip. Then it all boils down to - how to translate the small vertical movement of the reed to something that the optical sensor can understand with enough accuracy?
Also, I'll have to seal the sensor part to protect it from moisture (the open tube will drain it all out at the end of the instrument, the same way as Akai / Roland does).
I might instead buy an Akai mouthpiece, but then I'd have to think of connecting that capacitive bite sensor to Teensy.
I hope it won't end up costing me more than buying and modding an Akai EWI-USB
Thanks for reading this lengthy "thinking aloud", and I hope somebody has something to say about this.
I'll especially appreciate ideas from people who have successfully created such mouthpieces and have been using them for some time.