Interface CalibrationConfig

Configuration for environmental calibration using Web Audio APIs.

interface CalibrationConfig {
    initialCalibrationMs?: number;
    calibrationBufferSize?: number;
    minRmsSamplesForContinuousUpdate?: number;
    initialUpdateIntervalMs?: number;
    backoffMultiplier?: number;
    maxBackoffIntervalMs?: number;
    minBackoffIntervalMs?: number;
    rmsHistoryBufferSize?: number;
    thresholdSensitivityFactor?: number;
    enableFrequencyAnalysis?: boolean;
    fftSize?: number;
    sampleRate?: number;
}

Properties

initialCalibrationMs?: number

Duration in milliseconds for the initial calibration phase via MediaStream.

Default

3000
calibrationBufferSize?: number

Buffer size for the ScriptProcessorNode used during initial calibration. Affects how often audio data is analyzed during calibration.

Default

4096
minRmsSamplesForContinuousUpdate?: number

Minimum number of RMS samples (from processed frames) required for a meaningful profile update during continuous adaptation (when processAudioFrame is called).

Default

50
initialUpdateIntervalMs?: number

Initial interval in milliseconds for continuous adaptation checks if no voice activity. This applies when processAudioFrame is used for continuous updates.

Default

1000
backoffMultiplier?: number

Multiplier for the exponential backoff strategy during continuous adaptation.

Default

1.5
maxBackoffIntervalMs?: number

Maximum interval in milliseconds for continuous adaptation checks.

Default

30000
minBackoffIntervalMs?: number

Minimum interval in milliseconds for continuous adaptation checks after activity or change.

Default

500
rmsHistoryBufferSize?: number

Number of recent RMS values (from processed frames) to store in a buffer for continuous adaptation.

Default

50
thresholdSensitivityFactor?: number

Sensitivity adjustment factor for calculating speech/silence thresholds.

Default

1.0
enableFrequencyAnalysis?: boolean

Enable frequency analysis using AnalyserNode during initial calibration.

Default

true
fftSize?: number

FFT size for the AnalyserNode. Must be a power of 2. frequencyBinCount will be fftSize / 2.

Default

256 (yields 128 frequency bins)
sampleRate?: number

Sample rate of the audio. The calibrator will try to use this for its internal AudioContext. If the input MediaStream has a different rate, resampling might occur or the stream's rate is used.

Default

16000