A recorded run of 12 stations: see what we found
Skip to content

How Spotledger AI works

One real airing, step by step.

For each step: what went in, which kind of work did it, and what came out. Then every named feature, the model we train ourselves and how reviews are saved as training labels.

  1. 01 Listen
  2. 02 Match
  3. 03 Prove

The walkthrough

From a stream to a line in a report.

Each step carries one label: Software, Trained model, Signal processing, Spotledger AI, Rules or A person. Everyday detection runs both fingerprints, the classic one and the neural one, and every airing shows which one found it: Classic fingerprint, Neural fingerprint or Both fingerprints agree.

The airing we follow

Apple, 29 s

Cool FM Lagos 96.9 FM · Official online stream · Day 1, 21:02 · Both fingerprints agree · confidence 0.99

Apple is not a Spotledger customer. This advert was recorded from a public broadcast.

01Software

Record the station

What went in
The official Cool FM Lagos web stream
What happened
Recorded in one-minute pieces, copied as they arrive, never re-encoded.
What came out
3 one-minute pieces around the airing
  • Stream: MP3, 128 kbps
  • Pieces: 3

02Software

Log every minute

What went in
The pieces of that hour
What happened
Each minute is marked monitored, silent, stream down or not monitored.
What came out
54 of 60 minutes monitored in that hour
  • Monitored: 54
  • Stream down: 6

03Signal processing

Fingerprint the audio

What went in
29.1 s of radio and the uploaded advert
What happened
Spotledger AI turns the sound into two fingerprints: landmarks, pairs of peaks that survive a presenter talking over the ad, and a neural fingerprint, a short list of numbers for each second that says how it sounds.
What came out
4,861 landmarks in the airing, 4,904 in the advert
  • Landmarks in the airing: 4,861
  • Landmarks in the advert: 4,904

04Trained model

Match the advert

What went in
This airing against the advert, once with the classic fingerprint and once with the neural fingerprint
What happened
Both fingerprints ran on this airing. The classic fingerprint matches landmarks, pairs of peaks in the sound. The neural fingerprint matches what the audio sounds like, window by window. Each match must line up in time from start to finish; scattered matches are thrown away.
What came out
Classic fingerprint, 1,400 agreeing landmarks; neural fingerprint, 16 agreeing windows. Match score 0.99. Stored as: Both fingerprints agree.
  • Agreeing landmarks (classic fingerprint): 1,400
  • Agreeing windows (neural fingerprint): 16
  • Match score: 0.99
  • Found by: Both fingerprints agree

05Rules

Time the airing

What went in
Matches across the one-minute pieces
What happened
Matches that keep the same offset join into one airing with a start, an end and a played length.
What came out
Day 1, 21:02 for 29.1 s of a 29.1 s advert
  • Played: 29.1 s
  • Full length: 29.1 s

06Rules

Check the version

What went in
Every cut of the campaign
What happened
The cut whose full length is closest to what played wins; under 90% played is flagged as cut short.
What came out
29s English, played in full

See how version choice was tested on hard cases

  • Other versions considered: 0

07Spotledger AI

Name the brand

What went in
What the advert says
What happened
Spotledger AI names brand, product, category and offer; code checks the brand is actually said.
What came out
Apple, retail
  • Plays found across stations: 5
  • Stations: 4

08Rules

Check it against the plan

What went in
The test plan's booked spot (21:00 to 22:00)
What happened
Every booked spot is matched to at most one airing, counting only minutes we were listening.
What came out
Aired as booked
  • Band monitored: 90%

09Software

Put it in the proof of airing report

What went in
Every spot of the campaign
What happened
A PDF and CSV with clip links, the coverage record and how to dispute a line.
What came out
Report fingerprint 13fc510e7f45
  • Spots in the report: 9

Numbers are from the real airing above, measured in our own run.

The version step, tested

Hard cases for choosing the version.

The version step compares the length that played with the length of each version. These are the cases that make that hard, each run on real audio with the same detection and version code customers use.

Version test: hard cases and how many came out right
Hard caseCasesRightWhat it shows
Cut short, opening intact2424 of 24The opening was kept and 50% to 79% of the advert played. Counted right when the advert was found and flagged cut short (under 90% played). Played length was off by 0.32 s at the median. 12 of 12 as broadcast; 12 of 12 with a presenter talking over, music underneath, a weak stream or noise.
Two different adverts of the same length3029 of 30Five pairs of different adverts within 1 s of each other (one pair of demo adverts, four pairs of found adverts) were all fingerprinted together. Counted right when exactly the advert that played was reported, alone, and not flagged cut short. The two adverts of a pair share no sound, so the version rule had to choose in only 3 of 30; in the rest the fingerprints alone told them apart. 15 of 15 as broadcast; 14 of 15 with a presenter talking over, music underneath, a weak stream or noise. Misses: 1 found but flagged cut short although it played in full. It was not sent to a person for review.
Shorter cut inside a longer cut2424 of 24Three campaigns, each with a 30 second cut that is the first 30 seconds of its longer cut (about 45 seconds). Both cuts were fingerprinted. Counted right when the cut that played was reported, alone, and not flagged cut short. 12 of 12 as broadcast; 12 of 12 with a presenter talking over, music underneath, a weak stream or noise.
Different offer, same opening2424 of 24Three campaigns, each with its original cut and a version with the same first 65% and a different ending. Both cuts were fingerprinted. The original or the version played, and the cut that played had to be the one reported, alone. 12 of 12 as broadcast; 12 of 12 with a presenter talking over, music underneath, a weak stream or noise.
Different offer, only the last 6 seconds differ2424 of 24The same test with the hardest version: the two cuts are identical except for the last 6 seconds. 12 of 12 as broadcast; 12 of 12 with a presenter talking over, music underneath, a weak stream or noise.
Different offer, only the last 4 seconds differ1212 of 12The same test with the two cuts identical except for the last 4 seconds. 6 of 6 as broadcast; 6 of 6 with a presenter talking over, music underneath, a weak stream or noise.
Different offer, only the last 3 seconds differ1212 of 12The same test with the two cuts identical except for the last 3 seconds. 6 of 6 as broadcast; 6 of 6 with a presenter talking over, music underneath, a weak stream or noise.
Different offer, only the last 2 seconds differ1212 of 12The same test with the two cuts identical except for the last 2 seconds. 6 of 6 as broadcast; 6 of 6 with a presenter talking over, music underneath, a weak stream or noise.
Different offer, only the last 1 second differs126 of 12The same test with the two cuts identical except for the last 1 second. 3 of 6 as broadcast; 3 of 6 with a presenter talking over, music underneath, a weak stream or noise. Misses: 6 reported as another advert. 6 of the 6 went to a person for review. The version rule treats two cuts that explain the played audio to within 2 seconds as equal, so a difference this short can go either way.
Presenter reads the wrong price1818 of 18Written words only: the speech to text step was not part of this test. Real presenter reads found in the recordings, with the price changed to a wrong one, checked by the live read check. 11 of 11 correct spoken forms of the right price (for example 'one thousand Naira' for 1,000 Naira) were accepted.

How this test was built. Real adverts that Spotledger found in its own recordings, and the four demo adverts, were fingerprinted and then put into three hours of real station audio recorded from the official online streams, after cutting out every stretch where one of these adverts really aired. Half were changed the way radio changes them: a presenter talking over, music underneath, a weak stream, noise. Where an advert has a sibling cut, the sibling was fingerprinted too. We placed every advert ourselves, so the right answer for each case is known. Both fingerprints and the version rule ran as they run on live audio. This is a controlled test: it shows how the version step behaves when we know the answer, not how often it is right on air.

Not tested: English against Pidgin cuts of the same advert (the version rule compares length and sound, not language), a presenter read measured on audio rather than on the written words, and an advert that straddles two one-minute pieces (each case here was checked in one piece). Every case is placed by us in real audio; none is a measure of live accuracy.

A jingle offered as an advert. 131 sounds repeated across stations in the real run. 61 were kept as adverts, 41 were dropped as jingles, 5 as promos and 22 as songs, and 2 could not be sorted. Sounds that repeat across stations were sorted by Spotledger AI and rules. Jingles, promos and songs are dropped: none of them is fingerprinted for detection. Only an advert a person has confirmed is. Of the 68 dropped sounds, 10 were given a brand, and all of those name the station itself. These counts show what the sorting did; no person has checked the sorting against their own labels, so they are not a measure of how accurate it is.

Named features

Every feature, and who checks it.

Every feature carries one label: Software, Trained model, Signal processing, Spotledger AI, Rules or A person. Code checks every answer against fixed rules, and a person confirms anything new or unsure.

Stage 1

Listen

Record everything, and be honest about the minutes we missed.

Listen

Always On Listening

Software
The software does
Records each official stream in one-minute pieces and marks every minute monitored, silent or down.
Code checks
Gaps, restarts, bitrate and minute by minute coverage.
A person confirms
Outage alerts reach a person, who decides what to do.

Listen

Airtime Sorter

Rules
The rules do
Sorts each stretch of radio into music, talk, ad, jingle or news, using fixed rules on features computed from the audio itself.
Code checks
Segment length rules, so a three second blip is not called an ad.
A person confirms
A wrong label fixed in review is saved as a training label.

Stage 2

Match

Find your adverts and say exactly what aired.

Match

Spot Match

Trained model
The model does
Hears your uploaded advert inside live radio, even under a presenter's voice. The neural fingerprint is a model we train ourselves, and the classic fingerprint beside it is signal processing. Every airing shows which one found it.
Code checks
The match must line up in time from the start of the advert to the end.
A person confirms
Matches with a confidence score under 0.80, and neural-only finds under 0.94, go to a reviewer.

Match

Version Check

Rules
The rules do
Tells which cut aired: the 30, 45 or 60 second version, or a version with the same opening and a different ending.
Code checks
Played length against the full length of each version.
A person confirms
Two cuts that fit what played almost equally well go to a reviewer; the other cuts are kept as alternatives.

Match

Cut Short Flag

Rules
The rules do
Notices spots that stopped early, even when the start was perfect.
Code checks
Played length under 90% of the full length.
A person confirms
Disputes are reviewed by a person.

Stage 3

Prove

Turn airings into statuses, reports and read checks.

Prove

Live Read Check

Spotledger AI
Spotledger AI does
Finds presenter reads of your script and checks each key message: brand, offer, price, promo code and call to action.
Code checks
Prices, numbers and codes must match exactly after numbers are normalised.
A person confirms
Borderline reads go to a reviewer.

Prove

Plan Reader

Spotledger AI
Spotledger AI does
Reads your agency's own plan spreadsheet and maps its columns to ours.
Code checks
Every row is validated. Errors are listed by row.
A person confirms
You confirm the column mapping before anything is saved.

Prove

Plan Check

Rules
The rules do
Matches every booked spot to what aired and gives each one a status.
Code checks
Fixed rules. A band is marked inconclusive only when the longest stretch we did not hear is at least as long as the advert.
A person confirms
Disputes are reviewed by a person.

Prove

Morning Brief

Spotledger AI
Spotledger AI does
Writes a short summary at 8am Lagos time: what aired, what was missed, what rivals launched.
Code checks
Every number in the brief must come from your report, or the brief falls back to a plain template.
A person confirms
Nobody needs to approve it. It only restates your own report.

Stage 4

Watch

See adverts nobody told us about, including your rivals'.

Watch

Ad Finder

Signal processing
Signal processing does
Finds adverts nobody uploaded by noticing audio that repeats across hours and stations.
Code checks
Song and jingle rules, and a minimum of three plays.
A person confirms
Every new brand is confirmed by a person.

Watch

Brand Reader

Spotledger AI
Spotledger AI does
Listens to each found ad and names the brand, product, category and offer.
Code checks
The brand must actually be said in the ad, or confidence is capped.
A person confirms
New brands are confirmed before they are used.

All stages

Across every stage

People teach the system, and the system has to prove it learned.

Every stage

Learns From Reviews

A person
A person does
Reviewers decide, and every decision is saved as a training label.
Code checks
When a model is trained, a reviewer's label always wins over an automatic one.
A person confirms
Reviewers make the decisions that become the labels.

The models

What we train, and what we build on rules.

One model we train ourselves, the neural audio fingerprint. The airtime sorter, ad discovery by repetition and live read checking are built on rules and transcripts. The neural fingerprint is trained by Spotledger on recordings of Nigerian radio.

A model we train

Our own neural audio fingerprint

A model that turns one second of radio into a short code that survives a presenter talking over the advert, a music bed, heavy compression, noise, a small speed change or a partial play.

  • Trained by Spotledger on its own recordings, with augmented copies of the same audio, so that copies land close together and different adverts land far apart.
  • Runs beside a classic fingerprint, which works well on clean audio. Everyday detection uses both, and every airing shows which one found it: Classic fingerprint, Neural fingerprint or Both fingerprints agree.
  • Searches a vector index of the codes and votes on the time offset, so a match must line up from start to end.

Controlled test: 85 of 85 controlled cases detected, with 0 false matches. 10 real adverts from our own recordings were placed 85 times inside 3 hours of other radio.

How it is checked: It is scored against the classic fingerprint in a controlled test, with adverts damaged the way radio damages them. The test radio comes from stations the model trained on, so this is not a score on unseen stations.

Built on transcripts and rules

Ad discovery by repetition

Adverts repeat many times a day, across stations. Spotledger notices audio that comes back and treats it as a candidate advert, even if nobody uploaded it. It is built on fingerprints, transcripts and rules, not on a model of its own.

  • Mines repeated stretches of audio across hours and stations.
  • Drops songs (too long and musical) and station jingles, using length rules and the airtime sorter.
  • Needs at least three plays. Then Spotledger AI reads the transcript and names the brand, product, category and offer.

How it is checked: The brand must be said in the ad, and a person confirms every new brand before it is used.

Built on rules

The airtime sorter

A first version built on fixed rules. It listens to five second stretches and says whether they are music, talk, an advert, a jingle or news.

  • Built on features we compute from the audio itself, with fixed rules. It says music only when the sound is clearly steady, so speech is not skipped by mistake.
  • Helps discovery tell ads from songs and talk, and lets us transcribe only the speech when cost matters.
  • A reviewer's correction is saved as a label.

How it is checked: A reviewer's label always wins over an automatic one, and segment length rules stop a short blip being called an ad.

Built on transcripts and rules

Live read verification

A live read changes every time a presenter says it, so it cannot be fingerprinted. Spotledger reads the transcript instead and checks it against your script, with rules for the exact words. It is built on transcripts and rules, not on a model of its own.

  • Finds windows of 15 to 120 seconds around the brand name, allowing for how presenters say it.
  • Compares the meaning of the window with your script, then checks each key message one by one.
  • Prices, numbers and promo codes must match exactly, so 'two thousand five hundred naira' and ₦2,500 count as the same.

How it is checked: Borderline reads go to a reviewer. A confidence score under 0.70 always does.

Learns from reviews

How a reviewer's click becomes a training label.

01

A person decides

A reviewer listens to a low confidence match, a new brand or a disputed line and confirms or rejects it.

02

The decision becomes a label

Every decision is stored as a training label: this audio is this advert, this stretch is a jingle, this brand is right.

03

A reviewer's label wins

When a model is trained, a label from a reviewer always wins over an automatic one.

04

Tested before we claim it

The neural fingerprint is scored against the classic fingerprint in a controlled test. The test radio comes from stations it trained on, so we do not call it a score on unseen stations.

What the AI is not allowed to decide alone

Checks written in code.

A brand is named only if it is actually said in the advert. Otherwise confidence is capped and a person checks.
Prices, numbers and promo codes in a live read must match your script exactly.
Every number in the Morning Brief must appear in your report. If one does not, the brief falls back to a plain template.
A match counts only if it lines up in time from the start of the advert to the end.
Spots we could not hear well enough to judge are left out of the compliance rate.

See what really aired on your campaigns.

Free for 30 days. No card and no approval needed.