Skip to content
Who is speaking, and has it been cut?

Audio Forensics & Speaker Identification

A disputed recording usually raises three questions at once: what is being said, whether the recording is continuous and unedited, and who the voice belongs to. Each is answered by a different method, and the third is never answered with the word 'match' — it is reported as a strength of evidence that a court can weigh against the rest of the file.

50 Hz in India
Mains reference
Likelihood ratio
Comparison output
ENF
Continuity check

What is audio forensics?

Audio forensics covers enhancement for intelligibility, authentication of a recording's continuity, and comparison of a questioned voice against reference samples. The three are separate exercises with separate standards of proof, and conflating them is the most common reason an audio opinion fails under scrutiny.

Authentication leans heavily on signals that have nothing to do with speech. Mains-powered recording equipment picks up the electric network frequency — nominally 50 Hz across India — and that hum fluctuates continuously in a pattern shared across the grid. A recording that is genuinely continuous carries a continuous ENF trace; a splice interrupts it. Spectrogram discontinuities, abrupt noise-floor changes and codec boundary artefacts corroborate the same question.

Speaker comparison is probabilistic by nature. Modern voice biometrics produce a score that is interpreted as a likelihood ratio — how much more probable the observed similarity is if the samples share a speaker than if they do not. An examiner who reports a 'match' has overstated what the method can deliver.

Clean, Don't Change

Noise and hum removed for intelligibility, never in a way that alters evidential content.

Continuity By Hum

The grid's own frequency drift runs through the recording and breaks at an edit.

Strength, Not Verdict

Speaker comparison reported as a likelihood ratio the court can weigh, not a declaration.

Step-by-Step Methodology

The sequence a careful examiner follows, in order.

  1. 1

    Preserve the native recording and hash it

    Acquire the file in the format the device wrote, not a convenience export. Hash on receipt and work from copies, exactly as for any other exhibit.

  2. 2

    Document the recording chain

    Device, microphone, codec, sample rate, bit depth and any platform the file passed through. A recording that has been through a messaging app has already been re-encoded, and that constrains every conclusion that follows.

  3. 3

    Assess quality before promising anything

    Decide what the recording can actually support. Heavy codec compression, clipping or a distant speaker may rule out comparison entirely — saying so at the outset is better than producing a weak opinion later.

    • Check for clipping, dropouts and automatic gain artefacts
    • Establish the usable speech duration, not the file duration
  4. 4

    Enhance for intelligibility, reversibly

    Broadband noise reduction, hum and notch filtering and selective equalisation are applied as a recorded chain. Enhancement serves the listener; it is never applied to the samples used for biometric comparison.

  5. 5

    Authenticate continuity

    Extract the ENF trace and compare it against a reference where one is available, and examine the spectrogram for discontinuities, abrupt noise-floor shifts and encoder boundary artefacts that indicate an edit.

  6. 6

    Compare speakers on unenhanced audio

    Questioned and reference samples are compared on the original material, ideally recorded under comparable conditions. Report the outcome as a likelihood ratio with the method and its known error rates available for challenge.

  7. 7

    Transcribe with uncertainty marked

    Produce a transcript that marks inaudible and uncertain passages explicitly, with speaker labels tied to the comparison evidence rather than to assumption. In multi-language and code-switched recordings, record the language of each passage.

Commands & Code

Copy-ready snippets used in real workflows.

audio-triage.shbash
# Format, codec, sample rate and duration as recorded
ffprobe -v error -show_format -show_streams exhibit.wav

# Hash before any processing
sha256sum exhibit.wav | tee exhibit.sha256

# Peak and RMS levels: clipping here constrains everything downstream
sox exhibit.wav -n stat
A file whose sample rate or codec does not match the device it allegedly came from is worth resolving before any analysis begins.
spectrogram-and-enf.shbash
# Full-band spectrogram for splice and discontinuity review
sox exhibit.wav -n spectrogram -x 2000 -y 800 -o spectrogram.png

# Narrow band around the Indian mains frequency, where the ENF trace lives
sox exhibit.wav enf_band.wav sinc 49.5-50.5
sox enf_band.wav -n spectrogram -x 2000 -y 800 -z 90 -o enf.png

# Downsample the isolated band for frequency estimation over time
sox enf_band.wav -r 400 enf_400.wav
A continuous recording shows an unbroken ENF trace that drifts with the grid; a splice interrupts it. Absence of the trace proves nothing on its own — battery-powered recorders away from mains interference may carry none.
CallEmailEnquire