‹élőfej›
‹dátum/idő›
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
‹élőláb›
‹#›
An algebraic representation of Labanotation for retrieval and other operations
Widely used computer applications for Labanotation like LabanWriter, Calaban are simple graphic editors and do not contain search facilities. The first experimental software for retrieval was DanceStruct by János Fügedi. The next generation application in Hungary is Labanatory; its latest version has the capability to search for almost all Labanotation signs or sign groups in a score.
The development of these systems were inspired by the need to support analyses of Central European traditional dances, based on the assumption that recurring movements correspond to repeating patterns in Labanotation, since similar movements are indicated in a similar way. These searches can be performed in any dance style in which movement repetitions exist. Searches are useful for checking the uniformity of sign usage or spell-checking scores.
To implement a retrieval system in a computer, a digital representation has to be defined for it. First of all, the general problem of computerized search will be demonstrated with a simple case, the case of English texts.
We want to search this three-letter text (word ‘sit’) in this text.
In the computer, a sequence of characters is represented with a sequence of integers. For example, the word ‘sit’ is represented with three integers in the standard ASCII coding. Finding a text is achieved as a pattern search in the corresponding integer sequence representation: while the first integer pattern is gradually being slid on the second one, a match is examined between them. Where the two patterns match, a hit is indicated.
It is not obvious what general requirements can be set for searches on kinetograms. Where are the hits expected for example in this search? We want to find the sign pattern on the left which consists of a space measurement sign and a direction sign. Where are the hits expected? HERE or HERE? It is a normal expectation that hits should be detected at the places indicated with question marks, where the match of the sign-patterns is not perfect, but certain types of matches applies.
Five matches are illustrated on the next slide.
In the case of the augmented match, a certain vertical lengthening transformation is performed. In the case of the symmetrical match, a certain horizontal mirroring transformation is executed. In the case of the exact match, the coordinates and the length of the corresponding signs are the same. In the case of the sign-length tolerant match, sign-length data is eliminated in the verification.
The pre-sign tolerant match allows a certain shift by the length of a pre-sign.
The previously presented match examples are valid at the graphic level. Beyond the graphic level, syntactic and semantic levels can also be defined, and retrieval operating on these levels might also be expected. The concepts of graphic, syntactic and semantic levels are illustrated here with the these equalities. Two kinetograms are graphically equal if they describe movements with the same signs, each in the same 2D position. Two kinetograms are syntactically equal if they describe movements with the same signs, each with the same meaning.
Two kinetograms are semantically equal if they describe the same movement.
Labanotation users can rightly expect that a retrieval program can perform searches at least on the syntactic level.
A possible representation of this kinetogram is shown on the right. Two coordinate axes are added so that the coordinates of the signs can be determined. The representation lists the elements: the sign identifiers, 2D coordinates, and the length of lengthenable signs. In the first line, 46 (forty-six) is the identifier of the space measurement sign, and in the second line, 32 (thirty-two) is the identifier of the direction sign. This simple representation does not support the examination of the pre-sign tolerant match and the syntactic searches easily.
Our representation will be a two-dimensional matrix. The basic idea is very simple. If an imaginary grid is placed on the kinetogram, coordinate intervals appear and can discretize x and y coordinate values. Matching these cells instead of examining coordinate values will decrease the computational effort and can ensure syntactic examinations including pre-sign tolerant matches. The question is where the grid should be placed on kinetograms and how dense it should be. Horizontally, there is natural grid size that comes from Labanotation: the staff column width. Vertically, it is worth considering the start of beats or subdivisions of the beats. The elements of the matrix are identifiers of Labanotation signs. Each sign identifier is inserted into the matrix element that belongs to the grid cell in which the sign is placed. The end of each lengthenable sign is represented in a separate cell. In this example, three integers are inserted into the matrix: 46 (forty-six) represents the space measurement sign, 32 (thirty-two) represents the direction sign and the 532 (five hundred thirty-two) represents the end of the direction sign. The task is to find general rules that describe the insertion of sign identifiers into the matrix for all Labanotation signs.
When implementing the idea of the matrix representation, the matrix will be defined more and more precisely.
These figures show some problems where to insert given sign identifiers into the matrix. The solution is usually to introduce new matrix columns for all the signs that can be placed in the relevant staff column.
The representation that was improved during the development of the Labanatory software is a matrix containing 166 (one hundred sixty-six) columns.
With a well-constructed matrix representation, search can be performed: while a matrix pattern is being gradually slid on another matrix, a pattern match has to be examined for the non-zero elements. The Labanatory software creates the matrices from digitized scores on the basis of sign data and the grid size set by the user, then performs the requested search by sliding and matching the matrices.
The matrix representation can also be used for other operations, examining matrix cells rather than 2D coordinates. This slide is an example for creating an intersection of kinetograms. With this operation it is possible to get the common parts of two kinetograms. In the slide, the intersection of the first and the second kinetograms is the third one. The result consists of three signs: all that occur in both kinetograms. The operation was performed with the matrices at right. Since identifier 32 (thirty-two) exist in both above kinetograms, it was put into the matrix below. It means that the left direction sign is in the intersection.
This presentation can be downloaded from Labanatory homepage.
And now, I would like to show real searches with the software.
After starting the software, you can see three staves of a complex query. We want to find those score parts where the THIS OR THIS OR THIS pattern of signs occur. (This query describe a touch, a side moving and a closing)
This screen shows a part of a Transylvanian traditional male solo dance, danced János Lőrincz. If we perform the search for the previous three patterns, we got hits at the red-color indicated places.
I would like to pay the attention that those patterns were found which has a pre-sign........