EasyABC version 1.3.5
an open source ABC editor for Windows, OSX and Linux. It is published under the GNU Public License.

Features:
Download
Windows (11 MB)
Mac OSX (24 MB)
Download source code

Previous version (1.3.4):
win, osx, source code
(if you copy and adjust the URL you can also download even earlier versions)

Release notes

This release features minor improvements here and there, primarily in the form of improved and more robust ABC typing assistance and updated versions of third-party software that EasyABC uses (eg, xml2abc, abc2xml, abc2abc).

There is a new feature that makes it unnecessary to use the Shift key in many cases. If you activate the new "Automatic uppercase/lowercase" mode and type "edc" and then a "bag" EasyABC will automatically convert it to upper-case and you'll get "edcBAG" without having to worry about using the Shift key yourself.

There is also an experimental do-re-mi input which can be combined with the mode above. Please note that at the moment there is only support for Movable Do.

Thanks to Villem Vree for his improvements to abc2xml and xml2abc.

See the change log for a complete list of all changes.

Introduction

The main window is divided into three resizable parts: a list of tunes, a musical score pane and the ABC code editor:

EasyABC screenshot

To get started add the following ABC code by copying and pasting it into the ABC Code editor:

X: 1
T: My tune
K: C
CDEF | G2

You should see the musical score at the top and an item called "My tune" in the your tune list. When there are multiple tunes you can navigate to one by selecting it in this list. Single-click on a tune in the tune list to view it. Double-click on a tune in order to play it (or alternatively use the play button in the toolbar).

Entering and editing ABC code

A bar line in ABC is represented by the character |. Since many people may not be used to this character EasyABC provides an alternative way to enter it: simply hit the tab key.

If you have a file with multiple tunes the score display will automatically be updated and scrolled into position when you place the text cursor on a new line in the ABC editor. If you place the text cursor somewhere by clicking the mouse the closest note in the score will be highlighted (colored red). For performance reasons this does not happen when you move the text cursor using the arrow keys, but you can at any time press [Ctrl]+L (think of Locate to remember it) in order to highlight the closest note manually. This is useful if you want to ensure that cursor is placed at the intended position in the music.

Typing assistance

In the ABC Typing Assistance submenu in the Settings menu you can activate different types of automatic corrections provided in order to make it easier to type in ABC code. Here is a description of what they do when activated:

Editing keyboard shortcuts

When you have selected two or more notes (either in the ABC editor or in the Music score pane) you can use the following keyboard shortcuts:

The broken rythm shortcut works on pairs of notes. If you select "AB CD" and press ">" it will be transformed into "A>B C>D". Please note that functions described above may not work very well with chords yet.

Aligning bars

In order to align the bars (i.e. make all | characters line up) on all lines of the current tune select "Align bars" from the Edit menu. To align only certain lines select a subset of your ABC code lines before you choose "Align bars". If you don't like the alignment you can undo the change.

Transpose

In the Edit menu you find options for transposing the current tune up and down or for changing the note lengths and adjust the L: field. These functions use the abc2abc program to do the conversion.

Incipits

In the Tools menu there is an option to Generate incipits file.... This lets you produce an ABC file with an overview of how each tune starts. In case you don't have a need for customizing the incipits file you can select View incipits in the same menu, which will present you with the final PDF file using the default template.

Sorting and renumbering

There are also options in the Tools menu with which you can sort the tunes in an ABC file and renumber the X: fields. The sort key may consist of multiple fields, eg. "T,M" will use the title as the primary sort key and the metre as the secondary one.

Unicode support

ABC files are by default encoded using latin-1. If you want to use characters beyond that character set (eg. chinese or japanese ones) you can add a line saying %%abc-charset utf-8 at the top of your ABC file. EasyABC will automatically detect this upon loading and saving the file and will use utf-8 encoding instead.

Font

In order to change the font size in the ABC editor pane you can press [Ctrl] and + together to zoom in and [Ctrl] and - together to zoom out. Alternatively you can select "Change font" from the View menu which lets you specify both the face and size of the font.

Musical score

Selecting notes

You can select a note or rest in the ABC code by clicking on its graphical representation (show me how). This makes it easy to navigate the ABC code since you get a link between the textual and graphical representation. You can select a range of notes by drawing a rectangle around them. Deselect all notes by clicking on any empty white part of the note image.

When you click on an empty white part of the note image the text cursor in the ABC editor is moved to the closest note. This is handy if you for example want to add harmonies to a tune: just click at the point where you want to insert the chord and type something like "Cm" and repeat the procedure until you are done.

Inserting musical symbols

If you want to insert a musical symbol, then select the note that you want to associate it with by clicking on it in the music pane and then select the symbol from one of the drop-down menus in the toolbar.

Zoom

There is a slider in the toolbar with which you can control the size of the score on screen. If you have a very wide screen you may wish to rearrange the layout of the panes (see below) in order to better use the space on your screen.

Tunes that span multiple pages

Tunes that don't fit on a page are split into multiple pages. When this happens a drop-down menu with which you can select the active page appears in the toolbar. Please note that although EasyABC will autoscroll the score image as you move through the ABC code it will at the moment not switch page automatically.

Longer tunes and performance

In case you are editing a very long piece of music then updating the musical score may slow things down. If this becomes problematic you can turn off the automatic score update in the Settings menu and manually hit the F5 key whenever you want to refresh instead.

Other functions

Play

To play your tune, press the play button in the toolbar (or hit the F6 key - if you are a mac user then use Shift+F6). While the tune is being played two extra sliders representing tempo adjustment and playback position are displayed in the toolbar. Use the tempo adjustment slider to speed up or slow down the playback speed. Use the playback position to move for example from the start to the middle of the song. If you want to restore the tempo adjustment to its default value simply hold the Ctrl button pressed and click on the slider. If you want the playback to loop you can double-click on the Play button.

In case you want to audition the tune without hearing any repeats you can hold the Ctrl key pressed when clicking the play button.

Search

Find & Replace functions can be found in the Edit menu.

If your search string begins with a colon EasyABC will enter a special search mode where it tries to match note intervals irrespectively of the key of the tune, whether you have used grace notes, different L: fields, broken rythms or note decorations and slurs. For example, a search string of ":gecc eceg" would let you find something like "d2>B2 G2G2 (BG)Bd". Please note that the intervals between subsequent notes are the same in both cases.

The search function will not work on chords.

Import/export

In order to add an abc, xml, nwc or midi file to the current tune collection, simply drag and drop the file onto the EasyABC window *. There are options in the File menu for exporting either just the current tune or the entire file to midi, pdf, svg or html format.

I also added some post-processing that's specific to .nwc files: text annotations in files produced with the Boxmarks font will be properly translated into note decorations like up-down, down-bow, trill, etc. In songs with two voices where there are repeats with alternative endings, EasyABC copies the bar symbols from the first voice to the second voice. This ensures that midi generated for the tune is correct.

[*] if you are using Windows Vista or newer then drag and drop functionality may not work when you let the installer start EasyABC for the first time. If you experience this problem, close the program and open it again from the Start menu.

Printing

You can print a tune by selecting File->Print. However, on Windows the quality is not very high due to a bug in the UI library used, which forced me to print the score as a bitmap (updated to add: now the same thing unfortunately applies to Mac too). For high-quality print-outs you can export your file to PDF format first and print the PDF file. On Mac, if you are working with files containing foreign letters (like for example chinese) it may be easier to print directly from EasyABC or export to HTML/SVG rather than PDF since it's more difficult to get the fonts right with the PDF route.

Rearranging the user-interface

You can move each one of the three panes around if you click on its title ("Tune list", "ABC code" or "Musical score") and drag it somewhere else with the mouse. As you drag you will see a visual indication of where the pane will end up. You can also use the small buttons to the right of the caption of each pane to minimize/maximize/restore. In case you make some mistake and want to restore the default layout there is an option in the View menu that lets you do that easily.

Using EasyABC in Linux

In order to use EasyABC under Linux you need wxPython, abcm2ps and abcMIDI. Read more.


If you have comments, questions or want to report a bug you are welcome to contact me at mail address:

Credits - software components used by EasyABC:

Links