abcmatch - Search for specific sequences of notes in an abc file composed of
many tunes.
abcmatch abc file [
-c] [
-v] [
-r]
[
-con] [
-fixed nn] [
-qnt] [
-lev] [
-a]
[
-ign] [
-br %d] [
-tp abc reference file] [
-ver]
[
-pitch_hist] [
-wpitch_hist] [
-length_hist]
[
-interval_hist] [
-pitch_table] [
-interval_table]
reference number
abcmatch is used to search for specific sequences of notes in an abc file
composed of many tunes. For example, if you know a few bars of a tune, you can
use this program to find the tune having this sequence and perhaps identify
the tune. At a minimum, abcmatch requires two files. A template file called
match.abc which contains the bars that you are searching for and a large file
consisting of a hundred or more abc tunes. The program automatically loads up
the match.abc file and then scans every tune in the large file
- -v and -c
- mainly used for debugging when the program does not do what
was expected.
- -ver
- prints version number and then exits
- --norhythm
- Causes the matching algorithm to ignore the length of notes
in a bar, thus E3/2F/D GA2 would match EFD G2A. The option ignores -r
parameter since it is now irrelevant.
- -pitch_table
- Used to produce a interval weighted pitch histogram for
each tune in the file. If this is saved in an external file, that file
could be used as a database for finding tunes with similar pitch
probability density functions (pdf).
- -r
- Controls how the matching criterion handles small rhythm
variations in the melody. The -r option must be followed by a number which
specifies the temporal resolution for the match. When the number is zero,
this indicates that a perfect match should be performed, meaning that the
lengths of each note in the bar must match exactly in order to be
reported. For larger values a looser match will be performed as described
below. Note lengths are converted into temporal units where a quarter note
normally is assigned a value of 24. Therefore an eight note has a value of
12, a sixteenth has a value of 6, a half note has a value of 48 and etc.
If you specify a temporal resolution of 12, then the pitch values of the
notes only need to match at time units which are multiples of an eighth
note.
- -fixed n
- Causes the program to disregard bar lines when does the
matching. It allows matching of notes between tunes having different time
signatures. n is a number which specifies the exact number of notes to
match. For example if n is 4, the program could match |C E G E| .. with |C
E|G E| Note the matcher still starts at a beginning of a given bar for
both the tune and template.
- -con
- Specifies contour matching. In this case, the program uses
the key signature only to indicate accidentals. The pitch contour is
computed from the pitch difference or interval between adjacent
notes.
- -qnt
- Uses the contour matching algorithm but also quantizes the
intervals using the following table:
unison and semitone 0 minor 2nd to major 2nd 1 minor 3rd to major 3rd 2 any
larger interval 3
Negative numbers are descending intervals.
- -tp file name, reference number
- Substitute any tune for the template match.abc. When using
this feature, the entire tune is used as a template. Abcmatch does not
match the template with itself, and only bars which match bars in other
tunes are reported.
- -br threshold
- Runs the program in a brief mode designed to identify
groups of tunes sharing common bars. In this mode, the program counts the
numbers of bars in the test tune which are also present in match.abc. If
the number of common bars is larger or equal to the threshold then the
program reports the tune and the number of common bars. The program scans
all the tunes in the abc file and returns a list of all the tunes which
have more than a specific number of bars in common with the template,
match.abc. In actual use, the program is run repeatedly by a script. For
each tune in a abc file, it creates a template file called match.abc and
then executes abcmatch. The outputs are displayed on the screen in a form
easy to interpret. The user has no control of the matching criterion. The
rhythm must match exactly and the notes are transposed to suit the key
signature. In other words the -r parameter is independent of what is
specified in the parameter list.
- -pitch_hist or -length_hist
- Runs the program in another mode. It produces a histogram
of the distribution of the notes in the abc file. The pitch is indicated
in midi units. Thus middle C is 60 and the pitches go up in semitone
units. Following the pitch is a count of the number of times that note
occurred.
- -pitch_table or -interval_table
- Used to create a database for a collection of tunes in a
file for future analysis.
abc2abc(1),
abc2midi(1),
mftext(1) ,midi2abc
(1)
,
midicopy(1) ,yaps
(1)
This manual page was written by Ross Gammon based on abcmatch.txt by Seymour
Shlien.
This man page describes abcmatch version 1.35 from January 15 2006.