Michael Eskin Posted September 12 Author Share Posted September 12 Thanks for the report, sounds like no additional action is required at this time. Quote Link to comment Share on other sites More sharing options...
Michael Eskin Posted September 12 Author Share Posted September 12 (edited) You can now 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 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 Note: For all soundfonts, my custom sampled instruments for dulcimer, accordion, flute, and whistle will override the soundfont sounds. Demo video (iPad screen capture with audio) showing all the soundfont options in the context of the two J.S. Bach demos built into the tool: Edited September 12 by Michael Eskin Quote Link to comment Share on other sites More sharing options...
Michael Eskin Posted September 12 Author Share Posted September 12 (edited) All of these are now included in the User Guide: Jig from the Pickering Lute Book Flight of the Bumblebee La Boheme Midnight Blue Star Wars Cantina Theme James Bond Theme http://michaeleskin.com/abctools/userguide.html#example_tunes Edited September 13 by Michael Eskin Quote Link to comment Share on other sites More sharing options...
Michael Eskin Posted September 13 Author Share Posted September 13 OK, things just got very, very weird.... 🙂 Demonstration of scanning two pages of piano score with PlayScore 2 for iOS, exporting the MusicXML file it created, then importing and playing the file using the ABC Transcription Tools. You can also email or AirDrop the MusicXML file from the iPad/iPhone to use the file on a desktop system. PlayScore 2: https://www.playscore.co/ Demo Video (iPad screen capture with sound): ----- Demonstration of scanning a tune from "The Waltz Book 2" with "Sheet Music Scanner" for iOS, exporting the MusicXML file it created, then importing and playing the file using the ABC Transcription Tools. Unlike PlayScore 2, this one doesn't pick up chords and lyrics, but seems to do better on simple scores. You can also email or AirDrop the MusicXML file from the iPad/iPhone to use the file on a desktop system. Sheet Music Scanner: https://sheetmusicscanner.com/ Demo Video (iPad screen capture with sound): Quote Link to comment Share on other sites More sharing options...
Michael Eskin Posted September 14 Author Share Posted September 14 "A Collection of 28 Renaissance Lute Pieces" Interactive PDF Tunebook This is an experiment I did to create an interactive PDF tunebook from MusicXML pieces imported from https://guitarloot.org.uk/ into my ABC Tools and transcoded to ABC format. The pieces are presented as a collection of top line incipits with associated play links. Click the top of any tune to open and play it in the ABC Transcription Tools. I've selected the Orchestral Harp (46) MIDI program from the "FatBoy" soundfont when playing them. I have not played through every tune from start to finish, but they sound good to me in my somewhat limited testing. The interactive PDF tunebook is available for free download at: http://michaeleskin.com/transcriptions/renaissance_lute_pieces_13sep2023.pdf The ABC Transcription Tools can easily do all this with just a few lines of annotations at the top of the ABC file: %pdfquality .75 %pdf_between_tune_space 20 %addtitle A Collection of 28 Renaissance Lute Pieces %addsubtitle Imported from MusicXML at https://guitarloot.org.uk/ %addtoc Table of Contents %addlinkbacktotoc %pageheader Click the top of any tune to play %pagefooter Created with Michael Eskin's ABC Transcription Tools %add_all_playback_links 46 46 %qrcode http://michaeleskin.com/abctools/userguide.html %caption_for_qrcode Click for the ABC Transciption Tools User Guide I exported the PDF file selecting "Note Incipits - Letter" as the output format. Demo Video: In the video I show viewing the PDF tunebook in the "GoodReader" app on my iPad, scrolling through the tunebook and playing various tunes by touching the top of the tune. The tunes launch in Safari on the iPad. On desktop systems, you would typically use Adobe Acrobat Reader and the tunes would launch in your default web browser. Quote Link to comment Share on other sites More sharing options...
Michael Eskin Posted September 14 Author Share Posted September 14 (edited) I discovered that PlayScore 2 is able to interpret music that is in PDF files. This makes it possible to take tunes from any PDF tunebook you already have and make them editable again in my ABC Tools. Here's a quick demo on my iPad. And one more, this one with Emerson, Lake, and Palmer's "Trilogy" from a PDF: Edited September 14 by Michael Eskin Quote Link to comment Share on other sites More sharing options...
Michael Eskin Posted September 14 Author Share Posted September 14 (edited) I have a very exciting announcement about a major new feature for my ABC Transcription Tools! On desktop browsers, you can now assemble tunebooks by dragging and dropping ABC or MusicXML files to the work area. All the tunes in the dropped file get appended to the end of the work area. Only single file drag-and-drop is supported. If you try to drag multiple files in at one time, only the first one in the group will be imported. I think this a "game changer" for the tool. I've also added the ability to add tunes to the existing ones from a new button on the Add dialog. Demo Video: https://youtu.be/y4Vr3nFXmwo Edited September 15 by Michael Eskin Quote Link to comment Share on other sites More sharing options...
Michael Eskin Posted September 15 Author Share Posted September 15 Guitar version of "A Collection of 28 Renaissance Lute Pieces" Interactive PDF Tunebook The PDF is available for free download at: http://michaeleskin.com/transcriptions/renaissance_lute_pieces_guitar_14sep2023.pdf This is the same interactive PDF tunebook as in the earlier video, but with the harp sound replaced with a guitar sound more similar to the lute sound the music was original written for. This is an experiment I did to create an interactive PDF tunebook from MusicXML pieces imported from https://guitarloot.org.uk/ into my ABC Tools and transcoded to ABC format. The pieces are presented as a collection of top line incipits with associated play links. Click the top of any tune to open and play it in the ABC Transcription Tools. I've selected the Nylon Acoustic Guitar (24) MIDI program from the "FatBoy" soundfont when playing them. In the video I show viewing the PDF tunebook in the "GoodReader" app on my iPad, scrolling through the tunebook and playing various tunes by touching the top of the tune. The tunes launch in Safari on the iPad. On desktop systems, you would typically use Adobe Acrobat Reader and the tunes would launch in your default web browser. Demo video: https://youtu.be/0Uf32v48sLk Quote Link to comment Share on other sites More sharing options...
Michael Eskin Posted September 15 Author Share Posted September 15 It dawned on me this afternoon that most modern iOS apps (including my own "Celtic Sounds" app) can be downloaded from the App Store and run on M1 and M2 silicon Macs. So I downloaded PlayScore 2 from the App Store on my Mac. You need to download the iOS version, you won't find a Mac-specific version. It even carried forward my monthly subscription to PlayScore 2 at the Pro level (about $6/month), and I can use the same app subscription for all devices on my Apple ID account. Same Emerson, Lake, and Palmer "Trilogy" demo as I did on the iPad, but this time on my Mac. After PlayScore 2 generates the MusicXML, I then drag and drop it (new feature!) to my ABC Transcription Tools, then play it. Works and sounds exactly the same as it did on the iPad, but now I can do this on my Mac desktop. https://youtu.be/py_YvmG58iE This is amazing. Quote Link to comment Share on other sites More sharing options...
lachenal74693 Posted September 15 Share Posted September 15 (edited) 1 hour ago, Michael Eskin said: It dawned on me this afternoon that most modern iOS apps (including my own "Celtic Sounds" app) can be downloaded from the App Store and run on M1 and M2 silicon Macs. So I downloaded PlayScore 2 from the App Store on my Mac. etc... PlayScore also seems to be available for Windows. Does this mean I could do the same thing on my Windows machines? Sorry if this is a dumb question, but I'm trying to get my head around this. I've seen discussions of scanning sheet music (elsewhere) which seem to regard the job as 'pretty difficult', so this looks like a pretty slick trick... Edited September 15 by lachenal74693 Quote Link to comment Share on other sites More sharing options...
Michael Eskin Posted September 15 Author Share Posted September 15 16 hours ago, lachenal74693 said: PlayScore also seems to be available for Windows. Does this mean I could do the same thing on my Windows machines? Sorry if this is a dumb question, but I'm trying to get my head around this. I've seen discussions of scanning sheet music (elsewhere) which seem to regard the job as 'pretty difficult', so this looks like a pretty slick trick... I would think so! Quote Link to comment Share on other sites More sharing options...
Michael Eskin Posted September 15 Author Share Posted September 15 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. 1 Quote Link to comment Share on other sites More sharing options...
Michael Eskin Posted September 17 Author Share Posted September 17 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 Quote Link to comment Share on other sites More sharing options...
Michael Eskin Posted Monday at 08:13 PM Author Share Posted Monday at 08:13 PM 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. Quote Link to comment Share on other sites More sharing options...
Michael Eskin Posted Tuesday at 05:59 PM Author Share Posted Tuesday at 05:59 PM (edited) 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. Edited Tuesday at 10:16 PM by Michael Eskin 1 Quote Link to comment Share on other sites More sharing options...
Michael Eskin Posted Wednesday at 06:48 PM Author Share Posted Wednesday at 06:48 PM (edited) 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. Edited Wednesday at 07:01 PM by Michael Eskin Quote Link to comment Share on other sites More sharing options...
Michael Eskin Posted Wednesday at 08:42 PM Author Share Posted Wednesday at 08:42 PM 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 Quote Link to comment Share on other sites More sharing options...
Michael Eskin Posted Thursday at 06:43 PM Author Share Posted Thursday at 06:43 PM (edited) 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 Edited Thursday at 06:50 PM by Michael Eskin Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.