AudioSection

@Serializable
data class AudioSection(val start: Float = 0.0f, val duration: Float, val confidence: Float, val loudness: Float, val tempo: Float? = null, val tempoConfidence: Float? = null, val key: Int, val keyConfidence: Float? = null, val mode: Int? = null, val modeConfidence: Float? = null, val timeSignature: Int, val timeSignatureConfidence: Float)(source)

Sections are defined by large variations in rhythm or timbre, e.g. chorus, verse, bridge, guitar solo, etc. Each section contains its own descriptions of tempo, key, mode, time_signature, and loudness.*

Parameters

start

The starting point (in seconds) of the section.

duration

The duration (in seconds) of the section.

confidence

The confidence, from 0.0 to 1.0, of the reliability of the section’s “designation”.

loudness

The overall loudness of the section in decibels (dB). Loudness values are useful for comparing relative loudness of sections within tracks.

tempo

The overall estimated tempo of the section in beats per minute (BPM). In musical terminology, tempo is the speed or pace of a given piece and derives directly from the average beat duration.

tempoConfidence

The confidence, from 0.0 to 1.0, of the reliability of the tempo. Some tracks contain tempo changes or sounds which don’t contain tempo (like pure speech) which would correspond to a low value in this field.

key

The estimated overall key of the section. The values in this field ranging from 0 to 11 mapping to pitches using standard Pitch Class notation (E.g. 0 = C, 1 = C♯/D♭, 2 = D, and so on). If no key was detected, the value is -1.

keyConfidence

The confidence, from 0.0 to 1.0, of the reliability of the key. Songs with many key changes may correspond to low values in this field.

mode

Indicates the modality (major or minor) of a track, the type of scale from which its melodic content is derived. This field will contain a 0 for “minor”, a 1 for “major”, or a -1 for no result. Note that the major key (e.g. C major) could more likely be confused with the minor key at 3 semitones lower (e.g. A minor) as both keys carry the same pitches.

modeConfidence

The confidence, from 0.0 to 1.0, of the reliability of the mode.

timeSignature

An estimated overall time signature of a track. The time signature (meter) is a notational convention to specify how many beats are in each bar (or measure). The time signature ranges from 3 to 7 indicating time signatures of “3/4”, to “7/4”.

timeSignatureConfidence

The confidence, from 0.0 to 1.0, of the reliability of the time_signature. Sections with time signature changes may correspond to low values in this field.

Constructors

Link copied to clipboard
constructor(start: Float = 0.0f, duration: Float, confidence: Float, loudness: Float, tempo: Float? = null, tempoConfidence: Float? = null, key: Int, keyConfidence: Float? = null, mode: Int? = null, modeConfidence: Float? = null, timeSignature: Int, timeSignatureConfidence: Float)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val key: Int
Link copied to clipboard
@SerialName(value = "key_confidence")
val keyConfidence: Float? = null
Link copied to clipboard
Link copied to clipboard
val mode: Int? = null
Link copied to clipboard
@SerialName(value = "mode_confidence")
val modeConfidence: Float? = null
Link copied to clipboard
val start: Float = 0.0f
Link copied to clipboard
val tempo: Float? = null
Link copied to clipboard
@SerialName(value = "tempo_confidence")
val tempoConfidence: Float? = null
Link copied to clipboard
@SerialName(value = "time_signature")
val timeSignature: Int
Link copied to clipboard
@SerialName(value = "time_signature_confidence")
val timeSignatureConfidence: Float