Transformers documentation

Higgs Audio V2 分词器

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 分词器

概述

  • 低帧率:在 25 fps 下,我们的分词器在保持高音频质量的同时,将帧率降低到许多基线方法的一半。
  • 统一的 24 kHz 训练:我们将语音、音乐和声音事件片段混合在一个模型中进行训练,同时捕捉语义和声学细节,极大地促进了音频语言模型的训练。
  • 快速推理:通过避免扩散步骤,我们的编码器/解码器能够快速处理批次,使其适用于实时或大规模任务。

模型架构:

用法

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]) — 每个语义编码器块的步长。
  • block_dilations (List[int],可选,默认为 [1, 1]) — 语义块中残差单元的膨胀因子。
  • unit_kernel_size (int,可选,默认为 3) — 语义块中每个 ResidualUnit 的卷积核大小。
  • codebook_size (int,可选,默认为 1024) — 模型使用的并行码本数量。
  • codebook_dim (int,可选,默认为 64) — 每个码本嵌入向量的维度。
  • initializer_range (float,可选,默认为 0.02) — 用于初始化所有权重矩阵的 truncated_normal_initializer 的标准差。
  • acoustic_model_config (Union[Dict, AutoConfig], 可选) — 声学(DAC)模型的配置实例。
  • semantic_model_config (Union[Dict, AutoConfig], 可选) — 语义(HuBERT)模型的配置对象实例。
  • semantic_sample_rate (int,可选,默认为 16000) — 语义模型期望的音频输入采样率,单位为赫兹(Hz)。
  • downsample_factor (int,可选,默认为 320) — 语义特征的降采样因子。

这是用于存储 HiggsAudioV2TokenizerModel 配置的类。它根据指定的参数实例化 Higgs Audio V2 Tokenizer 模型,并定义模型架构。使用默认值实例化配置将得到与 bosonai/higgs-audio-v2-tokenizer 类似的配置。

配置对象继承自 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(形状为 (batch_size, num_quantizers, codes_length) 的 torch.LongTensor)— 使用 model.encode 计算得出的离散编码索引。
  • return_dict (bool, 可选) — 是否返回 ModelOutput

encode

< >

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

参数

  • input_values(形状为 (batch_size, channels, num_samples) 的 torch.Tensor)— 输入音频波形的浮点值。
  • 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(形状为 (batch_size, channels, num_samples) 的 torch.Tensor)— 输入音频波形的原始浮点值。
  • audio_codes (torch.LongTensor,形状为 (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)

  • 形状为 (batch_size, num_quantizers, codes_length) 的 audio_codes:量化后的离散编码。
  • 形状为 (batch_size, channels, num_samples) 的 audio_values:根据编码重建的音频波形。

HiggsAudioV2TokenizerModel 的 forward 方法重写了 __call__ 特殊方法。

尽管前向传播的实现需要在此函数中定义,但之后应调用 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