Ukulele chords classification 

Read the tutorial

Systems interacts with their environment by emitting various signals. These signals are sources of relevant information reflecting equipment functioning. Being able to understand these signals allows significant optimization capabilities. Machine learning helps make the data generated by the system into meaningful data for Humans.

For example, here a ML library allows to classify vibration pattern to recognize music chords. This approach can easily be adapted to other application to be able to classify various events and then to make smarter solutions. 


  • We measured the vibration instead of the sound to reduce the impact of background noise 
  • After analysis, a frequency of 2000Hz permit to recognize a chord. We set the accelerometer to 3300Hz (minimum sensor frequency) 
  • We recorded examples of 20 different chords (100 signals per chords) 
  • We created an ‘n-Class Classification’ model in NanoEdge AI Studio and tested it live on a NUCLEO-L432KC (and a STEVAL-MKI178V1 with LSM6DSL) 


Accelerometer (3 axes): LSM6DSL


20 classes of data: 20 Ukulele chords
Signal length: 3072 (1024* 3 axes)
Data rate: 3300 Hz


20 classes classification:
99.58% accuracy, 13.9 kB RAM, 82.9 kB Flash

Green points represent well classified signals. Red points represent misclassified signals. The classes are on the abscissa and the confidence of the prediction is on the ordinate