Files
meeting-assistant/MeetingAssistant/Recording/RecordingSpeechRecognitionPipelineOptions.cs

21 lines
890 B
C#

using MeetingAssistant.MeetingNotes;
using MeetingAssistant.Transcription;
namespace MeetingAssistant.Recording;
public static class RecordingSpeechRecognitionPipelineOptions
{
public static async Task<SpeechRecognitionPipelineOptions> BuildAsync(
IRecordingDictationWordProvider dictationWordProvider,
MeetingAssistantOptions runOptions,
MeetingNote? meetingNote,
CancellationToken cancellationToken)
{
var dictationWords = await dictationWordProvider.ReadOptionalWordsAsync(runOptions, cancellationToken);
var attendeeCount = meetingNote?.Frontmatter.Attendees.Count(attendee => !string.IsNullOrWhiteSpace(attendee)) ?? 0;
return attendeeCount > 1
? new SpeechRecognitionPipelineOptions(attendeeCount, dictationWords)
: new SpeechRecognitionPipelineOptions(DictationWords: dictationWords);
}
}