Git Product home page Git Product logo

abctools's Introduction

abctools

This ABC tunes-to-notation converter was developed by Michael Eskin.

This converter can generate standard music notation from ABC and MusicXML files, show note names along with notation, and also create tablature for Mandolin, GDAD Bouzouki, CGDAE Mandolin, Standard Guitar, DADGAD Guitar, Ukulele or Tin Whistle.

It can also transpose ABC up or down in semitone increments.

It can generate PDF tunebooks in tune-per-page, multiple-tunes-per-page, or tune incipits formats.

It can play ABC files with melody and chords, and supports custom MIDI instruments.

Try it out here:

https://michaeleskin.com/abc

User guide:

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

Demo video:

https://www.youtube.com/watch?v=eVOLh2Z-GDU

You can also use Share URLs or QR codes to open the tool with tune sets pre-loaded.

The full ABC for the tunes and tab settings are encoded in URL parameters on the share links.

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:

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:

"Sliabh Notes" Polkas Tunebook


Sample Tune Set QR Codes

I have an album of tune set Share URL QR codes up at ABC Tune Set QR Codes that you can try scanning with your phone.


Open Source Info:

The converter uses open source Javascript libraries and forks of other projects:

Jens Wollschlager's abc transposer I started in January 2023 with a fork of Jens Wollschlager's transposer tool.

abcjs by Paul Rosen and Gregory Dyke to convert abc to sheet music.

html-to-image is used to prepare the html sheet music for PDF conversion.

jsPDF is used to actually create the PDF.

Tin Whistle Fingering Font by Paul Merke is used to generate the whistle tabs.

qrcode.js is used to generate the QR codes.

lz-string.js is used to for LZW compression of the tunes for share links.

xml2abc.js is used to for converting MusicXML format to ABC.

jszip.js is used to unzip compressed .mxl files.

lame.js is used to for converting .wav format to .mp3.

umute.js is used to for fixing the iOS tab switch audio mute issue.

Ui icons created by Karacis - Flaticon.

Options icon by Marie Van den Broeck from Noun Project (CC BY 3.0)

This product includes DayPilot Modal for modal dialog replacements.

Anglo Concertina fingering solution and ABC parsing methods used by the tab injectors originally developed by Jim Van Donsel.

FolkFriend.app Tune Collection by Tom Wyllie, used for the search engine, released under GPL3 licensing.

Without these free open-source resources this project would not have been possible.


Project Contributors:

Thank you to Philip McGarvey for the share link export feature addition!

Thank you to Gavin Heneghan for allowing me to use his 20,000+ tune database for the tune search page.


abctools's People

Contributors

seisiuneer avatar matteobrusa avatar gubbledenut avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.