Production of Vietnam Post: Vietnamese speaker profiling (gender/dialect) with PhoWhisper/WavLM-family encoders.
Project description
Vietnamese Speaker Profiling
Finetune
python finetune.py --config configs/finetune.yaml
Eval:
python eval.py --checkpoint output/best_model --config configs/eval.yaml --test_name clean_test
Infer:
python infer.py --config configs/infer.yaml --audio path/to/audio.wav
Infer (PhoWhisper checkpoint matching HF Space v2)
python infer.py --config configs/infer_pho_hf.yaml --audio path/to/audio.wav
Install from PyPI (inference)
pip install vn-speaker-profiling
vn-speaker-profiling-infer --audio path/to/audio.wav
vn-speaker-profiling-infer --audio_dir path/to/folder --batch_size 8
Publish to PyPI (maintainers)
python -m pip install -U build twine
python -m build
python -m twine upload dist/*
Datasets:
Pretrained Models:
In Kaggle:
- https://www.kaggle.com/datasets/thanhlamdev/vimd-dataset
- https://www.kaggle.com/datasets/thanhlamdev/vispeech
Architecture:
Audio -> Encoder (WavLM/HuBERT/Wav2Vec2/Whisper) -> Last Hidden [B,T,H]
|
Attentive Pooling [B,H]
|
Layer Normalization
|
Dropout(0.1)
|
+---------------+---------------+
| |
Gender Head (2 layers) Dialect Head (3 layers)
| |
[B,2] [B,3]
Supported encoders:
- WavLM: microsoft/wavlm-base-plus, microsoft/wavlm-large
- HuBERT: facebook/hubert-base-ls960, facebook/hubert-large-ls960-ft
- Wav2Vec2: facebook/wav2vec2-base, facebook/wav2vec2-large-960h
- Whisper: openai/whisper-base, openai/whisper-small, openai/whisper-medium
Result:
| Mô hình | Kích thước tham số | Nhiệm vụ phân loại | Acc. ViSpeech (Clean) | Acc. ViSpeech (Noisy) | Acc. ViMD (Baseline) |
|---|---|---|---|---|---|
| wavlm-base-plus | ~94 triệu | Gender | 96.53% | 97.35% | 98.66% |
| Dialect | 88.33% | 84.41% | 88.49% | ||
| wav2vec2-base | ~95 triệu | Gender | 93.13% | 95.59% | 98.52% |
| Dialect | 87.13% | 83.63% | 88.65% | ||
| hubert-base-ls960 | ~96 triệu | Gender | 96.93% | 96.67% | 98.62% |
| Dialect | 87.40% | 82.55% | 87.52% | ||
| spkrec-ecapa-voxceleb | ~22 triệu | Gender | 96.80% | 98.43% | N/A |
| Dialect | 65.33% | 65.10% | N/A | ||
| PhoWhisper-base | ~73 triệu | Gender | 95.53% | N/A | 98.57% |
| Dialect | 93.28% | N/A | 90.67% | ||
| wav2vec2-base-vi-vlsp2020 | ~95 triệu | Gender | N/A | N/A | 98.72% |
| Dialect | N/A | N/A | 90.61% |
Model
https://drive.google.com/drive/folders/1UCOVh9ut8jHmCFfMKgwM2_Mi_3rGhd94?usp=sharing
Citation:
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vn_speaker_profiling-0.1.6.tar.gz.
File metadata
- Download URL: vn_speaker_profiling-0.1.6.tar.gz
- Upload date:
- Size: 16.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcd01bf1dc50c6d093da5e3393709574d746d3d89dc608aa87539b1a4aad5166
|
|
| MD5 |
61d47b7270528c24e3b4347a21817506
|
|
| BLAKE2b-256 |
745e8a080bd8a64f91739ce419cddbccb90b4ef5004585e4e09396c79f537e96
|
File details
Details for the file vn_speaker_profiling-0.1.6-py3-none-any.whl.
File metadata
- Download URL: vn_speaker_profiling-0.1.6-py3-none-any.whl
- Upload date:
- Size: 16.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a434598b9d582e3fc208a8520f09e9740475bb347ad5051fe614723bcad2e30
|
|
| MD5 |
b4db7db9c49b5200c3a2f33bb4975d90
|
|
| BLAKE2b-256 |
5f5b283ec0b3040ff9666990973a38c34b91c1e7ae7544af9e49bcf40aa00290
|