solfg [-tx] [inputfile ...] [ > outputfile.slg]
**solfg
spines.
French pitch designations use the so-called "fixed-doh" system,
where:
do, ré, mi, fa, sol, la,
and
si
correspond to
C, D, E, F, G, A,
and
B.
In **solfg
, flats
(bémol)
and sharps
(dièse)
are abbreviated
b
and
d
respectively.
Hence, `do dièse'
(do~d)
for C sharp, `la bémol'
(la~b)
for A flat, `sol double-dièse'
(sol~dd)
for G double-sharp, `si double-bémol'
(si~bb)
for B double-flat, and so on.
The
solfg
command is able to translate any of the pitch-related
representations listed below.
In each case, a tuning standard of A4 equals 440 hertz is assumed.
For descriptions of the various input representations
(including **solfg
) refer to Section 2
(Representation Reference)
of this reference manual.
It is recommended that output files produced using the solfg command should be given names with the distinguishing `.slg' extension.
**cents
hundredths of a semitone with respect to middle C=0 **degree
key-related scale degree **freq
fundamental frequency (in hertz) **fret
fretted-instrument pitch tablature **kern
core pitch/duration representation **MIDI
Music Instrument Digital Interface tablature **pitch
American National Standards Institute pitch notation (e.g. "A#4") **semits
equal-tempered semitones with respect to middle C=0 (e.g. 12 = C5) **specC
spectral centroid (in hertz) **Tonh
German pitch system
The solfg command provides the following options:
Options are specified in the command line.
-h displays a help screen summarizing the command syntax -t suppresses printing of all but the first note of a group of tied **kern notes
-x suppresses printing of non-solfg data
The
-t
ensures that only a single output value is given for tied **kern
notes;
the output coincides with the first note of the tie.
In the default operation,
solfg
outputs non-pitch-related signifiers in addition to the solfg value.
For example, the **pitch
token "Gb5zzz" will result in the output
"sol~b5zzz" -- that is, after translating Gb5 to sol~b5,
the "zzz" signifiers are retained in the output.
For some applications, echoing non-pitch-related signifiers in the output
is useful.
However, in other situations, the result can prove confusing --
especially, when the non-pitch-related signifiers are numbers.
Consider the case of the **kern
token "8aa#";
after translating `aa#' to la~d5, the non-pitch-related signifier `8'
will also be output, hence the value 8la~d5 -- which may cause
confusion.
Commands such as
pitch
and
solfg
treat the first number encountered in an input token
as the octave designation.
So further processing of this token may lead to it's interpretation as A#8
-- or even A#85 -- rather than A#5.
The
-x
option is useful for eliminating non-pitch-related signifiers from the output.
For most **kern
inputs, the
-x
option is recommended.
**deg
and **cocho
) cannot be processed by
solfg.
In addition, there are two non-pitch-related spines
(**embell
and **metpos
).
!! `solfg' example.
**kern **pitch **MIDI **deg **metpos **cocho **degree **embell
*M2/4 *M2/4 *M2/4 *M2/4 *M2/4 *M2/4 *M2/4 *M2/4
* * * * *tb8 * *d: *
=1 =1 =1 =1 =1 =1 =1 =1
8ee- G#4foo /60/bar 1foo 1 r 1/4 ct
. . /-60/ . . . . .
8ff A3 /62/ 2 3 9.89 2/4 upt
. . /-62/ . . . . .
8dd- Ab3 /70/ 1 2 7.07 3+/4 ct
. . /-70/ . . . . .
8d- C#4 /61/ 6 3 7.135 7/3 sus
. . /-61/ . . . . .
=2 =2 =2 =2 =2 =2 =2 =2
[4a- r . 5 1 r r .
. . . 7 3 5.5 1/4 ct
4a-] D4 /48/ /52/ 1 2 8.11 6+/4 ct
. . /-48/ . . . . .
. D4 F4 /-52/ 2 3 7.33 6.4 3/4 5/4 ct
=3 =3 =3 =3 =3 =3 =3 =3
r G4 . r 1 r 3/4 1/5 .
=== === === === === === === ===
*- *- *- *- *- *- *- *-
Executing the command
solfg -tx input > output
produces the following result:
Both processed and unprocessed spines are output.
Notice that the tied note at the beginning of measure 2 in the
!! `solfg' example. **solfg **solfg **solfg **deg **metpos **cocho **solfg **embell *M2/4 *M2/4 *M2/4 *M2/4 *M2/4 *M2/4 *M2/4 *M2/4 * * * * *tb8 * *d: * =1 =1 =1 =1 =1 =1 =1 =1 mi~b5 sol~d4 do4 1foo 1 r re4 ct . . . . . . . . fa5 la3 re4 2 3 9.89 mi4 upt . . . . . . . . re~b5 la~b3 si~b4 1 2 7.07 fa~d4 ct . . . . . . . . re~b4 do~d4 re~b4 6 3 7.135 do~d3 sus . . . . . . . . =2 =2 =2 =2 =2 =2 =2 =2 la~b4 r . 5 1 r r . . . . 7 3 5.5 re4 ct . re4 do3 mi3 1 2 8.11 si4 ct . . . . . . . . . re4 fa4 . 2 3 7.33 6.4 fa4 la4 ct =3 =3 =3 =3 =3 =3 =3 =3 r sol4 . r 1 r fa4 re5 . === === === === === === === === *- *- *- *- *- *- *- *- **kern
spine has been rendered as a single note rather than as two notes
(due to the
-t
option).
Also notice that the non-pitch-related signifiers (e.g. foo)
in the first notes of the **pitch, **MIDI
, and **cocho
spines have been stripped away (due to the
-x
option).
In the case of the **degree
input,
solfg
recognizes the spelling of various pitches in the context of the key of
D minor.
Hence, the raised third degree is fa~d
(F#),
and the raised sixth degree is si
(B natural).
x_option.awk
is used by this program when the
-x
option is invoked.
**cents (2),
cents (4),
**degree (2),
degree (4),
**freq (2),
freq (4),
**fret (2),
**kern (2),
kern (4),
**MIDI (2),
midi (4),
mint (4),
**pitch (2),
pitch (4),
**semits (2),
semits (4),
**solfg (2),
**specC (2),
specc (4),
**Tonh (2),
tonh (4)