Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The tailor generation is not working #73

Closed
RuiYang12345 opened this issue Jan 30, 2021 · 2 comments
Closed

The tailor generation is not working #73

RuiYang12345 opened this issue Jan 30, 2021 · 2 comments

Comments

@RuiYang12345
Copy link

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

@Ghadjeres
Copy link
Owner

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

@RuiYang12345
Copy link
Author

Hi Ghadjeres,

It is working now, thank you so much!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants