7 ms·
MusicXML
- Rochus 3y agoAnyone remembering IEEE 1599? Seems to share a lot of goals. And there are actually a lot of alternatives, e.g. ABC notation, Alda, Music Macro Language, LilyPond, to name a few. Difficult to decide which one to prefer.
- bloatfish 3y ago[dead]
- AdmiralAsshat 3y agoMusicXML is old hat. All the cool kids are using MusicJSON now. EDIT: I'd like to clarify that I posted this comment, as a joke, before the below comment went on to clarify that there was, in fact, a JSON-based rewrite of the music standard in progress: https://news.ycombinator.com/item?id=38460827 https://news.ycombinator.com/item?id=38460827 Never change, tech world!
- deleted 3y ago[deleted]
- geodel 3y agoI hear you don't want to go (Cloud)Native else you'd be using MusicYAML now.
- OfSanguineFire 3y agoPlease don't post one-line jokes on HN. The longstanding culture of this venue finds that inappropriate.
- deleted 3y ago[deleted]
- danjc 3y agofwiw, on my phone it showed up as two lines.
- deleted 3y ago[deleted]
- 1-6 3y agoSeems like MusicXML is a great format for ML applications. You need to start somewhere and machine-readable code is important.
- treyd 3y agoMusicXML seems to be more for notation and sheet music typesetting rather than algorithmic operations on the notes themselves. Sure you could train a model on it but you'd be better off doing it on the specific domain and classically translating up to the XML format.
- jsphweid 3y agoRight, but sheet music is ubiquitous in countless musical contexts and there's very little attention to it from the ML side. Sheet music is somewhat arduous to create and there is definitely room for a lot of automation and ML could help out a lot. I experimented with a tokenizer / GPT-2 (decoder-only) model for MusicXML (https://github.com/jsphweid/xamil https://github.com/jsphweid/xamil) that is able to generate single staff music somewhat coherently. But it's just a first step and I don't care about generating (EDIT: hallucinated) music. Ideally we could add an encoder part to a model like this that takes in MIDI tokens and spits out sheet music. But I haven't gotten that far and don't have the ML chops to do it at this time. But it shouldn't be impossible.
- adgjlsfhk1 3y agoHaving an MP3 to sheet music would be even better, but probably 10x harder to do well.
- jsphweid 3y agoFor now, between the state of the art source separation models (e.g. demucs) and transcription models (e.g. Magenta's MT3) the last mile seems to be MIDI -> MusicXML IMO. But yes, I suspect it'll become more end-to-end ML in time.
- 3y ago
- jonathrg 3y agoI have not had much success using MusicXML to switch between different notation programs. Trying to read a score exported from Musescore as MusicXML in Sibelius or vice versa feels worse than switching between Microsoft Office and other ostensibly compatible formats. Does anyone have any success stories?
- adrianh 3y agoThis is a common complaint, and it's something we're trying to remedy with MNX: https://w3c.github.io/mnx/docs/ https://w3c.github.io/mnx/docs/ Music notation is incredibly complex, and there are many places things can go wrong. There's a wide spectrum of error situations, such as: * The exporting application "thinks" about notation in a different way than the importing application (i.e., it has a different mental model). * MusicXML provides multiple ways of encoding the same musical concept, and some applications don't take the effort to check for all possible scenarios. * Some applications support a certain type of notation while others don't. * MusicXML doesn't have a semantic way of encoding certain musical concepts (leading applications to encode them as simple text (via the words element), if at all. * Good ol' fashioned bugs in MusicXML import or export. (Music notation is complex, so it's easy to introduce bugs!)
- saltminer 3y ago> MusicXML provides multiple ways of encoding the same musical concept, and some applications don't take the effort to check for all possible scenarios. This sounded interesting, so I went to the webpage, and found this point specifically called out: > It prioritizes interchange, meaning: it can be generated unambiguously, it can be parsed unambiguously, it favors one-and-only-one way to express concepts, and multiple programs reading the same MNX file will interpret it the same way. But I'm curious to see some examples of this. https://w3c.github.io/mnx/docs/comparisons/musicxml/ https://w3c.github.io/mnx/docs/comparisons/musicxml/ provides an interesting comparison (and calls out how the same MusicXML can be interpreted in different ways for things like octave shifts), but it would be nice if the page also included alternate ways that MusicXML can represent the same composition and talk about how certain programs end up misinterpreting/misrepresenting them. The Parts comparison, for instance, mentions how you can represent the same thing in two different ways in MusicXML (score-timewise and score-partwise), but only provides an example for one (score-partwise), and doesn't go into much more detail about if this leads to ambiguity in interpretation or if it's just making things needlessly complex.
- Tokkemon 3y agoI work for Sibelius so I'm heavily involved in this world. MusicXML is a great standard and offered a solid basis for data interchange between music notation programs. But now there's a new group working to build a successor standard, MNX: https://w3c.github.io/mnx/docs/ https://w3c.github.io/mnx/docs/ It was originally going to be in XML but they recently switched to JSON, which is a good move, I think. I can't wait for it to be adopted as it will give so much more richness to the data set.
- odyssey7 3y agoHow would you explain the relationship between MNX and SMuFL?
- adrianh 3y agoThey're totally different things, though the standards are maintained by the same people. SMuFL is a font layout specification. It solves the longtime problem of "I'm making a music font. Which Unicode code glyph should I use for a treble clef?" For many years, this was a Wild West situation, and it wasn't possible to swap music fonts because they defined their glyphs in inconsistent ways. This problem is basically solved now, thanks to SMuFL. MNX is a way of encoding the music itself. It solves the problem of "I have some music notation I want to encode in a semantic format, so it can be analyzed/displayed/exported/imported/etc."
- odyssey7 3y agoThanks. If it isn't too many questions, are any layout concerns encodable in MNX, or is it scoped to semantic information only?
- adrianh 3y agoYes, the goal is to allow people to encode layout information optionally — as a separate layer from the semantic information. One particularly cool thing is the ability for a single document to have multiple layouts (!), which is useful for parts vs. conductor scores. See here for an example: https://w3c.github.io/mnx/docs/mnx-reference/examples/multiple-layouts/ https://w3c.github.io/mnx/docs/mnx-reference/examples/multip...
- rooster117 3y agoI've relied on this format to store songs in my iOS app for years. Representing notation is an interesting problem to solve.
- DonBarredora 3y agoDear god, stop using XML already.