Optimize Speaker EQ (Spinorama)
Every speaker has frequency response imperfections. SotF can automatically correct these using real measurement data from spinorama.org, a database of 800+ speakers measured under controlled conditions (CEA-2034 / Spinorama standard).
What you need
Section titled “What you need”- SotF (Terminal or Desktop)
- Your speaker model name (must be in the spinorama.org database)
- Internet connection (for fetching measurement data)
Walkthrough
Section titled “Walkthrough”-
Open the Spinorama EQ screen
Click the Spinorama tab in the sidebar.
-
Search for your speaker
Type your speaker model (e.g., “KEF R3”, “JBL 305P”, “Genelec 8030”). Select from the search results. SotF fetches the measurement data from spinorama.org.
-
Select measurement version
Some speakers have multiple measurements (e.g., from different reviewers like ASR, EAC, Princeton). Choose the one that matches your speaker revision.
-
Configure optimization (optional)
Parameter Default Description Number of filters 7 PEQ filter count Loss function speaker-score Optimizes Harman preference score Algorithm cobyla Local optimizer (fast). Use autoeq:defor global searchMin/Max Q 0.5 / 10.0 Filter sharpness bounds Min spacing (oct) 0.3 Minimum distance between filters -
Run optimization
Click Optimize. Watch the loss curve converge. This typically takes 5-30 seconds depending on algorithm choice.
-
Review and apply
Inspect the before/after frequency response overlay. Click Apply to load the correction EQ into your plugin chain.
# Optimize for KEF R3 using COBYLAcargo run --bin autoeq --release -- \ --speaker "KEF R3" \ --version asr \ --measurement CEA2034 \ --loss speaker-score \ --algo nlopt:cobyla \ -n 7
# Global search with Differential Evolution (slower, better for complex responses)cargo run --bin autoeq --release -- \ --speaker "KEF R3" \ --version asr \ --measurement CEA2034 \ --loss speaker-score \ --algo autoeq:de \ --population 50 \ --iterations 5000 \ -n 10Loss functions explained
Section titled “Loss functions explained”| Loss | Best for | What it optimizes |
|---|---|---|
speaker-flat | Studio monitors | Minimizes deviation from perfectly flat response |
speaker-score | Listening preference | Optimizes the Harman/Olive preference score (slight bass boost + PIR flatness) |
Algorithm choice
Section titled “Algorithm choice”| Algorithm | Speed | Quality | Best for |
|---|---|---|---|
nlopt:cobyla | Fast (seconds) | Good | Quick optimization, simple responses |
autoeq:de | Slow (minutes) | Excellent | Complex responses, many filters |
ga | Medium | Good | Alternative global search |
pso | Medium | Good | Particle swarm, good for exploration |