Phase Comparison Between Two Sources

Compares the phase relationship between two audio files. Useful for checking alignment between multi-mic recordings, parallel processing paths, or duplicate sources.

Parameters

Parameter Type Default Description
file_path_a string required Path to first audio file (reference)
file_path_b string required Path to second audio file (comparison)

Example Output

$ compare_phase kick-close.wav kick-room.wav

Phase Comparison: kick-close.wav vs kick-room.wav

Overall correlation: 0.42 Polarity match: YES (both positive) Estimated delay: 2.3 ms (room is late)

Per-band Correlation: Sub (20-60 Hz): 0.78 Low (60-250 Hz): 0.65 Low-mid (250-2k Hz): 0.38 High-mid (2k-6k Hz): 0.21 High (6k-20k Hz): 0.12

Assessment: Significant time misalignment causing frequency-dependent cancellation above 250 Hz. Recommendation: Delay kick-close by 2.3 ms to align, or use time-alignment tool in DAW.

What the Numbers Mean

  • Overall Correlation — How aligned the two signals are. 1.0 = perfectly aligned. 0.0 = completely different signals. Negative = one is inverted.

  • Polarity Match — Whether both signals have the same polarity. Mismatched polarity causes cancellation when summed.

  • Estimated Delay — Time offset between the two signals. Positive means the second file is late relative to the first. At 1ms, you get comb filtering starting at ~500 Hz.

  • Per-band Correlation — Shows where phase alignment breaks down. Low frequencies travel further in-phase (longer wavelength); highs decorrelate quickly with small time offsets.

Example Prompts

Mic alignment

Are my close mic and room mic aligned? Compare phase of kick-close.wav and kick-room.wav

DI vs amp

Check if my DI bass and amp bass are in phase

Parallel path

Compare the phase of my dry vocal and the reverb send — are they canceling?

Pro tip

If the estimated delay is non-zero between close and room mics, nudge the room mic track earlier by that amount in your DAW’s timeline. This is free improvement: better low-end punch and less comb filtering, no EQ needed.