Subsample configuration: detection
The 10 settings under detection, each with the type, default and limits its schema declares.
When a sound starts and ends a recording. Every threshold except min_peak_db is measured against the room's background level, which Subsample tracks continuously.
threshold_db in detection
- Type
number- Default
12
How far, in dB, a sound must rise above the room's background level to start a recording. Lower values catch quieter sounds and trigger more often on noise. The background itself wanders by several dB from moment to moment, most of all in a quiet room, so a value inside that wander starts recordings that hold nothing. Raise it in a noisy room. The default, 12, is a good start; around 9 already sits inside a quiet room's wander.
floor_adaptation in detection
- Type
number- Default
0.1- Limits
- above 0, at most 1
How quickly the tracked background level follows changes in the room. Higher values follow gradual rises, so only sudden sounds such as drums and plucks trigger. Lower values keep the background steady, so gradual swells trigger as well.
hold_seconds in detection
- Type
number- Default
0.5- Limits
- above 0
Time, in seconds, a recording stays open after the level falls back, so a brief pause does not split one sound in two. Longer values keep more of each tail, and more silence after it.
warmup_seconds in detection
- Type
number- Default
1
Time, in seconds, that Subsample listens to the room before detection starts, to measure its background level. Raise it in a room whose level varies. However low it is set, the first block of audio always goes to it, and a hit inside that block is taken for the room, so give a file that starts on a hit a moment of silence in front.
trim_pre_ms in detection
- Type
number- Default
0.25- Limits
- at least 0
Audio kept before each detected onset, in milliseconds, with a fade-in across it so the start does not click.
trim_post_ms in detection
- Type
number- Default
2- Limits
- at least 0
Audio kept after each detected end, in milliseconds, with a fade-out across it so the stop does not click. For a longer fade on a cut tail, use fade_out_ms.
release_threshold_db in detection
- Type
numberornull- Default
null- Limits
- above 0
Level, in dB above the background, at which a sounding tail counts as finished and the recording ends. Set it below threshold_db so a long decay such as a cymbal or a gong rings out instead of being cut short; the recording still starts at threshold_db. null ends the recording at threshold_db.
retrigger_threshold_db in detection
- Type
numberornull- Default
null- Limits
- above 0
Rise, in dB over the decaying tail, that counts as the next hit while a recording is open. The current sample ends there and a new recording starts, which separates hits whose tails never fade to silence. Use it with release_threshold_db to cut a take of spaced hits apart. A sound with a slow or two-stage attack can read its own second transient as a new hit, so raise hold_seconds to cover the attack. Keep it above the background's own wander: a small rise can be met by the noise a tail decays into, which saves a sample of nothing, or a real hit with silence in front of it. Around 15 is a good start. null turns re-triggering off.
fade_out_ms in detection
- Type
number- Default
0- Limits
- at least 0
Length, in milliseconds, of a fade on each sample's trailing edge, which hides a cut made part-way down a decay or at the next hit. 0 keeps only the short fade from trim_post_ms.
min_peak_db in detection
- Type
numberornull- Default
null- Limits
- below 0
Level, in dBFS, that a finished recording's peak must reach for Subsample to keep it. A recording peaking below it is discarded, which stops a quiet room's own noise being saved as a sample. Set it below the peak of the quietest sound you want to keep, and lower it first if real sounds go missing. For close-miked percussion, -50 to -40 dBFS is typical. null keeps every recording.