示例#1
0
def wav2mel(wav, hparams=None):
    # mel = Audio2Mel().cuda()(src)
    # return mel
    hparams = hparams or melgan_hparams
    wav = np.pad(wav.flatten(), (_pad_len, _pad_len), mode="reflect")
    mel = mel_spectrogram(wav, hparams)
    mel = mel / 20
    return mel
示例#2
0
def audio2mel_mellotron(src):
    """
    用aukit模块重现生成mel,和mellotron的频谱适应。
    :param src:
    :return:
    """
    wavs = src.cpu().numpy()
    mels = []
    for wav in wavs:
        wav = wav.flatten()[:-1]  # 避免生成多一个空帧频谱
        mel = mel_spectrogram(wav, default_hparams)
        mels.append(mel)
    mels = torch.from_numpy(np.array(mels).astype(np.float32))
    return mels
示例#3
0
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")
        mel = mel_spectrogram(wav, synthesizer_hparams)
        mel = mel / 20
        mels.append(mel)
    mels = torch.from_numpy(np.array(mels).astype(np.float32))
    return mels
示例#4
0
文件: train.py 项目: zpg1995/zhrtvc
def audio2mel(src):
    # print("wav", src.shape)
    # mel = Audio2Mel().cuda()(src)
    # print("mel", mel.cpu().shape)
    # return mel

    # wavs = F.pad(src, (p, p), "reflect")
    wavs = src.cpu().numpy()

    mels = []
    for wav in wavs:
        wav = np.pad(wav.flatten(), (_pad_len, _pad_len), mode="reflect")
        mel = mel_spectrogram(wav, default_hparams)
        mels.append(mel)
    mels = torch.from_numpy(np.array(mels).astype(np.float32))
    return mels
示例#5
0
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)
示例#6
0
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