In this project, the student is asked to learn the use of neural networks. First, he will implement a simple convolutional network performing digit recognition on MNSIT. This first task will help him to get familiar with the tools used during the project. We recommend the use of Torch, but other alternative are availlable. The student will then study recurrent neural network and implement/play with a character-generator. Once, he understands the mechanics, he will be asked to use it for music generation. To do so, the student will transform midi files in character sequences and train the recurrent neural net on them. Most of the code for this project can be found online. (Everything except the final part to generate music). This project involves a lot engineering. The student will be evaluated on the code and on the report.