Ghadjeres / DeepBach

code accompanying "DeepBach: a Steerable Model for Bach Chorales Generation" paper
MIT License
496 stars 131 forks source link

Musescore plugin works, but cannot compose #44

Open hans-ekbrand opened 6 years ago

hans-ekbrand commented 6 years ago

I have got the Musescore plugin to work, it can list models and load a model, but when I select a section of a four part chorale and press "Compose", the server fails with the following error:

[2018-02-22 18:58:03,513] ERROR in app: Exception on /compose [POST]
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/hans/DeepBach/plugin_flask_server.py", line 217, in compose
    input_chorale = converter.parse(file.name)
  File "/usr/local/lib/python2.7/dist-packages/music21/converter/__init__.py", line 1110, in parse
    forceSource=forceSource, **keywords)
  File "/usr/local/lib/python2.7/dist-packages/music21/converter/__init__.py", line 998, in parseFile
    v.parseFile(fp, number=number, format=format, forceSource=forceSource, **keywords)
  File "/usr/local/lib/python2.7/dist-packages/music21/converter/__init__.py", line 533, in parseFile
    self.parseFileNoPickle(fp, number, format, forceSource, **keywords)
  File "/usr/local/lib/python2.7/dist-packages/music21/converter/__init__.py", line 467, in parseFileNoPickle
    self.subConverter.parseFile(fp, number=number, **keywords)
  File "/usr/local/lib/python2.7/dist-packages/music21/converter/subConverters.py", line 785, in parseFile
    c.readFile(fp)
  File "/usr/local/lib/python2.7/dist-packages/music21/musicxml/xmlToM21.py", line 692, in readFile
    etree = ET.parse(filename)
  File "<string>", line 62, in parse
  File "<string>", line 38, in parse
ParseError: unclosed token: line 2111, column 4
127.0.0.1 - - [22/Feb/2018 18:58:03] "POST /compose HTTP/1.1" 500 -
anheba commented 6 years ago

I have the same problem

russellcameronthomas commented 4 years ago

I don't have an answer for you, but one possible cause is Python version. I see you are running Python 2.7, while DeepBach uses Python 3.6. I'm not an expert, but from painful experience it's safe to assume that 3.X code will not work with 2.X compiler and libraries.

In other words, you should probably completely re-install DeepBach, but first you need to install Python 3.6 and libraries. Myself, I use the Anaconda distribution and conda library/package manager.