ModelConfig.fromJson constructor
Implementation
factory ModelConfig.fromJson(Map<String, Object?> json) {
final plbert = json['plbert'] as Map<String, Object?>;
final quantRoot =
(json['quantization'] ?? json['quantization_config'])
as Map<String, Object?>;
return ModelConfig(
hiddenDim: (json['hidden_dim'] as num).toInt(),
maxConvDim: (json['max_conv_dim'] as num).toInt(),
maxDur: (json['max_dur'] as num).toInt(),
nLayer: (json['n_layer'] as num).toInt(),
nMels: (json['n_mels'] as num).toInt(),
nToken: (json['n_token'] as num).toInt(),
styleDim: (json['style_dim'] as num).toInt(),
textEncoderKernelSize: (json['text_encoder_kernel_size'] as num).toInt(),
asrResDim: (json['asr_res_dim'] as num).toInt(),
plbert: AlbertModelArgs.fromJson(
plbert,
vocabSize: (json['n_token'] as num).toInt(),
),
istftnet: Map<String, Object?>.from(
json['istftnet'] as Map<String, Object?>,
),
quantization: KittenQuantConfig.fromJson(quantRoot),
sampleRate: (json['sample_rate'] as num? ?? 24000).toInt(),
decoderOutDim: (json['decoder_out_dim'] as num?)?.toInt(),
voicesPath: json['voices_path'] as String? ?? 'voices.npz',
speedPriors: _readDoubleMap(json['speed_priors']),
voiceAliases: _readStringMap(json['voice_aliases']),
modelPath: json['model_path'] as String?,
activationQuantModules:
(json['activation_quant_modules'] as List<Object?>? ??
const <Object?>[])
.whereType<String>()
.toList(growable: false),
);
}