Public Access
Implement meeting assistant v1
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
namespace MeetingAssistant.Transcription;
|
||||
|
||||
public sealed class FunAsrSpeechRecognitionPipeline : StreamingSpeechRecognitionPipeline
|
||||
{
|
||||
private readonly IFunAsrBackendLifecycle backendLifecycle;
|
||||
private readonly FunAsrTranscriptFinalizer transcriptFinalizer;
|
||||
|
||||
public FunAsrSpeechRecognitionPipeline(
|
||||
FunAsrStreamingTranscriptionProvider transcriptionProvider,
|
||||
IFunAsrBackendLifecycle backendLifecycle,
|
||||
FunAsrTranscriptFinalizer transcriptFinalizer)
|
||||
: base(transcriptionProvider)
|
||||
{
|
||||
this.backendLifecycle = backendLifecycle;
|
||||
this.transcriptFinalizer = transcriptFinalizer;
|
||||
}
|
||||
|
||||
public override Task WaitUntilReadyAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
return backendLifecycle.EnsureStartedAsync(cancellationToken);
|
||||
}
|
||||
|
||||
protected override Task<IReadOnlyList<TranscriptionSegment>> BuildFinishedTranscriptAsync(
|
||||
string audioPath,
|
||||
IReadOnlyList<TranscriptionSegment> liveSegments,
|
||||
SpeechRecognitionPipelineOptions options,
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
return transcriptFinalizer.FinalizeAsync(audioPath, liveSegments, cancellationToken);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user