Supported languages and recognition models
A recognition model is a model trained to recognize speech in a particular language. The models are trained on datasets generated by Yandex services and applications. This allows us to continually improve speech recognition quality.
The main supported model for each recognition type is the general
model. It recognizes speech on any topic in a given language, including short and long utterances, names, addresses, dates, and numbers.
Version tags
Three versions of the general
model can be available at the same time. You can select the one you need by tags:
general
: The main version of the model.general:rc
: The release candidate version available for testing.general:deprecated
: The previous version of the model.
Note
We stop supporting the general:deprecated
tag versions as new models are released: SpeechKit guarantees two weeks of support for the previous version after we update the general
tag version. You can find the list of updates in Yandex SpeechKit release notes: Speech recognition.
You can also use the deferred-general
tag for asynchronous recognition with the API v2. Learn more about asynchronous recognition modes.
Supported recognition languages
Use a recognition language code from the table below. All available code values are case insensitive.
Code | Language |
---|---|
auto |
Automatic language recognition |
de-DE |
German |
en-US |
English |
es-ES |
Spanish |
fi-FI |
Finnish |
fr-FR |
French |
he-IL |
Hebrew |
it-IT |
Italian |
kk-KZ |
Kazakh |
nl-NL |
Dutch |
pl-PL |
Polish |
pt-PT |
Portuguese |
pt-BR |
Brazilian Portuguese |
ru-RU |
Russian (default) |
sv-SE |
Swedish |
tr-TR |
Turkish |
uz-UZ |
Uzbek (Latin script) |
Automatic language detection
SpeechKit automatically detects language in each sentence during speech recognition.
To configure automatic language detection, set the language_code
parameter of the LanguageRestrictionOptions()
method to auto
:
language_restriction=stt_pb2.LanguageRestrictionOptions(
restriction_type=stt_pb2.LanguageRestrictionOptions.WHITELIST,
language_code=['auto']
)
Along with recognition results, the service returns language labels containing the language code and probability of its correct detection:
language_code: "ru-RU" probability: 0.91582357883453369
If a sentence contains words in different languages, the language may be detected incorrectly. To improve results, provide a list of expected languages as a clue for the model. Here is an example:
...
language_code=['auto', 'en-US', 'es-ES', 'fr-FR']
...
Note
Language detection and setting language labels are only available in gRPC API v3.
Examples
Text in audio | Transcript |
---|---|
Xiaomi is a Chinese brand | shumi is a chinese brand |
Привет is hi in Russian | privet is hi in russian |
Men koʻchada sayr qilishni va muzqaymoq isteʼmol qilishni yaxshi koʻraman, I like to take a walk outside and have some ice cream | Men koʻchada sayr qilishni va muzqaymoq isteʼmol qilishni yaxshi koʻraman, I like to take a walk outside and have some ice cream |
Recognition accuracy
In Yandex DataSphere, you can assess the recognition quality of a SpeechKit model yourself using your data.
Use cases
- Developing a Telegram bot for text recognition in images, audio synthesis and recognition
- Streaming speech recognition with auto language detection in the API v3
- Audio file streaming recognition using the API v3
- Microphone speech streaming recognition using the API v3