Jump to content

Convert dots to ABC? PDF to ABC?


Recommended Posts

I have no idea how PlayScore2 decides to create multiple tracks in the MusicXML, but it does an amazing job on whatever I throw at it and pretty much anything it produces my tool seems to be able consume.

There is a version of PlayScore2 available for Android as well.

Link to comment
Share on other sites

I ran the PDF that DaveRo posted through PlayScore 2 and here is the raw MusicXML output, added it as an attachment.

Here's the ABC after import into my tool, just added the title and a Q:90 tag:

https://tinyurl.com/2p4zzrpk

I have another iOS music scanner app called "Music Scanner" that is OK on simple tunes, but can't handle complex scores like this one.

 


 

lamb-joseph-ragtime-nightingale_freescores_2.xml

Edited by Michael Eskin
Link to comment
Share on other sites

On 11/2/2023 at 6:25 PM, DaveRo said:

1 I took the pdf score of Ragtime Nightingale from here:[and]Michael's web tool imported it all but the playing was faulty which I assume is the MusicXML .

 .

2 I notice that there are 4 voices in the ABC against 5 in the one Michael posted:

 .

Why not just two. Or six?

1 I saved the ABC from Michael's link and it seemed to play OK on my installation of EasyABC(1.3.7.7)? I have a tin ear, though...

 

It's remarkable (to me!) that scanning and then importing the XML into EasyABC produced such an (largely) excellent result.

 

2) I was messing around with the ABC code yesterday, and also noticed that thereseemed to be rather a lot ofvoices. Looking at it a little closer, I came to the conclusion that some of those voices are really only adding 'voice overlay' to the two 'main' voices (somewhat counter-intuitively labelled 4 and 5). It should be possible to collapse two voices into one? On that basis, I tried a little re-arrangement/simplification, and came badly unstuck (so badly that I was tempted to rename the tune 'Ragtime Nightmare'!🙂) I will look at it again sometime, but it may be above my ABC pay-grade to be able to simplify that code. I'm sure it can be done though...

 

Great tune...

Edited by Roger Hare
Link to comment
Share on other sites

Playscore2 on iOS generates 5 tracks/voices:

%%score { ( 3 4 5 ) | ( 1 2 ) }

3,4,5 being the treble and 1,2 being the bass (which starts earlier)

 

3 and 4 come into existence in bar 3 seemingly as a result of the parallel beams. Thereafter upward and downward stems are in separate voices. I haven't checked but I suspect the bass (1 and 2) is similar. So parallel beams double the number of voices on that staff. Maybe upward and downward stems in the same tune/bar do too.

 

I don't know why it generates voice 5. It appears in bar 5 and only ever generates the note G. But if I look at bar 5 in the original score (the pdf I posted) - which is different to the what appears in the ABC tool - I see an 'overhead' beam attached to a note with a downward stem. That seems to cause it.  Some of these Gs have both up and down stems in the ABC tool, but not in the original score; I suspect that's caused by voice 5.

 

My Music Scanner on Android also generated more voices, but differently:

%%score { 1 | ( 2 3 4 ) }

V1 being treble this time.

It played fine in Music Scanner itself - it's just the exported MusicXML which is suspect.

 

@Roger Hare My latest EasyABC 1.3.8.7-mod on Linux is obviously broken*. It won't open the ABC from the ABC tool. Can you import the MusicXML that I posted earlier?

[Edited to add: *Actually I see a message "warning: Possible buffer overflow". It doesn't say what buffer though.]

 

I wonder if there's any fundamental reason - a limitation of MusicXML - why a scanner couldn't put the whole of the treble or bass staff in one track/voice?

 

It's worth mentioning that Playscore 2 is much more expensive than my Android Music Scanner. I believe you need a subscription to the 'pro' version to export MusicXML.
 

Edited by DaveRo
Link to comment
Share on other sites

Yes, the "Pro" level of PlayScore2, which is required for MusicXML export is I believe a $6.99//month subscription. 
 

For my needs, well worth it, it does an amazing job on anything I give it.

 

All of these demos of my tool were created using it:

 

https://designrr.page/?id=307554&token=1472601518&type=FP&h=9681

Edited by Michael Eskin
Link to comment
Share on other sites

19 hours ago, DaveRo said:

My latest EasyABC 1.3.8.7-mod on Linux is obviously broken*. It won't open the ABC from the ABC tool. Can you import the MusicXML that I posted earlier?

[Edited to add: *Actually I see a message "warning: Possible buffer overflow". It doesn't say what buffer though.]

I'm using A Windoze 10 machine...

 

I'm using 1.3.7.7 for various reasons, but I was unable to load that XML file, even using that slightly out of date version. First time I've tried to import XML Maybe I'm doing something extremely dumb - it wouldn't be the first time...

 

I've attached a screenshot of the 'error box' I got when I tried it...

 

screenshot.1.jpg

Edited by Roger Hare
Link to comment
Share on other sites

As this thread is about scanning scores into ABC, I'll not address problems with EasyABC.

 

I put the two MusicXML files - the one I produced with Music Scanner on Android, and the one Michael produced with PlayScore2 on iOS, through Wim Vree's xml2abc.js and displayed the score using abc2svg.js, all using his web tool: https://wim.vree.org/js/xml2abc-js.html (These are the same javascript modules used in Michael's web tool.)

 

Here are the first few bars of the original pdf from free-scores.com

ragtime_nightingale_freescores_pdf.png.7b80394af35e6fa77aeef3278f4e9eb9.png

Then PlayScore2 on Michael's iOS device

ragtime-nightingale_freescores_ios_playscore2_xml2abc.js_abc2svg.js.png.2163cc4be54b4462abce93723ee9e51e.png

 

Those parallel beams in bar 3 is what seems to cause the treble to divide into two voices, 3 and 4. And that tricky bar 5 causes the additional voice 5.

 

Finally Sheet Music Scanner on my Android

ragtime-nightingale_freescores_android_scanner_xml2abc.js_abc2svg.js.png.87f5b7a1b8394607825cf4c812d07717.png

The Android scanner goes wrong very early. Curiously, however, It generates the entire treble with one voice including, in bar 5, parallel beams - although the lower one should be in bar 3!

 

I attach the two ABC files.

ragtime-nightingale_freescores_ios_playscore2_xml2abc.js.abc ragtime-nightingale_freescores_android_scanner_xml2abc.js.abc

Edited by DaveRo
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...