This project is a demo of how modern bio-inspired spiking neural network(SNN) can be integrated into music information retrieval(MIR) applications. The project incorporates two popular SNN simulator: Brian2 and NEST to demonstrate SNN can detect onsets of notes in a music clip. The author is Alex Huang-Yu Yao, please contact [email protected].
- Python3
- Numpy
- Brian2
- Brian2hears
- NEST
- ODB dataset
- Optional(for additional visualization) -- Matplotlib
SNNinMIR.pdfis the detailed technical description file of the project.run.shis the 1-step easy-running script.main.pyis the core program for onset detection.network.pyis an SNN only simulation routine without music input for network dynamics evaluation.LICENSE: the project is under MPLv2.README.mdis what you are reading.mir-term.odpis the in-class presentation slides on 2019/06/18. Actually, all the contens are included inSNNinMIR.pdf.
- Clone or download this repository and download the ODB dataset.
- Switch to the top level of this repository, i.e.
cd /path/to/SNN-in-MIR. - Create a dirctory to put dataset in.
mkdir Datasetsand move all the file below theODBandevaluatordirectories underDatasets. It should look like this:SNN-in-MIR/Datasets/[ODB/evaluator]/.... - Execute
run.shto predict all onset points and obtain the evaluation results in the ODB dataset. The results will be saved under the top-level directory. If you find that you cannot execute the script, you should trysudo chmod +x run.sh.
Note: The programs are developed and tested on Arch Linux. Non-linux users may need to modify some instructions in the source codes or operate in a virtual machine.