Hi all, it's time for an initial release of Spectral Profiler.
This program is a real-time frequency response analyzer for audio.
It is originally created with the idea of guitar amplifier profiling
[1], but it's also handy in many usage scenarios.
It's mostly a tool targeted at audio developers.
Source for 0.1.0 is available on the Releases page.
https://github.com/jpcima/spectral-profiler
Description
===========
The Spectral Profiler can dynamically extract a frequency response from
an audio system, either software or hardware.
The system is a JACK client 1-in 1-out, and it connects to the analyzer
software using a loop.
The profiler operates by sending a sine sweep to the audio system, and
calculating the transfer at all frequency points in the spectrum. The
capture shows the Spectral Profiler in action:
https://raw.githubusercontent.com/jpcima/spectral-profiler/master/docs/scre…
The analysis is intended to have some support for non-LTI systems. It
can do two sweeps in turn: a High sweep set at 0 dBFS, and a Low sweep
set at -40 dBFS. This optional feature can be used to observe effect of
non-linearity, and it can be calibrated using a global gain slider.
The analyzer also supports speeding up the analysis, up to 32×, by
sweeping multiple sines in one go. The Parallel setting controls this
behavior, but it may degrade analysis quality in some cases.
Upon completion of the measurement, the data can be recorded to files
for use with numerical analysis tools.
References
==========
[1] Eichas, F., Möller, S., & Zölzer, U. (2017, September).
Block-oriented gray box modeling of guitar amplifiers. In Proceedings
of the International Conference on Digital Audio Effects (DAFx),
Edinburgh, UK (pp. 5-9).