Package-level declarations

Types

Link copied to clipboard
data class IntonationAnalysisResult(val intonationSystem: IntonationSystem, val tonicHz: Float, val shrutiLabel: String, val analysisParameters: Map<String, Any>, val notes: List<NoteAnalysis>, val offScaleNotes: List<OffScaleNote> = emptyList(), val error: String? = null)

Complete result of intonation analysis for a performance.

Link copied to clipboard

Tuning system to grade intonation against.

Link copied to clipboard
data class NoteAnalysis(val label: String, val targetIntervalCents: Float, val targetPitchHz: Float, val detectedPeakCents: Float, val detectedPeakHz: Float, val deviationCents: Float, val deviationPercent: Float, val score: Float, val tier: PitchingTier, val amplitude: Float)

Analysis of a single detected note against its target interval in the requested scale.

Link copied to clipboard

Musical note naming tradition used for NoteAnalysis.label.

Link copied to clipboard
data class OffScaleNote(val label: String, val detectedPeakCents: Float, val detectedPeakHz: Float, val offsetFromDegreeCents: Float, val nearestInScaleLabel: String, val centsFromNearestInScale: Float, val amplitude: Float)

A prominent peak the singer dwelled on that landed on a chromatic degree outside the requested scale: a note sung "by mistake", not a mis-intoned scale note.

Link copied to clipboard
data class PitchingScore(val intonationSystem: IntonationSystem, val score: Float, val tier: PitchingTier, val noteCount: Int) : Comparable<PitchingScore>

Overall intonation accuracy score for a performance.

Link copied to clipboard

Qualitative accuracy tier for a sung note or a whole performance.

Link copied to clipboard
data class TargetInterval(val cents: Float, val label: String)

A single target interval the user is grading against, with the label that should appear in the per-note breakdown.

Link copied to clipboard

Strategy for combining per-note scores into an overall PitchingScore.