# @package __global__
defaults:
  - watermark/default
  - /augmentations/suno_seal_augs
  - /model: watermark/default
  - _self_

sample_rate: 48000
channels: 1

balancer:
  balance_grads: true
  ema_decay: 0.999
  per_batch_item: true
  total_norm: 1.

# data hyperparameters
dataset:
  batch_size: 32
  num_workers: 16
  segment_duration: 1
  train:
    num_samples: 320000
  valid:
    num_samples: 10000
  evaluate:
    batch_size: 32
    num_samples: 10000
    segment_duration: 10

  generate:
    batch_size: 32
    num_samples: 32
    segment_duration: 30

losses:
  adv: 4.0
  feat: 4.0
  l1: 0.1
  mel: 0.0
  msspec: -1 # 2.0
  sisnr: -1 # 0.0
  wm_detection: 1.0
  wm_mb: 1.0
  tf_loudnessratio: -1 # 10.0

evaluate:
  every: 20
  num_workers: 5
  metrics:
    visqol: false
    sisnr: true
generate:
  every: 20
  num_workers: 5
  audio:
    sample_rate: ${sample_rate}

  # optimization hyperparameters
optim:
  epochs: 300
  updates_per_epoch: 2000
  lr: 1e-4
  max_norm: 3.0
  optimizer: adam
  adam:
    betas: [0.5, 0.9]
    weight_decay: 0.
  ema:
    use: false # true # whether to use EMA or not
    updates: 1 # update at every step
    device: ${device} # device for EMA, can be put on GPU if more frequent updates
    decay: null # 0.99 # EMA decay value, if null, no EMA is used

logging:
  level: INFO
  log_updates: 10
  log_tensorboard: false
  log_wandb: true
tensorboard:
  with_media_logging: false
  name:  # optional name for the experiment
  sub_dir:  # optional sub directory to store tensorboard data
wandb:
  with_media_logging: true
  project: suno_seal
  name: watermark_48kHz_v0
  group:  # optional group