Public Access
Add meeting assistant speech and summary automation
This commit is contained in:
@@ -14,6 +14,8 @@ public sealed class MeetingAssistantOptions
|
||||
|
||||
public FunAsrOptions FunAsr { get; set; } = new();
|
||||
|
||||
public SpeakerIdentificationOptions SpeakerIdentification { get; set; } = new();
|
||||
|
||||
public AgentOptions Agent { get; set; } = new();
|
||||
|
||||
public ApiOptions Api { get; set; } = new();
|
||||
@@ -26,22 +28,24 @@ public sealed class HotkeyOptions
|
||||
|
||||
public sealed class VaultOptions
|
||||
{
|
||||
public string TranscriptsFolder { get; set; } = @"%USERPROFILE%\OpenCloud\Persönlich\Vault\Meetings\Transcripts";
|
||||
public string BaseFolder { get; set; } = @"%USERPROFILE%\OpenCloud\Persönlich\Vault\Exxeta";
|
||||
|
||||
public string MeetingNotesFolder { get; set; } = @"%USERPROFILE%\OpenCloud\Persönlich\Vault\Meetings\Notes";
|
||||
public string TranscriptsFolder { get; set; } = @"Meetings\Transcripts";
|
||||
|
||||
public string AssistantContextFolder { get; set; } = @"%USERPROFILE%\OpenCloud\Persönlich\Vault\Meetings\Assistant Context";
|
||||
public string MeetingNotesFolder { get; set; } = @"Meetings\Notes";
|
||||
|
||||
public string SummariesFolder { get; set; } = @"%USERPROFILE%\OpenCloud\Persönlich\Vault\Meetings\Summaries";
|
||||
public string AssistantContextFolder { get; set; } = @"Meetings\Assistant Context";
|
||||
|
||||
public string ProjectsFolder { get; set; } = @"%USERPROFILE%\OpenCloud\Persönlich\Vault\Projects";
|
||||
public string SummariesFolder { get; set; } = @"Meetings\Summaries";
|
||||
|
||||
public string DictationWordsPath { get; set; } = @"%USERPROFILE%\OpenCloud\Persönlich\Vault\Meetings\dictation-words.md";
|
||||
public string ProjectsFolder { get; set; } = @"Projects";
|
||||
|
||||
public string DictationWordsPath { get; set; } = @"Meetings\dictation-words.md";
|
||||
}
|
||||
|
||||
public sealed class RecordingOptions
|
||||
{
|
||||
public string TranscriptionProvider { get; set; } = "funasr";
|
||||
public string TranscriptionProvider { get; set; } = "azure-speech";
|
||||
|
||||
public int SampleRate { get; set; } = 16000;
|
||||
|
||||
@@ -49,6 +53,12 @@ public sealed class RecordingOptions
|
||||
|
||||
public TimeSpan StopProcessingTimeout { get; set; } = TimeSpan.FromMinutes(10);
|
||||
|
||||
public TimeSpan MetadataLookupTimeout { get; set; } = TimeSpan.FromSeconds(10);
|
||||
|
||||
public TimeSpan BackgroundMetadataLookupTimeout { get; set; } = TimeSpan.FromMinutes(1);
|
||||
|
||||
public TimeSpan OpenMeetingNoteDelay { get; set; } = TimeSpan.FromSeconds(1);
|
||||
|
||||
public string TemporaryRecordingsFolder { get; set; } = @"%LOCALAPPDATA%\MeetingAssistant\Recordings";
|
||||
}
|
||||
|
||||
@@ -92,11 +102,15 @@ public sealed class PyannoteDiarizationOptions
|
||||
|
||||
public sealed class AzureSpeechOptions
|
||||
{
|
||||
public string Endpoint { get; set; } = "https://germanywestcentral.api.cognitive.microsoft.com/";
|
||||
public string Endpoint { get; set; } = "";
|
||||
|
||||
public string Region { get; set; } = "germanywestcentral";
|
||||
|
||||
public string Language { get; set; } = "en-US";
|
||||
public string Language { get; set; } = "auto";
|
||||
|
||||
public string[] AutoDetectLanguages { get; set; } = ["de-DE", "en-US"];
|
||||
|
||||
public string LanguageIdMode { get; set; } = "Continuous";
|
||||
|
||||
public string? Key { get; set; }
|
||||
|
||||
@@ -105,6 +119,8 @@ public sealed class AzureSpeechOptions
|
||||
public TimeSpan RecognitionStopTimeout { get; set; } = TimeSpan.FromSeconds(10);
|
||||
|
||||
public bool DiarizeIntermediateResults { get; set; } = true;
|
||||
|
||||
public double PhraseListWeight { get; set; } = 1.5;
|
||||
}
|
||||
|
||||
public enum PyannoteAnnotationSource
|
||||
@@ -192,6 +208,33 @@ public sealed class FunAsrDiarizationOptions
|
||||
public TimeSpan CommandTimeout { get; set; } = TimeSpan.FromMinutes(30);
|
||||
}
|
||||
|
||||
public sealed class SpeakerIdentificationOptions
|
||||
{
|
||||
public bool Enabled { get; set; } = true;
|
||||
|
||||
public string DatabasePath { get; set; } = @"%LOCALAPPDATA%\MeetingAssistant\SpeakerIdentity\speaker-identities.db";
|
||||
|
||||
public TimeSpan InitialDelay { get; set; } = TimeSpan.FromMinutes(2);
|
||||
|
||||
public TimeSpan Interval { get; set; } = TimeSpan.FromMinutes(2);
|
||||
|
||||
public int MatchBatchSize { get; set; } = 6;
|
||||
|
||||
public int MaxMatchCandidates { get; set; } = 100;
|
||||
|
||||
public TimeSpan MatchIdentityActiveAge { get; set; } = TimeSpan.FromDays(365);
|
||||
|
||||
public int MaxSnippetsPerSpeaker { get; set; } = 3;
|
||||
|
||||
public double SilenceBetweenSnippetsSeconds { get; set; } = 1;
|
||||
|
||||
public TimeSpan LiveSampleBufferDuration { get; set; } = TimeSpan.FromMinutes(10);
|
||||
|
||||
public TimeSpan MergeRecentIdentityAge { get; set; } = TimeSpan.FromDays(14);
|
||||
|
||||
public AzureSpeechOptions AzureSpeech { get; set; } = new();
|
||||
}
|
||||
|
||||
public sealed class AgentOptions
|
||||
{
|
||||
public string Endpoint { get; set; } = "https://litellm.schweigert.cloud";
|
||||
@@ -219,6 +262,8 @@ public sealed class AgentOptions
|
||||
public double CompactionRemainingRatio { get; set; } = 0.10;
|
||||
|
||||
public string ResponsesCompactPath { get; set; } = "responses/compact";
|
||||
|
||||
public string? InitialPrompt { get; set; }
|
||||
}
|
||||
|
||||
public sealed class ApiOptions
|
||||
|
||||
Reference in New Issue
Block a user