Package-level declarations

Types

Link copied to clipboard
data class AgilityConfig(val featureRate: Float = 10.0f, val tau: Float = 3.0f, val logK: Float = 0.6f, val logM: Float = 4.8f, val classifierA: Float = 5.0f, val classifierB: Float = 18.0f, val classifierC: Float = 10.5f, val sigmoidAlpha: Float = 0.6f, val windowSeconds: Float = 8.0f)

Configuration for vocal agility analysis.

Link copied to clipboard
data class AgilityContour(val rms: FloatArray, val rmsOsc: FloatArray, val pitchSmooth: FloatArray, val times: FloatArray)

Intermediate agility contour result from the 10-stage pipeline.

Link copied to clipboard
data class AgilityScore(val scores: FloatArray)

Agility scoring result.

Link copied to clipboard
data class BreathConfig(val featureRate: Float = 30.0f, val tauRise: Float = 8.0f, val tauFall: Float = 0.4f, val sigmoidK: Float = 0.3f, val sigmoidM: Float = 10.0f, val minUnvoicedDuration: Float = 0.1f, val controlThreshold: Float = 0.55f, val lofNeighbors: Int = 25, val minAlignmentDuration: Float = 6.0f, val peakTimeTolerance: Float = 0.5f, val peakAmplitudeTolerance: Float = 0.3f, val alignmentSnippets: Int = 6, val alignmentSnippetDuration: Int = 5)

Configuration for breath analysis.

Link copied to clipboard
data class BreathFunction(val values: FloatArray, val times: FloatArray, val equivalentSustainTime: Float)

Intermediate breath function result.

Link copied to clipboard
data class BreathMetrics(val controlScore: Float?, val phrases: PhraseSummary?, val alignmentScore: Float? = null)

Combined breath analysis result for a single recording.

Link copied to clipboard
data class DetectedNote(val pitch: VocalPitch, val durationSeconds: Float, val isStable: Boolean)

A detected stable note during range analysis.

Link copied to clipboard
enum Gender : Enum<Gender>

Singer gender for pitch shift offset in TesseraRange.computeMatch.

Link copied to clipboard
data class Phrase(val startTime: Float, val duration: Float)

A single detected phrase (voiced segment between pauses).

Link copied to clipboard
data class PhraseRange(val lower: Float, val upper: Float)

Comfortable phrase-duration range — the middle two bins of a 5-bin histogram of phrase durations.

Link copied to clipboard
data class PhraseSummary(val totalPhrases: Int, val phrases: List<Phrase>, val comfortableRange: PhraseRange?, val avgDuration: Float, val shortestDuration: Float, val longestDuration: Float, val longestDurationUnfiltered: Float, val phraseToBreathRatios: FloatArray, val avgPhraseToBreathRatio: Float)

Phrase-level analysis of a single recording.

Link copied to clipboard
data class RangeStats(val totalPitchesReceived: Int, val validPitchesAfterFiltering: Int, val stableSegmentsDetected: Int, val longestStableSegmentSeconds: Float, val hasEnoughDataForRange: Boolean)

Statistics about accumulated range data (streaming mode).

Link copied to clipboard
data class SearchVectorConfig(val sigmoidK: Float = 0.025f, val binWidth: Int = 4, val featureRate: Float = 10.0f, val pitchRangeMin: Int = 36, val pitchRangeMax: Int = 92)

Configuration for vocal range search vector creation and matching.

Link copied to clipboard

Voice metrics that can be requested from Tessera.analyze or TesseraSession.

Link copied to clipboard
data class TesseraResult(val breath: BreathMetrics?, val agility: AgilityScore?, val vocalRange: VocalRangeResult?)

Combined result from multi-metric analysis.

Link copied to clipboard
data class VocalPitch(val frequencyHz: Float, val midiNote: Int, val noteLabel: String, val confidence: Float = 1.0f)

A detected vocal pitch with quality metrics.

Link copied to clipboard
data class VocalRange(val lower: VocalPitch, val upper: VocalPitch, val octaves: Float)

Complete vocal range with lower and upper bounds.

Link copied to clipboard
data class VocalRangeConfig(val minNoteDurationSeconds: Float = 1.0f, val minConfidence: Float = 0.5f, val stabilityWindowMs: Float = 50.0f, val maxDeviationSemitones: Float = 1.0f, val sampleRate: Int = 16000)

Configuration for streaming vocal range detection.

Link copied to clipboard
data class VocalRangeMatch(val similarity: Float, val difficulty: Int)

Vocal range matching result.

Link copied to clipboard

Phases in the TesseraRangeSession guided vocal range detection flow.

Link copied to clipboard
data class VocalRangeResult(val range: VocalRange, val searchVector: FloatArray, val match: VocalRangeMatch? = null)

Complete vocal range result bundling range, search vector, and optional match.

Link copied to clipboard
data class VocalRangeSessionConfig(val countdownSeconds: Int = 3, val transitionDelayMs: Long = 500, val autoFlow: Boolean = true)

Configuration for the TesseraRangeSession guided flow.

Link copied to clipboard
data class VocalRangeSessionResult(val low: VocalPitch, val high: VocalPitch, val octaves: Float, val semitones: Int, val naturalShruti: VocalPitch)

Final vocal range session result with calculated metrics.

Link copied to clipboard
data class VocalRangeState(val phase: VocalRangePhase = VocalRangePhase.IDLE, val countdownSeconds: Int = 0, val phaseMessage: String = "Ready to detect your vocal range", val currentPitch: VocalPitch? = null, val currentAmplitude: Float = 0.0f, val stabilityProgress: Float = 0.0f, val bestLowNote: DetectedNote? = null, val bestHighNote: DetectedNote? = null, val lowNote: DetectedNote? = null, val highNote: DetectedNote? = null, val result: VocalRangeSessionResult? = null, val error: String? = null)

Observable state emitted during vocal range detection.