Glossary

Speaker diarization

The process of segmenting an audio stream into per-speaker turns - the 'who spoke when' problem.

Diarization answers the question 'who spoke when' inside a single recording. The output is a sequence of (speaker_id, start_time, end_time) tuples where speaker_id is a temporary label such as Speaker A or Speaker B that is only meaningful inside that recording. Diarization is not the same as speaker identification; it does not know that Speaker A in today's meeting is the same person as Marko in yesterday's.

The 2026 standard model for production diarization is pyannote-segmentation-3.0, a small (~6M parameter) sliding-window classifier that, for each frame, outputs the probability of each of up to three concurrent speakers. On an Apple Silicon Mac running the CoreML port, it processes audio at roughly 8-15x real-time on the Neural Engine. To turn temporary labels into stable names across meetings, diarization is paired with an embedding model such as CAM++.

Related terms

  • Voice embeddingsA fixed-length numeric fingerprint of a voice, used to match the same speaker across multiple recordings.
  • ANE (Apple Neural Engine)Shorter name for the Apple Neural Engine - the per-chip ML accelerator that runs Mac Note Taker's transcription and diarization models.
  • ASR (Automatic Speech Recognition)The model layer that converts spoken audio into written text. The first stage of any meeting transcription pipeline.
Speaker diarization - what it means on a Mac · Mac Note Taker