A method comprising: - performing, using at least one processor, feature extraction of input audio data to identify extracted features associated with the input audio data; - detecting, using the at least one processor, a language associated with each of multiple portions of the input audio data by processing the extracted features using a plurality of language models, each language model associated with a different language, wherein each language model is used to determine a probability that each portion of the input audio data is from a particular language; wherein detecting the language associated with each portion of the input audio data further comprises: concatenating the probabilities determined using the language models; and processing the concatenated probabilities using a neural classification model; characterised in that processing the concatenated probabilities using the neural classification model comprises: processing the concatenated probabilities using a plurality of temporal convolutional neural networks, wherein outputs from at least one of the temporal convolutional neural networks are normalized; averaging outputs or normalized outputs from a last of the temporal convolutional neural networks; and determining probabilities that specific languages are associated with specific portions of the input audio data based on the averaged outputs; and - directing, using the at least one processor, each portion of the input audio data to one of a plurality of automatic speech recognition, ASR, models based on the language associated with the portion of the input audio data, wherein different portions of the input audio data are provided to different ASR models if the different portions of the input audio data are associated with different languages. - performing, using at least one processor, feature extraction of input audio data to identify extracted features associated with the input audio data; - detecting, using the at least one processor, a language associated with each of multiple portions of the input audio data by processing the extracted features using a plurality of language models, each language model associated with a different language, wherein each language model is used to determine a probability that each portion of the input audio data is from a particular language; wherein detecting the language associated with each portion of the input audio data further comprises: concatenating the probabilities determined using the language models; and processing the concatenated probabilities using a neural classification model; characterised in that processing the concatenated probabilities using the neural classification model comprises: processing the concatenated probabilities using a plurality of temporal convolutional neural networks, wherein outputs from at least one of the temporal convolutional neural networks are normalized; averaging outputs or normalized outputs from a last of the temporal convolutional neural networks; and determining probabilities that specific languages are associated with specific portions of the input audio data based on the averaged outputs; and wherein each language model is used to determine a probability that each portion of the input audio data is from a particular language; wherein detecting the language associated with each portion of the input audio data further comprises: concatenating the probabilities determined using the language models; and processing the concatenated probabilities using a neural classification model; characterised in that processing the concatenated probabilities using the neural classification model comprises: processing the concatenated probabilities using a plurality of temporal convolutional neural networks, wherein outputs from at least one of the temporal convolutional neural networks are normalized; averaging outputs or normalized outputs from a last of the temporal convolutional neural networks; and determining probabilities that specific languages are associated with specific portions of the input audio data based on the averaged outputs; and concatenating the probabilities determined using the language models; and processing the concatenated probabilities using a neural classification model; characterised in that processing the concatenated probabilities using the neural classification model comprises: processing the concatenated probabilities using a plurality of temporal convolutional neural networks, wherein outputs from at least one of the temporal convolutional neural networks are normalized; averaging outputs or normalized outputs from a last of the temporal convolutional neural networks; and determining probabilities that specific languages are associated with specific portions of the input audio data based on the averaged outputs; and processing the concatenated probabilities using a plurality of temporal convolutional neural networks, wherein outputs from at least one of the temporal convolutional neural networks are normalized; averaging outputs or normalized outputs from a last of the temporal convolutional neural networks; and determining probabilities that specific languages are associated with specific portions of the input audio data based on the averaged outputs; and - directing, using the at least one processor, each portion of the input audio data to one of a plurality of automatic speech recognition, ASR, models based on the language associated with the portion of the input audio data, wherein different portions of the input audio data are provided to different ASR models if the different portions of the input audio data are associated with different languages.