Package-level declarations

Types

Link copied to clipboard
data class ActiveSegmentState(val segmentIndex: Int, val segment: Segment, val currentPitch: Float, val currentAmplitude: Float, val elapsedSeconds: Float, val isCapturing: Boolean)

State of the currently active segment during practice.

Link copied to clipboard
sealed class AudioSource

Represents the source of audio data for evaluation.

Link copied to clipboard
data class LessonMaterial(val audioSource: AudioSource, val segments: List<Segment>, val keyHz: Float, val pitchContour: PitchContour? = null, val hpcpFrames: List<FloatArray>? = null)

Reference material for singing evaluation.

Link copied to clipboard
data class NoteEvalConfig(val algorithm: ScoringAlgorithm = ScoringAlgorithm.SIMPLE, val boundaryToleranceMs: Int = 0)

Configuration for note evaluation scoring.

Link copied to clipboard

Presets for common note evaluation use cases.

Link copied to clipboard

Performance levels for singing evaluation.

Link copied to clipboard

Practice phase during a CalibraLiveEval session.

Link copied to clipboard

How to aggregate multiple attempts per segment into a final score.

Link copied to clipboard

Algorithm for computing note accuracy scores.

Link copied to clipboard
data class Segment(val index: Int, val startSeconds: Float, val endSeconds: Float, val lyrics: String = "", val studentStartSeconds: Float? = null, val studentEndSeconds: Float? = null)

A segment of a song or exercise with timing and optional lyrics.

Link copied to clipboard
data class SegmentResult(val segment: Segment, val score: Float, val pitchAccuracy: Float = score, val level: PerformanceLevel = PerformanceLevel.fromScore(score), val attemptNumber: Int = 1, val referencePitch: PitchContour = PitchContour.EMPTY, val studentPitch: PitchContour = PitchContour.EMPTY)

Result of evaluating a single segment.

Link copied to clipboard
data class SessionConfig(val autoAdvance: Boolean = true, val scoreThreshold: Float = 0.0f, val maxAttempts: Int = 0, val resultAggregation: ResultAggregation = ResultAggregation.LATEST, val hopSize: Int = 320, val autoPhaseTransition: Boolean = true, val autoSegmentDetection: Boolean = true)

Configuration for a CalibraLiveEval session.

Link copied to clipboard

Current phase of a CalibraLiveEval.

Link copied to clipboard
data class SessionState(val phase: SessionPhase = SessionPhase.IDLE, val activeSegmentIndex: Int? = null, val activeSegment: Segment? = null, val currentPitch: Float = -1f, val currentAmplitude: Float = 0.0f, val segmentProgress: Float = 0.0f, val completedSegments: Set<Int> = emptySet(), val error: String? = null)

Current state of a CalibraLiveEval.

Link copied to clipboard
data class SingingResult(val overallScore: Float, val segmentResults: Map<Int, List<SegmentResult>>, val aggregation: ResultAggregation = ResultAggregation.LATEST)

Complete result of a singing evaluation session.

Link copied to clipboard

Available Voice Activity Detection backend engines.

Link copied to clipboard
data class VADConfig(val backend: VADBackend = VADBackend.SPEECH, val sampleRate: Int = 16000, val threshold: Float = 0.5f, val minSpeechDuration: Float = 0.25f, val minSilenceDuration: Float = 0.25f, val windowSize: Int = 512, val numThreads: Int = 1, val modelPath: String? = null, val rmsThreshold: Float = 0.05f, val pitchProbThreshold: Float = 0.5f, val minPitch: Float = 50.0f)

Configuration for Voice Activity Detection.

Link copied to clipboard
sealed class VADModelProvider

Type-safe model provider for VAD backends.

Link copied to clipboard
data class VADResult(val ratio: Float, val level: VoiceActivityLevel)

Result from VAD analysis containing ratio, level, and convenience properties.

Link copied to clipboard

Voice activity classification levels.