Saturday, September 13, 2014

SpeakerGen - Parametric 3d Printed Speaker Enclosures

3d print your own speaker enclosures!

This OpenSCAD / Thingiverse Customizer script lets you:
- Generate a box of any desired volume / ratio / wall thickness
- Determine optimal sealed box size for any driver using Thiele / Small parameters (Qts, Vas and Fs)
- Include cutouts for speaker / terminal (and screw holes)
- Include a bass port of any dimensions

Click Here to use SpeakerGen online or download the OpenSCAD script.

With a wide variety of inexpensive full-range drivers - you can easily 3d print a set of speakers that sound great.

SpeakerGen provides a built-in tool that can automatically create an optimized sealed box for your driver's parameters. Speaker drivers' acoustic properties are described using "Thiele/Small" parameters (Qts, Fs and Vas). You can use these parameters to help determine what kind of box will work well for your speakers.

While printing speaker boxes is slow - and only really an option for smaller enclosures - it has several advantages. Assembly is almost instant - and printed enclosures intrinsically don't have issues with panel fit. They are almost certain to be air-tight. If your speaker doesn't seem solid enough - just reprint with a higher infill percent!

So far I've only printed in enclosures in PLA. I can only speculate how boxes made with materials like rubber, wood, nylon or bronze would perform.

Notes on loudspeaker design / printing

Sealed Boxes

Sealed boxes are the simplest to design with primarily one variable: size. They are also very flexible. A speaker driver that sounds good in a 1.0 liter sealed box probably sounds pretty decent in a 1.25 liter sealed box.

A sealed box / driver system is acoustically described using a number of parameters - an important one being "Q." A box's Q describes behavior around its resonance frequency - and hence helps dictate F3 value (bass frequency with a 3db drop in response). Sealed box speakers commonly have Q values in the 0.7 to 1.4 range. The Q of a sealed enclosure system will always be larger than its driver's Qts. The Q of a box decreases as its size goes up - and vice versa.

A Q of 0.7 provides the lowest possible F3 value - and by that argument is the optimal value for sealed speaker design. That said - accepting a larger Q value (say 0.9) allows of a significantly smaller box - with only some loss in bass response. Larger Q values still (say 1.4) result in a further loss in low-end response - but also introduce an upper-bass response peak - which can result in a boomy sound.

SpeakerGen uses some simple math to estimate what box size a given driver needs to obtain a certain Q value - and what F3 frequency that will result in. It works similarly to other online closed box calculators - such as this one:

http://www.mh-audio.nl/ClosedBoxCalculator.asp

Ported Boxes

"Ported" boxes utilize a tuned port to enhance bass response (aka bass reflex, vented, etc.). These boxes are more finicky to design - and aren't too hard to get "wrong" (thin bass, boomy bass, etc.). Diameter and length of the port need to be calculated with a moderate degree of precision - otherwise things can go very badly (don't guess).

Ported boxes tend to be larger (and hence take longer to print). However - they can significantly extend the bass range of smaller full-range drivers - which can make them a good choice for a 3d printed single-driver system.

SpeakerGen can easily produce a speaker box including a bass port of any specification you can print. However - since the math is a bit trickier - I'm leaving it up to other people who know better. To determine the correct dimensions for your vented box and bass port - check out these resources:

http://www.mh-audio.nl/ReflexBoxCalculator.asp
http://www.ajdesigner.com/fl_subwoofer/subwoofer.php

Print Tips / Pictured Speaker

The pictured speaker uses an AuraSound NS3-193-8A in a 1.7 liter enclosure with a bass port tuned to 70hz. This provides a calculated F3 frequency of 66hz - not bad for a 3" driver! It sounds great - but falls off a bit over 12khz - so treble adjustment is recommended. The speaker box weighs about 1lbs - and took about 17 hours to print.

For my first attempt - I printed a box at 10% infill with only 2 shells. The speaker sounded OK - but subjectively seemed a bit flimsy. For my second print (the one pictured) - I used 20% infill and 3 shells. This produced a solid feeling speaker cabinet. I think these are reasonable settings for smaller speakers (maybe under 1.75 liter). Larger speakers may do better with more infill / thicker walls.

Both prints were at 300 micron with 7mm walls. The inside top of the first print came out a little flimsy feeling (I believe due to having to "bridge" such a large area). For the second print I increased the floor and ceiling thicknesses from the default 0.8mm to 1.5mm - this seemed to address the issue. My gut is this might not be needed for a 200 micron print.

Assembly

Cabinet assembly is pretty easy! Jut use wood screws to mount the speaker. Be careful not to over-tighten to avoid cracking. If the screws seem difficult to screw-in - try chasing out the holes with a drill bit.

Stuffing your cabinet with "polyfill" is highly recommended as it can reduce resonances - and slightly increase the effective size of your enclosure.

Driver Selection

There are lots of great full-range speakers available on parts-express.com in the $10-30 range. A few good candidates:
http://www.parts-express.com/tectonic-elements-tebm65c20f-8-3-1-2-bmr-full-range-speaker-8-ohm--297-2156
http://www.parts-express.com/dayton-audio-nd90-8-3-1-2-aluminum-cone-full-range-driver-8-ohm--290-210

Have fun!

3 comments:

  1. Good job, man. That’s really cool. Are you selling those 3D printed speaker. Btw, is it made from ABS filament? The material looks similar to what I used in my Lego collection, I’m talking about this: ABS filament

    ReplyDelete
  2. Talking about fill: can you leave the web open enough to be able to fill the gaps with another product? In other words, make a double shell with lightweight supports, and fill it with plaster of Paris, or a low-viscosity silicone. Talk about a non-resonant enclosure!

    ReplyDelete
  3. great blog. it can provide you with professional repair/service of tube amplifier heads and woofers.
    I really liked your blog.

    custom guitar cabinet


    ReplyDelete