-
Notifications
You must be signed in to change notification settings - Fork 1
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
Add MusicXML compatibility #15
Comments
Hi, It's great to see you contribute this package, it's exactly what this organization needs. I originally wanted to implement the features in this package in MIDI.jl, but now it seems too good to be true, so MIDI.jl can focus on MIDI parsing. I think there is still a lot of work to be done on MusicXML support at this point.
|
Unfortunately I personally don't know anything about XML or MusicXML, but it if you are able to implement that it would be fantastic! I'm happy to help where I can of course. |
Thank you very much! I don't think this will happen anytime soon, the continued maintenance of MusicXML.jl requires a lot of work. At least I think that MusicXML.jl is not performing very well right now, and there are many scores that cannot be parsed correctly. I think we can keep this issue open until we have a mature MusicXML.jl. |
Another thing I want to emphasize is whether we have to implement MusicXML export in MusicTheory.jl? In my opinion we should separate concerns and make this package contain only music theory stuff. Other packages in this organization have made similar mistakes. One package implements a feature that should be implemented by another package My suggestion is to let MusicManipulation.jl do the corresponding MusicXML/Lilypond export function. Make this package contain music theory content only. Until we have identified the compatibility issues of related functions, we will make the minimum necessary changes . This achieves orthogonality in the functionality of each software package within the organization. |
All in all, I think this package should focus on "The computable part of music theory”, like pitch, notes, chords, duration, intervals, modes. Other features should be added with caution or contributed to other packages within the organization. |
I totally agree about orthogonality. Ideally this package could effectively be a MusicBase.jl package that other packages depend on for basic types representing notes etc. |
In fact, in my own practice, trying to design universal symbolic musical structures would lead to enormous complexity. The basic types in MusicTheory.jl should focus only on music theory calculations. In practice, to map the data in symbolic music files, different packages use different types to represent notes. For example, the Note in MIDI.jl is actually an abstraction of the Note On and Note Off events, while the Note in MusicXML.jl contains the necessary musical notation information. Therefore, I personally think that the types in MusicTheory.jl should not exist as base types for other packages, but only provide basic data conversion compatible with other symbolic music types. In short, focusing on the implementation of music theory and providing minimal support for other symbolic music will improve the cohesion of this package. Thank you again for your work and for filling the gap in this organization. I just want to share some of my personal experience and reach some consensus before further development. I think this will be of some benefit to the subsequent development of this package. |
OK thanks, that makes sense. I'm interested to see what you come up with. |
No description provided.
The text was updated successfully, but these errors were encountered: