\ == stem down
The basic algorithm for adding stems onto single notes when no beams are present:
In order to determine the location of a note on a staff, the clef must be known. For example, G4 is on the second line from the bottom of the staff when a treble clef is being used, but when an alto clef is being used, the G4 pitch is on the top line of the staff.
Here is an example of stem directions being added to notes in various clefs. Note that the input to the program does not require valid rhythmic syntax in the **kern spines. For example, the following data contains no rhythms:
Staff positionsUsing the -p option will display the vertical staff position of the notes, which is a preliminary step in assigning a stem direction. The positions will be added to the original data in a single spine listing all of the note positions for the current line.
Middle-line stem directionBy default, autostem will set the stem direction of notes on the middle line downwards. If you want the stem on notes found on the middle line to instead point upwards, then use the -u option:
Removing stemsTo remove stems from the **kern data in a Humdrum file, use the -r option:
Explicit stem directionsStems can be frozen in a specific direction by adding a single "x" character immediately after the stem character. This marker will cause the autostem program to avoid changing/removing a stem on that particular note. Here is an example where the pitches "e" and "ee" have stem directions which are opposite of the stem-direction algorithm:
When removing stems, the -r option will not remove stems which have a single "x" character after them:
When removing stems, the -R option will remove all stems, including ones which have a single "x" character after them:
program file.krnIt can also read the data over the web:
program http://www.some-computer.com/some-directory/file.krnPiped data works in a somewhat similar manner:
cat file.krn | programis equivalent to a web file using ths form:
echo http://www.some-computer.com/some-directory/file.krn | program
Besides the http:// protocol, there is another special resource indicator prefix called humdrum:// which downloads data from the kernscores website. For example, using the URI humdrum://brandenburg/bwv1046a.krn:
program humdrum://brandenburg/bwv1046a.krnwill download the URL:
Musedata Bach Brandenburg Concerto collection.
This online-access of Humdrum data can also interface with the classical Humdrum Toolkit commands by using humcat to download the data from the kernscores website. For example, try the command pipeline:
humcat humdrum://brandenburg/bwv1046a.krn | census -k