About MusicCutter

MusicCutter is a static web app. Once the page has loaded, every step — decoding, editing, effects, encoding and checking the result — runs in your browser using Web Audio, Web Workers and WebCodecs. There is no backend that receives audio.

Feature labels

NATIVE uses a browser API or code written for this site. WASM marks a bundled third-party codec (the MP3 encoder is a pure-JavaScript port of LAME). APPROX is a bounded best effort whose quality limits are stated next to the control. UNSUPPORTED means your browser cannot do it here and nothing is sent to a server instead. Roadmap items are not built yet.

Libraries

Feature status

48 done, 8 partial, 1 not done, of 57 requirements.

IDFeatureStatusLabelNotes
MUSIC-01-001Drag-drop multiple local audio filesDoneNATIVEDrop anywhere on the editor or Open files (multi-select); files append as clips.
MUSIC-01-002Format sniffing and unsupported codec messagesDoneNATIVEMagic-byte sniffing for WAV/RF64/MP3/FLAC/Ogg/MP4/WebM/AIFF/CAF/AMR/MIDI and non-audio; specific fix per format.
MUSIC-01-003Waveform and zoomable timelineDoneNATIVECanvas waveform with peak pyramid, sample-level zoom, overview pan, Ctrl/⌘+wheel zoom.
MUSIC-01-004Sample-aware transport and playheadDoneNATIVEPositions stored as integer frames; playhead clock in ms, sample counts shown.
MUSIC-01-005Select range by drag and numeric entryDoneNATIVEDrag, move selection, typed In/Out/Length (m:ss.mmm, s, ms, frames).
MUSIC-01-006Frame-accurate in/out markersDoneNATIVEMarkers at playhead or typed time; editable; Alt+arrow 1-sample nudge on handles.
MUSIC-01-007Trim keeping selected portionDoneNATIVESample-exact; regression fixture 10.000–25.500 s verified by re-decode.
MUSIC-01-008Remove selection and ripple closeDoneNATIVEWith automatic 3 ms de-click at non-contiguous joins.
MUSIC-01-009Split at playhead and per markersDoneNATIVESplit at playhead (S) and at all markers; export parts as ZIP.
MUSIC-01-010Multi-clip non-destructive arrangementDoneNATIVESingle-track clip list referencing immutable sources.
MUSIC-01-011Undo/redo transactional historyDoneNATIVEImmutable snapshots, 200 steps.
MUSIC-01-012Duplicate, reorder, move and snap clipsDoneNATIVEDuplicate, drag/keyboard reorder; selection snaps to clip edges, markers, zero crossings.
MUSIC-01-013Loop playback and A/B original toggleDoneNATIVELoop selection; A/B bypasses the effects chain.
MUSIC-01-014Stereo and mono channel viewDoneNATIVEMixed or per-channel lanes.
MUSIC-01-015Keyboard shortcuts and touch drag handlesDoneNATIVESpace/T/Del/S/M/I/O/R/L, Ctrl+Z/A; 44 px In/Out grips.
MUSIC-02-001Linear and equal-power fade in/outDoneNATIVEPer clip, sample-accurate lengths.
MUSIC-02-002Adjust gain and avoid clippingDoneNATIVEClip, range and master gain; clipped-sample count and red marks.
MUSIC-02-003Peak normalization with true-peak caveatDoneNATIVESample-peak normalize; UI states it is not true-peak.
MUSIC-02-004Loudness normalization with measured LUFSDoneNATIVEBS.1770-4 integrated loudness, EBU 3341 case 1 in tests.
MUSIC-02-005Change speed with pitch shift optionDoneNATIVETape-style varispeed via windowed-sinc resampling.
MUSIC-02-006Time stretch preserving pitchPartialAPPROXWSOLA in TypeScript (no WASM library); artefacts at extreme ratios disclosed.
MUSIC-02-007Pitch transpose and cents controlsPartialAPPROXResample + WSOLA; approximate quality.
MUSIC-02-008Reverse selected audioDoneNATIVENon-destructive reversed clips.
MUSIC-02-009Silence trim with adjustable thresholdDoneNATIVEThreshold, minimum length, padding; preview shading before cutting.
MUSIC-02-010Noise gate with previewDoneNATIVEGate with A/B preview; labelled as not AI denoising.
MUSIC-02-011Equalizer 3/10 bandPartialNATIVE3-band EQ done; 10-band is roadmap.
MUSIC-02-012High-pass/low-pass and compressorDoneNATIVERBJ biquads; soft-knee feed-forward compressor.
MUSIC-02-013Limiter and clipping indicatorsDoneNATIVELook-ahead brickwall (sample peak).
MUSIC-02-014Crossfade between joined tracksDoneNATIVEEqual-power overlap crossfades at joins.
MUSIC-02-015Mono/stereo conversion and channel remixDoneNATIVEMono, stereo-from-mono, swap, left/right only.
MUSIC-02-016Sample-rate conversion with quality presetsPartialNATIVEWindowed-sinc SRC on import/export; a single quality level (no user preset picker).
MUSIC-02-017Ringtone exact duration presetsDoneNATIVEiPhone 30 s (.m4r when AAC encoder exists), Android, notification, alarm.
MUSIC-03-001Microphone capture with explicit consentDoneNATIVEExplicit Allow button; denied/revoked/missing device messages.
MUSIC-03-002Record/pause/resume and monitor safetyDoneNATIVEMediaRecorder pause/resume; level meter, no speaker monitoring.
MUSIC-03-003Export selected range or full projectDoneNATIVERange selector in Export.
MUSIC-03-004Export WAV PCM 16/24/32-bitDoneNATIVE16/24-bit PCM and 32-bit float, LIST/INFO tags.
MUSIC-03-005Export MP3 using local encoderDoneWASMlamejs (pure JS, LGPL-3.0) in a Worker; CBR; ID3v2.3 incl. cover art.
MUSIC-03-006Export AAC/MP4 with capability checksDoneNATIVEWebCodecs AAC + mp4-muxer when supported; otherwise labelled UNSUPPORTED with MP3 fallback.
MUSIC-03-007Export Opus/WebMDoneNATIVEWebCodecs Opus + webm-muxer when supported.
MUSIC-03-008Export FLAC when enabledNot doneUNSUPPORTEDShown as roadmap in the format list.
MUSIC-03-009Batch trim with shared settingsDoneNATIVEShared start/end/fades/effects, ZIP output.
MUSIC-03-010Bitrate/sample rate/channel settingsDoneNATIVEPer-format constraints enforced (MP3 rates, Opus 48 kHz).
MUSIC-03-011Metadata title/artist and cover art when supportedPartialNATIVEMP3 ID3 (title, artist, cover) and WAV INFO; not yet for M4A/Opus.
MUSIC-03-012Listen to rendered output before downloadDoneNATIVEAudio player for the exported file before download.
MUSIC-03-013Output size and duration estimateDoneNATIVELive estimate in Export.
MUSIC-03-014Save project manifest and local file handlesPartialNATIVEVersioned JSON manifest; File System Access handles not used (roadmap).
MUSIC-03-015Restore project with missing-file relinkDoneNATIVEMatch by name+size; missing files reported, clips removed.
MUSIC-04-001Large-file worker memory budgetPartialNATIVEPre-flight budget refuses oversized projects (no chunked/OPFS streaming yet).
MUSIC-04-002Long render progress/cancelPartialNATIVEExport progress + cancel (worker terminate); preview render has no cancel.
MUSIC-04-003Mobile playback unlock handlingDoneNATIVEAudioContext created/resumed on user gesture.
MUSIC-04-004Audio device change and suspend/resumeDoneNATIVEInterrupted banner with Resume; restarts on devicechange.
MUSIC-04-005Keyboard accessibility and numeric alternativesDoneNATIVEAll drag actions have typed or keyboard equivalents.
MUSIC-04-006Touch-accessible handlesDoneNATIVE44 px grips, 22 px touch hit tolerance.
MUSIC-04-007Auto-save project metadata locallyDoneNATIVEIndexedDB, debounced; restore banner on return.
MUSIC-04-008Prevent tab-close loss with warningDoneNATIVEbeforeunload when unsaved edits exist.
MUSIC-04-009Export verification: decode and duration sanityDoneNATIVEEvery export is re-decoded (browser decoder + built-in WAV reader).
MUSIC-04-010No audio upload or telemetry payloadsDoneNATIVENo analytics; CSP connect-src self; smoke test asserts no third-party requests.

Back to the editor