Views
No views yet
[
'East Asia', 'English', 'Germanic', 'Irish',
'North America', 'Northern Irish', 'Oceania',
'Other', 'Romance', 'Scottish', 'Semitic', 'Slavic',
'South African', 'Southeast Asia', 'South Asia', 'Welsh'
]git clone git@github.com:tiantiaf0627/vox-profile-release.git1conda create -n vox_profile python=3.8
2cd vox-profile-release
3pip install -e .1# Load libraries
2import torch
3import torch.nn.functional as F
4from src.model.accent.whisper_accent import WhisperWrapper
5
6# Find device
7device = torch.device("cuda") if torch.cuda.is_available() else "cpu"
8
9# Load model from Huggingface
10model = WhisperWrapper.from_pretrained("tiantiaf/whisper-large-v3-narrow-accent").to(device)
11model.eval()1# Label List
2english_accent_list = [
3 'East Asia', 'English', 'Germanic', 'Irish',
4 'North America', 'Northern Irish', 'Oceania',
5 'Other', 'Romance', 'Scottish', 'Semitic', 'Slavic',
6 'South African', 'Southeast Asia', 'South Asia', 'Welsh'
7]
8
9# Load data, here just zeros as the example
10# Our training data filters output audio shorter than 3 seconds (unreliable predictions) and longer than 15 seconds (computation limitation)
11# So you need to prepare your audio to a maximum of 15 seconds, 16kHz and mono channel
12max_audio_length = 15 * 16000
13data = torch.zeros([1, 16000]).float().to(device)[:, :max_audio_length]
14logits, embeddings = model(data, return_feature=True)
15
16# Probability and output
17accent_prob = F.softmax(logits, dim=1)
18print(english_accent_list[torch.argmax(accent_prob).detach().cpu().item()])@article{feng2025vox,
title={Vox-Profile: A Speech Foundation Model Benchmark for Characterizing Diverse Speaker and Speech Traits},
author={Feng, Tiantian and Lee, Jihwan and Xu, Anfeng and Lee, Yoonjeong and Lertpetchpun, Thanathai and Shi, Xuan and Wang, Helin and Thebaud, Thomas and Moro-Velazquez, Laureano and Byrd, Dani and others},
journal={arXiv preprint arXiv:2505.14648},
year={2025}
}