ARJF

Low-latency, high-resolution spectral analysis

Last verified:

Visit ARJF

What is ARJF?

Resonate is a low latency, low memory footprint, and low computational cost algorithm designed to evaluate perceptually relevant spectral information from audio and other signals. Developed by Alexandre R.J. François, it was first officially introduced in 2025 and extended in 2026 with a frequency tracking model. The algorithm builds on a resonator model that accumulates signal contribution around its resonant frequency in the time domain using the Exponentially Weighted Moving Average (EWMA), requiring no buffering and only a handful of arithmetic operations per sample.

Key features include real-time spectral analysis with high temporal resolution, frequency tracking resonators that self-tune to input signal contents, generation of spectrograms (log-frequency and Mel-frequency), audio synthesis capabilities, and audio feature extraction including chromagrams and MFCCs. The algorithm supports parallelization across resonators, SIMD vectorization, and offers both fixed-frequency and frequency-tracking resonator banks.

Resonate is designed for audio developers, musicians, researchers in music and speech analysis, machine learning engineers building audio processing pipelines, and anyone needing real-time spectral analysis with minimal latency. It is particularly suited for real-time music applications, audio-to-MIDI conversion, speech recognition, live performance systems, and interactive audio processing where FFT-based methods introduce unacceptable delay.

The algorithm produces instantaneous frequency components with correct amplitude, supports arbitrary frequency scales (linear, logarithmic, Mel), and enables audio synthesis with time/frequency manipulation. Open source implementations are available in Python (noFFT module), Swift, and C++ through the Oscillators package.

ARJF pricing

Pricing model: Freemium

Resonate is completely free and open source. The noFFT Python module with Python and C++ implementations is available on GitHub. The Oscillators Swift package containing reference implementations in Swift and C++ is open source. The Oscillators app demonstrating real-time spectrograms and audio features is available for iOS/iPadOS/macOS. All resources including Jupyter notebooks, research papers, and YouTube demonstrations are freely accessible.

ARJF pros

  • Extremely low latency compatible with real-time audio applications
  • No buffering required - processes each sample individually
  • Low memory footprint linear in number of resonators
  • Low computational cost with only handful of arithmetic operations per sample
  • Higher temporal resolution than FFT-based methods like CQT
  • Perceptually relevant frequency scales (log, Mel) directly supported
  • Frequency tracking resonators self-tune to input signal contents
  • Resonators are independent and computations can be parallelized
  • SIMD vectorization support further reduces computation time
  • Works across full audio frequency range (20-20000 Hz)
  • Invertible model enables audio synthesis from resonator states
  • Supports time manipulation and frequency shifting in synthesis
  • Linear computational complexity independent of signal duration
  • Open source implementations available in Python, Swift, and C++
  • Winner of 2025 ICMC Best Paper Award
  • No phase unwrapping concerns unlike FFT-based vocoder analysis
  • Robust to decimation - fewer resonators still capture salient features

ARJF cons

  • Python reference implementation slower than C++ without vectorization
  • Relatively new algorithm with limited adoption compared to FFT
  • Requires understanding of signal processing concepts to use effectively
  • Optimal resonator density/distribution varies by application
  • Time constant heuristic may need tuning for specific use cases
  • Limited documentation compared to established FFT libraries
  • Primary implementations target Apple/SIMD architectures
  • Synthesis produces approximate reconstruction with discrepancies
  • No built-in GUI - requires separate application like Oscillators app

Frequently asked questions about ARJF

What is Resonate and what does it do?

Resonate is a low latency, low memory footprint, and low computational cost algorithm to evaluate perceptually relevant spectral information from audio (and other) signals. It uses a resonator model that accumulates signal contribution around its resonant frequency in the time domain using Exponentially Weighted Moving Average (EWMA), computing updates at each signal input sample without buffering.

How does Resonate compare to FFT-based methods?

Resonate offers significantly lower latency since it requires no buffering, unlike FFT which needs buffer sizes of 128-512 samples causing 3-12ms minimum delay. Resonate achieves higher temporal resolution (per sample at 44.1kHz = 22.7μs) compared to FFT hop lengths. It also provides directly perceptually relevant frequency scales without post-processing, while FFT produces linearly spaced bins requiring rearrangement.

What frequency scales does Resonate support?

Resonate supports arbitrary frequency scales since resonators are independently tuned. Default implementations include Linear scale, Logarithmic scale (100 frequency bins from 32.7Hz to 9955.1Hz, 12 bins per octave), and Mel scale (127 frequency bins from 23.75Hz to 8000Hz). Resonator natural frequencies can be geometrically spaced to match CQT or custom distributions.

What are frequency tracking resonators?

Frequency tracking resonators are an extended model where the resonant frequency changes over time. When no significant information is present (below magnitude threshold), the resonant frequency remains constant at the natural frequency. When significant response occurs, the resonant frequency tracks the estimated instantaneous frequency using phase difference calculations, allowing the bank to self-tune to input signal content.

How do I get Resonate for my project?

Resonate is available as open source through multiple resources: the noFFT Python module with Python and C++ implementations and Jupyter notebooks (GitHub), the Oscillators Swift package with Swift and C++ reference implementations (GitHub), and the Oscillators app for iOS/iPadOS/macOS demonstrating real-time features. All are freely available.

Can Resonate synthesize audio from spectral analysis?

Yes, Resonate is invertible and can synthesize audio. Processing by a tracking resonator bank produces magnitude and phase for each input sample. Applying inverse phasors to individual resonators yields complex numbers from which audio signal components can be produced. Summing these components and taking the real part generates audio capturing salient features of the input, with optional frequency shifting and time manipulation.

What audio features can be computed with Resonate?

Resonate can compute spectrograms (log-frequency and Mel-frequency), chromagrams (12 semitone bins dropping octave information for tonality), MFCCs (21 coefficients for timbre characterization used in speech recognition and genre classification), instantaneous frequency components with amplitude, and Doppler velocity estimates. All features are computed in real-time at sample rate.

What hardware does Resonate run on?

Resonate exhibits real-time performance on modern hardware. Reference implementations run on Apple Mac mini M1 (2020) and iOS/iPadOS/macOS devices. Vectorized parallel implementations taking advantage of SIMD architectures further reduce computation time. The algorithm is particularly efficient on Apple's Accelerate framework. It processes 44.1kHz audio in real-time with minimal CPU usage.

Has Resonate been published or recognized?

Yes, Resonate won the 2025 ICMC Best Paper Award at the 50th Anniversary International Computer Music Conference in Boston. The paper 'Resonate: Efficient Low Latency Spectral Analysis of Audio Signals' was published in ICMC 2025 proceedings with guaranteed extended version publication in Computer Music Journal. Additional papers were presented at Audio Developer Conference 2025 and AES AIMLA 2025 conference.

Categories

Use cases

Browse all AI tools on NeedAnAI