namespace MeetingAssistant.Transcription; public sealed class WhisperLocalSpeechRecognitionPipeline : StreamingSpeechRecognitionPipeline { private readonly PyannoteTranscriptFinalizer transcriptFinalizer; public WhisperLocalSpeechRecognitionPipeline( WhisperLocalStreamingTranscriptionProvider transcriptionProvider, PyannoteTranscriptFinalizer transcriptFinalizer) : base(transcriptionProvider) { this.transcriptFinalizer = transcriptFinalizer; } protected override Task> BuildFinishedTranscriptAsync( string audioPath, IReadOnlyList liveSegments, SpeechRecognitionPipelineOptions options, CancellationToken cancellationToken) { return transcriptFinalizer.FinalizeAsync(audioPath, liveSegments, options, cancellationToken); } }