Table of Contents

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 DiarizedTranscriptBuilder

Inheritance

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

transcript IReadOnlyList<(TimeSpan start, TimeSpan end, string text)>

The transcript segments as (start, end, text) tuples. Order is preserved in the output.

timeline IReadOnlyList<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 transcript or timeline is null.