Profiler Mono - Profiler Mono

Profiler Mono

Detailed: LSP Profiler Mono – Profiler Mono (P1M)

Formats: LV2, LinuxVST, JACK

Categories: Analyser, Utility

Developer: Stefano Tronci


A simple plugin for audio systems profiling. The profiling is performed by an algorithm based on the Synchronized Swept Sine method by Antonin Novak.

The profiler plugin allows to profile audio systems. These properties of an audio system can be currently profiled:

A brief description of the plugin usage is provided below. For a summary of controls, see the Controls section.

1: Connection

The audio system to be profiled should be connected as in the measurement chain below: It is advisable to set the audio stack for stable operation (least amount of buffer over/underruns) when profiling. By default, in order to remove unwanted latency from the profile, the plugin operates a profiling sequence that includes latency detection. This will remove the average group delay of the entire chain above. This might affect the accuracy of the phase response measurement of the audio system under test. If this is undesired, it is recommended to assess the systemless latency first, and disable automatic latency measurement during profiling. To do so, set up this latency measurement loopback: More details are provided in Section 3.

2: Calibration

The plugin has a built-in calibration tone (sine wave) generator whose controls are accessible in the 'Calibrator' section. After the measurement chain in Section 1 has been realised, it is suggested to set all hardware level controls (if any) to -Inf dB and then enable the calibrator by pressing Enable in the 'Calibrator' section (led shines). This forces the plugin to transition into the CALIBRATING state, and the corresponding LED in the 'Results' section will shine. Raise the hardware level controls and/or operate the calibrator Amplitude control until the Input Level meter provides a good level. All test signals levels will be set by the calibrator Amplitude control.

The test signals level is good when:

When the calibration tone is streaming, it is recommended to try a few different values of Frequency and select for the calibration the frequency that yields the maximum output of the audio system under test. The use of the frequency analyser plugin can facilitate this task.

After the calibration is concluded, the calibrator should be disabled.

3: Latency Measurement

The plugin automatically detects latency at each profiling cycle by default. However, there are cases in which it is advisable to measure latency only once, and disable Latency Detection from all subsequent profilngs. This is useful when: To operate a one time latency measurement, set up the latency measurement loopback of Section 1. Then, measure latency once by pressing Measure in the 'Latency Detector' section, where all of the plugin Latency Detector controls are available. After a successful measurement, disable the latency detection from the system profiling sequence by pressing the Enable button (ensure the LED is off). By doing so the Latency Detection step will be omitted in subsequent profiling measurements, and the systemless latency will used to time align the result, thus preventing alteration of the system under test phase response.

One time latency measurements are also useful when the signal level for optimal latency detection is higher than that for system profiling. If this is the case, set the test signal amplitude for optimal latency measurement by operating the Amplitude control in the 'Calibrator' section, measure latency, disable the Latency Detector by disabling the Enable button in the 'Latency Detector' section, and reset the amplitude control to the optimal value for audio system response profile (as discussed in Section 2).

To be noted that, if the audio stack is not stable, buffer over/underruns (for example, JACK xruns) can produce change of latency and invalidate the one time latency measurement (for this reason latency is part of the profiling sequence by default).

Whenever the plugin is detecting latency, its state will be DETECTING LATENCY and the corresponding led in the 'Results' section will shine.

4: Set profiling test signal duration

The control Coarse Duration in the 'Test Signal' section is to be used to set the profiling chirp coarse duration. The actual chirp duration will be optimised during the pre-processing phase and shown in the Actual Duration indicator. Most measurements will be accurate with 10s Coarse Duration. Longer test duration increases the signal to noise ratio. If a reverberant system is being measured, the Coarse Duration should be longer than the expected reverberation time.

5: Perform the profiling

Pressing Profile in the 'Test Signal' section triggers a single profiling sequence. This will make the plugin to transition through the following states automatically: The current state of the plugin is displayed at any time in the 'Results' section.

6: Post processing the results

Post processing is performed automatically after each measurement or manually by pressing the Post-process button in the 'Results' section. Whenever the plugin is postprocessing, its state will be POSTPROCESSING and the corresponding LED in the 'Results' section will shine. The post-processing steps can calculate: All the quantities above are mostly relevant for linear time invariant (LTI) systems. The result will be displayed and postprocessed from the time originle of the Linear Impulse Response estimate of the system. To change this, operate the Offset control in the 'Results' section, which allows to introduce a time offset. For numerical reasons, few details of the measured Linear Impulse Response are mapped into negative time samples to the left ot the origin of time. In case the spread of the Linear Impulse Response to the left of the origin of time is important, introducing a negative offset will increase accuracy of the calculations listed above, as well as providing a more accurate measurement. The Reverberation Time can be calculated with any of the algorithms in the RT Algorithm selector in the 'Results' section. All the algorithms are based in calculating, from the Linear Impulse Response, the Energy Decay curve through backward integration, fitting a straight line in the Energy Decay curve in a specified interval and solving for the point at which the straight line intercepts -60 dB from the peak energy. See the RT Algorithm description for a list of the implemented algorithms, all based on ISO 3382-2 (but without filtering).

The algorithms supply the best results only if the background noise floor level in the Energy Decay curve is at least 10 dB below the lower limit of the regression line calculation. If this is true, the relevant Noise Floor LED will shine. In order to improve the Signal To Noise ratio, it can be advised to:

The Energy Decay Linear Correlation coefficient is the Pearson correlation coefficient for the fitted regression line used for Reverberation Time calculation. For well fitted decaying lines this value is close to -1.

The Coarse IR Duration is instead the Linear Impulse Response duration based on the envelope of the Energy Decay curve. The value of the Coarse IR Duration is the time at which the envelope dives into the noise floor.

7: Saving the results

The profile can be saved by using the Save button in the 'Results' section. See Save Mode for the available saving modes. All saving ranges are rounded to the next tenth of second. Auto should be able to save all the meaningful parts of the Linear Impulse Response.

Whenever the plugin is saving to file, its state will be SAVING and the corresponding LED in the 'Results' section will shine.


'Results' section:

'Calibrator' section:

'Latency Detector' section:

'Test Signal' section: