HOLMImpulse: Measuring Frequency & Impulse Response

The impulse response data is written out in a form that makes it difficult to read back into another program. This is because it is in two different formats, integer and float on a single line. The integer values of the data are pretty much useless since they just increment by one from one line to the next, so why print them? Just put the starting value and the length in the header and let it go at that. Then just print one float value per line and any program could read in this data.
 
Re: Regulized IFFT - bandpassed IFFT

askbojesen said:
Now please don't make this complicated
Seconded! And I really should read up on signal theory, I see!

Without µ[f] we would simply have: C[f] = 1/H[f]
Applying µ[f] is nothing else than a bandpass of the resulting response. Like when Klaus is sweeping from 1000 Hz, then he knows that the response below 1000 Hz is not valid.
That bandpass functionality is already there, for the result, in the options dialog, right?

I'm in doubt if I should adopt this bandpass for the log-sweep - If I did Klaus and Earl would require that it could be disabled, so they could get the raw impulse ;)
From the practical standpoint this might nevertheless be a good idea, HF-limiting the stimulus (LF we have already). Like when I use high sample rates (96k++) to lessen the burden for both the DUT(+amplifier) and the imperfect ADC/DAC-chain, measuring DUTs with higher distortion ... but I better leave that decision to others/you, I think.

- Klaus
 
HOLMImpulse new release 1.1.5.0

Version 1.1.5.0 (2009-06-09)

[url]http://www.holmacoustics.com/holmimpulse.php
[/URL]

Changelog
http://www.holmacoustics.com/downloads/HOLMImpulse/ChangeLog.txt

Features/Changes:
* File type *.hlm registered for HOLMImpulse (Double-click on file.hlm)
* Impulse-Graph improved graphics (Peak-To-Peak)
* Export impulse response: Sample number is optional (CheckBox)
* Max signal Length = 20 (Was 21, but crashed need to troubleshoot)
* New Icons

Bugfixes:
* Post-Time window to small (Increased by x10)
* Impulse-Graph x-axis-label postition
* Harmonic distortion: Only plotting at frequencies where data is available

Issues
http://www.holmacoustics.com/downloads/HOLMImpulse/Issues.txt
 
Re: Regulized IFFT - bandpassed IFFT

askbojesen said:
I'm in doubt if I should adopt this bandpass for the log-sweep - If I did Klaus and Earl would require that it could be disabled, so they could get the raw impulse ;)

If you don't do this (or something similar ;)) on a band-limited sweep then noise gets boosted where the stimulus energy is low and the quality of the impulse response can be severely degraded, it doesn't take a lot of LF noise to greatly change the appearance of the IR.
 
How about a HOLM for Dummies

doug20 said:
How about a HOLM for Dummies? (Me, I feel dummer by the day on this site!!).
I do not want to bog down this thread with really silly and probably easy to answer questions, could we create a HOLM for dummies thread?

Well now, I believe you are right, so I have started a new thread:

HOLMImpulse: Measurements in practice
http://www.diyaudio.com/forums/showthread.php?s=&postid=1851460


Now we will see if this new thread gets a life...
 
Thought this fitted better here instead of the other thread.

Any way to disable auto detection?
The reflected sound when doing measurements close up will not affect things that much, and it is very annoying to disable it after every measurement.
If you measure at 80dB at 30cm and the closest reflection is at 1m.
The reflected sound will be -16.5dB down. That will add 0.1dB to the total sound. Well I'm not that good at sound theory so it might be wrong but still. When you want to see a trend in response ungated is needed.

Hmm. Any way to use a rollof for gating? Remove the HF part of the reflection and then leave the LF part to not mess up the shape of the response.

A little checkbox would be nice. I looked at everything but I could not find one. Sorry if I missed it.


Any news on IR export to wave?
 
Need cancel measurement or lock measurement

Sometime, I pressed Measure button while intended to check the box beneath Measure button. Then, you know, I lose the old measurement & can't cancel the new measurement...

Please think about put a option to lock measurement or a confirmation pop up window before doing new measurement, in the case a old measurement existed.
 
Re: No ASIO support yet.. + Levels

askbojesen said:
Now HOLMImpulse does not have ASIO support - only MME


ASIO
- Do you have soundcards, that have ASIO, but not MME?
- How much do you prioritize ASIO support?

I would really appreciate ASIO support too, because it is so easy to mess level calibration with MME. You will never know what Windows will do with levels from cession to cession...

Jean-Claude
 
David_Web said:
Any way to disable auto detection?
Yes from version 1.1.5.6 there is - A checkbox (Auto apply timewindow)
Hmm. Any way to use a rollof for gating? Remove the HF part of the reflection and then leave the LF part to not mess up the shape of the response.
Look at attachment. Procedure:
  1. Make measurement and put this into A
  2. Adjust wide time window for A
  3. Choose empty slot in B
  4. Analyze > Copy A to B
  5. Adjust narrow time window for B
  6. Choose empty slot in C
  7. Analyze > Stitching (C = A->B) (Disable gain, phase match)
    [/list=1]
    Now you will have a new impulse response in C with low frequency and high frequency without reflections.
    I'm working on a frequency dependent time-window concept, but
    this will take a while...
    Any news on IR export to wave?
    No news here - You can save it as text-file for math manipulation or import to e.g. excel - why do you all want this IR-wave file?
    Do you want to replay the echoes in the speaker or what :D
 

Attachments

  • screenshot005.png
    screenshot005.png
    57.4 KB · Views: 662
Re: Re: Re: No ASIO support yet.. + Levels

Shaun said:


Hi Jean-Claude

Could you expand on this for me, please? What are the session-to-session issues that MME has?

As far as I understand things, MME audio is controlled by Windows Mixer which is available to other applications at the same time as well.

So let say you have done some measurements with some windows mixer settings at a time and one week after you are doing some other measurements, you could have lost all your calibration settings.

Of course, if you are not interested by absolute measurement, it's not a real problem.
On the other side, Windows mixer has no control on ASIO.

JC
 
>> why do you all want this IR-wave file?

Why? For post-processing of any kind.... because the IR is the omnipotent kernel to everything else...

Many people would surely like to have the step-response calculated from it (which is trivial, it would take you 10 minutes or so to implement a switch from impulse to step response view -- of the main pulse --, wouldn't it?)... or CSD-plots... or S-transforms etc... for use with other SW (say, if we had an export to ARTA's .PIR format) and for comparison with other speaker's data (especially the step response is a quasi-standard).

For me its not a big deal to convert the ASCII to whatever format I want... but for other (non-programmers) it is.

I would strongly favor to have all data accessible (including an impulse import as well, to use your excellent SW as a viewer), that is: all I/O transparent and selectable between "real" I/O (sound card, internal data flow) or file-I/O. For everything. And raw double import/export should be really simple, plain straight 1:1 memory fill/dump.

To illustrate why this open aproach can be VERY useful:
I tried to phase-linerarize my speakers just this evening for an experiment we currently conduct on a german forum, but I do this offline in the DAW by simple letting the audio track run backwards through an allpass that mimics my speaker's allpass function (LR24@1.6kHz) -- because this is the easiest and most flexible way for me to do this at the moment.
But I cannot check/display the result with your software since I have no access to the data stream at the point where I would need it -- if I had the stimulus available, I could do the manipulation on the stimulus, then run the recording of the DUT response on my own and import it back into your software to use its display and post-processing capabilities. Or if there were a stimulus import as well the external record step would not be necessary. Just imagine any kind of "breaking the chain" to allow for any kind of offline processing and pre/post-processing. Eg for electrical measurements I could do my own pre-averaging to increase S/N (in the time domain, before convolution), as I guess the averaging that you have implemented is post-averaging which of course is useful as well -- though I haven't tried this out, so far.

You don't loose anything if you, over time, try to make your program as versatile and useful as possible, do you? There is no need to have all this "expert features" implemented asap and it doesn't need to be foolproof as well -- people who would value this features sure know what they do and won't blame you when unexpected results show up from their own user faults.

Think of it as a tool in a bigger toolbox, not as a swiss army knife always to be used standalone. There are much more ways to use a SW than the creator can ever hope to imagine, and the more open and flexible the architecture is, the more so this will happen.

- Klaus
 
Administrator
Joined 2004
Paid Member
Yes-yes! I vote for ASIO too! Or Direct Sound. Something that bypasses the K-Mixer, so that settings are always the same (no chance to mess up in Windows) and nothing else is on the same stream.

For casual users it may not matter. But for measurement better use it would be nice to NOT go thru the K-Mixer. Many media players can do this, e.g. Winamp, Foobar, J. River, etc. as well as editing programs.