Pronunciation Scoring

Submit audio recordings for AI-powered pronunciation assessment.

2 min read

The pronunciation scoring endpoint uses a faster-whisper speech-to-text pipeline to evaluate how accurately users pronounce Korean words and phrases.

Score Pronunciation#

Submit an audio recording via multipart form data:

bash
curl -X POST https://api.chamelingo.com/api/v1/pronunciation/score \
  -H "Authorization: Bearer ck_live_YOUR_KEY_HERE" \
  -F "audio=@recording.wav" \
  -F "expected_text=μ•ˆλ…•ν•˜μ„Έμš”" \
  -F "sensitivity=normal"

Parameters#

FieldTypeRequiredDescription
audiofileYesAudio file (wav, webm, mp3, ogg, max 5MB)
expected_textstringYesThe text that should have been spoken
sensitivitystringNoeasy, normal (default), strict

Response#

JSON
{
  "overall_score": 85,
  "words": [
    {
      "expected": "μ•ˆλ…•ν•˜μ„Έμš”",
      "recognized": "μ•ˆλ…•ν•˜μ„Έμš”",
      "probability": 0.92,
      "status": "correct"
    }
  ],
  "full_text": "μ•ˆλ…•ν•˜μ„Έμš”",
  "expected_text": "μ•ˆλ…•ν•˜μ„Έμš”",
  "feedback": "Good pronunciation overall.",
  "duration": 2.3
}

Sensitivity Levels#

LevelDescription
easyLenient β€” good for beginners, accepts approximations
normalBalanced β€” standard pronunciation expectations
strictDemanding β€” expects near-native accuracy

Check Service Health#

The pronunciation server runs separately. Check its availability before sending audio:

bash
curl https://api.chamelingo.com/api/v1/pronunciation/health \
  -H "Authorization: Bearer ck_live_YOUR_KEY_HERE"
JSON
{
  "available": true,
  "service": "faster-whisper"
}
Warning

If available is false, the pronunciation server is offline. Score requests will fail until it recovers.

Tips for Best Results#

  • Audio quality: Use a clear recording with minimal background noise
  • File size: Keep recordings under 5MB (typically under 30 seconds)
  • Supported formats: WAV gives the best results; WebM and MP3 also work
  • Single phrases: Score one phrase at a time rather than long sentences