yaps (1) - Linux Manuals

yaps: converts an abc file to a PostScript file


YAPS - converts an abc file to a PostScript file


yaps abc file [-d] [-e <list>] [-E] [-l] [-M XXXxYYY] [-N] [-k nn] [-o file name] [-P -ss] [-s XX] [-V][-ver] [-x] [-OCC]


For debugging only. Displays the internal data structures used in the program.
-e <list>
Draws tunes with reference numbers in a comma separated list. Spaces are not allowed but a range of reference numbers can be specified. For example, 1,3,7-10.
Generates Encapsulated Postscript output.
Set margin sizes in points where 28.3 points = 1cm and 72 points = 1 inch.
Adds page numbering.
-k [nn]
Adds bar numbering. If number nn is included, then every nn'th bar is numbered. Otherwise all bars are numbered.
-o filename
Specifies the output postscript file name.
-P ss
Specifies the paper size where 0 is A4 and 1 is US Letter or XXXxYYY sets the paper size in point units.
-s XX
Specifies the scaling factor (default is 0.7)
Voices are printed out seperately for a multi-voice tune. Otherwise they are interleaved.
Prints version number and exits.
Print tune number in X: field
Required if the tune uses the old convention for chords delineated with +..+ instead of [...].


* Uses the abc2midi parsing code, so hopefully compatibility with abc2midi will be good.

* Measures the width of lyric text for lyric typesetting.

* Uses dynamically extensible data structures in most places, so you should not be restricted by compiled-in limits.

* Multiple voices drawn with notes played at the same time aligned.

* Supports special characters using ISO latin 1 font. Special characters are created with a TeX-like code e.g. 'E or a 3 digit octal code e.g. 315 .

* Supports the following clefs : baritone, tenor, alto, mezzo, soprano, treble, bass. Recommended use is

* Invisible rests (x) are displayed like normal rests.

* Nonnumeric voice id's, eg. V: soprano are accepted.


To make it easier to enter tunes in clefs othan than treble clef, yaps supports I:octave=-1 to indicate that a C in the tune represents the note one octave below the pitch defined in the abc standard. These may be combined in one I: statement e.g.

I:clef=bass octave=-2

You can also use clefs that are one, two or three octaves higher or lower than normal using e.g. treble-8, treble+15, treble-22. The clef is drawn with a small 8, 15 or 22 above or below the clef symbol. The clef= and octave= commands may also go in the K: field e.g.

K:G clef=bass-8 octave=-3

Note that there is an incompatibility between the behaviour of yaps and the behaviour of abc2ps 1.3.3. abc2ps 1.3.3 does not support the I:octave=N command, but selecting certain clefs causes it to automatically transpose by several octaves. You can produce abc that works for both by following the clef change with an I:octave=N command to do the transpose that abc2ps does automatically.

* Produces boxed part labels.

* Supports the segno symbol with !segno! and coda with !coda! . Other musical instructions such as !fine! and !D.C.! come out as text. * Supports the U: field for abbreviating symbols to single characters. e.g.

U:S = !segno!

allows S to be used to produce the segno symbol. Currently this only allows new symbols to be defined and does not allow the existing pre-defined symbols M,L,R,H and T to be altered.

* Supports the !red! and !black! instructions for switching from black to red or vice-versa.

* Supports the following abc2ps extensions to abc :

%%newpage  - start a new page,

%%vskip N  - adds vertical space of N points. If N is followed by
          'cm' or 'in' the units are taken as centimetres or
          inches instead of points e.g. 4cm.

%%text     - print text

%%centre (or %%center for Americans) - print centred text.

If %%text or %%centre appear in the header, the text appears above
the tune.

%%staffsep SIZE - set the vertical blank space between 2 consecutive
               music staves.

%%titleleft N - select title placed to the left or centred. N 1
             places the title on the left while N 0 centres it.

%%titlecaps - title is displayed in upper case (capital) letters.

%%textfont NAME SIZE - select font called NAME and point size SIZE
for text produced by %%text or %%centre. If only NAME is given, the
font stays the same size. Likewise, if '-' is given as the NAME,
only the font size changes.

%%titlefont NAME SIZE - select font for title.

%%subtitlefont NAME SIZE - select font for titles after the first

%%composerfont NAME SIZE - select font for words in C: and O: fields
                       and part specifier (P: in header).

%%wordsfont NAME SIZE - select font for words in W: fields.

%%partsfont NAME SIZE - select font for boxed parts and
!instruction! .

%%vocalfont NAME SIZE - select font for words in w: fields.

%%gchordfont NAME SIZE - select font for guitar chords in the music.
(It is advisable not to change the font name for the last two, since
 the program calculates the width of strings using default fonts)

%%titlespace, %%subtitlespace, %%textspace, %%composerspace,
%%wordsspace, %%partsspace, %%vocalspace and %%gchordspace
determine the amount of space left above the relevant type 
of text. Each of these should be followed by a size in points
or value in centrimetres or inches.

e.g. %%composerfont 3
  %%titlefont 2cm

* Supports placing of accompaniment chords either above or below the

%%chordsabove - places accompaniment chords above the stave

%%chordsbelow - places accompaniment chords below the stave.

* Supports optional text enclosed in quotes before and after the
  tempo specification in the Q: field. This extension comes from


James Allwright <J.R.Allwright [at] westminster.ac.uk>


Seymour Shlien <seymour.shlien [at] crc.ca>

More complete documentation can be found in abcguide.txt which comes with the abcMIDI distribution package.


This man page describes version 1.39 August 13 2005.