80 lines
2.5 KiB
Java
80 lines
2.5 KiB
Java
package com.k2fsa.sherpa.onnx;
|
|
|
|
public class OfflineSpeakerDiarizationConfig {
|
|
private final OfflineSpeakerSegmentationModelConfig segmentation;
|
|
private final SpeakerEmbeddingExtractorConfig embedding;
|
|
private final FastClusteringConfig clustering;
|
|
private final float minDurationOn;
|
|
private final float minDurationOff;
|
|
|
|
private OfflineSpeakerDiarizationConfig(Builder builder) {
|
|
this.segmentation = builder.segmentation;
|
|
this.embedding = builder.embedding;
|
|
this.clustering = builder.clustering;
|
|
this.minDurationOff = builder.minDurationOff;
|
|
this.minDurationOn = builder.minDurationOn;
|
|
}
|
|
|
|
public static Builder builder() {
|
|
return new Builder();
|
|
}
|
|
|
|
public OfflineSpeakerSegmentationModelConfig getSegmentation() {
|
|
return segmentation;
|
|
}
|
|
|
|
public SpeakerEmbeddingExtractorConfig getEmbedding() {
|
|
return embedding;
|
|
}
|
|
|
|
public FastClusteringConfig getClustering() {
|
|
return clustering;
|
|
}
|
|
|
|
public float getMinDurationOff() {
|
|
return minDurationOff;
|
|
}
|
|
|
|
public float getMinDurationOn() {
|
|
return minDurationOn;
|
|
}
|
|
|
|
public static class Builder {
|
|
private OfflineSpeakerSegmentationModelConfig segmentation = OfflineSpeakerSegmentationModelConfig.builder().build();
|
|
private SpeakerEmbeddingExtractorConfig embedding = SpeakerEmbeddingExtractorConfig.builder().build();
|
|
private FastClusteringConfig clustering = FastClusteringConfig.builder().build();
|
|
private float minDurationOn = 0.2f;
|
|
private float minDurationOff = 0.5f;
|
|
|
|
public OfflineSpeakerDiarizationConfig build() {
|
|
return new OfflineSpeakerDiarizationConfig(this);
|
|
}
|
|
|
|
public Builder setSegmentation(OfflineSpeakerSegmentationModelConfig segmentation) {
|
|
this.segmentation = segmentation;
|
|
return this;
|
|
}
|
|
|
|
public Builder setEmbedding(SpeakerEmbeddingExtractorConfig embedding) {
|
|
this.embedding = embedding;
|
|
return this;
|
|
}
|
|
|
|
public Builder setClustering(FastClusteringConfig clustering) {
|
|
this.clustering = clustering;
|
|
return this;
|
|
}
|
|
|
|
public Builder setMinDurationOff(float minDurationOff) {
|
|
this.minDurationOff = minDurationOff;
|
|
return this;
|
|
}
|
|
|
|
public Builder setMinDurationOn(float minDurationOn) {
|
|
this.minDurationOn = minDurationOn;
|
|
return this;
|
|
}
|
|
}
|
|
|
|
}
|