This is the program embedded in the TES e-sax
More infos: https://t-e-s.frama.site/en/tesaxophone
The E-sax is an EWI made out of a real sax. It outputs MIDI signals that can be used to generate sounds using a synthesizer for instance the 10k synth. It is design to provide saxophone players a digital instrument to which they can transition easily. Additionnaly from the “standard” behavior it also have features that are allowed by a digital instrument:
The hardware folder contains the kicad project for the PCB used in the e-sax alongside with the Cu and Fab masks. It is single sided in order to make its construction possible for an hobbyist. Note that the isolations and the routes are fairly small (around 200 microns) so you will need to have a fairly optimized setup to be able to make this PCB correctly.
The software folder contains the embedded program that is embedded in the chip. Note that it will need some configurations for any particular saxophone.
The main MCU is a cheap BluePill STM32, programmed using the Arduino STM32 library and a FTDI.
This gives some guidelines in order to allow people to make such an E-sax themselves. It precludes that the PCB is already printed and drilled.
Note: no 3D parts are included in this repo for now. Except for the beak, every part usually need to be redesigned for a different saxophone. Do not hesitate to contact me on that.
The controller needs to know what keys are pressed at any given time in order to be able to generate the correct MidiNote for a synthesizer. In order for the behavior to be as close as possible to a real saxophone, the sensors are positionned on the pads and not on the keys: if a key closing a pad is not pressed enough to close the pad the controller will consider it “open” just like it would be for a real saxophone. All the wires for the pads are going through the sax body.
The saxophone is a complex instrument and not every pad can be dismounted “alone”: it is usual that some of them need other to be removed first in order to be dismounted.
This is why it is usually easier to dismount all the keys first and wire them on remounting.
Note: take some notes about which keys did you dismounted first: as the order matters they will need to be remounted in the reverse order. My personnal way of doing it is to write on every part a number and a letter (the latter only if this is a pad): the number denotes the order of dismounting (first dismounted part will be labelled “1”, second “2”…) and the letter denotes the hole the pad is covering. I also write the same letter next to, or in, the hole which is covered by the pad. This way, upon remounting, one can start by the part with highest number, spot its hole (if any) and remount it.
The pads can be wired upon remounting. All pads need to be wired except the one which is just above the left hand forefinger which is not independant from the pad located under the left hand forefinger.
The sensor is composed of a thin copper layer glued to the pad and wire to the PCB. Using a push-up resistor, and by placing the whole sax body at GND the pad will behave as a switch:
The copper tape needs to be glued to the pad: