New open source loudspeaker design program project started
I just started doing a new loudspeaker design program that is licensed under GPL. The program is not at all useful yet, but if someone wants to contribute, feel free to join the development.
The development platform currently is Linux and there will be two GUI clients at first for it, another one is done with Qt (Qt-designer and C++) and the another on with GTK+ (Glade and C). Ports to
other operating systems are welcome as soon as the program
begins to contain something useful. Currently I however wish
to concentrate to the development under Linux. Qt-version will be easy to port to Mac OS X at least without buying the commercial license for Qt (it is currently being developed with Qt X11 Free and is therefore licensed under GPL). The Windows port can be based
on the GTK version at least.
I have created two related discussion forums:
If someone wants to help me with my loudspeaker designer project, I would be delighted if someone would send me some equations I may be missing.
What I am missing is:
- Calculation of impedance curve
- Calculation of group delay
- Other related calculations
- Spherical horn calculation with and without front compression chamber.
- Hypercardioid midrange enclosure modelling.
I have a collection of AES papers at home but I haven't found
any useful further to the equations I am using now.
The current very early source can be downloaded from:
The program contains nothing extremely useful yet, but
the idea is to do it a useful tool in the end that is different
from for example Linearteam's designers - I am particularly
interested in the horn design and other unconventional
approaches and the purpose of the program is not to become
yet another bass box calculator, but be a tool that helps
in the loudspeaker design process in the same way than
Calsod did in the past with the more conventional designs.
Currently the goal is to divide the calculation logic to a library
that can be used from both GTK and Qt clients.
Because the program is GPL, feel free to contribute as much
as you wish... There is lots of stuff missing, the project
have just been only started!
To contribute to something you wish end up to me, please upload to iti.fi server:
You can use the incoming folder. You will not see its contents
but you are allowed to upload.
Please notify us on my gtk-qt list that there is new stuff on the ftp server so I can move it to folders that are visible to others.
Welcome to join the development if you have something to contribute. It doesn't need to be necessarily code, one thing I am currently missing is the collection of useful equations. If you know any, feel free to announce them on my forums.
If you have any questions, please join my forums and ask.
Or alternatively you can send me private e-mail:
firstname.lastname@example.org or you can use the address
mentioned on my home page http://www.karoliinasalminen.com .
Re: New open source loudspeaker design program project started
BTW is this like WinISD type thing. Not that thats a bad thing, cause that program is very useful.
:up: to you
Yes, it is a Linux program. I was using WinXP theme on KDE when I took the screenshot. Sorry if it is misleading, but if you look closely the picture (e.g. fonts), you'll see that it is not WinXP even if the Window borders remind of XP.
Yes, it is basically Winisd-like thing, but doesn't end up there.
The intention is to go further than that and especially towards horn
calculation. I am interested also in hypercardioid midrange
enclosures like the ones used in Finnish Amphion (http://www.amphion.fi) and Gradient (http://www.gradient.fi) loudspeakers. I don't know if there is any theory about them out there or if those have been designed just with trial and error method.
There is a lot to say about this, and I cannot possibly say it all here. I have done my share of simulation programs. My main tip for you would be to read up on electrical-mechanical-acoustical analogies and simulate the hole system as an electric circuit. If you can build a generic simulator for electric circuits you can then simulate almost any box configuration by just entering the right components and values. Such a network can give you impedances, SPL, box pressure, you name it. Once the generic circuit simulator is build it is also easy to include crossover design etc.
If you start deriving specialised functions for each box type, the system will be far less flexible, and adding features will become more and more complicated. Also, the functions describing eg a bass-reflex box are horrible.
That would be my little tip :)
Thanks for the tip. I am not electrical engineer however (I am a software engineer instead), so a little help would be needed with this circuit simulator thing. If you are willing to share your knowledge, you are warmly welcome to my discussion forums to explain it further.
as we write commercial software using Qt and happen to use commercially licensed Qt for both Linux and Windows I can probably help in creating Windows binaries if needed.
- M -
Okay, thanks, I would appreciate the help. The current version
is so early that it doesn't worth having a Windows version
of it yet, but later it would be good if you could offer the help.
Please contact me using private-email or join to my discussion forums.
If you would be willing to help in some other way, please join
the ITI GTK-Qt discussion forum and tell what you are going to do.
Then I can avoid reinventing the wheel. To upload files, you can
use the ftp server, ftp://ns.iti.fi
If I were to undertake such a project, I would definitely write it in Python/wxPython, with C++ extensions only if absolutely necessary for speed. That's a far better solution than starting with one "platform" -- Linux or whatever. When you write something using software that only runs on one platform, you unnecessarily limit the usefulness of the program for many people. (If it's not MS-Windows, replace "many" with "most".) Python runs on quite a few platforms, and you can expect more and more in the future. The "cross-platform" problem is a general one. It is counter-productive to attempt to solve the problem every time you develop an application program. Developing a "Windows version" is a huge waste of time. The Python folks have already done that for you... and it's free.
One more thing: A project such as you are contemplating is never finished. It is difficult and time-consuming to maintain versions for various platforms. The versions for some platforms will always be "down-rev," because no one has yet incorporated the latest changes into them. Different versions will have different bugs. If you use wxPython, you'll have only one version to maintain.
|All times are GMT. The time now is 06:34 PM.|
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
Copyright ©1999-2016 diyAudio