Public Access
feat: add local Resemblyzer speaker recognition
PR and Push Build/Test / build-and-test (push) Successful in 12m37s
PR and Push Build/Test / build-and-test (push) Successful in 12m37s
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using MeetingAssistant.Speakers;
|
||||
|
||||
namespace MeetingAssistant.LaunchProfiles;
|
||||
|
||||
@@ -48,6 +49,7 @@ public sealed class ConfigurationLaunchProfileOptionsProvider : ILaunchProfileOp
|
||||
var options = BindDefaultOptions();
|
||||
if (profileName.Equals(DefaultProfileName, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
ValidateSpeakerSampleDurations(options, DefaultProfileName);
|
||||
return new LaunchProfile(DefaultProfileName, options);
|
||||
}
|
||||
|
||||
@@ -59,6 +61,7 @@ public sealed class ConfigurationLaunchProfileOptionsProvider : ILaunchProfileOp
|
||||
|
||||
profileSection.Bind(options);
|
||||
ApplyArrayOverrides(profileSection, options);
|
||||
ValidateSpeakerSampleDurations(options, profileName);
|
||||
return new LaunchProfile(profileName, options);
|
||||
}
|
||||
|
||||
@@ -149,6 +152,18 @@ public sealed class ConfigurationLaunchProfileOptionsProvider : ILaunchProfileOp
|
||||
: name.Trim();
|
||||
}
|
||||
|
||||
private static void ValidateSpeakerSampleDurations(
|
||||
MeetingAssistantOptions options,
|
||||
string profileName)
|
||||
{
|
||||
SpeakerSampleDurationConfiguration.ValidateOrThrow(
|
||||
options.SpeakerIdentification,
|
||||
$"Launch profile '{profileName}' has invalid speaker sample durations");
|
||||
ResemblyzerSpeakerRecognitionConfiguration.ValidateOrThrow(
|
||||
options.SpeakerIdentification.Resemblyzer,
|
||||
$"Launch profile '{profileName}' has invalid Resemblyzer speaker-recognition settings");
|
||||
}
|
||||
|
||||
private static void ApplyArrayOverrides(
|
||||
IConfigurationSection profileSection,
|
||||
MeetingAssistantOptions options)
|
||||
|
||||
Reference in New Issue
Block a user