
Hexmodal - A Hands-On Experience with Modal Synthesis
The Hexmodal is a modal synth that is aimed at adding a bit more physicality to physical modeling. The whole device is played with two hands where the left hand determines the left hand determines the frequencies of the resonator and the right acts as the exciter for the sound. This comes together to provide a tactile experience with lots of feedback and opportunity for experimentation.
To brush up on modal synthesis, it is a type of physical modeling synthesis that is aimed at recreating natural sounds such as bells, mallet instruments, and more. The way it works is you first set up a bank of resonant band-pass filters with a very small bandwidth. Then you need an exciter signal which is very commonly an impulse or noise, but could really be anything. From there, it is just tweaking the frequencies and amplitude of the filters as well as changing the exciter signal. This can give you so many possible combinations and sounds. I wanted to make a design that would allow a person to explore that space more intuitively.
I had many different ideas of how to do this, but eventually settled on the final layout shown here. Some of the main design choices that lead to this were I wanted to avoid traditional faceplate layouts. This is why the touch surface of the instrument is made up of hexagonal capacitive plates and an empty exciter surface. I figured this would cause the user to try new things rather than bring preconceived notions from other electronic instruments. I wanted the instrument to still feel somewhat intuitive though so I went with a similar two handed playing style similar to instruments like the guitar or even the French horn with the left hand controlling the frequencies and the right hand controlling attack and timbre. This should hopefully feel somewhat familiar if you’ve played other instruments before.
For the technical details, all the digital signal processing was done in Pure Data and all the hardware was done on Arduino. The project was designed to be used with Electrosmith Daisy, but I wasn’t able to acquire one in time so I settled on using a laptop running Pure Data while taking the sensor data from the Arduino. The capacitive plate data is taken with an Adafruit MPR121 and the exciter signal is taken with a piezo contact mic and fed to Pure Data. The shell is made entirely of 3D printed plastic and was designed using Fusion 360 to custom fit the capacitive hexagons.
The project also has a granular synth built into it as a second mode. It was another aspect of synthesis I was really interested in at the time so I decided to put it in. I don’t think it fits in with the scope and vision of this project so I don’t really highlight it, but I do think it turned out quite good. The way it works is you are able to record 12 seconds of audio and then play back grains of the recorded audio using the capacitive plates. The touch strip on the exciter surface is used for controlling the playback speed of the grains.
Overall, I was very happy with how this turned out and really felt like one of the first projects I’ve done that has felt original and polished. I understand it would have a long way to go to be considered a good product, but I think it has good bones and I have many ideas of where this could go in the future. For now though, thank you for reading and please watch the video demo below if you’re interested.