• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

AutoEQ for speaker and headphone

Here are some updates for V0.5:
1. you can track progress here on this GH project
2. progress
  • d3rs : implement most of d3js to make low level plots
  • px: high level plots similar to plotly express based on the previous one
  • ui-kit: a set of ui components to make the main app less painful to write
  • math library is progressing with sparse solver that run in // with good preconditionners ; not super fast yet
  • BEM and FEM are working with various type of boundary conditions
  • main app:
    • audio player is working well
    • plugins are working, still struggling with a nice to look at interface
    • headphone autoEQ is working
  • AUv3 plugins are under way to be able to use and test them in a real DAW: working in Reaper but not yet in Logic
3. what's next
  • add roomEQ to the app
  • add recording to the app
  • polish the plugins look&feel
  • remove the small but annoying small bugs
The other features go to the next release after I have finish the previous one: look into V0.6 features
  • some are progressing the FEM code and the in-room measurements stuff (for rectangular rooms only)
 
For once, real progress:
- autoeq: can now do MSO and DBA, iir and fir are supported, mix mode too in order to limit latency
- the player was supposed to be a toy but it is getting full of features and it pretty usable
- the UI is progressing nicely, the plugins still need to be properly connected
Target date for a first major release is around end of year since I have some vacation and should be able to put more
time into it.

You can look at the list of ideas for the next version (2026), i have one million ideas but a few of them are close to
work:
- echo cancellation
- use ml to split the tracks back into stems and use the information to make a better upmixer
- directivity control ala glm (which I am testing today)

A few things are not working yet:
- easily building audio plugins (AUv3 is for now resisting against the rust ui)
- the HAL driver under macos is still not working super well (equivalent of soundflower but working on arm macos)
and of course I have 1 millions small bugs to fix. Design also need tightening, more consistency and more precision.
- windows port is lagging behind and I need a more powerfull machine (my Xmas present that should land soonish)

P.

P.S. If you have some skills in design and software development some help would be welcome.

Screenshot 2025-12-13 at 16.27.36.png


Screenshot 2025-12-13 at 16.28.00.png

Screenshot 2025-12-13 at 16.33.21.png

Screenshot 2025-12-13 at 16.32.20.png
 
This is fantastic, played around with the 0.44 GUI version on Mac. It's far more advanced than my needs but after a bit of tinkering I think I got the hang of it. Thanks pierre!
 
If looking for more speaker data you could also add https://audiore.kr/ and others that Spinorama includes, this would open up the list of available speakers significantly.
 
If looking for more speaker data you could also add https://audiore.kr/ and others that Spinorama includes, this would open up the list of available speakers significantly.

- You should definitively have access to all the spinorama.org speakers and measurements (sometimes a lagging a bit behind).
- For audiore.kr they send me their data from time to time. Ping them if you wants more.
 
Installed the new 0.5 version (Mac) and am a little confused. How do I get to the speaker selection and auto eq generation?
 

Attachments

  • Screenshot 2025-12-28 at 9.04.27 PM.png
    Screenshot 2025-12-28 at 9.04.27 PM.png
    198.1 KB · Views: 14
v0.5.7 runs on my Mac. How do you prefer to receive bug reports?

I let sotf run during dinner and it hogged RAM — 52GB after an hour or so I doubt that so much memory is necessary
 
Installed the new 0.5 version (Mac) and am a little confused. How do I get to the speaker selection and auto
1767022879621.png


you have 2 menus, 1 down (called Studio Rack maybe not the most explicit title) and 1 in the macos bar

- Library: audio player
- Studio rack: a tool to add plugins in a linear way (one plugin feed the next one) similar to the old hardware audio rack
-> gain -> eq -> level meter for example

- Studio full: same idea but with a graph of plugins to do crossovers and more complicated things
- Recording: record with a microphone your speakers in room
- RoomEQ: use the previous recording to propose an eq
- HeadphoneEQ: use a measurement of a headphone (like the one Amir is doing on ASR) and use it to do a first EQ. Modify to taste
- Spinorama: take a measurement of a speaker with a spinorama and generate an EQ from that

P.
 
Happy new year and new release today https://github.com/pierreaubert/sotf/releases/tag/v0.5.8

Beta quality on MacOS, untested on Linux and Windows.
App is now in hard freeze on features. Only bugs will be fixed.

Quality improvements
  • better UI overall esp. the plugins
  • lots of small bugs removed
  • windows and linux supported, ARM version for now
  • critical bugs: various memory leaks, major bug in EQ plugin
What is working today (at least on a Mac)
  • audio player
  • audio plugin (a growing set with all the basic plugin plus some which are usually not free: upmixer, denoiser, xtc crosstalk- cancellation, pnd=Polyphonic Note Detection)
  • you can EQ yourself any speaker on spinorama.org
  • you can EQ yourself any headphone if you have the measurement
  • you can record your speakers in your room
  • you can eq your speakers in your room
What is not working yet?
  • graph of plugins is still too buggy to be used
  • new features need a lot of testing (see brand new plugin)
New Features
  • plugin denoiser and declicker: remove clicks and noise from old records
  • plugin xtc aka cross talk cancellation
  • plugin pnd: remove wow/flutter (maybe)
  • plugin expander: increase dynamics
  • plugin mb expander and mb compressor: multi bands version of the expander and compressor
Binaries
  • MacOS: working well
  • Linux: untested, i generated the build on a server that does not have an audio card ...
  • Windows: untested, i generated the build in a vm ...
Testing will happen next week when I have access to more hardware to do proper testing.
 
Happy new year, and thanks for the update. For the spinorama section it would be a big help if we could use keyboard input for min and max freq. It's a pain to use the arrows to go up and down.

Edit - a couple of bugs
-Not able to use spaces or numbers when searching for speaker, the field will not accept the input.
-"PEQ model" dropdown seems buggy, receiving this error when choosing Peaks + Highpass. Also, selecting anything other than the default (PK - All Peak Filters) causes the autoeq to ignore the frequency limits user has set.

And 2 questions:
-With the original version it seemed like running autoeq multiple times with same parameters would give varying results, sometimes even reducing the score. Is there a way to code this so it will automatically find the best possible eq? E.g. run it 10 times in the background and only present the user with the top result.
-What is the expected format for CSV speaker data upload?
 
Last edited:
Happy new year, and thanks for the update. For the spinorama section it would be a big help if we could use keyboard input for min and max freq. It's a pain to use the arrows to go up and down.

Edit - a couple of bugs
-Not able to use spaces or numbers when searching for speaker, the field will not accept the input.
-"PEQ model" dropdown seems buggy, receiving this error when choosing Peaks + Highpass. Also, selecting anything other than the default (PK - All Peak Filters) causes the autoeq to ignore the frequency limits user has set.

And 2 questions:
-With the original version it seemed like running autoeq multiple times with same parameters would give varying results, sometimes even reducing the score. Is there a way to code this so it will automatically find the best possible eq? E.g. run it 10 times in the background and only present the user with the top result.
-What is the expected format for CSV speaker data upload?
Thank you for reporting bugs @SlowJim

1. various bugs fixed.
2. the optimiser is not deterministic and will converge to different values at each run. I can add more randomness and run multiple times with multiple algorithms. It is rare that it increase the score a lot (remember that +0.6 is the minimum to get a statistically significant difference). So +/- 0.2 is not important even if pleasing to the eye. There is a lot of parameters to play with. I will add a magic button later (ala I am feeling lucky that usually does reasonable well at finding optimal parameters)
3. it depends what you want to do: for headphone that's freq, spl or freq, spl, phase. For room_eq that's a json file which is described in https://github.com/pierreaubert/autoeq/blob/main/autoeq/bin/roomeq/INPUT_FORMAT.md (that's what is generated by the recording process)

v0.5.9 is currently building.
 
Back
Top Bottom