User Tools

Site Tools


music:abcnotation

This is an old revision of the document!


'/usr/bin/abcm2ps' (abc2ps) is not existent.
'/usr/local/bin/abc2midi' (abc2midi) is not existent.
If you do not wish to install it, you can change the 'displayType' to '0' ('image only').
'/usr/bin/abcm2ps' (abc2ps) is not existent.
'/usr/local/bin/abc2midi' (abc2midi) is not existent.
If you do not wish to install it, you can change the 'displayType' to '0' ('image only').

ABC Notation

I learned about ABC Notation indirectly. I was looking for backing tracks to accompany me while I practice the guitar. Its fairly tedious to find exactly what I need (right speed, right key, etc…), so I thought: why not program my own tracks. MIDI seemed like the obvious starting point…everything supports it. But it turns out to be a complicated thing to program. Lots of effort would be needed, and the output isn't very human-friendly.

So I queried the package manager on my linux box, and scanned through the results. A tool called ABCMidi caught my eye because of its description:

abcMIDI is a package of programs [...] for processing ABC music notation files. 
It consists of several programs: abc2midi, abc2abc, yaps, and midi2abc.

I had no idea what ABC is, so I kept reading:

  • ABC notation can be read easily by humans and computers
  • abc2midi will create a midi file from an abc source. Exactly what I need!
  • midi2abc will do the reverse
  • abc2abc can transpose an existing arrangement
  • yaps can output music scores in standard notation
  • there is an abc plugin for my wiki!!

Very nice! That's the kind of leverage I was looking for. The idea is starting to take shape now… Use an external editor to create ABC files, then use tools to create various forms of output. Something like this:

<draw name=using_abc_in_wiki namespace=music>

Now I can have sheet music on my website, with PDF and other output formats available for download. Cool!

First Attempt

My first attempt at using the ABC tools ended up like this. Not bad for a 15-minute exercise.

FileComment
ABC the ABC file
PDF the PDF file
MID the MIDI file

(Note: if you can't play the midi file, it could be that you have RealPlayer handling your MIDI files, which it doesn't like to do. Try QuickTime or another player instead.)

Second Attempt

This is my second attempt, done on my hosted website instead of my home server. It took a lot of effort to make this work properly on my hosting account. A full description of what I had to do is here.

I have to say thanks to the support staff at A Small Orange for helping to get this working. Tim G, Jayson G, Phil Z, Jason H, Josh S, and Victor T got the job done (at different times of day, of course). I don't think most hosting services would go that far. I'm happy to be with them.

Example

Below is a simple example of what the ABC Plugin can do.

X:42
T:Test
M:4/4
K:C
"C" C2 D2 E2 G2 |"C" c8 |]
w:This is just a test
X: 1
T: Tourdion
C: Pierre Attaignant (c.1494 - c.1551)
M: 3/2
L: 1/4
Q: 1/2 = 140
%%staves [S|A|T|B]
V: S clef=treble   name="Soprano"
V: A clef=treble   name="Alto"
V: T clef=treble-8 name="Tenor"
V: B clef=bass     name="Bass" octave=-2
K: Bm
%#define !F! ""
[V: S] !F!EFGAGF |E3 FGA|BAGGAF |(G2FE)D2|
w: Quand je bois du vin clai-ret, a-mi tout \
w: tour-ne tour-ne tour-ne tour - - ne,
[V: A] !F!B,4 B,2|E4 E2 |D4 E2  |E2 A4   |
w: Le bon vin nous a ren- du gais,
[V: T] !F!G4 E2  |B4 B2 |B2B2=c2|B4 A2   |
w: Bu- vons bien, bu- vons mes a- mis, trin-
[V: B] !F!e4 e2  |e4 e2 |g2b2a2 |e2f4    |
w: Bu- vons bien, bu- vons mes a- mis, trin-
%
[V: S] EFGAGF|E2G2F2      |E4 D2    |E6 ::
w: aus-si d\'e-sor-mais je bois An-jou ou Ar-bois.
[V: A] G4 E2 |(B,A,B,C) D2|B,2 B,4  |B,6::
w: chan-tons, ou-bli-ons nos pei-nes, chan-tons!
[V: T] B4 B2 |G4 A2       |G2 (FEF2)|E6 ::
w: quons, bu-vons, gai-ment chan - - tons!
[V: B] e4 e2 |e4 d2       |e2 B4    |e6 ::
w: quons, bu-vons, gai-ment chan-tons!
%
[V: S] !fff!B3 AB=c|B4 B2|d=cBAGF|(G3F) E2|
w: chan- tons et bu-vons, \`a ce fla-con fai-sons la guer -re,
[V: A] !fff!G4 G2  |G4 G2|F4 F2  |E4E2    |
w: en man-geant d'un gras jam-bon, \`a
[V: T] !fff!e4 e2  |d4 d2|d4 d2  |B4 B2   |
w: en man-geant d'un gras jam-bon, \`a
[V: B] !fff!e4 e2  |g4 g2|d4 d2  |e4 e2   |
w: en man-geant d'un gras jam-bon, \`a
%
[V: S] B3 AB=c|B2 (AG) F2|E4 D2  |E6 !D.C.!:|
w: chan-tons et bu-vons, mes a-mis, bu-vons donc!
[V: A] D4 D2  |D4 D2     |B,2 B,4|B,6:|
w: ce fla-con fai-sons la guerre!
[V: T] B4 B2  |B4 A2     |G2 F4  |E6 :|
w: ce fla-con fai-sons la guerre!
[V: B] g4 g2  |g4 d2     |e2 B4  |e6 :|
w: ce fla-con fai-sons la guerre!

Music Collection

/home/cfreyer/public_html/data/attic/music/abcnotation.1202501914.txt.gz · Last modified: 2008/02/08 15:18 by Chris Freyer