01 · ffmpeg-cli-reference
Audio Joiner
Ordered tones, joined with an attenuated boundary.
- Output
- 2.25 s
- First tone
- 440 Hz
- Second tone
- 660 Hz
- Boundary RMS
- 0.004157 FS
Conversion Lab
Reproducible PDF benchmarks and audio reference findings, published with synthetic inputs, measured outputs, source provenance, hashes, and explicit limitations.
Audio v1 reference corpus
These results come from recorded FFmpeg CLI reference commands over CC0 synthetic PCM fixtures. They test duration, frequency, join-boundary attenuation, echo-tail energy, and sample alignment. They do not establish performance or fidelity for every source file or device.
01 · ffmpeg-cli-reference
Ordered tones, joined with an attenuated boundary.
02 · ffmpeg-cli-reference
A 0.75x tempo reference with pitch preservation.
03 · ffmpeg-cli-reference
Tape-style slowdown with a measurable echo tail.
04 · ffmpeg-cli-edit-reference
A deterministic trim of a synthetic voice-like signal.
FFmpeg CLI reference
Deterministic commands and signals establish the published reference outcomes above.
Browser release gate
Chromium, Firefox, and Playwright WebKit run the shipped workflow as a separate exact-candidate gate. That evidence does not certify Safari or archive the built artifact.
User-device behavior
Hardware, memory, source media, browser versions, and permissions vary. Users should review important exports on their own device.
Automated evidence contracts passed when this corpus was generated. Independent technical review and native-language review remain pending. The corpus is synthetic, narrow, and designed to expose specific semantic outcomes. It does not demonstrate arbitrary-source fidelity, cross-device equivalence, browser speed, microphone capture, or room acoustics.
PDF benchmark corpus
FileMorf's local PDF tools use pdf-lib and JSZip. The benchmark harness calls the shipped converter functions against a fixed corpus so releases remain comparable. Reference timings were produced in a server-class JavaScript runtime, not on a representative phone or laptop.
Last measured July 28, 2026 · build 4ef6888
| Benchmark | Input | Median | p95 | Output |
|---|---|---|---|---|
Merge 2 PDFs mergePdfs() over 2 three-page documents. | 2 PDFs × 3 pages | 2.4 ms | 5.7 ms | 9.95 KB |
Merge 10 PDFs mergePdfs() over 10 three-page documents. | 10 PDFs × 3 pages | 6.3 ms | 9.1 ms | 45.94 KB |
Merge 50 PDFs mergePdfs() over 50 three-page documents. | 50 PDFs × 3 pages | 30.4 ms | 32.7 ms | 226.95 KB |
| Benchmark | Input | Median | p95 | Output |
|---|---|---|---|---|
Split a 20-page PDF into single pages splitPdf() with no range — one output document per page. | 1 PDF × 20 pages | 5.9 ms | 8.1 ms | 45.16 KB · 20 files |
Extract pages 1–5 from a 100-page PDF extractPages() with the range "1-5". | 1 PDF × 100 pages | 7 ms | 7.3 ms | 8.65 KB |
| Benchmark | Input | Median | p95 | Output |
|---|---|---|---|---|
Number every page of a 100-page PDF addPageNumbers() with the "page n of total" format. | 1 PDF × 100 pages | 32.3 ms | 36.9 ms | 177.4 KB |
Watermark every page of a 100-page PDF watermarkPdf() drawing diagonal "DRAFT" text on each page. | 1 PDF × 100 pages | 29.9 ms | 31.5 ms | 183.16 KB |
| Benchmark | Input | Median | p95 | Output |
|---|---|---|---|---|
Package 50 PDFs into a ZIP JSZip generateAsync with the same defaults the site's batch download uses. | 50 PDFs × 3 pages | 5.5 ms | 10.1 ms | 277.63 KB |
src/lib/converters/pdf.ts, with pdf-lib 1.17.1 and JSZip 3.10.1.The measurements, fixtures, manifests, and generator are public. Use the hashes in the manifests to verify local copies before comparison.
filemorf-lab-results/1, CC BY 4.0)