ABCM2PS()							     ABCM2PS()



NAME
       abcm2ps - translate ABC music notation to PostScript or SVG

SYNOPSIS
	  abcm2ps [global_options] ABC_file [file_options] ...

DESCRIPTION
       abcm2ps	translates  tunes  written in the ABC music notation format to
       customary sheet music scores in PostScript  or  SVG.  It	 is  based  on
       abc2ps  1.2.5  and  was	developed mainly to print Baroque organ scores
       that have  independent  voices  played  on  multiple  keyboards	and  a
       pedal-board.  The  program  has	since been extended to support various
       other notation conventions in use for sheet music.

       Options given immediately after the command name apply to the run as  a
       whole; options given after an ABC file name apply to that file.

       Formatting  parameters can also be set in "format files" and in the ABC
       files themselves.

OPTIONS
       The list of the command line options may be known running:

	  abcm2ps -h

       The options may be grouped when they have no argument, but the last one
       (ex: -lnGI20).

       The  options  may be disabled when starting with '+' or ending with '-'
       (ex: +MT1 is the same as -MT1-).

       The general output format is the last found in the  command  line.   It
       may be:

       -E     for Encapsulated PostScript, one file per tune

       -g     for SVG, one file per tune

       -v     for SVG, one file per page

       -X     for XHTML+SVG

       -z     for (X)HTML+SVG with (X)HTML+ABC input

       (see below for more information)

   List of the options
       -      Read the abc file from stdin.

       --<format> <value>
	      Set the <format> parameter to <value>.

	      This  has	 the same effect as a format parameter directly in the
	      source file.

       -a <float>
	      Maximal horizontal compression when staff breaks are chosen  au-
	      tomatically. Must be a float between 0 and 1.

	      This  correspond	to  the	 %%maxshrink formatting parameter (de-
	      fault: 0.65).

       -A     This option inserts reference elements in the PostScript or  SVG
	      output.

       -B <int>, +B
	      Try to typeset <int> bars on each staff line.

	      This corresponds to the %%barsperstaff formatting parameter.

       -b <int>
	      Start measure numbering at <int>.

	      This corresponds to the %%measurefirst formatting parameter.

       -c, +c The  continuation	 symbol	 is  implicitly appended to each music
	      line. This amounts to automatic line breaking.

	      This corresponds to the %%continueall formatting parameter.

       -D <dir>
	      Search the format files in the directory <dir>.

       -d <unit>
	      Set the vertical interstaff space to <unit>.

	      This corresponds to the  %%staffsep  formatting  parameter  (de-
	      fault: 46pt).

       -E     Produce EPS output instead of simple PS.

	      In  this	mode, each tune goes to a different file which name is
	      "<name>nnn.eps" or "<title>.eps" (see option '-O')

		 o 'nnn' is a sequence number incremented at each tune

	      Output to stdout is forbidden.

	      EPS files are normally embedded into Postscript  documents,  but
	      they may be a way to generate graphical images. For example, us-
	      ing GhostScript:

		 abcm2ps voices -Ee7
		 gs -sDEVICE=pngmono -r80 -g590x174 \
		    -dBATCH -dNOPAUSE \
		    -sOutputFile=quitolis.png Out001.eps

	      (the values for -g are the values of the	bounding  box  in  the
	      .eps, multiplied by (80 / 72), where 80 is the value for -r, and
	      72 is the default resolution)

       -e [ <tune index list> ] [ <regular expression> ]
	      Select which tunes from an ABC file to print.

	      <tune index list> is either a comma-separated list of tune  num-
	      bers  (as per the X: header), or a regular expression which will
	      be matched against the tune headers as a whole.  The  -e	option
	      must occur after an ABC file name and applies to that file.

	      Ranges of tune numbers may be specified like <t1>-<t2>; <t2> may
	      be omitted which means "all remaining tunes  until  the  end  of
	      file". Note that filtering may cause problems, e.g., with global
	      (non-tune) definitions in the ABC file.

	      This corresponds to the %%select formatting parameter.

       -F <file>, +F
	      Read the format (or PostScript) file <file>.

	      When omitted, the default type of a format file is '.fmt'.

	      In the form '+F', the default format file ('default.fmt') is not
	      read.

       -f     Enable flat beams (useful for bagpipe tunes).

	      This corresponds to the %%flatbeams formatting parameter.

       -G, +G Omit slurs on grace notes.

	      This corresponds to the %%graceslurs formatting parameter.

       -g     Produce SVG output instead of EPS.

	      In  this	mode  each tune goes to a different file which name is
	      'Outnnn.svg' (see option '-O').

	      If the output is stdout (option '-O-'), all the SVG  images  are
	      output without XML header.

       -H     Display the current format values.

       -h     Quick help, equivalent to "abcm2ps" without any arguments.

	      This also shows the default settings for some parameters.

       -I <unit>
	      Indent the first line of the tune by <unit> (default: 0).

	      This corresponds to the %%indent formatting parameter.

       -i, +i Insert a red cercle around the errors in the PostScript output.

       -j <int>[b], +j
	      Output a measure number every <int> measures.

	      If  <int>	 is  0, the measure number appears at the left of each
	      staff.  The trailing b causes a box to be drawn around each mea-
	      sure number (default: no measure numbering).

	      This corresponds to the %%measurenb formatting parameter.

       -k <int>
	      Set the size of the PostScript output buffer in Kibytes.

	      Setting  this  value to a higher value permits the generation of
	      big tunes with -E or -g. The default value is 64.

       -l, +l Generate landscape output.

	      This corresponds to the %%landscape formatting parameter.

       -M, +M Suppress lyrics.

	      See the %%writefields w formatting parameter.

       -m <unit>
	      Set the left margin to <unit> (default: 1.8cm).

	      This corresponds to the %%leftmargin formatting parameter.

       -N <int>, +N
	      Number the pages.

	      <int> indicates the mode:

		 0	no page numbers

		 1	at top left

		 2	at top right

		 3	at top left on even pages, top right on odd pages

		 4	at top right on even pages, top left on odd pages

	      For compatibility with previous versions, '+N' is	 the  same  as
	      '-N0', and '-N' is the same as '-N2'.

	      If a header is defined ("%%header"), this option is ignored.

       -n, +n Include notes and history from ABC tune N: fields.

	      See the %%writehistory N formatting parameter.

       -O [ <directory> ] [ <name> ], +O
	      Define the output file directory and/or name.

	      The  directory  must  end	 with the directory separator ('/' for
	      unix/windows, '\' for mac).

	      By default, the output file goes to the current  directory  with
	      the name:
		 'Out.ps' for PS,

		 'Outnnn.eps' for EPS (see option '-E'),

		 'Outnnn.svg' for SVG (see options '-g' and '-v') or

		 'Out.xhtml' for XHTML+SVG (see options '-X' and '-z').

	      'nnn' is a sequence number.

	      When  <name>  is	present, it is the name of the file, or it re-
	      places "Out" in the file name.

	      If <name> is '=', it is replaced by the name of the  ABC	source
	      file (not for '-z').

	      If  <name> is '-', the result is output to stdout (not for EPS).
	      '+O' resets the output file directory  and  name	to  their  de-
	      faults.

       -p     Bagpipe format.

	      When present, format output for bagpipe regardless of key.

       -q     Quiet mode.

	      When present, only the errors are shown.

       -s <float>
	      Set  the	page scale factor to <float>. Note that the header and
	      footer are not scaled (default: 0.75).

	      This corresponds to the %%scale formatting parameter.

       -S     Secure mode.

	      When present, file inclusion (%%format and %%EPS) and PostScript
	      injection (%%beginps and %%postscript) are disabled.

       -T <int> [ <voice> ], +T [ <int> [<voice> ] ]
	      Activate or deactivate tablature drawing.

	      o

		<int> is the tablature number as defined in %%tablature.
		       There may be only 8 different tablatures.

	      o

		<voice>	 is  the  voice name, full name or subname as found in
		V:.
		       When absent, apply to all voices.

	      Up to 4 such commands may be defined.
		 Ex: '-T1flute +T2'

       -V     Show the version number.

       -v     Produce SVG output instead of simple PS.

	      In this mode each page goes to a different file  which  name  is
	      'Outnnn.svg' (see option '-O').

       -w <unit>
	      Adjust the right margin such that the staff width is <unit> (de-
	      fault: none).

	      This corresponds to the %%staffwidth formatting parameter.

       -X     Produce XML+SVG output instead of simple PS.

	      The default file name is 'Out.xhtml' (see option '-O').

       -x, +x Include the X: tune number in the title.

	      This corresponds to the %%writefields formatting parameter.

       -z     Produce SVG images from ABC embedded in  markup  language	 files
	      (HTML, XHTML..).

	      The  source  file	 is  copied to the output file and the ABC se-
	      quences are converted to SVG images.  The ABC sequences start by
	      either %abc.. or X:..  and stop on the first markup tag (<..).

	      The generation creates one image per block, i.e. a music line or
	      a text block. For a same rendering as the other  SVG  generation
	      (-g,  -v or -X), don't forget to set the line space to null, for
	      example enclosing the ABC sequences by:

		 <div style="line-height:0"> .. </div>

	      There can be only one output file.

	      Note that the default output file is 'Out.xhtml', so, don't for-
	      get  to change the file type if you generate HTML (.html) or XML
	      (.xml) files.

	      See "sample8.html" for a source example.

       -0, +0 Split tunes across page breaks if necessary.

	      This corresponds to the %%splittune formatting parameter.

       -1, +1 Output one tune per page.

	      This corresponds to the %%oneperpage formatting parameter.

ADDITIONAL FEATURES
       Clefs  Clefs can be given in K: and V: headers.	The full syntax is:

		 clef=<type><line>[+8|-8]

	      "clef=" can be omitted when the <type> is a clef name.

	      <type> denotes the clef type. It	may be:

	      o A note pitch (G, C, or F)
		   The pitch indicates which clef is meant: G  is  the	treble
		   clef,  C  the alto clef and F the bass clef.	 It also gives
		   the name of the note that appears on the clef's line.

	      o A clef name
		   The available clef names are treble (clef gives  the	 pitch
		   for G), alto or tenor (C), and bass (F).

	      o perc or P
		   In  percussion mode, accidentals change the glyphs used for
		   note heads. By default, sharp notes are drawn  as  "x"  and
		   flat notes as circled "x".  This may be changed by redefin-
		   ing the PostScript functions pshhd and pflhd.

	      o none
		   No clef will be displayed.

	      The <line> gives the number of the line within  the  staff  that
	      the  base	 clef will be written on. The default values are 2 for
	      the treble clef, 3 for the alto clef, and 4 for  the  tenor  and
	      bass clefs.

	      The  "+8"	 and  "-8" options draw an 8 above or below the staff,
	      respectively.

	      When no clef is specified, clef changes between "bass" and "tre-
	      ble" will be inserted automatically.

       Multi-voice typesetting
	      Multiple voices may be defined within the header or the tune us-
	      ing:

		 V:<name> <definition> ...

	      where <name> is a word consisting of  letters  and  digits  only
	      (like "violin1"). In the tune body, the following notes refer to
	      this voice until another "V:" is encountered.

	      A <definition> can be one of:

	      o "clef="...
		   See above

	      o "name="<name> or "nm="<name>
		   The <name> will be displayed at the beginning of the	 first
		   staff.  It can contain "\n" sequences which will force line
		   breaks. If it contains whitespace it must be double-quoted.

	      o "subname="<name> or "snm="<name>
		   The <name> will be displayed at the beginning of all staves
		   except  for	the first. It can contain "\n" sequences which
		   will force line breaks. If it contains whitespace  it  must
		   be double-quoted.

	      o "merge"
		   The voice goes on the same staff as the previous voice.

	      o "up" or "down"
		   Forces the direction of the stems for the voice.

	      o "dyn=up" or "dyn=down" or "dyn=auto"
		   Forces  positioning	of  dynamic  marks (above or below the
		   staff) or reverts to automatic positioning (the default).

	      o "gstem=up" or "gstem=down" or "gstem=auto"
		   Forces the direction of the stems of grace notes (always up
		   or  always  down)  or reverts to automatic positioning (the
		   default).

	      o "stem=auto"
		   Reverts to automatic positioning of note stems (up or down)
		   (the default).

	      o "lyrics=up" or "lyrics=down" or "lyrics=auto"
		   Places  lyrics above or below the staff or reverts to auto-
		   matic positioning (the default)

	      o "gchord=up" or "gchord=down"
		   Places guitar chords	 above	(the  default)	or  below  the
		   staff.

	      o "stafflines="<value>
		   Sets	 the  number  of  lines on the staff in question. (de-
		   fault: 5)

	      o "staffscale="<value>
		   Sets the scale of the associated staff up to	 3.  (default:
		   1)

	      All other definitions are ignored.

       Definition of the staff system
	      By default, each voice goes on its own staff. The %%staves <def-
	      inition> pseudo-comment can be used to control staff assignment.
	      The  <definition> consists of voice names (from V:) and pairs of
	      parentheses, braces or brackets.

	      o When a voice name is not within a pair of special  characters,
		it goes on a separate staff.

	      o For  voice  names enclosed in brackets, a bracket is displayed
		at the beginning of each line that joins  the  staves  of  the
		voices in question.

	      o For  voice  names enclosed in braces, all the voices go on two
		staves (keyboard score). There can be at most four voices  be-
		tween a single pair of braces.

	      o For voice names enclosed in parentheses, all the voices appear
		on a single staff.

	      The | character prevents measure bars from being	drawn  between
	      two  staves.   If	 %%staves occurs in a tune, all the voices not
	      mentioned will not be output at all.

	      The %%score directive occurs in the ABC draft 2.0	 standard  and
	      is  similar  to  the %%staves specification described above. The
	      rules are:

	      o Voice names within parentheses form a "voice group" and go  on
		a  single  staff.  A voice name that is not within parentheses
		forms its own voice group and goes on a staff by itself.

	      o Voice groups within braces form a "voice block" and  are  pre-
		ceded  by a big brace in the output. This is especially useful
		for keyboard music.

	      o Voice groups or voice blocks within  brackets  form  a	"voice
		block" and will be preceded by a big bracket in the output.

	      o If  a  |  character  occurs  between two voice groups or voice
		blocks, the bar lines in all of the associated staves will  be
		continuous.

	      o A  single voice surrounded by two voice groups can be preceded
		by an asterisk to make it into a "floating" voice. This	 means
		that,  for each note of the voice, a separate decision is made
		whether it is printed on the preceding or the following	 voice
		group's staff.

	      o Voices that appear in the tune body but not in the %%score di-
		rective will not be output at all. If there is no %%score  di-
		rective, each voice will be output on its own staff.

	      o A  %%score  directive  inside  a  tune resets the mechanism so
		voices can be removed or added.

       Voice overlay
	      You can add notes to a staff without introducing a complete  ex-
	      tra  voice  by using the ampersand (&).  A single measure can be
	      split into two voices like:

		 |F2A2Bc&F2c2bc|

	      The (&...&...&) construction allows splitting multiple measures:

		 |!f!(&GG<G|GG F=E| E2	E(_D/E)|_D D  C	     D |C4- |C
		    &DC<C|CC_D C|=B,2_B,B,   |_A,A,(G,/A,/)B,|F,4-|F,&)zzD=E|

	      A double ampersand (&&) will  allow  overlaying  more  than  two
	      lines of music but this feature has not yet been implemented.

       Lyrics Aligned  lyrics  under a staff are written as a w: line directly
	      below the staff line. For example:

		 edc2 edc2|
		 w:Three blind mice, three blind mice

	      Each word in the w: line (delimited  by  blanks)	is  associated
	      with one note, in sequence. The following special symbols modify
	      this behaviour:

	      *	     Skips one note.

	      -	     Splits a word into two  syllables	which  are  associated
		     with two adjacent notes. A "-" is drawn between them.

	      |	     Advances to the next bar line.

	      ~	     Is output as a space, but unites two words so they appear
		     under a single note.

	      _	     Draws a thin underscore from the  previous	 note  to  the
		     next.

	      To  include more than one line of lyrics, use multiple w: lines.
	      To include hyphens without splitting a word over multiple notes,
	      use \-.

	      If  a  word starts with a digit, this is interpreted as a stanza
	      number and outdented a bit to the left.

       Slurs and ties
	      The direction of slurs and ties may be controlled using the "(,"
	      / "('" and "-," / "-'" constructions.

       Microtone pitches
	      Microtone	 pitches are indicated by a fraction after an acciden-
	      tal, as in ^3/4c. When omitted, the numerator defaultes to 1 and
	      the  denominator to 2 (so ^/c is the same as ^1/2c). The numera-
	      tor and denominator values may not exceed 256. There is built-in
	      support  for  quarter-tone  accidentals  (1/2 and 3/2 sharps and
	      flats); for other values, rendering functions  must  be  defined
	      using %%postscript.

       EPS inclusion
	      EPS  files may be included inside tunes using the pseudo-comment
	      %%EPS <file>.

SEE ALSO
       A brief introduction referencing further documentation is installed  in
       <docdir>/abcm2ps/README.md.

       The ABC music notation is at http://abcnotation.com/.

       Especially, you may find a discussion of differences with the ABC stan-
       dard at http://moinejf.free.fr/abcm2ps-doc/features.html and a list  of
       formatting options at http://moinejf.free.fr/abcm2ps-doc/.

AUTHOR
       abcm2ps	was  written  by  Jean-Franois Moine <http://moinejf.free.fr/>
       starting from abc2ps by Michael Methfessel.

       Parts  of  this	manual	have  been  written  by	 Anselm	  Lingnau   <-
       lingnau@debian.org> for the Debian system.

       Permission  is  granted to copy, distribute and/or modify this document
       as long as its origin is not misrepresented.



								     ABCM2PS()
