Ghadjeres/DeepBach

The tailor generation is not working

Closed this issue · 2 comments

According to the video 'Interactive chorale composition using DeepBach' on Youtube, the plugin is able to corresponding counterpoint voices if changing one voice of one measurement.

But the plugin that I install can not generate new harmonization according to my change. It only changes base on the original voice. For example, as the figure following, when I change the A to D in bar 2, deepbach will still generate A note to rewrite the note I changed.

zhong

hou

527cc0030ebc650923512ce67c877f7e

Hi @RuiYang12345 ,
Thanks a lot for your detailed issue!
The MuseScore plugin was indeed doing what you described. In fact I hardly checked this part of the code when rewriting it in Pytorch. Sorry for this.
Finally I solved this issue in #74 :
Now:

  • The plugin works in MuseScore3
  • It now takes into account fermatas (this influences generation!)
  • It is now longer bound to generate in A minor / C major. Instead, it evaluates the most probable keys in the file that your provide.
  • Part of the communication between the server and the client is done by writing on /tmp/deepbach.xml and /tmp/deepbach.mxl (this is not entirely satisfying but kind of works, you need to have unzip installed...).
  • If you click compose with no selection, a novel chorale is generated from scratch. This is useful for instance if you want to start with a blank one-staff score.
  • The number of iterations now depends on the length of the region to be recomposed.
  • I also removed all the logging messages and the possibility to choose a server different from localhost:5000. You can easily change this in the .qml file by putting visible=true in some elements and manually setting the serverAddresss variable at the beginning of the file.

Remember that you can provide a --num_iterations argument to the musescore_flask_server.py if you think the default value takes too much time.
Hope it will work on your side. Also do not forget to reload the plugins in MuseScore3: just replacing the .qml file won't work.

And here is a small chorale composed with this plugin!
https://www.youtube.com/watch?v=X72YHyaTIUE&feature=youtu.be

Hi Ghadjeres,

It is working now, thank you so much!