Skillsbench pause-detector
Detect pauses and silence in audio using local dynamic thresholds. Use when you need to find natural pauses in lectures, board-writing silences, or breaks between sections. Uses local context comparison to avoid false positives from volume variation.
install
source · Clone the upstream repo
git clone https://github.com/benchflow-ai/skillsbench
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/benchflow-ai/skillsbench "$T" && mkdir -p ~/.claude/skills && cp -r "$T/tasks/video-silence-remover/environment/skills/pause-detector" ~/.claude/skills/benchflow-ai-skillsbench-pause-detector && rm -rf "$T"
manifest:
tasks/video-silence-remover/environment/skills/pause-detector/SKILL.mdsource content
Pause Detector
Detects pauses and low-energy segments using local dynamic thresholds on pre-computed energy data. Unlike global threshold methods, this compares energy to surrounding context, avoiding false positives when speaker volume varies.
Use Cases
- Detecting natural pauses in lectures
- Finding board-writing silences
- Identifying breaks between sections
Usage
python3 /root/.claude/skills/pause-detector/scripts/detect_pauses.py \ --energies /path/to/energies.json \ --output /path/to/pauses.json
Parameters
: Path to energy JSON file (from energy-calculator)--energies
: Path to output JSON file--output
: Start analyzing from this second (default: 0)--start-time
: Ratio of local average for low energy (default: 0.5)--threshold-ratio
: Minimum pause duration in seconds (default: 2)--min-duration
: Local average window size (default: 30)--window-size
Output Format
{ "method": "local_dynamic_threshold", "segments": [ {"start": 610, "end": 613, "duration": 3}, {"start": 720, "end": 724, "duration": 4} ], "total_segments": 11, "total_duration_seconds": 28, "parameters": { "threshold_ratio": 0.5, "window_size": 30, "min_duration": 2 } }
How It Works
- Load pre-computed energy data
- Calculate local average using sliding window
- Mark seconds where energy < local_avg × threshold_ratio
- Group consecutive low-energy seconds into segments
- Filter segments by minimum duration
Dependencies
- Python 3.11+
- numpy
- scipy
Example
# Detect pauses after opening (start at 221s) python3 /root/.claude/skills/pause-detector/scripts/detect_pauses.py \ --energies energies.json \ --start-time 221 \ --output pauses.json # Result: Found 11 pauses totaling 28 seconds
Parameters Tuning
| Parameter | Lower Value | Higher Value |
|---|---|---|
| More aggressive | More conservative |
| Shorter pauses | Longer pauses only |
| Local context | Broader context |
Notes
- Requires energy data from energy-calculator skill
- Use --start-time to skip detected opening
- Local threshold adapts to varying speaker volume