Audio · 02
Audio trimmer
Set a start and an end, fade the splice by a few milliseconds, and download the piece you kept. WAV stays in the tab. MP3 uses the local ffmpeg build.
How to use it
Drop a WAV, MP3, M4A, FLAC, or OGG. The page reads the duration with the browser, then you type the region in seconds. The end has to sit after the start, and the whole file has to stay under 15 minutes or 80 MB.
WAV is decoded with Web Audio, sliced, given a 10 ms fade on each cut, and written as 16-bit PCM. That path never loads ffmpeg. Choose MP3 when you need a smaller file: the same region is encoded with libmp3lame at 192 kbps after ffmpeg has downloaded once.
The player under the button is the new file, not a preview of the original. Download it before you leave the page. Closing the tab drops the blob.
Tips
- Leave a little air before a spoken word. A cut exactly on the consonant clicks.
- Use WAV when the next step is another tool on this site. Re-encoding to MP3 twice adds noise.
- If the duration field stays blank, the browser could not read the container. Convert it here first, then trim the WAV.
FAQ
Does trimming upload the song?
No. Decoding and encoding happen in the tab. The source file is read with the File API and never posted to a server.
Why does the MP3 path pause the first time?
ffmpeg.wasm is about 31 MB and loads only when you ask for MP3. Later cuts in the same tab reuse it.
Can I keep the original sample rate?
The WAV path keeps the decoded rate and channel count. The MP3 path is 192 kbps stereo from whatever ffmpeg decodes.
License
The WAV path is Web Audio in the page. Encoding uses the single-thread ffmpeg.wasm build shipped with Cutshed. The JavaScript wrapper (@ffmpeg/ffmpeg and @ffmpeg/util) is MIT. The core binary is GPL-2.0-or-later because the build enables GPL components, including libx264, libmp3lame, libvorbis, and native AAC and FLAC. That license covers the encoder, not your recording.