Transformers documentation
Higgs Audio V2 分词器
该模型于 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_valuesHiggsAudioV2TokenizerConfig
class transformers.HiggsAudioV2TokenizerConfig
< 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 = 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.configHiggsAudioV2TokenizerModel
class transformers.HiggsAudioV2TokenizerModel
< source >( config: HiggsAudioV2TokenizerConfig )
参数
- config (HiggsAudioV2TokenizerConfig) — 模型的配置类,包含模型的所有参数。使用配置文件进行初始化时,不会加载与模型关联的权重,仅加载配置。请查看 from_pretrained() 方法以加载模型权重。
HiggsAudioV2Tokenizer 神经音频编解码器模型。
该模型继承自 PreTrainedModel。请查阅父类文档,了解该库为所有模型实现的通用方法(例如下载或保存、调整输入嵌入大小、剪枝头等)。
该模型也是 PyTorch torch.nn.Module 的子类。 请将其作为常规的 PyTorch Module 使用,有关通用用法和行为的所有事项,请参阅 PyTorch 文档。
decode
< source >( audio_codes: Tensorreturn_dict: bool | None = None )
参数
- audio_codes(形状为
(batch_size, num_quantizers, codes_length)的torch.LongTensor)— 使用model.encode计算得出的离散编码索引。 - return_dict (
bool, 可选) — 是否返回 ModelOutput
encode
< source >( 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.0kbps。 - return_dict (
bool, 可选) — 是否返回 ModelOutput。
forward
< source >( 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