| Internet-Draft | Contra Tags | April 2026 |
| Whited | Expires 11 October 2026 | [Page] |
This document defines Matroska tags for describing aspects of Contra, Square, and other traditional called folk dances. These tags are meant for archivists as well as modern day callers of traditional dances.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 11 October 2026.¶
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.¶
Many traditional folk dances including Contra Dance, Square Dance, English Country Dance (ECD), and others from a variety of cultural backgrounds involve a caller who leads the dance by speaking or singing the choreography in time to the music. The caller will help the dancers perform the choreography until either the music that is pre-selected for a particular dance ends (in the case of ECD) or until the caller decides to stop (contra, square).¶
For archivists or modern callers selecting recordings of called dances there are a number of properties of the music that are not described by traditional music metadata that may be desirable to know. For example, an archivist may want to find all recordings of a specific caller playing with a specific band, but the callers name is not a commonly used metadata tag. Or a modern caller may want to filter out all tracks that have their own calls or are "crooked" (ie. don't perfectly align with the phrasing of the particular dance they are calling) to select recordings to call to when a live band is not available for a dance.¶
Having a set of standardized tags to describe such dances is of use for archivists preserving field recordings, and for modern day callers of folk dances such as Modern Urban Contra callers who can use such tags to more rapidly select music that is suitable for calling when working with recorded music.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
The tags defined in the following table describe recordings that incude sung or spoken dance calls. If the recording includes a separate track for the caller or otherwise includes multiple audio tracks (ie. an entire evening of dances in a single file separated with a CUE track) these tags SHOULD set a target pointing to the exact track containing the calls.¶
| Tag Name | Type | Description |
|---|---|---|
| DANCE_FORM | UTF-8 | The form of the folk dance such as "contra" or "square". Because a large number of different folk dances exist (and because this tag may be broadly useful for dances other than called folk dances) no particular format or list of dance forms are defined. Archivists may choose to be much more particular about this tag, for example listing the specific formation of a contra dance such as "duple minor improper contra" while a caller may simply list the dance as "contra". |
| DANCE_CALLER | UTF-8 | The name of the caller heard in the track. This may be the special value "[unknown]". |
| DANCE_TITLE | UTF-8 | The name of the dance being called. This may be the special value "[unknown]". |
| DANCE_CHOREOGRAPHER | UTF-8 | The name of the author of the dance being called. This may be one of the special values "[unknown]" or "[traditional]". |
| DANCE_CHOREOGRAPHY | UTF-8 | The moves of the dance in plain text format. No exact style is specified. The dance author, choreographer, difficulty, or any callers notes SHOULD NOT be included and should instead be read from the appropriate tags. |
| DANCE_CALLER_NOTES | UTF-8 | Any notes provided by the choreographer or the caller related to calling the dance. For example, many choreographers will provide notes such as "When teaching the A1 part, have the Larks cross over first...". Or individual callers may provide notes on their calling card such as "Beginner friendly" or "Advanced dance". |
| DANCE_ROLES | UTF-8 | Role terms used in the calls. For example, "Larks/Robins" or "Leads/Follows" or "Positional" for dances that explicitly do not mention role terms for a partnership. No specific format is defined. |
| DANCE_LICENSE | UTF-8 | Like the LICENSE field defined in Section 4.13 of [I-D.ietf-cellar-tags] except relating to the choreography of the dance being called. |
The following tags are generally applicable to tracks that include the caller as well as to tracks that are uncalled but fit the form of a particular folk dance or are commonly used for folk dance. If the file contains multiple audio tracks these tags SHOULD set a target pointing to the track containing the music.¶
| Tag Name | Type | Description |
|---|---|---|
| DANCE_HAS_POTATOES | UTF-8 | "Potatoes" are a term used to describe the syncronization beats played by the band before the tune starts to get the caller and dancers on time. If set, this key MUST always be the value "TRUE" or "FALSE". |
| DANCE_POTATOES | UTF-8 |
The number of beats (not bars), regardless of whether they are
traditional potatoes or an introductory phrase, of music before
the first time through the dance.
If the DANCE_HAS_POTATOES tag is "FALSE" this
represents beats in an introductory phrase, otherwise it
represents the number of traditional potatoes (normally 4).
If the BPM
([I-D.ietf-cellar-tags], Section 4.10)
and DANCE_START tags are set,
this should be approximately DANCE_START / 3600 * BPM
rounded to the nearest natural number.
|
| DANCE_START | UTF-8 |
The start time (in milliseconds) of the first time through the
dance. This is where the dancers would start moving, not where
the caller would start calling.
If the BPM
([I-D.ietf-cellar-tags], Section 4.10)
and DANCE_POTATOES tags are set,
this should be approximately DANCE_POTATOES / BPM * 3600.
|
| DANCE_TIMES | UTF-8 | The number of complete times through the dance excluding any intro, outro, or potatoes. The exact definition will depend on the tpye of dance. For example, a contra dance has 64 beat (32 bar) phrases so the number of times through the dance will be the number of beats of music (excluding intros, outros, and any crooked phrasing) divided by 64. |
| DANCE_CROOKED | UTF-8 | Whether the dance is a "crooked" tune (ie. not in perfect dance form). If set, this key MUST always be the value "TRUE" or "FALSE". |
| DANCE_IS_SONG | UTF-8 | Whether the track is a song (has sung vocal lyrics other than the calls) or a tune (instrumental only). If set, this key MUST always be the value "TRUE" or "FALSE". |
Several tags that take freeform text may also have certain special values such as "[unknown]" or "[traditional]" as described above. These values MAY be shown as a different string, possibly translated into the users native language.¶
Though these tags were defined for use with Matroska files, they may be
used in other common tagging systems such as Vorbis Comments
[Vorbis] and in systems which re-use Vorbis Comments
such as FLAC [RFC9639], Section 8.6
tags.
To use tags from this document in Vorbis Comments remove the
"DANCE_" prefix and instead use the namespace
"DANCE:".
For example, the "DANCE_POTATOES" tag becomes
"DANCE:POTATOES".¶
This memo modifies the "Matroska Tag Names" registry defined in Section 6.1 of [I-D.ietf-cellar-tags] to add the following values:¶
| Tag Name | Tag Type | Reference |
|---|---|---|
| DANCE_FORM | UTF-8 | This document, Section 2.1 |
| DANCE_CALLER | UTF-8 | This document, Section 2.1 |
| DANCE_TITLE | UTF-8 | This document, Section 2.1 |
| DANCE_CHOREOGRAPHER | UTF-8 | This document, Section 2.1 |
| DANCE_CHOREOGRAPHY | UTF-8 | This document, Section 2.1 |
| DANCE_CALLER_NOTES | UTF-8 | This document, Section 2.1 |
| DANCE_ROLES | UTF-8 | This document, Section 2.1 |
| DANCE_LICENSE | UTF-8 | This document, Section 2.1 |
| DANCE_POTATOES | UTF-8 | This document, Section 2.2 |
| DANCE_START | UTF-8 | This document, Section 2.2 |
| DANCE_TIMES | UTF-8 | This document, Section 2.2 |
| DANCE_CROOKED | UTF-8 | This document, Section 2.2 |
| DANCE_IS_SONG | UTF-8 | This document, Section 2.2 |
This document does not affect the security of the internet.¶