Abstract

Synopsis: This project is about using musical recordings of string instruments to determine on which strings notes have been played. It includes the study of the spectral content of the recordings and the development of a robust classification algorithm. LCAV20170911

Level: BS, MS

Description: In a string instrument such as a guitar or a violin, most notes and some chords can be played using different fingerings. The art of establishing fingering patterns being a key component of the mastery of string instruments, knowing the ones that were used to play musical recordings will push the limits in musical studies and training. The goal of this project is to build a digital audio device capable of detecting the string(s) used to play each note (chord) in a recording of such an instrument, thus bringing the user one step closer to knowing the fingerings.
Musicians choose their fingering according to different criterions. On one hand, the choice of the finger which stops the string on the fingerboard is primarily dictated by technical and physiological reasons. On the other hand, the choice of the instrument’s string on which the note is played, while also depending on the above aspects, is mostly based on the seeked tone quality. Indeed, different strings have different timbral and loudness ranges, transient behaviour, and harmonicity. Furthermore, the fingering of a music piece is globally optimized in order to enhance phrasing, harmony and consistency while maintaining execution complexity at a reasonable level.
The student will start by getting familiar with the subject and the project’s current state, which includes a database of samples of single notes played on a guitar and an inharmonicity-based classification algorithm. The quality of both the dataset and the algorithm should be determined with respect to quantitative criterions for robust string discrimination that should be established. The improved algorithm will then be extended towards at least one of these directions:
  • unfretted instruments (e.g. violin)
  • polyphony (intervals and chords)
  • sequences of notes (melodies)

Deliverables:
  • project report
  • Functional python code for classification

Prerequisites: The student should have knowledge in basic acoustics, signal processing, linear algebra and python coding. Ideally, he/she has strong interest in music or practices it.

Type of Work: 50% theory and 50% programming

Details

Actions