Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ABCMATCH(1)		    General Commands Manual		   ABCMATCH(1)

NAME
       abcmatch	 -  Search for specific	sequences of notes in an abc file com-
       posed of	many tunes.

SYNOPSIS
       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

DESCRIPTION
       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

OPTIONS
       -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	varia-
	      tions  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	match-
	      ing.  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  in-
	      tervals 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 spe-
	      cific 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 pa-
	      rameter 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 indi-
	      cated 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.

SEE ALSO
       abc2abc(1), abc2midi(1),	mftext(1) ,midi2abc(1) ,midicopy(1) ,yaps(1)

AUTHOR
       This  manual  page  was written by Ross Gammon based on abcmatch.txt by
       Seymour Shlien.

VERSION
       This man	page describes abcmatch	version	1.35 from January 15 2006.

								   ABCMATCH(1)

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | SEE ALSO | AUTHOR | VERSION

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=abcmatch&sektion=1&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help