fephsun / neuralnetmusic

Felix's project for composing music using neural nets.
126 stars 32 forks source link

assertion error on myparser #1

Open genekogan opened 9 years ago

genekogan commented 9 years ago

fantastic repo!

i'm trying to generate a new training file -- trying out some musicXML files of JS Bach, but getting the following assertion error on the first file. what's causing this? what are the requirements in order to generate the data file to be used in training?

$ python myparser.py 4 beats per measure 3 beats per measure ./littlebach/bwv27.6.xml {('P1', '1', None): 272.0} ('P1', '1', None) 15 Traceback (most recent call last): File "myparser.py", line 186, in main() File "myparser.py", line 177, in main thisData = fileToData(f, transpose) File "myparser.py", line 126, in fileToData read(path, counter.handle) File "myparser.py", line 87, in read assert False AssertionError

fephsun commented 8 years ago

Ah. I missed your comment here when you first posted. The problem is, my parser can't handle all the features of musicXML. This particular crash happens with music that's not in 4/4 time. Even if music is in 4/4 time, sometimes this crash still happens, because people who make musicXML aren't careful about ensuring 4 beats in every measure.

The bigger problem is, there is no good, unified format for code to read sheet music. MusicXML is hard to implement, MIDI is even worse. Neither have good parsers available for this purpose.