Comments (11)
@asigalov61 OK. Thank you. Maybe I'll try to improve my model to do that later.
from midi-model.
@SkyTNT Nm, I see you have a custom MIDI option...Sorry I did not noticed it before....
What about inpainting and better models? I can help with that.
Let me know please :)
from midi-model.
Nice to collaborate with you. inpainting is a very good idea. But it seems that only the diffusion model can do it. Do you have any ideas?
from midi-model.
@SkyTNT It is possible to do inpainting with autoregressive models. There are also other things that can be done like melody/chords generation and harmonization.
Check out one of my demos here:
Your model uses notes_on/notes_off events which is why it is limited to what it can do. A good idea to switch it score format (think score format of MIDI.py). Then you will be able to do different things with it.
Anyway, you seem to have better programming skills than I do, so if you can tell me what you need help with, I will try to do it and help you however I can. :)
What do you need help with for this project?
Alex.
from midi-model.
@asigalov61 You didn't see clearly that my model already uses score format. I'm a bit confused about your code. Can you help me implement inpainting?
from midi-model.
@SkyTNT Sorry, my bad :) I have not slept yesterday so I did not read your code properly.
Yes, of'course I can help with inpainting. Let me start by making a colab for you and then if you like it we can integrate it to your codebase.
from midi-model.
@SkyTNT Here is a very rough draft colab for instrument pitches inpainting. Check it out and let me know what you think, please :)
I am also attaching a sample output MIDI.
Let me know.
Alex.
Pitches_Inpainting_MIDI_Composer.zip
from midi-model.
@asigalov61 Thank you so much. I understand how to implement inpainting. However I feel this approach is limited by the position of the events in the sequence. It would be even better if you can inpaint a track without restrictions (any time, any number of notes).
from midi-model.
@SkyTNT You are welcome :)
Yes, this approach is limited in what it can do.
There is a seq2seq approach developed by Stanford: https://github.com/jthickstun/anticipation
This one can do a better job, but it is also somewhat limited and does not always produce good results either.
Let me know what you think.
Alex.
from midi-model.
@asigalov61 Cool! This is exactly what I want. Can it be implemented on my model?
from midi-model.
@SkyTNT AFAIK unfortunately no because they used seq2seq implementation, while your model is autoregressive.
However, your MIDI processor/tokenizer and your Gradio app can be adopted for their architecture AFAIK.
I can't help with their implementation because I mostly deal with autregressive models. But you are welcome to reach out to them for collaboration/help.
Hope this is helpful.
And if you need any more help with autoregressive stuff, feel free to let me know :)
Alex
from midi-model.
Related Issues (14)
- Error HOT 1
- 关于编码问题想请教一下 HOT 8
- Fine tuning notebook HOT 1
- Error while training HOT 1
- Train.py - ValueError: Transformers now supports natively BetterTransformer optimizations HOT 2
- Issue with shm.dll of torch moduel
- Issue
- error HOT 4
- Convert Pytorch Lightning model to Huggingface model issues HOT 5
- Thank you again! :) HOT 12
- Error when training HOT 23
- RuntimeError: probability tensor contains either `inf`, `nan` or element < 0 HOT 18
- Colab fails (possibly need to downgrade gradio?) HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from midi-model.