Every producer has the same loop after a mix is "done". Bounce it. Play it on the phone speaker. Then the earbuds. Then the Bluetooth speaker in the kitchen, the car on the way to the shop, the laptop, the TV. Come back, nudge the low end, bounce again. Repeat until you run out of patience rather than problems.
CheckMyMix exists to end that loop. Load the mix once, at your desk, and switch listening profiles instead of exporting. It is a free download for macOS at quantumaccordbg.com/checkmymix.
This post is deliberately plain about what the app does, because the alternative — letting you find out with headphones on — is how a tool loses trust it never gets back.
Update, 29 September: version 1.3 — the mono check
A phone speaker folds your mix to mono, and anything out of phase between left and right cancels there — a widened lead or a stereo synth can simply disappear. 1.3 reads your mix as it plays (before any profile is applied) and shows a correlation meter from −1 to +1: near +1 is mono-safe, around 0 is wide, below 0 means parts of the mix are cancelling. When folding to mono would lose more than 4.5 dB, a plain warning appears. Wide or hard-panned material loses about 3 dB in mono and does not trigger it — that is width, not a problem.
Update, 29 September: version 1.2 — loop a section, and drop a file in
A/B loop. Press A where the chorus starts and B where it ends — or [ and ] — and that section repeats without a gap while you switch profiles. It is shaded on the seek bar; seeking elsewhere clears it.
Drag and drop. Drop a WAV or MP3 onto the window or onto the CheckMyMix icon in the Dock, or choose Open With in Finder. CheckMyMix registers as an alternate app for those files, so it never takes over as your default player.
Update, 29 September: version 1.1.3 — loudness matching
A profile that cuts the bass and limits hard also makes the mix quieter — a budget phone by about 4.5 dB — and in any A/B the quieter side sounds worse for no musical reason. 1.1.3 adds Match loudness, on by default: each profile gets a gain correction, applied after everything else, that brings it back level with your untouched mix. Switch it off to hear the real drop.
The corrections are measured, not guessed: pink noise at −18 dBFS through each profile, compared with the untouched signal. Because compression depends on level, the match is exact at that level and approximate on a mix that is much louder or quieter.
Update, 29 September: version 1.1.2 — if you have 1.1 or 1.1.1, please update
Versions 1.1 and 1.1.1 loaded a mix and then could not play it. The Play, Pause and Stop buttons changed their own icons but were never connected to the audio engine, so none of the profile processing below was ever audible. Every test of the audio engine passed; nothing tested the buttons.
1.1.2 fixes it. Play, Pause and Stop drive playback; there is a real clock and a seek bar; Space plays and pauses. It is now checked by a script that opens the real app, loads a file through the real Open dialog, presses Play, and reads the clock as it moves — the check that would have caught this. It also fixes a crash that could happen when closing the window mid-playback.
Update, 28 September: version 1.1 processes the profiles
Version 1.0 shipped with the profiles as positions in the interface and said so: picking one did not change the sound. Version 1.1 does. Each profile now runs your mix through:
- a bass high-pass at the frequency that class of speaker stops producing — about 400 Hz for a budget phone, 40 Hz for wired earbuds, none at all for a car with a subwoofer;
- a low shelf for systems with a real woofer;
- four bands of EQ for the character of the device — the mid-range "honk" of a phone speaker, the cabin dip in a car, the dialogue-forward mids most TVs apply;
- compression, from barely-there on earbuds to hard limiting on a phone, because small speakers protect themselves;
- a little distortion on cheap hardware;
- a blend toward mono, equal-power so narrowing never reads as getting quieter — full mono on a budget phone, none on wired earbuds.
Switch profiles mid-playback and the sound changes with no gap. Bypass takes everything out in one click. The spectrum now shows what is actually coming out after the profile.
How it is checked
Each profile is verified by rendering test tones through the same audio engine the app plays through, and measuring what comes out: a 60 Hz tone must lose at least 15 dB on Budget Phone and gain on Car + Subwoofer; a signal in only the left channel must reach both ears, within a decibel, on the mono profiles; Bypass must land within half a decibel of untouched; and a loud and a quiet tone must end up closer together on a compressed profile than they started.
Writing those checks found two real faults before release — the stereo path silently disconnected, and the bass cut barely cutting (7.5 dB where it needed 15) — and one check too weak to notice a broken Bypass switch, which was fixed before it could matter. Neither fault showed up in a successful build.
What it still does not claim
The profiles are modelled, not measured. They follow how each class of device behaves — small drivers lose bass, closely spaced speakers lose stereo, cheap amplifiers limit — rather than a measurement of any particular phone or car, and they have not yet been tuned by ear against real systems. Treat CheckMyMix as a fast first check at your desk; confirm on the real thing before release. Resonances are modelled as EQ peaks and dips, not with impulse responses.
Why representative profiles, not branded devices
The profiles are listening situations, not specific products. "Premium Phone" stands for the range of phones a listener might actually own this year and next, not one model that gets discontinued. A profile tuned to a single device is precise about the wrong thing.
What it is not
Not a mastering plugin. Not another EQ. The goal is confidence that the mix survives the trip from your monitors to a phone in someone's pocket — a translation check, made before release rather than after.
Who it is for
Music producers, mixing engineers, independent artists, and bedroom producers who make records on headphones and find out too late what the low end does on a car stereo.
Where it is going
Update, 3 October: CheckMyMix now runs on Windows and loads as a VST3 plugin inside a DAW — see CheckMyMix for Windows, and as a VST3 plugin. Still to come: tuning the profiles by ear against real phones, earbuds and cars; the Mac plugin installer; new profiles; and eventually a shared library of profiles people build and tune themselves. None of that is in 1.1, and the download page will keep saying exactly which version does what.
Download it at quantumaccordbg.com/checkmymix. If you try it, the most useful thing you can send back is which playback system betrays your mixes most often — that is the profile that gets tuned first.