Revision 2021/10/13 11:30 ESTRevision 2021/11/01 jwdj EasyABC(function () var sc=document.createElement('script');sc.type='text/javascript';sc.async=true;sc.src=' -syn.com/badge_js?sf_id=2352090';var p=document.getElementsByTagName('script')[0];p.parentNode.insertBefore(sc, p);)();IntroductionEasyABC is an open source abc music notation editor developed byNils Liberg which was released around 2014 on his web site. 2015 the program was transferred to the current maintainersJan Wybren de Jong and Seymour Shlien and moved tosourceforge.net.Jan Wybren de Jong has been introducing improvements to the code whenhe is not busy and posting it to hisgithub siteA newer version is released on sourceforge.net once the code is stable.The program was originally coded in Python 2 which is no longer supported.The code has now been upgraded to run with Python 3.EasyABC is a popular abc editor, getting numerousdownloads a week. It is not to be confused withEfficentApproximate Bayesian Computation Sampling Schemesor various alphabet learning programs for children.To use it you should know the fundamentals ofabc music notation; nevertheless, it is possible to learn thisnotation using ABC assist.The main window is split up into either 3 or 4 frames as shown here.When you start the program all of these frames are empty.The ABC assist frame on the bottom left can be toggledon or off by clicking the light bulb in the top menu.The left frame Tune list is lists all the tunesin a collection and permits easy access to any tune.The X: reference number and T: titleare listed for each tune. Clicking on any tune in the listdisplays the Musical score and the ABC codein the upper and lower frames to the right.Clicking on the play icon (right arrow in green circle) in thetop menu will start playing the selected tune. If you changeany note in the ABC code, the corresponding note in thescore will be updated.EasyABC has many features as listed here:
- Good ABC standard coverage thanks to internal use of abcm2ps and abc2midi
- Syntax highlighting
- Zoom support
- Import MusicXML, MIDI and Noteworthy Composer files (the midi to abc translator is custom made in order to produce legible abc code with more sensible beams than the typical midi2abc output).
- Export to MIDI, SVG, PDF (single tune or whole tune book).
- Select notes by clicking on them and add music symbols by using drop-down menus in the toolbar.
- Play the active tune as midi
- Record songs from midi directly in the program (no OSX support at the moment).
Just press Rec, play on your midi keyboard and then press Stop.
- The musical score is automatically updated as you type in ABC code.
- Support for unicode (utf-8) and other encodings.
- Transpose and halve/double note length functionality (using abc2abc)
- An abcm2ps format file can easily be specified in the settings.
- ABC fields in the file header are applied to every single tune in a tune book.
- Automatic alignment of bars on different lines
- Available in Italian, French, Danish, Swedish and English
- Functions to generate incipits, sort tunes and renumber X: fields.
- Musical search function - search for note sequences irrespectively of key, etc.
- ABC assist for novice users.
- Search directory tool.
- Progress bar for long batch operations.
It would take too much space to give a detailed user's guide and,in any case, most users do not read the instruction guide. If someonecreates a YouTube video demonstrating the usage of this program, Iwill be glad to provide a link here. Instead, this guide will concentrateon some of the important and obscure features. The
Help menu buttonprovides links to various web pages that give more details on theABC music notation and its supporting software.EasyABC acts as a graphical user interface to a suite of commanddriven programs such as abcm2ps and abc2midi. These are independentprograms which get updated every now and then -- probably morefrequently than EasyABC. The user should download the latest versionof these programs and link it to EasyABC.Errors and warning messages are no longer appearing inpop up windows. Instead there is a short note in the statusbar indicating whether the program ran normally or not. If the outputdoes not look right, the user can check for warning and errormessages by clicking on the
Internals/messagesmenu items.InternalsThe Internals menu allows one to follow the operationsof EasyABC when a certain function is called.If the tune is not displayed or playedcorrectly, it may be useful to check the messages returned bythe external program. In another instance, when you are processinga whole collection of tunes, a log of all the error messages willreduce the time for verifying the output files.
Messages shows the communications between EasyABC and the externalprogram.
Input processed tune shows the tune that was sent to the externalprogram. The processed tune will likely contain additional commandsthat tell the program how to convert it. For example if the tuneis sent to abc2midi, there may be commands indicating which musicalinstruments to be assigned to the voices.
Output midi file shows the MIDI file representation in text format.
Show settings status shows all the state variables in EasyABCthat are loaded when the program is started. These state variablesare modified by the user in the Abc Settings.MessagesEasyABC relies on 3rd party programsto convert the selected tune to another form where it can bedisplayed or played.Two of the important programs that perform these conversionsare abcm2ps and abc2midi. Abcm2ps converts the selected tune to asvg (scaleable vector graphics) file in your cache folder. Thename of the file is long and random to avoid collisions withother file names. EasyABC reads this file anddisplays the file in the musical score pane. Abc2midi convertsthe selected tune to a midi file and calls another program to play thismidi file. Both of these programs send acknowledgements whenthey are executed and report any problems with the input file.When you select a particular tune in the Tune list pane, EasyABCautomatically attempts to display the music score using thissequence of steps. It grabs the abc representation ofthe particular tune and adds a few formattingcommands, and it executes abcm2ps which producesone or more
svg files (scaleable vector graphics),that are eventually displayed by EasyABC.The status bar at the bottom of the window will indicatewhether abcm2ps ran normally or whether it returned error messagesor warnings.To view these messages, click
Internals/Messages anda window labeled Messages will appear on your screen.This window is refreshed when you do otheroperations such as play a tune or select another tune.The following is an example of the text that you may see.AbcToSvg/home/seymour/easyabc_source_code_1.3.6.4/bin/abcm2ps - -O temp-509fe2e5-95b1-4967-9ea8-cdb616b6d804-.svg -v -Aabcm2ps-8.8.0 (May 21, 2015)File stdinstdin:18:15: warning: Line underfull (592pt of 778pt)Output written on temp-509fe2e5-95b1-4967-9ea8-cdb616b6d804-001.svg (17963 bytes)
AbcToSvg is the name of the function which generated thistext. This function calls the executable /home/seymour/abc/abcm2ps(/home/seymour/abc... happens to be the folder where the executableabcm2ps is located.If the file does not exist at that location, therewould be a message indicating this fact.The first hyphen indicates that the contents of thethe processed tune is passed directly to abcm2ps(through stdin) without an intervening file. The name ofthe temporary output file with a long 64 character name is createdand appears after the -O parameter.-v tells abcm2ps to produce an svg file, and -A indicatesto include annotation.abcm2ps merely returns the message:stdin:29:15: warning: Line underfull (395pt of 778pt)Output written on temp001.svg (86970 bytes)In this case the warning message is not very significantand implies that the formating of the music may notbe perfect.If you play the selected tune, the following textwould be appended to the Messages box.AbcToMidi/home/seymour/easyabc_source_code_1.3.6.4/bin/abc2midi --o /home/seymour/.EasyABC/cache/temp9eb3560e-1756-4e1b-94a7-4257e5129f6e.midi -BF -TT 4403.61 June 22 2015 abc2midiwriting MIDI file /home/seymour/.EasyABC/cache/temp9eb3560e-1756-4e1b-94a7-4257e5129f6e.midiEasyABC gets the selected tune and addsinserts %%MIDI commands that will instruct abc2midi howto create the midi file. The executable abc2midiran creating a midi file with a random 64 character name in the cache folder.The parameter -BF turns on the Barfly stress model.In this case, abc2midi did not return any warnings or errormessages and the status bar is clear.EasyABC typically clones itself when you open a second abc file, andthese clones act independently. In other words the different clonesare unaware of each other. This can cause some complications inthe way the program is run. For example if you have differentsettings in the different clones, the last clone that you closewill determine the settings that will remain in effect.In order to protect the clones from associating the wrong files,the svg and midi files produced in the cache folderhave long random names such as,temp-8d188259-f4f4-4366-b715-adc3d266e545-001.svg. You willsee these file names when you view Internals/Messages.Abcm2ps allow you to reference a format file from inside a abctune. For exampleX:1%%format myformat.fmtT: My tuneM: 4/4etc.Unfortunately, it is very unlikely that abcm2ps will find thisformat file. EasyABC is running from a local directory that isoften hidden in most operating systems. For example on Windows 7,the name of the directory could be calledC:\Users\User\AppData\Local\EasyABC.This is the same folder where the cache folder is kept.Abcm2ps is called from this local directory and by default,it will look for the format file myformat.fmt in this location.Unless you have placed this format file in this directory, Abcm2ps willfail to find this file. When running abcm2ps from EasyABC,it is necessary to specify the full path name to the formatfile.The temporary svg and midi files are stored in a cache directory ina hidden folder. On Windows 7, 8, and 10 this file is usuallyin AppData/Local/EasyABC in the Users/User folder or whateveryou call it. The AppData folder is frequently hidden from view(like C:\Program Files etc), unless you specifically configurethe file explorer to expose it. (The method of configuring thefile explorer depends upon the operating system, so you may haveto search on the web to find how to do it.) On Linux, the hiddenfiles are preceded with a dot like .EasyABC. Though you canstill cd to the hidden directory, it may not be listed when youdo a dir or ls. These temporary files have a limited life andare deleted when they are no longer needed. I do not have a Mac,so I do not know where they are stored; however, you can findthe location of this cache, without deleting it, by clickingon the menu item Settings/Clear Cache...Input Processed TuneThis window shows the actual data that was submitted to theexternal program. Furthermore the lines are numbered so you canrelate the warnings or error messages in the Message box withthe input tune. The input tune will contain some extra linesthat were not in your transcription. For example if you justselected and new tune and a new music score was displayed, thefollowing lines may be inserted at the beginning.1 %%leftmargin 0.5cm2 %%rightmargin 0.5cm3 %%botmargin 0cm4 %%topmargin 0cmThese are additional parameters passed to abcm2ps so it producesa svg file suitable for rendering on the Musical Score.If you now played the tune, the processed input tune window willchange to something similar to the following. 1 X: 1 2 %%MIDI control 7 96 3 %%MIDI control 10 64 4 %%MIDI gchordon 5 %%MIDI program 0 6 %%MIDI chordprog 24 7 %%MIDI bassprog 24 8 %%MIDI chordvol 96 9 %%MIDI bassvol 96 10 %%MIDI transpose 0 11 Q:1/4= 144 12 T: The Kesh JigetcAll the command beginning with %%MIDI tell abc2midihow the user prefers to create the midi file.These preferences are given in the Abc Settings/abc2midipage which will be discussed later. For example line 2 specifiesthe loudness level of the melody -- here 96. Line 3 specifiesthe panning position (0 for left speaker and 127 for rightspeaker). Line 4 indicates that the guitar chords shouldbe produced. Line 5 indicates that the melody should beplayed using MIDI instrument 0 or the Acoustic Piano.An explanation of all these %%MIDI codes can be found inthe document, seymour/runabc/abcguide/abc2midi_guide.htmlIf you are playing the tune on a Mac, the header will be somewhatdifferent.Note that if you are inserting your own %%MIDI commands intothe abc file, then EasyABC will suppress adding its own commands.There is no option to save the contents of these windows toa file, but you can do the following. You could grab the contentsof the processed window using ctrl-A and ctrl-C key combinationsand then paste them into an abc text file using the ctrl-V combination.Midi DisassembledThis function displays the contents of the MIDI file in text form.This is an advanced feature and unless you understand the MIDIfile format, the output may not be meaningful to you. Neverthelessthis feature is useful in diagnosing some problems that couldoccur when you are playing an abc tune. You may skip this sectionunless you are curious to know how a MIDI file looks like.To use this function, you require the external program midi2abcwhich comes with the abcMIDI package and place it in your bindirectory with the other external programs. For Windows and theMac, this should be done automatically for you if you haveinstalled 1.3.6.4.Abc2midi produces either a type 1 or type 2 MIDI file. If the abcfile is fairly plain with no voices and guitar chords, the outputis a single track MIDI file or type 1 file. For more complex abcfiles, abc2midi produces a multitrack file, where the first trackis reserved for specifying the time signature, key signature, tempoand other meta data. There is a separate track for every voice aswell as additional tracks for the guitar chords. A MIDI file canhave an unlimited number of tracks; however, there are only 16MIDI channels available and channel 10 is usually reserved forpercussion instruments.We will not look at the following example:X: 46T: Staten Island HornpipeS: Bernie Waugh%R: HornpipeM: 4/4L: 1/8K: D:AG\"D"FDFG A2 A2dfed dcBA"G"B2 GB "D" A2 FA\"Em"G2 E2 E2 "A7" AG "D"FDFG A2 A2The MIDI file produced has three tracks. The first trackcontains meta information like key signature, time signature andtempo. Track 2 contains the notes and Track 3 contains the bass/chordaccompaniment. Here is track 2 without the BarFly stress model. 0.00 Metatext (Text Event) note track 0.00 Program 1 73 (Flute) 0.00 Metatext (Seqnce/Track Name) Staten Island H... 0.00 Metatext (Text Event) N:page 15 0.00 Metatext (Text Event) N:heptatonic 0.00 Metatext (Text Event) S:Bernie Waugh 0.00 Metatext (Text Event) R: Hornpipe 0.00 Note on 1 a4 97 0.50 Note off 1 a4 0 0.50 Note on 1 g4 77 1.00 Note off 1 g4 0 1.00 Note on 1 f#4 97 1.50 Note off 1 f#4 0 1.50 Note on 1 d4 77 2.00 Note off 1 d4 0Each Note line lists the time in beats, the note command, thechannel number, the pitch, and the loudness. If we activatethe rhythm designator
R: Hornpipe by removing thepercent symbol, abc2midi adds some swing to the Hornpipeas seen below. Note how the time in beats has changed. 0.00 Metatext (Text Event) note track 0.00 Program 1 73 (Flute) 0.00 Metatext (Seqnce/Track Name) Staten Island H... 0.00 Metatext (Text Event) N:page 15 0.00 Metatext (Text Event) N:heptatonic 0.00 Metatext (Text Event) S:Bernie Waugh 0.00 Note on 1 a4 97 0.67 Note off 1 a4 0 0.67 Note on 1 g4 77 1.00 Note off 1 g4 0 1.00 Note on 1 f#4 97 1.67 Note off 1 f#4 0 1.67 Note on 1 d4 77 2.00 Note off 1 d4 0Probably the most useful information is the channel number, anumber between 1 and 16. The first line of the track indicates whetherthis track is used for notes, guitar chords, drum, drone orlyrics.Show settings statusEasyABC has many configuration options which it needs to remembereach time you restart the program. Some of these options includethe layout of the frames in the window, where to find the variousexternal executables such as abcm2ps and abc2midi, and many others.These options are stored in a hidden file called settings1.3.dat.The file is updated whenever you exit EasyABC.In rare occasions you may need to view this file in order toaddress some stubborn problems. This tool displays the contentsof the file in readable form. If EasyABC has been in an nonoperablestate, it is possible to reset all these options to factory settingsusing the menu item
Settings/Cold Restart.Abc SettingsThe Abc Settings allows you to configure how EasyABC displaysor plays the abc music notation among other things.These settings are stored in an external file called settings1.3.datso that EasyABC automatically recalls these configurationsthe next time you start the program. If for some reasonthe settings1.3.dat is corrupted or contains bad data,EasyABC may fail to start. In this case, the user should deletethe settings1.3.dat file and restart EasyABC. The next timeEasyABC runs it will create a new settings1.3.dat file with thedefault parameters for your particular system. The settings1.3.datfile is usually put in a hidden folder whose location dependsupon the operating system you use.Another way of resetting EasyABC assuming that it is runningis to do a 'Cold Restart'. The button is is one of the itemsin the
Settings menu, and it also deletes thesettings.1.3.dat file.For many of the controls in the Abc Settings, somehelpful information may popup when the mouse pointer ishovering over one of the buttons or entry boxes. The nextfew subsections describe the different pages in the tabbednotebook. File Settings These settings are vital for the proper operation of EasyABC.On both Windows and the Mac, EasyABC comes with the helperprograms which are placed in a bin folder. When EasyABCis started for the first time, it assumes that these externalprograms are in standard locations and it establishes linksthese programs. Normally the user does not need tomodify the links to these executables. Each timeEasyABC is restarted, it check that these links arestill valid and reports any problems.Note all versions of EasyABC share the same settingsfile
settings1.3.dat which implies that if youhave recently upgraded to a newer version of EasyABC,you should check that the paths to the abcm2ps andabc2midi go to latest binaries that are in the bin folderwhich comes with EasyABC.Path names to the executables may be entered directlyin the entry box or you can use the
browse button to findthe executable and select it. The path names that youselect are stored in a combo-box, so you can switch betweendifferent paths conveniently.There are several ways of restoring the settings to theirdefaults. You can click on the
cold start buttonon the
Settings menu, which will restore all thesettings to their default value.If you wish to change only a select number of path settings, youcan do this with the
restore settings button at thebottom. First blank out the contents of the file paththat you wish to rest. (The easiest way is to selectthe entry box, type cntl-A to select all and then cntl-Xto erase.) Then click the button
restore settings.Here are a few minor comments. On Windows and Linux you useghostscript for converting a PostScript file to a PDF file.On the Mac, the program is called pstopdf.Nwc2xml is applicable on Windows if you use the NoteWorthy composer to createmusic files which is a commercial product.On Windows and the Mac it is not necessary to specify a Midiplayerunless the default one is unsatisfactory. If a midiplayer isspecified, then it will used whenever you play a specified tune.Some midiplayers have run time options that can be specifiedin the box
Extra Midiplayer Parameters. For example, for theTiMidity player on linux, adding '-ik -A 50' will selectthe Tk interface and set the audio level to 50.The file paths to external programs on this page use
comboboxesinstead of the usual
entry boxes in the older version. Thisis a convenience for those users who may wish to swich betweendifferent versions. The combobox stores all the path names that youhave entered using the
Browse button. There is no way ofremoving a path from the combobox other than reinitializing itusing the Restore Settings button. Abcm2ps SettingsIf the
EasyAbc defaults box is checked thenthe music score should be displayedin a familiar manner. If your tune has its own abcm2ps layoutcommands embedded and you do not want EasyABC to add more commands,you should check the box 'No page settings'.In order to customize the page settings, you need to remove thecheck marks from both the 'No page settings' and 'EasyAbc defaults'check boxes. Additional page settings should now appearas illustrated in the above graphics.Page settings are entered in text entry boxes. There isno checking that the values you enter are appropriate so pleasebe careful. You can see the default or suggested valuesfor these page settings by hovering the mouse pointer over theparticular box. All the values must be in centimeter units.Do not include the units cm, in, pt or whatever when you enterthe values in the box.All of these settings are turned into abcm2ps commands whichare added in the processed abc file with a preceding %%sign. You can view these added commands by looking atthe
Internals/processed file output.If you check 'Include bar numbers', then the bars will be numberedin the displayed score. This may be useful for interpretingwarning messages returned by abc2midi when you play a particulartune. Note abc2midi counts the bars from zero. If you check,'Add X reference number', the reference number of the Abctune will appear with the title in the musical score. If yourtune has lyrics and the box 'Suppress Lyrics' is checked, thelyrics will not appear in your score. Abcm2ps attempts tolayout the lines of music based on the particular bars ina text line. If you check, 'Ignore line ends', abcm2ps willdisregard how you layed them out and just place as many barsas can fit on system.Abcm2ps has many optional run time parameters which arelisted when you run abcm2ps in a command window. For examplehere are the first few lines./home/seymour/abc$ abcm2psabcm2ps-8.5.2 (January 28, 2015)ABC to Postscript translator.Usage: abcm2ps [options] file [file_options] ..where: file input ABC file, or '-' options and file_options: .output file options: -E produce EPSF output, one tune per file -g produce SVG output, one tune per file -v produce SVG output, one page per file -X produce SVG output in one XHTML file -z produce SVG output from embedded ABC -O fff set outfile name to fff -O = make outfile name from infile/title -i indicate where are the errors -k kk size of the PS output buffer in KibytesIf you wish to include these run time parameters when abcm2psis run you would put them in the text entry box marked'Extra Parameters'. You can verify that these parameters arepassed using the 'Internals/Messages' in the top menuof EasyABC.In some situations, you may also need to pass a format fileto abcm2ps. For example, in displaying Turkish makam fileswhich use special symbols for particular microtones, abcm2psrequires an additional format file called commaA-E.fmt whichcomes with the music collection. You would place the path nameof the format file in the appropriate entry box so thatEasyABC knows where to find it.Abc2midi SettingsThe abc2midi program which converts an abc file to amidi file has many features described in the web pageGuide to Abc2midi Features.The abc2midi and voices tab provide access to a few of thesefeatures. When you play an abc tune, EasyABC will copy the selectedabc tune to a separate file inserting abc2midi %%MIDI control statements.You are able to view this file in a separate window using the
Internals/Input Processed Tune menu item after you haveplayed the tune.If no tempo is indicated, abc2midi assumes the default of 120beats per minute. If no MIDI instruments (programs) are indicated,the Acoustic Piano is the default. Some abc files containguitar chords which are enclosed in double quotes.Abc2midi will produce a bass/chord accompaniment from theseguitar chords based on the time signature. The options onthis page provide more control on how the accompaniment isgenerated.These additional commands appear as lines beginning with %%MIDI.This may pose a problem, if the tune already contains suchindications they could be overriden by EasyABC.EasyABC avoids this situation by suppressing the insertionof any %%MIDI commands of the same type. For example if thegiven tune already contains a line such as %%MIDI program 16(where 16 is the General MIDI code for Dulcimer) then EasyABCwill not insert any additional lines containing%%MIDI program. Thus the options to change the musical instrumentfor that tune would no longer apply. If you want to changethe instrument, you will have to edit the abc notationdirectly.The options on this page, mainly affect an abc tune thatis free of any voice specifications given by V:. If thetune contains voices you will likely need to use a differentpage with the tab labeled
voice.Two MIDI channels are assigned to the accompaniment -- onefor the bass and the other for the chords. Therefore youhave independent controls for both the bass and chordal accompaniment.Like the melody line, you can select the instrument and thevolume level to play the particular entity.You can transpose the output to another key without changing thetune using the transposition slider. This is useful if you playa musical instrument such as a Bb clarinet which automaticallytransposes the music down by a tone.If your accordian is not tuned to the standard A = 440 Hz.You can modify the tuning up to one semitone in either direction.The check boxes switch on various options. For example, if
Play chords is not checked, you will not hear the bass/chordalaccompaniment. You should leave it checked all the time unlessyou do not want the accompaniment indicated by the guitar chords.
Ignore Dynamics tells abc2midi to ignore the pp, ff, mf, etcindications in the score. The MIDI file does not do a goodjob in handling the dynamic indications and often the music iseither to loud or to quiet. Older versions of EasyABC alwayapplied the Phil Taylor's Barfly stress model to the tune whenit contains a rhythm designator (eg R: jig) recognized by the program.Now this is an option.The check box labeled
Count in tells EasyABC to prefix thetune with two bars of metronome clicks. This gives you the opportunityto get your instrument ready if you are playing along with thecomputer. The clicking pattern is determined by the time signatureif it is a common beat. If it is an unusual rhythm like 13/8, youwill get only one click at the beginning of the measure.By default the guitar chord accompaniment pattern is determinedautomatically by the time signature. If you are more innovative,you can specify your own pattern. There are several suggestionsin the
gchord pattern combobox, and if you hover thethe mouse pointer over the combobox a tool tip will appear withan explanation of the codes as shown in the above graphics.Voice SettingsThe settings on this page apply only your tune contains voiceindications. Note an exception may occur if you like puttingvoice overlays in your music line. Voice overlays was quitedifficult to implement, and its behaviour can be less thanintuitive. (A voice overlay causes abc2midi to create a separatetrack and frequently a separate channel for the overlain voice.A voice overlay (formerly called split voice) is indicatedby an ampersand in the music measure.If you are running EasyABC on a Mac, you are probably usingQuickTime to render the MIDI file and this player has a fewproblems. EasyABC tries to accomodate QuickTime by prefixingthe MIDI file a list of control codes assigning all the musicchannels.Note that channel 10 is usually assigned to percussioninstruments independent of what you do.The playing instruments (called programs in the MIDI terminology)is specified for the 16 MIDI channels. By default the instrumentis set to the 'Acoustic Piano' assuming your soundfont or MIDIplayer follows the General MIDI Standard. The MIDI standardallows only 16 channels, though you are unlimited in the numberof MIDI tracks.EasyABC does not know how abc2midi will assign channels to thevoices. Normally the channel numbers are assigned sequentiallybut if your tune contains guitar chords, drum patterns, drones,or voice overlays some of the channels will be used for thosepurposes. In fact the guitar chords use two channels -- onefor the bass and one for the chords. Since EasyABC doesnot know how the channel numbers are assigned, the instrumentassignments apply to the voice and not the channel number.Assuming your abc tune does not contain %%MIDI program commands,EasyABC will assign the selected program (or instrument) tothat voice the first time that voice appears in the abcnotation. You can check this by looking at the
Internals/Input processed tune.In some instances, the user may find that EasyABC or abc2midihas not done what the user has expected. One solution isto put your own %%MIDI program commands into the input tuneand EasyABC will try to get out of your way by not insertingany other %%MIDI program commands.XML SettingsThe options listed on this page can be considered experimental.For your information, the free programMusescore allows you toread/display/play and create Music XML files and import MIDI files.Exporting (All or Selected)These sub-menu items are found under the File menu at the top left.They provide functions to save your work in several different formats.Exporting the Music Score to a pdf FileIf you wish to save your score as an Acrobat pdf files, then you will requireis performed by GhostScript,a separate program, to be installed on your system. You can find it onthe web site It comes in various versions, so once you have added it to yoursystem your will need to indicate its location using the'Settings/ABC Settings.../File Settings' menu item.On Windows, you link to ...\bin\gswin32c.exe or \bin\gswin64c.exewhere ... contains the path name to the ghostscript package --for example C:\Program Files\gs\gs\9.50. On Linux, you link tomerely gs (or /usr/bin/gs).Saving the MIDI File(s)EasyABC automatically creates a MIDI file whenever ever you use the play function. TheMIDI file is put in a cache and has a meaningless filename, so it is not easy to find.To save the MIDI file(s) in an place where you can find them, use the Export MIDI menuitem.Saving the Score as HTML File(s)If you save the score(s) as an html file, it can be displayed by all internetbrowsers. In fact it is drawn in Scaleable Vector Graphics (SVG) which ispart of the html standard and embedded in the html file. Unlike PostScriptand Pdf files, you do not need special software to display the file.Furthermore, there are browser addons that allow you to print the scorefrom your browser.Saving the Score as an interactive HTML FileThis mode actually embeds the abc file into an html file and links itto a JavaScript library on a remote system. The JavaScript code renders the abcscore and has an option to play the music while following the score.You need to be connected to the internet in order to use this feature.Jef Moine, the creator of abcm2ps, has been rewriting the code inJavaScript. The JavaScript library is now called abc2svg and is postedon his web site. Each time you open such an html file, it gets theJavaScript code from his web page and executes this code to renderthe score. Save as an MusicXML File Besides ABC music notation, there are many other formats for representingmusic notation. Many of these formats are proprietary to a particularcompany producing music software. MusicXML was developed as a standardfor exchanging digital sheet music.Wim Vree has written and maintains Python code that can convert abcnotation to MusicXML or the reverse. This code is included in EasyABC.There are various options which are accessible from the Settings/ABC Settings...menu item.Save as an ABC file The menu item File/Save or File/Save as will save the entire file thatyou have opened. This may be a compilation of many abc tunes. If youwant to save a particular tune that you have selected, use this optionto export the selected tune as an abc file. A window will pop up whichwill allow you to specify the file name and its location.Save as a WAV Audio File The selected tune will be converted to a midi file using abc2midi andthe resulting midi file will then be converted to a wav audio file.You will be asked to specify the name of the file and its locationin a separate window that will pop up.Import and add ...There are thousands of music files in midi, xml, nwc, and mcm formatthat can be downloaded from the internet. EasyABC is able to convertmany of these files into abc format.Find in FilesThis function is found under the edit menu. It allows you tosearch a large collection of abc files for words in titles,composers, lyrics, and etc. For example you can find all tuneswith Bach as composer, in the key of G and meter as follows:C:bach M:9/4 K:G If you are using this tool for the first time, you need tospecify the top level folder where you keep your abc files.This folder could contain may subfolders and subsubfolders.Use the Browse button or enter the information in the top textentry box. The tool will retain this information for futuresearches. If you click on any of these items, the selected abc file will beloaded into EasyABC and it will be positioned to the selected tune(or very close to the selected tune). The exhaustive search cantake a while, but you can stop it at any time using the progress bar. Abc AssistThe Abc Assist mode is useful for both beginner and experiencedusers. Click on the light bulb icon on the toptool bar to display (or remove) the ABC assist panel. Click on
New tune to start. While you are typing in the abc tune,the ABC assist panel will display your various choices. For example,if you enter %% it will offer the choice between abcm2ps or MIDI.If you enter %%MIDI, it will suggest %%MIDI channel or %%MIDI program.If you choose the latter, the possible choices will be listed as shownabove.If you click on
New tune, ABC assist will produce a skeleton tuneto get you started. The latest version of EasyABC on githubABC assist supports the %%MIDI drum commands.Midi SoundEasyABC relies on MIDI synthesizers to produce any audio output.Prior to the introduction of mp3 files and other audio coding schemes,support for MIDI files was available on most systems. In thelast few years, you need to make a special effort to in order toplay any MIDI files. The 'Windows Media Player' no longer comesautomatically with the Windows 10 operating system.If you running EasyABC on Windows, the play function usually worksseamlessly without much effort. EasyABC will follow the score asthe music is playing and both forward and reverse will work. Onother operating systems, it may be quite complicated to get EasyABCto work in the same manner. (See the section Running EasyABC in Linux for some details.)EasyABC provides other options for playing abc (MIDI) files. Theseoptions are not ideal, in the sense that certain features likescore following will not work; however, they provide a goodalternative in the last resort. Assuming that you have a separateMIDI player on your system, then you can go to'Settings / ABC Settings / File Settings/' and specify the pathto the MIDI player. Many MIDI players such as TiMidityand Fluidsynthdo not come with soundfonts,and you will need to install them on your system and indicatethe path to that file.Running EasyABC from Python 3 Source Code in WindowsIf you have not installed Python 3.9, download it and install itfrom The 64-bit version works on my system.From a command window verify that you have are running the correctversion.C:\Users\User> pyPython 3.9.1 (tags/v3.9.1:1e5d33e, Dec 7 2020, 17:08:21) [MSC v.1927 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.>>>Type quit() to exit out of the python shell.You now need to install various packages if they are not on yoursystem.py -m pip install -U wxPythonpy -m pip install pywin32py -m pip install pygamepy -m pip install pyparsingYou should now be set. Go to the directory EasyABC.1.3.7.8 or whateveris the latest version and double click on easy_abc.py icon. In case it crashesopen up a command window, cd to that directory, and start up easy_abc.pyfrom the command window and note any error messages in the command window.Running EasyABC in LinuxOn Linux, it is necessary to run EasyABC from source code. easy_abc.pyis a python 3 script. Besides python 3, you will also require severalother libraries. The file using_EasyABC_in_Linux.txt which comes withthe source code provides the following instructions.sudo apt install abcmidi abcm2ps libfluidsynth2 fluid-soundfont-gm jackdThe soundfont should now be installed insudo apt install python3-wxgtk4.0 python3-wxgtk-media4.0 python-wxtools python3-pygameunzip Downloads/EasyABC-master.zipmv EasyABC-master/ EasyABCcd EasyABCNow you can run EasyABC:python3 easy_abc.pyYou may get a GStreamer error. Just ignore it.Then choose a soundfont in Settings/ABC Settings/File Settings/soundfontYou can find one here: /usr/share/sounds/sf2/FluidR3_GM.sf2Now exit and run EasyABC.If the play function does not work, you have two choices.The easier choice is to specify fluidsynth as your midiplayer;however, the follow score feature will not work. The preferablesolution can be a lot more complicated. First try,1) Start jackd. On my machine I use,/usr/bin/jackd -d alsa --device hw:1 --rate 44100 --period 1282) Add the extra Midi player parameters for fluidsynth in the ABC settings / file settings box:--audio-driver=jack --connect-jack-outputsIf the JackServer fails to start, then you may need to install a low latency kernel, create an "audio" group,edit the group limits, and determine the location of the sound card.Anne Sjostrom suggests checking the web pageTed's Linux MIDI Guide for more details on how to do this.Running EasyABC on the Raspberry Pi 4, Model BThanks to John Lowry f5d0e4f075