Jump to content

ABC Transcription Tools


Michael Eskin

Recommended Posts

Posted (edited)
20 hours ago, RAc said:

Hi Michael, I suspect this feature request is already there and I just can not find it, so apologies for being too dumb or lazy: In the export pdf dialog for multiple tunes, is it possible to automatically add bookmarks corresponding to the locations of the tunes? Reason I am asking is because I use Mobilesheets which allows bookmarks to be entered in the tune data base for finding a tune, so for a collection, it would greatly help not to have to add the bookmarks manually.

 

Thanks!

 

@Rac - I already create PDF bookmarks for each tune when exporting PDF files that have a Table of Contents or Index. 

The sort of internal hyperlink information required to generate the bookmarks is very closely aligned with what's required to build a Table of Contents or Index.

You will need to include either one or the other (or both) in your exported PDF tunebooks to get bookmarks.  There is no way to get PDF bookmarks without having one.
 

Those features are options on the "Inject PDF Tunebook Features" dialog available when you export a PDF file. 
 

Full details here:

 

https://michaeleskin.com/abctools/userguide.html#export_pdf_tunebook

with full details about the settings added to the ABC by that dialog here:

 

https://michaeleskin.com/abctools/userguide.html#adding_a_pdf_tunebook_table_of_contents_and_index

 

which specifically mentions about the creation of PDF bookmarks when a Table of Contents or Index is included in the PDF.


They show up in the Bookmarks tab of Adobe Acrobat as demonstrated in my screenshot below.

The simplest way to get a hyperlinked Table of Contents added when exporting a PDF is to just add this anywhere in your ABC:

%addtoc Table of Contents

I'd also suggest adding this, which adds an easy way to get back to the Table of Contents from the tune pages:

%addlinkbacktotoc

and the simplest way to get an hyperlinked sorted Index added when exporting a PDF is to just add this anywhere in your ABC:

%addsortedindex Index

I'd also suggest adding this, which adds an easy way to get back to the Index from the tune pages:

%addlinkbacktoindex

Both of these get automatically injected at the top of the ABC for you when using the "Inject PDF Tunebook Features" dialog available when exporting PDF, and also available on the "Add" dialog.

 

Pretty much everything the tool does is outlined in detail in the User Guide. I strongly suggest searching through it first when you have a specific question like this.
 

There is a link to the User Guide at the top of the tool and specific topics for every feature that has a dialog in the tool are available by clicking on the ? at the upper left of the dialog.

 

I did install the "lite" version of Mobilsheets on my iPhone just now and confirmed that if you import one of my exported PDF files that has a Table of Contents or Index, the bookmarks show up if you check "Show PDF Bookmarks" on the Mobilsheets bookmark display page when viewing an imported file.



 



 

 

Untitled-2.gif

Edited by Michael Eskin
Link to comment
Share on other sites

Oh I see. Great, I was expecting nothing less... 😉 what happened was that we wrapped the pdf created by you into an "envelope pdf" that contains additional art work, a preface and the like. In the envelope, the book marks got lost. I need to check with the pdf editor I used ("perfect pdf" I believe) if they provide a way to retain or adjust bookmarks in imported documents. If not, I will just distribute the "raw" pdf created by your tool; after all, the preface and artwork is of little use with Mobile sheets.

 

Thanks again for taking the time to look into it!  

Link to comment
Share on other sites

Posted (edited)

Zoom Webinar on 17 August 2024 on converting existing PDF files to ABC format using PlayScore 2.  

 

The resulting ABC can then be used to regenerate a new PDF file that is easy to maintain and adds additional interactive features such as Table of Contents, Index, playback of tunes, as well as simplifying creating multiple versions with instrument specific tablature.

 

Demo video:

 

 

Edited by Michael Eskin
Link to comment
Share on other sites

Posted (edited)

On iPad, you now have an option to use the tool configured with a side-by-side view of the ABC and the notation similar to how it works on a desktop browser.
 

Open the "Advanced Settings" dialog (available from the "hamburger" menu at the top right of the top toolbar), and check:


"iPad Two-Column View (experimental)"


You will then be prompted to reload the page for the setting to take effect.


With this feature enabled, I find it most effective to use the iPad in landscape orientation.


Additionally, because the built-in onscreen keyboard on the iPad is quite large, particularly in landscape orientation, it would be ideal to use the tool with a Bluetooth keyboard or keyboard case when running in this mode.


At this time this feature is for iPad only and works on all three versions of the tool (Standard, Quick Editor, Offline-enabled).

In the final released version, you don't need to reload the page, the tool will notify you and then reload itself if there is a change to the setting.


Demo video:

 

The only minor issue I've seen is that if you rotate from landscape to portrait orientation while working on tunes, the ABC text work area is sometimes too tall and appears to slightly "slide under" the buttons at the bottom.
 
Pretty much any operation that causes the page to adjust the element sizing, like touching and scrolling the page will cause the editor to fix itself.

Similarly, going in and out of fullscreen mode with the zoom arrow at the upper right fixes it.
I haven't been able to isolate why it happens, but it's an extremely minor thing.

I find it much more useful to stay in landscape orientation, but both portrait and landscape orientation do work with the side-by-side configuration once enabled.

If this seems robust, for iPad I may make it "opt-out" rather than "opt-in" in the future, but for now, you have to opt-in on the "Advanced Settings" dialog.

If, on the other hand, it turns out to have been a "really bad idea", I can easily go back to the previous version. 🙂
Edited by Michael Eskin
Link to comment
Share on other sites

Posted (edited)

Here is a demo of the offline-enabled version of the tool running on an iPad using the new "Two-Column" available for iPad.
 

The demo is done with the iPad completely offline.


The instruments used in the demo were cached in the notes database by playing the same tunes while online and enabling
"Allow instrument notes and reverb settings database to be used offline" on the "Settings" dialog.


First demo shows loading a set of 25 reels, selecting one, playing it in "Wide Mode", then opening the tune in  the "Tune Trainer".


The second demo shows loading the 1st movement of the J.S. Bach Harpsichord Concerto #1 and playing it.


The final demo shows loading and playing "Ragtime Nightingale" by Joseph Lamb.


To enable this mode on iPad, go into the "Advanced Settings" dialog (available from the "hamburger" menu at the top right of the top toolbar), and check:


"iPad Two-Column View (experimental)"


You will then be notified that the page will be reloaded for the setting to take effect.


With this feature enabled, I find it most effective to use the iPad in landscape orientation.


Additionally, because the built-in onscreen keyboard on the iPad is quite large, particularly in landscape orientation, it would be ideal to use the tool with a Bluetooth keyboard or keyboard case when running in this mode.


At this time this feature is for iPad only and works on all three versions of the tool (Standard, Quick Editor, Offline-enabled).


Demo video:

 

 

While I find it more useful to use the iPad two-column version in Landscape orientation, there are times when Portrait orientation can be useful.

You can switch between the two just by rotating the iPad.

Here's a demo of the offline-enabled version loading and playing the theme from "Star Trek Voyager" while in Airplane mode (completely offline).

Demo video:
 

 

 

Edited by Michael Eskin
Link to comment
Share on other sites

Posted (edited)
The Quick Editor now auto-scrolls the notation during playback.
 
This can be particularly useful with longer tunes or complex scores as a "presentation" mode if you switch to fullscreen mode when playing (click the zoom arrows at the upper right of the screen)

Demo video is on an iPad in the new two-column display mode, the feature works exactly the same way on desktop.

Demo video:
 
Demonstration of using the “Full Screen Tune Display Width Scaling Percentage” value in the “Advanced Settings” dialog.

It can be particularly useful when playing tunes fullscreen in the Quick Editor.

Demo video:
 
 
Edited by Michael Eskin
Link to comment
Share on other sites

  • 2 weeks later...

There's a new command on the "Hamburger" menu that will round trip all the tunes in the editor through MusicXML export and import which can be very useful for fixing some formatting issues in those cases where abcjs has an issue with the use of & measure note overlays.

Here's the manual process, the new command does this for you automatically for all the tunes in the editor:
 

 
The new command does the MusicXML export and then re-import automatically for each tune replicating what I demonstrated manually in video. It doesn't need to save the MusicXML file, it does the transcoding directly from ABC to MusicXML and back to ABC "on-the-fly".
 
The MusicXML import formatting settings used for the round-trip will be those on the "MIDI/MusicXML Settings" dialog available on the "Settings" dialog.
 


 

Edited by Michael Eskin
Link to comment
Share on other sites

Demonstration of using the tool's "Reformat Using MusicXML" feature to clean up the rendering of a Chopin Mazurka and a Beethoven Piano Sonata that use the ABC & measure note overlay feature extensively, which sometimes abcjs has issues properly rendering.

Behind-the-scenes, the process accomplishes this by first exporting each tune as MusicXML and then re-imports and transcodes it back to ABC. This causes & based overlay measure notes to be aggregated into new voices and grouped together using a %%score directive and also applies bars-per-stave formatting.


This can be useful for cleaning up some ABC files that have odd formatting or use & measure note overlays which sometimes cause rendering and playback issues.
 

MusicXML import formatting is done using the values set in "MusicXML/MIDI Import Settings" available from the main "Settings" dialog.


When reformatting large ABC collections, since MusicXML-based reformatting doesn't require rendering the tunes, I suggest using the "Quick Editor" which only renders the first tune in the collection.


This can be particularly helpful if the initial rendering of the collection is slow in the standard editor because of "one measure per ABC line" formatting of the ABC.


From the "Quick Editor" you can then run "Reformat Using MusicXML", save the resulting ABC, then open the reformatted ABC in the standard editor.


Demo video:

 

 

Demo video for Seymour Shlien showing using "Reformat Using MusicXML" to reformat his collection of 52 Chopin mazurkas where many had & annotation related measure note overlay abcjs formatting issues.  
 

His files were also formatted one line of ABC per measure.

If they didn't have the & measure overlay formatting issues, I could have simply added:


%abcjs_render_params {"staffwidth":800,"wrap":{"preferredMeasuresPerLine":4}}


to each tune to reformat the collection, but the use of & required the MusicXML round-trip reformatting to split those overlays to separate voices which get aggregated using a %%score directive.

Demo video:

 

 

Demonstration of using "Reformat Using MusicXML" to easily change the number of bars-per-staff on an existing ABC tune:

Demo video:


 

Edited by Michael Eskin
Link to comment
Share on other sites

Added "Reorder Tunes" and "Delete Tunes" to the hamburger menu at the top right of the main top button bar.
 

These were already present on the "Add" dialog, since when you're adding tunes, you may want to reorder or cull them, but now the same commands are available from the hamburger menu.

Link to comment
Share on other sites

As requested by David50 on thesession dot org, I've added sort by N: and O: tags as options in the "Sort by Tag" dialog.
 
While I was in the sorting code, also added sort by Composer (C) tag.
 
Also, on desktop browsers, I've added a keyboard shortcut:
 
⌘+/ on Mac
Ctrl+/ on Windows/Linux
 
for "Align Bars (One Tune)"
 
Makes it quick to do a bar re-align after making changes in a tune.
Edited by Michael Eskin
Link to comment
Share on other sites

I fixed the issue where abcjs would throw errors while entering absolutely positioned annotations, so you you shouldn't see any of the "Tune Rendering Issue" warning now when entering the element positioning info.
 

For example:


"@-50, 20 Some Annotation" B


means position the item -50 to the left of the x origin of the element the annotation is associated with and 20 up from the y origin of the element.  


Previously, this would have caused an tune rendering crash issue:

"@-50,Some Annotation" B


Now a "absolute positioned annotation in process of being entered" acts like an upper positioned annotation until both the X and Y values are successfully parsed, and then the absolute positioning is applied.


Not sure of the spacing units, but play with the values until you get what you need.


For example, the (s) and (r) annotations in the B part of this tune use absolute positioning:


https://michaeleskin.com/abctools/abctools.html?lzw=BoLgBAjAUAKuBSB7AFgOzAUQOYENUHIBnKAJXGUQCdUAHASxoFMoBZcAFgHp2oAZcCJwAcUAIoDOAJgC8ATgAMUANLgA4gFscAKygAfEABMAxroBCqgIIAxMKowARSWdVgAFK4DMpowYCUYLANTJx8LAzBQq113DwAzRj8wRliAhJMoc2tbBydzN09vRMDg3R9k1ONnLNVJEF09EG9ozwME-wA9I0YwA2kjUwtdAD9VDwswc1isXWSsbqDVACIAAQBaDwAaCHlXQl9F01KE0zBrR3qhrA95-oNdFfWNgFZXSn2sSTmerCmZqZuBrpVAMrDU6kA&format=noten&ssp=20&name=John_Egans&editor=1

 

The only case I still see error being thrown is if a barline is immediately after the absolute positioned annotation, i.e. there isn't a note for the absolutely positioned annotation to be hooked to.  Definitely an edge case.

Link to comment
Share on other sites

After months of testing of the offline enabled version, I've unified the online and offline enabled versions into a single version that runs both online and offline.

 

There are now just two versions.

 

The full-featured Standard Editor at:

 

https://michaeleskin.com/abctools/abctools.html

 

and the Quick Editor at:

 

https://michaeleskin.com/abctools/abctools-quick-editor.html

 

Only the full-featured Standard Editor is built to run offline.

 

The next time you load the Standard Editor, it will cache itself in your browser and both the Standard Editor and the Quick Editor will be available to run even if not connected to the internet.

 

You will notice that after you first visit the tool's URL, the tool will load almost instantaneously going forward since it doesn't have to go to the internet to load the tool's code.

 

By default, offline playback is limited to a piano sound, with a percussion sound available for metronomes.

 

Full-featured offline playback with your preferred soundfonts and instruments is available, but does require you to take responsibility for making sure the instruments and notes you use have been stored in the tool's notes database.  

 

Basically, any notes for any instrument you've previously played are available to play offline.  

 

Click the "Manage Notes, Reverb, and Tune Search Databases" button on the Settings dialog to manage the offline playback databases.  

 

Click "Instrument Notes Database" to see what notes are already stored by the tool and have the opportunity to load additional notes.

 

Full details in the User Guide on offline playback and notes database management at:

 

https://michaeleskin.com/abctools/userguide.html#app

 

and:

 

https://michaeleskin.com/abctools/userguide.html#cached_instruments

 

and:

 

https://michaeleskin.com/abctools/userguide.html#manage_databases

 

Tunes in PDF tunebooks created after October 20, 2023  (when I switched from http to https, which is required for offline playback) will play tunes offline when clicked.

 

Some features such as Share URL shortening, MusicXML export, and MIDI import require internet connectivity. If you try to use these features while offline, the tool will tell you need to be online to use them.

 

If you go to the previous offline-enabled tool URL:

 

https://michaeleskin.com/app/abctools.html

 

it will give you an opportunity to unregister the previous app version and then redirects to the new unified Standard Editor version.    

 

If you have set up any browser plug-in redirect rules for your browser to redirect the Standard Editor URL to the previous offline enabled tool URL, you will want to disable them as they are no longer needed and won't work anymore.

 

If you have not regenerated a PDF tunebook since before the October 20, 2023 https: share URL changeover date and want to use it for offline playback, you'll need to regenerate it.

 

I've regenerated the standard notation, standard notation incipits, mandolin, and tin whistle versions of my popular "King Street Sessions (by Michael Long)" and "CCE Dublin 2001" tunebooks so they work offline.

 

You can download them from my Tunebooks page:

 

https://michaeleskin.com/tunebooks.html

 

If you are willing to use a browser redirection plug-in, like "Redirect Web" for Safari (both iOS and Mac), offline playback from PDFs created before October 20, 2023 can be made to open by having the plug-in, when offline, redirect the tool's old http: URL to the new https: URL.


When the tool first runs, to be able to run offline, it installs a  service worker in your browser and stores the code and resources  required to run the tool offline in a private browser cache.
To unregister the service worker and delete the cached resources, go to:
 

https://michaeleskin.com/abctools/uninstall.html

 

 

 

Edited by Michael Eskin
Link to comment
Share on other sites

For those of you who are interested in running the tool on an iPad, here's a demo video done on my iPad of the latest version of the tool that:
 

Demonstrates how to change the setting on the "Advanced Settings" dialog to switch to the two-column view, which is more like using the tool on a desktop system.


Demonstrates creation of a Home Screen shortcut icon that will launch the tool.  


Shows editing of a tune while in "Airplane Mode", completely disconnected from the Internet.  


Shows playback of tunes from PDF files using the "GoodReader" PDF reader iOS app while in "Airplane Mode".

 

 

Edited by Michael Eskin
Link to comment
Share on other sites

Based on feedback from a member of the dedicated Facebook group for the tool, I've made a pass through the entire tool and am now allowing spaces in saved ABC, MusicXML, and PDF filenames.  
 
It will now no longer substitute spaces with underscores if you save a file that you opened that has spaces in the filename.

Same thing for exported JPG, PNG, SVG, MIDI, MP3, WAV, etc. If the original tune name has spaces in it, they will appear in the exported file name as well for both single and batch export cases, which derive their name from the tune names.

These full set of changes are in version 2014 or later of the tool.

Go to the "Advanced Settings" dialog and you'll find the version number at the bottom left of the dialog.

If that number is less than 2014, you can force a tool update by clicking on "Reset Settings" and then check:

"Force tool update after restart"

and then clicking OK, and then OK again on the confirmation dialog.

I'm pretty sure I got all the save cases no longer doing underscore substitution for spaces.  

Tested successfully on Firefox, Chrome, Safari on Mac, and Safari on iOS.

If you run into any issues, please let me know.

If this turns out to be A Very Bad Idea Indeed™, I can easily revert the changes so that it works as it did before.
Edited by Michael Eskin
Link to comment
Share on other sites

In general, the tool will normally update itself if required when launched.

Occasionally, particularly on mobile devices, that auto-update process might not happen immediately.

If an update of the tool is available online, the following items will appear at the bottom of the "hamburger" menu:


A new version is available!
Click here to update the tool

If you click either item, after confirmation, the version of the tool stored in your browser will be updated and the tool restarted.

After the tool is updated and restarted, you may need to refresh the tab one more time to see the updated version.
Edited by Michael Eskin
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...