• 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!

LoudspeakerLab 10-Minute Speaker Design Tutorial

wigginjs

Member
Joined
Mar 26, 2026
Messages
18
Likes
45
I made a tutorial showing a complete two-way speaker design workflow in LoudspeakerLab:

Video:
Finished design: https://loudspeakerlab.io/designs/095973bc-6f3a-40f5-b5d1-1352c58f166c
LoudspeakerLab: https://loudspeakerlab.io
Accuracy / validation study: https://loudspeakerlab.io/accuracy
FAQ / technical details: https://loudspeakerlab.io/faq
Measurement guide: https://loudspeakerlab.io/measurements

The premise of the video is simple: start with a pair of known drivers, let the software create a reasonable enclosure and draft crossover, run the solver, and then inspect the resulting acoustic, electrical, and cabinet data. The example uses the Scan-Speak H2606/920000 tweeter and SB Acoustics SB13PFCR25-04 woofer measurement profiles from the Mechano23 project.

01-design-overview.png


This is not meant to replace engineering judgment. The interesting part, at least to me, is that LoudspeakerLab keeps the whole chain in one place: driver measurement data, measurement context, baffle/box modeling, crossover synthesis, off-axis prediction/aggregation, impedance, CTA-style curves, preference rating, part values, thermal warnings, and cabinet drawings. A lot of the usual spreadsheet/tool-hopping is still conceptually present, but it is tied together in one reproducible design object.

In this particular run, the final small vented two-way came out at:

  • Preference rating: 5.1
  • Preference rating with sub: 7.3
  • F3: 57 Hz
  • Nominal impedance: 4.7 ohm
  • Minimum impedance: 3.1 ohm
  • Estimated driver cost: about $150
  • Solve time: 547.8 seconds
02-response-and-metrics.png


At a high level, LoudspeakerLab works by treating the loudspeaker as a combined acoustic/electrical system rather than optimizing the crossover in isolation. Driver profiles store FRD/ZMA data, optional off-axis data, distortion, nearfield bass measurements, and metadata about how the driver was measured. If a driver was measured in a cabinet, the platform can account for the measurement cabinet before applying the target design's baffle and box effects. That distinction matters: data measured in a test box is not the same thing as free-air driver behavior.

The FAQ has useful detail on this, including:

The solver itself is multi-objective. It is not just maximizing a single on-axis flatness number. It evaluates candidate networks against on-axis response, listening window, directivity uniformity, distortion-aware crossover placement when distortion data is available, impedance, sensitivity, preference rating, and some preference for simpler networks when other objectives are similar. The result is still something that should be reviewed critically, but the optimization target is closer to "speaker behavior in a room" than "make one trace flat."

03-optimized-crossover.png


The crossover output is also not just a static drawing. On the design page you can inspect the schematic, export it as PNG/SVG, view the SPICE-style netlist, edit component values, and re-evaluate the design. LoudspeakerLab uses the driver's complex impedance in the crossover model, so the electrical transfer functions and system impedance are tied to the actual ZMA data rather than a nominal 4/6/8 ohm load.

For this design, LoudspeakerLab also flags a practical part-power warning: the 9.1 ohm resistor in the woofer branch is under-rated for the predicted dissipation. That is the kind of warning I would expect to review before building. It does not mean the design is unbuildable, but it does mean I would use a higher-power resistor or split the resistance across multiple parts.

04-cabinet-and-enclosure.png


The enclosure side is similarly integrated. The finished design includes the cabinet dimensions, internal volume, vented alignment, port dimensions, driver placement, front baffle drawing, and side cross-section. In this video I mostly accept the suggested enclosure because the point is the workflow, not manual box alignment. You can still override the enclosure type and dimensions if you want to work from a fixed cabinet or explore sealed/vented tradeoffs.

For questions about model accuracy, I would start with the Mechano23 validation writeup:

https://loudspeakerlab.io/accuracy

That page compares LoudspeakerLab predictions, VituixCAD predictions, and Klippel NFS measurements for Mechano23. The short version is that the accuracy depends heavily on input data quality. In-cabinet measurements with meaningful off-axis coverage are much better than sparse manufacturer spec-sheet data. LoudspeakerLab can synthesize missing off-axis angles and normalize/repair some measurement limitations, but it cannot make poor or incomplete measurements equivalent to a dense measurement set.

That is also why this example uses the Mechano23 measurement profiles rather than pretending spec-sheet curves are always enough. Spec-sheet data can be useful for rough design exploration, but if you want high-confidence crossover work, real measurements in a known context still matter.

I would treat this video as a quick orientation, not a deep design review. The next useful discussions are the usual technical ones: whether the topology is the best tradeoff, whether the impedance dip is acceptable for the intended amplifier, how much to value the "with sub" score, whether the directivity through crossover is good enough, and whether the power warning should push a parts change or a topology change.

Feedback welcome, especially from anyone who has built Mechano23 or worked through the same drivers in VituixCAD/XSim. I am particularly interested in how people would compare the solver's choices against a hand-tuned design when constrained to the same drivers, cabinet, and listening axis.
 

Attachments

  • 02-response-and-metrics.png
    02-response-and-metrics.png
    65.6 KB · Views: 50

LoudspeakerLab — Recent Improvements (May–June 2026)​

Homepage & design browsing​

  • Homepage redesign with featured designs and driver cards that show band subscores (flatness, directivity, etc.).
  • Design thumbnails rendered with the same 3D viewer look: textures, lighting, and framing match the detail page.
  • Faster page loads on homepage, design detail, and preview plots.

Driver catalog​

  • Readable driver URLs with variants grouped under canonical model pages.
  • Driver photos and a media viewer where images are available.
  • Evidence grades (A-C) showing measurement trustworthiness per profile.
  • Richer filtering: role/size tree, sensitivity sliders, cabinet-type filters, and Predicted Optimal Enclosure hints.
  • Expanded Quality Score breakdown with clearer band subscores.

Design analysis & planning​

  • Design Evidence score on completed builds: summarizes how trustworthy the measurement inputs are across all drivers.
  • Expected Range overlay: optional shaded band on plots showing likely variation; pairs with Evidence to show prediction confidence.
  • Driver compatibility warnings when assembling a new design: overlap, sensitivity, and baffle-fit guidance before you solve.

Box Review & enclosures​

  • Live auto-preview as you edit dimensions and ports.
  • Draggable cabinet handles for width, height, depth, and baffle.
  • Continuous diffraction preview while adjusting baffle size.
  • Slot ports and bottom ports with aligned 2D cross-sections and 3D cabinet views.
  • Enclosure hints on driver browse and saved auto-solve target curve preferences.

Solver & preview performance​

  • Faster Auto-Solve: a major optimization to the core objective evaluation path cuts typical solve time by about ~30%.
  • Faster crossover and design previews while editing: cached evaluations and parallel plot generation so curves update sooner on design detail.

Crossover & schematic editing​

  • Automatic thermal resistor splitting: split undersized resistors into practical parallel/series stacks with updated BOM and schematic.
  • Raw per-driver response traces available on the frequency plot legend (boxed/baffled, unfiltered).

3D & AR​

  • Automatic 3D model generation on design publish.

Transparency​

  • Accuracy page: predicted vs measured comparisons with openable example designs.

TL;DR​

Richer driver catalog (photos, provenance grades, smarter filters). Design pages now expose prediction confidence (Evidence + Expected Range) and compatibility guidance upfront. Auto-Solve and live previews are noticeably faster. Box Review is interactive with live preview, draggable geometry, and diffraction preview. Crossover editing adds thermal resistor splitting and optional raw driver traces. 3D/AR got a meaningful upgrade.
 

I just posted Part 1 of a new series designing a high-value bookshelf speaker from scratch in LoudspeakerLab.

This first video focuses on driver selection: comparing candidate woofers/tweeters, looking at usable passband, on-axis smoothness, off-axis/directivity behavior, distortion data where available, and the evidence score behind each driver’s measurement set.
 
I made a tutorial showing a complete two-way speaker design workflow in LoudspeakerLab:

Video:
Finished design: https://loudspeakerlab.io/designs/095973bc-6f3a-40f5-b5d1-1352c58f166c
LoudspeakerLab: https://loudspeakerlab.io
Accuracy / validation study: https://loudspeakerlab.io/accuracy
FAQ / technical details: https://loudspeakerlab.io/faq
Measurement guide: https://loudspeakerlab.io/measurements

The premise of the video is simple: start with a pair of known drivers, let the software create a reasonable enclosure and draft crossover, run the solver, and then inspect the resulting acoustic, electrical, and cabinet data. The example uses the Scan-Speak H2606/920000 tweeter and SB Acoustics SB13PFCR25-04 woofer measurement profiles from the Mechano23 project.

View attachment 531981

This is not meant to replace engineering judgment. The interesting part, at least to me, is that LoudspeakerLab keeps the whole chain in one place: driver measurement data, measurement context, baffle/box modeling, crossover synthesis, off-axis prediction/aggregation, impedance, CTA-style curves, preference rating, part values, thermal warnings, and cabinet drawings. A lot of the usual spreadsheet/tool-hopping is still conceptually present, but it is tied together in one reproducible design object.

In this particular run, the final small vented two-way came out at:

  • Preference rating: 5.1
  • Preference rating with sub: 7.3
  • F3: 57 Hz
  • Nominal impedance: 4.7 ohm
  • Minimum impedance: 3.1 ohm
  • Estimated driver cost: about $150
  • Solve time: 547.8 seconds
View attachment 531986

At a high level, LoudspeakerLab works by treating the loudspeaker as a combined acoustic/electrical system rather than optimizing the crossover in isolation. Driver profiles store FRD/ZMA data, optional off-axis data, distortion, nearfield bass measurements, and metadata about how the driver was measured. If a driver was measured in a cabinet, the platform can account for the measurement cabinet before applying the target design's baffle and box effects. That distinction matters: data measured in a test box is not the same thing as free-air driver behavior.

The FAQ has useful detail on this, including:

The solver itself is multi-objective. It is not just maximizing a single on-axis flatness number. It evaluates candidate networks against on-axis response, listening window, directivity uniformity, distortion-aware crossover placement when distortion data is available, impedance, sensitivity, preference rating, and some preference for simpler networks when other objectives are similar. The result is still something that should be reviewed critically, but the optimization target is closer to "speaker behavior in a room" than "make one trace flat."

View attachment 531985

The crossover output is also not just a static drawing. On the design page you can inspect the schematic, export it as PNG/SVG, view the SPICE-style netlist, edit component values, and re-evaluate the design. LoudspeakerLab uses the driver's complex impedance in the crossover model, so the electrical transfer functions and system impedance are tied to the actual ZMA data rather than a nominal 4/6/8 ohm load.

For this design, LoudspeakerLab also flags a practical part-power warning: the 9.1 ohm resistor in the woofer branch is under-rated for the predicted dissipation. That is the kind of warning I would expect to review before building. It does not mean the design is unbuildable, but it does mean I would use a higher-power resistor or split the resistance across multiple parts.

View attachment 531984

The enclosure side is similarly integrated. The finished design includes the cabinet dimensions, internal volume, vented alignment, port dimensions, driver placement, front baffle drawing, and side cross-section. In this video I mostly accept the suggested enclosure because the point is the workflow, not manual box alignment. You can still override the enclosure type and dimensions if you want to work from a fixed cabinet or explore sealed/vented tradeoffs.

For questions about model accuracy, I would start with the Mechano23 validation writeup:

https://loudspeakerlab.io/accuracy

That page compares LoudspeakerLab predictions, VituixCAD predictions, and Klippel NFS measurements for Mechano23. The short version is that the accuracy depends heavily on input data quality. In-cabinet measurements with meaningful off-axis coverage are much better than sparse manufacturer spec-sheet data. LoudspeakerLab can synthesize missing off-axis angles and normalize/repair some measurement limitations, but it cannot make poor or incomplete measurements equivalent to a dense measurement set.

That is also why this example uses the Mechano23 measurement profiles rather than pretending spec-sheet curves are always enough. Spec-sheet data can be useful for rough design exploration, but if you want high-confidence crossover work, real measurements in a known context still matter.

I would treat this video as a quick orientation, not a deep design review. The next useful discussions are the usual technical ones: whether the topology is the best tradeoff, whether the impedance dip is acceptable for the intended amplifier, how much to value the "with sub" score, whether the directivity through crossover is good enough, and whether the power warning should push a parts change or a topology change.

Feedback welcome, especially from anyone who has built Mechano23 or worked through the same drivers in VituixCAD/XSim. I am particularly interested in how people would compare the solver's choices against a hand-tuned design when constrained to the same drivers, cabinet, and listening axis.
Can you edit the measurements of a cabinet in a saved design?
 
@rokr if the design is still draft (unpublished) then there is an Edit button that takes you back through the driver selection -> enclosure -> crossover design workflow. If the design is published, then you can click 'Edit' on the crossover and then 'Fork' and it will create a Draft copy of that design, then you could click Edit and go back through the enclosure workflow....

Now that I'm explaining it, this may be too complicated. Maybe there should just be a 'Fork' button on published designs that takes you right through the Edit workflow from Enclosure to crossover, etc.
 
Thanks.
A “duplicate design” button of some sort will be easier to understand.
Btw, this is an incredible tool and it’s very strange that there are almost no comments here.
 
@rokr I just shipped the 'Remix' button feature, which is on every Published design and creates a duplicate that just takes you back through the design workflow where you can alter the enclosure and then lands you in a draft design where you can refine the crossover. You'll find the button at the top-right of each design.

Thanks for your kind words about the project and your feedback. It's really motivating. Regarding discussion, it's still pretty new. Would appreciate your help sharing about it and the results you're seeing if you're enjoying it.
 

I just posted Episode 2 of my LoudspeakerLab bookshelf speaker design series. This one is focused on enclosure design.

In the last episode, I walked through driver selection for a high-value 2-way bookshelf speaker. In this video, I take those selected drivers into LoudspeakerLab and work through the enclosure setup, including sealed vs. vented alignment, box dimensions, driver placement, port tuning, port velocity, baffle step, diffraction, edge treatment, stuffing, and even what changes when you move into 3-way or 2.5-way designs.

I also show a new driver comparison feature that lets you compare up to three drivers side by side, including on-axis response, off-axis behavior, impedance, sensitivity, usable bandwidth, and scoring.

A few topics covered:

  • Sealed vs. vented enclosure tradeoffs
  • Port length, tuning frequency, and port noise
  • Slot ports vs. round ports
  • Baffle step and diffraction modeling
  • Offset tweeter placement
  • Edge treatments like roundovers and chamfers
  • Stuffing and apparent enclosure volume
  • Multi-chamber enclosures for 3-way designs
The goal of LoudspeakerLab is to make DIY speaker design more accessible while still exposing the real engineering tradeoffs behind driver selection, enclosure alignment, diffraction, and crossover design.

LoudspeakerLab: https://loudspeakerlab.io

Happy building.
 
Trying to add a coaxial driver and I get "Request failed with status code 413". Just a quick bug I'm running into.
 
Last edited:
@DatSpeakerTho Thanks for reporting this. I looked into it. Were your coaxial driver measurements particularly dense? Like, FRD or ZMA files over say 128KB or so? That was probably the issue. I have some security checks in place to file size, but I relaxed them a bit because they were quite conservative.

If you are able, could you try it again and let me know if that fixed it?
 

Crossover Design Walkthrough - High-value Bookshelf - Part 3 of 5
• What a crossover actually does and why it's essential
• Reading and understanding crossover schematics
• Why some crossovers are simple while others become very complex
• Choosing the listening axis for optimization
• Understanding Boxed Driver Response and how it affects the final frequency response
• System impedance and why it matters
• Crossover transfer functions explained
• Editing crossovers by:
  • Adding components
  • Removing, opening, or shorting components
  • Changing component values
  • Scroll wheel editing and value snapping
  • Automatic resistor scaling
  • Component thermal calculations
  • Changing driver polarity and driver roles
  • Adding parallel components before or after shunt elements
    • Using the response graphs and metrics to evaluate changes
    • Finding and adjusting crossover points
    • Saving designs and using Undo
    • Estimated crossover cost and complete parts list
    • Automatically generating an optimized crossover with the Auto-Solver
    • Manually refining the Auto-Solved design
    • Exporting crossover netlists
 
What about a button to choose between inches and millimeters? It seems to use both in different sections which could be confusing.
 
Here are some more:

1. When manually changing crossover parameters it would have been nice to see both the frequency response and the box with the Preference Rating.
2. In that same top right parameters box, you could use a color to indicate how good is every parameter or if there is an issue that needs to addressed. For instance, i designed a speaker that got a nice 6.6 Preference Rating, but the sensitivity was only 80db. A color and a sentence that explains the meaning of such a low sensitivity would help make a good design decision.
3. I encountered a bug. I designed a two way with offset drivers. Then went back and edited it to a centered design. The first time i did it, the centering did not register and i got the same offset speaker. when i did it again, it did register the centering but there was no 3D image displayed.
 
Hi,

Going through your videos - very compelling tool. Really liked your solver tool to ballpark the crossover. You mentioned in your video that it would improve over time. Is this due to you tweaking your algorithm, or is there some sort of machine learning going on? A neat experiment to try (in your extra time) would be to expand your comparison exercise to actually do a full design / build from the ground up, then see if you can enlist Erin or someone with a Klippel to see how real life measurements compare from the ground up. I believe you are on to something very powerful here. Also interested in your background --mainly as I'm really interested in the science behind speaker design - albeit from a amateur point of view. Keep up the good work!
 
@bterry100 thanks for your feedback and encouragement. The solver doesn’t automatically improve over time, but I am continuing to do research into how to improve the solver. It’s a complex problem because the solution space for a 3-way design with up to 18 crossover components, e24 values, is something like 10^41 possible solutions. This is way too big to just brute force compute to find the right solution. So, I'm continuing to refine the solver process to find optimal solutions in a reasonable amount of time. There is also the complexity of actually defining what an 'optimal' solution is because it considered on-axis flatness, listening windows response, sensitivity, impedance curve, preference rating, crossover component count, etc. So, it's a work in progress, but I'm happy with the results so far and I think it already produces (in general) high quality solutions.

I am doing a full design and build, ground up, through the video series of a high-value 2-way bookshelf. It's intended to fit in the same space as C-Note, Overnight Sensations, etc. Once I've built it, it would be great to get someone with an NFS like Amir or Erin to measure it. I will provide gated in-cabinet validation measures with merged nearfield, but NFS is kind of the gold standard. I have built speakers based on LoudspeakerLab simulation, but they are more niche like my in-wall designs for my home theater.

My background is computer nerd since youth who turned it into my life-long career combined with starting to build speakers in 2003 or so. So, this is kind of the intersection of my professional and personal interests.
 
@rokr this is great feedback. Thank you. I’ll add these callouts to my backlog. Feedback for your real experience is SUPER helpful
 
@bterry100 thanks for your feedback and encouragement. The solver doesn’t automatically improve over time, but I am continuing to do research into how to improve the solver. It’s a complex problem because the solution space for a 3-way design with up to 18 crossover components, e24 values, is something like 10^41 possible solutions. This is way too big to just brute force compute to find the right solution. So, I'm continuing to refine the solver process to find optimal solutions in a reasonable amount of time. There is also the complexity of actually defining what an 'optimal' solution is because it considered on-axis flatness, listening windows response, sensitivity, impedance curve, preference rating, crossover component count, etc. So, it's a work in progress, but I'm happy with the results so far and I think it already produces (in general) high quality solutions.

I am doing a full design and build, ground up, through the video series of a high-value 2-way bookshelf. It's intended to fit in the same space as C-Note, Overnight Sensations, etc. Once I've built it, it would be great to get someone with an NFS like Amir or Erin to measure it. I will provide gated in-cabinet validation measures with merged nearfield, but NFS is kind of the gold standard. I have built speakers based on LoudspeakerLab simulation, but they are more niche like my in-wall designs for my home theater.

My background is computer nerd since youth who turned it into my life-long career combined with starting to build speakers in 2003 or so. So, this is kind of the intersection of my professional and personal interests.
Howdy,

Looks like we have the same background. I started designing speakers with T/S Calcs and simple crossover designs on my HP calculator in the 1980s but dropped out after that. Now as I contemplate retirement - seems like a good time to dive back in -especially with the software measuring and tooling, like yours and the platform specific tools. This time, looking to learn more of the "why's" than the "how's". Your tool is very cool and I'm excited to see how it evolves. Keep up the good work!
 

I just published Part 4 of my LoudspeakerLab series.

This episode is a complete review of the Easy Tiger high-value bookshelf speaker. I go through every major graph and metric in LoudspeakerLab and explain what it tells us about the design.

I cover frequency response, CTA-2034, impedance, distortion, transfer functions, polar response, contour plots, boxed driver response, max SPL, Expected Range, listening axis, preference rating, the Listen To feature, and all of the build documentation including the cabinet drawings, cut list, and parts list.

I also compare the design to the TD24 and talk about the tradeoffs between the two.

My goal with LoudspeakerLab has always been to make loudspeaker design easier to understand by putting enclosure design, crossover design, simulation, documentation, and listening tools together in one place.

If you'd like to check it out, you can learn more here:

https://loudspeakerlab.io

As always, I'd love to hear your thoughts or answer any questions.
 
Back
Top Bottom