nx_denoise / toolbox /torchaudio /models /dtln /configuration_dtln.py
HoneyTian's picture
add microphone audio input
8c3c188
#!/usr/bin/python3
# -*- coding: utf-8 -*-
from toolbox.torchaudio.configuration_utils import PretrainedConfig
class DTLNConfig(PretrainedConfig):
def __init__(self,
sample_rate: int = 8000,
fft_size: int = 200,
hop_size: int = 80,
win_type: str = "hann",
encoder_size: int = 256,
min_snr_db: float = -10,
max_snr_db: float = 20,
lr: float = 0.001,
lr_scheduler: str = "CosineAnnealingLR",
lr_scheduler_kwargs: dict = None,
max_epochs: int = 100,
clip_grad_norm: float = 10.,
seed: int = 1234,
num_workers: int = 4,
batch_size: int = 4,
eval_steps: int = 25000,
**kwargs
):
super(DTLNConfig, self).__init__(**kwargs)
# transform
self.sample_rate = sample_rate
self.fft_size = fft_size
self.hop_size = hop_size
self.win_type = win_type
# model params
self.encoder_size = encoder_size
# data snr
self.min_snr_db = min_snr_db
self.max_snr_db = max_snr_db
# train
self.lr = lr
self.lr_scheduler = lr_scheduler
self.lr_scheduler_kwargs = lr_scheduler_kwargs or dict()
self.max_epochs = max_epochs
self.clip_grad_norm = clip_grad_norm
self.seed = seed
self.num_workers = num_workers
self.batch_size = batch_size
self.eval_steps = eval_steps
def main():
config = DTLNConfig()
config.to_yaml_file("config.yaml")
return
if __name__ == "__main__":
main()