/ Модель

Характеристики

Лицензия
MIT
Архитектура
xcodec · dense
Базовая модель
hubert_base_general_audio
Библиотека
transformers
Опубликована
18 авг 2025

xcodec-hubert-general

ЭмбеддингиТекст → embedding3 профессии

Дообученная модель X-Codec на базе HuBERT для извлечения признаков общего аудио и работы с кодированием на разных битрейтах.

11 303скачиваний за 30 дней0лайковвеса обновлены8 окт 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Эмбеддинги» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

hf-audio/xcodec-hubert-general — модель семейства X-Codec для извлечения признаков из общего аудио. Карточка относит её к кодекам X-Codec и показывает применение на нескольких полосах пропускания от 0,5 до 4 кбит/с. Модель основана на дообученной ZhenYe234/hubert_base_general_audio и использует архитектуру XcodecModel; веса опубликованы в формате safetensors для Transformers.

Модель предназначена для извлечения аудиопризнаков и кодирования аудио в сценариях, где важны разные уровни битрейта. В README приведены примеры аудиосэмплов на нескольких битрейтах, но подробности о входном формате, языках, длине контекста и качестве не сообщаются. Репозиторий распространяется по лицензии MIT.

Сценарии применения

  • извлечение признаков из общего аудио
  • кодирование аудиосигнала на низком битрейте
  • сравнение аудиокодирования при разных битрейтах

Ограничения

Карточка не приводит измерений качества, требований к входному аудио или языкового охвата; примеры описывают работу на разных битрейтах, но сами по себе не подтверждают качество для конкретных задач.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

X-Codec (general audio)

This codec is part of the X-Codec family of codecs as shown below:

Model checkpointSemantic ModelDomainTraining Data
xcodec-hubert-librispeechfacebook/hubert-base-ls960SpeechLibrispeech
xcodec-wavlm-mlsmicrosoft/wavlm-base-plusSpeechMLS English
xcodec-wavlm-more-datamicrosoft/wavlm-base-plusSpeechMLS English + Internal data
xcodec-hubert-general (this model)ZhenYe234/hubert_base_general_audioGeneral audio200k hours internal data
xcodec-hubert-general-balancedZhenYe234/hubert_base_general_audioGeneral audioMore balanced data

Original model is xcodec_hubert_general_audio from this table.

Example usage

The example below applies the codec over all possible bandwidths.


from datasets import Audio, load_dataset
from transformers import XcodecModel, AutoFeatureExtractor
import torch
import os
from scipy.io.wavfile import write as write_wav


model_id = "hf-audio/xcodec-hubert-general"
torch_device = "cuda" if torch.cuda.is_available() else "cpu"
available_bandwidths = [0.5, 1, 1.5, 2, 4]

# load model
model = XcodecModel.from_pretrained(model_id, device_map=torch_device)
feature_extractor = AutoFeatureExtractor.from_pretrained(model_id)

# load audio example
librispeech_dummy = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
librispeech_dummy = librispeech_dummy.cast_column(
    "audio", Audio(sampling_rate=feature_extractor.sampling_rate)
)
audio_array = librispeech_dummy[0]["audio"]["array"]
inputs = feature_extractor(
    raw_audio=audio_array, sampling_rate=feature_extractor.sampling_rate, return_tensors="pt"
).to(model.device)
audio = inputs["input_values"]

for bandwidth in available_bandwidths:
    print(f"Encoding with bandwidth: {bandwidth} kbps")
    # encode
    audio_codes = model.encode(audio, bandwidth=bandwidth, return_dict=False)
    print("Codebook shape", audio_codes.shape)
    # 0.5 kbps -> torch.Size([1, 1, 293])
    # 1.0 kbps -> torch.Size([1, 2, 293])
    # 1.5 kbps -> torch.Size([1, 3, 293])
    # 2.0 kbps -> torch.Size([1, 4, 293])
    # 4.0 kbps -> torch.Size([1, 8, 293])

    # decode
    input_values_dec = model.decode(audio_codes).audio_values

    # save audio to file
    write_wav(f"{os.path.basename(model_id)}_{bandwidth}.wav", feature_extractor.sampling_rate, input_values_dec.squeeze().detach().cpu().numpy())

write_wav("original.wav", feature_extractor.sampling_rate, audio.squeeze().detach().cpu().numpy())

🔊 Audio Samples

Original

0.5 kbps

1 kbps

1.5 kbps

2 kbps

4 kbps

Batch example


from datasets import Audio, load_dataset
from transformers import XcodecModel, AutoFeatureExtractor
import torch


model_id = "hf-audio/xcodec-hubert-general"
torch_device = "cuda" if torch.cuda.is_available() else "cpu"
bandwidth = 4
n_audio = 2  # number of audio samples to process in a batch

# load model
model = XcodecModel.from_pretrained(model_id, device_map=torch_device)
feature_extractor = AutoFeatureExtractor.from_pretrained(model_id)

# load audio example
ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
ds = ds.cast_column(
    "audio", Audio(sampling_rate=feature_extractor.sampling_rate)
)
audio = [audio_sample["array"] for audio_sample in ds[-n_audio:]["audio"]]
print(f"Input audio shape: {[_sample.shape for _sample in audio]}")
# Input audio shape: [(113840,), (71680,)]
inputs = feature_extractor(
    raw_audio=audio, sampling_rate=feature_extractor.sampling_rate, return_tensors="pt"
).to(model.device)
audio = inputs["input_values"]
print(f"Padded audio shape: {audio.shape}")
# Padded audio shape: torch.Size([2, 1, 113920])

# encode
audio_codes = model.encode(audio, bandwidth=bandwidth, return_dict=False)
print("Codebook shape", audio_codes.shape)
# Codebook shape torch.Size([2, 8, 356])

# decode
decoded_audio = model.decode(audio_codes).audio_values
print("Decoded audio shape", decoded_audio.shape)
# Decoded audio shape torch.Size([2, 1, 113920])

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
XcodecModel
Ревизия весов
240735a

0 моделей