AirCaps Voice Lab

Speaker ID

Know who's speaking, by voice.

Enroll the people you expect to hear, then recognize them from a short clip. A compact model that stays accurate under loud noise and music, and puts real names on transcripts and live streams.

aircaps-speaker-id-v1REST API$0.02 per audio hourEnabled on request

Identify · one clip against every enrolled voice4.2 s clip
Clip
AGAna García Best match0.684
BIBen Ito0.208
·Unnamed speaker0.031

Similarity from −1 to 1, best first. You set the threshold.Margin 0.476

Voices, recognized.

Enroll once, then identify, verify or name speakers across every AirCaps model.

Enroll once

Create a speaker and add clips of them talking alone. Up to 20 enrollments per speaker, 1,000 speakers per account.

Identify or verify

Rank a clip against everyone enrolled, or check it against the one person you expect.

You set the threshold

Scores are similarities from −1 to 1. Measured score ranges in the docs help you choose a cut-off.

Names on transcripts

Add speaker_identification to an A5S Async request and speakers come back with names.

Names in live streams

In A5S Streaming sessions with speaker labels, enrolled people are named as they speak.

Built for noise

3.53% EER under environmental noise and 4.03% under music, with the noise louder than the voice.

Accurate when it is loud.

3.11%

equal error rate on VoxCeleb1-O, averaged over clean speech and four noisy conditions, from a 17M-parameter model. TitaNet Large: 5.06%.

Read the full evaluation

Where it fits.

Meetings

Notes with real names

Transcripts that say Ana and Ben instead of speaker 0 and speaker 1, across every meeting they join.

Assistants

Assistants that know who is talking

Personalize answers for the person speaking on a shared device or call.

Media

Archives by voice

Tag recurring hosts and guests across hours of recordings, without listening to them all.

Enroll, then identify.

  • Create speakers with an optional name and metadata
  • Enroll with raw audio, 1 s to 2 minutes
  • Identify a 0.5 s to 2 minute clip, synchronously
  • Pass speaker_ids to verify one person
# 1. create a speaker
curl https://api.aircaps.com/v1/speakers \
  -H "Authorization: Bearer $AIRCAPS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Ana García"}'

# 2. enroll a clip of them speaking alone (raw audio, 1 s to 2 min)
curl https://api.aircaps.com/v1/speakers/spk_01k73.../enrollments \
  -H "Authorization: Bearer $AIRCAPS_API_KEY" \
  -H "Content-Type: audio/wav" --data-binary @ana_intro.wav

# 3. identify who is speaking in a clip (0.5 s to 2 min)
curl https://api.aircaps.com/v1/speakers/identify \
  -H "Authorization: Bearer $AIRCAPS_API_KEY" \
  -H "Content-Type: audio/wav" --data-binary @clip.wav

Specifications.

Everything else is in the model reference and limits.

Questions.

How do I get access?

Speaker ID is enabled per account. Talk to sales and we will turn it on.

How long does a clip need to be?

From 0.5 seconds to 2 minutes to identify, and from 1 second to enroll. Crop clips to one person's speech: the whole clip is compared as sent.

Does it decide who is unknown?

No. It returns a score for each enrolled speaker, and your application chooses the threshold. The guide has measured starting points.

Can I get names in transcripts?

Yes. Add speaker_identification to an A5S Async transcript or an A5S Streaming session with speaker labels.

Do you store identification clips?

Identification results are not stored. Enrollments stay until you delete them.

Know who's speaking.

Speaker ID is enabled per account. Tell us what you are building and we will turn it on.