Repository navigation
Releases: andreypudov/core-eq
Release list
v1.9.2
A fix for Macs where CoreEQ 1.9 stopped equalizing whenever anything played, and said “Paused while recording” with nothing recording.
Fixed
-
Siri listening was mistaken for a recording. 1.9 pauses while a screen recording captures system audio, so the recording does not come out with an echo. It recognised a recording by how the capture looked — audio captured from no input device — and the service that listens for “Hey Siri”, and also serves dictation and Live Captions, looks the same. On Macs with Listen for Siri turned on, CoreEQ paused as soon as anything played.
CoreEQ now recognises a recording by what is capturing: macOS's screen capture service, which records on behalf of every screen recorder and every app that shares a screen with sound. Siri, dictation, and apps using the microphone no longer pause it. Screen recordings with audio still do.
If you turned off Pause while recording system audio to work around this, it is safe to turn it back on in Settings → General.
v1.9
The most requested feature, by a clear margin, was loading an AutoEQ or EqualizerAPO profile — asked for as AutoEQ, EqualizerAPO, Wavelet, and “EQ txt files”, which are all the same file. 1.9 reads it and writes it. It also answers the screen recordings that came out with an echo, and a sample rate change that left the sound chopped until CoreEQ was restarted.
New
- Import and export. EqualizerAPO and AutoEQ text, and CoreEQ's own
.coreeq, from the+under the preset list, by pasting with⌘V, or by dropping a file on the list. Every import shows what it found first, including anything dropped to fit sixteen filters, adjusted to fit CoreEQ's limits, or skipped. UTF-8, UTF-16, and Windows-1252 files all read. Export is on a preset's context menu, and exporting the preset you are listening to writes what you hear. A real AutoEQ profile, the Sennheiser HD 600, matches the response AutoEQ publishes for it within 0.064 dB, and what CoreEQ writes reloads identically. Contributed by Sebastian Ullrich. - An AutoEQ guide. The AutoEQ button beside the
+walks through getting a correction for your headphones from autoeq.app. - Pause while recording system audio. A screen recording captures each app's sound and CoreEQ's equalized copy 27 ms later, which sounds like an echo. CoreEQ now steps aside while such a recording runs, says so, and comes back when it stops. On by default, in Settings → General. Microphone recordings are left alone.
- Preset descriptions. Rest the pointer on a built-in preset, in the sidebar or the menu, for a line on what it is for.
Fixed
- A sample rate change left the sound chopped (#27). A DAW or a player such as Qobuz switching the output's rate left CoreEQ glitching until a restart. It now rebuilds its audio path once the new rate has settled.
- Tabbing through a filter changed it. Moving through the parametric fields rounded a value like 70.8 Hz to what the field showed, and marked the preset Edited. Fields now change only when you type, and show the decimal they hold.
- The menu's switch looked the same on and off (#26). It is now drawn in your accent colour when on.
- Starting during a recording could claim the permission was refused. A recorder holding the output open read as audio CoreEQ should have heard.
- A tap could be built that heard CoreEQ itself, when its own audio process could not be identified. It now waits and retries instead.
v1.8.1
Fixes compiler warnings that broke building from source with the current Xcode (Swift 6.4), reported in #21. Functionally identical to 1.8 — if 1.8 already builds and runs for you, there is nothing new here.
v1.8
CoreEQ 1.8 — Make it work everywhere it claims to
CoreEQ 1.7 worked on a Mac with stereo speakers and nothing unusual attached.
1.8 is about the machines where it did not. Three separate defects could leave a
Mac completely silent while every layer of the app reported that it was working,
and the only way out was to quit an app that launches at login. All three are
fixed, multichannel devices are equalized properly rather than mangled, and the
Mac is allowed to sleep again.
Everything below was measured on hardware rather than reasoned about, and the
diagnostics report carries the evidence so the next report arrives with its own.
New
- Multichannel output. Devices presenting more than two channels — HDMI,
DisplayPort, USB interfaces — are equalized per channel and placed correctly
instead of silenced or mangled. Confirmed on a sixteen channel device: six
channel content arrives as six discrete channels, Flat is bit-exact, and each
channel's measured response matches the drawn curve to within 0.01 dB. - The Mac sleeps again. The audio device is released after thirty seconds of
digital silence and rebuilt the moment something plays — 40–48 ms on a
Bluetooth headset, measured from the player launching, so the first second of
audio is already equalized. Settings has a switch to turn the behaviour off. - Permission explained where it is asked. "System Audio Recording" sounds
broader than what an equalizer does, so the explanation now appears inside the
macOS dialog itself rather than in Settings after the fact. - A diagnostics report worth pasting. It now carries the sample-rate window
(or "none seen"), whether the device is currently released and how often it
has been, and the peak output with clipping attributed to the chain rather
than to the recording.
Fixed
- Aggregate and Multi-Output Devices silenced the Mac. Core Audio will not
nest one aggregate inside another and does not say so — it returns success and
hands back a device with no output streams. CoreEQ now refuses such a default
output before the tap is created, and says which device and why. - Refusing the audio permission silenced the Mac. Creating a tap succeeds even
when permission was refused; every sample is zero while every other process is
muted at the hardware. Muting is now earned — nothing is muted until real
audio has been seen — so a refusal costs only that audio is not equalized, and
the app says so and opens the right Settings pane. - CoreEQ prevented sleep with nothing playing. Once anything had played, the
device was never let go. See above. - Clipping was blamed on the material. The warning counted any sample over
full scale, which fires at Flat on modern masters. It now counts only samples
the chain itself lifted past full scale. - Tab skipped newly added parametric bands. The key view loop was computed
once when the window was built and never again.
Notes
Several of these came from reports on Reddit and GitHub, and two were found
while chasing a third — including the aggregate device defect, which had
probably been silencing people who had no way to work out what to blame. If
something is wrong on your hardware, the diagnostics report is the fastest path:
it now answers most of these questions without a round trip.
v1.7
Full Changelog: v1.6...v1.7



