Class DiarizedTranscriptBuilder
- Namespace
- VisioForge.Core.Types.X.AI
- Assembly
- VisioForge.Core.dll
Merges a speech-to-text transcript with a speaker-diarization timeline, labeling each transcript segment with the speaker who talks over most of it.
public static class DiarizedTranscriptBuilderInheritance
Inherited Members
Remarks
This is pure data processing with no model or media dependency: it pairs the timed text a
SpeechToTextBlock produces with the VisioForge.Core.Types.X.AI.SpeakerSegment timeline a
SpeakerDiarizationBlock produces, so the two on-device AI blocks combine into a
"who said what" transcript. Attribution is by maximum temporal overlap; ties go to the lower speaker id.
Methods
Build(IReadOnlyList<(TimeSpan start, TimeSpan end, string text)>, IReadOnlyList<SpeakerSegment>)
Labels each transcript segment with the speaker id that overlaps it the most.
public static IReadOnlyList<DiarizedTranscriptSegment> Build(IReadOnlyList<(TimeSpan start, TimeSpan end, string text)> transcript, IReadOnlyList<SpeakerSegment> timeline)Parameters
transcriptIReadOnlyList<(TimeSpan start, TimeSpan end, string text)>-
The transcript segments as
(start, end, text)tuples. Order is preserved in the output. timelineIReadOnlyList<SpeakerSegment>-
The diarization timeline (speaker turns).
Returns
- IReadOnlyList<DiarizedTranscriptSegment>
-
The transcript segments, each labeled with the best-overlapping speaker id, or -1 when no turn overlaps.
Exceptions
- ArgumentNullException
-
Thrown when
transcriptortimelineisnull.