PG Music Home
Posted By: Gordon Scott Dropped rests - 04/05/23 12:01 PM
I'm writing this as I test what's happening as I'm not yet sure at exactly what stage(s) things go wrong.

I've imported a MusicXML file, uncompressed so I can see the content to try to establish at what point the errors occur. The MusixXML was exported from MuseScore 4.0.2.230651553 and I think some errors may well come from MuseScore, notably the notes in the anacrusis are left-justified, which I think is a MuseScore error.

I've noted several times that, after the import, I have quite a number of rests missing in the melody, though not all of them. I appears, though I'm still watching behaviour, that leading and trailing rests in a measure are OK, but rests mid-measure are lost. I'm unsure as yet if this is a flaw with the import, or something more fundamental as I seem to keep having to make the correctins, through that may be because I've made independent correction of different copies and/or have failed to make all of the correction that are needed. At this moment I have imported the MusicXML and am going through the whole song, one note at a time, ensuring that I make every correction.

Opening the same MusicXML file in Reaper shows the anacrusis left-justifaied as in BiaB, but all rests are present.

Whilst trying toverify what was happening I also noticed an oddoty in lead-sheet form. I'd made multiple choruses and had BiaB's chords view open on one screen and the lead-sheet view on another. When I select chord areas on the chord view, sometimes the equivalent area is highlighted on the chord-sheet, sometimes is isn't Typically I would select the first half-measure on a line and the lead-sheet would flash the same half-bar red outline, then go to black. Selecting another bar on the same line, then back to the first would make the red outline appear and stay. I also note that when I select a bar in the Ending of the song, the lead-sheet jumps to the beginning of the song.

The MusicXML file with which I was testing is here:

https://www.dropbox.com/s/a1hlmhnwubiiebj/Camale%C3%B3n.musicxml?dl=0
Posted By: Matt Finley Re: Dropped rests - 04/05/23 01:02 PM
Hi Gordon. I loaded that Music XML file into Presonus Notion 6 and it looks good to me, both rests and pickups, and plays fine. That means, if you agree, you should send this case to support@pgmusic.com and reference this thread because it's likely a BIAB issue interpreting the code.

Here is the file as Notion loaded it, printed to PDF: https://www.mattfinley.com/promos/Camaleon.pdf

You know this, I'm sure, but Music XML is a standard that isn't always implemented correctly for export and/or import in all programs that claim to support it. I've found Notion to be reasonably good. In fact, if I were to try exporting the file FROM Notion, perhaps the code generated would work better in BIAB; you never know. Ironically, MuseScore is one of the better tools to read DEFECTIVE Music XML code, since it at least gives you an error (like an old coding interpreter such as Basic language), rather than simply crashing on the import with no clue.

If you like, I could do more tests, and look at the actual code (it's easy to read).
Posted By: Gordon Scott Re: Dropped rests - 04/05/23 02:33 PM
Hi Matt,

Yes, your pdf looks right, though I didn't check in very fine detail.
I'll send my post and the file to support.
Don't bother to read through the code. Most of what I see is sensible, though I'm not too sure about how the anacrusis is supposed to be coded. I'd need to look further into that. I'd imagine that the bar length is shorter for it and some tools don't handle that as they should.

MuseScore 4(.0.0) seems to be much less good at making good scores from MXL that MuseScore 3 did. I suspect the parse->render stage rather than the parsing as the latter is probably common. 4.0.2 may be better, I have yet to check.

I always have slight concerns with MusicXML because the standard combines so many of the issues that MIDI can have with a whole new bunch of things for chords and rendering. There are lots of places to get things wrong. IIRC the last time I played around with it (I can't now remember why) I used a Python library.
Posted By: Matt Finley Re: Dropped rests - 04/05/23 02:46 PM
I do want to look at the code quickly, to verify what I think is the case. If there are notes at the beginning of the measure, then a pickup note at the end, Music XML only specifies where the notes are. The program it is imported into supplies the rests. Notion, for example, allows me to highlight a part or the whole score and then Fill in the Rests. Very handy. But that command was not necessary in your file.
Posted By: Matt Finley Re: Dropped rests - 04/05/23 03:34 PM
Ok, I just looked at the code. There are <rest> durations but not enough, I think, to account for them all. Would you mind posting a PDF of what you see, so I can zero in on one place where yours and mine differ?
Posted By: Gordon Scott Re: Dropped rests - 04/05/23 07:15 PM
Hi Matt,

I've just exported from MuseScore 2.0.2. to .pdf.
I think this is as I see it in MuseScore.

Ah ... I need dropbox again...
https://www.dropbox.com/s/t612lcvhecobabe/Camale%C3%B3n.pdf?dl=0

I'll be away now for a few days and may or may not be able to give more information. At best it'll be sparse.
Posted By: Matt Finley Re: Dropped rests - 04/05/23 10:03 PM
OK, but that looks fine too. I meant, can you print it from BIAB, or do a screen print, so I can see what the error looks like?
Posted By: Gordon Scott Re: Dropped rests - 04/06/23 03:18 PM
Oh I see, sorry I misunderstood.
I've just done a screenshot for PGM, attached here. I'll need to swap to Windows to get a .pdf. I'll try that. I'm not sure whether I have a pdf printer here.

Attached picture Dropped-rests.jpeg
Posted By: Gordon Scott Re: Dropped rests - 04/06/23 03:30 PM
I had to convert the .pdf to an image to attach it as I'd have had to use dropbox, but dropbox wasn't playing ball.

Edit: ah yes, the older copy with the spellig errors on the name.

Attached picture Camaleón.jpeg
Posted By: Matt Finley Re: Dropped rests - 04/06/23 03:59 PM
OK, good, I see it. Bar 3, 8, 12, 16, 20, 24, 26, 28. The worst of all is the pickup to the first measure, where the scan has the last three eighth notes, but BIAB has a different rhythm.

I'll look at the code in those measures when I can.
Posted By: Gordon Scott Re: Dropped rests - 04/06/23 04:37 PM
Originally Posted By: Matt Finley
OK, good, I see it. Bar 3, 8, 12, 16, 20, 24, 26, 28. The worst of all is the pickup to the first measure, where the scan has the last three eighth notes, but BIAB has a different rhythm.

I'll look at the code in those measures when I can.

I think I had corrected some, so there were more. IIRC probably all of those 3-8th pick-up type entries to bars had it. I started testing when I found I still had a number of them despite several previous attempts to correct things.

I still find navigating through the songs in the notation editor rather confusion. Easiest seems to be simply to right-cursor through the song.

The anacrusis seems always to be wrong. I know not whether that's a BiaB or a MuseScore issue. I'd need to get a better understanding of MusicXML to know.
Posted By: Matt Finley Re: Dropped rests - 04/06/23 05:42 PM
I haven't looked at the code yet but I suspect it's a failure to observe the end of a note, or a missing rest.
Posted By: Gordon Scott Re: Dropped rests - 04/06/23 07:12 PM
Originally Posted By: Matt Finley
I haven't looked at the code yet but I suspect it's a failure to observe the end of a note, or a missing rest.

Maybe, but it does import as expected into Reaper. Unfortunately that doesn't prove very much. laugh

Edit: AFAICS there are several complications and 'gotchas' in MusicXML. It's really very complex with a multitude of different ways to do things and the main surprise to me is that it works as well as it does.
Posted By: Jeff Yankauer Re: Dropped rests - 04/07/23 07:25 PM
Uncheck Minimize Rests in the Notation Options dialog and you'll see rests shown in the bar containing D7 D7Sus. In general, the notation may or may not always look 100% identical to what the XML file specifies, because the notes are actually what is imported based on the time locations, duration, and attack/release, and there are things BBW that doesn't support like multiple independent systems (multiple independent groupings of notes) within an individual staff line. But unchecking Minimize Rests does result in rests in that specific example where the rests were not being shown.
Posted By: Jeff Yankauer Re: Dropped rests - 04/07/23 07:37 PM
Also the first bar of the XML has 3 eighth chords (two notes per chord). If I'm understanding the XML file correctly, the first bar in the XML file is 4/4 (since that's the meter of the song), but yet the has no rests before the 3 8th notes. If the bar had been saved with rests before the 3 eighth note chords then the rhythm would be the same rhythm and the notes would have been placed at the end of the first bar rather than the beginning of it when loaded into BBW.
Posted By: Jeff Yankauer Re: Dropped rests - 04/07/23 07:41 PM
Originally Posted By: Gordon Scott


Edit: AFAICS there are several complications and 'gotchas' in MusicXML. It's really very complex with a multitude of different ways to do things and the main surprise to me is that it works as well as it does.


Yes, that's true.
Posted By: Matt Finley Re: Dropped rests - 04/07/23 11:48 PM
Indeed it is true.

In measure 12, the Music XML very clearly tells the program to do this step by step:

Make a D7 chord symbol
Make a C quarter note (pitch C5)
Make a quarter rest
Make a D7sus chord symbol over that quarter rest
(which I would imagine is wrong; in the rest of the tune, chords change on beat 3)
Make an eighth rest
Then make the three eight notes that follow, the A, C and D.

BIAB ignores the quarter rest and the eighth rest, and instead carries the C over, then puts the D7sus over the eighth note which occurs at "3 and"

Posted By: Jeff Yankauer Re: Dropped rests - 04/08/23 02:20 AM
You get rests on that bar if the Minimze Rests is NOT enabled in the Notation Options. See attached image.





Attached picture minimizerests.jpg
Posted By: Gordon Scott Re: Dropped rests - 04/08/23 05:47 AM
A lot has been posted since I went to bed last night.

I'll also confirm that 'minimise rests' seems to sort out the notation OK. I guess that's resolved. I'll look further at some of the other things later.

I imagine that the 'minimise rests' is a feature to obscure timing issues when recording, but I have to say it's been causing me to tear my hair out over the past few weeks as quite a few of the new-to-me songs I'm processing have frequent rests. At least now I know the fix, just so long as I can find it again. It is in the manual, now I've learned to spell minimize the American way laugh

Is it checked by default? I don't recall checking it myself.
Posted By: Matt Finley Re: Dropped rests - 04/08/23 09:29 AM
Thanks, Jeff!

I wonder why one would ever check that checkbox, and certainly not when importing. I’ve never encountered that function in any other software. I need to read the Help for this and then do some experimenting.

Thanks for the bumpy ride, Gordon. That was fun.
Posted By: Gordon Scott Re: Dropped rests - 04/08/23 10:09 AM
I can only imagine that it's to hide subtle timing effects from the notation, i.e., when someone is playing ahead of or behind the beat. One doesn't want hundreds of 1/64 notes or rests all over the notation. If one looks at the underlying data for styles, it can look awful. Quite why one would drop rests of 3/8ths duration, though, is quite another matter. To me that's just wrong.
I guess normally we just don't notice it happening.

It's been interesting, but had been driving me mad, because I was forever saying "I've already fixed this, why is it wrong again?". And on multiple songs! I'm also not used to handling that little four-bar notation window that seems sometims to jump around the piece is. It obviously has rules, but I find them puzzling.

I notice that if I select a rightmost bar on the chords view and the switch to notation view, I think it will centre the selected bar in the notation window, but I was expecting it to be the final in the notation view. Some of the dropped rests in that song then do appear in the final bar on the notation view, which is probably how I managed to correct only some of them.

All of that is further compounded by me creating the tracks on one PC and then syncing first to my fileserver and then syncing the PC at my keyboard from the fileserver. If I fix something on the latter, I reverse the process. I then get into "have I messed up the syncs somehow?"

I finally realised I wasn't going mad when I sat down and went very carefully through that song bar-by-bar, right back from the import, until I understood what was going wrong and could report it concisely. And it turns out to be a feature... cry
Posted By: Matt Finley Re: Dropped rests [Resolved] - 04/08/23 02:33 PM
I tried to read more about this, and found a mention in the Help for Notation Window:

Automatic options such as auto durations, clean notation, mono display, minimize rests, hard rests, and engraver spacing produce very musical and readable notation.

Help, Search cannot search for XML, but Help, Index, XML does give options for Importing a Music XML file. However, I don't see Minimize Rests as one of the options.
Posted By: Jeff Yankauer Re: Dropped rests - 04/08/23 02:55 PM
BTW, minimize rests is just a visual display thing. It doesn’t extend the audible duration of the notes.

The HLP that would mention it should be in the Notation Options dialog.
Posted By: Matt Finley Re: Dropped rests - 04/08/23 03:12 PM
Thanks! I’ll look at what’s there.
Posted By: Gordon Scott Re: Dropped rests - 04/10/23 01:58 PM
Originally Posted By: Gordon Scott
I can only imagine that it's to hide subtle timing effects from the notation, i.e., when someone is playing ahead of or behind the beat.

I've been going through some songs with likely rest-related issues and I see an example of that kind of behaviour, where I have 'ghost' rests within triplets (in Girl From Ipanema).

I suspect what may really be wanted here is an option to minimise rests below a particular threshold, rather than just on or off. Just my feeling ... I haven't thought at all through other possible consequences or confusions that might arise by doing that. [Edit: ... like even more confusion over when and where my rests have gone].

Edit 2: I've also found "forced rests" or "hard rests" on p205 of the manual. That's obviously how I've managed to correct the ones I've corrected.


Edit 3: Which then leads to the question of why import from MusicXML, with clear rests in the source, does not automatically insert hard rests? -- This probably wants a resolution.
Posted By: Matt Finley Re: Dropped rests - 04/10/23 03:38 PM
#3. I think it should. If the Music XML code says it’s a Rest, then it should be the same as a hard rest you would enter manually.

In other words, your thread may be resolved in the sense we know a little more about what’s happening, but I don’t think the behavior is resolved.
Posted By: Gordon Scott Re: Dropped rests - 04/10/23 06:44 PM
Hi Matt,

I agree and as a consequence I've removed the "resolved".

I thought I edit my original post to explain, but I have no option at present to do so. That seems odd.
© PG Music Forums