What is the Potenciello
The Potenciello is an electronic musical instrument in the shape of a cello. It takes inputs from sensors around the enclosure and processes them on a Teensy microcontroller to synthesize sound.
I’ve always wanted to play the cello so I designed the instrument to resemble the shape of one. Check out the diagram to see how each part was manufactured.
3D Models (feel free to play around with them)
Sensors & Circuits
The Potenciello houses the following inputs and outputs connected to a Teensy 3.2 microcontroller:
- Two touch potentiometers to control pitch
- DC motor to read bow velocity
- Pressure sensor on bow to adjust cutoff frequency of filter
- Accelerometer in bow to select “string” to play
- Rotary encoders to adjust settings
- Sound as analog signal on 1/4″ audio jack
- Settings displayed on the LED screen
I wrote the software for the Teensy in the Arduino IDE with the inputs and outputs described above. In addition to the RC circuits used to filter noise for some inputs, I also implemented a smoothing algorithm in the software to average the latest polled inputs.
The sound synthesis method used is subtractive synthesis where:
- Each of the two “strings” are independent synthesizers
- Each synthesizer begins with a sawtooth wave by default
- The frequency of each string is determined by finger position on the respective fingerboard
- The output of each synthesizer is then passed to its own low pass filter
- The cutoff frequency of each lowpass filter is determined by the pressure on the bow.
The greater the pressure, the higher the frequency (and therefore the harsher the sound)
- A mixer controlled by the accelerometer in the bow is used to determine which string to select.
There are three quantized regions: (1) Lower string only (2) Double stop and (3) Upper string only
- The final amplitude is determined by the velocity of the bow measured by the motor
In addition to this, the inputs are also outputted as joystick values that can be read in other software such as Max.
I got slightly carried away when designing this and thought to myself that “real cellos have tuning pegs. Why not add one here to?” This led to the “scroll”. You may think that it does not look like a cello scroll. You are right. “Scroll” in this case is a bad pun referring to its use to scroll through menus and settings.
What settings you ask? Naturally, one is to finetune the pitches. By default, the upper string is A 220Hz and lower string is the D below that. However, given the flexibility of software, I decided to implement a few more settings:
- Quantized tuning by semitone
- Initial waveform [sawtooth, square, triangle, sine]
- Pitch quantization [no quantization, major, harmonic minor, melodic minor]
If it is not already immediately obvious to you, the Potenciello essentially behaves like a cello, albeit a two-stringed one. The fingerboard behaves as expected where as you go further down, the pitch increases. As for the bow, the timbre and amplitude are determined based on both the pressure exerted on the bow and the speed of the stroke. The motivation here is to attempt to capture some of the subtleties as the note is played, as opposed to earlier electronic instruments with just a simple ADSR envelope.
This was my first class in college and it was before I knew any programming. Thus, there were many things that I would do differently and develop from this project. Here are some of them: