快捷方式

HiFiGANVocoderBundle

class torchaudio.prototype.pipelines.HiFiGANVocoderBundle[原始碼]

一個數據類,捆綁了使用預訓練的 HiFiGANVocoder 所需的相關資訊。

此類提供了例項化預訓練模型的介面,以及檢索預訓練權重和模型所需附加資料的資訊。

Torchaudio 庫例項化此類物件,每個物件代表一個不同的預訓練模型。客戶端程式碼應透過這些例項訪問預訓練模型。

此捆綁包可以將梅爾頻譜圖轉換為波形,反之亦然。一個典型用例是文字 -> 梅爾頻譜圖 -> 波形的流程,其中可以使用外部元件(例如 Tacotron2)從文字生成梅爾頻譜圖。請參閱下面的程式碼示例。

示例:將合成梅爾頻譜圖轉換為音訊。
>>> import torch
>>> import torchaudio
>>> # Since HiFiGAN bundle is in prototypes, it needs to be exported explicitly
>>> from torchaudio.prototype.pipelines import HIFIGAN_VOCODER_V3_LJSPEECH as bundle
>>>
>>> # Load the HiFiGAN bundle
>>> vocoder = bundle.get_vocoder()
Downloading: "https://download.pytorch.org/torchaudio/models/hifigan_vocoder_v3_ljspeech.pth"
100%|████████████| 5.59M/5.59M [00:00<00:00, 18.7MB/s]
>>>
>>> # Generate synthetic mel spectrogram
>>> specgram = torch.sin(0.5 * torch.arange(start=0, end=100)).expand(bundle._vocoder_params["in_channels"], 100)
>>>
>>> # Transform mel spectrogram into audio
>>> waveform = vocoder(specgram)
>>> torchaudio.save('sample.wav', waveform, bundle.sample_rate)
示例:與 Tacotron2 一起使用,實現文字到音訊。
>>> import torch
>>> import torchaudio
>>> # Since HiFiGAN bundle is in prototypes, it needs to be exported explicitly
>>> from torchaudio.prototype.pipelines import HIFIGAN_VOCODER_V3_LJSPEECH as bundle_hifigan
>>>
>>> # Load Tacotron2 bundle
>>> bundle_tactron2 = torchaudio.pipelines.TACOTRON2_WAVERNN_CHAR_LJSPEECH
>>> processor = bundle_tactron2.get_text_processor()
>>> tacotron2 = bundle_tactron2.get_tacotron2()
>>>
>>> # Use Tacotron2 to convert text to mel spectrogram
>>> text = "A quick brown fox jumped over a lazy dog"
>>> input, lengths = processor(text)
>>> specgram, lengths, _ = tacotron2.infer(input, lengths)
>>>
>>> # Load HiFiGAN bundle
>>> vocoder = bundle_hifigan.get_vocoder()
Downloading: "https://download.pytorch.org/torchaudio/models/hifigan_vocoder_v3_ljspeech.pth"
100%|████████████| 5.59M/5.59M [00:03<00:00, 1.55MB/s]
>>>
>>> # Use HiFiGAN to convert mel spectrogram to audio
>>> waveform = vocoder(specgram).squeeze(0)
>>> torchaudio.save('sample.wav', waveform, bundle_hifigan.sample_rate)

屬性

sample_rate

property HiFiGANVocoderBundle.sample_rate

模型訓練時使用的音訊取樣率。

型別:

float

方法

get_mel_transform

HiFiGANVocoderBundle.get_mel_transform() Module[原始碼]

構造一個將波形轉換為梅爾頻譜圖的物件。

get_vocoder

HiFiGANVocoderBundle.get_vocoder(*, dl_kwargs=None) HiFiGANVocoder[原始碼]

構建 HiFiGAN 生成器模型,該模型可用作聲碼器,並載入預訓練權重。

權重檔案將從網際網路下載並使用 torch.hub.load_state_dict_from_url() 進行快取。

引數:

dl_kwargs (關鍵字引數字典) – 傳遞給 torch.hub.load_state_dict_from_url()

返回:

HiFiGANVocoder 的變體。

文件

訪問全面的 PyTorch 開發者文件

檢視文件

教程

獲取針對初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源