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
- Appointed date: Jan 2017
- Completion: Jul 2017
- Website: flag42.com flag42.com
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
- Python
- 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