@InProceedings{Gomez:2018:ISMIR,
author = {Juan Gomez and Jakob Abe{\ss}er and Estefan{'i}a Cano},
title = {Jazz Solo Instrument Classification with Convolutional Neural Networks, Source Separation, and Transfer Learning},
year = {2018},
booktitle = {Proceedings of the 19th International Society for Music Information Retrieval Conference (ISMIR)},
address = {Paris, France},
}
This script loads trained instrument recognition neural networks and makes predictions on a collection of jazz solos. The instruments are: alto saxophone (as), tenor saxophone (ts), soprano saxophone (ss), trombone (tb), trumpet (tp), and clarinet (cl). You can choose between loading a model that uses the mixed audio or the solo separated audio. The neural network is based on the work by Han et al. (Deep convolutional neural networks for predominant instrument recognition - 2016) and the solo/accompaniment separation uses the algorithm by Cano et al. (Pitch-informed solo and accompaniment separation towards its use in music education applications - 2014). The model was implemented by training on a subset of the IRMAS data set (only wind instruments: clarinet, flute, saxophone, and trumpet) and applying transfer training for a new data set from Weimar Jazz Database. Refer to the Informed Sound Activity Detection in Music Recordings (ISAD) Project Repository for metadata to reconstruct the MONOTIMBRAL and JAZZ dataset from the abovementioned publication.
pip install keras, matplotlib, numpy, librosa, h5py
Just run the main file.
python3 main.py