One transport, two files
ABC Player opens A and B as separate native audio paths, but schedules them from the same host time and exact frame offset. The application tracks one shared playhead and applies every transport action to both paths.
What A, B and C mean
- A Source
- The original reference exactly as decoded from file A.
- B Cleaned
- The processed comparison exactly as decoded from file B.
- C Difference
- The live sample-by-sample subtraction A − B. It contains the material present in A that is not present at the same amplitude and polarity in B.
C is not a quality score. It is evidence. Intended click removal may appear as short impulses. Noise reduction may appear as low-level surface noise. Music, transients or ambience in C can indicate that the processing changed more than the intended defect.

A reliable listening protocol
- Set a comfortable output level and leave it unchanged throughout the comparison.
- Begin with A Source to learn the defect and musical context.
- Switch to B Cleaned at the same passage. Focus on one attribute at a time: click, crackle, noise floor, transient, ambience or tone.
- Repeat the A/B switch several times before forming a judgment.
- Select C Difference. Identify whether its contents match the intended removal.
- Seek to exposed vocals, cymbals, piano attacks, quiet grooves and reverb tails.
- Return to B and judge the complete musical result, not only the isolated difference.
Useful diagnostic cases
| Observation | Meaning to investigate |
|---|---|
| C is silent for two identical files | Expected exact cancellation |
| C contains brief isolated impulses | Likely click or transient changes |
| C contains a continuous low-level bed | Likely noise-floor reduction or tonal change |
| C contains clearly recognizable music | Processing, gain, timing or polarity deserves inspection |
| A and B are rejected before playback | The strict timeline contract is not satisfied |
Pause, seek and stop
Pause preserves the shared position. Play resumes both paths from that position. Dragging the scrubber reschedules both paths from the same target frame. Stop returns the comparison to the beginning.