10.8 preview r5658-r5686 - MusicXML Loading

Archived development update discussion from past versions
Archived development updates.
User avatar
jimhenry
Posts: 1865

Post by jimhenry »

Nicholas wrote: 10-12-21 3:38 pm It won't be jarring, eventually. The repeats will show correctly so the 1/8 and 5/8 measures will appear exactly like the original sheet music. So that's only a temporary inconvenience.

(And in the meantime, the answer is "very hard".) :lol:
Good to hear. MusicXML is shaping up to be a landmark feature. It may attract more users who could be classified as "serious" musicians, as in high level amateur to professional. MusicXML is one of those things that unlocks possibilities that you probably can't even anticipate right now. One guess I would make is that MusicXML will be greatly appreciated by music educators.
Jim Henry
Author of the Miditzer, a free virtual theatre pipe organ
http://www.Miditzer.org/
Nicholas
Posts: 12774

Post by Nicholas »

SYNTHESIA 10.8.5675
Download from the pink box above.

CHANGES SINCE r5667
  • MusicXML pick-up measures should really be fixed this time.
  • Cue notes in MusicXML files are no longer played.
  • Fixed keyboard tuck not persisting when window is very wide.
  • The current user's name is shown in the window title on PC & Mac.
  • Next-note markers should now track the keyboard as it's tucked so they're never full off-screen.
  • A warning is now shown when in finger hint editing mode but falling notes have been hidden.
Unless someone finds a problem in this one, it becomes the official 10.8 release on Monday! (I've learned I shouldn't make official releases just before the weekend.) :D
JimNYC
Posts: 33

Post by JimNYC »

The Little Hunter's Song seems good now, but I'm noticing something on the attached file. The right hand chords are showing as quarter note/eighth note combinations instead of two eighth note followed by an eighth note rest. See measures 2-4 as an example.

It's hard to tell in the playback if it's actually got the wrong note duration with no rests.
Attachments
Schumann_Soldiers March_Op._68_No._2.pdf
(44.01 KiB) Downloaded 4 times
Schumann_Soldiers March_Op._68_No._2_MXL.mxl
(4.17 KiB) Downloaded 5 times
Schumann_Soldiers March_Op._68_No._2.mid
(1.49 KiB) Downloaded 4 times
Nicholas
Posts: 12774

Post by Nicholas »

That's an interesting case. Nice investigating. (They're not quarters and eighth-long blocks in Synthesia; with the 2/4 time signature they're eighth and sixteenth-long blocks because of the staccato dots.)

That said, it's not immediately clear whether Synthesia is parsing the file incorrectly.

Looking at measure 2 inside the MXL file, here's what's happening:
  • 8th note, G4, staff 1, staccato
  • 8th note, E5, staff 1, "part of the same chord"
  • 8th rest, staff 1
  • 8th note G4, staff 1, staccato
  • 8th note D5, staff 1, "part of the same chord"
  • 8th rest, staff 1
  • ("backup" to the beginning of the measure)
  • 8th note, C4, staff 2, staccato
  • 8th rest, staff 2
  • 8th note, B3, staff 2, staccato
  • 8th rest, staff 2
The "part of the same chord" instruction attached to a note is usually meant to save a "backup" instruction.

(The way time works is that you automatically rewind anytime you see <chord>. You move the time "cursor" forward whenever you find something like a note or rest without a <chord>. Beyond that, there are explicit <backup> and <forward> instructions.)

But in this case, those second, chorded notes don't have any staccato articulations attached. So, unless the intent is that a "part of the same chord" instruction also implies that all of the articulations from the first note in the chord should also be applied to all the subsequent notes that indicate they're part of the same chord, I would argue that Synthesia isn't doing anything wrong here. But the MIDI file produced by MuseScore (and the PDF) show that they should be shorter.

So maybe articulations apply to all notes in the chord? Hmm.

The W3C page for the <chord> element doesn't mention anything about it. By saying the notes don't have to be the same length, I would say it implies they're more independent than not. But apparently MuseScore disagrees with me.

What's more, I vaguely recall loading MusicXML files into MuseScore before that had way too many staccato dots on each chord. Like, it was one for each note and it looked silly because they were all stacked on top of each of the notes. Maybe this is also because MuseScore disagrees with other apps?
JimNYC
Posts: 33

Post by JimNYC »

Screenshot 2021-10-14 200428.png
Screenshot 2021-10-14 200428.png (40.12 KiB) Viewed 11865 times

That's the way it looks in .5675. I know the sheet music is still WIP, but it's the note durations being different and lack of rests that I was commenting on. Both are shown with staccatos so it's including the articulation from the chord, but not the same note duration.
Nicholas
Posts: 12774

Post by Nicholas »

For now it's not very reliable to look at the durations shown in the sheet music. You'd noticed before that things like tied notes are completely incorrect. It also does its best to do staccato "detection" based on empty gaps between note starts/stops. Once the real musical information is pulled through from the MusicXML (instead of pretending these are still MIDI files and still just guessing at the sheet music), it'll be a better time to start picking those things apart. (In the meantime, it's more of a hindrance to even look at it; it's safer to assume it's more wrong than right.) :?

A good example of how bad it is: the reason it's showing a staccato quarter in measure 1 is because it's a plain eighth note followed by an eighth rest. Today Synthesia always parses that as a staccato quarter. It's the issue I mentioned before (where additional notes in a chord don't have the staccato indicated) that's making it a plain eighth instead of a staccato eighth.

So what's important for 10.8 is that not all the note durations are the same in the MXL file when they are in the MIDI file:

not-staccato-top-note.png
not-staccato-top-note.png (9.99 KiB) Viewed 11860 times

And in this case it's because there are only two staccato articulations for every three notes. Those highest pitched green blocks are piggybacking off the staccato "chord" of the lower note... and I'm not sure whether Synthesia should merge (i.e., copy/paste) the articulations for every note in a chord or whether MuseScore should be outputting staccato for every note in a chord.

Once that question is ironed out, they shouldn't show as quarter notes in the sheet music anymore.
JimNYC
Posts: 33

Post by JimNYC »

Got it, when you look at the MXL opened up in MuseScore, it is showing two staccato marks above the two note chords (right and left hand). So, FWIW, it's parsing that MXL as staccato for both notes of the chord.
Screenshot 2021-10-14 215247.jpg
Screenshot 2021-10-14 215247.jpg (27.75 KiB) Viewed 11848 times
Nicholas
Posts: 12774

Post by Nicholas »

That's strange that MuseScore can't round-trip its own exported file correctly. Hmm.

Otherwise: ha, ha! I found it. This is issue #2 on the W3C's own MusicXML GitHub repository and it's been an open issue for five years. Check out those first two paragraphs to see exactly this ambiguity discussed with nothing more than an "over time it seems that the most common practice has been..." to defend it going one way or the other. :lol:

In that case, I suppose I'll conform with the rest of the herd and make articulations apply to every note in the chord.
Nicholas
Posts: 12774

Post by Nicholas »

Alright, the official 10.8.5676 just went up for all platforms and it includes the "articulations apply to all notes in a chord" fix. If you grab it from the main download page, those chords in Soldier's March all show the same duration now.
paolov
Posts: 5

Post by paolov »

The song list in the windows version when ordered by Title ('Titolo' in Italian) it's ordered in reverse order,
this doesn't happen with other versions even with the r5675 preview
Nicholas
Posts: 12774

Post by Nicholas »

If you click the button again, it should reverse the sort order. (This is true for all of the columns.)
paolov
Posts: 5

Post by paolov »

Thanks, never noted this behaviour, nice to have
miek
Posts: 37

Post by miek »

Hello, I have loaded up r5675. the program will open, and if you click on a song in the menu it will preview. MIDI and XML formats will preview (the sound only) and when you click on the recently played song it will open to let you play it. But when you click on "play a song" and you get the full list on the screen, you cannot open the same song to play. :?:
Nicholas
Posts: 12774

Post by Nicholas »

miek wrote: 10-25-21 7:51 am... you cannot open the same song to play.
Are you attempting to double-click the song in the list and that's the part that isn't working? Does the continue button work at the top-right instead?

I accidentally broke the double-click shortcut on that screen (months ago and I am as surprised as you are that I didn't catch it in the meantime; I'm also usually a list double-clicker).
miek
Posts: 37

Post by miek »

Yes, the continue button works. Thanks :D

I will convert a few of my .mid to music xml and see how we get on.

Thanks Nicholas!
Nicholas
Posts: 12774

Post by Nicholas »

Thanks for the confirmation. (Sorry for the inconvenience!) I'm thinking of making a small official update just to fix that one bug. It's going to be confusing for a lot of people if I don't.
Nicholas
Posts: 12774

Post by Nicholas »

SYNTHESIA 10.8.5686
Download from the pink box above from the official download page.

CHANGES SINCE r5676
  • Native support for Apple silicon on macOS.
  • Double-clicking works to select songs in the song list again.
  • Removed profile icons, but added a check mark next to the currently selected profile.
  • Made data loading errors fail silently instead of noisily (this is useful on Android where there are fewer choices for recourse than on the desktop).
Just as I was clicking the "make a release" button, I received an email about the Let's Encrypt problem also affecting iPad 2 users trying to unlock using an unlock key. So that might be one more fire to put out before switching back over to new development.
Locked