Flutter Config toJson/fromJson (#1893)
This commit is contained in:
committed by
GitHub
parent
808587accd
commit
70742b69ec
@@ -14,11 +14,33 @@ class SileroVadModelConfig {
|
||||
this.windowSize = 512,
|
||||
this.maxSpeechDuration = 5.0});
|
||||
|
||||
factory SileroVadModelConfig.fromJson(Map<String, dynamic> json) {
|
||||
return SileroVadModelConfig(
|
||||
model: json['model'] as String? ?? '',
|
||||
threshold: (json['threshold'] as num?)?.toDouble() ?? 0.5,
|
||||
minSilenceDuration:
|
||||
(json['minSilenceDuration'] as num?)?.toDouble() ?? 0.5,
|
||||
minSpeechDuration:
|
||||
(json['minSpeechDuration'] as num?)?.toDouble() ?? 0.25,
|
||||
windowSize: json['windowSize'] as int? ?? 512,
|
||||
maxSpeechDuration: (json['maxSpeechDuration'] as num?)?.toDouble() ?? 5.0,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'SileroVadModelConfig(model: $model, threshold: $threshold, minSilenceDuration: $minSilenceDuration, minSpeechDuration: $minSpeechDuration, windowSize: $windowSize, maxSpeechDuration: $maxSpeechDuration)';
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
'model': model,
|
||||
'threshold': threshold,
|
||||
'minSilenceDuration': minSilenceDuration,
|
||||
'minSpeechDuration': minSpeechDuration,
|
||||
'windowSize': windowSize,
|
||||
'maxSpeechDuration': maxSpeechDuration,
|
||||
};
|
||||
|
||||
final String model;
|
||||
final double threshold;
|
||||
final double minSilenceDuration;
|
||||
@@ -28,23 +50,43 @@ class SileroVadModelConfig {
|
||||
}
|
||||
|
||||
class VadModelConfig {
|
||||
VadModelConfig(
|
||||
{this.sileroVad = const SileroVadModelConfig(),
|
||||
this.sampleRate = 16000,
|
||||
this.numThreads = 1,
|
||||
this.provider = 'cpu',
|
||||
this.debug = true});
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'VadModelConfig(sileroVad: $sileroVad, sampleRate: $sampleRate, numThreads: $numThreads, provider: $provider, debug: $debug)';
|
||||
}
|
||||
VadModelConfig({
|
||||
this.sileroVad = const SileroVadModelConfig(),
|
||||
this.sampleRate = 16000,
|
||||
this.numThreads = 1,
|
||||
this.provider = 'cpu',
|
||||
this.debug = true,
|
||||
});
|
||||
|
||||
final SileroVadModelConfig sileroVad;
|
||||
final int sampleRate;
|
||||
final int numThreads;
|
||||
final String provider;
|
||||
final bool debug;
|
||||
|
||||
factory VadModelConfig.fromJson(Map<String, dynamic> json) {
|
||||
return VadModelConfig(
|
||||
sileroVad: SileroVadModelConfig.fromJson(
|
||||
json['sileroVad'] as Map<String, dynamic>? ?? const {}),
|
||||
sampleRate: json['sampleRate'] as int? ?? 16000,
|
||||
numThreads: json['numThreads'] as int? ?? 1,
|
||||
provider: json['provider'] as String? ?? 'cpu',
|
||||
debug: json['debug'] as bool? ?? true,
|
||||
);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
'sileroVad': sileroVad.toJson(),
|
||||
'sampleRate': sampleRate,
|
||||
'numThreads': numThreads,
|
||||
'provider': provider,
|
||||
'debug': debug,
|
||||
};
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'VadModelConfig(sileroVad: $sileroVad, sampleRate: $sampleRate, numThreads: $numThreads, provider: $provider, debug: $debug)';
|
||||
}
|
||||
}
|
||||
|
||||
class SpeechSegment {
|
||||
|
||||
Reference in New Issue
Block a user