synco -- measure degree of metric syncopation for Humdrum input


synco [-e] [inputfile ...] [ > outputfile.syn]


The synco command characterizes the degree of metric syncopation evident at successive moments in a passage. It outputs a single Humdrum spine (**synco) containing numerical values representing the instantaneous level of syncopation.

The synco command requires at least two spines of input data -- one of which must be **metpos. (The **metpos representation encodes the position in the metric hierarchy for each data record in the input.) The other input spine(s) must contain information that explicitly or implicitly encodes the occurrence of note onsets. Appropriate inputs to synco include the pitch-related representations listed below. For descriptions of the various input representations refer to Section 2 (Representation Reference) of this reference manual.

**cbrcritical band rate (in equivalent rectangular bandwidths)
**centshundredths of a semitone with respect to middle C=0
**cochocochlear coordinates (in millimeters)
**degkey-related relative scale degree
**degreekey-related absolute scale degree
**freqfundamental frequency (in hertz)
**fretfretted-instrument pitch tablature
**kerncore pitch/duration representation
**MIDIMusic Instrument Digital Interface tablature
**pcpitch class
**pitchAmerican National Standards Institute pitch notation (e.g. "A#4")
**semitsequal-tempered semitones with respect to middle C=0 (e.g. 12 = C5)
**solfatonic solfa syllables
**solfgFrench solfège system (fixed `doh')
**specCspectral centroid (in hertz)
**TonhGerman pitch system
Input representations processed by synco.

The resulting **synco spine contains numerical values, where zero represents no metric syncopation and successively increasing values represent increasing amounts of metric syncopation.

The synco command implements a definition of metric syncopation inspired by the work of Lee and Longuet-Higgins (see REFERENCES). In brief, metric syncopation may be defined as a moment where an expected metric stress is absent. More specifically, a metrically syncopated moment is defined as occurring when no note-onset happens at a moment whose metric position is more important than that of the most recent note onset. For example, where a note onset occurs on the second beat of a quadruple meter, and is not followed by a note onset on the third beat, the third beat is deemed metrically syncopated because it occupies a higher metric position than the previous onset.

The numerical output values generated by synco are calculated as the logarithm of the metric position of the previous onset minus the logarithm of the metric position of the current moment -- where the current moment has no note onset, and coincides with a higher metric position than the previous onset. The use of the logarithmic difference weights the output values so that missing downbeats at the beginning of a measure produce a greater metric syncopation value than lesser beats or sub-beats in the measure. In addition, metric syncopation is greater when the difference in metric position between the previous onset and the current moment is greatest. (See EXAMPLES.)

If more than one musical part is given as input, synco responds to the aggregate rhythmic structure -- as though all of the parts were amalgamated into a single rhythmic stream. By itself, a single musical part may evoke considerable metric syncopation, but in combination with other parts, metrically syncopated moments are typically fewer. In short, running synco on a multi-part score normally produces different results from running synco on each part individually.

synco monitors the input in order to determine the Humdrum time-base -- if encoded. Specifically, synco checks to ensure that the time-base is not excessively short. It is possible to have time-base values that exceed the temporal resolving power of human listeners. For example, if an onset appears a thirty-second duration prior to an expected down-beat, listeners are apt to hear the displaced onset as occurring on the beat rather than being a very short syncopation. "Excessively short" is operationally defined as a time-base resolution shorter than a sixteenth note. In such cases, synco issues a warning, noting that the time-base may be too short.

Note that only one metrically syncopated moment can happen following a given note onset; subsequent syncopated moments require the intervention of another note onset. By way of example, a note occurring immediately prior to an absent major downbeat, will not also cause syncopated moments to arise for other beats within a measure containing only rests. In short, two metrically syncopated moments can't occur without some note onset intervening.

It is recommended that output files produced using the synco command should be given names with the distinguishing `.syn' extension.


The synco command provides the following options:
-eecho the input in the output
-hdisplays a help screen summarizing the command syntax
Options are specified in the command line.

If the -e option is invoked, the output will echo all of the input spines along with the **synco output.


The following two examples illustrate the use of synco. In both examples, the left-most spines represent the input, and the right-most spine (labelled **synco) represents the corresponding output.

The first example shows the minimum input of a single **pitch input plus the metric position information (**metpos). The meter signature is 2/4 and the time-base is an eighth duration. (See the timebase (4) command.) Hence there are 4 data records per measure. The first beat in each measure is assigned the metric position "1"; the second beat is assigned the metric position "2"; and the second half of each beat is assigned the metric position "3". Zero values in the **synco spine indicate the absence of any syncopation. In measure 3, a single syncopated moment happens at beat 2. The output was produced using the simple command: synco inputfile.

!! Example #1
In the following example, two metrically syncopated moments are evident. Notice that the rhythmic information for the two **kern spines is amalgamated, and that the non-pitch spine (**foo) has no affect on the processing.
!! Example #2


DOS 2.0 and up, with the MKS Toolkit. OS/2 with the MKS Toolkit. UNIX systems supporting the Korn shell or Bourne shell command interpreters, and revised awk (1985).


metpos (4), **synco (2), timebase (4), urrhythm (4)


Longuet-Higgins, H. C., & Lee, C. S. "The perception of musical rhythms," Perception, Vol. 11 (1982) pp. 115-128.