Skip to content

Commit 819b19d

Browse files
Merge pull request #281186 from sally-baolian/patch-271
Update how-to-pronunciation-assessment.md
2 parents 2286e33 + f39758a commit 819b19d

File tree

1 file changed

+72
-2
lines changed

1 file changed

+72
-2
lines changed

articles/ai-services/speech-service/how-to-pronunciation-assessment.md

Lines changed: 72 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ zone_pivot_groups: programming-languages-ai-services
2323

2424
In this article, you learn how to evaluate pronunciation with speech to text through the Speech SDK. Pronunciation assessment evaluates speech pronunciation and gives speakers feedback on the accuracy and fluency of spoken audio.
2525

26+
> [!NOTE]
27+
> Pronunciation assessment uses a specific version of the speech-to-text model, different from the standard speech to text model, to ensure consistent and accurate pronunciation assessment.
28+
2629
## Use pronunciation assessment in streaming mode
2730

2831
Pronunciation assessment supports uninterrupted streaming mode. The recording time can be unlimited through the Speech SDK. As long as you don't stop recording, the evaluation process doesn't finish and you can pause and resume evaluation conveniently.
@@ -77,6 +80,55 @@ For how to use Pronunciation Assessment in streaming mode in your own applicatio
7780

7881
::: zone-end
7982

83+
### Continuous recognition
84+
85+
::: zone pivot="programming-language-csharp"
86+
87+
If your audio file exceeds 30 seconds, use continuous mode for processing. The sample code for continuous mode can be found on [GitHub](https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/master/samples/csharp/sharedcontent/console/speech_recognition_samples.cs) under the function `PronunciationAssessmentContinuousWithFile`.
88+
89+
::: zone-end
90+
91+
::: zone pivot="programming-language-cpp"
92+
93+
If your audio file exceeds 30 seconds, use continuous mode for processing.
94+
95+
::: zone-end
96+
97+
::: zone pivot="programming-language-java"
98+
99+
If your audio file exceeds 30 seconds, use continuous mode for processing. The sample code for continuous mode can be found on [GitHub](https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/master/samples/java/jre/console/src/com/microsoft/cognitiveservices/speech/samples/console/SpeechRecognitionSamples.java) under the function `pronunciationAssessmentContinuousWithFile`.
100+
101+
::: zone-end
102+
103+
::: zone pivot="programming-language-python"
104+
105+
If your audio file exceeds 30 seconds, use continuous mode for processing. The sample code for continuous mode can be found on [GitHub](https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/261160e26dfcae4c3aee93308d58d74e36739b6f/samples/python/console/speech_sample.py) under the function `pronunciation_assessment_continuous_from_file`.
106+
107+
::: zone-end
108+
109+
::: zone pivot="programming-language-javascript"
110+
111+
If your audio file exceeds 30 seconds, use continuous mode for processing. The sample code for continuous mode can be found on [GitHub](https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/261160e26dfcae4c3aee93308d58d74e36739b6f/samples/js/node/pronunciationAssessmentContinue.js).
112+
113+
::: zone-end
114+
115+
::: zone pivot="programming-language-objectivec"
116+
117+
If your audio file exceeds 30 seconds, use continuous mode for processing. The sample code for continuous mode can be found on [GitHub](https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/master/samples/objective-c/ios/speech-samples/speech-samples/ViewController.m) under the function `pronunciationAssessFromFile`.
118+
119+
::: zone-end
120+
121+
::: zone pivot="programming-language-swift"
122+
123+
If your audio file exceeds 30 seconds, use continuous mode for processing. The sample code for continuous mode can be found on [GitHub](https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/master/samples/swift/ios/speech-samples/speech-samples/ViewController.swift) under the function `continuousPronunciationAssessment`.
124+
125+
::: zone-end
126+
127+
::: zone pivot="programming-language-go"
128+
129+
::: zone-end
130+
131+
80132
## Set configuration parameters
81133

82134
::: zone pivot="programming-language-go"
@@ -262,6 +314,8 @@ This table lists some of the optional methods you can set for the `Pronunciation
262314
> Content and prosody assessments are only available in the [en-US](./language-support.md?tabs=pronunciation-assessment) locale.
263315
>
264316
> To explore the content and prosody assessments, upgrade to the SDK version 1.35.0 or later.
317+
>
318+
> There is no length limit for the topic parameter.
265319
266320
| Method | Description |
267321
|-----------|-------------|
@@ -680,7 +734,7 @@ You can get pronunciation assessment scores for:
680734
- Syllable groups
681735
- Phonemes in [SAPI](/previous-versions/windows/desktop/ee431828(v=vs.85)#american-english-phoneme-table) or [IPA](https://en.wikipedia.org/wiki/IPA) format
682736

683-
### Supported features per locale
737+
## Supported features per locale
684738

685739
The following table summarizes which features that locales support. For more specifies, see the following sections. If the locales you require aren't listed in the following table for the supported feature, fill out this [intake form](https://aka.ms/speechpa/intake) for further assistance.
686740

@@ -783,7 +837,7 @@ pronunciationAssessmentConfig?.phonemeAlphabet = "IPA"
783837

784838
::: zone-end
785839

786-
## Assess spoken phonemes
840+
### Assess spoken phonemes
787841

788842
With spoken phonemes, you can get confidence scores that indicate how likely the spoken phonemes matched the expected phonemes.
789843

@@ -1029,6 +1083,22 @@ pronunciationAssessmentConfig?.nbestPhonemeCount = 5
10291083

10301084
::: zone-end
10311085

1086+
## Pronunciation score calculation
1087+
1088+
Pronunciation scores are calculated by weighting accuracy, prosody, fluency, and completeness scores based on specific formulas for reading and speaking scenarios.
1089+
1090+
When sorting the scores of accuracy, prosody, fluency, and completeness from low to high (if each score is available) and representing the lowest score to the highest score as s0 to s3, the pronunciation score is calculated as follows:
1091+
1092+
For reading scenario:
1093+
- With prosody score: PronScore = 0.4 * s0 + 0.2 * s1 + 0.2 * s2 + 0.2 * s3
1094+
- Without prosody score: PronScore = 0.6 * s0 + 0.2 * s1 + 0.2 * s2
1095+
1096+
For the speaking scenario (the completeness score isn't applicable):
1097+
- With prosody score: PronScore = 0.6 * s0 + 0.2 * s1 + 0.2 * s2
1098+
- Without prosody score: PronScore = 0.6 * s0 + 0.4 * s1
1099+
1100+
This formula provides a weighted calculation based on the importance of each score, ensuring a comprehensive evaluation of pronunciation.
1101+
10321102
## Related content
10331103

10341104
- Learn about quality [benchmark](https://aka.ms/pronunciationassessment/techblog).

0 commit comments

Comments
 (0)