JAMS Structure¶
This section describes the anatomy of JAMS objects.
JAMS¶
- A JAMS object consists of three basic properties:
- file_metadata, which describes the audio file to which these annotations are attached;
- annotations, a list of Annotation objects (described below); and
- sandbox, an unrestricted place to store any additional data.
FileMetadata¶
- The file_metadata field contains the following properties:
- identifiers: an unstructured sandbox-type object for storing identifier mappings, e.g., MusicBrainz ID;
- artist, title, release : meta-data strings for the track in question;
- duration : non-negative number describing the length (in seconds) of the track; and
- jams_version : string describing the JAMS version for this file.
Annotation¶
- Each annotation object contains the following properties:
- namespace : a string describing the type of this annotation;
- data : a list of observations, each containing:
- time : non-negative number denoting the time of the observation (in seconds)
- duration : non-negative number denoting the duration of the observation (in seconds)
- value : actual annotation (e.g., chord, segment label)
- confidence : certainty of the annotation
- annotation_metadata : see Annotation_Metadata; and
- sandbox : additional unstructured storage space for this annotation.
The permissible contents of the value and confidence fields are defined by the namespace.
Annotation_Metadata¶
The meta-data associated with each annotation describes the process by which the annotation was generated. The annotation_metadata property has the following fields:
- corpus: a string describing a corpus to which this annotation belongs;
- version : string or number, the version of this annotation;
- curator : a structured object containing contact information (name and email) for the curator of this data;
- annotator : a sandbox object to describe the individual annotator — which can be a person or a program — that generated this annotation;
- annotation_tools, annotation_rules, validation: strings to describe the process by which annotations were collected and pre-processed; and
- data_source : string describing the type of annotator, e.g., “program”, “expert human”, “crowdsource”.