• bassik

    Hi All,

    first of all, a big thank you for this forum as it is extremely useful expecially for a newbie like me.

    I am in the process of creating a patch that could generate an inverse filter for an acoustic test signal (Log Swept sine) and then perform a deconvolution of the recording of the signal in the space.

    What I am trying to do i recreating the swept sine from its mathematical formula which give me the exact inverse filter.

    the formula is quite complex:

    x(t)= sin(((w1*T)/(ln(w2/w1))*(e^(((T-t)/T)*log(w2/w1))-1))*(w2/w1)^(-t/T)

    where t= time variable
    T=signal lenght in s
    w2= end frequency(normally 20 kHz)
    w1= start frequency (normally 20 Hz)

    Attached there is an initial patch that doesn't work.

    Convolution engine might follow but for the moment I am more interested in generating the inverse filter.

    Anyone has had experience with this?

    I will definitely share the patch when finished

    Thank you

    http://www.pdpatchrepo.info/hurleur/Swept_sine_inverse.pd

    posted in technical issues read more
  • bassik

    Hello,

    You can now check a dedicated blog for ExpoChirp:

    http://expochirp.tumblr.com/

    We are going to update it with the last versions and all the new feature we are planning to include.

    Please send us your comments!!!

    posted in technical issues read more
  • bassik

    Hello,

    it depends on what you would like to transmit between PD and live:

    Audio or midi??

    For creating virtual midi channels you can use MIDI YOKE (http://www.midiox.com/)

    in case of virtual audio channels you can use Jack server for windows (http://jackaudio.org/)

    or rearoute from reaper (http://www.reaper.fm/)

    :)

    posted in technical issues read more
  • bassik

    Hello Barleywater,

    Thanks for your comments!!

    I work in collaboration with Katja to the patch.

    We will definitely review all your suggestions.

    One thing to mentions: we are not using a fade-out window for the chirp formulation but we have improved the formula in order to end the chirp at phase zero at Nyquist frequency.

    Our tests shows that fade-out windows includes artifacts in the deconvoluted signal.

    Anyway, I am planning to create a website/blog for the software and will post detail soon.

    Cheers

    posted in technical issues read more
  • bassik

    Thank you very much for this Katjav.

    Much appreciated.

    Hope that my post yesterday have been of some help.
    I was just reading it today and it contains some incongruence.

    Anyway, I will start some testing on the patch asap and let you know.

    I will also prepare some more sketches for B-format encoding and more info for the analyzer.

    Cheers

    Bassik

    posted in technical issues read more
  • bassik

    @katjav said:

    Hi Bassik,

    These comparisons look quite promising! And this is done with the old wiggly chirp. The low frequency ripples over which I'm cracking my brains hardly play a role because the system's response starts at around 100 Hz. I'm curious, what is actually the system under test?

    Katja

    Hello Katja,

    the system under test is a big exhibition hall in london (http://www.vam.ac.uk/collections/fashion/galleries/40/index.html) measured using a genelec 8030A monitor and an omni directional mic only.

    Keeping it simple to understand teh results quicker.

    Regarding your exp chirp computation, I am afraid this goes above my current knowledge so I need to study a bit before giving you an answer or even a comment.

    But we should bear in mind that exp Sweep sine technique is done for measuring acoustic spaces (hence the storing of non linearities of the reproduction and recording system in the anti casual part of the IR) and to obtain high quality IR for convolution and auralisation use.

    In this case I don't really get the point why you are researching the exact sample value of the peak value.
    In my experience, analysis of simple IR don't give substantial different results if the time zero of the IR is not exactly on the peak but probably I am missing something here expecially regarding the signal processing.

    base of the exponentianl or logaritmic sweep is that the instantaneous frequency vary exponentially with time (see http://www.acoustics.net/objects/pdf/article_farina02.pdf)
    Hope this can be of help.

    Also Farina described a method for fast convolution for ambiophonics that can maybe be of inspiration for the deconvolution engine (see http://www.acoustics.net/objects/pdf/article_farina04.pdf)

    Regarding STI, it is a measure of the speech intelligibility in a given space and takes into account many factors of which th emost important are the S/N ratio and the frequency masking.

    Voice is a very complex mathematical beast as it has a characteristics frequency respone that vary with spl and also a frequency modulation mechanism that we use to articulate words. this is obvioulsy different for different languags but has been standardised in a certain way.

    I will send to you the ISO standard that clearly explains th emethod of calculation impplemented in any commercial software in teh next days.

    Also I would like to discuss possible development after the chirp issues are resolved.

    I believe that it can be useful to implent the following in the patch:

    • Sound editor to delete the anti casual part of the IR and move the arrival time of the peak to zero

    • Room acoustics parameters calculation (I will send you the relative ISO and I will write more info later)

    • Multichannel IR recording and processing including an Ambisonics module; IEM in Gratz (http://iem.at/Members/noisternig/bin_ambi) has done a great work on this. Our implementation would be much simpler and would include A-format to B-Format encoding and additional analysis.

    Hope everything is well in life in the meantime :)

    speak to you soon

    Bassik

    posted in technical issues read more
  • bassik

    Hello Katja,

    please have a look at the attached file!
    Magnitude plots and waterfall plots with our wav file processed (arrival to IR peak moved and windowing) made in Easera; the magnitude is now about right!!!

    Probably Audacity applies some processing to the file when exported after processing (just cutting) that lead EASERA to misleading the IR characteristics.

    You can see that our IR has its peak normalized to 0 dBFS, did you apply already all our thoughts on IR scaling??

    Still need to find out how to import mic calibration in EASERA....

    Bassik

    http://www.pdpatchrepo.info/hurleur/RT.xls

    posted in technical issues read more
  • bassik

    @katjav said:

    Hey Bassik, thanks so much for your test results.

    Apart from the 125 Hz the found RT are comparable indeed. But the magnitude plots of the second case? Should M0002_S01_R02.etm be comparable to Test 2b proc.wav? Even without a reference, the figure should show a similar shape because it is in deciBels, no?

    But well, at least it shows that the Pd patch is not complete nonsense. We're on the right track.

    I wonder how the magnitude of a full IR is computed in EASERA. For a 20 second chirp the IR it is at least 40 seconds, anticausal and causal part taken together. Or is the analysis limited to the causal part? No, I would think that full IR means the whole thing with the left side included. Pd can not do such long FFT's, 131072 points is the maximum. Probably the magnitude could be computed as an average of several overlapping frames. But the phase information is lost then.

    I consider writing an FFT object for Pd that operates on a named buffer, and works with 64 bit floats internally. Maybe it is then possible to do larger FFT's. This is also important for calculating inverse filters (correction filters), since the full IR spectrum is sometimes needed for that. There is also something wrong with [fft~] and [rfft~] phase interpretation: it does not do a centered FFT. So with an IR centered you get these alternating phases instead of a zero-phase representation. Therefore, complex multiplication of spectra will give wrong results. Quite annoying. A new FFT object should have an option to select centered and non-centered FFT so you could work well with centered IR, and with causal part only. Hmm, plans....

    Katja

    Hello Katja,

    Magnitude is expressed in dBFS and for definition our recorded signal should not go above 0 dBFS hence clipping in the analog domain.
    So there is something wrong in EASERA when computing our IRs; I haven't figure out yet as the manual does not contain any reference to wav file loading and analysis.

    Regarding which part is computed in Easera:
    For acoustic measurements (RT, STI etc) only the casual part should be used.
    The purpose of the swept sine technique is to get all the reproduction system non-linearities in the anti casual part (leftmost part) of the deconvoluted IR in order to then eliminate them.
    So all the analysis should be done on a IR that has the time 0 where the peak of the IR is; also it will be then windowed to eliminate the late part that is not useful to be investigated as it might contain other artifacts of the deconvolution process due to e.g. the noise in the environment during measurements.

    I hope I have understood your question.

    Glad this keeps you thinking about new objects for PD.

    I will review your post on the new chirp formula.

    Thank you

    Bassik

    posted in technical issues read more
  • bassik

    HEllo Katjav,

    As promised I have performed some comaprisons between the IR measured by EASERA software and the one done with the PD patch we are developing.

    As said, I have used the old chirp computation patch and have obtained useful IRs only for the first 2 measurements.

    comparison in RT results are in the attached file showing:

    • RT results
    • Waterfall plots (where possible to compute)
    • Magnitude plots

    Interesting is to see that EASERA is not able to compute the dB SPL of the wav file as it doesn't have any reference of the microphone calibration.
    I need to investigate more if I can insert this info for the wav file so for the moment the waterfall plots are not comparable (EASERA measurements are in dB SPL while PD measurements in dB FS).

    Anyway this is just a start and you can see that the RT measurements are quite similar apart for the 125 Hz results.

    Hope this helps

    More to come

    Cheers

    http://www.pdpatchrepo.info/hurleur/RT.xls

    posted in technical issues read more
  • bassik

    Hello Katjav,

    I haven't used the latest chirp~test patch but the previous version of the soft with teh old chirp computation.

    So it was supposed to work at least in terms of recording the chirp and deconvolve it; but as i said it needs more testing as it was just a one off mesurements set the one i performed.

    I am sorry as well I haven't contributed much in teh last time but I am full of stuff at work.

    Anyway I will post a comparison between the PD measurement and a professional soft measurement in teh same positions soon.

    Also I am not able to use your latest chirp~test patch as I am on windows.

    thank you for keeping the study alive!!!

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!