{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/FourierDenoisingPlan",
"title": "FourierDenoisingPlan",
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether Fourier denoising is enabled. Note that this is experimental and may not work as expected.",
"default": false
},
"mediaDetectionEnabled": {
"type": "boolean",
"description": "Whether automatic media detection is enabled. When enabled, the filter will automatically\ndetect consistent background TV/music/radio and switch to more aggressive filtering settings.\nOnly applies when enabled is true.",
"example": true,
"default": true
},
"staticThreshold": {
"type": "number",
"description": "Static threshold in dB used as fallback when no baseline is established.",
"example": -35,
"minimum": -80,
"maximum": 0,
"default": -35
},
"baselineOffsetDb": {
"type": "number",
"description": "How far below the rolling baseline to filter audio, in dB.\nLower values (e.g., -10) are more aggressive, higher values (e.g., -20) are more conservative.",
"example": -15,
"minimum": -30,
"maximum": -5,
"default": -15
},
"windowSizeMs": {
"type": "number",
"description": "Rolling window size in milliseconds for calculating the audio baseline.\nLarger windows adapt more slowly but are more stable.",
"example": 3000,
"minimum": 1000,
"maximum": 30000,
"default": 3000
},
"baselinePercentile": {
"type": "number",
"description": "Percentile to use for baseline calculation (1-99).\nHigher percentiles (e.g., 85) focus on louder speech, lower percentiles (e.g., 50) include quieter speech.",
"example": 85,
"minimum": 1,
"maximum": 99,
"default": 85
}
}
}