Skip to content
The Pidato Experiment: Vibrato on a Digital Piano Using an Arduino
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


The Pidato Experiment

The aim of the pidato experiment is to demonstrate a method to handle vibrato on a digital piano. It offers a solution to the ‘vibrato’ markings on the piano solo scores of Franz Liszt. Also, it is fun to play with.

Pidato stands for piano, vibrato and Arduino: the chip used in this experiment. It also means expression, speech in Indonesian.

More info on The Pidato Experiment: Vibrato on a Digital Piano Using an Arduino


The way it works is by translating movement (accelerometer data) to MIDI messages.

The hardware consists of an Arduino, MIDI ports and a three axis accelerometer.

The software should know when a vibrato like movement is made and how to translate such movement to MIDI messages. The software therefore contains a periodicity estimator and frequency detector to detect how periodic a movement is and how fast the movement is repeated. This was done with the YIN algorithm (more commonly used in audio signal analysis).

The YIN algorithm is encapsulated in an Arduino Library and can be used to estimate pitch and periodicity of any signal.


A video on youtube shows the results of the Pidato experiment: vibrato on a digital piano. Please note that this is a technical demonstration, not an artistic performance… in any way.


The software is licensed under the GPL since the Yin code is based on the GPL’d TarsosDSP java implementation which is in turn based on the aubio implementation in c by Paul Brossier, also under the GPL.

You can’t perform that action at this time.