My intention in making these EPS files available is that, if you are interested, you can download them and modify them to suit your needs. However, I make no guarantees as to suitability for any particular purpose, and assume no responsibility for any consequences of using these programs. But hey, they work for me...

You can use these examples without knowing much of the PostScript language, but you should at least know some of the syntax conventions. The following characters are special in PostScript:

- %
- means the rest of the line is a comment (not page description); useful to "comment out" unneeded code
- /
- names are preceded by a slash (to define them; no slash to use them)
- ( )
- character strings are surrounded by parens
- [ ]
- arrays are surrounded by square brackets
- { }
- executable modules are surrounded by curly braces
- < >
- hexadecimal strings are surrounded by angle brackets

What makes the graphic "Encapsulated" is a set of special comments that start with %%. One essential one is the "%%BoundingBox" line, which specifies the coordinates of the lower left and upper right corners of the graphic. In most of my EPS files there is a place in the "user setup" to specify the bounding box, and these same numbers must also go on the "%%BoundingBox" line at the top, so that the graphic can be correctly imported and sized in other applications. (The unit of length in PostScript is a "point", where there are 72 points per inch.)

sclmat.eps : Scale Matrix -- shows every interval in a scale in matrix form, where row *m* is the scale tones relative to tone *m*, and column *n* is tone *n* relative to all the other tones.
(Also see Variation.)

scale.eps : Scale Slide-Rule -- shows a scale as horizontal lines, acoustically spaced. This is intended to be printed as a full page, cut in two pieces, folded & interlocked, so that any two intervals in the scale can be compared visually (by sliding one by the other). Optionally includes an equal-tempered scale for comparison.
(Also see Variation.)

lattice.eps : Harmonic Lattice Diagram -- shows the harmonic structure of a scale by links for each prime harmony.
(Also see Variation.)

lattica.eps : Harmonic Lattice Diagram, Advanced -- shows the harmonic structure of a scale by links for intervals that you specify (so can handle triangular lattices, for example), with the option of showing each link in a specified line style; also can specify names for notes in scale.
(Also see Variation.)

harmel.eps : Harmonic Melodic Diagram -- shows the harmonic structure of a scale by links for each prime harmony, oriented so the vertical axis is pitch. (See my article "Harmonic Melodic Diagrams" for more info.)
(Also see Variation.)

harmela.eps : Harmonic Melodic Diagram, Advanced -- same idea as "harmel" above, but more general: scales need not repeat each octave; uses links for intervals that you specify (so can handle triangular lattices, for example), with the option of showing each link in a specified line style; also can specify names for notes in scale.
(Also see Variation.)

dofrets.eps : Fret Layout on Fingerboard, Basic -- this version takes a scale and a string tuning, and generates all the frets.

frets.eps : Fret Layout on Fingerboard, General -- this version requires all the intervals for frets on each string, thus can handle more general situations than "dofrets" above.

refrets.eps : Fret Layout on Fingerboard, Retuned -- like "frets" above, but designed to see what happens when you retune the strings.

last updated 2000 Feb 6

David Canright -- DCanright@NPS.edu