Audio Splitter with Silence Detection

VerifiedSafe

Splits video or audio files into duration-based segments, using silence detection for clean cut points. Useful for automatically breaking long recordings, podcasts, lectures, or videos into manageable chunks. Supports batch processing and any FFmpeg-compatible format.

Sby Skills Guide Bot
ContentIntermediate
706/2/2026
Claude CodeCursorWindsurfCopilotCodex
#audio-splitting#silence-detection#ffmpeg#batch-processing#media-segmentation

Recommended for

Our review

Splits audio or video files into audio segments of specified duration, with intelligent cut points based on silence detection via FFmpeg.

Strengths

  • Automatic silence detection for clean cuts
  • Batch processing support for multiple files
  • Adjustable parameters for different audio types
  • Compatibility with many video and audio formats

Limitations

  • Requires FFmpeg to be installed on the system
  • Silence detection quality depends on configured threshold and window
  • No resume capability if batch processing is interrupted
When to use it

For segmenting long recordings, podcasts, lectures, or videos into fixed-duration chunks with natural cut points at silences.

When not to use it

If you need content-aware segmentation (e.g., by topic or speaker change) without relying on duration.

Security analysis

Safe
Quality score90/100

The skill uses standard media processing tools (ffmpeg, ffprobe) with no destructive or exfiltrative commands. It provides instructions for segmenting audio/video files without any obfuscation or unsafe operations.

No concerns found

Examples

Split a podcast into 30-minute segments
Split the podcast.mp3 file into 30-minute audio segments using silence detection with default settings.
Batch process lectures into 45-minute chunks
Batch segment all video files in the ./lectures directory into 45-minute audio chunks using FFmpeg with standard silence parameters.
Custom noise threshold for noisy recording
Split the noisy_recording.mkv into 15-minute segments with a silence threshold of -35dB and a window of 15 seconds to avoid cutting during short pauses.

name: audio-spliter description: "Split media files (video/audio) into audio segments by duration with silence-aware cut points using FFmpeg. Use when users need to segment long recordings, podcasts, lectures, or videos into chunks. Supports batch processing and any FFmpeg-compatible format." allowed-tools: [Bash(ffmpeg, ffprobe, bc, grep, sed, find)]

Audio Splitter

Segment media files into audio chunks with intelligent silence detection for clean cut points.

Quick Start

# Single file (video or audio)
./scripts/segment_audio.sh video.mp4 1800

# Batch processing
./scripts/batch_segment.sh -d ./videos 1800

Scripts

| Script | Purpose | |--------|---------| | segment_audio.sh | Segment single file (video or audio) | | batch_segment.sh | Batch wrapper for multiple files |

segment_audio.sh

Segment a single media file into audio chunks.

./scripts/segment_audio.sh [OPTIONS] <input_file> <segment_seconds>

| Option | Default | Description | |--------|---------|-------------| | -w, --window | 10 | Search window ±N seconds | | -n, --noise | -60dB | Silence threshold (dBFS) | | -s, --silence | 2 | Min silence duration (seconds) | | -o, --output-dir | input dir | Output directory |

Examples:

./scripts/segment_audio.sh video.mp4 1800              # 30-min segments
./scripts/segment_audio.sh podcast.mp3 1800
./scripts/segment_audio.sh -w 15 -n "-35dB" lecture.mkv 2700

batch_segment.sh (Batch)

Batch process multiple files in a directory.

./scripts/batch_segment.sh -d [OPTIONS] <input_dir> <segment_seconds>

| Option | Default | Description | |--------|---------|-------------| | -d, --dir | - | Enable batch mode | | --depth | 3 | Directory traversal depth | | -w, --window | 10 | Search window ±N seconds | | -n, --noise | -60dB | Silence threshold | | -s, --silence | 2 | Min silence duration | | -o, --output-dir | input dir | Output directory |

Examples:

./scripts/batch_segment.sh -d ./lectures 1800
./scripts/batch_segment.sh -d ./podcasts --depth 5 3600
./scripts/batch_segment.sh -d ./videos -o ./output 1800

Output Format

{source_name}_{num}_[{start}-{end}].{ext}

Example: video.mp4video_01_[0-1800].aac, video_02_[1800-3595].aac

Supported Formats

  • Video: mp4, mkv, avi, mov, webm, flv, wmv, m4v
  • Audio: mp3, aac, flac, wav, ogg, opus, m4a, wma

Detection Settings

| Audio Type | Noise | Window | Silence | |------------|-------|--------|---------| | Quiet studio | -50dB | 5s | 0.5s | | Default | -60dB | 10s | 2s | | Noisy recording | -35dB | 15s | 1.5s |

Dependencies

  • FFmpeg with ffprobe (brew install ffmpeg)
Related skills