title: Looking for training data for music accompaniment
body: <p>I am building a system that uses machine learning to generate an accompanying melody in real time as a leading melody is being played. It uses a type of Recurrent Neural Networks and at every step it tries to predict the next note on the accompanying track. At this point I am satisfied with just working with midi files.</p>
  
  <p>I am having serious <strong>trouble finding training data</strong>. My original idea was to just download midi files from sites such as <a href="http://www.mididb.com" rel="nofollow">mididb</a> and convert them to csv, but the problem is that <strong>it's hard to come up with a way to distinguish between the leading melody and the accompanying melody</strong>. Sometimes this is possible, but then again I would prefer the accompanying tracks to be always from the same (or similar) instrument(s), because different instruments are used differently (the duration and pitch of notes is very different from one instrument to the other etc.) and that would just get the network really confused.</p>
  
  <p>I found Bach Corales on <a href="http://archive.ics.uci.edu/ml/datasets" rel="nofollow"> the UCI Machine Learning repository </a>. The problem with this dataset though, is that it only has melodies with 1 voice. I want <strong>datasets with 2 voices</strong>, one of which is the <strong>leading melody</strong> and the other the <strong>accompanying melody</strong>. </p>
  
  <p>I understand that this is difficult, so any advice on how to approach the problem would be very appreciated. I have tools that convert midi files to csv format, and if you can think of certain types/genres of songs, for which it would be <strong>easy to distinguish between leading and accompanying tracks</strong> (programmatically or manually), please let me know. Any advice will be greatly appreciated. </p>