Transformers documentation

Higgs Audio V2 Tokenizer

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

이 모델은 2026-02-19에 Hugging Face Transformers에 기여되었습니다.

Higgs Audio V2 Tokenizer

개요

  • 낮은 프레임 레이트: 25 fps에서, 우리의 토크나이저는 높은 오디오 품질을 유지하면서 많은 베이스라인의 프레임 레이트를 절반으로 줄입니다.
  • 통합 24 kHz 학습: 음성, 음악, 사운드 이벤트 클립을 하나의 모델에 혼합하여 학습함으로써 의미론적 및 음향적 세부 사항을 모두 포착하며, 이를 통해 오디오 언어 모델의 학습을 크게 촉진합니다.
  • 빠른 추론: diffusion steps를 피함으로써, 우리의 encoder/decoder가 배치(batch)를 빠르게 처리하여 실시간 또는 대규모 작업에 실용적으로 사용할 수 있습니다.

모델 아키텍처:

사용

from datasets import Audio, load_dataset

from transformers import AutoFeatureExtractor, HiggsAudioV2TokenizerModel


# load model and feature extractor
model_id = "eustlb/higgs-audio-v2-tokenizer"
feature_extractor = AutoFeatureExtractor.from_pretrained(model_id)
model = HiggsAudioV2TokenizerModel.from_pretrained(model_id, device_map="auto")

# load audio sample
dummy_dataset = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
dummy_dataset = dummy_dataset.cast_column("audio", Audio(sampling_rate=feature_extractor.sampling_rate))
audio_sample = dummy_dataset[-1]["audio"]["array"]
inputs = feature_extractor(raw_audio=audio_sample, sampling_rate=feature_extractor.sampling_rate, return_tensors="pt").to(model.device)

# encode and decode
encoder_outputs = model.encode(inputs["input_values"])
decoder_outputs = model.decode(encoder_outputs.audio_codes)
audio_values = decoder_outputs.audio_values

# or the equivalent with a forward pass
audio_values = model(inputs["input_values"]).audio_values

HiggsAudioV2TokenizerConfig

class transformers.HiggsAudioV2TokenizerConfig

< >

( 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 = Nonetarget_bandwidths: list[int | float] | tuple[int | float, ...] = (0.5, 1, 1.5, 2, 4)sample_rate: int = 24000kernel_size: int = 3channel_ratios: list[int] | tuple[int, ...] = (1, 1)strides: list[int] | tuple[int, ...] = (1, 1)block_dilations: list[int] | tuple[int, ...] = (1, 1)unit_kernel_size: int = 3codebook_size: int = 1024codebook_dim: int = 64initializer_range: float = 0.02acoustic_model_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonesemantic_model_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonesemantic_sample_rate: int = 16000downsample_factor: int = 320 )

매개변수

  • target_bandwidths (List[float], 선택, 기본값 [0.5, 1, 1.5, 2]) — 모델이 오디오를 인코딩할 수 있는 다양한 대역폭(kbps) 범위입니다.
  • sample_rate (int, 선택 사항, 기본값 24000) — 오디오 파일을 디지털화할 때 사용할 샘플링 주파수입니다. 헤르츠(Hz) 단위로 표현됩니다.
  • kernel_size (int, 선택 사항, 기본값 3) — 초기 의미론적 합성곱에 사용할 커널 크기.
  • channel_ratios (List[float], 선택 사항, 기본값 [1, 1]) — 각 의미론적 블록의 출력 채널 수에 대한 확장 계수입니다.
  • strides (List[int], 선택 사항, 기본값 [1, 1]) — 각 semantic encoder 블록에 대한 stride 값입니다.
  • block_dilations (List[int], 선택 사항, 기본값 [1, 1]) — 시맨틱 블록 내 잔차 유닛의 dilation 계수입니다.
  • unit_kernel_size (int, 선택 사항, 기본값 3) — semantic 블록 내 각 ResidualUnit의 kernel size입니다.
  • codebook_size (int, 선택 사항, 기본값 1024) — 모델이 사용하는 병렬 코드북의 수입니다.
  • codebook_dim (int, 선택 사항, 기본값 64) — 각 codebook 임베딩 벡터의 차원입니다.
  • initializer_range (float, 선택 사항, 기본값 0.02) — 모든 가중치 행렬을 초기화하는 truncated_normal_initializer의 표준 편차입니다.
  • acoustic_model_config (Union[Dict, AutoConfig], 선택) — 음향(DAC) 모델의 구성 설정 인스턴스입니다.
  • semantic_model_config (Union[Dict, AutoConfig], 선택) — semantic (HuBERT) 모델의 설정 객체 인스턴스입니다.
  • semantic_sample_rate (int, 선택 사항, 기본값 16000) — 의미 모델이 오디오 입력을 기대하는 샘플링 레이트(헤르츠(Hz)).
  • downsample_factor (int, 선택 사항, 기본값 320) — 의미론적 특징에 대한 다운샘플링 계수.

이것은 HiggsAudioV2TokenizerModel의 설정을 저장하기 위한 설정 클래스입니다. 지정된 인자에 따라 Higgs Audio V2 Tokenizer 모델을 인스턴스화하고 모델 아키텍처를 정의하는 데 사용됩니다. 기본값으로 설정을 인스턴스화하면 bosonai/higgs-audio-v2-tokenizer와 유사한 설정이 생성됩니다.

Configuration 객체는 PreTrainedConfig를 상속하며 모델 출력을 제어하는 데 사용할 수 있습니다. 자세한 내용은 PreTrainedConfig의 문서를 참고하세요.

예:

>>> from transformers import HiggsAudioV2TokenizerModel, HiggsAudioV2TokenizerConfig

>>> # Initializing configuration
>>> configuration = HiggsAudioV2TokenizerConfig()

>>> # Initializing a model (with random weights) from the configuration
>>> model = HiggsAudioV2TokenizerModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config

HiggsAudioV2TokenizerModel

class transformers.HiggsAudioV2TokenizerModel

< >

( config: HiggsAudioV2TokenizerConfig )

매개변수

  • config (HiggsAudioV2TokenizerConfig) — 모델의 모든 매개변수를 포함하는 모델 구성 클래스입니다. 구성 파일로 초기화하는 것은 모델과 관련된 가중치를 로드하지 않으며, 구성 정보만 로드합니다. 모델 가중치를 로드하려면 from_pretrained() 메서드를 확인하세요.

HiggsAudioV2Tokenizer 신경 오디오 코덱 모델입니다.

이 모델은 PreTrainedModel에서 상속됩니다. 라이브러리가 모든 모델에 대해 구현하는 일반적 메서드(다운로드 또는 저장, 입력 임베딩 크기 조정, 헤드 프루닝 등)에 대한 세부 사항은 상위 클래스 문서를 확인하세요.

이 모델은 또한 PyTorch torch.nn.Module의 하위 클래스입니다. 일반적인 PyTorch Module처럼 사용하며, 일반적인 사용법 및 동작과 관련된 모든 사항은 PyTorch 문서를 참조하세요.

decode

< >

( audio_codes: Tensorreturn_dict: bool | None = None )

매개변수

  • audio_codes (torch.LongTensor, shape (batch_size, num_quantizers, codes_length)) — model.encode를 사용하여 계산된 이산 코드 인덱스.
  • return_dict (bool, 선택 사항) — ModelOutput를 반환할지 여부

encode

< >

( input_values: Tensorbandwidth: float | None = Nonereturn_dict: bool | None = None )

매개변수

  • input_values (torch.Tensor, shape (batch_size, channels, num_samples)) — 입력 오디오 웨이브폼의 부동소수점 값.
  • bandwidth (float, 선택 사항) — (kbps) 단위의 목표 대역폭입니다. config.target_bandwidths에 포함된 값만 지원합니다. 기본값은 사용 가능한 최고 대역폭인 4.0 kbps입니다.
  • return_dict (bool, 선택) — ModelOutput를 반환할지 여부.

forward

< >

( input_values: Tensoraudio_codes: typing.Optional[torch.Tensor] = Nonebandwidth: float | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → HiggsAudioV2TokenizerOutput or tuple (audio_codes, audio_values)

매개변수

  • input_values (torch.Tensor, shape (batch_size, channels, num_samples)) — 입력 오디오 웨이브폼의 원시 float 값입니다.
  • audio_codes (torch.LongTensor, shape (batch_size, num_quantizers, codes_length) — model.encode를 사용하여 계산된 이산 코드 인덱스.
  • bandwidth (float, 선택 사항) — kbps 단위의 목표 대역폭입니다. config.target_bandwidths 중 하나여야 합니다. 기본값은 사용 가능한 가장 높은 대역폭입니다.
  • bandwidth (float, 선택 사항) — kbps 단위의 목표 대역폭입니다. config.target_bandwidths 중 하나여야 합니다. 기본값은 사용 가능한 가장 높은 대역폭입니다.

반환값

HiggsAudioV2TokenizerOutput 또는 (audio_codes, audio_values) 튜플

  • audio_codes: (batch_size, num_quantizers, codes_length) 모양의 양자화된 이산 코드.
  • audio_values의 shape이 (batch_size, channels, num_samples)인 재구성된 오디오 웨이브폼입니다.

HiggsAudioV2TokenizerModel의 forward 메서드는 __call__ 특수 메서드를 오버라이드합니다.

이 함수 내에서 forward pass의 레시피를 정의해야 하지만, 이후에는 이 함수 대신 Module 인스턴스를 호출해야 합니다. 전자는 전처리 및 후처리 단계를 실행하는 것을 처리하는 반면, 후자는 이를 조용히 무시하기 때문입니다.

예:

>>> from datasets import load_dataset
>>> from transformers import AutoFeatureExtractor, HiggsAudioV2TokenizerModel

>>> model_id = "hf-audio/higgs_audio_v2_tokenizer-hubert-librispeech"
>>> model = HiggsAudioV2TokenizerModel.from_pretrained(model_id)
>>> feature_extractor = AutoFeatureExtractor.from_pretrained(model_id)

>>> dataset = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> dataset = dataset.cast_column("audio", Audio(sampling_rate=feature_extractor.sampling_rate))
>>> audio_sample = dataset[0]['audio']['array']

>>> inputs = feature_extractor(raw_audio=audio_sample, return_tensors="pt")

>>> outputs = model(**inputs)
>>> audio_codes = outputs.audio_codes
>>> audio_values = outputs.audio_values
Update on GitHub