BundleManifest

@Serializable
data class BundleManifest(val version: Int = FORMAT_VERSION, val keyHz: Float, val sampleRate: Int = 16000, val hopSize: Int = 320, val frameSize: Int = 1024, val hpcpSize: Int = 12, val lessonType: String = "singalong", val bpm: Int? = null, val beatsPerMeasure: Int? = null)

Metadata for a reference lesson bundle (reference-meta.json).

Carries everything the loader needs beyond the per-file payloads: the tonic, the HPCP frame geometry (so the pre-computed chroma lines up with the consuming live session — see com.musicmuni.voxatrace.calibra.ReferenceExtractorConfig), and pass-through playback metadata (lesson type, tempo). Phrase boundaries and lyrics live in reference-phrases.json, not here.

Read/written by com.musicmuni.voxatrace.calibra.LessonBundle.

Constructors

Link copied to clipboard
constructor(version: Int = FORMAT_VERSION, keyHz: Float, sampleRate: Int = 16000, hopSize: Int = 320, frameSize: Int = 1024, hpcpSize: Int = 12, lessonType: String = "singalong", bpm: Int? = null, beatsPerMeasure: Int? = null)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Beats per measure for metered lessons; null if unmetered.

Link copied to clipboard
val bpm: Int?

Tempo for metered lessons; null if unmetered.

Link copied to clipboard

HPCP analysis frame size in samples.

Link copied to clipboard

HPCP hop in samples (must match the consuming session).

Link copied to clipboard

Chroma bins per frame.

Link copied to clipboard

Tonic frequency in Hz.

Link copied to clipboard

Lesson type (e.g. "singalong", "singafter"); client playback metadata.

Link copied to clipboard

Sample rate the features were computed at, in Hz.

Link copied to clipboard

Bundle format version (see FORMAT_VERSION). A bundle whose version exceeds the loading SDK's FORMAT_VERSION is rejected by com.musicmuni.voxatrace.calibra.LessonBundle.load; older versions stay readable.