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 BreathMetrics(val capacity: Float, val control: Float, val isValid: Boolean)

Result of breath analysis.

Link copied to clipboard
data class CompressorConfig(val thresholdDb: Float = -20f, val ratio: Float = 4.0f, val attackMs: Float = 10.0f, val releaseMs: Float = 100.0f, val autoMakeup: Boolean = false, val makeupDb: Float = 0.0f)

Configuration for audio compressor effect.

Link copied to clipboard

Pre-configured compressor settings for common use cases.

Link copied to clipboard
data class ContourCleanup(val fixOctaveErrors: Boolean = true, val fixBoundaryOctaves: Boolean = true, val boundaryWindowMs: Float = 50.0f, val minimumNoteDurationMs: Float = 80.0f, val smoothPitch: Boolean = false)

Post-processing cleanup options for pitch contours.

Link copied to clipboard

How strict to be about pitch detection.

Link copied to clipboard

Pre-configured effects chain combinations for common use cases.

Link copied to clipboard
data class EvaluatorConfig(val sampleRate: Int = 16000, val semitoneShift: Int = 0)

Configuration for singing evaluation.

Link copied to clipboard

Pre-configured evaluator settings for common use cases.

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 NoiseGateConfig(val thresholdDb: Float = -40f, val holdTimeMs: Float = 100.0f, val timeConstMs: Float = 10.0f)

Configuration for noise gate effect.

Link copied to clipboard

Pre-configured noise gate settings for common scenarios.

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

Pitch detection algorithm backend.

Link copied to clipboard
data class PitchConfig(val bufferSize: Int = 2048, val sampleRate: Int = 16000, val tolerance: Float = 0.15f, val minFreq: Float = 80.0f, val maxFreq: Float = 1000.0f, val refPitch: Float = 440.0f, val octaveWrap: Int = 0, val amplitudeGateThresholdDb: Float = -40f, val minConfidenceThreshold: Float = 0.75f)

Configuration for pitch detection (YIN algorithm).

Link copied to clipboard
data class PitchContour(val samples: List<PitchPoint>, val sampleRate: Int = 16000)

A sequence of pitch points representing a pitch contour over time.

Link copied to clipboard
data class PitchDetectorConfig(val algorithm: PitchAlgorithm = PitchAlgorithm.YIN, val bufferSize: Int = 2048, val hopSize: Int = 160, val tolerance: Float = 0.15f, val minFreq: Float = 80.0f, val maxFreq: Float = 1000.0f, val amplitudeGateDb: Float = -40f, val confidenceThreshold: Float = 0.75f, val enableSmoothing: Boolean = false, val enableOctaveCorrection: Boolean = false, val smoothingWindowSize: Int = 5, val octaveThresholdCents: Float = 150.0f, val swiftF0BatchSize: Int = 2560)

Configuration for CalibraPitch detector.

Link copied to clipboard
data class PitchPoint(val pitch: Float, val confidence: Float, val timeSeconds: Float = 0.0f)

A pitch detection result or timestamped pitch sample.

Link copied to clipboard

Pre-configured pitch detection presets.

Link copied to clipboard
data class PitchProcessorConfig(val enableSmoothing: Boolean = true, val enableOctaveCorrection: Boolean = true, val smoothingWindowSize: Int = 5, val octaveThresholdCents: Float = 150.0f, val referencePitchHz: Float = 0.0f)

Configuration for pitch post-processing. Shared by both realtime and batch post-processing.

Link copied to clipboard

Practice phase during a CalibraLiveEval session.

Link copied to clipboard

How to handle quiet audio.

Link copied to clipboard

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

Link copied to clipboard
data class ReverbConfig(val mix: Float = 0.3f, val roomSize: Float = 0.5f)

Configuration for reverb effect.

Link copied to clipboard

Pre-configured reverb settings for common room sizes.

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 = 160, 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.

Link copied to clipboard
sealed class VoiceType

Voice type presets for different singing styles and voice ranges.