He has Bachelor's and Master's degrees in natural sciences and music from the University of Cambridge and a D.Phil. from the Faculty of Music of the University of Oxford. His research focuses on algorithms for analysing musical structure. He developed the first practical algorithms for discovering repeated patterns in polyphonic music and the most accurate pitch spelling algorithm to date. He is the lead investigator at Aalborg University on the EU collaborative project, "Learning to Create" (Lrn2Cre8).