# Speech Recognition (ASR) (/docs/methods/asr)



## What is ASR? [#what-is-asr]

Automatic Speech Recognition (ASR) is the process of converting spoken audio into written text. Modern ASR systems are powered by advanced AI models, which have significantly improved in quality and accuracy over the last few years, even in challenging environments such as noisy backgrounds or heavily accented speech. These models are actively improved and new versions are released every couple of months.

However, ASR can still struggle with overlapping speakers, and accuracy may be lower than that of professional human captioners. Despite these limits, ASR remains highly accessible, fast and cost-effective, making it a strong option for many use cases.

## ASR Engines [#asr-engines]

Line 21 offers several ASR engines and automatically recommends the best fit based on the language spoken in your audio. Each engine has unique capabilities such as speaker diarization, custom vocabulary support, or audio event detection (e.g., music or laughter).

Because every use case is different, Line 21 lets you choose the engine that matches your needs and helps you get the most out of speech recognition.

Here a list of engines with capabilities:

| ASR Engine | Diarisation | Code Switching | Audio Events | Supported Languages |
| --- | --- | --- | --- | --- |
| Speechmatics | ✓ | – | ✓ | 55 |
| Gladia | – | ✓ | – | 104 |
| Deepgram Nova | – | – | – | 68 |
| AWS Transcribe | – | ✓ | – | 43 |

## Languages [#languages]

Not all languages are supported by ASR technology, but Line 21 currently supports 126, covering most global use cases.

We also support limited &#x2A;*[code switching](#code-switching)** for scenarios where multiple languages appear in the same audio.

### Supported languages [#supported-languages]

| Language | Code | ASR Engines |
| --- | --- | --- |
| Afrikaans | AF | AWS Transcribe, Gladia, MAI_TRANSCRIBE_2 |
| Albanian | SQ | Gladia |
| Amharic | AM | Gladia |
| Arabic | AR | Speechmatics, Gladia, Deepgram Nova, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Arabic (United Arab Emirates) | AR_AE | Deepgram Nova |
| Armenian | HY | Gladia, MAI_TRANSCRIBE_2 |
| Assamese | AS | Gladia, MAI_TRANSCRIBE_2 |
| Azerbaijani | AZ | Gladia, MAI_TRANSCRIBE_2 |
| Bashkir | BA | Speechmatics, Gladia |
| Basque | EU | Speechmatics, Gladia, AWS Transcribe |
| Belarusian | BE | Speechmatics, Gladia, Deepgram Nova |
| Bengali | BN | Gladia, Deepgram Nova, MAI_TRANSCRIBE_2 |
| Bosnian | BS | Gladia, Deepgram Nova, MAI_TRANSCRIBE_2 |
| Bulgarian | BG | Speechmatics, Deepgram Nova, Gladia, MAI_TRANSCRIBE_2 |
| Catalan | CA | Speechmatics, Deepgram Nova, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Chinese (Simplified) | ZH | Deepgram Nova, Speechmatics, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Croatian | HR | Speechmatics, Gladia, Deepgram Nova, AWS Transcribe |
| Czech | CS | Speechmatics, Gladia, Deepgram Nova, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Danish | DA | Deepgram Nova, Speechmatics, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Dutch | NL | Deepgram Nova, Speechmatics, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| English | EN | Speechmatics, Deepgram Nova, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Esperanto | EO | Speechmatics |
| Estonian | ET | Speechmatics, Deepgram Nova, Gladia, MAI_TRANSCRIBE_2 |
| Faroese | FO | Gladia |
| Finnish | FI | Speechmatics, Deepgram Nova, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| French | FR | Deepgram Nova, Speechmatics, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Galician | GL | Speechmatics, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Georgian | KA | Gladia |
| German | DE | Deepgram Nova, Speechmatics, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Greek | EL | Speechmatics, Deepgram Nova, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Gujarati | GU | Gladia, MAI_TRANSCRIBE_2 |
| Haitian Creole | HT | Gladia |
| Hausa | HA | Gladia |
| Hawaiian | HAW | Gladia |
| Hebrew | HE | Speechmatics, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Hindi | HI | Deepgram Nova, Speechmatics, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Hungarian | HU | Speechmatics, Gladia, Deepgram Nova, MAI_TRANSCRIBE_2 |
| Icelandic | IS | Gladia, MAI_TRANSCRIBE_2 |
| Indonesian | ID | Deepgram Nova, Speechmatics, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Italian | IT | Speechmatics, Deepgram Nova, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Japanese | JA | Deepgram Nova, Speechmatics, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Javanese | JV | Gladia |
| Kannada | KN | Gladia, Deepgram Nova, MAI_TRANSCRIBE_2 |
| Kazakh | KK | Gladia, MAI_TRANSCRIBE_2 |
| Khmer | KM | Gladia |
| Korean | KO | Deepgram Nova, Speechmatics, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Lao | LO | Gladia |
| Latin | LA | Gladia |
| Latvian | LV | Speechmatics, Deepgram Nova, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Lingala | LN | Gladia |
| Lithuanian | LT | Speechmatics, Deepgram Nova, Gladia, MAI_TRANSCRIBE_2 |
| Luxembourgish | LB | Gladia |
| Macedonian | MK | Gladia, Deepgram Nova, MAI_TRANSCRIBE_2 |
| Malagasy | MG | Gladia |
| Malay | MS | Speechmatics, Deepgram Nova, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Malayalam | ML | Gladia, MAI_TRANSCRIBE_2 |
| Maltese | MT | Gladia |
| Maori | MI | Gladia |
| Marathi | MR | Speechmatics, Gladia, Deepgram Nova, MAI_TRANSCRIBE_2 |
| Mongolian | MN | Speechmatics, Gladia |
| Myanmar (Burmese) | MY | Gladia |
| Nepali | NE | Gladia, MAI_TRANSCRIBE_2 |
| Norwegian | NO | Deepgram Nova, Speechmatics, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Nynorsk | NN | Gladia |
| Occitan | OC | Gladia |
| Pashto | PS | Gladia |
| Persian | FA | AWS Transcribe, Gladia, MAI_TRANSCRIBE_2 |
| Polish | PL | Deepgram Nova, Speechmatics, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Portuguese | PT | Deepgram Nova, Speechmatics, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Punjabi | PA | Gladia, MAI_TRANSCRIBE_2 |
| Romanian | RO | Speechmatics, Deepgram Nova, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Russian | RU | Deepgram Nova, Speechmatics, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Sanskrit | SA | Gladia |
| Serbian | SR | AWS Transcribe, Gladia, Deepgram Nova |
| Shona | SN | Gladia |
| Sindhi | SD | Gladia |
| Sinhala (Sinhalese) | SI | Gladia |
| Slovak | SK | Speechmatics, Deepgram Nova, Gladia, MAI_TRANSCRIBE_2 |
| Slovenian | SL | Speechmatics, Gladia, MAI_TRANSCRIBE_2 |
| Somali | SO | Gladia |
| Spanish | ES | Speechmatics, Deepgram Nova, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Sundanese | SU | Gladia |
| Swahili | SW | Speechmatics, Gladia, MAI_TRANSCRIBE_2 |
| Swedish | SV | Deepgram Nova, Speechmatics, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Tagalog (Filipino) | TL | AWS Transcribe, Gladia, Deepgram Nova, MAI_TRANSCRIBE_2 |
| Tajik | TG | Gladia |
| Tamasheq | TAQ | Deepgram Nova |
| Tamil | TA | Deepgram Nova, Speechmatics, Gladia, MAI_TRANSCRIBE_2 |
| Tatar | TT | Gladia |
| Telugu | TE | Gladia, Deepgram Nova, MAI_TRANSCRIBE_2 |
| Thai | TH | Speechmatics, Deepgram Nova, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Tibetan | BO | Gladia |
| Turkish | TR | Deepgram Nova, Speechmatics, Gladia, MAI_TRANSCRIBE_2 |
| Turkmen | TK | Gladia |
| Ukrainian | UK | Deepgram Nova, Speechmatics, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Urdu | UR | Gladia, MAI_TRANSCRIBE_2 |
| Uyghur | UG | Speechmatics |
| Uzbek | UZ | Gladia |
| Vietnamese | VI | Speechmatics, Deepgram Nova, Gladia, AWS Transcribe, MAI_TRANSCRIBE_2 |
| Welsh | CY | Speechmatics, Gladia |
| Wolof | WO | Gladia |
| Yiddish | YI | Gladia |
| Yoruba | YO | Gladia |
| Zulu | ZU | AWS Transcribe |

### Code switching [#code-switching]

In some situations, multiple languages are spoken within the same conversation. **Code switching** allows an ASR engine to expect and recognise more than one language.\
When enabled, the engine can detect which language is being used at any moment. Line 21 can also cross-translate between the languages detected.\&#xA;To use this feature, create a &#x2A;*[multi-language input](/docs/languages#single-language-vs-multilingual-projects)** to enable automatic code switching.

## Diarisation [#diarisation]

Diarisation is the process of separating audio by speaker.\
When an engine supports and enables diarisation, each speaker's lines are identified and separated. Captions will reflect speaker changes clearly, helping viewers follow who is talking at any moment.

## AV Feeds [#av-feeds]

ASR can process either **direct audio inputs** or **audio extracted from video**.\
If you're using one of the video ingestion methods available in Line 21, the system will automatically handle the audio for ASR.\&#xA;See the documentation on &#x2A;*[Audio feeds](/docs/feeds/audio)*&#x2A; and &#x2A;*[Audio/Video feeds](/docs/feeds/video)** for more details.

## Context [#context]

Line 21's recognition quality is enhanced by our &#x2A;*[AI context](/docs/ai-services/ai-context)** system.\
The context contains all known information about your event: names, terminology, keywords, technical concepts, and more.\
When the context is processed, Line 21 generates a custom vocabulary for the ASR engine, ensuring that specific terms are understood correctly and improving accuracy beyond standard ASR models.

## Troubleshooting [#troubleshooting]

If speech recognition accuracy is lower than expected, review the common issues below.\
Most ASR problems fall into one of these categories.

### Audio Quality Issues [#audio-quality-issues]

Poor audio is the main cause of ASR errors.

**Symptoms:**

* Words sound distorted, muffled, or clipped
* Volume is too low or too high
* Background noise overwhelms speech
* Audio “drops” or interruptions

**How to fix:**

* Make sure your microphone or audio source is correctly placed and not too far from the speaker.
* Avoid using built-in laptop microphones for important events.
* Reduce background noise (fans, music, chatter, AC units).
* If using AV feeds, verify the audio track being ingested is the cleanest available.
* Check your audio format and ensure it matches the engine's requirements.
* Check internet connection and ensure it is stable.

### Missing Vocabulary [#missing-vocabulary]

If specific words are not recognised (names, cities, products, institutions), the issue is usually the **AI Context**.

**How to fix:**

* Verify that your **AI Context** includes all relevant names, technical terms, abbreviations, and jargon.
* Add difficult words with phonetic hints if needed.
* Re-upload updated context before your event starts.
* See &#x2A;*[AI Context documentation](/docs/ai-services/ai-context)** for best practices.

### Speaker Overlapping [#speaker-overlapping]

ASR engines still struggle when people talk simultaneously.

**Symptoms:**

* Words become jumbled
* Parts of sentences disappear
* Accuracy drops only during fast interactions or debates

**How to fix:**

* Encourage speakers to avoid overlapping speech.
* If possible, normalise the audio so speakers have similar volume.
* Enable **Diarisation** (if supported by the chosen engine) to help distinguish speakers.

### Wrong Language [#wrong-language]

If parts of the transcript appear in the wrong language, check your language settings.

**How to fix:**

* Confirm you selected the correct language for the project.
* If the content includes multiple languages, configure **Code Switching** and create a **multi-language input**.
* See &#x2A;*[Languages](/docs/languages)** for configuration guidance.

### Engine Limitations [#engine-limitations]

Different engines have different strengths.

**How to fix:**

* Try switching to another ASR engine optimised for your language or use case.
* Review which engines support diarisation, vocabulary, or special audio events.
* See &#x2A;*[ASR Engines](#asr-engines)** for recommendations.

### Still having issues? [#still-having-issues]

If the problem persists, [contact us](https://line21.com/contact) and we'll be happy to help you troubleshoot.
