urswilke / pyramidi

Generate & manipulate midi data in R data frames
https://urswilke.github.io/pyramidi/
Other
8 stars 0 forks source link

Control change specification? #3

Open spablotemporal opened 2 years ago

spablotemporal commented 2 years ago

Thanks a lot for the development of this package! been having a lot of fun exploring it and so far everything works great. I was just curious to know if midi cc has been implemented? tried to import a midi file with midi cc values that I exported from Ableton to see if I could reverse engineered , but got an error.

urswilke commented 2 years ago

Thank you very much for the feedback! Really glad you enjoyed the package.

It should be possible, because the underlying python library mido also covers control_change messages (see here).

But I didn't experiment with these yet in pyramidi.

What was the error message?

EDIT: Oh sorry I think perhaps I misunderstood. You mean you have a midi file with control change messages created by Ableton, then read it into pyramidi, and then write it back to a midi file? Perhaps the ordering of midi message events (containing control changes) isn't done correctly yet by the package.

Another source of error could be tempo changes. As far as I remember these aren't implemented yet, but that should only lead to the wrong timing of midi events (sound weird :smile_cat:), not an error.

And for the moment the only tests that it works are my ears (that I think it sounds the same) and that the round-tripping (pyramidi -> mid file -> pyramidi) works (not the other way round...) :sweat_smile:

I have plans to modify the structure and functionalities of the package in the future. If possible & you're interested, you could also upload a small midi file where these problems occur with a pull request. Then I could have a look and get a better idea what's not working.

Thanks a lot in any case!