Skip to main content

Speaker profiles

A speech corpus without speaker metadata is half a corpus: you can't balance it, can't document it honestly, and downstream researchers can't trust evaluations built on it. But demanding demographics from contributors is how platforms lose communities.

AfriAnnotate resolves this with a rule that runs through the whole platform: enforce the deliberate step, never the disclosure.

What a speaker profile is​

Every user has an optional speaker profile in their account settings:

  • Age band (teens … seventies+) — bands, never birthdates.
  • Gender — including prefer not to say and other.
  • Language varieties you speak — free-form, ordered strongest-first (e.g. Hausa (Kano), Nigerian English).
  • The sharing consent — a separate, explicit checkbox: "I consent to these details being attached to my recordings in released datasets."

Every field may be left blank. The consent may be declined. Both choices are first-class and permanent-until-revoked.

What's enforced​

On audio-recording projects, a speaker must have completed the profile step before their recordings are accepted — meaning they deliberately saved the form, even fully blank. This is enforced server-side at annotation submit (a direct API call hits the same wall as the UI), with a blocking-but-gentle gate before the labeling surface explaining why the step exists.

What is never enforced is disclosure. An all-blank profile with consent declined satisfies the requirement completely.

The sharing consent is recorded with a consent version and timestamp, and grants/revocations are written to the platform audit log. Revoking is one click — untick, save — and takes effect for all future exports.

Where the data goes (and doesn't)​

On Hugging Face pushes, speaker columns (_speaker_age, _speaker_gender, _speaker_accents) attach to a row only when:

  1. the row's recording has a single speaker (aggregated multi-annotator rows never leak one person's demographics onto shared rows), and
  2. that speaker's sharing consent is currently granted.

No consent, no columns — not blanked, absent. Nothing else on the platform surfaces these details.