Public Access
Implement meeting assistant v1
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
using MeetingAssistant.Recording;
|
||||
|
||||
namespace MeetingAssistant.Transcription;
|
||||
|
||||
public interface ISpeechRecognitionPipeline : IAsyncDisposable
|
||||
{
|
||||
Task InitializeAsync(CancellationToken cancellationToken);
|
||||
|
||||
Task WaitUntilReadyAsync(CancellationToken cancellationToken);
|
||||
|
||||
ValueTask WriteAsync(AudioChunk chunk, CancellationToken cancellationToken);
|
||||
|
||||
Task CompleteAsync(CancellationToken cancellationToken);
|
||||
|
||||
IAsyncEnumerable<TranscriptionSegment> ReadLiveTranscriptAsync(CancellationToken cancellationToken);
|
||||
|
||||
Task<IReadOnlyList<TranscriptionSegment>> ReadFinishedTranscriptAsync(
|
||||
string audioPath,
|
||||
SpeechRecognitionPipelineOptions options,
|
||||
CancellationToken cancellationToken);
|
||||
}
|
||||
|
||||
public interface ISpeechRecognitionPipelineFactory
|
||||
{
|
||||
ISpeechRecognitionPipeline Create();
|
||||
}
|
||||
|
||||
public sealed record SpeechRecognitionPipelineOptions(int? NumSpeakers = null)
|
||||
{
|
||||
public static SpeechRecognitionPipelineOptions Default { get; } = new();
|
||||
}
|
||||
Reference in New Issue
Block a user