🚀 voc2vec-hubert-ls-pt
voc2vec是專門為非語言人類數據設計的基礎模型。它使用了涵蓋約125小時非語言音頻的10個數據集,預訓練了一個類似HuBERT的模型。
🚀 快速開始
voc2vec-hubert-ls-pt可直接使用,以下是使用示例:
import torch
import librosa
from transformers import AutoModelForAudioClassification, AutoFeatureExtractor
audio_array, sr = librosa.load("path_to_audio.wav", sr=16000)
model = AutoModelForAudioClassification.from_pretrained("alkiskoudounas/voc2vec-hubert-ls-pt")
feature_extractor = AutoFeatureExtractor.from_pretrained("alkiskoudounas/voc2vec-hubert-ls-pt")
inputs = feature_extractor(audio_array.squeeze(), sampling_rate=feature_extractor.sampling_rate, padding=True, return_tensors="pt")
logits = model(**inputs).logits
✨ 主要特性
- 專為非語言人類數據設計,使用多種非語言音頻數據集進行預訓練。
- 基於HuBERT框架,延續其預訓練設置。
- 在多個數據集上進行評估,表現優異。
📚 詳細文檔
模型描述
voc2vec-hubert基於HuBERT框架構建,並遵循其預訓練設置。預訓練數據集包括:AudioSet(發聲)、FreeSound(嬰兒)、HumanVoiceDataset、NNIME、NonSpeech7K、ReCANVo、SingingDatabase、TUT(嬰兒)、VocalSketch、VocalSound。該模型從一個最初在LibriSpeech數據集上訓練的模型繼續進行預訓練。
任務和數據集描述
我們在六個數據集上評估了voc2vec-hubert-ls-pt:ASVP-ESD、ASPV-ESD(嬰兒)、CNVVE、NonVerbal Vocalization Dataset、Donate a Cry、VIVAE。這是目前voc2vec系列中發佈的最佳模型。
以下表格報告了上述六個數據集上未加權平均召回率(UAR)和F1宏觀指標的平均性能:
模型 |
架構 |
預訓練數據集 |
UAR |
F1宏觀指標 |
voc2vec |
wav2vec 2.0 |
Voc125 |
.612±.212 |
.580±.230 |
voc2vec-as-pt |
wav2vec 2.0 |
AudioSet + Voc125 |
.603±.183 |
.574±.194 |
voc2vec-ls-pt |
wav2vec 2.0 |
LibriSpeech + Voc125 |
.661±.206 |
.636±.223 |
voc2vec-hubert-ls-pt |
HuBERT |
LibriSpeech + Voc125 |
.696±.189 |
.678±.200 |
可用模型
模型 |
描述 |
鏈接 |
voc2vec |
在125小時非語言音頻上預訓練的模型。 |
🔗 模型 |
voc2vec-as-pt |
從一個最初在AudioSet數據集上訓練的類似wav2vec2的模型繼續預訓練。 |
🔗 模型 |
voc2vec-ls-pt |
從一個最初在LibriSpeech數據集上訓練的類似wav2vec2的模型繼續預訓練。 |
🔗 模型 |
voc2vec-hubert-ls-pt |
從一個最初在LibriSpeech數據集上訓練的類似hubert的模型繼續預訓練。 |
🔗 模型 |
💻 使用示例
基礎用法
import torch
import librosa
from transformers import AutoModelForAudioClassification, AutoFeatureExtractor
audio_array, sr = librosa.load("path_to_audio.wav", sr=16000)
model = AutoModelForAudioClassification.from_pretrained("alkiskoudounas/voc2vec-hubert-ls-pt")
feature_extractor = AutoFeatureExtractor.from_pretrained("alkiskoudounas/voc2vec-hubert-ls-pt")
inputs = feature_extractor(audio_array.squeeze(), sampling_rate=feature_extractor.sampling_rate, padding=True, return_tensors="pt")
logits = model(**inputs).logits
📄 許可證
本項目採用Apache-2.0許可證。
📚 引用信息
@INPROCEEDINGS{koudounas2025icassp,
author={Koudounas, Alkis and La Quatra, Moreno and Siniscalchi, Sabato Marco and Baralis, Elena},
booktitle={ICASSP 2025 - 2025 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},
title={voc2vec: A Foundation Model for Non-Verbal Vocalization},
year={2025},
volume={},
number={},
pages={1-5},
keywords={Pediatrics;Accuracy;Foundation models;Benchmark testing;Signal processing;Data models;Acoustics;Speech processing;Nonverbal vocalization;Representation Learning;Self-Supervised Models;Pre-trained Models},
doi={10.1109/ICASSP49660.2025.10890672}}