# task
base_config: ../config_base.yaml
task_cls: ''
#############
# dataset
#############
raw_data_dir: ''
processed_data_dir: ''
binary_data_dir: ''
dict_dir: ''
pre_align_cls: ''
binarizer_cls: data_gen.tts.base_binarizer.BaseBinarizer
mfa_version: 2
pre_align_args:
  nsample_per_mfa_group: 1000
  txt_processor: en
  use_tone: true # for ZH
  sox_resample: false
  sox_to_wav: false
  allow_no_txt: false
  trim_sil: false
  denoise: false
binarization_args:
  shuffle: false
  with_txt: true
  with_wav: false
  with_align: true
  with_spk_embed: true
  with_spk_id: true
  with_f0: true
  with_f0cwt: false
  with_linear: false
  with_word: true
  trim_eos_bos: false
  reset_phone_dict: true
  reset_word_dict: true
word_size: 30000
pitch_extractor: parselmouth

loud_norm: false
endless_ds: true

test_num: 100
min_frames: 0
max_frames: 1548
frames_multiple: 1
max_input_tokens: 1550
audio_num_mel_bins: 80
audio_sample_rate: 22050
hop_size: 256  # For 22050Hz, 275 ~= 12.5 ms (0.0125 * sample_rate)
win_size: 1024  # For 22050Hz, 1100 ~= 50 ms (If None, win_size: fft_size) (0.05 * sample_rate)
fmin: 80  # Set this to 55 if your speaker is male! if female, 95 should help taking off noise. (To test depending on dataset. Pitch info: male~[65, 260], female~[100, 525])
fmax: 7600  # To be increased/reduced depending on data.
fft_size: 1024  # Extra window size is filled with 0 paddings to match this parameter
min_level_db: -100
ref_level_db: 20
griffin_lim_iters: 60
num_spk: 1
mel_vmin: -6
mel_vmax: 1.5
ds_workers: 1

#########
# model
#########
dropout: 0.1
enc_layers: 4
dec_layers: 4
hidden_size: 256
num_heads: 2
enc_ffn_kernel_size: 9
dec_ffn_kernel_size: 9
ffn_act: gelu
ffn_padding: 'SAME'
use_spk_id: false
use_split_spk_id: false
use_spk_embed: false
mel_loss: l1


###########
# optimization
###########
lr: 2.0
scheduler: rsqrt # rsqrt|none
warmup_updates: 8000
optimizer_adam_beta1: 0.9
optimizer_adam_beta2: 0.98
weight_decay: 0
clip_grad_norm: 1
clip_grad_value: 0


###########
# train and eval
###########
use_word_input: false
max_tokens: 30000
max_sentences: 100000
max_valid_sentences: 1
max_valid_tokens: 60000
valid_infer_interval: 10000
train_set_name: 'train'
train_sets: ''
valid_set_name: 'valid'
test_set_name: 'test'
num_test_samples: 0
num_valid_plots: 10
test_ids: [ ]
vocoder: pwg
vocoder_ckpt: ''
vocoder_denoise_c: 0.0
profile_infer: false
out_wav_norm: false
save_gt: true
save_f0: false
gen_dir_name: ''