How the Audio Fade In/Out Works
AnyTool fades audio entirely in the browser with the Web Audio API. The file is decoded once to draw a peak waveform with draggable fade-in and fade-out handles (and an optional crossfade split marker). The chosen curve — linear, logarithmic, exponential, quarter-sine, half-sine or equal-power — is built as a Float32 gain curve and applied with GainNode.setValueCurveAtTime, so the live preview is bit-identical to the export. The render runs in an OfflineAudioContext with the same curve; WAV is written directly, and a self-hosted single-threaded ffmpeg.wasm engine (bundled core, no CDN) encodes MP3 (libmp3lame), M4A (AAC, +faststart), OGG (libvorbis) or FLAC with metadata passthrough. Batches apply the same fade and download as a ZIP.
- Runs client-side — the audio is never uploaded
- Draggable fade handles on a Web Audio waveform
- Six curves applied identically in preview and export
- Single-file equal-power crossfade at a split point
- Self-hosted ffmpeg core (bundled) — no CDN
- Batch + ZIP; export WAV/MP3/M4A/OGG/FLAC
