latihan-artikulasi / README.md
fariedalfarizi's picture
Fix: Update imports and upgrade Gradio to 5.0.0
78c30f0
|
raw
history blame
3.74 kB
metadata
title: Vocal Articulation Assessment v2
emoji: 🎀
colorFrom: purple
colorTo: pink
sdk: gradio
sdk_version: 5.0.0
app_file: app.py
pinned: false
license: mit

🎀 Sistem Penilaian Vokal Indonesia

Sistem penilaian artikulasi vokal bahasa Indonesia menggunakan deep learning dan audio signal processing.

🌟 Fitur

Multi-Metric Assessment

  1. Clarity Score (40%): Kejelasan pengucapan berdasarkan model confidence
  2. Energy Score (25%): Kualitas volume dan energi suara
  3. Duration Score (15%): Kesesuaian durasi pengucapan
  4. Pitch Score (20%): Stabilitas pitch/nada suara

Vokal yang Didukung

  • A - Vokal terbuka depan
  • I - Vokal tertutup depan
  • U - Vokal tertutup belakang
  • E - Vokal tengah depan
  • O - Vokal tengah belakang

πŸš€ Cara Menggunakan

Di HuggingFace Spaces

  1. Upload atau record audio Anda
  2. Pilih target vokal (A, I, U, E, O)
  3. (Optional) Set expected duration
  4. Klik "Nilai Pengucapan"
  5. Lihat hasil penilaian dengan grade dan feedback

Local Development

# Install dependencies
pip install -r requirements.txt

# Run Gradio App
python app.py

# Or run FastAPI server
python api.py

πŸ“Š Sistem Penilaian

Grade Score Range Keterangan
A 90-100 Sempurna - pengucapan sangat jelas dan akurat
B 80-89 Bagus - pengucapan cukup jelas dengan minor errors
C 70-79 Cukup - ada beberapa kesalahan
D 60-69 Kurang - banyak kesalahan
E <60 Perlu latihan lebih banyak

πŸ”§ Teknologi

  • Model: HuBERT/Wav2Vec2 fine-tuned untuk klasifikasi vokal Indonesia
  • Backend: FastAPI
  • Frontend: Gradio
  • Audio Processing: librosa, torchaudio
  • Deployment: HuggingFace Spaces with ZeroGPU

πŸ“ Struktur Project

.
β”œβ”€β”€ app.py                 # Gradio interface (HF Spaces)
β”œβ”€β”€ api.py                 # FastAPI server
β”œβ”€β”€ scoring_system.py      # Core scoring logic
β”œβ”€β”€ latihan_dasar.py       # Advanced articulation system
β”œβ”€β”€ model_vokal/           # Model checkpoint
β”‚   β”œβ”€β”€ config.json
β”‚   β”œβ”€β”€ model.safetensors
β”‚   └── preprocessor_config.json
β”œβ”€β”€ requirements.txt       # Dependencies
└── README.md             # Documentation

🎯 Roadmap

Level 1: Pengenalan Vokal βœ…

  • A, I, U, E, O (Current)

Level 2-5: Expansi (Coming Soon)

  • Level 2: Konsonan Dasar (BA, PA, DA, TA, dll)
  • Level 3: Kombinasi Suku Kata (BA-BE-BI-BO-BU, dll)
  • Level 4: Kata Sulit (PSIKOLOGI, STRATEGI, dll)
  • Level 5: Kalimat Kompleks

πŸ“ API Documentation

FastAPI Endpoints

# Health check
GET /health

# Get supported labels
GET /labels

# Score single audio
POST /score
- audio: file (required)
- target_label: string (optional)
- expected_duration: float (optional)

# Batch scoring
POST /batch_score
- audios: files (required)
- target_labels: string (optional, comma-separated)

Example cURL

curl -X POST "http://localhost:8000/score" \
  -F "[email protected]" \
  -F "target_label=a" \
  -F "expected_duration=0.8"

🀝 Contributing

Contributions are welcome! Terutama untuk:

  • Menambah dataset vokal
  • Implementasi Level 2-5
  • Optimasi model
  • UI/UX improvements

πŸ“„ License

MIT License

πŸ‘₯ Author

Dibuat untuk Latihan Dasar Artikulasi Vokal Indonesia

πŸ™ Acknowledgments

  • Model base: HuBERT/Wav2Vec2
  • Audio processing: librosa
  • Framework: FastAPI & Gradio
  • Deployment: HuggingFace Spaces