Listening to Kenyan radio at scale to prove when artists' songs were played, and to get them paid.

Project Summary

  • Client: Flag 42 Ltd.
  • Industry: music
  • My role: Software Engineer
  • Core tasks: Audio fingerprinting algorithm, Airplay detection, Reporting

Kenyan musicians were losing royalties, not because nobody played their songs but because nobody could prove it. Radio stations rarely reported accurate playlists, so artists had little evidence of how often, or for how long, their work was aired.

The problem

Royalty collection depends on airplay data. Without an independent record of what stations broadcast, artists couldn't challenge under-reporting or claim what they were owed.

What I worked on

At Flag 42 I was part of the team that built MzikiTrak, a system that identifies songs by their audio fingerprint:

  • Recording. Continuous audio logs captured from radio stations across Kenya.
  • Fingerprinting. Each track in the catalogue is reduced to a compact acoustic fingerprint that survives compression, talk-over and broadcast noise.
  • Matching. Logged broadcasts are scanned against the catalogue to detect every play and measure its airtime.
  • Reporting. Per-artist reports show where, when and how often each song was played.

The result

Artists finally had independent evidence of their airplay. Those reports helped them claim royalties and payouts for work that was rightfully theirs, so they could keep making music knowing its use was tracked.

Tech stack

Languages
  • Python
Other
  • Digital signal processing
  • Spectrogram fingerprinting

What I did

  • Worked on the audio fingerprinting and matching algorithm
  • Processed logged audio from Kenyan radio stations
  • Generated per-artist airplay and royalty reports

Challenges

  • Accurate fingerprinting in noisy radio environments
  • Processing large volumes of logged radio audio

Have a similar problem to solve? Let's talk.

Start a conversation