Jump to content

ABC Transcription Tools


Michael Eskin

Recommended Posts

Thanks Michael for sharing so much news about your amazing efforts. And play a few tunes when life allows!

 

Ken (who made it to the Long Beach session to meet you once or twice over the years)

Link to comment
Share on other sites

Yes, besides blabbering on endlessly about ABC software, I actually do play Anglo concertina. 🙂

I started playing the instrument in 2005 and consider it one I feel quite proficient on in traditional Irish music sessions.

Edited by Michael Eskin
Link to comment
Share on other sites

You can now switch the note name tablature to show either standard ABC  second octave d e f style ABC or Comhaltas D' E' F' style.  

 

Independently, there is a new feature in the Advanced dialog to  transform all the ABC in the editor to the Comhaltas preferred format.  

 

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.

 

Demo video:

 

Thank you to Cathal Brady for suggesting this feature, I hope it's useful to those of you who use this ABC style.

 

Link to comment
Share on other sites

You can now add common PDF tunebook features like Title page, Table of Contents, Index, play links, etc., from a new "Configure PDF  Tunebook Features" subdialog available on the "Export PDF" dialog:
 


Details in the User Guide:


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

Edited by Michael Eskin
Link to comment
Share on other sites

On the desktop version of Chrome, you now have the option of typing your ABC using a USB or Bluetooth MIDI keyboard.

This feature is only available on the desktop version of Chrome, other browsers do not support MIDI input.
 

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.


To enter a space between entered MIDI notes, use the space bar on your computer keyboard.


This feature has been tested with both USB and Bluetooth MIDI keyboards on a Mac running Chrome.


Wind controllers often generate momentary additional notes when switching octaves and are not recommended for ABC entry.


Demo video:

 

 

Edited by Michael Eskin
Link to comment
Share on other sites

I've now removed any platform restrictions on the MIDI input feature in the ABC Tools.
 
If the browser, either desktop or mobile, advertises that it supports Web MIDI, I now offer the option (turned off by default) in the tool's Settings dialog.
 
I've tested it both on Chrome and Firefox on my Mac. It may work other browsers as well, possibly even mobile.
 
On Firefox specifically, the first time you use the feature, it will ask permission to allow your browser to access MIDI devices. Once you grant permission, I found that you have to restart Firefox one time to get the MIDI data flowing. Safari on Mac does not support Web MIDI.
 
If MIDI is supported, but the MIDI startup fails, the tool will put up a dialog and then turn off the option in the settings.
 
I've specifically been asked about mobile browser support.

iOS doesn't support Web MIDI natively in Safari, but there is a "Web MIDI Browser" app available that does. Unfortunately, the tool has limited functionality running in it, for example, you can't generate PDFs with it:


https://apps.apple.com/us/app/web-midi-browser/id953846217

MIDI input may work on Chrome on Android, but I have no way to verify that it does. If it does not, I really have no way to fix it other than specifically disallowing that case. Hopefully it does.

Full details on the MIDI input feature in the User Guide:

https://michaeleskin.com/abctools/userguide.html#midi_input
Edited by Michael Eskin
Link to comment
Share on other sites

I've added an new tablature option to generate Gary Coover-esque style Anglo Concertina tablature for C/G instruments in both Jeffries and Wheatstone styles to my ABC Transcription Tools.  


As is the case with the other tablature options in my ABC tools, the tablature is limited to single melody lines. Chords are not supported.

Here are a few examples:
 

https://michaeleskin.com/transcriptions/gary_coover_examples_22oct2023.pdf

 


More information here:  
 

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



 

Edited by Michael Eskin
Link to comment
Share on other sites

Finally, my ABC Transcription Tools can now detect and add swing to Hornpipes when playing tunes!
 

It does by detecting the occurrence of an


R:Hornpipe


in the ABC header for the tune.


All Hornpipes in any existing tunebooks, include my ("CCE Dublin 2001 Tunebook" and "50 Traditional Irish Session Tunes" tune book) that are marked with an R:Hornpipe in the ABC will just auto-magically start sounding nicer when played.


The amount of swing is controllable by a new setting in the Settings dialog. I've picked a value I like, but you can change it to whatever you'd prefer.  


The setting is turned on by default.


If you don't want auto-swing, you can disable it in the Settings dialog.


The settings are saved and restored the next time you use the tool.


You can also manually add playback swing to any 4/4 meter tune by adding a new:


%swing swing_factor


comment-based directive to any tune.


There are many more options for controlling the swing, full details in the User Guide:


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


Demo video:

 

Link to comment
Share on other sites

  • Michael Eskin changed the title to My ABC Transcription Tools

For you "straight" Hornpipe fans, so you don't have to manually insert %noswing in every tune, when generating PDF tunebooks with play links, I've added a couple of new ABC directives that will allow you can automatically override the tool settings default swing for all Hornpipes or disable swing for them entirely:
 

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.

Edited by Michael Eskin
Link to comment
Share on other sites

  • Michael Eskin changed the title to ABC Transcription Tools

I've expanded the %swing feature to now work with many more styles of tunes including Reels, Hornpipes, Jigs, Slip Jigs, Slides, Polkas, and Barndances.
 

Demo video showing no swing vs. swing in a wide variety of tunes:
 


Full Details in the User Guide:


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


For jig/slip jigs/slides with pickup notes, you'll need to add an additional parameter to the %swing directive to offset the swing generation (which is based on absolute note time offsets from the start of the tune) by the number of pickup eighth notes. Details in the User Guide and demonstrated in the video.

Link to comment
Share on other sites

I've added a new feature available on the "Advanced" dialog to make it easy and quick to dial-in the swing settings for your tunes:

 

"Swing Explorer" - Brings up a player dialog 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 meter tunes to align the swing with the tune) and click "Test Swing".

 

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 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 the "Close" button.

 
Demo video:
 

 

Edited by Michael Eskin
Link to comment
Share on other sites

It's now easy and fun to find the right instruments for your tune's melody and bass/chord instruments using the new "MIDI Instrument Explorer", available in the "Advanced" features dialog:
 

From the User Guide:


"MIDI Instrument Explorer"  


Brings up a player dialog 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 the "Close" button.


Note: This feature is primarily for use with single-voice tunes. Unpredictable results may occur with multi-voice tunes.

 

Demo video:

 

 

Edited by Michael Eskin
Link to comment
Share on other sites

Pushed a new version an fundamentally different system for playing {*} style ABC ornamentation that should be a huge improvement over the default. Hopefully doesn't break anything else.
 

Demo video of new abcjs ornamentation timing solution:
 

 

Edited by Michael Eskin
Link to comment
Share on other sites

Setting Grace Note Duration for Ornamentation:


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 30 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 100, default is 30.


For example to set the grace note duration to 50 milliseconds add the following anywhere in the tune's ABC:


%grace_duration_ms 50

Some demos of where the new %grace_duration_ms annotation really can make a difference in the overall feel of a tune depending on the instrument being used for playback, includes a couple of demos with my custom concertina sounds:
 

 

 

Ideally, for traditional Irish music it would be better if the grace notes would steal time from the note before the beat, but that's not how abcjs does it's high-level grace note aggregation and adjacent note association, so this is the best I can provide for now. I think it sounds quite nice on most tunes played with my concertina sounds with an override of the 30ms default to 40ms using a %grace_duration_ms 40 directive.


Note: The grace note duration feature is a experimental "work-in-progress" feature and can produces graces that aren't exactly the number of milliseconds specified depending on the meter and tempo of the tune.
 

Rather than using a fixed value for all tunes, I suggest just changing the %grace_duration_ms value until the tune sounds the way you want when played.
 

In keeping with my "Do no harm" manifesto: 🙂

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.

 

Edited by Michael Eskin
Link to comment
Share on other sites

Finally my %grace_duration_ms solution is correct, generating graces of the specified milliseconds in all cases, as far as I can tell.  
 

I ran 100+ test cases with the new solution, brought the results into Adobe Audition and measured the grace timings and they now always match the specified value independent of the tune meter or tempo.  This is exactly the behavior I intended.


Also, I changed the default from "30" which turns out, as I expected, in the previous version wasn't generating 30ms graces at all to 45 ms.


That is what was actually being generated the previous first attempt at an improved grace playback solution and sounds nice across a wide range of tunes.  


Tested the new default value with several of my tunebooks that have tunes with graces in them as well as other transcriptions and all's sounding good.  


As before, please let me know if you find any issues, but so far it's looking very good.


Here's "Lark in the Morning" on harp with the new default grace timing:


https://michaeleskin.com/abctools/abctools.html?lzw=BoLgBAjAUAKuMAsCmYAyBDATgazASQDsxEUBZAe0wIEsCBzKAJXACtqGBhcAKXalPAA2APQAOKKnAQxUANLgAIgFt0LKAEVwAZjEBeCAAYArFACk6AEYBjFgGcA+rfIBXAgBMAZuQIAXMB-QfC3IATzNTUjwFPDAAB0xyOkx0JTAAFkEoAB8QAEEAMVywAG8rAF8C3KyAIQBxarBqt2qsyrBctyQs4vQyjyQ3RuasqDbSisLu8rqGppbOjzB0fqyPZpLp3OqQEZyFpYCsi2WDrv3lrrWG8eqtkfPD48X0YQthZay6d+E6FA9vtZZAbXTbbXYgfY9PpIDzdXr9RZQhFZSHwmHdGFlYEbMq3FpQVHQ2FImFgBafb6-fwAtxA9Y3LY7bJ5NyDNa0gYoJHDDps1lwrH0zb5Ea8-z8znUl6Ar4vKn-aUcoW4xkjIA&format=noten&ssp=10&pdf=multi&pn=br&fp=yes&name=lark_in_the_morning_harp&play=1

 

Link to comment
Share on other sites

Create an account or sign in to comment

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

Create an account

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

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...