OctaveCorrectionConfig

data class OctaveCorrectionConfig(val removeSpuriousJumps: Boolean = true, val snapBackCorrection: Boolean = true, val snapBackThresholdCents: Float = 150.0f, val referencePitchHz: Float = 0.0f, val correctBoundaries: Boolean = true, val boundaryWindowMs: Float = 50.0f, val hopMs: Int = 10)

Configuration for octave correction (ADR-001).

Standalone config for the octave correction stage. Three stages run in order:

  1. Spurious jump removal (from tona) - pair-based jump classification

  2. Snap-back correction (existing) - forward+backward pass with snap-back heuristic

  3. Boundary correction (existing) - onset/offset vs interior mean

Each stage is skipped if disabled in config.

Constructors

Link copied to clipboard
constructor(removeSpuriousJumps: Boolean = true, snapBackCorrection: Boolean = true, snapBackThresholdCents: Float = 150.0f, referencePitchHz: Float = 0.0f, correctBoundaries: Boolean = true, boundaryWindowMs: Float = 50.0f, hopMs: Int = 10)

Types

Link copied to clipboard
class Builder

Builder for OctaveCorrectionConfig (ADR-001 Tier 2).

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

How much of phrase edges to check (ms)

Link copied to clipboard

Enable boundary octave correction

Link copied to clipboard
val hopMs: Int

Hop size in milliseconds between pitch frames

Link copied to clipboard

Reference pitch in Hz (0 = auto-detect)

Link copied to clipboard

Enable spurious octave jump removal

Link copied to clipboard

Enable snap-back octave correction

Link copied to clipboard

How close to 1200 cents a jump must be to be corrected