🗣️ Vietnamese Pronunciation Classifier — Multiclass (12 classes)
Mô hình nhận diện giọng miền + lỗi phát âm cụ thể từ audio tiếng Việt.
📋 Classes (12)
| ID | Label | Mô tả |
|---|---|---|
| 0 | bac_correct |
✓ Miền Bắc — Phát âm đúng |
| 1 | bac_L_to_N |
✗ Miền Bắc — Lỗi L → N |
| 2 | trung_correct |
✓ Miền Trung — Phát âm đúng |
| 3 | trung_S_to_X |
✗ Miền Trung — Lỗi S → X |
| 4 | trung_X_to_S |
✗ Miền Trung — Lỗi X → S |
| 5 | trung_TR_to_CH |
✗ Miền Trung — Lỗi TR → CH |
| 6 | trung_CH_to_TR |
✗ Miền Trung — Lỗi CH → TR |
| 7 | nam_correct |
✓ Miền Nam — Phát âm đúng |
| 8 | nam_D_to_R |
✗ Miền Nam — Lỗi D → R |
| 9 | nam_R_to_D |
✗ Miền Nam — Lỗi R → D |
| 10 | nam_G_to_D |
✗ Miền Nam — Lỗi GI → D |
| 11 | nam_V_to_D |
✗ Miền Nam — Lỗi V → D |
🏗️ Architecture
- Backbone:
nguyenvulebinh/wav2vec2-large-vi-vlsp2020 - Head: Mean pooling → Linear(1024, 256) → ReLU → Linear(256, 12)
- Audio: 16kHz mono, 500ms duration
- Export: ONNX (opset 14) for cross-platform inference
🚀 Usage (ONNX Runtime)
import onnxruntime as ort
import librosa
import numpy as np
import json
# Load model
sess = ort.InferenceSession("phoneme_classifier_multiclass.onnx")
config = json.load(open("config.json", encoding="utf-8"))
# Load audio (16kHz, 500ms)
audio, _ = librosa.load("your_audio.wav", sr=16000, mono=True)
audio = audio[:8000] # 500ms at 16kHz
if len(audio) < 8000:
audio = np.pad(audio, (0, 8000 - len(audio)))
# Inference
logits = sess.run(None, {"input_values": audio.reshape(1, -1).astype(np.float32)})[0]
class_id = int(np.argmax(logits))
# Parse result
label_names = {v: k for k, v in config["label_map"].items()}
label = label_names[class_id]
info = config["label_info"][label]
print(f"Region: {info['region']}")
print(f"Correct: {info['is_correct']}")
print(f"Error: {info['error']}")
print(f"Description: {info['vi']}")
📊 Training Data
- Miền Bắc: Lỗi L/N
- Miền Trung: Lỗi S/X, TR/CH
- Miền Nam: Lỗi D/R/GI/V
📁 Files
phoneme_classifier_multiclass.onnx— ONNX modelbest_model.pt— PyTorch checkpointconfig.json— Label map + metadatapreprocessor_config.json— Wav2Vec2 feature extractor config
- Downloads last month
- 94
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support