Jump to content

ABC Transcription Tools

Michael Eskin

Recommended Posts

The ABC Tools can now automatically add a metronome to your tunes for practice.

There is now a new command on the Advanced Controls dialog: "Inject Metronome".

The tool determines the meter of the tune and injects an appropriate metronome style. It is aware of most common meters, including less commonly used ones like 5/4, 5/8, 7/8, and 10/8.  If you give it a meter it can't handle, it will tell you.

As it uses the ABC bass/chord backup system to do it's job, it is best used on tunes without chords.

The metronome injector will strip any existing chords and MIDI chord related ABC from the tune before injecting the metronome.  This is explained on the metronome injector dialog.

Here's a demo video of the metronome injection feature on several common styles of traditional Irish tunes:


Link to comment
Share on other sites

Added the option to add the metronome to all the tunes in the ABC editor.
Also, metronomes are now self-documenting:

X: 1
T: The Kesh
R: Jig
M: 6/8
L: 1/8
K: Gmaj
% Metronome sound and volumes
%%MIDI chordprog 115
%%MIDI bassvol 64
%%MIDI chordvol 64
% Metronome rhythm pattern
% c = High Click, B = Low Click, x = Silence
%abcjs_boomchick 6/8 cxxcxx
% To disable the metronome, delete the "E" chord that starts it:
|:"E"GAG GAB|ABA ABd|edd gdd|edB dBA|
GAG GAB|ABA ABd|edd gdB|AGF G3:|
|:BAB dBd|ege dBA|BAB dBG|ABA AGA|
BAB dBd|ege dBd|gfg aga|bgf g3:|
Edited by Michael Eskin
Link to comment
Share on other sites

Some exciting news!

I was able to leverage my recent work supporting custom backup rhythms and ABC metronome injection to now provide a proper meter-adaptive metronome available in the Player.

There's a new "Enable Metronome" button available in the player.

Clicking "Enable Metronome" generates a temporary version of the tune with an injected metronome and plays it.  It does not modify your original ABC in any way.

Once playing the metronome version, click "Disable Metronome" to immediately go back to the original version.

The metronome system supports most common rhythms, but will let you know if it is unable to provide a metronome for the tune's meter.

Also, the metronome's style will be based on the first M: tag meter found in the tune, so it doesn't support tunes that change meters mid-tune.

If you want to inject the metronome into one or all of the tunes in the ABC text area, the "Inject Metronome" command is still available in the "Advanced Tools" dialog.

FYI, "under-the-hood" the metronome system uses the ABC chord system in abcjs which I've augmented with custom rhythms and percussion instrument selection.

As a result, when playing a tune with chords, the chords will be stripped when playing the metronome version.  The original ABC is not changed, this is just a temporary copy used by the player while playing the metronome version.

Also, if you export a tune to .MP3 or .WAV from the player while the metronome is enabled, the resulting audio file will have the metronome sound.

Demo video of all of this:


I hope it's useful to some of you!

Edited by Michael Eskin
  • Like 1
Link to comment
Share on other sites

Did some refactoring of the tool day and added a major new feature:

Snapshot/Restore Snapshot:

These can be used before a destructive operation to stash away a copy of the ABC, which can then be instantly restored if desired.

Since the snapshot is stored in browser local storage, if you snapshot your work before leaving the tool, it will be available for you to instantly restore from the "Add" dialog or main toolbar the next time you run the tool.

From the User Guide:

Snapshot - Saves a snapshot of the contents of the ABC editor to browser storage.

If you save a snapshot and leave the tool, the next time  you run the tool the snapshot will be available to restore by either  clicking the Restore button on the main toolbar or the Restore from Snapshot button in the Add dialog.

Restore - If one is available, replaces the current contents of the ABC editor with the last saved snapshot from browser storage.

Since it completely replaces the contents of the ABC editor, you will be asked to confirm the operation.

Additionally, you can also restore from a snapshot on the "Add" dialog:

Restore from Snapshot - This button appears if there is a saved Snapshot available in browser storage.

When clicked, restores the last saved Snapshot, replacing the contents of the ABC editor.

Since it completely replaces the contents of the ABC editor, you will be asked to confirm the operation.

I've moved the "Sort ABC" feature to the "Advanced" dialog.

Demo video of the new "Snapshot" feature:


Edited by Michael Eskin
Link to comment
Share on other sites

I've added some new tunebook sorting features to a new "Sort by Specific Tag" dialog that is available from the Advanced Controls dialog.

This new dialog allows you sort all the tunes by name based on the first T: tag in the tune, with or without initial "A" and "An" being factored into the sort, (Initial "The" is always ignored), sort by key (just uses whatever is in the first K: tag in the tune), or sort by meter based on the first M: tag in the tune.

The sort by meter sorts in the common standard of putting reels, marches, and other tunes in common, cut, or 4/4 time first, followed by jigs, slip jigs, slides, polkas, waltzes/mazurkas, then everything else.

I think this will be handy for helping to organize collections of tunes by name, key or meter, particularly if they were originally without any sort of order already.

I've tested it on the KSS tunebook with over 1000 tunes as well as several other larger tunebooks and it seems solid.

Have fun!

Link to comment
Share on other sites

You now have more control over the fonts used for the title page, table of contents, index, page headers/footers, and page numbers.

Unfortunately the PDF generation engine I use for the additional pages that I inject along with the tunes is limited to

Times, Helvetica, and Courier  

and supports:

Normal, Bold, Oblique, and BoldOblique styles.

This is independent of the fonts available for the tunes themselves. You have much more flexibility there.

They are rendered entirely differently by the browser in SVG format, then rasterized into the PDF tunebook. Those are only limited by the fonts available in your browser.

Additionally, you have always had the ability to customize the font sizes and spacing for the table of contents and index pages, check  http://michaeleskin.com/abctools/userguide.html#table_of_contents_and_index_font_size_and_line_spacing_overrides for more details.

Demo video:




Link to comment
Share on other sites

This is an absolute game changer.

Designrr.io is a service that can turn PDFs into online interactive flipbooks.

This is a demo of my CCE 2001 Tunebook turned into an online flipbook.

The flipbook retains all the interactivity of my PDF tunebook and works on both desktop and mobile browsers.

You can play any tune in the flipbook by clicking its title.

Try it here:


To learn more about Designrr, please visit:



Demo video:


Link to comment
Share on other sites

The three abcjs soundfonts available in the ABC Tools provide variations on each of the standard General MIDI instruments.   

The soundfonts available in the ABC Tools are:  

Musyng Kite

The video demonstrates some example sounds of each soundfont using the Acoustic Grand Piano and Harpsichord sounds, as well as how to  specify them in the ABC  for a tune.

The video also shows how to select the default soundfont to use for playing if there is no %abcjs_soundfont directive found in the ABC for a tune.

Demo video:


Link to comment
Share on other sites

From ABC tunes in a text file to an interactive online playable PDF Flipbook in less than two minutes using the ABC Tools and Designrr.io. 

With a larger collection of tunes the PDF rendering and upload to Designrr time would be proportionally longer, but the process would be exactly the same.







Edited by Michael Eskin
Link to comment
Share on other sites

I've consolidated all my recent advanced PDF to MusicXML to ABC demos into a single incipits-based Designrr flipbook:


Click the title of any tune to bring it up in my player.

This also shows use of my new:


comment-based annotation that allows you to create share links and PDF playback links that don't allow the user to get into the editor from the fullscreen view.  

They can still play the tune and scroll around in the fullscreen view of the tune after closing the player, but the zoom button in the upper right corner is hidden.

It's not in any way truly secure, just based on a specific URL parameter, but it does allow for some additional control over the tunebook consumption experience.


In comparison, this version does allow the user to access the editor from the full screen tune view after closing the player:



There are also some new and improved features:

 %add_all_playback_links with no additional parameters now creates a play link without any additional MIDI program or chordprog injection.

New &dx=1 Share URL parameter to disable access to the editor from the fullscreen notation view on a URL share link. 

There's a new button on the sharing dialog to inject it, and it automatically gets injected into all PDF playback links if %no_edit_allowed is present along with %add_all_playback_links

%pdf_between_tune_space now works for both full tunes and notation incipits. This allows you more control over the space between first line incipits on the page.

Hope you enjoy the new demos and features!

Edited by Michael Eskin
Link to comment
Share on other sites

Interesting observation, looks like Adobe Acrobat will only use the first 2100 characters or so of a hyperlink in a PDF. This breaks playback links for really huge tunes in my tunebooks from being navigated to using Acrobat.
Now since I compress the ABC for the links, we're talking really huge tunes, like the most complex MusicXML demos I've been playing with.
Online readers like the Designrr flipbooks have no issue with the long links, GoodReader on iOS is fine, as well as the PDF readers built into most web browsers, this just seems to be an issue for Adobe Acrobat Reader itself. All the other PDF readers I've tried appear to support the full 8K character share link length I support in my tool.
I can't find any specific verification of this hard limit in Acrobat. If you are creating a PDF tune book with really massive tunes and you want to support playback link navigation in Adobe Acrobat Reader, should you run into an issue with a specific tune playback link, consider generating your own shortened play link share URLs for the tunes and the using the per-tune %hyperlink directives with the shortened URL for those tunes rather than the automatically generated one created when you use %add_all_playback_links.
It's an edge case, for sure, but I ran into this myself creating the latest demo flipbooks so wanted to pass along the info.
More info on creating hyperlinks in the tool can be found here:

Link to comment
Share on other sites

Your tool is great, Michael!!


I do have one question. Is there a way to insert section headings into the Table of Contents?


We are building a couple of tunebook which will be separated into tune genre (e.g. morris dance traditions) and it would be nice to add relevant headings into the tunebook.


I've found adding 'dummy' tunes with just the minimum tags does work, but wondered if there was a more elegant way!

Link to comment
Share on other sites

Once again, in the interest of simplifying my life, I'm going to try my best to restrict all posts about my ABC tools to my dedicated FB group for it, not duplicate posts here.
It's very tempting to do both, but it's just too much work.

I utterly failed to follow my own advice the last month or so, and I'm going to try again to have more discipline about my postings.

If you are interested in my ABC Transcription Tools, or run into an issue or have a question about the tool, please join the group and post your comment/question there.

I'll respond to questions here, but I'd really appreciate it if you'd use my forum instead for tool-specific questions or issues:
  • Like 1
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...