Transformers documentation
UnivNet
이 모델은 2021-06-15에 HF papers에 게시되었으며, 2023-11-22에 Hugging Face Transformers에 기여되었습니다.
UnivNet
개요
UnivNet 모델은 Won Jang, Dan Lim, Jaesam Yoon, Bongwan Kin, Juntae Kim이 UnivNet: A Neural Vocoder with Multi-Resolution Spectrogram Discriminators for High-Fidelity Waveform Generation에서 제안했습니다.
UnivNet 모델은 고해상도 음성 웨이브폼을 합성하도록 학습된 생성 적대 신경망(GAN)입니다. transformers에서 공유되는 UnivNet 모델은 generator로, 조건부 log-mel spectrogram과 선택적 noise sequence를 음성 웨이브폼(예: vocoder)으로 매핑합니다. 추론에는 generator만 필요합니다. generator를 학습하는 데 사용된 discriminator는 구현되어 있지 않습니다.
해당 논문의 초록은 다음과 같습니다:
대부분의 신경 보코더는 대역 제한 멜 스펙트로그램을 사용하여 웨이브폼을 생성합니다. 전체 대역 스펙트럼 특징을 입력으로 사용하면 보코더에 가능한 한 많은 음향 정보를 제공할 수 있습니다. 그러나 일부 전체 대역 멜 스펙트로그램을 사용하는 모델에서는 비선명한 스펙트로그램이 생성되는 과잉 스무딩(over-smoothing) 문제가 발생합니다. 이 문제를 해결하기 위해, 실시간으로 고충실도 웨이브폼을 합성하는 신경 보코더인 UnivNet을 제안합니다. 음성 활동 탐지 분야의 연구에서 영감을 받아, 다양한 매개변수 세트로 계산된 여러 선형 스펙트로그램 크기를 사용하는 다중 해상도 스펙트로그램 판별기를 추가했습니다. 전체 대역 멜 스펙트로그램을 입력으로 사용하여, 여러 해상도의 스펙트로그램을 입력으로 사용하는 판별기를 추가함으로써 고해상도 신호를 생성할 것으로 기대합니다. 수백 명의 화자에 대한 정보를 포함하는 데이터셋에 대한 평가에서, UnivNet은 확인된 화자와 확인되지 않은 화자 모두에서 경쟁 모델 중 가장 우수한 객관적 및 주관적 결과를 얻었습니다. 텍스트-음성 변환(TTS)에 대한 최고의 주관적 점수를 포함한 이러한 결과는 처음부터 훈련할 필요 없이 새로운 화자에 빠르게 적응할 수 있는 가능성을 보여줍니다.
팁:
noise_sequence인수는 UnivNetModel.forward()에 대해([batch_size], noise_length, model.config.model_in_channels)형태의 표준 가우시안 노이즈(예:torch.randn에서 생성된 노이즈)여야 하며, 여기서noise_length는input_features인수의 길이 차원(1차원)과 일치해야 합니다. 이 인수를 제공하지 않으면 무작위로 생성되며,generator인수에torch.Generator를 전달하여 forward pass를 재현할 수 있습니다. (UnivNetFeatureExtractor는 기본적으로 생성된 노이즈를 반환하므로noise_sequence를 수동으로 생성할 필요가 없습니다.)- UnivNetFeatureExtractor가 추가한 Padding은 아래 사용 예시와 같이
UnivNetFeatureExtractor.batch_decode()메서드를 통해 UnivNetModel 출력에서 제거할 수 있습니다. - 각 웨이브폼의 끝을 무음으로 패딩하면 생성된 오디오 샘플의 끝부분에서 발생하는 아티팩트를 줄일 수 있습니다. UnivNetFeatureExtractor.call()에
pad_end = True를 전달하여 이를 수행할 수 있습니다. 자세한 내용은 이 이슈를 참고하세요.
사용 예시:
import torch
from datasets import Audio, load_dataset
from scipy.io.wavfile import write
from transformers import UnivNetFeatureExtractor, UnivNetModel
model_id_or_path = "dg845/univnet-dev"
model = UnivNetModel.from_pretrained(model_id_or_path, device_map="auto")
feature_extractor = UnivNetFeatureExtractor.from_pretrained(model_id_or_path)
ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
# Resample the audio to the model and feature extractor's sampling rate.
ds = ds.cast_column("audio", Audio(sampling_rate=feature_extractor.sampling_rate))
# Pad the end of the converted waveforms to reduce artifacts at the end of the output audio samples.
inputs = feature_extractor(
ds[0]["audio"]["array"], sampling_rate=ds[0]["audio"]["sampling_rate"], pad_end=True, return_tensors="pt"
)
with torch.no_grad():
audio = model(**inputs)
# Remove the extra padding at the end of the output.
audio = feature_extractor.batch_decode(**audio)[0]
# Convert to wav file
write("sample_audio.wav", feature_extractor.sampling_rate, audio)이 모델은 dg845에 의해 기여되었습니다. 제 지식을 바탕으로, 공식 코드 릴리스는 없으며, 비공식 구현은 maum-ai/univnet에서, 사전 학습된 체크포인트는 여기에서 찾을 수 있습니다.
UnivNetConfig
클래스 transformers.UnivNetConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonemodel_in_channels: int = 64model_hidden_channels: int = 32num_mel_bins: int = 100resblock_kernel_sizes: list[int] | tuple[int, ...] = (3, 3, 3)resblock_stride_sizes: list[int] | tuple[int, ...] = (8, 8, 4)resblock_dilation_sizes: list | tuple = ((1, 3, 9, 27), (1, 3, 9, 27), (1, 3, 9, 27))kernel_predictor_num_blocks: int = 3kernel_predictor_hidden_channels: int = 64kernel_predictor_conv_size: int = 3kernel_predictor_dropout: float | int = 0.0initializer_range: float = 0.01leaky_relu_slope: float = 0.2 )
매개변수
- model_in_channels (
int, 선택 사항, 기본값 64) — UnivNet 잔차 네트워크의 입력 채널 수입니다. 이 값은noise_sequence.shape[1]과 UnivNetFeatureExtractor 클래스에서 사용된 값과 일치해야 합니다. - model_hidden_channels (
int, 선택 사항, 기본값 32) — UnivNet 잔차 네트워크의 각 잔차 블록의 숨겨진 채널 수입니다. - num_mel_bins (
int, 선택 사항, 기본값 100) — 조건부 log-mel 스펙트로그램의 주파수 빈(bin) 수입니다. 이 값은 UnivNetFeatureExtractor 클래스에서 사용된 값과 일치해야 합니다. - resblock_kernel_sizes (
tuple[int]또는list[int], 선택 사항, 기본값[3, 3, 3]) — UnivNet 잔차 네트워크의 1D 합성곱 레이어 커널 크기를 정의하는 정수 튜플입니다.resblock_kernel_sizes의 길이는 resnet 블록의 수를 정의하며,resblock_stride_sizes와resblock_dilation_sizes의 길이와 일치해야 합니다. - resblock_stride_sizes (
tuple[int]또는list[int], 선택 사항, 기본값[8, 8, 4]) — UnivNet 잔차 네트워크의 1D 합성곱 레이어 스트라이드 크기를 정의하는 정수 튜플입니다.resblock_stride_sizes의 길이는resblock_kernel_sizes및resblock_dilation_sizes의 길이와 일치해야 합니다. - resblock_dilation_sizes (
tuple[tuple[int]]또는list[list[int]], 선택 사항, 기본값[[1, 3, 9, 27], [1, 3, 9, 27], [1, 3, 9, 27]]) — UnivNet 잔차 네트워크의 확장 1D 합성곱 계층의 확장 비율(dilation rate)을 정의하는 정수의 중첩 튜플입니다.resblock_dilation_sizes의 길이는resblock_kernel_sizes와resblock_stride_sizes의 길이와 일치해야 합니다.resblock_dilation_sizes의 각 중첩 리스트 길이는 resnet 블록당 합성곱 계층의 수를 정의합니다. - kernel_predictor_num_blocks (
int, 선택 사항, 기본값 3) — UnivNet 잔차 네트워크의 각 위치 변수 컨볼루션 레이어에 대한 커널과 바이어스를 계산하는 커널 예측기 네트워크의 잔차 블록 수입니다. - kernel_predictor_hidden_channels (
int, 선택 사항, 기본값 64) — kernel predictor 네트워크의 각 residual block에 대한 hidden channel 수입니다. - kernel_predictor_conv_size (
int, 선택 사항, 기본값 3) — kernel predictor 네트워크의 각 1D convolutional layer의 kernel size입니다. - kernel_predictor_dropout (
float, 선택 사항, 기본값 0.0) — kernel predictor 네트워크의 각 residual block에 적용할 dropout 확률입니다. - initializer_range (
float, 선택 사항, 기본값0.01) — 모든 가중치 행렬을 초기화하는 truncated_normal_initializer의 표준 편차입니다. - leaky_relu_slope (
float, 선택 사항, 기본값 0.2) — leaky ReLU 활성화 함수에서 사용되는 음의 기울기의 각도입니다.
이것은 UnivNetModel의 구성을 저장하기 위한 구성 클래스입니다. 지정된 인자에 따라 Univnet 모델을 인스턴스화하여 모델 아키텍처를 정의하는 데 사용됩니다. 기본값으로 구성을 인스턴스화하면 dg845/univnet-dev와 유사한 구성이 생성됩니다.
Configuration 객체는 PreTrainedConfig를 상속하며 모델 출력을 제어하는 데 사용할 수 있습니다. 자세한 내용은 PreTrainedConfig의 문서를 참고하세요.
예:
>>> from transformers import UnivNetModel, UnivNetConfig
>>> # Initializing a Tortoise TTS style configuration
>>> configuration = UnivNetConfig()
>>> # Initializing a model (with random weights) from the Tortoise TTS style configuration
>>> model = UnivNetModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configUnivNetFeatureExtractor
클래스 transformers.UnivNetFeatureExtractor
< source >( feature_size: int = 1sampling_rate: int = 24000padding_value: float = 0.0do_normalize: bool = Falsenum_mel_bins: int = 100hop_length: int = 256win_length: int = 1024win_function: str = 'hann_window'filter_length: int | None = 1024max_length_s: int = 10fmin: float = 0.0fmax: float | None = Nonemel_floor: float = 1e-09center: bool = Falsecompression_factor: float = 1.0compression_clip_val: float = 1e-05normalize_min: float = -11.512925148010254normalize_max: float = 2.3143386840820312model_in_channels: int = 64pad_end_length: int = 10return_attention_mask = True**kwargs )
매개변수
- feature_size (
int, 선택 사항, 기본값 1) — 추출된 특징의 차원입니다. - sampling_rate (
int, 선택 사항, 기본값 24000) — 오디오 파일을 디지털화할 때 사용할 샘플링 레이트를 헤르츠(Hz) 단위로 나타낸 값입니다. - padding_value (
float, 선택 사항, 기본값 0.0) —padding인수로 정의된 패딩 전략을 UnivNetFeatureExtractor.call()에 적용할 때 사용할 패딩 값입니다. 오디오의 무음에 해당해야 합니다.__call__의pad_end인수도 이 패딩 값을 사용합니다. - do_normalize (
bool, 선택 사항, 기본값False) — 입력에 Tacotron 2 정규화를 수행할지 여부입니다. 정규화를 적용하면 일부 모델의 성능을 크게 향상시킬 수 있습니다. - num_mel_bins (
int, 선택 사항, 기본값 100) — 추출된 스펙트로그램 특징의 mel 주파수 빈 수입니다. 이 값은UnivNetModel.config.num_mel_bins와 일치해야 합니다. - hop_length (
int, 선택 사항, 기본값 256) — 슬라이딩 윈도우 사이의 직접적인 샘플 수입니다. 많은 논문에서는 이를 “shift”라고도 부릅니다. SpeechT5FeatureExtractor와 같은 다른 오디오 피처 추출기는hop_length를 ms 단위로 받기 때문에, 이 점에 유의하세요. - win_length (
int, 선택 사항, 기본값 1024) — 각 슬라이딩 윈도우에 대한 직접적인 샘플 수입니다. SpeechT5FeatureExtractor와 같은 다른 오디오 특징 추출기는win_length를 ms 단위로 받기 때문에 이 점에 유의하세요. - win_function (
str, 선택 사항, 기본값"hann_window") — 윈도화에 사용되는 윈도우 함수의 이름으로,torch.{win_function}를 통해 접근 가능해야 합니다. - filter_length (
int, 선택 사항, 기본값 1024) — 사용할 FFT 성분의 수입니다.None인 경우transformers.audio_utils.optimal_fft_length를 사용하여 결정됩니다. - max_length_s (
int, 선택, 기본값 10) — 모델의 최대 입력 길이(초 단위)입니다. 오디오 패딩에 사용됩니다. - fmin (
float, 선택 사항, 기본값 0.0) — Hz 단위 최소 멜 주파수입니다. - fmax (
float, 선택 사항) — Hz 단위 최대 멜 주파수입니다. 설정하지 않으면 기본값은sampling_rate / 2입니다. - mel_floor (
float, 선택 사항, 기본값 1e-09) — mel 주파수 뱅크의 최소값입니다. UnivNetFeatureExtractor가mel_floor를 사용하는 방식은 transformers.audio_utils.spectrogram()과 다릅니다. - center (
bool, 선택 사항, 기본값False) — 프레임t가 시간t * hop_length중심으로 위치하도록 웨이브폼에 패딩을 적용할지 여부입니다.False인 경우, 프레임t는 시간t * hop_length에서 시작됩니다. - compression_factor (
float, 선택 사항, 기본값 1.0) — 스펙트럼 정규화 과정에서 동적 범위 압축에 사용되는 곱셈 압축 계수입니다. - compression_clip_val (
float, 선택 사항, 기본값 1e-05) — 스펙트럼 정규화 과정에서 동적 범위 압축을 적용하기 전에 웨이브폼에 적용되는 클립 값입니다. - normalize_min (
float, 선택 사항, 기본값 -11.512925148010254) — Tacotron 2 스타일 선형 정규화에 사용되는 최소값입니다. 기본값은 Tacotron 2 구현의 원래 값입니다. - normalize_max (
float, 선택 사항, 기본값 2.3143386840820312) — Tacotron 2 스타일 선형 정규화에 사용되는 최대값입니다. 기본값은 Tacotron 2 구현의 원래 값입니다. - model_in_channels (
int, 선택 사항, 기본값 64) — UnivNetModel 모델의 입력 채널 수입니다. 이 값은UnivNetModel.config.model_in_channels와 일치해야 합니다. - pad_end_length (
int, 선택 사항, 기본값 10) — 각 웨이브폼의 끝을 패딩할 경우, 추가할 스펙트로그램 프레임 수에 해당하는 샘플 수입니다. 추가되는 샘플 수는pad_end_length * hop_length입니다. - return_attention_mask (
bool, 선택, 기본값True) — call()에서attention_mask를 반환할지 여부.
UnivNet feature extractor를 생성합니다.
이 클래스는 짧은 시간 푸리에 변환(STFT)을 사용하여 원시 음성에서 log-mel-filter bank 특징을 추출합니다. STFT 구현은 TacoTron 2와 Hifi-GAN의 구현을 따릅니다.
이 feature extractor는 SequenceFeatureExtractor를 상속하며, 이 클래스에는 대부분의 주요 메서드가 포함되어 있습니다. 해당 메서드에 대한 자세한 내용은 이 상위 클래스를 참고하세요.
__call__
< source >( raw_speech: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]]sampling_rate: int | None = Nonepadding: bool | str | transformers.utils.generic.PaddingStrategy = Truemax_length: int | None = Nonetruncation: bool = Truepad_to_multiple_of: int | None = Nonereturn_noise: bool = Truegenerator: numpy.random._generator.Generator | None = Nonepad_end: bool = Falsepad_length: int | None = Nonedo_normalize: str | None = Nonereturn_attention_mask: bool | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = None )
매개변수
- raw_speech (
np.ndarray,list[float],list[np.ndarray],list[list[float]]) — 패딩할 시퀀스 또는 시퀀스 배치입니다. 각 시퀀스는 numpy 배열, float 값의 리스트, numpy 배열의 리스트, 또는 float 값의 리스트의 리스트일 수 있습니다. 스테레오가 아닌 모노 채널 오디오여야 하며, 즉 각 타임스텝당 float 값이 하나만 있어야 합니다. - sampling_rate (
int, 선택 사항) —raw_speech입력이 샘플링된 샘플링 레이트입니다. 조용한 오류를 방지하고 자동 음성 인식 파이프라인을 사용할 수 있도록, forward 호출 시sampling_rate를 전달하는 것을 강력히 권장합니다. - padding (
bool,str또는 PaddingStrategy, 선택 사항, 기본값은True) — 입력raw_speech파형에 패딩을 적용할 전략을 다음 중 선택합니다(모델의 패딩 방향 및 패딩 인덱스에 따라):True또는'longest': 배치 내 가장 긴 시퀀스 길이에 맞게 패딩을 수행합니다(단일 시퀀스만 제공된 경우 패딩을 하지 않음).'max_length':max_length인수로 지정된 최대 길이로 패딩하거나, 해당 인수가 제공되지 않으면 모델이 허용하는 최대 입력 길이로 패딩합니다.False또는'do_not_pad'(기본값): 패딩을 하지 않습니다(즉, 서로 다른 길이의 시퀀스로 구성된 배치로 출력할 수 있습니다).
pad_end = True인 경우, 해당 패딩은padding전략이 적용되기 전에 수행됩니다. - max_length (
int, 선택 사항) — 반환되는 목록의 최대 길이 및 선택적으로 패딩 길이(위 참조). - truncation (
bool, 선택 사항, 기본값True) —max_length보다 긴 입력 시퀀스를max_length로 잘라내는 truncation을 활성화합니다. - pad_to_multiple_of (
int, 선택 사항) — 설정하면 시퀀스를 제공된 값의 배수로 패딩합니다.이 기능은 NVIDIA 하드웨어에서 Tensor Cores 사용을 활성화하는 데 특히 유용하며, 이는 compute capability가
>= 7.5(Volta)인 하드웨어나, 시퀀스 길이가 128의 배수일 때 성능 향상을 얻는 TPU에서 해당됩니다. - return_noise (
bool, 선택 사항, 기본값True) — UnivNetModel.forward()에서 사용할 노이즈 웨이브폼을 생성하고 반환할지 여부. - generator (
numpy.random.Generator, 선택 사항, 기본값None) — 노이즈 생성 시 사용할 선택 가능한numpy.random.Generator난수 생성기입니다. - pad_end (
bool, 선택 사항, 기본값False) — 각 웨이브폼의 끝을 무음으로 패딩할지 여부입니다. 생성된 오디오 샘플 끝부분의 아티팩트를 줄이는 데 도움이 될 수 있으며, 자세한 내용은 https://github.com/seungwonpark/melgan/issues/8를 참고하세요. 이 패딩은padding에 지정된 패딩 전략이 수행되기 전에 적용됩니다. - pad_length (
int, 선택 사항, 기본값None) — 각 웨이브폼의 끝을 패딩할 경우, 스펙트로그램 프레임 단위 패딩 길이입니다. 설정하지 않으면self.config.pad_end_length가 기본값으로 사용됩니다. - do_normalize (
bool, 선택 사항) — 입력에 Tacotron 2 정규화를 수행할지 여부입니다. 정규화를 적용하면 일부 모델의 성능을 크게 향상시킬 수 있습니다. 설정하지 않으면self.config.do_normalize값이 기본값으로 사용됩니다. - return_attention_mask (
bool, 선택 사항) — attention mask를 반환할지 여부입니다. 기본값을 그대로 두면 해당 feature_extractor의 기본 설정에 따라 attention mask를 반환합니다. - return_tensors (
str또는 TensorType, 선택 사항) — 설정된 경우, Python 정수 목록 대신 텐서를 반환합니다. 허용되는 값은 다음과 같습니다:'pt': PyTorchtorch.np.array객체를 반환합니다.'np': Numpynp.ndarray객체를 반환합니다.
하나 이상의 시퀀스를 특징화(featurize)하고 모델에 맞게 준비하는 주요 메서드입니다.
UnivNetModel
클래스 transformers.UnivNetModel
< source >( config: UnivNetConfig )
매개변수
- config (UnivNetConfig) — 모델의 모든 매개변수를 포함하는 모델 구성 클래스입니다. 구성 파일로 초기화하는 것은 모델과 관련된 가중치를 로드하지 않으며, 구성 정보만 로드합니다. 모델 가중치를 로드하려면 from_pretrained() 메서드를 확인하세요.
특정 헤드가 위에 없는 Univnet Model로, 원시 hidden-states를 출력합니다.
이 모델은 PreTrainedModel에서 상속됩니다. 라이브러리가 모든 모델에 대해 구현하는 일반적 메서드(다운로드 또는 저장, 입력 임베딩 크기 조정, 헤드 프루닝 등)에 대한 세부 사항은 상위 클래스 문서를 확인하세요.
이 모델은 또한 PyTorch torch.nn.Module의 하위 클래스입니다. 일반적인 PyTorch Module처럼 사용하며, 일반적인 사용법 및 동작과 관련된 모든 사항은 PyTorch 문서를 참조하세요.
forward
< source >( input_features: Tensornoise_sequence: typing.Optional[torch.Tensor] = Nonepadding_mask: typing.Optional[torch.Tensor] = Nonegenerator: typing.Optional[torch.Generator] = Nonereturn_dict: bool | None = None**kwargs ) → UnivNetModelOutput or tuple(torch.Tensor)
매개변수
- input_features (
torch.Tensor, shape(batch_size, sequence_length, feature_dim)) — 입력 오디오 특징에 해당하는 텐서입니다. 오디오 특징은 UnivNetFeatureExtractor를 사용하여 얻을 수 있습니다. 자세한 내용은 UnivNetFeatureExtractor.call()를 참조하세요 (processor_class는 오디오 처리에 UnivNetFeatureExtractor를 사용합니다). - noise_sequence (
torch.Tensor, 선택 사항) — 표준 가우시안 노이즈의 노이즈 시퀀스를 포함하는 Tensor입니다. 배치된 형태로(batch_size, sequence_length, config.model_in_channels)형태이거나, 배치되지 않은 형태로 (sequence_length, config.model_in_channels) 형태일 수 있습니다. 제공되지 않으면 무작위로 생성됩니다. - padding_mask (
torch.BoolTensor, 선택 사항) — 각 시퀀스에서 패딩된 부분을 나타내는 마스크입니다. 마스크 값은[0, 1]:- 1은 마스크되지 않은 토큰에 대해
- 마스크된 토큰에 대해 0
마스크는
(batch_size, sequence_length)모양으로 배치(batch) 처리되거나,(sequence_length,)모양으로 배치 처리되지 않은 상태로 사용할 수 있습니다. - generator (
torch.Generator, 선택 사항) — 생성을 결정적으로 만들기 위한 torch generator. return_dict: 일반 튜플 대신 ModelOutput 하위 클래스를 반환할지 여부. - return_dict (
bool, 선택) — 일반 튜플 대신 ModelOutput를 반환할지 여부.
반환값
UnivNetModelOutput 또는 tuple(torch.Tensor)
UnivNetModelOutput 또는 torch.Tensor의 튜플(return_dict=False가 전달되었거나 config.return_dict=False인 경우)로, 구성(UnivNetConfig)과 입력에 따라 다양한 요소를 포함합니다.
UnivNetModel의 forward 메서드는 __call__ 특수 메서드를 오버라이드합니다.
이 함수 내에서 forward pass의 레시피를 정의해야 하지만, 이후에는 이 함수 대신
Module인스턴스를 호출해야 합니다. 전자는 전처리 및 후처리 단계를 실행하는 것을 처리하는 반면, 후자는 이를 조용히 무시하기 때문입니다.
- waveforms (
torch.Tensor, shape(batch_size, sequence_length)) — 배치된 1차원(모노 채널) 출력 오디오 웨이브폼. - waveform_lengths (
torch.Tensor, shape(batch_size,)) —waveforms의 패딩되지 않은 각 웨이브폼의 샘플 단위 배치 길이입니다.
예:
>>> from transformers import UnivNetFeatureExtractor, UnivNetModel
>>> from datasets import load_dataset, Audio
>>> model = UnivNetModel.from_pretrained("dg845/univnet-dev")
>>> feature_extractor = UnivNetFeatureExtractor.from_pretrained("dg845/univnet-dev")
>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> # Resample the audio to the feature extractor's sampling rate.
>>> ds = ds.cast_column("audio", Audio(sampling_rate=feature_extractor.sampling_rate))
>>> inputs = feature_extractor(
... ds[0]["audio"]["array"], sampling_rate=ds[0]["audio"]["sampling_rate"], return_tensors="pt"
... )
>>> audio = model(**inputs).waveforms
>>> list(audio.shape)
[1, 140288]