SOUND FLIPPER GUIDES
How we test Sound Flipper's conversion quality
Read the actual desktop evidence for sample preservation, native encoder comparisons, timing, failure handling and the limits of those tests.
By Singularity Shift Ltd · Updated · Preview guide
Check the saved file, not just a successful button
A converter can finish without throwing an error and still produce the wrong samples or duration. Sound Flipper verifies actual output before reporting success. For preservation paths, that means checking representation, rate, channel order, sample count and sample values. A comparison that first reduces 24-bit audio to 16-bit would miss lost low bits, so our tests retain the relevant precision.
The generated fixtures include very small nonzero values, integer extrema, silence, channel differences and float values beyond the usual playback range. Awkward lengths exercise encoder delay, end padding and short-file boundaries.
Compare like with like
For lossy output, we compare against a native build using the same codec library and encoding settings. The verified decoded WAV supplied to the browser encoder is captured for the reference, so an earlier decoder difference is not confused with an encoder difference. The actual downloaded output is then independently decoded.
This distinction found real issues during qualification. The MP3 reader needed an explicit float decoder. Opus needed float output requested before the decoder opened. AAC reference differences were traced to sine-window initialization in the native math library; matching that reference function removed the discrepancy without changing the browser's encoding quality. A numerical difference is investigated, not automatically called worse sound.
The recorded desktop checkpoint
At the 28 October 2026 conversion-pipeline checkpoint, Chromium 149, Firefox 151 and Linux Playwright WebKit 26.5 passed 372 native comparison chains, 135 deliberate unsupported requests and 297 lifecycle/failure cases. Final MP3/AAC/Opus/Vorbis encoder comparisons matched their equivalent native paths exactly. Integer preservation and admitted MP3/Opus/WebM float-reader comparisons were exact; separately documented AAC/Ogg Vorbis source-decoder comparisons used small measured floating-point tolerances.
These figures describe the frozen conversion pipeline. They must not be read as a completed audit of every later UI, metadata or editing control. The current format table lists the admitted subset; a successful test of one subset does not qualify every file sharing its extension.
Test failures as well as good recordings
The suites exercise misleading extensions, extra streams, malformed headers, corrupt output, cancellation, stalled workers, quota errors and failed deletion. Cleanup failure withholds the final result instead of claiming success. Temporary files from another active tab must not be removed.
Strict timing checks also produce intentional refusals. Some one-packet WebM Opus files lose terminal padding in the retained/native demuxer, and irregular WebM recording timestamps would be silently concatenated by a simple decode. The qualified path refuses those cases rather than guessing a duration.
What the evidence does not establish
The source collection includes synthetic audio and CC0 speech by J and M and piano by triangelx. One speech clip and one music clip cannot establish universal perceptual transparency. Formal listening tests, physical mobile tests and hardware Safari tests were not performed for this checkpoint. Linux WebKit automation is not an iPhone result. Maximum file limits are admission ceilings, not a measured promise of memory, heat or speed on every device.
Human preview feedback should include browser/version, source and destination formats, the displayed warning and what was wrong in the downloaded result. Use contact details without sending private audio. Keep the original so any confirmed problem can be investigated from a reliable starting point.