Audio Joiner
Combine MP3, WAV, M4A, FLAC, and OGG clips into one ordered audio file. Each input is decoded locally, normalized to a common 44.1 kHz stereo render path, and exported in the format you choose. You can reorder, trim, and preview clips before export. Core editing stays on this device; optional AI and transcription features use clearly labeled server jobs.
Core edit stays local
AI and transcript are opt-in server steps
Drop an audio file here
or click to browse
Use this when
- You need one ordered file from several supported audio sources.
- A new render at a common sample rate and channel layout is acceptable.
Choose another approach when
- You need bit-for-bit concatenation without decoding or resampling.
- The combined working set is too large for your browser or device memory.
Reproducible example
Listen to the CLI reference fixture and output
These deterministic files are FFmpeg CLI references, not measurements of the shipped browser renderer or microphone capture. Automated checks are shown below; independent human review remains pending.
Synthetic input 1
SHA-256 146533ae274550b1aceb277c222323578d84c104122aa85e9b9421a3abef59f1
- Duration: 1 s
- Size: 176.4 kB
- Sample rate: 44,100 Hz
- Channels: 2
Synthetic input 2
SHA-256 908fff30575445d37b4795f0c043d29424f50024954e83cb4daf65260db948b5
- Duration: 1.25 s
- Size: 220.5 kB
- Sample rate: 44,100 Hz
- Channels: 2
Rendered output
SHA-256 514aa29dc0d71e255fc961e1f3ef2f81b3ad3f6190e96024ec3db915ef6e3959
- Duration: 2.25 s
- Size: 396.9 kB
- Sample rate: 44,100 Hz
- Channels: 2
Automated fixture check
- Output duration Pass.
Observed: 2.25 s. Expected: 2.25 ± 0.02 s. - First segment frequency Pass.
Observed: 440 Hz. Expected: 440 ± 1 Hz. - Second segment frequency Pass.
Observed: 660 Hz. Expected: 660 ± 1 Hz. - Join-boundary signal level Pass.
Observed: 0.004157 FS. Expected: ≤ 0.01 FS.
Environment
audio-v1 · Sep 3, 2026, 2:44 AM UTC
FFmpeg CLI · darwin arm64 · v23.7.0
ffmpeg version 8.1.2 Copyright (c) 2000-2026 the FFmpeg developers
ffprobe version 8.1.2 Copyright (c) 2007-2026 the FFmpeg developers
@ffmpeg/ffmpeg 0.12.15 with @ffmpeg/core 0.12.10
- Public evidence manifest
- evidence.json
- Fixture license
- CC0 1.0
- Generator source
- generate-audio-flagship-evidence.mjs.txtSHA-256 228ca719f843debbddd1e1b3482f2b6d406b3d89afab34ef7797eacf01c998c7
- Source base commit
- e11eef48f52df732e0ef32d69f7ea10635b150bc
- Browser renderer source
- src/lib/audio/editor.tsSHA-256 159c26bb4f175dc8c823d2c70178f631d0125cf8059b3f8ea1494a3f3fba6479
The repository is private. The exact generator snapshot is public; the browser renderer and commit are retained privately and pinned here by full hash.
Fixture rights: CC0 synthetic audio generated in the repository. No customer or third-party recording is used.
Reference command
ffmpeg -y -hide_banner -loglevel error -i public/fixtures/audio/v1/join-a-440hz.wav -i public/fixtures/audio/v1/join-b-660hz.wav -filter_complex '[0:a]atrim=start=0:end=1.000,asetpts=PTS-STARTPTS,aresample=44100,aformat=sample_fmts=fltp:channel_layouts=stereo,afade=t=out:st=0.9940:d=0.006[c0];[1:a]atrim=start=0:end=1.250,asetpts=PTS-STARTPTS,aresample=44100,aformat=sample_fmts=fltp:channel_layouts=stereo,afade=t=in:st=0:d=0.006[c1];[c0][c1]concat=n=2:v=0:a=1[out]' -map '[out]' -vn -c:a pcm_s16le -map_metadata -1 -bitexact public/fixtures/audio/v1/joined-reference.wavLimitations and failure modes
- Every source is decoded and rendered again. Lossless output avoids an additional lossy codec, but it does not preserve the original bitstream.
- Six-millisecond microfades reduce join clicks but cannot guarantee a seamless boundary for every waveform.
Methodology
The public corpus is deterministic. Full hashes, commands, engine version, and semantic signal checks are recorded in the manifest. These files exercise the native FFmpeg reference graph; browser workflow behavior is a separate release gate and device speed is not inferred.
Technical sources
How it works
Load and add clips
Choose the first audio file, then add more. Each source becomes a separate clip on the timeline.
Set the sequence
Drag, trim, and preview clips in the order you want. Short microfades reduce clicks at internal joins.
Export one file
Render the complete timeline as MP3, WAV, FLAC, M4A, or OGG on this device.
Questions from current search and product use
How many files can I join?
There is no fixed clip-count limit. Before decoding, FileMorf estimates each source’s PCM footprint and checks the whole project against a device-aware browser memory budget.
Can I combine different formats and sample rates?
Yes. The editor decodes supported sources and normalizes render branches to 44.1 kHz stereo before joining. That makes mixed sources compatible, but it is a new render rather than a bit-for-bit copy.
Can I control the order?
Yes. Each source becomes a timeline clip. Reorder, trim, copy, or remove clips before you export the combined file.
Does joining upload my audio?
Core editing, preview, and export run locally in your browser. AI Enhance and Transcript are optional account features that upload only after you choose them and see their server-processing disclosure.
Continue the workflow
Accountability
- Author
- Jesse Delia
- Technical review
- Pending independent review
- Report a correction
- support@filemorf.com
Change history
2026-07-30: Tool-first page, precise processing boundary, synthetic fixture evidence, limitations, and accountability record added.