create
fun create(reference: LessonMaterial, session: SessionConfig = SessionConfig.DEFAULT, detector: CalibraPitch.Detector, player: SonixPlayer? = null, recorder: SonixRecorder? = null): CalibraLiveEval
Create a new live evaluation session.
Session takes ownership of the detector and will close it when the session closes. Player and recorder are NOT owned - caller manages their lifecycle.
Usage
Low-Level API (manual audio management)
val session = CalibraLiveEval.create(
reference,
detector = CalibraPitch.createDetector()
)
session.prepareSession()
session.startPracticingSegment(0)
// Manually feed audio...Content copied to clipboard
Convenience API (library manages audio)
val session = CalibraLiveEval.create(
reference,
detector = CalibraPitch.createDetector(),
player = player,
recorder = recorder
)
session.prepareSession()
session.onSegmentComplete { result -> showScore(result) }
session.startPracticingSegment(0) // Single call handles everythingContent copied to clipboard
Return
New session instance
Parameters
reference
The lesson material (reference audio, segments, key)
session
Session configuration (default: DEFAULT)
detector
Pitch detector (required). Session takes ownership.
player
Optional SonixPlayer for audio coordination. Caller manages lifecycle.
recorder
Optional SonixRecorder for audio coordination. Caller manages lifecycle.