semits [-p n] [-tx] [inputfile ...] [ > outputfile.sem]
**semits
spines containing values corresponding to the semitone distance
from middle C for pitch-related input tokens.
Pitches above middle C produce positive output values,
whereas pitches below middle C produce negative output values.
For example, the **pitch
token "C3" is transformed to -12 (-ts).
The
semits
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 **semits
) refer to Section 2
(Representation Reference)
of this reference manual.
It is recommended that output files produced using the semits command should be given names with the distinguishing `.sem' extension.
**cents
hundredths of a semitone with respect to middle C=0 (e.g. 1200 equals C5) **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 **solfg
French solfège system (fixed `doh') **specC
spectral centroid (in hertz) **Tonh
German pitch system
The semits command provides the following options:
Options are specified in the command line.
-h displays a help screen summarizing the command syntax -p n output precision of n decimal places -t suppresses printing of all but the first note of a group of tied **kern notes
-x suppresses printing of non-semits data
The
-p
option can be used to set the precision of the output values to n
decimal places.
The default precision is integer values only.
Note that
semits
is able to process **semits
as input; this feature allows the user to round-off existing **semits
data to a specified precision.
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,
semits
outputs non-pitch-related signifiers in addition to the semits value.
For example, the **pitch
token "A5zzz" will result in the output
"21zzz" -- that is, after translating A5 to 21 semits,
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 21 semits, the non-pitch-related signifier `8'
will also be output, hence the value 821 -- which will undoubtedly cause
confusion.
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
semits.
In addition, there are two non-pitch-related
spines (**embell
and **metpos
).
!! `semits' example.
**kern **pitch **MIDI **deg **metpos **cocho **Tonh **embell
*M2/4 *M2/4 *M2/4 *M2/4 *M2/4 *M2/4 *M2/4 *M2/4
* * * * *tb8 * * *
=1 =1 =1 =1 =1 =1 =1 =1
8ee- G#4foo /60/bar 1foo 1 r Gis2 ct
. . /-60/ . . . . .
8ff A3 /62/ 2 3 9.89 H2 upt
. . /-62/ . . . . .
8dd- Ab3 /70/ 1 2 7.07 B2 ct
. . /-70/ . . . . .
8d- C#4 /61/ 6 3 7.135 Cis4 sus
. . /-61/ . . . . .
=2 =2 =2 =2 =2 =2 =2 =2
[4a- r . 5 1 r r .
. . . 7 3 5.5 Heses2 ct
4a-] D4 /48/ /52/ 1 2 8.11 C3 ct
. . /-48/ . . . . .
. D4 F4 /-52/ 2 3 7.33 6.4 C3 Es3 ct
=3 =3 =3 =3 =3 =3 =3 =3
r G4 . r 1 r H2 D3 .
=== === === === === === === ===
*- *- *- *- *- *- *- *-
Executing the command
semits -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
!! `semits' example. **semits **semits **semits **deg **metpos **cocho **semits **embell *M2/4 *M2/4 *M2/4 *M2/4 *M2/4 *M2/4 *M2/4 *M2/4 * * * * *tb8 * * * =1 =1 =1 =1 =1 =1 =1 =1 15 8 0 1foo 1 r -16 ct . . . . . . . . 17 -3 2 2 3 9.89 -13 upt . . . . . . . . 13 -4 10 1 2 7.07 -14 ct . . . . . . . . 1 1 1 6 3 7.135 1 sus . . . . . . . . =2 =2 =2 =2 =2 =2 =2 =2 8 r . 5 1 r r . . . . 7 3 5.5 -15 ct . 2 -12 -8 1 2 8.11 -12 ct . . . . . . . . . 2 5 . 2 3 7.33 6.4 -12 -9 ct =3 =3 =3 =3 =3 =3 =3 =3 r 7 . r 1 r -13 -10 . === === === === === === === === *- *- *- *- *- *- *- *- **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).
x_option.awk
is used by this program when the
-x
option is invoked.
**cents (2),
cents (4),
**freq (2),
freq (4),
**fret (2),
**kern (2),
kern (4),
**MIDI (2),
midi (4),
**pitch (2),
pitch (4),
**semits (2),
**solfg (2),
solfg (4),
**specC (2)
specC (4),
**Tonh (2),
tonh (4)