def compare_hparams(): from aukit.audio_griffinlim import default_hparams as gfhp from aukit.audio_spectrogram import default_hparams as sphp a = set(gfhp.items()) - set(sphp.items()) b = set(sphp.items()) - set(gfhp.items()) print(a) print(b)
"n_fft": 1024, # 800 "hop_size": 256, # 200 "win_size": 1024, # 800 "sample_rate": _sr, # 16000 "fmin": 0, # 55 "fmax": _sr // 2, # 7600 "preemphasize": False, # True 'symmetric_mels': True, # True 'signal_normalization': False, # True 'allow_clipping_in_normalization': False, # True 'ref_level_db': 0, # 20 '__file__': __file__ } melgan_hparams = {} melgan_hparams.update({k: v for k, v in default_hparams.items()}) melgan_hparams.update(my_hp) melgan_hparams = Dict2Obj(melgan_hparams) _pad_len = (default_hparams.n_fft - default_hparams.hop_size) // 2 def melspectrogram(wav, hparams=None): wav = np.pad(wav.flatten(), (_pad_len, _pad_len), mode="reflect") mel = mel_spectrogram(wav, melgan_hparams) mel = mel / 20 return mel def inv_melspectrogram(mel, hparams=None): mel = mel * 20
"n_fft": 1024, # 800 "hop_size": 256, # 200 "win_size": 1024, # 800 "sample_rate": _sr, # 16000 "fmin": 0, # 55 "fmax": _sr // 2, # 7600 "preemphasize": False, # True 'symmetric_mels': True, # True 'signal_normalization': False, # True 'allow_clipping_in_normalization': False, # True 'ref_level_db': 0, # 20 'center': False, # True '__file__': __file__ } synthesizer_hparams = {k: v for k, v in default_hparams.items()} synthesizer_hparams = {**synthesizer_hparams, **my_hp} synthesizer_hparams = Dict2Obj(synthesizer_hparams) def audio2mel_synthesizer(src): """ 用aukit模块重现生成mel,和synthesizer的频谱适应。 :param src: :return: """ _pad_len = (synthesizer_hparams.n_fft - synthesizer_hparams.hop_size) // 2 wavs = src.cpu().numpy() mels = [] for wav in wavs: wav = np.pad(wav.flatten(), (_pad_len, _pad_len), mode="reflect")
from aukit.audio_griffinlim import default_hparams, mel_spectrogram from hparams import hparams my_hp = { "n_fft": 1024, "hop_size": 256, "win_size": 1024, "sample_rate": 22050, "max_abs_value": 4.0, "fmin": 0, "fmax": 8000, "preemphasize": True, 'symmetric_mels': True, } default_hparams.update(hparams.values()) # default_hparams.update(my_hp) a = {(k, v) for k, v in hparams.values().items() if type(v) in {str, int, float, tuple, bool, type(None)}} b = {(k, v) for k, v in default_hparams.items() if type(v) in {str, int, float, tuple, bool, type(None)}} print(a - b) print(b - a) _pad_len = (default_hparams.n_fft - default_hparams.hop_size) // 2 def wavs2mels(indir: Path, outdir: Path): for fpath in tqdm(indir.glob("*.wav")): wav = aukit.load_wav(fpath, sr=16000) wav = np.pad(wav.flatten(), (_pad_len, _pad_len), mode="reflect") mel = mel_spectrogram(wav, default_hparams) np.save(outdir.joinpath(fpath.stem + ".npy"), mel, allow_pickle=False) def get_train_files(indir: Path):