This free, open-source ABC converter/player tool was developed by Michael Eskin
Try it out here: ABC Transcription Tools
YouTube playlist with all the demo videos: Demo Videos
Table of Contents
Notation and Tablature Display
Saving and Restoring Snapshots
Advanced Controls and Features
ABC Utility Injection Features
Inject All Available PDF Tunebook Annotations
PDF Tunebook Tune Size and Layout Spacing Overrides
Adding a PDF Tunebook Title Page
Adding a PDF Tunebook Table of Contents and Index
Adding Table of Contents and Index Section Headers
Table of Contents and Index Font Size and Line Spacing Overrides
Sharing Tunes with Share URLs and QR Codes
Making Shared Tunes Open in the Player
Introduction (Top)
ABC Transcription Tools is a free, web-based, open-source tool for converting music in ABC and MusicXML format to both standard notation and tablature for a wide variety of instruments.
Play your tunes with over 500 high-quality, sampled instruments.
Use the Tune Trainer to practice your tunes with increasing tempos.
Create PDF tunebooks with title pages, table of contents, tune index, custom headers, footers, hyperlinks, tune incipits (notation or raw ABC), and sharing QR codes using the tool's built-in Export PDF feature.
Quickly transpose a single ABC tune or entire ABC tunebooks to any key.
You can fully customize the look of your notation using the standard ABC spacing and font annotations.
Easily share your tunes with others via Share URLs and QR Codes.
Getting Started (Top)
On desktop browsers, when the tool is run, you should be seeing a side-by-side view with the ABC editor on the left and the notation on the right:

Click the "?" at the upper left of the window or any dialog to open the related User Guide topic in a new browser tab.
When notation is present, click the zoom arrows at the upper right of the window to view the notation full screen.
If you are seeing the notation below the ABC editor area, or the welcome dialog is taller than the screen, try zooming out your browser view by pressing:
Windows: Ctrl -
Mac: ⌘ -
On iOS and Android devices the ABC editor will always be on the upper half of the screen and the notation below.
Top Bar Buttons (Top)

Hover your mouse over any button or control in the tool to show a tooltip with a detailed explanation of what it does.
The tooltip will tell you exactly what the button or control does for all Shift/Alt combinations.
Open - The tool supports opening both ABC and MusicXML files.
The file type being opened depends on the file extension:
.abc or .txt - Opens an ABC file from your computer and loads it into the ABC Editor.
.xml, .musicxml, or .mxl - Imports a MusicXML file form your computer, converts it to ABC, and loads it into the ABC Editor.
Details on MusicXML import settings below in the MusicXML Import Settings section.
On desktop browsers, you may also drag-and-drop a single ABC or MusicXML file on the editor area to add it.
If you have unsaved work, you will be asked to confirm that you want to abandon your work in progress and load a new ABC file.
Add - Brings up a dialog where you can add your own ABC or MusicXML tunes, restore from previously saved Snapshots, add example ABC tunes, add useful ABC templates, or configure PDF tunebook features:

Choose File to Add:
Browse your system for an ABC or MusicXML file with one or more tunes to add to the end of the current tunes.
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.
Restore from Auto-Snapshot: (Desktop browsers only)
This button appears if there is a saved Auto-Snapshot available in browser storage.
When clicked, restores the last Auto-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.
On desktop browsers, automatic snapshots when closing or reloading the browser tab the tool is running in can be enabled in the tool's Settings dialog.
Add an Example Reel:
Adds "Cooley's" as an example of a typical reel.
Add an Example Jig:
Adds "The Kesh" as an example of a typical jig.
Add an Example Hornpipe:
Adds "Alexander's" as an example of a typical hornpipe.
Add J.S. Bach Two-Part Invention #1:
Adds the J.S. Bach Two-Part Invention #1 for Harpsichord.
This piece was originally imported from a MusicXML transcription.
Add J.S. Bach BWV570 Fantasia:
Adds the J.S. Bach BWV570 Fantasia in four parts for Pipe Organ.
This piece was originally imported from a MusicXML transcription.
Add an Example Song:
Adds a detailed self-documenting example of ABC for a song with lyrics.
Add a Song Template:
Adds an minimal self-documenting ABC template for a song with lyrics.
Add Box Fingering Symbols Template:
Add a template with symbols for annotating box fingerings and tablature at the top of the ABC editor text.
Add Two-Bar Click Intro Templates:
Add a template with two-bar click intro templates for common tune styles.
Copy and paste these into the start of your tunes before any repeats.
Delete the rest when you are done.
Configure PDF Tunebook Features - Brings up a dialog that you can use to add annotations at the top of the ABC that will add an optional Title Page, Table of Contents, Index, Page Header, Page Footer, playback links, and/or QR code to an exported PDF tunebook.
Full details on PDF tunebook features can be found in the Configure PDF Tunebook Features section of Exporting a PDF Tunebook.
Save - Saves the contents of the ABC editor to a file.
Export PDF - Exports the currently displayed score as a high quality PDF file.
The saved ABC or PDF file will be in your browser's Downloads directory.
On iOS the downloaded files will be found in the "Downloads" directory in the iOS "Files" app.
Copy All - Copies all the ABC text to the system clipboard so you can easily paste it into social media posts, emails, or other tools.
Play - Opens the ABC Player where you can play the current tune. Full details below in the Playing Your Tunes section.
Tune Trainer - Opens the Tune Trainer where you can play the current tune looped with increasing tempos. Full details below in the "Step-Up" Tempo Tune Trainersection.
Settings - Brings up the default playback instrument and other tool-wide settings dialog.
▲/▼ - Click this to hide/show the header at the top and any visible controls below the ABC text area so you can have more room to work on your music.
ABC Editor (Top)

Type or paste your ABC notation here.
Changes are reflected immediately in the displayed notation below the ABC Editor.
You may also paste some ABC text into the ABC Editor or just start typing.
Click on any tune in the ABC to have the notation scroll into view.
Click in the notation for any tune and the ABC area will be autoscrolled so that the ABC for the tune is displayed (or within a few lines, browser dependent).
Note: The tune autoscroll features are not available on iOS or Android devices.
On desktop systems, the text entry box can be resized by dragging the lower right corner.
When you resize the text area while in the "side-by-side" display mode, the notation will slide over to the right as much as it can:

Viewing the Notation Full Screen (Top)

If any ABC is present in the ABC Editor, this double-arrow control shows up on the top right corner of the page.
The control hides or shows the ABC Editor and all controls so you can view your notation full screen.
Click once to hide the ABC Editor and all controls.
Click again to show the ABC Editor and all controls.
Click the "?" at the upper left of the window for help using the tool in the full screen view.
The size of the full screen notation as a percentage of the browser window width is set in the Settings dialog. Default is: 50%.
If the resulting scaled width is less than 850 pixels (820 pixels for iOS/Android) the width will be set to 850 pixels (820 pixels for iOS/Android).
Playing Your Tunes (Top)
To play a specific tune, click anywhere in the ABC for the tune and then click Play.
The tool will find the tune you've clicked on and bring it up in the ABC Player for playback.

Using the playback controls at the bottom, you can enable looping, rewind to start, start/pause playback, click in the progress bar to seek, or change the tempo as a percentage.
Click the "?" at the top left of the player to open a new browser tab with this section of the User Guide.
Click Save Audio or MIDI to bring up a dialog where you can export your tune in .WAV, .MP3, or MIDI format.
Full details below in the Saving .WAV, .MP3 or MIDI Files section.
Click Start Tune Trainer to bring up the Tune Trainer.
Full details below in the "Step-Up" Tempo Tune Trainer section.
Click Enable Metronome to switch to a version of the tune that has a metronome click sound when playing.
Important note about using the metronome features with tunes with chords:
Behind-the-scenes the metronome in the player uses the ABC chord system to do its job.
When using the metronome, any chords in your tune will be temporarily hidden.
The "E" chord you will see at the start of the tune when the metronome is enabled is used to start the metronome playback.
Don't worry, the original chords in your ABC are safe!
When playing a tune with the metronome enabled, click Disable Metronome to return to the original version.
If you save the tune to .WAV or .MP3 while the metronome is enabled, the resulting audio file will have the metronome sound.
While most common tune meters are supported by the metronome system, if the tune you are playing is in a meter that is not supported, you will be presented with a alert explaining the issue and will only be able to play the original version.
If you would prefer larger Player controls, for example for use on mobile devices, open the Settings dialog and set the check on: Player uses large controls (easier to touch on mobile and tablet)
Click Close to return to the ABC editor.
If a wider view of the notation is available for the current tune based on the aspect ratio of the staves, the Wide View button will appear. (Desktop browsers only)
Clicking this button toggles between wide and normal views of the player. (Desktop browsers only)
"Step-Up" Tempo Tune Trainer (Top)
Brings up a "step-up" tune player with the last clicked tune where you can practice playing along with the tune looped with increasing tempos:

Click the "?" at the top left of the player to open a new browser tab with this section of the User Guide.
Enter your starting tempo percentage in the box labeled Starting tempo %.
Enter your ending tempo percentage in the box labeled Ending tempo %.
The actual playback tempo in beat-per-minute will depend on the tempo of the original tune, either set with a Q: tag or using the default tempo if no Q: tag is present.
Enter how much you want to speed up the play each time the speed is increased in the box labeled Tempo increment %.
Enter zero if you just want to loop at the starting tempo.
Enter how many times the tune should loop before incrementing the speed in the box labeled Increment tempo after how many loops.
If Player/Tune Trainer uses label L/R side click to decrement/increment values (for touch devices) is checked in the tool settings, you can decrement or increment the value of any number input field by clicking on the left or right side of the label to the left of the field.
If you click the % the the right of any of the tempo percentage input fields, the touch increment for the tempo percentages toggles between 1 and 5.
Clicking on the loop count label decrements or increments by 1.
Click Apply Trainer Settings and Reload the Player to apply your values.
Click the play button to start the training session.
While playing, the progress through your training session is shown as a bar graph at the lower-left of the player.
Click Enable Metronome to enable the metronome.
Important note about using the metronome features with tunes with chords:
Behind-the-scenes the metronome in the Tune Trainer uses the ABC chord system to do its job.
When using the metronome, any chords in your tune will be temporarily hidden.
The "E" chord you will see at the start of the tune when the metronome is enabled is used to start the metronome playback.
Don't worry, the original chords in your ABC are safe!
When playing a tune with the metronome enabled, click Disable Metronome to return to the original version.
Toggling the metronome resets the trainer to its initial tempos.
If a wider view of the notation is available for the current tune based on the aspect ratio of the staves, the Wide View button will appear. (Desktop browsers only)
Clicking this button toggles between wide and normal views of the trainer.
To exit the Tune Trainer, click Close.
Saving .WAV, .MP3 or MIDI Files (Top)
If you click Save Audio or MIDI in the Player, a dialog will appear where you can save out the audio of your tune in either .WAV or .MP3 format, or the note playback events as a MIDI file:

Click Save as .WAV File to save the audio for the current tune to your system in .wav format:
Click Save as .MP3 File to save the audio for the current tune to your system.
The bitrate for the MP3 file is set in the Settings dialog. Default is: 192 kbit/sec.
This operation may take some time. The button label changes to Encoding .MP3 while the audio is being encoded.
To download all the tunes at once in .MP3 format with repeats and optional two-bar click intros, use the Export all Tunes as .MP3 feature in the Advanced Controls dialog.
Click Save as MIDI File to save a MIDI file for the current tune to your system:
Limits on Use of my Custom MIDI Instruments
The General MIDI specification only supports MIDI program numbers as high as 128.
My custom MIDI instruments start at MIDI program 129 and go up from there.
These custom instruments and program numbers can only be used by my ABC tool and are not interoperable with other ABC software.
In the exported MIDI file, any of my custom MIDI instrument program numbers will be remapped as follows:
129: Uilleann -> 109: Bagpipes
130: Smallpipes D -> 109: Bagpipes
131: Smallpipes A -> 109: Bagpipes
132: Sackpipa -> 109: Bagpipes
133: Concertina -> 22: Harmonica
134: Melodica -> 22: Harmonica
135: Cajun Accordion -> 21: Accordion
Muted voices using MIDI instrument 136 or "mute" will be changed to program 0 (Acoustic Grand Piano) and the volume set to zero.
Adding Playback Swing to Tunes (Top)
By default, unless disabled in the Settings dialog, any tune with a:
R:Hornpipe
detected in the ABC will automatically have swing added during playback.
The auto-swing factor may be set in the Settings dialog.
Manually Adding Swing to Tunes
If the tune is not marked as a Hornpipe, you can manually add swing to any tune in 2/4, 3/4, 4/4, 6/8, 9/8, and 12/8 meter by including the following comment-based annotation anywhere in the tune ABC:
%swing swing_factor (optional: Range is -0.9 to 0.9) swing_offset (optional: If used, generally set to 1 or 2)
The swing factor lengthens the primary beats by the swing factor and shorten subsequent beats accordingly.
The swing offset offsets the swing pattern by the specified number of eighth notes.
Swing factor must be specified to use the swing offset feature.
The optional swing_offset parameter is required for tunes if there is a one or two eighth note pickup (most commonly found in Jigs, Slip Jigs, and Slides), otherwise the swing pattern will be out-of-sync with the tune.
If no swing factor is provided, it will default to the Hornpipe swing factor set in the Settings dialog.
If no swing offset is provided, it is set to zero.
Example 1: To swing a reel with the default Hornpipe swing factor and no swing offset:
%swing
Example 2: To swing a reel with a 0.25 swing factor and no swing offset:
%swing .25
Example 3: To swing a jig with a 0.25 swing factor and a single pickup eighth note preceding the main tune:
%swing .25 1
Example 4: To swing a slip jig with a 0.25 swing factor and two pickup eighth notes preceding the main tune:
%swing .25 2
Example 5:
To get a typical Scottish snap feel in a Hornpipe with a shortened first beat, lengthened second beat, with no swing offset:
%swing -0.5
Any manually added %swing value always overrides the automatic injected swing factor for Hornpipes.
To disable swing for a Hornpipe, you may add %noswing anywhere in the tune ABC:
% This will result in the swing being disabled
%noswing
%noswing takes precedence over any default Hornpipe swing or manually added %swing
Setting Grace Note Duration for Ornamentation (Top)
In ABC, grace notes, often used to indicate cuts and taps for traditional Irish music, are added using {}.
For example to indicate cutting a G with a preceding A, you would put the following in the ABC:
{A}G
Grace notes play with a fixed (very short) duration and steal time from the following target note.
Playing some tunes on specific instruments may sound more authentic with minor adjustments to the default 45 milliseconds grace note duration.
To set the duration of grace notes used in ABC {*} style ornamentation, add the following comment-based annotation anywhere in the tune ABC:
%grace_duration_ms duration_in_milliseconds
Unit is milliseconds, range is 1 to 150, default is 45.
For example to set the grace note duration to 60 milliseconds add the following anywhere in the tune's ABC:
%grace_duration_ms 60
Setting the %grace_duration_ms value to 0 will disable my custom grace duration solution and for the tune revert back to the original abcjs solution for grace note timing: Graces use half the duration of the following note and the following note duration is reduced by half.
% Disables custom grace timing solution
%grace_duration_ms 0
Basic Controls and Features (Top)
These buttons control how the notation and tablature is displayed:

Notation - Standard notation only.
Names - Shows standard notation with note names below.
Choose between standard ABC d e f style octave notes or Comhaltas-preferred "Blackboard ABC" D' E' F' octave note display in the Settings dialog.
Important: While the note Names display will show the Comhaltas-preferred note names, the ABC standard requires that the second octave C in the ABC itself either be represented by c or C' so that may requires some minor changes when pasting in your Comhaltas-formatted tunes.
Note names font and size in the tab is set by the Tab number font value in the Configure ABC Rendering Fonts dialog.
Mandolin - Shows standard notation and tablature for Mandolin.
GDAD - Shows standard notation and tablature for GDAD-tuned Bouzouki.
CGDAE - Shows standard notation and tablature for 5-string CGDAE-tuned Mandolin.
Guitar - Shows standard notation and tablature for standard EADGBE-tuned Guitar.
DADGAD - Shows standard notation and tablature for DADGAD-tuned Guitar.
Uke - Shows standard notation and tablature for GCEA tuned Ukulele.
This tablature solution puts the majority of the notes on the CEA strings and only uses the G string for notes lower than C.
Whistle - Shows standard notation and fingering tablature for Tin Whistle in the key of D.
Note: For notes that go below D on of the whistle (lowest note supported is the G below middle-C), the suggested "folded" octave-up fingerings are shown.
These buttons perform common operations on the ABC:

Up to 8 voices may be displayed with tablature.
Transpose Down - Transposes the selected tunes down one semitone. Shift-click transposes down one full step. Alt-click transposes down one octave.
Transpose Up - Transposes the selected tunes up one semitone. Shift-click transposes up one full step. Alt-click transposes up one octave.
To transpose multiple tunes, just click anywhere in the first tune you want to transpose, and drag to select any part of additional tunes you want transposed.
To transpose all the tunes at once, select them all before clicking the Tranpose buttons.
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.
Advanced - Shows the Advanced Controls dialog with several additional ABC filtering and display controls.
Sharing - Shows the Sharing Controls dialog with options for sharing your tunes via a share URL or QR code.
Clear - Clears the ABC Editor so you can start over.
Advanced Controls and Features (Top)
Clicking the Advanced button brings up the ABC Transcription Tools Advanced Controls and Features dialog:

Click the question mark at the top left to bring up this section of the user guide in a new browser tab.
Hide/Show ABC Features (Top)
Hide/Show Annotations - Hides/Shows most ABC annotations like Composer, Discography, History, Tempo, etc. in the displayed notation.
Hide/Show Text - Hides/Shows any %%center or %%text based text annotations in the ABC in the displayed notation.
Hide/Show Chords- Hides/Shows any chords present in the ABC in the displayed notation.
Hide/Show Injected Tab - Hides/Shows any text-annotation based injected tablature present in the ABC in the displayed notation.
The ABC filtering buttons are enabled if Annotations, Text, Chords, or Injected Tab is detected in the ABC.
Strip ABC Features (Top)
These commands are destructive in that they remove text from the current ABC.
It may be a good idea to save the current ABC or do a Copy All or Snapshot before using one of these commands if you want to quickly undo the operation.
Strip Annotations - Removes most ABC annotations like Composer, Discography, History, Tempo, etc. from the ABC.
Strip Text - Removes any %%center or %%text based text annotations from the ABC.
Strip Chords - Removes any chords present in the ABC.
Strip Injected Tab - Removes any text-annotation based injected tablature present in the ABC.
The ABC stripping buttons are enabled if Annotations, Text, Chords, or Injected Tab is detected in the ABC.
ABC Utility Injection Features (Top)
These commands are destructive in that they inject additional text into the current ABC.
It may be a good idea to save the current ABC or do a Copy All or Snapshot before using one of these commands if you want to quickly undo the operation.
Inject All Available PDF Tunebook Annotations - Injects all available tool-specific PDF tunebook annotations for title page, table of contents, index generation, etc. at the top of the ABC.
Inject PDF Section Header - Prompts for a PDF section header to inject at the text cursor insertion point.
Click on any section header in the Table of Contents or Index to jump to that section of the tunebook.
The * at the start of the injected tune title will be automatically hidden in the rendered ABC notation and only used to signal the PDF generator to add the section header.
In the unsorted Table of Contents and Index, section headers will be displayed with space above and below the section header.
In the sorted Table of Contents and Index, section headers will be displayed at the top without the extra space.
When rendering full tunes, section headers are automatically pushed to the top of a new page in the tunebook.
When rendering note or text incipits, section headers are not automatically pushed to the top of a new page.
Inject MIDI Programs and Volumes - Injects MIDI Soundfont, Melody program, Chord program and volume annotation into one or all tunes:

Select your MIDI soundfont from the soundfont selection menu.
Select your MIDI instrument for the Melody and Bass/Chords from the instrument program selection menus.
To mute the Melody or Bass/Chords, select "Mute" from the instrument program selection menus.
You may select which of the MIDI parameters you want injected by clicking the checkboxes.
Select "Inject all tunes" to add the selected MIDI annotations to all tunes.
If "Inject all tunes" is not checked, the MIDI annotation is added at the current text insertion point.
Inject Metronome - Using the custom rhythm pattern feature, injects a playable metronome into one or all tunes based on the meter of the tune as specified in the M: tag.
Since the metronome uses the ABC chord system to do its job, adding a metronome strips any existing ABC chords, MIDI chord programs, and MIDI bass/chord volumes from the ABC before injecting the ABC for the metronome.
To disable an injected metronome, simply delete the injected "E" chord that starts it off.
Inject Repeats and Intros - Allows you to increase the number of times through each tune by duplicating the ABC for the tune.

Additionally, you may optionally inject a two-bar style-appropriate click intro at the top of each tune.
You will be prompted for how many times you want each tune to repeat. Default is: 1.
Check Inject a two-bar style-appropriate click intro before each tune to add a two-bar click intro at the start of each tune.
For clean repeats, your tunes must not have extraneous pickup notes and must have proper and complete timing.
Important Requirement for 1st Part Repeats
If the 1st part of a tune has a :| repeat symbol at the end of it (or on a first ending), but not at the very start of the part, you will need to add the starting |: repeat bar symbol for the ABC to play correctly if there is more than one repetition through the tune.
The lack of a first repeat bar symbol in the ABC will make the first part of the tune on the second and repetitions appear to not repeat.
To Fix:
Add a |: repeat bar at the start of the tune.
Inject ABC Header String - Prompts for a string to inject at the top or bottom of the current tune or all tunes ABC header.
This can be useful, for example to add a Q: tempo tag or %swing value to all the tunes at once.
Inject %%staffwidth - Prompts for a %%staffwidth value to inject at the text insertion point or into all tunes.
This can be used to change the scale of every tune both for display and PDF generation.
Generally values above 556 will make the tunes less tall.
If "Inject all tunes" is not checked, the annotation is added at the current text insertion point.
Notation Spacing Explorer (Top)
Brings up a dialog where you can experiment with spacing values for the notation and then optionally inject the values into one or all of the tunes:

Staff Separation: Sets the spacing between the staves. Default depends on the default spacing set in the tool's Settings dialog.
Left Margin: Sets the spacing to the left of the staves. Default value is 15.
Right Margin: Sets the spacing to the right of the staves. Default value is 15
Staff Width: Sets the width of the staves. Default value is 556.
Values greater than 556 will make the staves less tall to allow more staves per page in a PDF.
Values less than 556 combined with checking Add %%noexpandtowidest will make the staves taller and more horizontally compressed for "large print" format tunes.
Add %%noexpandtowidest: When checked, disables the abcjs automatic expand to widest staff feature to allow for staves less wide than the default. Default is unchecked.
More details on %%noexpandtowidest in this section of the User Guide: "Large Print" Edition Tune Notation.
Test Values: Applies the current values to the displayed notation in the dialog.
Inject all tunes: When checked, all tunes in the ABC will be injected with the new spacing values if Inject Spacing into the ABC is clicked.
Inject Spacing into the ABC Injects the spacing values into either the currently selected tune or all the tunes in the ABC depending on if Inject all tunes: is checked.
Once the spacing values are injected into the ABC, they can be modified in place if additional adjustments are desired.
Instrument Tablature Injectors (Top)
These command all inject instrument tablature into the ABC.
These commands are destructive in that they add tablature text to the current ABC.
It may be a good idea to save the current ABC or do a Copy All or Snapshot before using one of these commands if you want to quickly undo the operation.
Inject B/C Box Tab - Injects B/C Box tablature into the ABC.
Inject C#/D Box Tab - Injects C#/D Box tablature into the ABC.
Inject Anglo Concertina Tab - Injects Anglo Concertina tablature into the ABC.
Inject Fiddle Fingerings - Injects Fiddle/Mandolin fingerings (which finger to use for the note) into the ABC.
Note for Mandolin players:
This is distinct from the fret number displayed when showing the Mandolin tablature along with the notation.
The Mandolin tablature shows which fret to use on the Mandolin. This shows which finger to use on the fret.
Inject Dulcimer Tab - Injects Mountain Dulcimer tablature into the ABC.
The tablature generation solution supports both DAD, DGD, or DAA-tuned instruments with a 6-1/2 fret.
Select between "Along High-D String" and "Cross-String" style tablature for the DAD and DGD tunings. (DAA is only available as "Along A String").
You may optionally exclude any tunes from the output that don't have complete tablature solutions.
This can be very useful when converting large numbers of tunes where you only want to end up with tunes that have complete fret tab solutions.
When excluding tunes, a report will be presented after the tab injection with the list of tunes that were excluded from the output.
Editing of the tab is possible after the injection.
When generating the tab, the following ABC text is added just before every note:
"_1;-;3"
The "_ tells the ABC renderer to put the tab under the next note.
The fret numbers (1, -, and 3 in this example) are then entered, separated by ; which causes the ABC renderer to stack the numbers vertically under the note.
Finally, there is a closing " added to complete the tablature entry.
If you want to modify the automatically generated tablature, just change the fret numbers to whatever you like. I use - to indicate an open string
Inject Bamboo Flute Tab - After requesting the bamboo flute key, injects numeric notation tab for the selected key into the ABC.

Configure Tablature Injection Settings - Brings up a dialog where you can configure all parameters for tablature injection.
MIDI Instrument Explorer (Top)
Brings up a player where you can experiment with playing the currently selected tune using all of the available MIDI soundfonts, melody and bass/chord programs and volumes:

This makes it quick and easy to find the right MIDI soundfont, melody instrument, bass/chord instrument, and bass/chord volumes for any tune:
The player controls works the same way as the standard player.
To test playing the tune with a new soundfont, melody instrument, bass/chord instrument, and or bass/chord volumes, make your changes and then click Reload Tune with Changed Instruments and Volumes.
The tune will be reloaded into the player with the new MIDI soundfont, melody instrument, bass/chord instrument, and bass/chord volume settings applied.
Click the play button to play the tune to check the new settings.
If you are happy with your new MIDI settings and want to apply them to the tune, click Inject Instruments and Volumes into the ABC to inject your new MIDI soundfont, program, and volume values into the tune's ABC, replacing any previous MIDI soundfont, melody instrument, bass/chord instrument, and bass/chord volume values.
To exit the MIDI Instrument Explorer, click Close.
Note: This feature is primarily for use with single-voice tunes. Unpredictable results may occur with multi-voice tunes.
Swing Explorer (Top)
Brings up a player where you can experiment with playing the currently selected tune using different swing factors and offsets:

This makes it quick and easy to find the right swing settings for any tune:
The player controls works the same way as the standard player.
To test playing the tune with a new swing factor and swing offset, enter a swing factor (Range is -0.9 to 0.9) and swing offset (in 1/8th notes, set to the number of pickup notes for jigs and other */8 (and possibly 3/4) meter tunes to align the swing with the tune) and then click Reload Tune with Changed Swing Settings.
The tune will be reloaded into the player with the new swing settings applied.
Click the play button to play the tune to check the new swing settings.
If you are happy with your new swing settings and want to apply them to the tune, click Inject Swing into the ABC to inject your new swing values into the tune's ABC, replacing any previous swing factor and swing offset values.
To exit the Swing Explorer, click Close.
For more details on swing factor and swing offset, see this section:
Adding Playback Swing to Tunes
Grace Duration Explorer (Top)
Brings up a player where you can experiment with playing the currently selected tune using grace durations:

This makes it quick and easy to find the right grace duration settings for any tune:
The player controls works the same way as the standard player.
To test playing the tune with a new grace duration, enter a grace duration in milliseconds (Range is 0 to 150) and then click Reload Tune with Changed Grace Duration.
The tune will be reloaded into the player with the new grace duration settings applied.
Click the play button to play the tune to check the new grace duration settings.
If you are happy with your new grace duration and want to apply them to the tune, click Inject Grace Duration into the ABC to inject your new grace duration value into the tune's ABC, replacing any previous grace duration value.
Entering a value of 0 will disable the custom grace timings and play the tune using the abcjs default behavior: Graces use half the duration of the following note and the following note duration is reduced by half.
To exit the Grace Duration Explorer, click Close.
For more details on grace duration, see this section:
Setting Grace Note Duration for Ornamentation
Export all Tunes as .MP3 (Top)
Exports all the tunes in the ABC area as individual .mp3 files at the bitrate set in the Settings dialog:

You will be prompted for how many times you want each tune to repeat in the .MP3 file. Default is: 1.
Check Inject a two-bar style-appropriate click intro before each tune to add a two bar click intro at the start of each .MP3 file.
This can be very useful for creating longer "play-along" recordings of tunes.
For clean repeats, your tunes must not have extraneous pickup notes and must have proper and complete timing.
Important Requirement for 1st Part Repeats
If the 1st part of a tune has a :| repeat symbol at the end of it (or on a first ending), but not at the very start of the part, you will need to add the starting |: repeat bar symbol for this feature to work when generating a .MP3 file with more than one repetition through the tune.
The lack of a first repeat bar symbol in the ABC will make the first part of the tune on the second and repetitions appear to not repeat.
To Fix:
Add a |: repeat bar at the start of the tune and regenerate the .MP3 file.
If you have tunes with chords, you can quickly create a backing track playing continously multiple times through the tune:
1: Mute the melody for all the tunes by clicking the Inject MIDI Melody button in the Advanced Controls dialog and select the Mute program.
2: Export all the tunes in the tunebook to .MP3 by clicking Export all Tunes as .MP3 in the Advanced Controls dialog, and when prompted enter the number of times through each tune.
Your browser may request permission to download multiple files.
During the batch export operation, click the export status dialog's Cancel button to stop the export.
Sort by Specific Tag (Top)
Brings up a dialog where you can sort the tunes based on a specified ABC tag:
Sort by Name (T:) - Sorts all the tunes by name alphabetically based on the value found in the first T: tag, ignoring an initial "The"
Sort by Name (T:) - Ignore "A"and "An" - This also sorts all the tunes by name, ignoring an initial "A" and "An" along with "The".
Sort by Key (K:) - This sorts all the tunes by the key value found in the first K: tag in the tune.
Sort by Meter (M:) - This sorts all the tunes by the meter value found in the first M: tag in the tune.
Sort order is: C|, C, 4/4, 6/8, 9/8, 12/8, 2/4, 3/4, 6/4, followed by any other meters found, grouped by meter.
Comhaltas ABC Transform (Top)
Brings up a dialog where you can choose between transforming the entire ABC from the standard ABC d e f octave note style to the Comhaltas-preferred "Blackboard ABC" D' E' F' octave note style, or from the Comhaltas-preferred "Blackboard ABC" D' E' F' octave note style to standard ABC d e f octave note style.
Important: While the note Names display will show the Comhaltas-preferred note names, the ABC standard requires that the second octave C in the ABC itself either be represented by c or C' so that may requires some minor changes when pasting in your Comhaltas-formatted tunes.
Regarding Comhaltas ABC and instrument tab injection: The various instrument-specific tab injectors detailed below are not able to work with the Comhaltas-preferred "Blackboard ABC" D' E' F' octave note style note names.
To inject instrument tab into ABC in this format, you will first need to convert the Comhaltas-preferred ABC to standard ABC the Comhaltas ABC Transform dialog's Comhaltas ABC to Standard ABC button first, then do the tablature injection.
After doing the tab injection, you can then transform the ABC back into the Comhaltas-preferred format using the the Comhaltas ABC Transform dialog's Standard ABC to Comhaltas ABC button
ABC Transcription Tools Settings (Top)
Clicking the Settings button at the top of the tool brings up a dialog where you can set tool-wide settings:

Save an Auto-Snapshot on browser tab close or reload? (Restore it from the Add dialog) - (Desktop browsers only) When enabled, saves an Auto-Snapshot when closing or reloading the browser tab the tool is running in.
Full screen tune display scaling (percentage) - Sets the width in percentage of window width for the tune notation on the screen when viewing full screen. Default is: 50%.
If the resulting scaled width is less than 850 pixels (820 pixels for iOS/Android) the width will be set to 850 pixels (820 pixels for iOS/Android).
Staff spacing (Default is: 10) - Allows you to set a wider or narrower gap between the staffs.
A value of 0 corresponds to an ABC %%staffsep of 40
Minimum value is -40 (corresponds to an ABC %%staffsep of 0)
Final rendered staff separation depends on the contents of ABC itself, for example the use of chords and other annotations may increase the staff spacing.
Experiment with this value until you get the result you want.
Show stringed instrument names on tablature (single-voice tunes only, not shown in the Player)) - Hides/Shows the instrument names and capo settings on the tablature.
At this time, instrument names below the tablature will only be displayed for single-voice tunes.
Stringed instrument capo fret postion - Allows you to set a capo setting from 0 to 12 frets for any of the stringed instruments tabs.
The following controls select default MIDI soundfont, programs, and volumes to use for the Melody, Bass, and Chords:
Default abcjs soundfont: - Choose between the five General MIDI soundfonts available in abcjs to use by default when playing tunes:
Fluid
Musyng Kite
FatBoy
Canvas (Based on a Roland JV-1010)
MScore (Based on the MuseScore General MIT licensed soundfont)
On first run, the default is set to Fluid.
Each soundfont is a full General MIDI implementation, but has somewhat different sounds for each instrument.
If no %abcjs_soundfont soundfont is specified in a tune, the default soundfont chosen in the tool's Settings dialog is used.
For more details on the soundfonts, visit: midi-js-soundfonts on GitHub
Your default soundfont choice is saved in browser storage and restored the next time the tool is run.
Use AppCordions custom sounds for Dulcimer, Accordion, Flute, and Whistle
If this is enabled (on by default), for all soundfonts, my custom sampled instruments for Dulcimer, Accordion, Flute, and Whistle will override the soundfont sounds.
Default Melody MIDI program - Select your default MIDI instrument for the Melody from the instrument selection menu.
Default Bass/Chords MIDI program - Select your default MIDI instrument for the Bass/Chords from the instrument selection menu.
Enabling Use Default Melody and Bass/Chord programs when playing tunes will play tunes that don't have Melody or Bass/Chord programs already in the ABC with your preferred instrument sounds.
If a %%MIDI program or %%MIDI chordprog directive is already present in the tune when playing, it will take precedence over the default program values.
If a %%MIDI bassvol or %%MIDI chordvol directive is already present in the tune when playing, it will take precedence over the default volume values.
To force tune playback using your default programs and volumes if there are already %%MIDI directives in the ABC (useful for my Interactive PDF tunebooks):
Enabling Override all MIDI programs and volumes in the ABC when playing tunes will override any existing %%MIDI program, %%MIDI chordprog, %MIDI bassvol, and %MIDI chordvol values found in the ABC with your defaults when you play a tune.
This can be useful with my Interactive PDF tunebooks with built-in playback features if you want to use your preferred instrument sounds and volumes instead of the instruments and volumes set by the Interactive tunebook play link ABC.
For example, if you want to always use a Whistle sound for the Melody and a Piano sound for the Bass and Chords, set your default Melody instrument to Whistle and your default Bass/Chords instrument to Acoustic Grand Piano. Then enable Override all MIDI programs and volumes in the ABC when playing tunes.
To mute the melody, select the Mute program.
To mute the bass/chords, select the Mute program.
These settings values are saved to local browser storage when you close the dialog and are restored each time you run the tool.
Changing the Melody Volume
To change the Melody volume, add a dynamics indication such as !ppp!, !pp!, !p!, !mp!, !mf!, !f!, or !ff! immediately before the first note in the ABC.
Special Note on the Dulcimer (15) Instrument
Selecting the Dulcimer (15) program for either the melody or chords automatically sets all note release times to 4 seconds to allow the notes to ring.
This can be useful for tunes using solo melody instruments with long release times like Orchestral Harp (46) or Koto (107).
For those instruments played solo, set the melody instrument program as desired and the chord instrument program to Dulcimer (15).
In this case, you may not want to include any chords in the ABC, as they will be played using the Dulcimer (15) instrument.
This only applies if Use AppCordions custom sounds for Dulcimer, Accordion, Flute, and Whistle is enabled (see below).
Automatically swing Hornpipes when playing (enabled if R:Hornpipe is found in the tune) - If checked, automatically swings Hornpipes if
R:Hornpipe
is found in the tune.
Auto-swing scale factor (range is -0.9 to 0.9, default for Hornpipes is 0.25) - Sets the level of swing used by the Hornpipe play auto-swing feature.
The swing factor lengthens the primary beats by the swing factor and shorten subsequent beats accordingly.
For more details on swing factor and swing offset, see this section:
Adding Playback Swing to Tunes
Autoscroll player when playing - Check this if you want have the player autoscroll the notes into view while playing.
MP3 audio export bitrate (kbit/sec): - Sets the bitrate for MP3 stereo audio downloaded from the Player.
Default value is 224. Minimum value allowed is 96. Maximum value allowed is 384. Higher values result in higher quality audio.
Player uses large controls (easier to touch on mobile and tablet) - Check this if you want to have larger controls in the Player view.
Player/Tune Trainer uses label L/R side click to decrement/increment values (for touch devices) - Check this if you want to decrement or increment values in the Tune Trainer number entry fields by clicking on the left or right side of their labels.
Touching to the left or right of the tempo field in any of the Players (Player, MIDI Instrument Explorer, Swing Explorer, Grace Explorer, Tune Trainer) decrements or increments the tempo by 5%.
This makes it easier to set tempos and increments on touch screen devices.
Defaults to enabled for Android and iPhone devices.
Note name tablature uses Comhaltas style ABC (D' E' F' instead of d e f for octave notes) - Check this if you want to use the Comhaltas "Blackboard ABC" standard for ABC note names (D' E' F' instead of d e f for octave notes) when in note names tab display mode.
Important: While the note Names display will show the Comhaltas-preferred note names, the ABC standard requires that the second octave C in the ABC itself either be represented by c or C' so that may requires some minor changes when pasting in your Comhaltas-formatted tunes.
Note name font and size in the tab is set by the Tab number font setting in the Configure ABC Fonts dialog.
Configure ABC Fonts - Brings up a dialog where you can configure all fonts used for rendering the ABC.
Configure Tablature Injection Settings - Brings up a dialog where you can configure all parameters for tablature injection.
Configure MusicXML Import - Brings up a dialog where you can configure all parameters for MusicXML import.
Details on MusicXML import settings below in the MusicXML Import Settings section.
Typing ABC Using a MIDI Input Device (Top)
If your browser supports MIDI input, you will find this additional option in the settings dialog: Allow MIDI input for ABC text entry
If checked, you can enter ABC melody notes (chords are not supported) into the editor area using a USB or Bluetooth MIDI keyboard or other MIDI input device:
This feature has been verified to work with the desktop version of Chrome and Firefox on a Mac, other browsers may also work as well.
The note text entered will have only the note name and octave without any sharp, flat, or natural indication: (G, A, B, C D E F G A B c d e f g a b c' d' etc.)
If you require specific sharps, flats, or naturals on the notes, you will need to add them manually.
This feature has been tested with both USB and Bluetooth MIDI keyboards as well as a USB WARBL wind controller on a Mac running Chrome.
To add a space, bar line, or other common useful ABC staff construction patterns after entering a MIDI note, you can use the MIDI text macro shortcuts described below.
The range of the ABC notes for MIDI note entry is from C, to c'' (MIDI notes 48 - 96).
The octave below C, starting on C,, (MIDI note 36) is used for inserting useful common ABC text macros.
This map shows the MIDI note number and the text inserted:
36: Space
37: Backspace
38: |
39: /
40: 2
41: 3
42: 4
43: (3
44: |:
45: :|
46: ||
47: |]
When using a MIDI wind controller like the WARBL, you should set up the response curves to generate as few transient notes as possible.
Additionally, you can map the buttons on the back of the WARBL to send three of the text macro triggers, which makes it possible to enter entire staves of ABC just from the WARBL.
Here are the WARBL breath settings and button mappings I use:

I've configured the three buttons on the back of the WARBL to insert a space, bar line, and backspace (MIDI notes 36, 38, and 37).
Setting them to "Momentary" speeds up the button response.
Here's a demo video showing entering the notes and bar lines for "The Kesh" jig into the tool entirely from my WARBL:
Note on using the MIDI Input feature on Firefox:
When first enabling MIDI input on Firefox, you will be asked by the browser to give the tool permission to access MIDI devices on your computer.
Once you grant permission, you will need to restart Firefox for MIDI input to work.
Configuring ABC Rendering Fonts (Top)
Clicking the Configure ABC Fonts button in the tool settings dialog shows a subdialog where you can configure all the fonts used for rendering the ABC.

Values are saved in browser storage and restored the next time the tool is run.
For details on the use of each font, refer to the Custom Font Overrides information below.
Click Save to File to save the ABC rendering font settings to a file.
Click Load from File to load the ABC rendering font settings from a previously saved file.
Click Reset to Default to reset the ABC rendering font settings to their original defaults.
Choosing the MIDI Soundfont and Instruments for Playback (Top)
You may choose which instrument sounds are used for the melody and bass/chords when playing tunes.
By default, the melody and bass/chords instrument used is a piano.
You can specify which abcjs General MIDI soundfont to use for a specific tune by adding any of these three comment-based annotations in the ABC header for the tune:
%abcjs_soundfont fluid
%abcjs_soundfont musyng
%abcjs_soundfont fatboy
%abcjs_soundfont canvas
%abcjs_soundfont mscore
Each soundfont is a full General MIDI implementation, but has somewhat different sounds for each instrument.
If no %abcjs_soundfont soundfont is specified in a tune, the default soundfont chosen in the tool's Settings dialog is used.
It is not possible to change soundfonts within a tune.
If multiple instancs of %abcjs_soundfont are found in a tune, only the first one is used.
For more details on the soundfonts, visit: midi-js-soundfonts on GitHub
If Use AppCordions custom sounds for Dulcimer, Accordion, Flute, and Whistle is enabled in the Settings (on by default), for all soundfonts, my custom sampled instruments for Dulcimer, Accordion, Flute, and Whistle will override the soundfont sounds.
Choosing the Melody Instrument Sound
To choose the instrument used for the melody, add the following line to your ABC right after any headers and before the ABC notes, for example for an Accordion sound:
%%MIDI program 21
Example:
X: 1
T: The Kesh
R: Jig
M: 6/8
L: 1/8
K: Gmaj
%%MIDI program 21
D|: GAG GAB | ABA ABd | edd gdd | edB dBA |
GAG GAB | ABA ABd | edd gdB |1 AGF G2D :|2 AGF G2A||
|: B2B dBd | ege dBA | BAB dBG | ABA AGA |
B2 B dBd | ege dBd | gfg aga |1 bgg g2A :|2 bgg g2D |]
To change the instrument used for the melody, try changing the MIDI program # above to one of:
Piano: 0, Harpsichord: 6, Accordion: 21, Fingered Bass: 33, Harp: 46
By default, if you have chords in the ABC, the instrument used for the chord playback is a piano.
Choosing the Bass and Chord Instrument Sounds
To choose the instrument for the bass and chords, add the following line to your ABC right after any headers and before the ABC notes, for example for a Bass sound:
%%MIDI chordprog 34
Here's the same example where I've added the bass/chords instrument program selection:
X: 1
T: The Kesh
R: Jig
M: 6/8
L: 1/8
K: Gmaj
%%MIDI program 21
%%MIDI chordprog 34
D|: GAG GAB | ABA ABd | edd gdd | edB dBA |
GAG GAB | ABA ABd | edd gdB |1 AGF G2D :|2 AGF G2A||
|: B2B dBd | ege dBA | BAB dBG | ABA AGA |
B2 B dBd | ege dBd | gfg aga |1 bgg g2A :|2 bgg g2D |]
To change the instrument used for the bass/chords, try changing the MIDI chordprog # above to one of:
Piano: 0, Electric Piano: 5, Guitar: 25, Bass: 34, Synth Bass: 38
Changing the Playback Volume of the Melody, Bass, and Chords
To change the volume of the melody, add a dynamics indication in the ABC itself before all the notes.
For example, to make the melody very soft, you can inject a !ppp! pianissimo annotation:
!ppp! |:"Em"EBBA B2 EB|"Em"B2 AB dBAG|"D"F/E/D AD BDAD|"D"F/E/D AD BAGF|
Most standard dynamics indications are supported, for example: !ppp!, !pp!, !p!, !mf!, !f!
To completely mute the melody, change the MIDI Program to 136 (or mute):
%%MIDI program mute
To change the volume of the bass and chords, add the following two chordvol and bassvol %%MIDI directives immediately before any %%MIDI program and %%MIDI chordprog directives:
% Set the chord and bass volume (0-127)
%%MIDI chordvol 16
%%MIDI bassvol 16
%
% Use an Accordion sound when playing the melody:
%%MIDI program 21
%
% Use an Accordion sound when playing the chords:
%%MIDI chordprog 21
%
The volume range is from 0 to 127.
To completely mute the bass/chords, change the MIDI Program to 136 (or mute):
%%MIDI chordprog mute
The following MIDI instruments now use the same samples as my iOS "Celtic Sounds" and other apps:
Hammered Dulcimer: 15, Accordion: 21, Flute: 73, Whistle: 78, Uilleann Pipes: 129, Scottish Smallpipes (D): 130, Scottish Smallpipes (A): 131, Säckpipa: 132, Concertina: 133, Melodica: 134, Cajun Accordion: 135, Silence: 136 (or mute)
The Scottish Smallpipes (A) samples are from an instrument tuned in A, but the note numbers mapped to D so that they have the same transposed MIDI note range as the flute or whistle.
The Flute, Whistle (if Use AppCordions custom sounds for Dulcimer, Accordion, Flute, and Whistle in the Settings is enabled), and Uilleann pipes sounds will automatically "fold" notes below first octave D up an octave.
The Säckpipa and Scottish Smallpipes (A) and (D) sounds will automatically "fold" notes above second octave D down an octave.
Any General MIDI instrument program number can be selected for the melody and chord sounds.
General MIDI Instrument Program Numbers (Top)

Use program #136 Silence (or mute) to mute MIDI voices.
This can be used, for example, to create "Music Minus One" recordings consisting only of backing bass and chord tracks.
General MIDI Drum Sound ABC Note Map (Top)

Use program #128 (Percussion) on it's own voice for MIDI click tracks.
Custom Backup Rhythms (Top)
You may customize the backup rhythm used for any meter in a single tune with chords by adding the following comment-based directive anywhere in the tune's ABC:
%abcjs_boomchick meter rhythm_pattern_string partial_measure_threshold
This is particularly useful for meters that may have multiple commomly played subdivision groupings like 7/8 and 10/8.
Valid rhythm_pattern_string characters are:
B - Boom, b - Alternate Boom, c - Chick, and x - Silence.
Examples:
%abcjs_boomchick 5/4 Bxcbc 2
%abcjs_boomchick 5/8 Bxxbx 2
%abcjs_boomchick 7/8 Bccbxbx 3
%abcjs_boomchick 10/8 Bccbccbxbx 5
The number of characters in the pattern_string must match the meter numerator.
partial_measure_threshold sets how many beats must be present in a partial measure in the ABC to use the custom pattern.
partial_measure_threshold is optional and if not included, defaults to half of the meter numerator rounded down to the next lowest integer (minimum is 1).
If you have an incorrectly formatted %abcjs_boomchick directive in a tune, you will be alerted when trying to play the tune.
You may have multiple custom rhythm directives for different meters in a single tune.
If you have the same meter specified twice in custom rhythm directives in a tune, only the first one will be used.
This directive is specific to this tool and will not work with other ABC players.
Adding a Metronome Using Custom Backup Rhythms (Top)
If you want to practice a tune with a metronome, you can use the Inject Metronome feature on the Advanced Controls dialog to automatically inject a playable metronome into the tune.
The metronome pattern injected is based on the meter of the tune, as described in the tune's M: tag.
If you want more control, or want a metronome for a meter that isn't supported by the automatic metronome injector, it is very easy using the custom rhythm option and the appropriate choice of a percussion backup instrument to add a metronome to a tune.
This requires that the tune does not already have chords, as the metronome system uses the chord system to do its job.
For example, here's an example metronome pattern for a reel. You just need to add a single chord at the beginning of the tune to kick off the backup rhythm:
X: 1
T: Cooley's
R: Reel
M: 4/4
L: 1/8
K: Edor
C: Traditional
%
% Choose your soundfont
%abcjs_soundfont fatboy
%
% Use a custom 4/4 backup pattern to use as a metronome
%abcjs_boomchick 4/4 cBBB
%
% Use a piano sound for the melody
%%MIDI program 0
%
% Woodblock for backup metronome track
%%MIDI chordprog 115
%
% ABC for the tune, the single "E" chord at the beginning starts up the metronome:
%
|:"E"EBBA B2 EB|B2 AB dBAG|F/E/D AD BDAD|F/E/D AD BAGF|
EBBA B2 EB|B2 AB defg|afge dBAF|1 DEFD E3D:|2 DEFD E2gf||
|:eB (3BBB eBgf|eBB2 gedB|A/A/A FA DAFA|A/A/A FA defg|
eB (3BBB eBgf|eBBB defg|afge dBAF|1 DEFD E2gf:|2 DEFD E4|]
Try this example here: Reel Metronome Example
Here's an example metronome for a jig:
X: 1
T: The Kesh
R: Jig
M: 6/8
L: 1/8
K: Gmaj
C: Traditional
%
% Choose your soundfont
%abcjs_soundfont fatboy
%
% Use a custom 6/8 backup pattern to use as a metronome
%abcjs_boomchick 6/8 cxxcxx
%
% Use a piano sound for the melody
%%MIDI program 0
%
% Woodblock for backup metronome track
%%MIDI chordprog 115
%
% ABC for the tune, the single "E" chord at the beginning starts up the metronome:
%
|:"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:|
Try this example here: Jig Metronome Example
To disable an injected metronome, simply delete the injected "E" chord that starts it off.
Exporting a PDF Tunebook (Top)
The tool has a powerful built-in PDF tunebook generator that provides more flexibility than the browser's print feature, particularly in the area of adding custom page headers and footers, title page, table of contents, tune index, or adding a custom QR code.
It can format PDF tunebooks with one or multiple tunes per page, something the native browser's Print command cannot accomplish.
When you click Export PDF, the following dialog will appear where you select your PDF formatting preferences:

Configure PDF Tunebook Features - Brings up a dialog that you can use to add annotations at the top of the ABC that will add an optional Title Page, Table of Contents, Index, Page Header, Page Footer, playback links, and/or QR code to an exported PDF tunebook:

Leave any text fields blank for features you don't want in your PDF tunebook.
The PDF features are added using the tool's ABC comment-based annotations to the top of the ABC.
Once added, you can modify the features values directly in the ABC if you wish.
Since the PDF features are part of the ABC, they will be saved along with the tunes if you save or share the ABC.
The PDF features are separated by two marker lines:
% Start of PDF Tunebook Features
% End of PDF Tunebook Features
These two lines are used by the tool to locate the tunebook feature settings in the ABC.
If you click Configure PDF Tunebook Features again, everything in that block of ABC will be replaced with the newly configured PDF tunebook features.
Note: If you add features to your tunebook using the dialog and then manually delete:
% End of PDF Tunebook Features
from the ABC and click Configure PDF Tunebook Features, the tool will not be able to find the original set of features in the ABC to overwrite.
If this occurs, the new set of requested PDF tunebook features will just be added to the top of the ABC.
Brings up a dialog where you can experiment with spacing values for the notation and then optionally inject the values into one or all of the tunes:
Notation Spacing Explorer: Brings up a dialog where you can experiment with spacing values for the notation and then optionally inject the values into one or all of the tunes.
For complete details, see Notation Spacing Explorer.
Paper Size:
Choose between Letter or A4 paper size:

Tune Layout:
Choose whether you want One Tune per Page, Multiple Tunes per Page, Tune Note Incipits, or ABC Incipits (unsorted or alphabetically sorted by tune name):

One Tune per Page: Each tune is placed on a new page in the PDF.
Multiple Tunes per Page: Tunes are added one after another down each page in the PDF.
Notes Incipits: Notation for the first line of each tune is added one after another down each page in the PDF.
ABC Text Incipits: First few bars of the ABC each tune is added one after another down each page in the PDF.
ABC Text Incipits Sorted: First few bars of the ABC each tune is added one after another down each page in the PDF in tune name sorted order.
Default is: One Tune per Page
When exporting multiple tunes per page to PDF the tool will do its best to layout the output to not split tunes between pages, unless the tune itself is longer than one page.
When exporting multiple tunes per page, if you want to manually force a tune to a new page in the PDF, add:
%%newpage
on a new line immediately at the end of tunes after which you want to force a page break.
This will allow you to easily format a tune book where you want to override the automatic tune layout.
PDF Tunebook Notes Incipits:
Exporting a PDF tunebook with notes incipits allow you create a "cheat sheet" for the tunebook that includes just the notation for first line of each tune.
The tune notes incipits can be in standard notation or any of the available tablatures.
Tune notes incipits are generated stripping all ABC annotation and for tablature, hiding the tablature name to try and fit as many tunes on one page as possible.
Additionally, manually inserted %%newpage requests are ignored for incipit generation.
PDF Tunebook ABC Incipits:
Exporting a PDF tunebook with ABC incipits allow you create a "cheat sheet" for the tunebook that includes just the first few measures of the ABC for each tune.
Notes Incipits Columns:
When exporting notes incipits, choose whether you want one or two column layout:

Page Number Location:

Choose between: None, Top Left, Top Center, Top Right, Bottom Left, Bottom Center, Bottom Right, Alternating Top Left/Right, Alternating Top Right/Left, Alternating Bottom Left/Right, or Alternating Bottom Right/Left.
The Alternating Left/Right and Alternating Right/Left settings alternate the location between the left/right or right/left sides of the page for printing on both sides of the paper.
Default is: None
Page Number on First Page:

Check this if you want the page number to be shown on the first page with tunes in the PDF.
Page numbers are not added to title pages, table of contents, index, or QR code pages.
Default is: On
PDF Tunebook Additions Font Settings
The following two settings control the font and font style for the PDF tunebook Title Page, Table of Contents, Index, Page Headers/Footers, Page Numbers, Text Incipits, and QR Code label.
These settings do not change the fonts in the ABC notation itself, those are configured in the Settings dialog Configure ABC Fonts sub-dialog.
Font:

Choose between: Times, Helvetica, or Courier.
Default is: Times
Font Style:

Choose between: Normal, Bold, Oblique, or Bold Oblique.
Default is: Normal
PDF Font Override Settings (Top)
You may override the font and font style set in the PDF Tunebook Export dialog to be used for the PDF title page, page headers/footers, table of contents, index pages, page numbers, text incipits, and QR code label by adding the following ABC comment-based annotation anywhere in the ABC:
%pdffont fontname fontstyle
Valid fontname values are: Times, Helvetica, and Courier.
Valid fontstyle values are: Normal, Bold, Oblique, and BoldOblique.
You can leave the style value blank for the Normal style.
This allows you to make sure a tunebook PDF always gets generated with a specific font and style.
PDF Quality Setting (Top)
You may set the quality of the PDF output by adding the following ABC comment-based annotation anywhere in the ABC:
%pdfquality quality_value
Where quality_value is a floating point value.
The default value is 0.75 (high quality)
Lower values will create lower resolution PDF notation output and smaller PDF file size.
A value of 1.0 will produce the maximum quality.
A value of 0.5 will still produce good-quality PDF notation at about half the PDF file size of the maximum quality.
A pdfquality value of 0.25 can be used to produce draft quality output with even smaller PDF file size.
PDF Tunebook Tune Size and Layout Spacing Overrides (Top)
You can also make individual tunes render smaller (or larger) both on screen and in exported PDF tunebooks by adding:
%%staffwidth desired_width
Immediately after the X: tag for a tune.
The default value is 556
To make the tunes less tall, a good value to start out with is setting desired_width to 730
Play with changing that 730 value until you get the output result you want.
This can be used to layout more tunes per PDF page.
You may also control the spacing between tunes in the PDF output by adding the following ABC comment-based annotation anywhere in the ABC:
%pdf_between_tune_space spacing_value
Where spacing_value is an integer in 1/72" increments.
The default value is 20
Smaller values will reduce the space between the tunes in the PDF.
Larger values will increase the space between the tunes in the PDF.
This value is used in the layout of multiple tunes per page.
For the most compact PDF layout possible to maximize the number of tunes per page when generating a PDF, set the value to zero:
%pdf_between_tune_space 0
The Staff spacing value in the ABC Transcription Tools Settings dialog can be easily overridden by setting a %%staffsep value in the ABC just below the tune header.
This can be very useful particularly for getting as much tab notation on a single page as possible.
Any spacing overrides must be applied on a tune-by-tune basis.
For the absolute minimum spacing between staffs, turn off the tab names, hide the tune annotations, and add the following just below the tune header:
%%staffsep 0
Try experimenting with different %%staffsep values until you get the result you want.
Setting the %%staffsep value manually too low may sometimes result in overlapping staff rendering.
To override the default space between the title and the first staff of music, you can add a custom %%musicspace value in the ABC just below the tune header, for example:
%%musicspace 10
Try experimenting with different %%musicspace values until you get the result you want.
Here is the full list of ABC spacing-related parameters available in abcjs:
%%topspace
%%titlespace
%%subtitlespace
%%composerspace
%%musicspace
%%partsspace
%%vocalspace
%%wordsspace
%%textspace
%%staffsep
%%sysstaffsep
Please refer to the official ABC 2.1 specification for more details.
Another good reference is this handy ABC 2.1 Quick Reference Card put together by Stephen Merrony:
Adding a PDF Title Page (Top)
To add a title page to your PDF tunebook, simply add the following comment-based annotation anywhere in the ABC:
%addtitle (title text)
To add a smaller subtitle below the title on the title page, simply add the following comment-based annotation anywhere in the ABC:
%addsubtitle (title page subtitle text)
Note: The subtitle only appears if a title page is requested.
For a title page with just a subtitle and no subtitle, just enter %addtitle with no text after it and then add %addsubtitle with your subtitle text.
To add a title page to your PDF tunebook as a hyperlink, simply add the following comment-based annotation anywhere in the ABC:
%urladdtitle URL (title text)
To add a smaller subtitle as a hyperlink below the title on the title page, simply add the following comment-based annotation anywhere in the ABC:
%urladdsubtitle URL (title page subtitle text)
Examples:
%urladdtitle https://michaeleskin.com Tunebook Title with Hyperlink
%urladdsubtitle https://michaeleskin.com/abc Tunebook Subtitle with Hyperlink
Note: The URL must begin with either http:// or https:// to be recognized as a hyperlink.
Only the first instance of the %addtitle, %addsubtitle, %urladdtitle, and %urladdsubtitle annotations are processed, any additional instances are ignored.
Adding a PDF Tunebook Table of Contents and Index (Top)
To add a table of contents to the start of of your PDF tunebook listing each tune name and page number in the same order the tunes appear in the ABC along with hyperlinks to each tune, simply add the following comment-based annotation anywhere in the ABC:
%addtoc (table of contents title text)
To append an sorted tunebook table of contents to the start of your PDF tunebook listing each tune name and page number in alphabetical order by tune name along with hyperlinks to each tune, simply add the following comment-based annotation anywhere in the ABC:
%addsortedtoc (sorted table of contents title text)
Tune names that start with "The" will have the "The" moved to the end of the tune name before the sorting.
To add a hyperlink (displayed as <<) on the left side of each page that links back to the tunebook table of contents, simply add the following comment-based annotation anywhere in the ABC:
%addlinkbacktotoc
To add some text above the table of contents pages as a page header, simply add the following comment-based annotation anywhere in the ABC:
%tocheader (table of contents page header text here)
Unlike standard page headers, the table of contents page headers do not support macro expansion.
To append an unsorted tunebook index to the end of your PDF tunebook listing each tune name and page number in the same order they are in the ABC along with hyperlinks to each tune, simply add the following comment-based annotation anywhere in the ABC:
%addindex (index unsorted title text)
To append an sorted tunebook index to the end of your PDF tunebook listing each tune name and page number in alphabetical order by tune name along with hyperlinks to each tune, simply add the following comment-based annotation anywhere in the ABC:
%addsortedindex (sorted index title text)
Tune names that start with "The" will have the "The" moved to the end of the tune name before the sorting.
Only the first instance of the %addtoc, %addsortedtoc, %addindex, and %addsortedindex annotations are processed, any additional instances are ignored.
If you want to suppress having the hyperlinks added from the table of contents or index page entries to the tunes, simply add the following comment-based annotation anywhere in the ABC:
%no_toc_or_index_links
To add a hyperlink (displayed as >>) on the right side of each page that links back to the tunebook index, simply add the following comment-based annotation anywhere in the ABC:
%addlinkbacktoindex
To add some text above the index pages as a page header, simply add the following comment-based annotation anywhere in the ABC:
%indexheader (index page header text here)
Unlike standard page headers, the index page headers do not support macro expansion.
Adding Table of Contents and Index Section Headers (Top)
To add a section header in the Table of Contents or Index, add a two line placeholder tune with only X: and T: tags, and with a tune title that starts with a * character:
X:1
T:*Reels
The * at the start of the tune title will be automatically hidden in the rendered ABC notation and only used to signal the PDF generator to add the section header.
Click on any section header in the Table of Contents or Index to jump to that section in the tunebook.
In the unsorted Table of Contents and Index, section headers will be displayed with space above and below the section header.
In the sorted Table of Contents and Index, section headers will be displayed at the top without the extra space.
When rendering full tunes, section headers are automatically pushed to the top of a new page in the tunebook.
When rendering note or text incipits, section headers are not automatically pushed to the top of a new page.
If you want more information displayed under the section headers in the tunebook, just add more normal T: title tags (not starting with a *), they will show up as centered subtitles under the main section header.
For example:
X:1
T:*Reels
T:These are some tunes I'm working on
T:We can play them at the session next week
The additional text in the T: tags is added to the PDF tune pages, not the Table of Contents and Index.
Do not put more than one T:* section header tag in the placeholder tune, only the first T: tag should be marked with the *.
Table of Contents and Index Font Size and Line Spacing Overrides (Top)
You may override the top offset to title, offset from title to the index or table of contents entries, default tune name font sizes and line spacing, by adding the following comment-based annotations anywhere in your ABC:
Table of Contents offset and font overrides:
%toctopoffset (top offset) - 72 dpi offset from the page header for the top of the table of contents title. Default is: 30.
%toctitleoffset (title offset) - 72 dpi offset from the title to the first entry in the table of contents. Default is: 35.
%toctitlefontsize (font size) - Font size for the table of contents title. Default is: 18.
%tocfontsize (font size) - Font size for tune names in the table of contents. Default is: 13.
%toclinespacing (line spacing) - Line spacing for tune names in the table of contents. Default is: 12.
Index offset and font overrides:
%indextopoffset (top offset) - 72 dpi offset from the page header for the top of the index title. Default is: 30.
%indextitleoffset (title offset) - 72 dpi offset from the title to the first entry in the index. Default is: 35.
%indextitlefontsize (font size) - Font size for the index title. Default is: 18.
%indexfontsize (font size) - Font size for tune names in the index. Default is: 13.
%indexlinespacing (line spacing) - Line spacing for tune names in the index. Default is: 12.
As with all previously described annotation, only the first instance these annotations are processed, any additional instances are ignored.
PDF Page Headers and Footers (Top)
You may add custom page headers and footers to your exported PDF files by including the following ABC comment-based annotations anywhere in your ABC:
%pageheader (header text)
%pagefooter (footer text)
If you'd like to link to a specific URL when users click in the PDF page header or footer, include either the following ABC comment-based annotations anywhere in your ABC:
%urlpageheader (URL) (header text)
%urlpagefooter (URL) (footer text)
Examples:
%urlpageheader https://michaeleskin.com/abc Click in this page header to visit my home page
%urlpagefooter https://michaeleskin.com/abc Click in this page footer to visit my home page
Note: The URL must begin with either http:// or https:// to be recognized as a hyperlink.
There are also several useful user macros you can include in your page header or footer text that will be expanded in the PDF:
$PDFNAME - Matches the saved PDF filename
$PAGENUMBER - Current page number
$DATEMDY - Current date in M-D-Y format
$DATEYMD - Current date in Y-M-D format
$TIME - Current time in HH:MM format
$TUNECOUNT - Number of tunes in the ABC
$TUNENAMES - All of the tune names in the ABC separated by /
The tune names width is limited to about 70 characters before it will append "+ (remaining number of tunes) more" to the first few tune names.
Example ABC with page header and page footer annotations that include user macros:
%pageheader "The Tarbolton" from the Michael Coleman set - Saved on $DATEMDY at $TIME
%pagefooter $PDFNAME - Page $PAGENUMBER
X:1
T:The Tarbolton
M:4/4
K:Edor
Beed e2BA|GBAF GFEF|Dddc d2AG|FAGE FEDF|
Eeed efge|fedf e2BA|GABG FGAF|BGAF GEE2:|
|:gfef gebe|gebe gfec|d2fd Adfd|cdAG FDEF|
GABG FGAF|E2ef gfed|BcdB A2FA|BGAF GEE2:|
Results in a PDF that looks like this:

Note: Only the first instance of the %pageheader or %pagefooter annotation is processed, any additional instances are ignored.
Page numbers can be added along with page headers and footers.
If you add a page header and you have selected top-centered page numbers, the page number will be hidden.
If you add a page footer and you have selected bottom-centered page numbers, the page number will be hidden.
Since these annotations are ABC comment-based, they will just appear to be normal comments in other ABC software.
Forcing a Specific Filename for PDF Export
If you want to force a specific filename to be used by default every time you export the PDF file, add the following comment-based directive anywhere in the ABC:
%pdfname your_pdf_filename_here
PDF Tunebook Hyperlinks and Automatic Play Links (Top)
Example of using the tune playback hyperlinks and other advanced features:
Adding an external website hyperlink to a specific tune:
The tool can add hyperlinks to external websites to the tune notation in a PDF tunebook.
Tune hyperlinks are available for tune notation and tune incipits tunebooks, and are not available for ABC text incipit tunebooks.
When a hyperlink is present, touch the title of the tune and you will automatically launch the associated tune hyperlink.
To add a hyperlink to an external website in any tune, add the following comment-based annotation anywhere in the ABC for a specific tune:
%hyperlink URL
Examples:
%hyperlink https://michaeleskin.com
%hyperlink https://cnn.com
Adding a playback hyperlink to a specific tune:
To add a hyperlink back to the ABC Transcription Tools for playing a specific tune with specific General MIDI instrument program number sounds for the melody and the bass/chords, add the following comment-based annotation anywhere in the ABC for a specific tune:
%add_playback_link MELODY_PROGRAM BASS_CHORD_PROGRAM SOUND_FONT
The MELODY_PROGRAM, BASS_CHORD_PROGRAM, and SOUND_FONT are optional.
If only the MELODY_PROGRAM is specified, the BASS_CHORD_PROGRAM and SOUND_FONT values will be set to the current default soundfont and instrument program number settings for bass/chord playback in the Settings dialog.
If MELODY_PROGRAM, BASS_CHORD_PROGRAM, and SOUND_FONT are not specified, the play link will be added, but no additional MIDI program or chordprog information will be injected into the tune at playback time.
Example: To have a specific tune played using the FatBoy soundfont with an Harpsichord sound on the melody and a Piano sound on the chord/bass
X:1
T:The Tarbolton
M:4/4
K:Edor
%add_playback_link 6 0 fatboy
Beed e2BA|GBAF GFEF|Dddc d2AG|FAGE FEDF|
Eeed efge|fedf e2BA|GABG FGAF|BGAF GEE2:|
|:gfef gebe|gebe gfec|d2fd Adfd|cdAG FDEF|
GABG FGAF|E2ef gfed|BcdB A2FA|BGAF GEE2:|
Adding playback hyperlinks to every tune in a PDF tunebook:
You may automatically add a hyperlink for every tune back to the ABC Transcription Tools for playing the tune with a specific General MIDI instrument program number sound for the melody and the bass/chords by adding the following comment-based annotation anywhere in the ABC file:
%add_all_playback_links MELODY_PROGRAM BASS_CHORD_PROGRAM SOUND_FONT
The MELODY_PROGRAM, BASS_CHORD_PROGRAM, and SOUND_FONT are optional.
If only the MELODY_PROGRAM is specified, the BASS_CHORD_PROGRAM and SOUND_FONT values will be set to the current default soundfont and instrument program number settings for bass/chord playback in the Settings dialog.
If MELODY_PROGRAM, BASS_CHORD_PROGRAM, and SOUND_FONT are not specified, the play link will be added, but no additional MIDI program or chordprog information will be injected into the tune at playback time.
This is useful for tunebooks for which you have manually specified all the MIDI soundfont, program, and chordprog information already in the tunes and do not want them overridden when played from the play link.
Example: To have all tunes played using the FatBoy soundfont and a Harpsichord sound on the melody and a Piano sound on the chords/bass:
%add_all_playback_links 6 0 fatboy
Adding or disabling swing for all Hornpipes in PDF tunebooks with play links:
If you want to add swing to every Hornpipe when generating PDF tunebooks with play links, add the following comment-based annotation anywhere in the tunebook ABC:
%swing_all_hornpipes swing_factor (Optional: Range is -0.9 to 0.9)
If you omit the swing_factor value, it will use the current tool default from the settings dialog.
Tunes that have swing manually disabled using %noswing in their ABC will not have the %swing annotation injected and will play with no swing.
If you want to disable swing on every Hornpipe when generating PDF tunebooks with play links, add the following comment-based annotation anywhere in the tunebook ABC:
%noswing_all_hornpipes
Tunes that have swing manually specified using %swing in their ABC will not have the %noswing annotation injected and will retain their swing setting.
%noswing_all_hornpipes takes precedence over %swing_all_hornpipes.
Adding a thesession.org hyperlink to a specific tune:
To add a hyperlink to a specific tune to the thesession.org search page for the tune title, add the following comment-based annotation anywhere in the ABC for a specific tune:
%add_link_to_thesession
Example:
X:1
T:The Tarbolton
M:4/4
K:Edor
%add_link_to_thesession
Beed e2BA|GBAF GFEF|Dddc d2AG|FAGE FEDF|
Eeed efge|fedf e2BA|GABG FGAF|BGAF GEE2:|
|:gfef gebe|gebe gfec|d2fd Adfd|cdAG FDEF|
GABG FGAF|E2ef gfed|BcdB A2FA|BGAF GEE2:|
Adding thesession.org hyperlinks to every tune in a PDF tunebook:
You may automatically add a hyperlink for every tune to the thesession.org search page for the tune title by adding the following comment-based annotation anywhere in the ABC file:
%add_all_links_to_thesession
Precedence order for hyperlinks:
On a single tune, manually added website hyperlinks take highest priority, then playback hyperlinks, then thesession.org hyperlinks.
Any manually added individual tune hyperlinks take precedence over automatically generated tunebook-wide playback or thesession.org hyperlinks.
For automatically generated tunebook-wide hyperlinks, %add_all_playback_links takes precedence over %add_all_links_to_thesession
Note: Adobe Acrobat has a maximum supported hyperlink URL length of 2076 characters.
During PDF generation, if a playback or other hyperlink is detected that exceeds the maximum Adobe Acrobat supported URL length, you will be presented with an alert at the completion of the PDF generation.
The alert lists the names of the tunes that have the long URLs, along with the URL length for each tune.
These play links will work with the built-in PDF reader on most web browsers and online PDF readers, many non-Adobe desktop and mobile PDF readers, but will not open correctly if the tune title is clicked when the PDF is viewed using Adobe Acrobat.
If Adobe Acrobat is your target PDF reader, your best option is to use the available per-tune %hyperlink directive in these tunes with a shortened play Share URL manually generated using the Sharing dialog:
%hyperlink your_shortened_Share_URL_here
Disabling access to the tune editor from tunes linked from PDF tunebooks.
To disable access to the editor (hides the Zoom arrows in the full screen view) from a tune link created with one of the above directives, add:
%no_edit_allowed
anywhere in the ABC file.
Example: Creating a PDF tunebook with playback links and other advanced features
Here is a good starting template of annotations for creating a tunebook that includes:
Sets the PDF quality to the default (.75 = High quality). This can be reduced to create smaller, but lower quality PDF files.
Sets the spacing between tunes for multiple tunes/page to the default of 20/72". Change this to 0 for minimal space between PDF tunes.
Title page with sub-title
Table of contents linked to each tune
<< Link back on each page to the table of contents
Sorted index linked to each tune
>> Link back on each page to the index
Page headers
Page footers
Playback links on every tune title selecting the Fluid soundfont, Piano sound for the melody, and a Piano sound for the bass/chords
QR code with hyperlink and caption at the end of the tunebook
%pdfquality .75
%pdf_between_tune_space 20
%addtitle Tunebook Title
%addsubtitle Tunebook Subtitle
%addtoc Table of Contents
%addlinkbacktotoc
%addsortedindex Index
%addlinkbacktoindex
%pageheader This is the Page Header
%pagefooter This is the Page Footer
%add_all_playback_links 0 0 fluid
%qrcode https://michaeleskin.com
%caption_for_qrcode Click or Scan to Visit my Home Page
You can instantly inject this useful starter set of PDF annotations at the top of your ABC by clicking the Add PDF Tunebook Annotations button in the Add dialog.
Custom Font Overrides (Top)
As per the ABC 2.1 specification, custom font overrides are possible, giving you maximum control over the appearance of your notation.
Available ABC Inline Font Annotations:
%%titlefont font-style size (used for the first title of the tune)
%%subtitlefont font-style size (used any additional titles for the tune)
%%infofont font-style size (used for rhythm string at the left side of the staff)
%%composerfont font-style size (used for the composer string at the right side of the staff)
%%tempofont font-style size (used for the tempo indication)
%%gchordfont font-style size (used for "G", "Em", etc., style chords symbols)
%%tablabelfont font-style size (used for tablature label)
%%tabnumberfont font-style size (used for tablature numbers)
%%tabgracefont font-style size (used for tablature grace numbers)
%%historyfont font-style size (used for for Z:, H:, and other descriptive metadata tags)
%%textfont font-style size (used for any %%text or %%center text)
%%annotationfont font-style size (used for "^*" and "_*" chord-like tablature annotations)
%%voicefont font-style size (multiple voice staff labels)
%%partsfont font-style size (used for P:)
%%vocalfont font-style size (used for for w:)
%%wordsfont font-style size (used for W:)
Generally, these will use the PostScript font-style naming convention, for example:
Times, Helvetica, Courier, Verdana, Times-Bold, Helvetica-Italic, etc.
The size parameter should be an integer, but is optional.
Place your font override annotations just below the X: and above the T: ABC tune headers.
Inline font annotations will override the default font settings configured in the tool's Settings dialog.
For example:
X: 1
%%titlefont Palatino 30
%%infofont Palatino 18
%%gchordfont Palatino Bold 14
T: The Road to Lisdoonvarna
R: slide
M: 12/8
L: 1/8
K:Edor
D|:"Em"E2B B2A B2c d3|"D"F2A ABA D2E FED|
"Em"E2B B2A B2c d3|"D"cdc B2A "Em"B2E E3:|
|:"Em"e2f gfe "Bm"d2B Bcd|"A"c2A ABc "Bm"d2B B3|
"Em"e2f gfe "Bm"d2B Bcd|"A"cdc B2A "Em"B2E E3:|
Result:

Note: If a font change doesn't appear to happen immediately, force a full refresh by opening the controls, changing the display format, for example from notation to one of the tab options and then back to notation.
That will force a full page refresh and the new fonts will be used.
Web Safe Fonts
The following "web safe" fonts at a minimum should be supported by all browsers:
Helvetica (sans-serif)
Trebuchet MS (sans-serif)
Gill Sans (sans-serif)
Verdana (sans-serif)
Times New Roman (serif)
Georgia (serif)
Palatino (serif)
Baskerville (serif)
Courier (monospace)
Monaco (monospace)
Bradley Hand (cursive)
Font availability varies with browser and platform. Many other fonts may be available on your system.
More information is available here:
Injecting B/C Box, C#/D Box, Anglo Concertina, Fiddle Fingerings, Mountain Dulcimer, or Bamboo Flute Tablature Into the ABC Tunes (Top)
The tablature injection features add additional text into your ABC to create tablature for the selected instrument.
Consider saving or grabbing a Snapshot your work before injecting tab!
Since the tab injectors modify your original ABC, you may want to grab a Snapshot of the entire ABC (simply click Snapshot) before doing the tab injection operation.
If you grab a Snapshot, after the tab injection operation, if there was an issue, you can click Restore to get back your original ABC.
You may inject Box or Anglo Concertina tablature into the ABC using the following buttons in the Advanced Controls dialog:
Inject B/C Box Tab - Injects B/C Box tablature into the ABC.
Inject C#/D Box Tab - Injects C#/D Box tablature into the ABC.
Inject Anglo Concertina Tab - Injects Anglo Concertina tablature into the ABC.
Inject Fiddle Fingerings - Injects Fiddle/Mandolin fingerings (which finger to use for the note) into the ABC.
Note for Mandolin players:
This is distinct from the fret number displayed when showing the Mandolin tablature along with the notation.
The Mandolin tablature shows which fret to use on the Mandolin. This shows which finger to use on the fret.
Inject Dulcimer Tab - Injects Mountain Dulcimer tablature into the ABC.
The tablature generation solution supports both DAD, DGD, or DAA-tuned instruments with a 6-1/2 fret.
Select between "Along High-D String" and "Cross-String" style tablature for the DAD and DGD tunings. (DAA is only available as "Along A String").
You may optionally exclude any tunes from the output that don't have complete tablature solutions.
This can be very useful when converting large numbers of tunes where you only want to end up with tunes that have complete fret tab solutions.
When excluding tunes, a report will be presented after the tab injection with the list of tunes that were excluded from the output.
Editing of the tab is possible after the injection.
When generating the tab, the following ABC text is added just before every note:
"_1;-;3"
The "_ tells the ABC renderer to put the tab under the next note.
The fret numbers (1, -, and 3 in this example) are then entered, separated by ; which causes the ABC renderer to stack the numbers vertically under the note.
Finally, there is a closing " added to complete the tablature entry.
If you want to modify the automatically generated tablature, just change the fret numbers to whatever you like. I use - to indicate an open string
Inject Bamboo Flute Tab - After requesting the bamboo flute key, injects numeric notation tab for the selected key into the ABC.

Clearing the Injected Tablature (Top)
Since the tablature is injected using the ABC chord system, you can easily clear all tab and get back to the original ABC by clicking the Strip Chords + Injected Tab button on the Advanced features dialog.
Configuring Tablature Fonts and Settings (Top)
To configure the tablature fonts and other settings, first click the tool's Settings button, then click Configure Tablature Injection Settings at the bottom of the dialog to bring up the tablature injections settings dialog:

You can also Shift-click the Settings button to go directly to the tablature settings dialog.
Common tablature settings for all instruments:
Font family - Font used for all text injected into the tablature.
Tablature font size - Font size used for the injected tablature text and symbols.
%%staffsep value - Sets spacing between the staves.
%%musicspace value - Sets spacing between the title and the staves.
Common tablature settings for Box and Anglo Concertina:
Character(s) for Push indication - Sets the character used in the Box and Anglo Concertina tablature to indicate a bellows push.
Character(s) for Draw indication - Sets the character used in the Box and Anglo Concertina tablature to indicate a bellows draw.
Note: Setting either value blank restores the original default "↓" for Push and "↑" for Draw character values.
Use a bar over button name to indicate Draw (overrides Push and Draw characters) - If checked, draws a bar over the button name for a bellows Draw and no bar for bellows Push.
If checked, overrides the use of the Push or Draw characters entered above.
Select your preferred tablature position relative to the notation (Above or Below) from the selection menu.
When injecting tablature below the notation, you have the option to strip all existing chords and tablature from the ABC before injecting the new tab.
Injecting tablature above the notation always strips existing chords and tablature from the ABC before injecting the new tab.
Anglo Concertina-specific settings:
Select your instrument style: (Jeffries or Wheatstone) from the Concertina style selection menu.
Select your preferred fingering solution from the Preferred fingerings selection menu:
On-Row:
Jim Van Donsel's original fingering solution, favors center row:
Favors playing D5 and E5 on the right-side C-row.
For Jeffries-style instruments:
Favors right-side top-row 2nd button for C#5 and D#5.
Cross-Row:
A more cross-row friendly fingering solution:
Favors playing the D5 and E5 on the left-side G-row.
Favors playing C5 on the left-side G-row draw.
Favors playing B4 on the right-side C-row draw.
For Jeffries-style instruments:
Favors right-side top-row 2nd button for C#5 and D#5.
Gary Coover style tab (single notes only, overrides button name and direction settings) - Check this box if you want Anglo Concertina tab to be generated using the Gary Coover style standard:
Left Right 1a 2a 3a 4a 5a 1a 2a 3a 4a 5a 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 6 7 8 9 10
Left hand note tab is drawn below the staff.
Right hand note tab is drawn above the staff.
Notes on the push are represented by the button number.
Notes on the draw are represented by the button number with a line above it.
Only single melody lines are supported (no chords possible)
When selecting the Gary Coover style tab, any custom button names or direction settings will be ignored.
Configure Anglo Concertina Tablature Button Names - Brings up a dialog where you can set the names of the buttons used for Anglo Concertina tab generation:

Click Reset to Default to reset the button names to the original tool values (L1, L2, L3, ...).
Values are saved in browser storage and restored the next time the tool is run.
Reading the Box Tablature (Top)
B/C Box - Shows standard notation and tablature for a standard 21-button B/C tuned box.
The button numbers and pitches used for the tablature match those on this chart:

Notes on the C-row are indicated by numbers: 1, 2, 3, ...
Notes on the B-row are indicated by numbers in circles: ①, ②, ③, ...
Push is indicated with a "↓" arrow by default (configurable in the Box and Anglo Concertina Tablature Settings dialog).
Draw is indicated with an "↑" arrow (configurable in the Box and Anglo Concertina Tablature Settings dialog).
C#/D Box - Shows standard notation and tablature for a standard 21-button C#/D tuned box.
The button numbers and pitches used for the tablature match those on this chart:

Notes on the D-row are indicated by numbers: 1, 2, 3,...
Notes on the C#-row are indicated by numbers in circles: ①, ②, ③, ...
Push is indicated with a "↓" arrow (configurable in the Box and Anglo Concertina Tablature Settings Dialog).
Draw is indicated with an "↑" arrow (configurable in the Box and Anglo Concertina Tablature Settings Dialog).
Assumptions about the B/C and C#/D Box tablature solutions:
The tablature solution assumes that the "magic" notes (E and B on a B/C, F# and C# on a C#/D) that are available on both rows, will be played on the C-row on a B/C box and on the D-row on a C#/D box.
Use of the B/C and C#/D Box tablatures on a 23-button instrument:
If you are playing a 23-button instrument, you will need to shift your start position one button higher when playing.
Consider your first button as "button zero".
Tablature Injection Known Issues and Limitations
Fails when converting multi-voice tunes:
For best results, use source ABC tunes that have a single voice. (i.e. no V: tags)
Unpredictable results or a failure to complete the fingering generation may occur with multi-voice ABC files.
(Anglo Concertina-only) Button direction missing for some less-often used accidentals:
After fingering generation, some less-often used accidentals like _E in certain keys may show the correct button, but are missing their direction in the ABC.
If you see missing directions on any notes, review the ABC in the ABC editor and correct the direction manually by copying and pasting either a push "↓" or draw "↑" arrow (or other desired symbol) for the missing direction.
Tunes with key changes mid-tune may not generate correct tablature after the key change:
The tablature solutions only use the original key of the tune.
If the key changes mid-tune, the tablature solution after that point may not be correct.
Tunes with [GBd] style chords in square brackets do not generate the correct tablature:
You'll need to reduce these down to a single note for the tool to work.
Reading the Anglo Concertina Tablature (Top)
Wheatstone Layout

Jeffries Layout

Tablature Button Names

Push is indicated with a "↓" arrow by default (configurable in the Box and Anglo Concertina Tablature Settings dialog).
Draw is indicated with an "↑" arrow by default (configurable in the Box and Anglo Concertina Tablature Settings dialog).
MusicXML Import Settings (Top)

You can also Alt-click the Settings button to go directly to the MusicXML import settings dialog.
Bars-per-line: Sets the number of bars per line. Every line of ABC will have the specified bars (measures). When both Character-per-line and Bars-per-line options are given, Bars-per-line is ignored. Default is: 4
Characters-per-line: Sets the maximum line length for ABC output to CPL characters. An integer number of bars, at least one, is always output. How many bars fit into the maximum line length is calculated from the note line, not from the lyric lines. Line- and page breaks in MusicXML are translated to '$' after the previous barline [or volta number]. Default is: 0
Measure numbers: -1: No measure numbers, 1..n: Number every n-th measure, 0: Number every system. Default is: -1
Include measure numbers at end of staves: If checked, will add the total measure count as an ABC comment at the end of each stave. Default is: Checked
Unfold repeats: Turns off repeat translation and unfolds simple repeats instead. Default is: Unchecked
Credit text filter (level 0-6): Sets the filter level of the credit filter. This filter tries to eliminate redundant T: fields. The level C goes from 0 (default) to 6 (no filtering). A higher level does less filtering. The default filters as much as possible and only includes the xml credit elements if no title of movement-title is found. Level 6 does no filtering and includes all xml credit elements as T: fields. Default is: 0
Denominator unit length for L: tags: Sets the unit length for the ABC output to L:1/value. This overrides the computation of the optimal unit length per voice. Default is: 4
%%MIDI options: 0: No MIDI, 1: Only program, 2: All MIDI. Default is: 1
No score line breaks: Disables translation of xml line breaks. No abc score line breaks ($) will be output. Default is: Checked
No pedal directions: Disables translation of xml pedal elements. Default is: Unchecked
All directions to first voice: Allocates all XML staff directions to the first voice of the staff. Normally a staff direction is allocated to the voice of the next note after the direction (if any). Default is: Unchecked
Translate stem directions: Translates stem directions present in the XML. Default is: Unchecked
Inject Q: tag if not present: If checked, will inject a Q: temp tag if not present in the imported ABC. Default is: Checked
Q: tag value to inject: If Inject Q: tag if not present: is checked, this is the Q: tempo tag value to inject. Default is: 100
Click Reset to Default to reset the MusicXML import settings to their original defaults.
Values are saved in browser storage and restored the next time the tool is run.
Sharing Tunes with Share URLs and QR Codes (Top)
Clicking the Sharing button brings up the ABC Transcription Tools Sharing Controls dialog:

Share URLs and QR Codes are a quick and easy way to share your ABC tunes with friends or to post tunes on social media sites.
Anyone with the Share URL or QR Code can view, edit, save, and share their own copy of the tunes.
Share URLs and QR Codes also include the instrument selected, whether or not to show the top bar and links, display size, line spacing, PDF tunes/page setting, page number position, and page number on first page settings.
For stringed instrument tablatures, the link also includes the capo setting and whether or not to show the tablature name.
Share URL: Copying and pasting this link in a browser address bar will open the ABC Tools website and copy in the tune set ABC and tablature settings.
If the Share URL link is too long to work in most browsers, the Share URL buttons will be disabled and you will see a message suggesting sharing fewer tunes.
Test Share URL - Opens the Share URL in a new browser tab.
Copy Share URL - Copies the Share URL to the system clipboard so you can easily paste it into social media posts, emails, or other tools.
Save Share URL - Saves the Share URL to a text file.
The saved file will be in your browser's Downloads directory.
On iOS the downloaded files will be found in the "Downloads" directory in the iOS "Files" app.
Shorten URL - Shortens the Share URL using TinyURL automatically if possible, or if not, assists with the URL shortening process.
Generate QR Code - Once an Share URL is generated, if it is short enough to fit in a QR code (less than 2600 characters), this button is activated.
The QR Code is a visual representation of an Share URL that you can scan with the Camera app on your iOS or Android device.
Clicking the button will generate a QR code in .PNG format for the Share URL and open it in a new browser tab.
Even if the button is greyed out, Shift-click of the Generate QR Code button will attempt to generate a QR code for whatever text is present in the Share URL box.
This can be useful for generating QR codes from TinyURL shortened Share URL links or for other arbitrary website URLs.
If the arbitrary text in the Share URL box is too long to generate a QR code, the tool will display an alert.
In the newly opened tab, you can click the link below the image to save the QR code to your system.
Add Auto-Play - Adds &play=1 to the URL.
Link will open in the player.
Add Disable Editing - Adds &dx=1 to the URL.
Entering the editor from the full screen view of the tune shown when the share link is visited will be disabled.
Making Shared Tunes Open in the Player (Top)
For single tune sharing, if you want to have the Player open with the tune already loaded when someone clicks the share link or scans the QR code, it is very simple to create a play link.
Click Add Auto-Play to add:
&play=1
to the end of the Share URL before copying it, shortening the URL, or creating a QR code.
Shortening Share URLs (Top)
Automatic URL shortening using TinyURL:
Assisted TinyURL URL shortening if automatic shortening fails:
Share URLs can get pretty long, particularly for large sets of tunes.
A third-party service like TinyURL can be used to shorten Share URLs.
To get a shortened URL for the Share URL, click Shorten URL.
The tool will attempt to call TinyURL directly first to get a shortened Share URL.
If it succeeds, it will copy the shortened Share URL to the system clipboard and also show the result in a dialog.
If it fails (most likely the tool has used up all available free URL shortening sessions for the month), the tool will help you manually get a shortened URL by automatically copying the full Share URL to the system clipboard and then launching TinyURL in another browser tab.
Paste the already copied full Share URL into the TinyURL "Enter long link" box and click Shorten URL.
You may have to agree to the TinyURL terms-of-service before you can shorten the URL.
Copy the shortened URL from TinyURL and paste it into emails or share it on social media.
For example, here is a set of polks from "Sliabh Notes" as a shortened Share URL:
TinyURL also allows you to create and save a simple QR code for the shortened URL.
Shared Tunes Open Full Screen (Top)
Shared tunes, when opened from a Share URL or QR code, are initially displayed with the ABC Editor and controls hidden so you can see the music full-screen.
Click the Maximize/Minimize arrow to show the ABC Editor and controls.
Adding a QR Code to the PDF Export (Top)
To append a QR code representing the Share URL for tune set or a specific URL as a final page on your PDF, add the following comment-based annotation anywhere in the ABC:
%qrcode URL
The URL field is optional.
If a URL is present, it will be used for the creation of the QR code, otherwise the computed Share URL for the PDF tunebook (as would be shown in the sharing controls) will be used by default.
One application for this would be the use of a shortened Share URL from TinyURL for the QR code instead of the longer one generated by the tool itself.
Note that the QR code page itself includes the PDF page header and footer but does not include a page number.
Here is an example of a tune set QR code included in the exported PDF:

Note: If a QR code has been requested, and the Share URL is too long to generate a QR code (more than 2600 characters), you will see an informative message at the end of the PDF export suggesting sharing fewer tunes.
If you are able to generate a QR code in the Sharing Controls, then the Share URL is short enough to embed a QR code in a PDF.
To override the default generated caption that is shown under the QR code added to a PDF file, add the following comment-based annotation anywhere in the ABC:
%caption_for_qrcode YOUR_CAPTION_FOR_THE_QR_CODE_HERE
The QR code image and caption in the PDF file now have clickable hyperlinks to the same URL used to generate the QR code.
Reading the QR Codes (Top)
All devices should easily be able to read the simpler QR codes generated for sets of one to three tunes.
Most iOS devices are able to read even the most complex QR codes generated by this tool using the built-in Camera app.
Some Android devices may have trouble reading the most complex codes with their built-in Camera app.
I suggest trying the free Google Lens app, available on the Google Play Store:
QR Code Example (Top)
Michael Coleman set ("The Tarbolton" - "The Longford Collector" - "The Sailor's Bonnet"):

Try scanning this code with the Camera app on your iOS or Android phone.
I have several example QR codes for tune sets on my Flickr account at:
ABC Tune Set QR Codes on Flickr
Printing Your Tunes Using the Browser's Built-in Print Feature (Top)
Overview of printing from the browser:
You may quickly print your tunes or generate a PDF using your browser's built-in print and export PDF features.
Tunes printed or exported from the browser are limited to one tune per page.
You may choose portrait or landscape orientation from your browser's print settings.
Additional advanced settings such as printing multiple-pages per page and setting custom margins may be available in your browser's print settings dialog.
Experiment with both the browser's print settings page orientation and "multiple page on one page" options to see what is possible.
Note:If you want to print a tunebook automatically formated with multiple tunes per page, you must use the tool's Export PDF feature.
Opting-out of "Expand to Widest" Layout (Top)
The original abcjs version 6.2.2 I used for the early versions of the tool would sometimes leave ragged right edges on staves, particulary for staves with many or changing numbers of measures per staff or on complex tunes brought into the tool through MusicXML import.
As of 20 November 2023, with the release of abcjs version 6.2.3, a significant update to the library, I defaulted to expanding all staves to the widest in the tune, which produces very clean and aligned right staff edges in nearly all cases.
If you wish to opt-out of the "expand to widest" layout for a specific tune, I've added a new first-class (starts with %%) ABC directive that can be put into any tune to force abcjs to use the original abcjs 6.2.2 layout calculation system:
%%noexpandtowidest
Put this anywhere in a tune to use the original staff width calculation and layout solution for that tune.
"Large Print" Edition Tune Notation (Top)
Most of the time, people have asked how to cram as many tunes on a page as possible, but sometimes you want to go the other way, make the notation larger.
Maybe you need reading glasses and are using the sheet music for a gig in low light and want the notation large.
To do this with the new layout system, you'll need to override the expandtowidest feature in abcjs 6.2.3 by adding:
%%noexpandtowidest
to your ABC, and then play around with the values of:
%%leftmargin
%%rightmargin
%%staffwidth
For example:
%%noexpandtowidest
%%leftmargin 0
%%rightmargin 0
%%staffwidth 400
Once you add %%noexpandtowidest, you may in some cases have to adjust your ABC to get a consistent right edge to the staves.
Transposing Notation Independent of Tablature (Top)
For some tablatures like CGDAE where instruments maybe in either standard pitch or one octave lower, if you transpose the notes down an octave to get the tab on the lower strings, but want the notation displayed an octave up, you can add the following voice annotation to the ABC:
% This shifts the displayed notation up one octave but not the playback pitch:
V:1 octave=1
You can also transpose the pitch of the played music independently from the displayed notation:
% This will cause the playback to be shifted down an octave:
V:1 transpose=-12
These can be combined:
% This will cause the notation to be displayed one octave higher, but playback to be shifted down an octave:
V:1 octave=1 transpose=-12
Learning New Tunes Part-by-Part Using ABC (Top)
This video shows the process I used to learn tunes part-by-part using the tool:
Adding a Two-Bar Click Intro to Tunes (Top)
If you want to add a two-bar click intro before a tune, here are ABC pattern templates I find work well for common styles of tunes:
Add this before the start of a reel, before any repeats:
% Reel two-bar click intro
V:1
V:2
%%MIDI program 128
^Cz3 ^Cz3|^Cz3 ^Cz3|
V:1
z8|z8|
Add this before the start of a jig, before any repeats:
% Jig two-bar click intro
V:1
V:2
%%MIDI program 128
^Cz2 ^Cz2|^Cz2 ^Cz2|
V:1
z6|z6|
Add this before the start of a slide, before any repeats:
% Slide two-bar click intro
V:1
V:2
%%MIDI program 128
^Cz2 ^Cz2 ^Cz2 ^Cz2|
V:1
z12|
Add this before the start of a slip jig, before any repeats:
% Slip Jig two-bar click intro
V:1
V:2
%%MIDI program 128
^Cz2 ^Cz2 ^Cz2|^Cz2 ^Cz2 ^Cz2|
V:1
z9|z9|
Add this before the start of a polka, before any repeats:
% Polka two-bar click intro
V:1
V:2
%%MIDI program 128
^Cz ^Cz|^Cz ^Cz|
V:1
z4|z4|
Add this before the start of a waltz, before any repeats:
% Waltz two-bar click intro
V:1
V:2
%%MIDI program 128
^Cz ^Cz ^Cz|^Cz ^Cz ^Cz|
V:1
z6|z6|
A chart showing the complete mapping of MIDI drum sounds to ABC notes is here:
General MIDI Drum Sound ABC Note Map
For example, if you want a higher pitched click, for example for the first beat of the measures, change the:
% Low Bongo
^C
values in the click intro patterns to:
% High Bongo
=C
Demos:
You can add an ABC template containing all of these examples from the Add dialog and then copy and paste them into your tunes.
iPhone/iPad Chord Entry Issue Fix (Top)
If you are trying to enter ABC chords, for example "D" or "Am", on an iPhone or iPad, iOS will, by default stick in "smart quotes" instead of standard double quotes.
To fix this, go into your device's Settings and under the General/Keyboard tab, and turn off "Smart Punctuation".
After you do this, you will be able to add standard double quotes.
Using Interactive PDF Tunebooks with GoodReader (Top)
if you are using GoodReader on iOS as your PDF reader and want to be able to play the tunes in my interactive PDF tunebooks, you'll need to change this one setting, available under the gear menu at the bottom of the app:
Enable Use Safari for Internet links:

ABC Specification (Top)
The full specification for ABC notation can be found at:
The ABC Music Standard 2.1 (Dec 2011)
ABC 2.1 Quick Reference Card (Top)
Handy ABC 2.1 Quick Reference Card put together by Stephen Merrony:
Printing the User Guide (Top)
If you want a PDF copy of the User Guide, open this page in Chrome and then use the browser's own Print-to-PDF feature to generate and save it on your system.
This page contains print-only CSS that will automatically hide items like videos and dividing lines as well as insert page breaks appropriately.
I found that setting the scaling in the Chrome Print to PDF to about 85% was optimal.
Example ABC Tunes (Top)
Click these Share URLs to open the tune ready to play in the ABC Tools:
Jig from the "Pickering Lute Book"
Harp
Flight of the Bumblebee
Acoustic Grand Piano
Star Wars Cantina Theme
SFX Rain Synth and Honky-Tonk Piano
James Bond Theme
Overdrive Guitar and Electric Fingered Bass
Midnight Blue
Acoustic Grand Piano
La Boheme
Tenor Sax and Acoustic Grand Piano
Example ABC Tunebook (Top)
Click the Share URL below to open an ABC tunebook with 9 tunes in the ABC Tools.
The set is ready to export to PDF with a Title Page, Table of Contents, and Index:
Tip Jars (Top)
If you find my ABC Transcription Tools useful,
please consider tossing a few bucks into one of my virtual tip jars:
PayPalhttps://paypal.me/MichaelEskin
Venmo@MichaelEskin
Source Code Available on GitHub (Top)
Full project source code may be found at:
Privacy (Top)
My ABC tools use local browser storage to save the tool's settings, user preferences, and snapshots.
Google Analytics are used in the tool to provide anonymized telemetry on the frequency of the use of specific features.
No personal data is sent with this telemetry, only event category and event name, for example that the import MusicXML or export MIDI features were used.
I use this data to prioritize new features and to better understand how people are using the tool.
Support (Top)
Have an issue with a specific tune, want to report a bug, or suggest a new feature?
Click here for the project support page:
ABC Transcription Tools Support