YatingMusic / remi

"Pop Music Transformer: Beat-based Modeling and Generation of Expressive Pop Piano Compositions", ACM Multimedia 2020
GNU General Public License v3.0
553 stars 85 forks source link

Some questions about "Controllable CHORD and TEMPO" #5

Closed fnyhy closed 4 years ago

fnyhy commented 4 years ago

Thanks for your amazing works! When I read your paper and blog, I feel confused about the details about the method for controlling the chord and tempo of the generated results. I can not find where to input or control the chords(which I want the output has) in codes. It would be helpful if you could give me some suggestions.

remyhuang commented 4 years ago

Hi,

First of all, our permutation of events is "fixed". That is "chord", "tempo" and "note" (you can see Figure 2 in the paper). Ideally, the note events would be constrained by previous "chord" and "tempo" events (due to the sequential modeling). That's why it is possible to control the resulting output by "modifying" ("compelling") the favorite "chord" and "tempo" to influence the following notes.

For example, you can see figure 5 (b). Suppose the model is determining the chord event for the fifth bar. We can compel the model to choose "A#min" (just for example), even if the highest predicted probability event is "Cmaj" (also, just for example). After selecting the desired chord event, you can find that the following notes are related to the previous event.

I think it is easy to try yourself via our code!

-Remy

fnyhy commented 4 years ago

Thanks very much! I will try it.

remyhuang commented 4 years ago

You should revise the code around model.py#L189. I close this issue now. If you have any other questions, please feel free to re-open it.

-Remy

huangqing6 commented 2 years ago

感谢您的精彩作品!当我阅读您的论文和博客时,我对控制生成结果的和弦和节奏的方法的细节感到困惑。我在代码中找不到输入或控制和弦(我希望输出具有)的位置。如果你能给我一些建议,那将会很有帮助。

Do you have a link to this code blog, and can you post it? Thank you!