Hi folks!
I'm currently developing a simulation tool that helps me to design loudspeakers. It permits to take into account the acoustic characteristics of the loudspeaker in addition to the passive filter.
If you have a Linux computer, if you are not afraid of text editors. and if you know a little on how to display curves with gnuplot. This might interest you.
Here some characteristics
- the netlist definition is similar to that of spice
- output and subckt are controlled by forth scripts (a language similar to HP48's RPN)
- some dipoles dedicated to acoustic are not available elsewhere (I think), like boxes, inertances (the port of vented enclosures), diaphragm radiation impedance.
- the forth language is useful to do some computations with free air impedance with (or without) directivity pattern.
Previously I developed another software that was the "Loudspeaker graphing calculator" but it used cookbook like formulas and was not intellectually satisfactory for me.
The next step is to build an entire online design system based on yanapack.
Here some links:
- Yanapack github page: https://github.com/ploki/yanapack
- The old graphing calculator online : loudspeaker graphing calculator
- The old graphing calculator source code : https://github.com/ploki/Loudspeaker
Cheerio!
Guillaume
I'm currently developing a simulation tool that helps me to design loudspeakers. It permits to take into account the acoustic characteristics of the loudspeaker in addition to the passive filter.
If you have a Linux computer, if you are not afraid of text editors. and if you know a little on how to display curves with gnuplot. This might interest you.
Here some characteristics
- the netlist definition is similar to that of spice
- output and subckt are controlled by forth scripts (a language similar to HP48's RPN)
- some dipoles dedicated to acoustic are not available elsewhere (I think), like boxes, inertances (the port of vented enclosures), diaphragm radiation impedance.
- the forth language is useful to do some computations with free air impedance with (or without) directivity pattern.
Previously I developed another software that was the "Loudspeaker graphing calculator" but it used cookbook like formulas and was not intellectually satisfactory for me.
The next step is to build an entire online design system based on yanapack.
Here some links:
- Yanapack github page: https://github.com/ploki/yanapack
- The old graphing calculator online : loudspeaker graphing calculator
- The old graphing calculator source code : https://github.com/ploki/Loudspeaker
Cheerio!
Guillaume
Before I boldly go where lots of men have gone before (ie fourth quadrant, ie Linux) ,how do I interpert acoustic characteristics?
What does it do?
Building a model of a speaker and passive filter is easily (hmmm) done in any circuit simulator giving a fairly accurate electrical signal model, but it doesnt take in account for nonlineariets in the speaker model or any acoustic effecs from the voice coil outwards. Could be done, but at a heafty cost in labour . Easier to overlay the electrical with a acoustical so to say.
What does it do?
Building a model of a speaker and passive filter is easily (hmmm) done in any circuit simulator giving a fairly accurate electrical signal model, but it doesnt take in account for nonlineariets in the speaker model or any acoustic effecs from the voice coil outwards. Could be done, but at a heafty cost in labour . Easier to overlay the electrical with a acoustical so to say.
Hi Rikkitikkitavi!
You don't need to be bold to dive into Linux, it's user friendly 🙂
How to interpret my statement regarding the acoustic characteristics, I mean that there are special dipoles that are based on lumped element models of usual acoustics parts like
- boxes where the compliance impedance is calculated for a given enclosure volume
- Ports (acoustic inertances) for which the impedance is a bit more than an inductance (it has real part and imaginary part varying with the frequency)
- Pistonic circular diaphragm radiation impedance which has no electronic equivalent. The impedance is based on Bessel functions.
You are right, regarding the modeling of a speaker with conventional circuit simulation. But the yanapack approach is to go one step further with some acoustic dedicated functions. It gives, in my sense, a more realistic result.
Unfortunately you're right regarding the nonlinearities and yanapack does not do better than others on this. From my two seconds thoughts, I can see two kind of nonlinearities to take into account.
The first kind are nonlinearities caused by the increase of power. I don't see how to fix this in the frequency domain (which is the exclusive domain of work of yanapack) and it will not be considered until I find a way to handle correctly the diaphragm radiation in the temporal domain. But I wish to be able to!
The other kind of nonlinearities is caused by the increase in frequency which make the component behave differently than its basic model. I'm thinking about it and I will probably try to implement some kind of programmed variations over the frequency in the dipoles magnitudes (like varying Sd, Mms, Cms and so on) to better match real output and modal breakups.
Thanks for your interest!
You don't need to be bold to dive into Linux, it's user friendly 🙂
How to interpret my statement regarding the acoustic characteristics, I mean that there are special dipoles that are based on lumped element models of usual acoustics parts like
- boxes where the compliance impedance is calculated for a given enclosure volume
- Ports (acoustic inertances) for which the impedance is a bit more than an inductance (it has real part and imaginary part varying with the frequency)
- Pistonic circular diaphragm radiation impedance which has no electronic equivalent. The impedance is based on Bessel functions.
You are right, regarding the modeling of a speaker with conventional circuit simulation. But the yanapack approach is to go one step further with some acoustic dedicated functions. It gives, in my sense, a more realistic result.
Unfortunately you're right regarding the nonlinearities and yanapack does not do better than others on this. From my two seconds thoughts, I can see two kind of nonlinearities to take into account.
The first kind are nonlinearities caused by the increase of power. I don't see how to fix this in the frequency domain (which is the exclusive domain of work of yanapack) and it will not be considered until I find a way to handle correctly the diaphragm radiation in the temporal domain. But I wish to be able to!
The other kind of nonlinearities is caused by the increase in frequency which make the component behave differently than its basic model. I'm thinking about it and I will probably try to implement some kind of programmed variations over the frequency in the dipoles magnitudes (like varying Sd, Mms, Cms and so on) to better match real output and modal breakups.
Thanks for your interest!
Thank you for your reply, it sounds interesting and a competent program. I will try to find some time and test this, but no promise...
- Status
- Not open for further replies.