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); andsandbox
, an unrestricted place to store any additional data.
FileMetadata¶
- The
file_metadata
field contains the following properties: identifiers
: an unstructuredsandbox
-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; andjams_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; andsandbox
: additional unstructured storage space for this annotation.time
: optional non-negative number indicating the beginning point at which this annotation is validduration
: optional non-negative number indicating the duration of the valid portion of this annotation.
The permissible contents of the value
and confidence
fields are defined by the namespace
.
Note
The time
and duration
fields of annotation
are considered optional. If left blank,
the annotation should be assumed to be valid for the entirety of the track.
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
andannotator
: asandbox
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; anddata_source
: string describing the type of annotator, e.g., “program”, “expert human”, “crowdsource”.