Hornresp

Hi Jack,

This is very strange indeed.

I worked through your sequence of actions exactly as described above, using your two exported records, and everything worked perfectly for me, with filter settings being saved / retained with no issues. I then spent about an hour trying everything that I could think of in terms of operating, and interacting with, the filters. Still no problems, everything worked exactly as it should. I checked that the filter data values in your two export files were correctly recorded, and that the files were not corrupted in any way.

I am at a loss to explain the problem you are having - it makes no sense that you seem to be the only user affected. I can only imagine how frustrating it must be.

Kind regards,

David

Hi David:
Yes, indeed it is strange. Interestingly, I get the same/similar behavior on a clean installation copying records into the new install by hand. Next I'm going to try a different PC. This one is a Dell Inspiron 7548 running Win10 home. It has a core i7 CPU. I have an old laptop that runs Vista of all things and a new tower PC running Win10 Pro.

And a new anomaly - I had a sealed sub equalized flat the way I wanted it and wanted to see how 2 such subs would do so I clicked on tools/multiple speakers. The window popped up and I selected 2 in series. The power response window re-appeared more or less instantaneously as expected but the filters had been cleared. On inspection, all bands were off.

Jack
 
More strangeness - I put HR on a USB drive and plugged it into the old laptop. Waited for it to find a driver for the new device. Waited again for HR to load at USB2 speeds. At first I saw the same bad behavior but when I tried to track it down, the bad behavior went away and things started working as they should.

At first I tried to find just where in the process, filters got reset. Was it calculating for the 2nd record? Did it happen only if filters were on in the input params screen? None of this seemed to matter because while I was looking so carefully, the filters behaved as they should.

I left filters off in the input params screen and was able to go back and forth between two records without resetting the filters. So next I turned one records's filters in input params and verified it worked. Went back forth and it still worked. Turned on filters in the 2nd record, verified; went back and forth and still OK. Scratched my head. Exited HR to save to the disk.

Took the USB drive back to the newer laptop and opened HR from it. Verified the filters still not resetting. Did some filter editing, still good. Copied HR from the external drive to the internal drive - still good. Did some filter mods - still good.

Now, multiple speakers can be used without resetting filters.

Scratched my head again. Going off to do something for my wife....
 
I realize I'm asking for way too much lately and I'm going to ask for one more thing fully anticipating the answer to be no.

I LOVE using the resize wizard to view response down to 1 hz. The problem is rounding. When resizing to 0.1 size there is a very significant amount of rounding which leads to very significant error in the sim. The rounding to 2 decimal places is ok usually for a regular sim but when resized to a smaller size the amount of rounding taking place is out of hand leading to a very inaccurate sim in some cases.

Is there anything that can be done about rounding? I don't know how any of this works but even if we can improve the amount of applied rounding for the resize tool alone that would be helpful.

Again, sorry I'm asking for so much lately, but if you think about it it's really your fault. If you weren't so good to us with providing so many useful tools (like the resize wizard) we couldn't possible find fault with these awesome tools. (I'm also sorry about my weird sense of humor here, it's really hard to find faults with anything in Hornresp and I love it.)
 
I LOVE using the resize wizard to view response down to 1 hz. The problem is rounding. When resizing to 0.1 size there is a very significant amount of rounding which leads to very significant error in the sim.

Hi just a guy,

Could you please post an example of a design that I can resize to 0.1 so that I can see the problem for myself.

Incidentally, I have made some progress on the port air velocity 'check' feature you requested. Not out of the woods yet, but getting there slowly. The next update may be a few weeks away, though - there are a lot of loose ends to tidy up.

Kind regards,

David
 
Took the USB drive back to the newer laptop and opened HR from it. Verified the filters still not resetting. Did some filter editing, still good. Copied HR from the external drive to the internal drive - still good. Did some filter mods - still good.

Now, multiple speakers can be used without resetting filters.

Hi Jack,

As Alice would say - "Curiouser and curiouser!"

For the newer laptop, was Hornresp originally installed in folder C:\Hornresp, or was it located somewhere else?

Kind regards,

David
 
Hi just a guy,

Could you please post an example of a design that I can resize to 0.1 so that I can see the problem for myself.

Thanks for asking me to do this. In the process I figured out the issue is not related to rounding, it's something else. Let me take you on my journey of discovery to illustrate the real issue. I should have figured this out on my own earlier but sometimes I'm dumb like that.

So here's the file I was working on.
Top row - regular file and resulting frequency response
Bottom row - same file resized to 0.1 and the resulting frequency response with original response overlaid in light grey

An externally hosted image should be here but it was not working when we last tested it.


Those curves should be exactly the same shape but with one 10x lower in frequency than the other. But they are not the same shape.

BUT to my surprise when I resized it back up to original size, despite the rounding issue, the file that I had resized to 0.1 and then to 10x (to bring it back to original size) now matched the original file which had not been resized. It overlaid almost perfectly, so obviously this cannot be a rounding issue. Like so -

An externally hosted image should be here but it was not working when we last tested it.


Now that I realized it was not a rounding issue it became clear what the real issue was. I was using the "Lossy Le" feature (accessed from the inputs window). The lossy le feature was applying itself (at my command) to the original file but not to the 0.1 resized file. Oddly enough though, it was applying itself when I resized it again to 10x, the original size.

Since you generously provided the ability to see the new value of Bl, I ran the sim by manually adjusting Bl instead of double clicking the Le label. Like so -
Top row - original file with manually adjusted Bl and resulting frequency response
Bottom row - same file resized to 0.1 with original file overlaid in light grey

An externally hosted image should be here but it was not working when we last tested it.


Now the curve shapes match as they are supposed to. This proves my theory was correct - the Lossy Le tool doesn't work in a 0.1 resized design.

So you have two options.

1. Ignore this issue. Now that I know about it I can work around it easily enough by just manually adjusting Bl instead of using the Lossy Le tool.

2. Make the Lossy Le tool work with resized designs.

Either way I don't care much now that I know what the issue is.

What would be more useful to me is if you could change the graph text in the frequency response label if a design is resized to 0.1 so it starts at 1 hz instead of 10 hz. For example, if a user uses the resize tool and specifies 0.1, maybe a pop up box could ask if the user would like to rescale the frequency response so 10 hz is now 1 hz, 100 hz is now 10 hz, etc.

Yes, I'm asking for even more stuff. But only if it's really easy for you. When showing my 0.1 resized designs I've been manually changing the frequency response numbers myself by copying a small square of grey and pasting it to cover the zeros (so 10 hz would be 1 hz, etc.). This would save me a great deal of time. But again, only if it's really easy to do. Please don't waste a huge amount of time on that.

Incidentally, I have made some progress on the port air velocity 'check' feature you requested. Not out of the woods yet, but getting there slowly. The next update may be a few weeks away, though - there are a lot of loose ends to tidy up.

Kind regards,

David

That's fantastic. You know you're my hero, don't you?



And since everyone else is doing it - I'm younger than Hornresp by a few years. Older than Akabak, younger than Hornresp. I'm certainly not a millennial but I'm a bit younger than my favorite simulator. Am I the only one?
 
Last edited:
Hi just a guy,

In the process I figured out the issue is not related to rounding, it's something else. Let me take you on my journey of discovery to illustrate the real issue.

Thanks for the detailed analysis of the problem. The reason I asked for the design example in the first place was because I couldn't see how resizing the dimensions to two decimal places should make such a difference to the frequency-shifted results :).

This proves my theory was correct - the Lossy Le tool doesn't work in a 0.1 resized design.

The Lossy Le tool is working - it just gives a different result for the following reason:

When the design is resized, Le becomes Le * 0.1 but Re remains at Re, so that the Bl multiplying factor is different, giving a different result.

Original Bl factor = 0.7234 - 0.0782 * Log(Le / Re)
Resized Bl factor = 0.7234 - 0.0782 * Log(Le * 0.1 / Re)

If you are happy with the Lossy Le model, then the resized Bl factor should be used, because the driver is different to the original.

So you have two options.

1. Ignore this issue. Now that I know about it I can work around it easily enough by just manually adjusting Bl instead of using the Lossy Le tool.

2. Make the Lossy Le tool work with resized designs.

Assuming that the Lossy Le model is valid, then no change should be made. The model doesn't know that it is looking at a "resized" driver - all it sees is a driver with given parameter values.

What would be more useful to me is if you could change the graph text in the frequency response label if a design is resized to 0.1 so it starts at 1 hz instead of 10 hz.

The Resize Wizard tool was never intended to be used to check performance below 10 Hz, as you are doing :). Changing the frequency range when the tool is used would mask the true intended results, and is not something that I am prepared to do.

I am prepared however, to have another look at how much work would be required to include an option to allow the user to change the frequency range for all calculations from the default 10 - 20000 Hz to 1 - 2000 Hz. This should give you what you want, but in a more straightforward way, and I wouldn't have to compromise the operation of the Resize Wizard tool. Would this be satisfactory?

The next update is turning into a massive exercise, with three major initiatives now "on the go" :).

Kind regards,

David
 
Last edited:
SLOB ?

Hi David
Has anyone asked about modelling slot-loaded OB via Hornresp ?
http://www.firstwatt.com/pdf/art_slob.pdf
For additional ref JC Morrison's blog details his efforts in recent years.
race for the bottom – lab jc
A couple of us in our local UK group have attempted to model something on Hornresp with dismal results ! - any ideas ? I have built a test unit but it doesn't do quite what I expected - would like to gain more understanding if poss.
 
Hi just a guy,

Thanks for the detailed analysis of the problem. The reason I asked for the design example in the first place was because I couldn't see how resizing the dimensions to two decimal places should make such a difference to the frequency-shifted results :).

The Lossy Le tool is working - it just gives a different result for the following reason:

When the design is resized, Le becomes Le * 0.1 but Re remains at Re, so that the Bl multiplying factor is different, giving a different result.

Original Bl factor = 0.7234 - 0.0782 * Log(Le / Re)
Resized Bl factor = 0.7234 - 0.0782 * Log(Le * 0.1 / Re)

If you are happy with the Lossy Le model, then the resized Bl factor should be used, because the driver is different to the original.

Assuming that the Lossy Le model is valid, then no change should be made. The model doesn't know that it is looking at a "resized" driver - all it sees is a driver with given parameter values.

Like I said, I now know how to work around this issue so it doesn't bother me either way. But there is a really simple way to fix it if you want. Just have the program actually change the Bl in the Bl field to the adjusted Bl like I would do manually to make it work and then it would work. So double clicking the Le label would actually change the value of Bl in the Bl field. Or just leave it the way it is, I'm fine either way as long as I know how to get the results I need, which I do now.

The Resize Wizard tool was never intended to be used to check performance below 10 Hz, as you are doing :). Changing the frequency range when the tool is used would mask the true intended results, and is not something that I am prepared to do.

No problem.

I am prepared however, to have another look at how much work would be required to include an option to allow the user to change the frequency range for all calculations from the default 10 - 20000 Hz to 1 - 2000 Hz. This should give you what you want, but in a more straightforward way, and I wouldn't have to compromise the operation of the Resize Wizard tool. Would this be satisfactory?

The next update is turning into a massive exercise, with three major initiatives now "on the go" :).

Kind regards,

David

THIS WOULD BE ABSOLUTELY AMAZING!!! Not only would it be satisfactory, it would be what I always wanted but didn't dare to ask because I thought it would be too much. And I'm sure a lot of people would like this a lot. These days a lot of people are designing systems to play well into single digit frequency territory. Especially on avs forum.

As I pointed out earlier, to make this work (assuming you are using the resize wizard as a framework to make this happen) there are a few things that need to be addressed, I assume they are simple enough, they just need to all be identified to make it work properly. I'll just copy and paste the relevant post I wrote a while ago here to save you a click. The relevant part is in the second half of this post, velocity, pressure and group delay are all off by a factor equal to the resizing multiplier. I assume you can fix that easily with a line or two of code but of course I have no idea how difficult it would actually be. And in the meantime I can check to see if there's anything other than velocity, pressure and group delay affected. Our hard manual labor part of the season just started so I'm physically and mentally drained but hopefully I can accomplish this before you are ready to release a 1 - 2000 hz update.

Here's the original post. (i'll leave it intact just in case anyone is interested in playing with the resize tool to check performance below 10 hz but the relevant part is in the middle.)

It's very easy to use the resize wizard to scale everything so there's no low frequency limit in the sims. There are just a few things to look out for.

There can't be any parameter that can't be divided by the resize factor. So if you have L12=0.01 cm and you resize it to 0.1 (10x smaller) the sim cannot run. In the following sim you see I've had to change one parameter to 1 cm because the sim would not run when it was 0.01 cm.

This is a random resizing example. The original inputs and schematic are on top, the resized version below, sized to 10x "smaller".

I've been saying smaller but meaning 10x lower frequency response, this is much more correct.

24c9iiu.png


A lot of relationships between the original and the resized version are readily evident. These relationships are all related to a specific scaling factor, in this example the scaling factor is 0.1x the original frequency response.

The resized enclosure is 1000x smaller by volume.
All enclosure and driver dimensions are scaled such that the shapes are exactly the same.
All segment areas (S1 etc) are 100x smaller in the resized version.
All length measurements (L12 etc) are 10x smaller in the resized version.
Sd is 100x less in the resized version.
Cms is one order of magnitude smaller in the resized version.
Mms is 1000x smaller in the resized version.
Bl is 10x less in the resized version and ...
Rms is 100x less in the resized version.
Driver xmax is equal in both versions.

So we know exactly how everything is being scaled and knowing that we could do it manually if desired.

Congrats to Bjorn for knowing these relationships and scaling formulas, this is a useful little tool.

There's a few other very important things to note too.

As the next image shows the frequency response and excursion are exactly the same but shifted down by 10x.
Velocity is 10x higher in the resized version.
Group delay is 10x less in the resized version.

s1j39i.png


Diaphragm pressure is 10x higher in the resized version.

2jaajjm.png


And that's all the comparisons I've thought to make at this time.

So all you have to do to simulate frequencies below 10 hz, and assuming 1 hz is a reasonable low limit, is start with a design (use the t/s of the driver you actually want to use) and resize your design to 0.1 in the resize wizard. Now 10 hz on the graph = 1 hz, 100 hz =1 khz, etc.

Open your design in the Loudspeaker Wizard and now you can play with it below 10 hz, in this example I've taken the original design and resized it and tuned it down to 6 hz.

3495ki1.png


Just remember when looking through the graphs you need to know the sizing formula relationships and make sure you realize that stuff like velocity, group delay and other things are off by a factor of the scaling factor.

When you are done (or anytime really) you can resize it back up to it's original size. There's no need to do this as long as you understand the resizing formula relationships but it's there if you need it.

Neat little tool and it solves all of my current problems except being able to view velocity at any segment marker.
 
Last edited: