[Prompt]
custom: Once a system can tell different voices apart, the next step is putting names on them. Say I record  | Hosts: corn, herman

[Response]
Corn: Two seconds of speech can more than double the verification error compared with longer recordings. Daniel wants to know what happens after a system separates voices into anonymous groups. He and Hannah each record an introduction, then feed it a conversation. How does it turn those groups into their names, and keep doing that when the microphone, room, or voice changes?
Herman: The introduction supplies an enrolment sample. Its words do not assign the identity. You attach Daniel's name to a numerical representation extracted from his voice, then compare new speech against it. The technical term is speaker identification with enrolment.
Corn: Saying your name is mostly paperwork for the human.
Herman: Yes. He could describe a sandwich. For a text independent system, varied speech might actually be better than that crisp introduction.
Corn: Useful. Identity established through lunch.
Herman: There is a distinction worth making immediately. Verification asks whether this voice belongs to the person claimed. Identification asks which enrolled person it belongs to. Daniel wants identification, with the additional possibility that neither enrolled person is speaking.
Corn: Otherwise every visitor becomes one of them.
Herman: That possibility needs to be designed in. A matching engine will always produce a best candidate, even when every candidate is wrong.
Corn: My first instinct would be to compare the recordings directly, allowing for speed. Same voice, similar sound. Presumably the different words ruin that before we even reach the microphone.
Herman: Different words and different lengths. One recording might contain a long vowel where the other contains a sharp consonant. Their acoustic feature sequences do not line up. Early text dependent systems constrained the problem by asking for the same passphrase at enrolment and recognition.
Corn: Convenient, until the conversation refuses to be a password.
Herman: Modern embedding systems turn variable length recordings into fixed length vectors. Typically the front end produces roughly a hundred acoustic feature vectors per second, often log Mel filterbank features. Those describe how energy is distributed across frequency bands over time. A neural network processes the sequence and reduces it to one representation.
Corn: A second and a minute end up with the same number of coordinates. That sounds like an enormous opportunity to throw away the wrong information.
Herman: It is. You want to preserve speaker characteristics while suppressing words, noise, and recording conditions. Suppressing them imperfectly is responsible for much of what goes wrong.
Herman: The practical pipeline is compact. Record clean enrolment speech, extract an embedding, store it beside a name. For new speech, use the same extractor, compare the resulting vector with the enrolled vectors, and accept a name only if its score clears your threshold.
Corn: Same extractor matters. Two models can both produce five hundred numbers without agreeing what any of them mean.
Herman: Their coordinate systems need not be compatible at all. Changing the extractor generally means rebuilding the enrolled representations. Corn, would you match every little conversational turn separately, or pool everything assigned to one anonymous speaker first?
Corn: Pool the cluster, unless it contains somebody else's speech. A solitary yes seems a poor basis for naming someone. Although pooling makes an early clustering mistake contagious.
Herman: That is the trade. Longer clean material stabilises the representation. Contaminated material can stabilise it around the wrong mixture. Naming depends on the segmentation and clustering that came before it.
Corn: Now explain where those coordinates come from. I assume nobody labels one axis nasal and another vaguely Connecticut.
Herman: Training commonly begins with recordings from thousands of known speakers. The network learns to classify which training speaker produced each sample. After training, you extract an internal representation before the final classifier. That representation can distinguish people the training classifier never knew.
Corn: Daniel doesn't need his own new neural network, then.
Herman: Usually not. Enrolment runs an existing extractor over Daniel's audio. No model weights need to change. Training the general extractor and enrolling a new person are separate operations.
Corn: That will disappoint anyone selling a progress bar.
Herman: The classic x vector architecture has an encoder, pooling, and a classification head. The encoder transforms acoustic frames into learned frame level features. Pooling summarises those features across the utterance. The head predicts the training speaker, while the embedding is taken from an intermediate layer around that utterance level representation.
Corn: Pooling seems suspiciously modest for the part that turns an entire conversation into a point.
Herman: Basic pooling can calculate the mean. Statistics pooling also includes standard deviation, retaining information about variation. Attentive statistics pooling learns to weight more informative frames more heavily. A sustained, useful speech sound need not receive the same weight as an unhelpful fragment.
Corn: You would assign my pauses negative weight.
Herman: Your pauses are unusually easy to identify.
Corn: Years of clean training data.
Herman: ECAPA-TDNN develops that architecture with features at multiple temporal scales, squeeze excitation blocks that adjust feature channels, aggregation from several layers, and channel dependent attentive statistics pooling. It gives the network richer local information before the utterance gets compressed.
Corn: There it is. You put four mechanisms into one breath.
Herman: I did. The useful distinction is that the encoder examines patterns locally, while pooling gathers evidence across the recording. A local receptive field does not specify the required enrolment duration.
Herman: In the tutorial configurations, small ECAPA has three layers, five hundred and twelve feature dimensions, and a local receptive field of about a quarter second.
Corn: Feature dimensions, not necessarily the size of the final stored voiceprint.
Herman: Correct. The larger configuration has four layers, two thousand and forty-eight feature dimensions, and about a third of a second locally. Those are configuration details, not universal specifications for every implementation carrying the name.
Corn: Good. Otherwise someone buys a third of a second and expects a biography.
Herman: Other architectures cover longer spans. A listed ResNet fifty configuration reaches about one point two seconds. A Res2Net fifty configuration using scale eight reaches eight point three seconds. Neither number tells you how much clean speech the final identification decision needs.
Corn: The network also needs a reason to arrange similar speakers sensibly. Classifying the training voices correctly doesn't automatically guarantee useful distances between strangers.
Herman: Plain cross entropy trains classification. Margin based losses strengthen the geometry. AM-Softmax, also called CosFace, subtracts a margin from the correct class score during training. The model has to separate classes more decisively to succeed. A typical score scale is around thirty. AAM-Softmax, or ArcFace, instead introduces an angular margin.
Corn: Making the exam harder so the boundary survives outside the classroom.
Herman: Those losses explicitly encourage angular separation. That is why cosine similarity works naturally downstream. Take the dot product of the enrolled and test vectors, then divide by the product of their lengths. You are comparing their direction rather than rewarding a vector merely for being large.
Corn: Higher means a better candidate. It does not mean a higher probability that the name is correct.
Herman: Not without calibration. A cosine score by itself is not a percentage confidence. Another option is PLDA, probabilistic linear discriminant analysis. It models an embedding as a global mean, a speaker specific component, and within speaker variation. That last component covers the natural movement between different recordings of one person.
Corn: Rather than treating every movement away from Daniel's enrolment point as evidence of Hannah.
Herman: It scores whether the observed difference is more consistent with one speaker across sessions or with different speakers. Ordinary LDA is a simpler projection that emphasises between speaker separation relative to within speaker variation. PLDA supplies a probabilistic same speaker versus different speaker comparison. It can help, although a badly matched back end can lose to simple cosine scoring.
Corn: More machinery, more places to be confidently provincial.
Herman: How would you set the acceptance threshold for our transcript, Corn?
Corn: I would rather read unknown than find a sentence assigned to me that you said. Particularly a sentence containing squeeze excitation.
Herman: Then false acceptance carries a higher cost for you. Calibration tests genuine matches and mismatched speakers across many trials, typically well over a thousand, and counts false rejections and false alarms. Sweeping the threshold produces a detection error tradeoff curve. Equal error rate marks where those error rates meet. A detection cost function instead weights them according to the application.
Corn: Equal error is a reporting point, not an instruction to value both mistakes equally.
Herman: For implementation, pyannote audio already returns per speaker embeddings alongside diarization. There is one vector for each anonymous speaker, ordered to correspond to its speaker labels. You match those rows against enrolment vectors and rename the labels. Keep that ordering intact.
Corn: A perfect voiceprint, attached to the wrong row. Efficient sabotage.
Herman: Its commercial service also offers separate voiceprint creation and identification operations. Naming can be an added stage rather than a reason to rebuild the whole diarization pipeline.
Corn: And now, our regular segment, One-Star Getaways.
Clive: This is One-Star Getaways, and I have just come back from Halifax, where I stayed at the Marrow Lane Guesthouse, one star, because the advertised harbour view turned out to be a framed painting of the harbour, hung slightly crooked, and the kettle took nine minutes to boil, which I timed.
Clive: The complimentary breakfast was one biscuit, and the stairs creaked in a key I did not care for. For anyone looking for a disappointing trip this winter, I recommend it warmly, and I mean that as a warning.
Corn: I'm tempted by the biscuit. Herman isn't booking. Back to those enrolment vectors, a correct row still needs enough speech to represent a person.
Herman: There is no universal minimum duration. There is a performance curve, and its shape depends on the system and recording conditions. For ERes2NetV2 on a VoxCeleb verification test, equal error rate was about zero point six percent with full duration recordings.
Corn: Low, under that test's conditions. Not a promise about our kitchen.
Herman: At three seconds, it was about one percent. At two seconds, about one point five percent. Cutting the audio roughly doubled or tripled the error compared with the longer condition.
Corn: Two seconds contains plenty of waveform. The missing ingredient is variety, not merely file size.
Herman: Phonetic coverage. A short phrase exposes only a small selection of vowels and consonants. The embedding can reflect that particular content disproportionately. Pooling cannot average over evidence that never arrived.
Corn: Then Daniel's introduction may be tidy for the recording interface and poor for the actual job. Thirty seconds of ordinary speech could beat three seconds of beautifully pronounced name.
Herman: It may. That is a reasonable starting comparison, not a universal thirty second requirement. Text dependent systems can exploit a known phrase, especially when the test also uses it. Daniel wants arbitrary conversation, where the test words will change.
Corn: His name is not going to occur in every sentence. We can hope.
Herman: Short duration verification work explicitly distinguishes unstable short enrolment from longer, more stable text independent representations. NIST evaluations have used conditions around ten seconds and others over three minutes. More recent evaluations vary enrolment duration and include shorter tests and recordings containing multiple people.
Corn: That also answers whether silence counts. A minute long recording containing one brief introduction is still one brief introduction.
Herman: Count usable speech, not elapsed recording time. The short duration verification challenges also test phonetic mismatch and cross language conditions. If enrolment is English and the conversation switches language, the system has another kind of mismatch to tolerate.
Corn: I'd record Daniel talking naturally, rather than repeating his name until the network develops a grievance.
Herman: Would you record that all on the podcast microphone, or include his phone?
Corn: Include both if both will actually appear. Otherwise we have learned Daniel plus this microphone and asked it to recognise Daniel minus this microphone.
Herman: Session variety can help represent the actual use case. A different microphone changes frequency response, distance, room contribution, and possibly compression. It does not inevitably break identification, but it can move the recording outside the conditions the system handles well.
Corn: You diagnose rooms from recordings when you're mixing music. I have watched you blame a wall before considering the singer.
Herman: Walls contribute very reliably. Unfortunately, the singer contributes too.
Herman: Training augmentation and channel aware modelling aim to stop those recording differences from overwhelming speaker information. PLDA's within speaker variation is relevant here, but it has to have learned useful variation. It cannot excuse an arbitrary distortion just because we call it a new session.
Corn: Noise seems slightly different. A microphone colours Daniel. Another voice adds someone who isn't Daniel.
Herman: Overlap is particularly difficult because a segment may contain both speakers' characteristics. Noise can mask useful frequencies or mislead the speech detector. A system may extract a perfectly valid vector from audio that was a poor identity sample in the first place.
Corn: An embedding of the argument, rather than either participant.
Herman: One augmented embedding sampling method reported relative improvements of seventy-one percent in diarization error and sixty-nine percent in speaker attributed word error against its baseline. It specifically addressed noisy and overlapping speech. Those are gains within that experiment, not percentage point reductions you can apply to every recording.
Corn: Large improvements can also tell you how much the baseline suffered.
Herman: Similar sounding people pose another problem. Human similarity does not always predict embedding similarity, because the system uses cues we may not notice. Still, when two enrolled voices occupy overlapping regions, moving the threshold cannot manufacture separation.
Corn: Reject more and you lose genuine speech. Accept more and one brother inherits the other's opinions.
Herman: Margin training helps separate speakers generally. It does not guarantee every pair will be separable in every short segment. A second requirement can help naming too, such as demanding a clear gap between the strongest candidate and the runner up, not just a high winning score.
Corn: Where does a cold fit? My guess is changed resonance and altered speaking behaviour, with the size of the effect depending on how ill somebody sounds.
Herman: That is how I would reason about it. Congestion, hoarseness, fatigue, and altered delivery can change the evidence. I don't have a defensible cold specific error percentage. It is plausible within speaker variability, and its impact depends on the extractor and the severity of the change.
Corn: No numerical mucus allowance.
Herman: Hm.
Herman: We also need to keep verification error separate from diarization error. Pyannote's published community benchmark gives about eleven percent diarization error on VoxConverse, and seventeen percent on a meeting dataset. Its premium pipeline reduces those to roughly nine and thirteen percent respectively.
Corn: Those include finding and separating speech, not just choosing a name after the separation.
Herman: Correct. Diarization error includes missed speech, false speech detections, and speaker confusion. On harder audiovisual and egocentric datasets, the community figures reach roughly forty-five and forty-seven percent. Calling that half the names wrong would be inaccurate. It is error measured over speech time, combining several sources.
Corn: Still enough to make automatic naming a downstream risk, rather than a decorative label.
Herman: The premium figures improve those difficult cases but remain substantial. The recording conditions matter enormously. A tidy verification benchmark and a noisy multi speaker recording are answering different practical questions.
Corn: Our reject option seems more important now. If the enrolled list contains only Daniel and Hannah, a delivery driver should not become whichever of them scores less badly.
Herman: Closed set identification assumes the speaker belongs to the enrolled set. Open set identification must also reject strangers. Cosine always returns a score between negative one and one. Taking the maximum alone forces a winner.
Corn: First place in a contest nobody entered.
Herman: Unknown needs to be a legitimate output. For a transcript, you can preserve an anonymous cluster when identity is uncertain. Enrolment free diarization already provides those clusters. It cannot independently tell you which real person a cluster represents across separate recordings.
Corn: Names require the enrolment link or another identity signal. Better clustering doesn't invent that link.
Herman: A human correction can supply it, provided the system remembers what was corrected. The important thing is distinguishing a claimed identity from...
Hilbert: The person who booked the plumber. That is what I wanted the voice sample to establish this week. My sister Ruth says I made the call. I say she did. The recording is short. Neither of us finds the words helpful. We both say we will be in all morning when we plainly won't.
Corn: A family resemblance with scheduling consequences.
Hilbert: I put the recordings in a different order and listened without looking. I am interested in what the microphone does, Herman. You explained the angular margin very carefully. I was still thinking about the microphone. I don't trust the thin voice from a phone on a table. At home I listen to those calls through the same headphones. I will not decide whose voice it is from the little phone speaker.
Herman: Consistent playback removes one changing part. It leaves the recording differences intact.
Hilbert: There is an entry in the notebook for the same sentence recorded on four devices this week. I said, the plumber can come after lunch. Ruth changed the playback order. I marked the one I thought was the laptop. It wasn't. I tried again and marked a different one. That wasn't the laptop either. I was more certain about the plumber before we started.
Corn: You tested which machine it sounded like, not whether it was you.
Hilbert: I knew that batch was me. I wanted to hear which version resembled the disputed call. The phone on the table sounded least like me to me. Ruth preferred that one. Said it was clearer.
Herman: Her familiarity with your live voice might make a different recording sound natural to her than it does to you. Neither judgement establishes who made the original call.
Hilbert: No. The plumber is coming after lunch now.
Corn: That distinction matters for the software too. Familiar sounding and correctly attributed can part company. A transcript can look entirely plausible while attaching a genuine sentence to the wrong person.
Herman: Particularly when an editor silently replaces uncertainty with the most likely name. Daniel's workable design is enrolment embeddings, clean diarized speech, compatible extraction, calibrated matching, and an unknown option. The name is a decision supported by evidence, not something the vector contains in readable form.
Corn: Longer, varied enrolment helps that evidence. It cannot repair two voices mixed into one segment, or a rule that refuses to admit a stranger.
Herman: The open question for meeting tools is whether they will preserve an uncertain attribution as carefully as they preserve the words, rather than making the document look finished.
Corn: Thanks to Hilbert Flumingtop for producing.
Herman: If you enjoyed this one, try episode fifteen, AI Gets Personal; and episode ten, How ASR Went From Frustration To ... Whisper Magic. This has been My Weird Prompts, the human-AI collaboration podcast. No question too obscure, no rabbit hole too deep.
Corn: If you enjoy the show, leave us a review wherever you listen.
Herman: See you tomorrow.