Jump to content

Michael Eskin

  • Posts

  • Joined

  • Last visited

Contact Methods

  • Website URL

Profile Information

  • Gender
  • Interests
    Traditional Irish Music
    Anglo Concertina
    Uilleann Pipes
  • Location
    San Diego, CA

Recent Profile Visitors

2,409 profile views

Michael Eskin's Achievements

Heavyweight Boxer

Heavyweight Boxer (5/6)

  1. I've put together interactive PDF versions of the CCE 2001 Tunebook (116 popular tunes), including standard notation, note incipits, tin whistle tab, mandolin tab, Jeffries and Wheatstone Anglo concertina tab, as well as B/C and C#/D box tab. All have fully hyperlinked table of contents and index pages, and you can click on any tune title to play it in my ABC Tools. Find them here: http://michaeleskin.com/tunebooks.html#cce_tunebook I have a lot of other tunebooks I've created on that page, please feel free to download them all!
  2. Did some refactoring of the tool day and added a major new feature: Snapshot/Restore Snapshot: These can be used before a destructive operation to stash away a copy of the ABC, which can then be instantly restored if desired. Since the snapshot is stored in browser local storage, if you snapshot your work before leaving the tool, it will be available for you to instantly restore from the "Add" dialog or main toolbar the next time you run the tool. From the User Guide: Snapshot - Saves a snapshot of the contents of the ABC editor to browser storage. If you save a snapshot and leave the tool, the next time you run the tool the snapshot will be available to restore by either clicking the Restore button on the main toolbar or the Restore from Snapshot button in the Add dialog. Restore - If one is available, replaces the current contents of the ABC editor with the last saved snapshot from browser storage. Since it completely replaces the contents of the ABC editor, you will be asked to confirm the operation. Additionally, you can also restore from a snapshot on the "Add" dialog: Restore from Snapshot - This button appears if there is a saved Snapshot available in browser storage. When clicked, restores the last saved Snapshot, replacing the contents of the ABC editor. Since it completely replaces the contents of the ABC editor, you will be asked to confirm the operation. I've moved the "Sort ABC" feature to the "Advanced" dialog. Demo video of the new "Snapshot" feature:
  3. Some exciting news! I was able to leverage my recent work supporting custom backup rhythms and ABC metronome injection to now provide a proper meter-adaptive metronome available in the Player. There's a new "Enable Metronome" button available in the player. Clicking "Enable Metronome" generates a temporary version of the tune with an injected metronome and plays it. It does not modify your original ABC in any way. Once playing the metronome version, click "Disable Metronome" to immediately go back to the original version. The metronome system supports most common rhythms, but will let you know if it is unable to provide a metronome for the tune's meter. Also, the metronome's style will be based on the first M: tag meter found in the tune, so it doesn't support tunes that change meters mid-tune. If you want to inject the metronome into one or all of the tunes in the ABC text area, the "Inject Metronome" command is still available in the "Advanced Tools" dialog. FYI, "under-the-hood" the metronome system uses the ABC chord system in abcjs which I've augmented with custom rhythms and percussion instrument selection. As a result, when playing a tune with chords, the chords will be stripped when playing the metronome version. The original ABC is not changed, this is just a temporary copy used by the player while playing the metronome version. Also, if you export a tune to .MP3 or .WAV from the player while the metronome is enabled, the resulting audio file will have the metronome sound. Demo video of all of this: https://youtu.be/2RQXPjGIcl8 I hope it's useful to some of you!
  4. Added the option to add the metronome to all the tunes in the ABC editor. Also, metronomes are now self-documenting: X: 1 T: The Kesh R: Jig M: 6/8 L: 1/8 K: Gmaj % % Metronome sound and volumes % %%MIDI chordprog 115 %%MIDI bassvol 64 %%MIDI chordvol 64 % % Metronome rhythm pattern % c = High Click, B = Low Click, x = Silence % %abcjs_boomchick 6/8 cxxcxx % % To disable the metronome, delete the "E" chord that starts it: % |:"E"GAG GAB|ABA ABd|edd gdd|edB dBA| GAG GAB|ABA ABd|edd gdB|AGF G3:| |:BAB dBd|ege dBA|BAB dBG|ABA AGA| BAB dBd|ege dBd|gfg aga|bgf g3:|
  5. The ABC Tools can now automatically add a metronome to your tunes for practice. There is now a new command on the Advanced Controls dialog: "Inject Metronome". The tool determines the meter of the tune and injects an appropriate metronome style. It is aware of most common meters, including less commonly used ones like 5/4, 5/8, 7/8, and 10/8. If you give it a meter it can't handle, it will tell you. As it uses the ABC bass/chord backup system to do it's job, it is best used on tunes without chords. The metronome injector will strip any existing chords and MIDI chord related ABC from the tune before injecting the metronome. This is explained on the metronome injector dialog. Here's a demo video of the metronome injection feature on several common styles of traditional Irish tunes: https://youtu.be/o43deg56Jfs
  6. If you'd like to add a metronome to your tunes for practice, it's really simple. I recently added the ability to do custom rhythm patterns to my ABC tool: http://michaeleskin.com/abctools/userguide.html#custom_backup_rhythms With this, and the appropriate choice of a backup instrument you can easily add a metronome to a tune, assuming the tune doesn't already have chords. For example: X: 1 T: Cooley's R: Reel M: 4/4 L: 1/8 K: Edor % % 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|] Here's a share link with it live: https://tinyurl.com/46zxxvay Similar example with a jig: https://tinyurl.com/yck7suum
  7. Here are all of my ragtime ABC examples: "Ragtime Nightingale"- Joseph Lamb https://tinyurl.com/ymwb7h6c Demo video how it was generated: https://youtu.be/CpTrfw3PRUk "The Entertainer" - Scott Joplin https://tinyurl.com/29hr79m9 "Peacherine Rag" - Scott Joplin https://tinyurl.com/mrxu47vh "The Chrysanthemum" - Scott Joplin https://tinyurl.com/5n8hw8cu "Solace" - Scott Joplin https://tinyurl.com/52p7bd2y
  8. You may now 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. Here are a couple of demos showing the new directive being used for 7/8, 5/4, and 5/8 rhythm patterns: 7/8: https://tinyurl.com/y3xepvfr 5/4 and 5/8: https://tinyurl.com/35xfk7sr It just bugged me that there was no way to support both Bccbcbc and Bcbcbcc (or whatever) for 7/8 and other meters where there are several common and equally valid pulse groupings. This at least provides some improvement for those cases. It's semi-hackish and definitely not perfect, but gives more flexibility than the default abcjs backup implementation for many meters. Probably could use a bit more work, particularly where there are multiple chord changes in a measure, but it's good for a lot of use cases.
  9. Here's the tune in ABC format played by my ABC Transcription Tools with my sampled Concertina sounds: If you'd like to try it for yourself in my ABC Tools, here's a link to the tune loaded and ready to play in the tool: https://tinyurl.com/273hyrh9 If you want a copy of the ABC, it will be in the editor (close the player, close the full screen view). You can even export your own PDF of it. Once in the editor, just click "Export PDF".
  10. I've done some reworking of the backup generation so that it handles bass and chords around pickup notes and partial measures, or example in the first ending of a tune where there is a pickup at the start of the tune. By default abcjs would just play repeated chord notes on every beat for the entire partial measure, which to me, particularly in traditional Irish music, and especially jigs, sounded very hackney. Now, it's much more adaptive, using the rhythm pattern for partial measures if there are sufficient notes for it to make sense to do so, or doing just chords, or leaving both the bass and chords out, if it makes sense. I think the new version is much nicer sounding in these cases, hope you enjoy it. Here's an example of a jig with pickups and partial measures: https://tinyurl.com/4s65bfsc I've sent the source changes to Paul Rosen to consider merging into abcjs. Also added a few additional meter backing pattern options: 2/8, 3/8, 5/4, 7/4, 10/4, 7/8, and 10/8 2/8 and 3/8 are for those who want to create their own subdivided 7/8 or x/8 patterns with different pulses from the defaults.
  11. Reworked the MIDI program, MIDI chordprog, %%staffwidth, and %abcjs_soundfont injection dialogs so you can now either inject a single string at the cursor insertion point, or the entire set of tunes. I found this particularly useful when injecting %%MIDI program values in the multi-voice demos I've been posting recently. Also, the main Settings as well as the inject MIDI program and chordprog dialogs now show drop-downs menus with all the MIDI program names. You no longer have to remember the mapping of instrument to MIDI program number when selecting instruments in any dialogs in the tool where you used to have to type a General MIDI program number. Additionally, these instrument drop-down menus include the "Mute" instrument at the top as well as all my custom AppCordions instruments at the bottom.
  12. iPhone demo showing converting a PDF of the notation for The Doors "Riders on the Storm" to MusicXML using PlayScore2, then importing and playing the MusicXML file with my ABC Transcription Tools. https://youtu.be/7gQfQVnBLsg Try it yourself: https://tinyurl.com/2h454m48
  13. The way I've heard it is that the first and second fingers are the strongest, so they get prioritized for use. Not sure if it increases opportunities for ornamentation, but most of his ornamentation patterns do use primarily the first two fingers.
  14. Now, if you just want to mute the melody or the bass/chords, instead of remembering to use program #136 you can just use: %%MIDI program mute and %%MIDI chordprog mute This also works for the Default melody and bass/chord program setup in the Settings dialog. I've customized the abcjs MIDI parser, so it just detects this case handles it all nice and quietly behind the scenes, nothing to see here. 🙂 To be a better General MIDI citizen, I also changed the way I handle MIDI export for tunes that have any of my custom MIDI programs (129-136, including muting). Here's the new info from the User Guide: 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.
  • Create New...