Flutter Config toJson/fromJson (#1893)
This commit is contained in:
committed by
GitHub
parent
808587accd
commit
70742b69ec
@@ -18,11 +18,35 @@ class OfflineTtsVitsModelConfig {
|
||||
this.dictDir = '',
|
||||
});
|
||||
|
||||
factory OfflineTtsVitsModelConfig.fromJson(Map<String, dynamic> json) {
|
||||
return OfflineTtsVitsModelConfig(
|
||||
model: json['model'] as String? ?? '',
|
||||
lexicon: json['lexicon'] as String? ?? '',
|
||||
tokens: json['tokens'] as String? ?? '',
|
||||
dataDir: json['dataDir'] as String? ?? '',
|
||||
noiseScale: (json['noiseScale'] as num?)?.toDouble() ?? 0.667,
|
||||
noiseScaleW: (json['noiseScaleW'] as num?)?.toDouble() ?? 0.8,
|
||||
lengthScale: (json['lengthScale'] as num?)?.toDouble() ?? 1.0,
|
||||
dictDir: json['dictDir'] as String? ?? '',
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'OfflineTtsVitsModelConfig(model: $model, lexicon: $lexicon, tokens: $tokens, dataDir: $dataDir, noiseScale: $noiseScale, noiseScaleW: $noiseScaleW, lengthScale: $lengthScale, dictDir: $dictDir)';
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
'model': model,
|
||||
'lexicon': lexicon,
|
||||
'tokens': tokens,
|
||||
'dataDir': dataDir,
|
||||
'noiseScale': noiseScale,
|
||||
'noiseScaleW': noiseScaleW,
|
||||
'lengthScale': lengthScale,
|
||||
'dictDir': dictDir,
|
||||
};
|
||||
|
||||
final String model;
|
||||
final String lexicon;
|
||||
final String tokens;
|
||||
@@ -45,11 +69,35 @@ class OfflineTtsMatchaModelConfig {
|
||||
this.dictDir = '',
|
||||
});
|
||||
|
||||
factory OfflineTtsMatchaModelConfig.fromJson(Map<String, dynamic> json) {
|
||||
return OfflineTtsMatchaModelConfig(
|
||||
acousticModel: json['acousticModel'] as String? ?? '',
|
||||
vocoder: json['vocoder'] as String? ?? '',
|
||||
lexicon: json['lexicon'] as String? ?? '',
|
||||
tokens: json['tokens'] as String? ?? '',
|
||||
dataDir: json['dataDir'] as String? ?? '',
|
||||
noiseScale: (json['noiseScale'] as num?)?.toDouble() ?? 0.667,
|
||||
lengthScale: (json['lengthScale'] as num?)?.toDouble() ?? 1.0,
|
||||
dictDir: json['dictDir'] as String? ?? '',
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'OfflineTtsMatchaModelConfig(acousticModel: $acousticModel, vocoder: $vocoder, lexicon: $lexicon, tokens: $tokens, dataDir: $dataDir, noiseScale: $noiseScale, lengthScale: $lengthScale, dictDir: $dictDir)';
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
'acousticModel': acousticModel,
|
||||
'vocoder': vocoder,
|
||||
'lexicon': lexicon,
|
||||
'tokens': tokens,
|
||||
'dataDir': dataDir,
|
||||
'noiseScale': noiseScale,
|
||||
'lengthScale': lengthScale,
|
||||
'dictDir': dictDir,
|
||||
};
|
||||
|
||||
final String acousticModel;
|
||||
final String vocoder;
|
||||
final String lexicon;
|
||||
@@ -71,11 +119,33 @@ class OfflineTtsKokoroModelConfig {
|
||||
this.lexicon = '',
|
||||
});
|
||||
|
||||
factory OfflineTtsKokoroModelConfig.fromJson(Map<String, dynamic> json) {
|
||||
return OfflineTtsKokoroModelConfig(
|
||||
model: json['model'] as String? ?? '',
|
||||
voices: json['voices'] as String? ?? '',
|
||||
tokens: json['tokens'] as String? ?? '',
|
||||
dataDir: json['dataDir'] as String? ?? '',
|
||||
lengthScale: (json['lengthScale'] as num?)?.toDouble() ?? 1.0,
|
||||
dictDir: json['dictDir'] as String? ?? '',
|
||||
lexicon: json['lexicon'] as String? ?? '',
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'OfflineTtsKokoroModelConfig(model: $model, voices: $voices, tokens: $tokens, dataDir: $dataDir, lengthScale: $lengthScale, dictDir: $dictDir, lexicon: $lexicon)';
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
'model': model,
|
||||
'voices': voices,
|
||||
'tokens': tokens,
|
||||
'dataDir': dataDir,
|
||||
'lengthScale': lengthScale,
|
||||
'dictDir': dictDir,
|
||||
'lexicon': lexicon,
|
||||
};
|
||||
|
||||
final String model;
|
||||
final String voices;
|
||||
final String tokens;
|
||||
@@ -95,11 +165,34 @@ class OfflineTtsModelConfig {
|
||||
this.provider = 'cpu',
|
||||
});
|
||||
|
||||
factory OfflineTtsModelConfig.fromJson(Map<String, dynamic> json) {
|
||||
return OfflineTtsModelConfig(
|
||||
vits: OfflineTtsVitsModelConfig.fromJson(
|
||||
json['vits'] as Map<String, dynamic>? ?? const {}),
|
||||
matcha: OfflineTtsMatchaModelConfig.fromJson(
|
||||
json['matcha'] as Map<String, dynamic>? ?? const {}),
|
||||
kokoro: OfflineTtsKokoroModelConfig.fromJson(
|
||||
json['kokoro'] as Map<String, dynamic>? ?? const {}),
|
||||
numThreads: json['numThreads'] as int? ?? 1,
|
||||
debug: json['debug'] as bool? ?? true,
|
||||
provider: json['provider'] as String? ?? 'cpu',
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'OfflineTtsModelConfig(vits: $vits, matcha: $matcha, kokoro: $kokoro, numThreads: $numThreads, debug: $debug, provider: $provider)';
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
'vits': vits.toJson(),
|
||||
'matcha': matcha.toJson(),
|
||||
'kokoro': kokoro.toJson(),
|
||||
'numThreads': numThreads,
|
||||
'debug': debug,
|
||||
'provider': provider,
|
||||
};
|
||||
|
||||
final OfflineTtsVitsModelConfig vits;
|
||||
final OfflineTtsMatchaModelConfig matcha;
|
||||
final OfflineTtsKokoroModelConfig kokoro;
|
||||
@@ -117,11 +210,30 @@ class OfflineTtsConfig {
|
||||
this.silenceScale = 0.2,
|
||||
});
|
||||
|
||||
factory OfflineTtsConfig.fromJson(Map<String, dynamic> json) {
|
||||
return OfflineTtsConfig(
|
||||
model:
|
||||
OfflineTtsModelConfig.fromJson(json['model'] as Map<String, dynamic>),
|
||||
ruleFsts: json['ruleFsts'] as String? ?? '',
|
||||
maxNumSenetences: json['maxNumSenetences'] as int? ?? 1,
|
||||
ruleFars: json['ruleFars'] as String? ?? '',
|
||||
silenceScale: (json['silenceScale'] as num?)?.toDouble() ?? 0.2,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'OfflineTtsConfig(model: $model, ruleFsts: $ruleFsts, maxNumSenetences: $maxNumSenetences, ruleFars: $ruleFars, silenceScale: $silenceScale)';
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
'model': model.toJson(),
|
||||
'ruleFsts': ruleFsts,
|
||||
'maxNumSenetences': maxNumSenetences,
|
||||
'ruleFars': ruleFars,
|
||||
'silenceScale': silenceScale,
|
||||
};
|
||||
|
||||
final OfflineTtsModelConfig model;
|
||||
final String ruleFsts;
|
||||
final int maxNumSenetences;
|
||||
|
||||
Reference in New Issue
Block a user