chordii(1) Utilities chordii(1)
July 2011
NAME
chordii - produce a professional looking PostScript sheet-music from
an ascii file containing lyrics and chords information.
SYNOPSIS
chordii [OPTIONS] FILE [FILE...]
DESCRIPTION
chordii produces a postscript document from a lyrics file containing
chord indications and chorus delimiters. The document produced
contains the lyrics of a song, with the guitar chords appearing above
the right words. A representation of all chords used in the song is
printed at the bottom of the last page.
Extensive documentation can be found in the chordii User Guide,
available from the Chordii download page
OPTIONS
chordii takes both long options, starting with --, and short options
starting with a single -, according to the getopt_long(3) conventions.
--about -A
Will print the "About Chordii..." message.
--single-space -a
Automatically single spaces lines that have no chords.
--chord-size=CHORD_FONT_SIZE -c
Sets the size, in points, of the font used to display chords
to the specified integer value.
--chord-font=CHORD_FONT -C
Sets the font used to print chords to the specified name. That
name must be known to your PostScript Interpreter.
--chord-colour=CHORD_COLOUR -C
Sets the colour used to print chords. Recognized colours are
'black', 'white', 'red', 'green', 'blue', 'yellow', 'magenta'
and 'cyan'. Arbitrary colours can be specified using the
conventional hexadecimal notation '#RRGGBB'.
--dump-chords-text -d
Generates a text chord chart of all internally known chords as
well as chords defined in the .chordrc file. Chords defined in
the .chordrc file are identified with the "(local)" caption.
The printout is suitable for input to the .chordrc file.
--dump-chords -D
Generates a PostScript chord chart of all internally known
- 1 - Formatted: November 5, 2025
chordii(1) Utilities chordii(1)
July 2011
chords as well as chords defined in the .chordrc file. Chords
defined in the .chordrc file are identified with a small
asterisk after the chord grid.
--no-chord-grids -G
Disable printing of the chord grids for the whole input
file(s). The effect can be disable for any particular song by
the usage of the grid or g directive.
--no-easy-chord-grids -g
Disable printing of grids for "easy" chords. Whether a builtin
chord is easy or not has been arbitrarily decided by the
authors. The general rule was that any chord in its major,
minor, 7th or minor 7th was "easy" while everything else
(maj7, aug, dim, sus, etc...) was "difficult". All chords
defined in the .chordrc file or in the input file are defined
as "difficult".
--chord-grids-sorted -S
Prints the chord grids in alphabetical order. Default is to
print in the order they appear in the song.
--help -h
Prints a short options summary.
--toc -i
Generates a table of contents with the song titles and page
numbers. It implies page numbering through the document.
Index pages are not numbered.
--lyrics-only -l
Prints only the lyrics of the song.
--even-pages-number-left -L
Places the odd and even page numbers in the lower right and
left corners respectively (for two-sided output). The default
is all page numbers on the right.
--nashville -N
Basic support for Nashville tuning. Currently this just
disables chord validation, transposition, and diagram
printing.
--output=FILE -o
Sends PostScript output to FILE.
--start-page-number=FIRST_PAGE -p
Numbers the pages consecutively starting with first_page (e.g.
1). Without this option, each song restarts the page numbering
at 1, and page numbers are only put on subsequent pages of
multiple page songs.
- 2 - Formatted: November 5, 2025
chordii(1) Utilities chordii(1)
July 2011
--page-size=PAPER_SIZE -P
Specifies the paper size, "us", "letter", "a4" or "a5".
Default is "a4".
--chord-grid-size=GRID_SIZE -s
Sets the size of the chord grids.
--text-size=TEXT_SIZE -t
Sets the size, in points, of the font used to display the
lyrics to the specified integer value. The title line is
displayed using that point size + 5. The subtitle is displayed
using that point size - 2. The tablature is displayed using
this point size - 2.
--text-font=TEXT_FONT -T
Sets the font used to print text to the specified name. That
name must be known to your PostScript Interpreter.
--version -V
Prints version and patch level.
--vertical-space=EXTRA_SPACE -w
Adds extra vertical space between the lines to improve
readability.
--transpose=SEMITONES -x
Sets up transposition to that number of semitones. Can not be
zero. All chord names must be build in the following way in
order to be recognized:
{note-name}[#|b][^/]* [ '/' {note-name}[#|b][^/]* ]
That is, a valid note name, possibly followed by '#' or 'b',
followed by other modifier ('7', 'm', etc...). Many such
construct can make up a chord name, as long as they are
separated by '/'.
{note-name} must appear in the list
'A','B','C','D','E','F','G'.
--2-up -2
Prints two logical pages per physical page.
--4-up -4
Prints four logical pages per physical page.
KEYWORDS
A line starting with a '#' is interpreted as a comment and generates
no output. (although all your comments are automatically mailed to the
authors, and we read them at parties...)
- 3 - Formatted: November 5, 2025
chordii(1) Utilities chordii(1)
July 2011
Directives that appear between curly brackets ('{' and '}') have a
special meaning. They must be alone on a line. Blanks before the
opening bracket and after the closing bracket are not significant.
Directives suffixed by a colon require arguments.
Blanks inside a directive are not significant (except inside one of
the comments directives).
Supported directives are:
titles: TYPE
Selects the placement of the titles. Currently supported are
left and center (default).
start_of_chorus or soc
which indicates the start of a chorus (yep). The complete
chorus will be highlighted by a change bar, to be easily
located by the player.
end_of_chorus or eoc
marks the end of the chorus
comment: or c:
will call the printing of the rest of the line, highlighted by
a grey box (Useful to call a chorus, for example)
comment_italic: or ci:
will print the comment in an italic font ... well not really.
It will print the comment in the font used for printing chord
names (which is normally italic unless you specified a
different chord_font).
comment_box: or cb:
will print the comment inside a bounding box.
new_song or ns
marks the beginning of a new song. It enables you to put
multiple songs in one file. It is not required at the
beginning of the file.
title: or t:
specifies the title of the song. It will appear centered at
the top of the first page, and at the bottom of every other
page, accompanied there by the page number, within the current
song.
subtitle: or st:
specifies a string to be printed right below the title. Many
subtitles can be specified
- 4 - Formatted: November 5, 2025
chordii(1) Utilities chordii(1)
July 2011
define: NAME base-fret OFFSET frets STR1...STR6
defines a new chord called NAME.
Example for a 6-string guitar:
{define Ab+: base-fret 1 frets x x 2 1 1 0}
The keyword "base-fret" indicates that the number that follows
(OFFSET) is the first fret that is to be displayed when
representing the way this chord is played.
The keyword "frets" then appears and is followed by 6 values.
These values are the fret number [ 1 to n ] for each string
[STR1 to STR6] and are RELATIVE to the offset. A value of "-",
"X" or "x" indicates a string that is not played.
Keywords "base-fret" and "frets" are MANDATORY.
A value of 0 for a given string means it is to be played open,
and will be marked by a small open circle above the string in
the grid. The strings are numbered in ascending order of
tonality, starting on the low E (the top string). On output, a
chord defined in the user's .chordrc file will have a small
asterisk near its grid, a chord defined in a song will have
two small asterixes.
At the beginning of every song, the default chords are re-
loaded and the user's .chordrc file is re-read. Chord
definition of new chords inside the text of a song are only
valid for that song.
The syntax of a {define} directive has been modified in
version 3.5. Chordii will attempt to recognize an old-format
{define} and will accept it. It will, though, print a warning
inviting you to modify your input file to use the new syntax
(the exact {define} entry to use is provided as an example).
pagetype: TYPE
Selects the page type. Currently supported page types are a4
and letter.
This directive may only occur in the .chordrc file.
textfont: POSTSCRIPT_FONT
same as -T command option
textsize: N
same as -t command option
chordfont: POSTSCRIPT_FONT
same as -C command option
- 5 - Formatted: November 5, 2025
chordii(1) Utilities chordii(1)
July 2011
chordsize: N
same as -c command option
no_grid or ng
will disable printing of the chord grids for the current song.
grid or g
will enable the printing of the chord grids for the current
song (subject to the limitation caused by the usage of the -g
option). This directive will overide the runtime -G option for
the current song.
new_page or np
will force a logical page break (which will obviously turn out
to be a physical page break if you are not in either 2-up or
4-up mode).
new_physical_page or npp
will force a physical page break (in any mode).
start_of_tab or sot
will cause chord to use a monospace (ie: non-proportional)
font for the printing of text. This can be used to enter 'tab'
information where character positioning is crucial. The
Courier font is used with a smaller point-size than the rest
of the text.
end_of_tab or eot
will stop using monospace font. The effect is implicit at the
end of a song.
columns: N or col: N
specifies the number of columns on the pages of the current
song.
column_break or colb
forces a column break. The next line of the song will appear
in the next available column, at the same height as the last
"columns" statement if still on the same page, or at the top
of the page otherwise.
FILES
$HOME/.chordrc
Initial directives re-read after each song.
NOTES
Run time options override settings from your .chordrc file. So the
assignement sequence of, for instance, the text size, will be: system
default, .chordrc, run-time option, and finally from within the song
itself.
- 6 - Formatted: November 5, 2025
chordii(1) Utilities chordii(1)
July 2011
All keywords are case independent.
BUGS
Chordii will not wrap long lines around the right margin.
White space is not inserted inside the text line, even if white space
is inserted in the "chord" line above the text. The net effect is that
chord names can appear further down the line than what was intended.
This is a side effect from fixing an old "bug" that caused the chord
names to overlap. This bug will only manifest itself if you have lots
of chord but little text. Inserting white space in the text is a good
workaround.
In 2-up mode, if page-numbering is invoked on a document that has an
odd number of page, the page number for the last page will be printed
at the bottom right of the virtual page instead of the bottom right of
the physical page.
COPYRIGHT
Copyright (C)2008 The Chordii Project
Copyright (C)1990-91-92-93 by Martin Leclerc and Mario Dorion
AUTHORS
Johan Vromans
Martin Leclerc *** DEFUNCT ***
and Mario Dorion *** DEFUNCT ***
CONTRIBUTORS
Steve Putz
Jim Gerland
Leo Bicknell
- 7 - Formatted: November 5, 2025