/ Модель

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

Лицензия
Apache 2.0
Библиотека
personal-vad
Опубликована
5 окт 2026

personal-vad-v2-conformer-film-cos

Поиск речи в аудиоАудио → label

Потоковая модель определяет в аудиозаписи речь выбранного говорящего, отличая её от тишины и речи других людей.

28скачиваний за 30 дней0лайковвеса обновлены11 окт 2026

Бенчмарки

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

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

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

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

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

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

Personal VAD 2.0 — модель для потокового определения активности речи конкретного целевого говорящего в аудиосигнале. Это независимая открытая реализация работ Personal VAD 1.0 и 2.0, разработанная сообществом и обученная с нуля на открытых данных Multilingual LibriSpeech; модель не является официальным продуктом Google. Архитектура включает четырёхслойный причинный Conformer для потоковой обработки и двухслойную Conformer-сеть предварительной обработки голоса говорящего с FiLM-кондиционированием по косинусному сходству. В модели 1 058 499 обучаемых параметров.

Модель принимает аудио и пример голоса целевого говорящего для поиска его речи среди тишины и речи других людей. Она рассчитана на потоковую обработку и включает состояния для последовательных фрагментов аудио; доступны веса Safetensors и TFLite, в том числе 8-битная динамически квантованная версия для устройств. Обучение и тестирование проводились на восьми языках: немецком, английском, испанском, французском, итальянском, нидерландском, польском и португальском. Для тестового набора автор сообщает micro-mAP 0,8788.

Модель распространяется по лицензии Apache-2.0. Результаты относятся к открытому бенчмарку Multilingual LibriSpeech; качество на иных данных и в реальных акустических условиях может отличаться. Для извлечения голоса целевого говорящего включён собственный открытый модуль построения эмбеддинга, также допускается передача внешнего нормализованного 256-мерного эмбеддинга.

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

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

Ограничения

Оценка качества получена на открытом бенчмарке Multilingual LibriSpeech и может не отражать результаты на других наборах данных и в реальных акустических условиях. Модель предназначена для определения речи целевого говорящего, а не для распознавания слов.

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

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

Открыть на Hugging Face

Personal VAD 2.0 — E2 Causal Conformer + Speaker Pre-Net (FiLM Cosine) (wq2012/personal-vad-v2-conformer-film-cos)

This is not an officially supported Google product.

Open-Source Reproduction Notice: This model is part of an independent open-source reproduction of the Personal VAD 1.0 (Ding et al., Odyssey 2020) and Personal VAD 2.0 (Ding et al., INTERSPEECH 2022) papers. Because the original papers were developed using internal datasets and infrastructure, this model was trained from scratch using the open-source personal-vad library on our 8-language Multilingual LibriSpeech (MLS) benchmark (de, en, es, fr, it, nl, pl, pt, combining the 7 non-English facebook/multilingual_librispeech languages with OpenSLR 12 English LibriSpeech).

Model Summary

  • Model ID: pvad2_e2_conformer_film_cos (wq2012/personal-vad-v2-conformer-film-cos)
  • Paper: Personal VAD 2.0 (arXiv:2204.03793)
  • Architecture: 4-Layer Causal Streaming Conformer (64-d) + 2-Layer Conformer Speaker Pre-Net + FiLM on cosine similarity
  • Backbone: conformer
  • Conditioning Mode: film_cos
  • Loss Function: cross_entropy
  • Trainable Parameters: 1,058,499
  • Safetensors Checkpoint (model.safetensors): 4150.78 KB
  • FP32 TFLite Flatbuffer (model_fp32.tflite): 4262.86 KB
  • 8-Bit Quantized TFLite (model_quantized.tflite): 1333.38 KB
  • Primary Concatenated Test Set micro-mAP: 0.8788 (Overall frame accuracy: 0.7799)

Included Files

  • model.safetensors: Safetensors weights for secure, fast loading.
  • model.weights.h5: Keras HDF5 checkpoint weights.
  • model_config.json: Serialized personal_vad.ModelConfig spec.
  • model_fp32.tflite: Unquantized 32-bit float stateful streaming TFLite flatbuffer (state_in -> (probs, state_out)).
  • model_quantized.tflite: 8-bit dynamic-range quantized stateful streaming TFLite flatbuffer for on-device deployment.
  • speaker_subspace.npz: Open-set regularized LDA+WCCN+PCA speaker subspace projection matrix (256-d L2-normalized d-vectors, full rank 256, trained from scratch on the 98 MLS training speakers).
  • evaluation_metrics.json: Full test-set evaluation metrics on 40 unseen multilingual speakers (with utterance-cluster 95% bootstrap CIs).

Speaker Embedding (d-vector) Extractor Design & Transparency

In the original Personal VAD 1.0 and 2.0 papers, speaker embeddings (e_target) and frame-level cosine scores (s_t) were extracted using Google's internal 3-layer LSTM speaker verification network (4.88M parameters) trained with Generalized End-to-End (GE2E) loss on proprietary vendor-collected corpora.

To keep this open-source reproduction completely self-contained in pure TensorFlow/NumPy with zero external PyTorch/SpeechBrain/JAX dependencies, we trained our own lightweight, non-neural open-set 256-D speaker subspace extractor (OpenSetSpeakerSubspace, serialized in speaker_subspace.npz, 472.8 KB) from scratch on the 98 training speakers (1,159 utterances) of the 8-language Multilingual LibriSpeech (MLS) benchmark (16 unseen development speakers / 192 utterances; 40 unseen test speakers / 480 utterances):

  1. 360-D Causal Multi-Resolution Acoustic Summary: Over voiced speech frames (or a strictly causal 14-frame / 140 ms sliding window for frame-level scores s_t), it extracts 40-D log-Mel [mean, std, pos_dev, neg_dev, delta_rms] (200-D) concatenated with 80-D log-Mel [mean, std] (160-D), while the Personal VAD network's acoustic input x_t remains 100% pure log-Mel filterbank energies.
  2. 256-D Regularized LDA + WCCN + PCA Projection: Applies Z-score standardization, projects onto a full-rank 256-D discriminative subspace fitted via regularized Linear Discriminant Analysis (LDA), Within-Class Covariance Normalization (WCCN), and orthogonal PCA completion on the 98 training speakers, adds a fixed positive-cone offset on coordinate 255, and L2-normalizes the resulting vector (||e||_2 = 1).
  3. Unseen-Speaker Verification Accuracy: On the 16 unseen development speakers (192 utterances), speaker_subspace.npz achieves an open-set speaker verification ROC-AUC of 0.9579, and on the 40 held-out unseen test speakers (480 utterances across 8 languages), it achieves a ROC-AUC of 0.9449 (mean positive cosine similarity 0.5424 vs. negative -0.0166). Users may also pass any external 256-D L2-normalized neural d-vector directly to PersonalVadModel or PersonalVadInferenceEngine.

Quickstart Usage

1. High-Level Audio Inference (personal_vad.load_pretrained)

import personal_vad

engine = personal_vad.load_pretrained("wq2012/personal-vad-v2-conformer-film-cos")
result = engine.infer_from_files(
    audio_path="conversation_16k.wav",
    enroll_path="target_speaker_enroll_16k.wav",
    use_tflite=False,
    threshold=0.5,
)
print("Summary:", result["summary"])
print("Probabilities shape:", result["probabilities"].shape)

2. On-Device Stateful 8-Bit Quantized .tflite Execution

from huggingface_hub import hf_hub_download
import numpy as np
import personal_vad

tflite_path = hf_hub_download(
    repo_id="wq2012/personal-vad-v2-conformer-film-cos", filename="model_quantized.tflite"
)
runner = personal_vad.TFLitePersonalVadRunner(tflite_path)
features = np.zeros((32, 512), dtype=np.float32)
speaker_embedding = np.ones((256,), dtype=np.float32) / np.sqrt(256.0)
cosine_score = np.full((32,), 0.8, dtype=np.float32)
probs = runner.predict(
    features=features,
    speaker_embedding=speaker_embedding,
    cosine_score=cosine_score,
    chunk_size=16,
)
print("TFLite output shape:", probs.shape)

Open-Source Multilingual LibriSpeech Benchmark Results

All models were trained on 98 training speakers (1,159 utterances) across 8 languages (de, en, es, fr, it, nl, pl, pt, combining the 7 non-English facebook/multilingual_librispeech languages with OpenSLR 12 English LibriSpeech), validated on 16 unseen dev speakers (192 utterances), and evaluated on 40 held-out unseen test speakers (480 utterances: 120 enrollment + 360 evaluation utterances, zero speaker overlap).

Personal VAD 1.0 Models (Concatenated Multi-Speaker Test Set)

Model IDModeLossTarget Speech AP (tss)Silence AP (ns)Non-Target Speech AP (ntss)Clean Micro mAP (95% CI)MTR Micro mAPINT8 TFLite mAPQuantized Size
pvad1_sc_baselineSCcross_entropy0.79740.90720.83030.8422 ([0.8279, 0.8559])0.63030.8422199.4 KB
pvad1_st_ceSTcross_entropy0.85490.91440.88040.8826 ([0.8695, 0.8954])0.68830.8827200.4 KB
pvad1_et_ceETcross_entropy0.82530.89960.83220.8452 ([0.8307, 0.8592])0.64750.8418265.4 KB
pvad1_set_ceSETcross_entropy0.87080.90980.88140.8858 ([0.8712, 0.9008])0.70720.8844265.7 KB
pvad1_et_wplETweighted_pairwise0.82150.89470.83580.8463 ([0.8321, 0.8604])0.64380.8464265.4 KB

Personal VAD 2.0 Models (Non-Concat & Concat Test Sets)

Model IDBackboneConditioningNon-Concat mAPConcat tss APConcat ns APConcat ntss APClean Concat mAP (95% CI)MTR Concat mAPINT8 TFLite mAPQuantized Size
pvad2_b0_lstm_concatlstm_v2concat0.69110.49760.92270.53220.7037 ([0.6904, 0.7161])0.54200.70362012.2 KB
pvad2_e0_conformer_concatconformerconcat0.76400.59600.95930.68760.7865 ([0.7706, 0.8025])0.68660.7857881.0 KB
pvad2_e1_conformer_film_dvectorconformerfilm_dvector0.82480.78160.93590.82060.8436 ([0.8267, 0.8590])0.72000.8434899.4 KB
pvad2_e2_conformer_film_cosconformerfilm_cos0.87420.84230.94300.86950.8788 ([0.8669, 0.8912])0.70670.87841333.4 KB
pvad2_e3_conformer_film_dvector_cosconformerfilm_dvector_cos0.86730.83600.94540.86880.8830 ([0.8706, 0.8946])0.72220.88311367.1 KB
pvad2_e4_conformer_int8conformerfilm_dvector_cos0.86740.83630.94550.86890.8831 ([0.8708, 0.8947])0.72210.88311367.1 KB
pvad2_e5_conformer_unifiedconformerfilm_dvector_cos0.79190.67730.92650.73270.7850 ([0.7639, 0.8038])0.62030.78491367.1 KB

Per-Language Breakdown for pvad2_e2_conformer_film_cos (8 Languages)

LanguageUnseen Test SpeakersEval MixturesFramesTarget Speech AP (tss)Silence AP (ns)Non-Target Speech AP (ntss)Micro mAP
de5425,0400.84100.86670.84290.8471
en6546,0480.75170.95440.74980.8179
es5425,0400.76940.95240.79590.8414
fr5425,0400.79540.95480.84450.8538
it5425,0400.88300.95860.90570.9161
nl5425,0400.85290.94910.85060.8866
pl4374,0320.88240.94870.83730.8565
pt5425,0400.92240.96150.93100.9277

Original Paper Reference Benchmarks

Personal VAD 1.0 (arXiv:1908.04284, Table 1)

MethodLossWithout MTR tssWithout MTR nsWithout MTR ntssWithout MTR meanWith MTR tssWith MTR nsWith MTR ntssWith MTR meanParams
SC (baseline)N/A0.8860.9700.8720.9000.7770.9080.7680.8014.88M (SV) + 0.06M (VAD)
STCE0.9560.9680.9560.9570.9050.8850.9050.9014.88M (SV) + 0.06M (PVAD)
ETCE0.9320.9620.9460.9460.8780.8730.8900.8830.13M (PVAD)
SETCE0.9700.9690.9720.9690.9380.8880.9380.9284.88M (SV) + 0.13M (PVAD)
ETWPL0.9550.9650.9610.9590.9160.8830.9200.9120.13M (PVAD)

Personal VAD 2.0 (arXiv:2204.03793, Table 1 & Table 2 Downstream ASR WER %)

ExpModelEnrolled Non-Concat WER (%)Enrolled Concat WER (%)Enrollment-Less VS WER (%)Enrollment-Less Non-Concat WER (%)Size (MB)FLOPs (M)
B1LSTM Standard VADN/AN/A7.211.51.53.41
B2Conformer Standard VADN/AN/A6.910.10.78.77
B0Personal VAD (LSTM Concat)17.941.0>=100.0>=100.05.83.54
E0+ Conformer Concat15.331.5——2.89.51
E1+ FiLM d-vector11.329.5——2.89.58
E2+ Speaker PreNet (cos)11.727.5——4.09.51
E3+ FiLM d-vector & cos11.527.6——4.09.58
E4+ 8-bit quantization12.227.2>=100.0>=100.01.09.58
E5Personal VAD 2.0 (Unified)12.432.77.010.11.09.58

Citation

@inproceedings{ding2020personal,
  title={Personal VAD: Speaker-Conditioned Voice Activity Detection},
  author={Ding, Shaojin and Wang, Quan and Chang, Shuo-yiin and Wan, Li and Moreno, Ignacio Lopez},
  booktitle={Proc. Odyssey The Speaker and Language Recognition Workshop},
  pages={433--439},
  year={2020}
}

@inproceedings{ding2022personal,
  title={Personal VAD 2.0: Optimizing Personal Voice Activity Detection for On-Device Speech Recognition},
  author={Ding, Shaojin and Rikhye, Rajeev and Liang, Qiao and He, Yanzhang and Wang, Quan and Narayanan, Arun and O'Malley, Tom and McGraw, Ian},
  booktitle={Proc. INTERSPEECH},
  pages={3744--3748},
  year={2022}
}

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

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

GPU в ailist

Универсальный рантайм · personal-vad

Нельзя запустить

Задача «voice-activity-detection» пока не поддерживается рантаймом.

Ревизия весов
aed7822

0 моделей