Public Access
21 lines
890 B
C#
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);
|
|
}
|
|
}
|