Notation Reloaded: eXtensible Dance Scripting Notation
This paper presents a new form of dance notation that has a hand written and machine readable format: eXtensible Dance Scripting Notation (xdsn). The notation system is designed to be quick to write, simple to learn and able to handle complex, emergent and deconstructivist dance works. The machine readable format of xdsn is platform independent, searchable, and well formed to encourage the development of dance notation software. An overview of the system is given illustrating its context in current contemporary dance ontology and as a mechanism for notation driven avatar animation. eXtensible Dance Scripting Notation was developed by the author of this paper in direct response to a proposal from Michael Klein for alternative methods of dance scripting. The system (version 0.3), is currently in localised use and will be developed at the School of Computing Sciences, University of East Anglia, Norwich. This work will be undertaken as a Phd Research project under the leadership of Professor John Glauert.
I - BACKGROUND
Michael Klein  proposed that multiple choreographers’ timelines, dynamic lines, space-diagrams and scribbles could be examined to develop a common scripting language. This choreographic scripting language could then be used to develop and plan dance works. Although he advocated a paper based, left to right reading format his intention was avoid a linear notation system that would potentially prevent the scripting of complex and emergent works. Klein asserts that:
Visualisation is a broader problem these days as now [sic] longer everything is logically determinable. In science problems of complexity, quantum physics, chaos theory, etc. give us 'un-visualsable'[sic] ideas to deal with. How can even a concept of relative time be meaningfully represented. It seems like a certain 'class of visualisation' stopped with relativity theory. Nevertheless this hasn't stopped us to notate along [sic], scribble on drawing pads, making lines to imagine a performer's path, dots to make clear that there is a stress in movement and 'really, really, really black dots' to 'double stress' an event. Klein 
Hagendoorn supports this view claiming, '[t]he more complex a system becomes, the more information is needed to describe it, in terms of a choreography: the more instructions one has to give to the dancers' . However, the perception of complexity is dependant on the observer, for whilst it is possible to illustrate complex systems (by grouping and linking) the act itself negates their complexity. Conversely, ostensibly simple looking systems can potentially be hugely complex. It can be argued therefore, when notating complex dance works the ability to define events is more important than the ability to illustrate their complex links.
William Forsythe's deconstructivist works clearly illustrate the challenges to traditional notation systems when documenting complex or emergent choreography. When using Laban Notation to document William Forsythe's Artifact II (1984) Sandra Aberkaln used colour to define structured improvisations (tasks), set choreography and choreographic directives open to dancer choice . Although Aberkaln's solution demonstrates that adaptation of existing systems is possible, it only adds to the difficulty of mastering such systems and reduces the speed of notation. Any new system of notation (in order to be useful) must be able to handle such functions natively and quickly to aid the planning and development of new choreographies.
Royce Neagle's review of dance notation software  highlights the need for any new notation to be designed with software development and avatar animation in mind. Aside from the difficulties of converting abstract symbol (glyph) based notations into computer based languages, Neagle also reveals the inability of current machine readable notation scores to be searched for specific content. For the purposes of dance research and analysis, the ability to search a database of machine readable notation would be a huge advantage when examining an artist's body of work. Searchable and well formed data would also ease integration and communication with existing software, facilitate new software development and provide clear mapping points for avatar animation systems.
II - CONCEPT & GOALS
To facilitate development a clear set of concepts and goals were laid out. The notation should:
The notation should inform, not instruct.
III - THE SCORE
The design requirements for the notation score called for a similar approach to western music notation. Benesh Movement Notation  and Sutton Dance Writing  both use scores based on the five staff music stave. Although this arrangement is useful when presenting the notation alongside music scores, this advantage is gradually being negated by the use of electronically composed music and sound scapes which have no written score. The limitations of western music notation when notating emergent forms can be inferred by the various adaptations of the system made by the 20th century avant garde composers such as John Cage, Steve Reich and Karlheinz Stockhausen .
The basic score for the notation system consists of a single stave, single staff and bar lines:
The formal, yet open design of the score allows maximum flexibility of use whilst remaining simple to implement and interpret.
As long as the notation occurs within the basic score it is possible to make a machine readable version of the scripting.
Notes on the score:
The single staff can occur at any point on the stave, the default position is centre stave:
When multiple staves occur in the same timeline bar lines run across the staves and link them together:
The end of a stave is signified by a bar without a staff. This is the 'at rest' bar and may be used at throughout the score. When making detailed notations to describe a specific movement event, the 'at rest' bar should be used to define the start and end positions. This is particularly relevant when using the notation to animate avatars as many animation packages use a standing avatar as default. This notation does not have a default body position.
To indicate a stave has finished (whilst other staves remain) or the absence of events in a bar, the staff is continued but the stave is not drawn:
The single staff can also be used to guide the creation of one and three dimensional scores  that embody post structuralist principles. With the range of scripting approaches available, it is possible to document, plan or script dance works whilst retaining the 'essence' of a work and documenting the choreographer's working process.
IV - THE NOTATION
The xdsn system draws on the strengths of existing notation systems  utilising word, abstract symbol and numerical notation markings. Because xdsn aims to imply rather than instruct, movement can be separated from body location and limbs can be notated without specifying which side (e.g. leg). If very concise notation is required combinations of the symbols can be used to define what, why, where and how an event happens. For example, first arabesque 'could' be notated as:
To notate the orientation of movement in three dimensional (Euclidean) space, Euler angles (Pitch, Roll, Yaw), with an axis rotation (_) are used. The Euler angles and rotation are given as a set of four numerical values:
The values are written as four sets of three digit numbers from 000 to 360 (a full circle being 360 degrees) in negative and positive numbers. The movement direction is clockwise and upward for positive numbers, anti clockwise and downward for negative numbers. To understand how this works try the following exercise:
Stand up with you palm facing your thigh (this is the start position for each set of values), the right wrist is the body location leading the movement.
090 000 000 000 - the wrist impulse is 90° (degrees) pitch, the arm rises to elbow level in front of you. you palm is facing the left.
090 090 000 000 - 90° pitch 90° yaw, the arm comes to elbow level and out to the side in one continuous motion. you palm is facing the front.
090 090 090 000 - 90° pitch 90° yaw 90° rotation. same as above except now the palm is facing the ceiling.
090 045 090 045 - 90° pitch 45° yaw 90° rotation, 45° axis-rotation. same as above, the axis-rotation (_) means that this impulse starts at 45° angle from the start point (z).
Due to the nature of the impulse element it is not possible to derive the location of other body parts form the notation (unless given) nor understand 'where you are going' without following the full passage. Hutchinson Guest describes the situation as being on a boat at sea '... tacking this way and that, ... But to avoid getting lost one has to determine the boat's position, to relate to points on the globe, to know one's latitude and longitude. At some point movement also needs to be similarly defined' . Although such definitions are important for the repeatable reconstruction of set works, many modern works are not as clearly defined. Focus has shifted away from where the dancer moves through the space, to how they move through their body in a defined space. The impulse element reflects this change. To speed up the writing process up to two zeroes can be stripped from the values as needed.
Because the four numerical values of the impulse element relate to Euler angles and rotation matrices they can be converted to Quaternions, a standard method for describing motion in computer animation and motion capture data. One advantage of this method is that little interpolation is needed when using the notation for computer animation or converting motion capture data into human readable notation scores.
The path element is used to describe the path a movement takes (impulse defines direction). Although the path element has a defined set of values, these can be added to if required by the choreographer. When adding custom values they should be prefixed with the word 'path' in the first instance for reading clarity. The defined values for the path element are:
line, angle, rectangle, curve, circle, spiral, twist, zigzag, release, arbitrary, translation.
The path element can be used alone or in conjunction with other elements (090 000 000 000 curve).
The move element is used to describe global movements that would otherwise involve extraneous notation. The values for the move element are:
rise, hop, leap, jump, step, walk, run, slide
the attribute is applied to the leading rather than the working leg:
Remember that: hop= no change, leap= one foot to other foot, jump= both feet together. The move element can be used alone or in conjunction with other elements (090 000 000 000 curve slide).
The effort element is drawn directly from the work of Laban  and is used to describe movement dynamics. The values for the effort element have been design to work with the EMOTE model for effort and shape  and the work of Liwei Zhao . The values are paired and only one value from each pair can be given.
The values can also be given a numerical value from minus ten to plus ten for more accurate description and EMOTE mapping.
The effort element can be used alone or in conjunction with other elements (090 000 000 000 curve slide sudden_10 free_-5).
Because the elements relating to movement can be placed at any point on the score, a list of body parts must be specified. The body location elements are given below:
The same notation model continues for other body parts: <hip> hip, <k> knee, <a> ankle, <ua> upper arm, <la> lower arm, <ul> upper leg, <ll> lower leg, <hand> hand, <foot> foot. Fingers and toes are notated from 1 to 5 (1 being the big toe or thumb) given the prefix 'm' (metatarsal / metacarpal) and used as a prefix of the hand or foot element, for example:
Each bone in the finger or toe can also be defined. The head and spine are identified and abbreviated as follows:
The short form should be used (with or without the angle brackets <>) and not the longer description. Although body locations are set the system allows any point to be defined by the choreographer according to need. This should be noted on the score and the same form used consistently, e.g. '<liver>=body location' then just the short form 'liver' can be used throughout the score.
PRESSURE POINT (WEIGHT)
In everyday use the term weight is often synonymous with the term mass. However, mass is different. What you weigh has to do with gravity; your mass is measured without gravity. To define mass more specifically, it is necessary to use Newton's second law of motion: F = Ma.
What we perceive when we 'feel weight' in a movement is the change of location at which we can 'feel' the force of gravity act. We cannot transfer this force as it acts on all parts of our body. Because we are unable to perceive our centre of gravity (as it can lie outside the body) it is unsuitable for notation and this is the reason why we have the term 'weight'. However, rather than 'weight' the element used is pressure point <pp>. This re labeling means the element can be used to identify where the 'weight' is, and for describing any point of contact where pressure is given or received (such as lifting or supporting). Using a combination of impulse, path , body location and pressure point elements it should be possible to notate the complex weight bearing and dynamic shifting found in contact improvisation.
The pressure point element, as with the other elements, can occur at multiple body locations at the same time.
NOTES ON THE NOTATION:
The impulse element is not confined by the angles or degrees of freedom available in the human body (unlike human movement simulation software). During real human motion we adapt the position of related joints or whole body alignment to allow greater rotational freedom. This can be observed clearly in salsa style dancing and contact improvisation. Limited degrees of freedom should be used to describe how the body behaves not how it moves, it is the limiting of degrees of freedom that defines the style of movement not how it is generated. The unusual implementation of the impulse element is intended to be used with a novel, epikinetic framework for avatar animation that synthesises rather than simulates human movement. Instead of replicating 'how' the body moves (degrees of freedom or visual impressions such as motion texture), the framework models the mechanisms that 'drive' movement using algorithms to simulate and synthesize motion impulse. Using this combined approach (the framework and notation) it should be possible to create real time, autonomous avatar animation with a high level of movement fidelity using minimal resources. Epikinetic modelling is based on Hypokinetic and Hyperkinetic Kinesthesia with particular reference to Sydenham's Chorea.
Traditionally dance notations work with a single kinesphere, 'whole body' approach. This new notation system deconstructs the body into multiple autonomous kinespheres with individual as well as grouped movement potential.
Any part of the body can determine momentum and direction, generating chains of movement that are refracted from one bodily part to another, simultaneously coordinating and isolating movements in bewilderingly complex configurations. The bodies can be seen as polyphonies instruments that can generate movement from any point rather than take impetus from the arms, or legs around a vertical trunk. Forsythe 
Hermans claims that '[i]n using the available DOF's (degrees of freedom) at every joint, it is possible to develop a refined and articulated moving body. It is a way of generating local movements in a highly coordinated system' . Yet this coordination simply describes how the body works in normal motion. Forsythe's approach, rather than creating a coordinated whole strives towards an un-coordinated interrelated whole. A polyphony of disparate independent points connected by limitations of the human body (degrees of freedom) and physics (gravity, mass, force).
The notation is not a fixed form presentation. The syntax and lexis is set, but extensible and defined in such as way as to allow individual approaches as to how the notation is written and the score implemented. A hand written xdsn score for an improvisation is shown below:
V - MACHINE READABLE SCORES & NOTATION
Despite the existence of various notation software products  early attempts to convert notation into machine readable code ran into several difficulties. Problems included abstract symbol to Euler angle and quaternion conversion , cross platform operability  and complexity of software development . Because the new notation has been developed with machine readability as part of the design requirements a more rapid and low cost software development period should result.
The machine readable file format of the score and notation uses XML and SVG;
XML has been designed to describe data. Using this format, files will be searchable, hardware / software independent and be able to share and exchange data with multiple systems. The advantages are:
The use of XML to describe human movement has been proposed and investigated for use in animating virtual avatars for some time. HumanML  attempts to codify human thought, emotion, gestures, attitude, intent and many other aspects of the human condition. However, it is overly complex for quick notation and unsuitable in terms of limited gesture description for the purposes of dance notation.
Attempts to turn sign language notation  into an XML format have been more successful. This is in part due to the limited number of limbs used, constrained degrees of freedom and formal vocabulary that sign languages use . Not only can these systems be used for 'real time' animation of sign language notation for web and kiosk services but the transformation of motion capture data into xml sign languages notation. The only working XML notation relating specifically to dance notation is the Country Dance animation project  in which XML and Java  are used to show overhead views of Country dance patterns. Clearly such an interpretation is too limited for contemporary choreographic needs.
Two different projects have presented mock-up Labanotation in XML format but they have not been developed, nor do they conform to the conventions of the written Labanotation score . However the problem does not lie in XML's suitability for encoding stave based notation. As MusicXML  demonstrates, XML can be successfully used to represent symbol based notations and scores and can be applied to a wide range of applications and custom built software. Indeed, during the design of the machine readable format for the new notation, an XML based mark up for Labanotation was designed as a proof of concept. It is believed that the Dance Notation Bureau in association with the Ohio State University is developing an xml based implementation of Labanotation but at time of writing no details were available.
The design of the xml notation markup has been optimised for human reading. The design should ease the creation and comprehension of machine readable scores (or conversion of existing documented dance works) by hand and encourage experimentation with the system and file format. The machine readable format is essentially the handwritten score with 'tags'  (the elements) encapsulating the content (the values).
The XML mark up is bar centric rather than part centric, this is to say, the time frame that events happen in is given precedence over the time line in which they occur. This layout is to ease human reading and creation of the markup. The creation of the XML based file requires only a text editor and a web browser, something every operating system provides for free. Therefore machine readable scores can be created from the hand written versions with a minimum of resources, the advantages of this situation are clear.
an example of the xml markup:
<?xml version="1.0" encoding="utf-8"?>
To see how the file works copy and paste the code into a text editor as a text file. Then save the file and rename the extension to .xml and open it in a web browser. Use the + and - to collapse and expand the element listings.
Because SVG is text based the image information can be placed inside the file format itself rather than depending on additional information. SVG is also scalable without loss of quality, this makes it suitable for printing scores in various sizes and formats from a single file. SVG data can be generated by random, fractal, algorithmic, evolutionary, geometric and other methods, allowing work to be devised according to the principles used. SVG can be data mined by human or machine to create movement (e.g. impulse, path, shape) via notation.
SVG is the most challenging element of the machine readable files for dancers. It can be found inside the scribble element which deals with drawings and scribbles on the timeline. The scribble element and SVG data for a wavy line and a slightly offset straight line look like this:
Although this code may look complex, it is in practice simple to deal with because although SVG data can be written by hand  , an SVG editor could be used if scripting directly into a computer or paper drawings could be scanned and converted into SVG files. The SVG data can then be 'cut and pasted' inside the scribble elements when writing machine readable files.
Although not all operating systems have SVG readers installed they are available for most platforms. It will be possible to combine an SVG / xml - editor, viewer and converter into one application that is free (or inexpensive) and platform independent (Java based) specifically for the purposes of this notation. Until such time there are many 3rd party options available for all systems both free or to purchase that may be used in the creation of machine readable scores.
As previously stated the SVG data can be converted to movement notation. This process can be automated or performed by hand. The notable aspect of these translations is that the choreographer can decide what elements map to each other retaining their individual and artistic interpretation of the source image, for example:
<polygon style="fill:black; opacity:0.5; stroke:none;" points=" 360 272 328 212 360 360" />
In this instance no body locations are given so whilst providing a structure, there is little compositional information. The relationship between the hand written and machine readable scores view can be observed in the following files: dainaemik.gif [51kb] dainaemik.xml [360kb]
The whole system is called eXtensible Dance Scripting Notation (xdsn). The name is both a composite of its constituent parts and a reflection of its possible implementations:
xdsn is currently in localised use and in the processes of being documented (the complete system has not been detailed here). It is envisioned that a basic working knowledge of the handwritten system can be taught in two days and as such the first open course for teaching the system will take place over a weekend in July 2004.
Version 0.4 of the machine readable format is nearing completion and will also be documented and made publicly available. Research in to the use of xsdn for avatar animation will be undertaken building on existing work with SiGML using C++, Open GL and Java. This research will include practical elements including motion capture / notation comparisons and live performances using real time computer generated scores interpreted by dancers via head mounted displays.
It is hoped that a version of eXtensible Dance Scripting will be used to develop a searchable library of 'meta logs' that illustrate several choreographers' choreographic processes. This work may be under taken in association with Daghdha Dance Company.
It could be argued that xdsn is a disruptive technology  . A simple, low cost solution for rapid development and experimentation xdsn is not designed to replace existing dance notation systems but complement them. Whereas an 'XML Labanotation' would be more suitable for animating existing scores, xdsn can be used to develop ideas and concepts with greater speed and ease of use. It should be possible to transform one type of xml based notation to another allowing a variety of methods for developing, documenting and sharing works.
With regards to developing editing applications for xdsn the process should be a simple adaptation of existing xml and SVG applications. There are some 250 specific elements of the xdsn lexis that will need to be implemented as opposed to the 800 plus symbols for Labanotation. This relatively small set of terms can be embedded in a simple 'what you see is what you get' format with automatic syntax highlighting and element identification. With the ability to export machine readable scores (*.xdsn files) and print visual xdsn scores it will ease the dissemination of dance scores. The software will also include the ability to search and analyse existing scores in 'one to one' or multiple 'side by side' comparisons for the purposes of dance research.
A technical sketch for an advanced dance notation editor (xdsn with support for future XML based Laban, Benesh and Eshkol-Wachman notation developments) will be used as a model for creating professional notation software. The sketch (developed by the author) facilitates seamless handwritten to machine readable notation in real-time for professional notators. Featuring handwriting and pattern recognition, real-time animated previewing, SVG editing (xml notation and PDF output), layers, nonlinear histories, and Tanzkurven editing it will provide a more 'intuitive' alternative to existing notation software.
Many thanks to the Body Space & Technology Journal review panel for their invaluable suggestions, www.article19.co.uk, Michael Klien, Davide Terlingo, Jeffrey Scott Longstaff, Anna Jattkowski-Hudson and Sheila Creevey.
©-by-nc-sa 2004 M Gough
Matthew Gough MA, is an independent dance artist and researcher developing complex adaptive systems for autonomous human movement simulation / synthesis, and movement notation for avatar animation.