import os import torch import unittest import numpy as np import soundfile as sf from librosa.core import load from TTS.tests import get_tests_path, get_tests_input_path, get_tests_output_path from TTS.utils.audio import AudioProcessor from TTS.utils.io import load_config from TTS.vocoder.layers.pqmf import PQMF from TTS.vocoder.layers.pqmf2 import PQMF as PQMF2 TESTS_PATH = get_tests_path() WAV_FILE = os.path.join(get_tests_input_path(), "example_1.wav") def test_pqmf(): w, sr = load(WAV_FILE) layer = PQMF(N=4, taps=62, cutoff=0.15, beta=9.0) w, sr = load(WAV_FILE) w2 = torch.from_numpy(w[None, None, :]) b2 = layer.analysis(w2) w2_ = layer.synthesis(b2) print(w2_.max()) print(w2_.min()) print(w2_.mean()) sf.write('pqmf_output.wav', w2_.flatten().detach(), sr)