data class Meta(val analyzerVersion: String? = null, val platform: String? = null, val detailedStatus: String? = null, val statusCode: Int? = null, val timestamp: Long? = null, val analysisTime: Double? = null, val inputProcess: String? = null)
data class Sections(val start: Double? = null, val duration: Double? = null, val confidence: Double? = null, val loudness: Double? = null, val tempo: Double? = null, val tempoConfidence: Double? = null, val key: Int? = null, val keyConfidence: Double? = null, val mode: Int? = null, val modeConfidence: Double? = null, val timeSignature: Int? = null, val timeSignatureConfidence: Double? = null)
data class Segments(val start: Double? = null, val duration: Double? = null, val confidence: Double? = null, val loudness: Double? = null, val loudnessStart: Double? = null, val loudnessMax: Double? = null, val loudnessMaxTime: Double? = null, val loudnessEnd: Double? = null, val pitches: List<Double> = emptyList(), val timbre: List<Double> = emptyList())
data class TrackAnalysis(val numSamples: Int? = null, val duration: Double? = null, val sampleMd5: String? = null, val offsetSeconds: Int? = null, val windowSeconds: Int? = null, val analysisSampleRate: Int? = null, val analysisChannels: Int? = null, val endOfFadeIn: Double? = null, val startOfFadeOut: Double? = null, val loudness: Double? = null, val tempo: Double? = null, val tempoConfidence: Double? = null, val timeSignature: Int? = null, val timeSignatureConfidence: Double? = null, val key: Int? = null, val keyConfidence: Double? = null, val mode: Int? = null, val modeConfidence: Double? = null, val codestring: String? = null, val codeVersion: Double? = null, val echoprintstring: String? = null, val echoprintVersion: Double? = null, val synchstring: String? = null, val synchVersion: Double? = null, val rhythmstring: String? = null, val rhythmVersion: Double? = null)