---
title: "Language Identifier"
slug: "dataflow-nodes-language-identifier"
updated: 2026-02-10T04:34:08Z
published: 2026-02-10T04:34:08Z
canonical: "docs.knovvu.com/dataflow-nodes-language-identifier"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.knovvu.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Language Identifier

Performs language identification on provided audio.

## Parameters
| <div style="width:170px">name</div> | description | <div style="width:120px">default</div> |
|---|---|---|
| ConfidenceThreshold| Language detection results with less confidence than this value will be ignored. This value should be between 0.0 and 1.0 | 0.75 |
| Languages | SemiColon separated, list of languages for language detection service to treat as candidates. If left empty, all the known languages by the service will be evaluated. It is good practice to provide a list with only the possible languages if you have a limited target audience. This increases detection correctness. eg. tr-TR;en-US |  |
|MinimumSegmentDuration(ms)|Sets minimum duration for speech to be sent to the Language Identifier Service |3000|

## Inputs

### Audio
&emsp;Accepts audio from a single channel. 

:::(Warning) (Important Note)
Note that passing the audio through a VAD or Audio Segmenter before sending to this node is required. Directly connecting the [Entry node](/v1/docs/dataflow-nodes-entry){target=`_blank`} audio output to the Language Identifier will result in no outputs. 
:::

### Events
| name | description | known nodes that generate this event |
|---|---|---|
| [Start Of Segment](/v1/docs/events#start-of-segment) | Signals the start of a speech segment. | Audio Segmenter |
| [Speech Started](/v1/docs/events#speech-started) | Signals the start of speech in realtime. | Vad |
| [End Of Segment](/v1/docs/events#end-of-segment)| Signals the end of a speech segment. | Audio Segmenter |
| [Speech Ended](/v1/docs/events#speech-ended)| Signals the end of speech in realtime. | Vad |

## Outputs

### Audio
&emsp; One Channel Segmented Audio

### Events
| name | description |
|---|---|
| [Language Change](/v1/docs/events#language-change)| Raised when language change has been detected. |
| [Language Detected](/v1/docs/events#language-detected)| Raised for every analyzed utterance. |
| [Start Of Segment](/v1/docs/events#start-of-segment)| Signals the start of a speech segment. |
| [End Of Segment](/v1/docs/events#end-of-segment)| Signals the start of a speech segment. |




## Remarks  
- This node produces events that can trigger changes on other nodes' behavior. eg. [SR Http](/v1/docs/dataflow-nodes-speech-recognition-sr-http){target=`_blank`} node changes the model accordingly when it receives a language change event.
- For a Language Change event to be raised, the received audio segment needs to be longer than `MinimumSegmentDuration(ms)`, with the confidence of identification being higher than "ConfidenceThreshold".
- The Language Identifier service performs best with segments that are 5 seconds. The segments that diverge from this value will have lower confidence scores.
:::(Info) (Important Note)
Language Identifier behaves as a Pass-Through node for audio segments. This means we can connect nodes like [SR Http](/v1/docs/dataflow-nodes-speech-recognition-sr-http){target=`_blank`} directly to the output of Language Identifier. Which will ensure that each segment of audio has the chance to change the transcription language. 
:::

### Requirements  

#### Project Requirements
- The node needs to be connected to a [VAD or an Audio Segmenter](/v1/docs/dataflow-nodes-audio-splitters){target=`_blank`}.

### Detailed Workflow
- The node waits for a whole audio segment.
- When "Speech Ended" or "End of Segment" event is received, the node checks if the length of segment is higher than **MinimumSegmentDuration**.
- If the segment length is higher than **MinimumSegmentDuration**, The segment is sent to the Audio Language Identifier service. 
    - If the length is lower than **MinimumSegmentDuration**, ***the node will just output the audio segment***.
- If the confidence of identification is lower than the threshold, or the identified language is the same as before, ***the node will just output the audio segment***.
- If the language is identified as different from the current language, the node will ***send the Language Change event*** and ***output the audio segment consecutively***.
-  
### Supported flow types 
Stream, Batch

## Release Notes 

<div style="max-height: 200px; overflow-y: auto; overflow-x: hidden">
     <details>
        <summary> <strong> v4.5.0</strong> </summary>
        <ul>
            <li>Removed 'Address' and 'Ignore SSL Errors' from parameters. </li>
        </ul>
    </details>
     <details>
        <summary> <strong> v4.1.0</strong> </summary>
        <ul>
            <li>Fixed a bug that caused the node to send every detected language as a "Language Change" event.</li>
            <li>Added `Language Detected` event that is sent on each detection.</li>
        </ul>
    </details> 
    <details>
        <summary> <strong> v3.3.0</strong> </summary>
        <ul>
            <li>Added Minimum Segment Duration Parameter.</li>
        </ul>
    </details>
    <details>
        <summary> <strong> v3.2.0</strong> </summary>
        <ul>
            <li>The node is now project type agnostic. It doesn't behave differently between batch and stream projects.</li>
        </ul>
    </details>
    <details>
        <summary> <strong> v3.1.0</strong> </summary>
        <ul>
            <li>Fixed a rarely observed crash while responding to Stop</li>
        </ul>
    </details>
    <details>
        <summary> <strong> v1.0.0</strong> </summary>
        <ul>
            <li>Introduced node.</li>
        </ul>
    </details>
</div>
