A fast, native desktop app that automatically removes silent parts from videos. Built with Tauri v2, Svelte 5, and FFmpeg.
silencedetect filter# Install frontend dependencies
npm install
# Link system FFmpeg for development
bash scripts/setup-ffmpeg.sh
# Run in development mode
npx tauri dev
# Release build
npx tauri build
Output: src-tauri/target/release/bundle/ contains .app (macOS) or .exe (Windows).
src/ # Svelte frontend
lib/
components/
FileInput.svelte # Drop zone + file picker
DetectionSettings.svelte
ProcessingSettings.svelte
LogPanel.svelte # Progress bar + log output
types.ts # TypeScript types
App.svelte # Main app shell
app.css # Global styles + theme
src-tauri/ # Rust backend
src/
main.rs # Entry point
lib.rs # Tauri commands (orchestrator)
ffmpeg.rs # FFmpeg operations (silence detect, cut, speed)
types.rs # Shared types
tauri.conf.json # Tauri configuration
capabilities/ # Permission definitions
| Parameter | Description | Default |
|---|---|---|
| Silence Threshold | dB level below which audio is considered silent | -30 dB |
| Min Silence Duration | Minimum length of silence to detect | 0.5s |
| Failure Tolerance | Gap tolerance when merging nearby silent intervals | 0.1s |
| Edge Padding | Padding to leave around cut boundaries | 0.1s |
| Mode | Remove / Speed up / Keep only silence / Both | Remove |
| Speed Multiplier | Playback speed for silent parts (speed mode) | 2.0x |
| Min Loud Duration | Loud segments shorter than this are also cut | 0.0s |
| Codec | Output video codec (auto-detected if empty) | auto |
| Bitrate | Output video bitrate (auto if empty) | auto |
Based on the original jumpcutter concept by Kivanc Yuksel.
MIT