createDetector

fun createDetector(config: PitchDetectorConfig = PitchDetectorConfig.BALANCED, modelProvider: () -> ByteArray? = null): CalibraPitch.Detector

Create a realtime pitch detector.

Usage

// Tier 1: Defaults (YIN algorithm)
val detector = CalibraPitch.createDetector()

// Tier 2: With config from Builder
val config = PitchDetectorConfig.Builder()
.algorithm(PitchAlgorithm.SWIFT_F0)
.voiceType(VoiceType.carnaticMale)
.build()
val detector = CalibraPitch.createDetector(config, modelProvider = { ... })

// Tier 3: With .copy()
val detector = CalibraPitch.createDetector(
PitchDetectorConfig.PRECISE.copy(tolerance = 0.08f)
)

Parameters

config

Detection configuration (default: BALANCED)

modelProvider

Function to load ONNX model bytes (required for SWIFT_F0). Example: { ModelLoader.loadSwiftF0() } after adding ai-models dependency.