Akabak Simulator - Page 2 - diyAudio
Go Back   Home > Forums > Loudspeakers > Multi-Way

Multi-Way Conventional loudspeakers with crossovers

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Thread Tools Search this Thread
Old 30th May 2007, 10:53 AM   #11
synergy is offline synergy  United Kingdom
diyAudio Member
Join Date: Jan 2004
Location: here
been using a 'borrowed' copy for a while and i'm glad of now being able to be legit for once

anyways whilst the learning curve maybe incredibly steep once you understand how it works you can design any and i mean any type of box your imagination can come up with

you get out what you put in and the more you understand about speaker design the more you'll be able to do with it and get results that correlate with the real world

as to a library of scripts, for me personally the basics (bass reflex etc) are contained within the programs examples, anything else i actually believe you would be limiting yourself and the resulting accuracy of your design if you didn't learn the program properly
think outside the box
  Reply With Quote
Old 30th May 2007, 04:15 PM   #12
aceinc is offline aceinc  United States
diyAudio Member
Join Date: May 2007
There's the rub, learning the program properly. I learn by doing, and modifying examples. I get catatonic reading manuals.

I large library of scripts will allow someone like myself to learn by doing, rather than RTFM. It also seems to embody the spirit of this forum, in that everyone would be helping each other.

I actually learn better when I can call an expert, and ask dumb questions, any volunteers?

  Reply With Quote
Old 30th May 2007, 04:17 PM   #13
aceinc is offline aceinc  United States
diyAudio Member
Join Date: May 2007
This site is clever it changed my R-T-F-M to ****.

  Reply With Quote
Old 29th May 2009, 02:23 AM   #14
diyAudio Member
Join Date: May 2009
Location: Wellington
Default Akabak for dummies - er, "cognitively challenged".

AkaAbak "For the cognitively challenged"
I have used various "Box plot" programs for several years, but eventually I began to find them too limiting. I wanted to experiment with enclosures and configurations not found in their pre-defined libraries. I tried AkAbak, but like many other people I found the user interface and manuals too daunting and non-intuitive. Finally, I allocated time and worked my way through it.

Having done so, I realised that the program isn't as hard to use as it appears. Once a couple of key principles are understood, the rest falls into place. The tutorial that follows describes the steps that I followed to begin to use AkAbak productively. I hope they will be as useful to you.

The Discouragers
There were several things about AkAbak which initially discouraged me (and many other people). Later, I realised they were paper tigers (almost literally).

"Instead of the intuitive interface of most box-plot programs, AkAbak uses an arcane text-based interface."

AkAbak uses forms-based "Wizards" for all of its common functions. For example, you can design sealed and reflex sub boxes without typing a line of script. Even when using scripts, you can use the wizards to prompt you for the correct information which you can then paste into a script.

"The user manual for AkAbak is huge and I fell asleep after the first ten pages."

The manual should be used as a reference to be dipped into as needed, not read from cover to cover. There are about ten pages which are useful for first-time users. After that, whenever you come to something you don't understand, or you want to know how to do something, look it up in the contents and just read that section.

"The Examples manual assumes you already know how to use AkAbak and offers little help to the first-time user."

By the time you have finished this tutorial, you should have gained sufficient familiarity with AkAbak fundamentals to use the examples to aid in understanding.

No scripting required
Function for function, AkAbak is no harder to use than any other "box plot" program.
It only appears difficult because of the sheer number of functions, with no "Start Here" button.

You do need to have used other "box plot" programs in order to have become familiar with the general speaker design process, and you need to know how to use Windows Cut and Paste functions.

You will be shown how to use AkAbak as a simple "box calculator", then how to use the results to move on to full AkAbak scripting.

To do this, we will use a common example: a simple subwoofer enclosure.

"Here's one I made earlier."
Using a "box calculator" program (Unibox, LSPCAD, DosBox etc) that you are familiar with, design two subwoofer systems: a sealed enclosure and a vented enclosure, preferably using the same driver for each. Keep the results handy, you will need to refer to them later.

Sealed Sub - All Wizard, no scripting
We will now re-create the sealed box sub in AkAbak. Because this is a common item, AkAbak has a wizard-based way of creating one.

Start AkAbak. (AkAbak.exe)

From the top menu select "Def -> Def_BassUnit...".
A data entry window will open, called "Definition Def_BassUnit / Calculator".

In the top row of boxes, enter the parameters for the driver you are using.
You should have everything except maybe the voice coil inductance.

Note the units choices for some of the boxes.
Akabak allows you to specify your driver in physical values (Mms, Cms, Bl etc) or Thiele-Small values (Qms, Qes, Vas etc), or a mixture of both. Right-button clicking on a box will pop up a list of parameters that Akabak will accept for that field.

For example, the second box from the right may be labelled either "Mechanical Mass (Mms)...", "Equ. vol. to compliance (Vas)...", or "Mechanical Compliance (Cms)...".
You can either change it to the value you have by selecting from the right-click menu, or just enter the value you have with the correct unit suffix. To enter Vas, specify volume units, for example in cubic feet (2.4ft3) or litres (49L). Mms, Vas and Cms have different units of measurement so Akabak will know which value you have entered.

Also, the driver "Diaphragm diameter" (dD) is more commonly specified as "Diaphragm Area" (Sd). You can enter the value as a diameter (for example, 16.5cm) or area (for example, 200cm2).

In the second row of boxes you can enter the Xmax parameter if you have it, and the volume of the enclosure. The rest of the fields can be left as they are.

Check for Typos
Press the "Evaluate" button at the bottom of the window. If all of the required values have been entered, AkAbak will populate the two rows of values at the bottom left of the window. Values such as "fc", "Qtc", and "f3" should be close to those calculated by your other program.

If the fields do not populate, look to see if the cursor has moved to one of the input fields at the top of the window. The value may be missing (and required), or AkAbak can't understand the entered value.

If the evaluated values are very different than your pre-calculated box, then Akabak has likely misinterpreted one of the input values. For example, AkAbak defaults to "cubic metres" in the "Vb" field. Entering "165" will be interpreted as 165 cubic metres. Specify the unit, for example litres (165L) or cubic feet (6.2ft3).

Display the results
Press the "Diagram..." button to generate a graph. The frequency response should be similar to your pre-calculated box.

Press the "Alignments..." button to generate a list of possible boxes that will work with your driver.

Reflex box - still point and click
Next, we will generate a vented (reflex) enclosure:

Change the "Vb" to that suggested by your pre-calculated vented enclosure.

Tick the "Vented" box.

Enter the "Helmholtz Frequency (fb)". This is the box resonant frequency. If you have the port dimensions instead, right-click on the "fb" field. This will open a window where you can cross-calculate fb, box volume and port dimensions - enter what you have, and AkAbak will calculate the missing value.

Press "Evaluate". The results should be similar to those of your pre-calculated vented box.

Scripting the box
So far, AkAbak works like any other box calculator. You enter the numbers and get the results.

Now you can generate an AkAbak script from the data you have entered.

It's only Cut'n'Paste (but I like it)
Press the "Copy to clipboard and close" button.

From AkAbak's main menu, select "File->New Script".

A window will open containing a single line:
System 'S1'


Put the cursor at the beginning of the line and press Enter a couple of times to put some blank lines above the "System" line. Move the cursor to the top blank line and paste in the saved data ("Edit->Paste", or Ctrl-V). It should now look something like this: (Example from AkAbak's example script EX_11)

Def_BassUnit 'B1'
dD=12.75cm |Piston
fs=65Hz Vas=12.5L Qms=1.25
Qes=0.6 Re=5.5ohm Le=2.35mH ExpoLe=0.618
mb=0.95 Xms=4mm
Vb=8L Qb/fo=0.1
|Performance in sealed enclosure:
| fc Qtc fD f3
| 98.8Hz 0.639 857.1Hz 110.5Hz
| SPLmax Pelmax Uomax t60 Ripple
| 102.4dB 23.5W 16.07V 13.45ms 0

System 'S1'


Note that all the data you entered in the calculator is there, plus the evaluated results. The "vertical bar" symbol (|) indicates a comment, and will be ignored by AkAbak when it calculates. You can re-open the calculator with all this data in it by putting the cursor anywhere in the middle of the data, and selecting "Def-> Def_BassUnit..." again. AkAbak will read the data out of the script and put it in the calculator.

AkAbak is flexible regarding the data layout. You can arrange it to make it easier for you to read. For example, the above data can be re-arranged like this:

Def_BassUnit 'B1'

System 'S1'


The System
In AkAbak, all of the related components of a speaker are grouped as a "System". There can be more than one System in a speaker - for example, the woofer, its enclosure and crossover components can be one system, and the tweeter and its crossover components can be another system. Altering the components in one system will not affect the performance of the other.

Also, components that are commonly used can be defined outside of the system so that they are available to all systems. For example, if you are building a sub containing four identical drivers, you could paste the driver parameters into the "System" definition four times. Or you can do as per the example above, where you define the driver once (with a "Def_..." statement) and can refer to it many times within the system by name ('B1').

(End of Part 1)
  Reply With Quote
Old 29th May 2009, 02:23 AM   #15
diyAudio Member
Join Date: May 2009
Location: Wellington
Default Akabak for dummies - er, "cogntively challenged".

(Part 2)

More GUI Wizardry
Next, you need to add the defined sub to your system.

Select "Net->Transducer->BassUnit..."

Leave the Node parameters as they are.

In the (Def=) field, select the unit you defined earlier (in def_BassUnit).

Click "Copy and close".

Put the cursor on a new line under the "System" line and paste ("Edit->Paste" or Ctrl-V).
It should now look something like this:

Def_BassUnit 'B1'
dD=12.75cm |Piston
fs=65Hz Vas=12.5L Qms=1.25
Qes=0.6 Re=5.5ohm Le=2.35mH ExpoLe=0.618
mb=0.95 Xms=4mm
Vb=8L Qb/fo=0.1
|Performance in sealed enclosure:
| fc Qtc fD f3
| 98.8Hz 0.639 857.1Hz 110.5Hz
| SPLmax Pelmax Uomax t60 Ripple
| 102.4dB 23.5W 16.07V 13.45ms 0

System 'Bass'
BassUnit Def='B1' Node=1=0
x=0 y=0cm z=0 HAngle=0 VAngle=0


Your system now has a bass unit, using a driver/enclosure defined earlier called 'B1'. If you hadn't defined the driver/enclosure earlier, all of the values from "Def_BassUnit" would have to be included here.

"Node" will be explained later. The x, y, z and angle values refer to the position of the driver on the baffle. They can be ignored for now. They become significant when you design full-range systems with mid-bass and tweeters.

Still Point'n'Click
Now you can evaluate the speaker.
Select "Sum->Acoustic Pressure..." from the menu. A dialog window will open that allows you to specify various parameters, such as the graph scales and the input power to the speaker. Just leave them at their defaults for now and press "OK". The resulting graph should be similar to the response graph from your pre-calculated speaker, allowing for scale differences.

If you want to make the graph look similar to that on your other box program, you can change the settings on the dialog window to the same scale values as used by the other box calculator program.

Other parameters can be displayed, either from options under the "Sum" menu or options under the "Inspect" menu. The main difference between "Sum" and "Inspect" is that "Sum" displays the behaviour of all of the "Systems" together, whereas under "Inspect" you can display the behaviour of individual systems or individual components of each system.

Almost there
There are two final steps to AkAbak enlightenment.

The first is to understand the concept of "Nodes".

Every component has one or more nodes or "connection points", rather like the connectors on Lego blocks.

Systems are built by defining components and connecting their nodes together, like clipping Lego blocks together.

For example, a resistor has two nodes (terminals).

An enclosure has one node.

A port has two nodes, one at each end.

A driver has at least 4 nodes: each voice coil has two nodes, the front of the diaphragm has a node, and the back of the diaphragm has a node.

All nodes are given numbers. All nodes with identical numbers are connected together.

There are two "special" nodes:
Node 1 is always the input node to the system (from the amplifier.)
Node 0 is always ground (earth).

The BassUnit we have defined above is a complete subwoofer with just a pair of terminals on the back to connect to the amplifier.
These are represented by the "Node=1=0" statement.

If you wished to connect two of these units in series across the amplifier, you would specify them like this:

System 'Bass'
BassUnit 'My_Bass1' Def='B1' Node=1=2

BassUnit 'My_Bass2' Def='B1' Node=2=0


The signal from the amplifier comes in at node 1, passes through the first unit and exits at node 2. Because all equal number nodes are connected together, it enters node 2 of the second unit end exits to ground at node 0.

The Final Concept
The last step is to understand the concept of "components".
So far, we have worked with a composite object, a complete speaker called a BassUnit.
This is built from a driver, an enclosure, a port and a couple of radiators. Each of these can be individually specified.

As described in the "Node" section above, a driver has a node for the front of the cone and a node for the back of the cone. To make sound waves, the driver has to have a radiator attached (by matching node numbers) to one side of the cone. The enclosure is attached to the other side of the cone.

If the enclosure is ported, a port (AkAbak calls it a "Duct") is attached to the enclosure at one and and has a radiator attached to the other end.

A vented box subwoofer defined from components would look something like this:

| Specs of bare driver (no enclosure)

Driver Node=1=0=2=3
| Voice coil = nodes 1 and 0, front of cone = 2, rear of cone = 3

Radiator Node=2
| Attached to the front of the cone to generate sound waves.

Enclosure Node=3
| Attached to the back of the cone.

Duct Node=3=4
| One end attached to the enclosure, the other to a radiator.

Radiator Node=4
| Attached to the end of the port to generate sound waves.

In the "Inspect" menu options, you can generate graphs for any defined node. For example, you can measure the voice coil impedance at node 1, pressure variations in the enclosure at node 3, the velocity of air in the port, or the individual SPL contributions of the driver radiator (node 2) or the port radiator (node 4).

The component concept can be taken even further. For example, a driver is a composite object - a magnet, a voice coil, a cone, a suspension etc. Each component can be individually specified. AkAbak can thus be used to design a driver to suit a specific enclosure, rather than the other way around.

Into Uncharted Waters
The power of AkAbak becomes apparent when you want to move on from the pre-defined enclosures available in "box calculator" programs. For example, there is a reflex enclosure variation called the "Double Chamber Reflex". A good analysis of it is at: http://www.claudionegro.com/projects...r/dcr/dcr.html
It consists of a driver, two enclosures and three ports.

This is difficult to model in a simple "box calculator", but can be easily modeled in AkAbak. Here is an example, with the enclosures and ports named to match the illustration on the web page:

Def_Driver 'AD8066W8'
fs=39Hz Vas=49L Qms=4.2
Qes=0.52 Re=7.6ohm ExpoLe=0.618

System 'DCR'
| vt=77L, f2=34.04Hz, v1=51.3L, v2=25.7L, f1=30.2Hz

| The speaker driver and the radiation from its diaphragm:
Driver 'Driver' Def='AD8066W8' Node=1=0=2=3

Radiator 'Rad_Driver' Def='Driver' Node=2

| The first enclosure and its radiating port:
Enclosure 'V1' Node=3
Vb=51.3L Qb/fo=0.5 Lb=10cm

Duct 'P1' Node=3=4
dD=10cm Len=40.3cm QD/fo=2

Radiator 'Rad_P1' Def='P1' Node=4

| The port connecting the two enclosures:
Duct 'P2' Node=3=5
dD=10cm Len=40.3cm QD/fo=2

| The second enclosure and its radiating port:
Enclosure 'V2' Node=5
Vb=25.7L Qb/fo=0.5 Lb=10cm

Duct 'P3' Node=5=6
dD=10cm Len=40.3cm QD/fo=2

Radiator 'Rad_P3' Def='P3' Node=6


Note the 'Def=...' statements. The radiator 'Rad_Driver' gets its dimensions from the 'Driver', which in turn gets its parameters from the definition 'AD8066W8'. The radiators for the ports get their dimensions from the ducts to which they are attached.

Graduation Day
That should be just about all you need to know to get started on basic design.

I suggest you now read pages 13 to 23 in the AkAbak main manual. Don't puzzle for long over sections that don't make immediate sense. Come back to them after you have used AkAbak a little more and they will fall into place. The "Examples" manual will teach you techniques when developing your own speakers. You will likely learn more by developing your own speakers using the examples as guides, rather than by working through the examples as exercises.
  Reply With Quote
Old 29th May 2009, 07:32 AM   #16
h_a is offline h_a  Europe
diyAudio Member
h_a's Avatar
Join Date: Sep 2006
Location: Graz, Austria
It doesn't run under the 64 bit version of Vista though :-(
I just had a look - that's a hardcore 16 bit program from the 90ies. AFAIK Vista 64bits does not support any DOS-applications (in contrast to the 32bit variant), so you need to use a DOS-emulator like DOSbox (free)


or similar.

Have fun, Hannes
  Reply With Quote
Old 29th May 2009, 09:24 AM   #17
Henkjan is offline Henkjan  Netherlands
diyAudio Member
Henkjan's Avatar
Join Date: Jan 2006
Location: Berkel en Rodenrijs
Don, thamls for the effort to make this write-up!
  Reply With Quote
Old 29th May 2009, 02:16 PM   #18
Henkjan is offline Henkjan  Netherlands
diyAudio Member
Henkjan's Avatar
Join Date: Jan 2006
Location: Berkel en Rodenrijs
I took the liberty of making a PDF from Don's tutorial
Attached Files
File Type: pdf akaabak for dummies.pdf (79.0 KB, 363 views)
  Reply With Quote
Old 29th May 2009, 03:07 PM   #19
soongsc is offline soongsc  Taiwan
diyAudio Member
soongsc's Avatar
Join Date: Mar 2005
Location: Taiwan
I for one would like to see some programs that can runs sims on very irrigular shapes. If Akabak can do that by importing data from a CAD program, then it would be very attractive.
Hear the real thing!
  Reply With Quote
Old 29th May 2009, 06:26 PM   #20
diyAudio Member
Patrick Bateman's Avatar
Join Date: Oct 2006
Location: San Diego
Originally posted by soongsc
I for one would like to see some programs that can runs sims on very irrigular shapes. If Akabak can do that by importing data from a CAD program, then it would be very attractive.
Akabak can do that already.

In another thread I posted a model for a dual-driver tapped horn, which is something that hornresp can't model.

(horn resp models dual drivers as if they co-exist at the same point in space.)

You can get very granular with Akabak. It *would* be nice if it had a way to plot the layout though. It's easy to make a mistake in Akabak, and a physical layout would help me figure out when I've done something dope, like create a loop inside of a horn :P
  Reply With Quote


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Unity horn script for akabak MaVo Multi-Way 24 22nd December 2012 04:24 PM
Akabak & stuffing Henkjan Subwoofers 15 3rd December 2010 10:44 PM
akabak script for compound horn jbell Subwoofers 8 20th October 2010 06:05 PM
AkAbak Info pighead Multi-Way 0 5th July 2009 07:31 PM

New To Site? Need Help?

All times are GMT. The time now is 02:26 AM.

vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright 1999-2014 diyAudio

Content Relevant URLs by vBSEO 3.3.2