![]() |
![]() |
tonh [-tx] [inputfile ...] [ > outputfile.tnh]
**Tonh spines.
German pitch designations are similar to the common A-G designations
used by English speakers.
The letter `H' signifies the English `B', whereas the letter `B'
signifies English `B-flat'.
Sharps and flats are indicated via the suffixes "is" and
"es" respectively -- hence `Cis' for `C#' and `Ges' for `Gb'.
Special exceptions include `Heses' for B double-flat rather than `Bes',
`As' and `Es' rather than `Aes' or `Ees', and `S' as an alias for `Es' (E-flat).
The
tonh
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 **Tonh) refer to Section 2
(Representation Reference)
of this reference manual.
It is recommended that output files produced using the tonh command should be given names with the distinguishing `.tnh' extension.
**centshundredths of a semitone with respect to middle C=0 **degreekey-related scale degree **freqfundamental frequency (in hertz) **fretfretted-instrument pitch tablature **kerncore pitch/duration representation **MIDIMusic Instrument Digital Interface tablature **pitchAmerican National Standards Institute pitch notation (e.g. "A#4") **semitsequal-tempered semitones with respect to middle C=0 (e.g. 12 = C5) **solfgFrench solfège system (fixed `doh') **specCspectral centroid (in hertz)
The tonh 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 not of a group of tied **kern notes-x suppresses printing of non-Tonh data
The
-t
option ensures that only a single output value is given for tied **kern notes;
the output coincides with the first note of the tie.
In default operation,
tonh
outputs non-pitch-related signifiers in addition to the Tonhöhe value.
For example, the **pitch
token "Gb5zzz" will result in the output
"Ges5zzz" -- that is, after translating Gb5 to Ges5,
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 Ais5, the non-pitch-related signifier `8'
will also be output, hence the value 8Ais5 -- which may cause
confusion.
Commands such as
pitch
and
tonh
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.
**degree
and **cocho) cannot be processed by
tonh.
In addition, there are two non-pitch-related spines
(**embell and **metpos).
!! `tonh' 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
* * * * * * *d: *
* * * * *tb8 * * *
=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
tonh -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
!! `tonh' example. **Tonh **Tonh **Tonh **deg **metpos **cocho **Tonh **embell *M2/4 *M2/4 *M2/4 *M2/4 *M2/4 *M2/4 *M2/4 *M2/4 * * * * * * *d: * * * * * *tb8 * * * =1 =1 =1 =1 =1 =1 =1 =1 Es5 Gis4 C4 1foo 1 r D4 ct . . . . . . . . F5 A3 D4 2 3 9.89 E4 upt . . . . . . . . Des5 As3 B4 1 2 7.07 Fis4 ct . . . . . . . . Des4 Cis4 Des4 6 3 7.135 Cis3 sus . . . . . . . . =2 =2 =2 =2 =2 =2 =2 =2 As4 r . 5 1 r r . . . . 7 3 5.5 D4 ct . D4 C3 E3 1 2 8.11 H4 ct . . . . . . . . . D4 F4 . 2 3 7.33 6.4 F4 A4 ct =3 =3 =3 =3 =3 =3 =3 =3 r G4 . r 1 r F4 D5 . === === === === === === === === *- *- *- *- *- *- *- *- **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 and **MIDI
spines have been stripped away (due to the
-x
option).
In the case of the **degree input,
tonh
recognizes the spelling of various pitches in the context of the key of
D minor.
Hence, the raised third degree is Fis (F#), and the raised sixth degree
is H (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),
hint (4),
**kern (2),
kern (4),
**MIDI (2),
midi (4),
mint (4),
**pitch (2),
pitch (4),
**semits (2),
semits (4),
**solfg (2),
solfg (4),
**specC (2),
specC (4),
**Tonh (2)