harmela2.eps (source link in file list below) : another Advanced Harmonic Melodic Diagram -- this example shows a 5-limit 12-tone scale in a triangular lattice, repeated 3 octaves for a full scale in the middle octave, with basic labels for the key of C.
The lines changed in the original file to get the variation are shown below, with the changes shown indented.
% WINDOW LIMITS, your coordinate system
% left x, bottom y, right x, top y: (set big enough to fit whole diagram)
-0.7 -1 0.7 1.6
% this example shows 5-limit scale (12-tone duodene)
% with (equilateral) triangular lattice
% with octave repetition for full scale in middle 2:1
/octequiv
true
def % true means ignore factors of 2, reduce ratios to octave
/primes
[ 3 5 ]
def % specify all relevant primes (incl. 2 if NOT octequiv)
% specify horizontal coordinates for each prime harmony above
/xcoords
[ 0.034 -0.490 ]
def
% define which ratios get links
/links
[ 3 2 5 4 6 5 ]
def
% specify line style (width, dashing, gray) for each type of link:
% (or if /styles is empty array, default style will be used)
/styles
[ ]
def
/scl [
4 3 1 1 3 2 9 8
5 3 5 4 15 8 45 32
16 15 8 5 6 5 9 5
] def
/nocts
3
def % number of octave repeats
/botoct
-1
def % lowest octave repetition
% specify label (string in parens) for each tone in scale:
% (or if /labels is empty array, ratios will be used)
/labels [
(F) (C) (G) (D) (A) (E) (B) (F#) (Db) (Ab) (Eb) (Bb)
] def
% faderest only works if /styles is empty, or no styles set gray
/faderest
0.7
def % do 1 in black, others in this gray (0 if all black)
% Can adjust label positions relative to dots (if set /offsetlabels to true)
% by using offsets of form {x y} relative to dot (not necessarily integers),
% where {1 1} means to upper right, {1 -1} = lower right, {-1 1} = upper left, etc.
% Then MUST specify an offset for each tone in scale, in /offsets below:
% (or if /offsets is empty array, default offsets will be used)
/offsets [
{-1.5 2.5} {-1.5 2.5} {-1.5 2.5} {-1.5 2.5}
{-1.5 1} {-1.5 1} {-1.5 1} {-1.5 1}
{1.5 -1} {1.5 -1} {1.5 -1} {1.5 -1}
] def %label offsets