Skip to content

Instantly share code, notes, and snippets.

@csiebler
Last active January 15, 2026 12:09
Show Gist options
  • Select an option

  • Save csiebler/fcbd06caaa3ccf75941880405adb0d40 to your computer and use it in GitHub Desktop.

Select an option

Save csiebler/fcbd06caaa3ccf75941880405adb0d40 to your computer and use it in GitHub Desktop.
Continuous Language Identification with Azure Speech running in containers

Start container

docker run --rm -it -p 5003:5003 --memory 1g --cpus 1 mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection Eula=accept Billing=https://xxxx.cognitiveservices.azure.com ApiKey=xxxx
import time
import json
import azure.cognitiveservices.speech as speechsdk
auto_detect_source_language_config = \
speechsdk.languageconfig.AutoDetectSourceLanguageConfig(languages=["ar-SA", "en-US"])
speech_config = speechsdk.SpeechConfig(host="http://localhost:5003")
# Creates an AudioConfig from a given WAV file
audio_config = speechsdk.audio.AudioConfig(filename="enar.wav")
# Creates a source language recognizer using a file as audio input, also specify the speech language
source_language_recognizer = speechsdk.SourceLanguageRecognizer(
speech_config=speech_config,
auto_detect_source_language_config=auto_detect_source_language_config,
audio_config=audio_config)
result = source_language_recognizer.recognize_once()
# Check the result
if result.reason == speechsdk.ResultReason.RecognizedSpeech:
detected_src_lang = result.properties[
speechsdk.PropertyId.SpeechServiceConnection_AutoDetectSourceLanguageResult]
print("Detected Language: {}".format(detected_src_lang))
elif result.reason == speechsdk.ResultReason.NoMatch:
print("No speech could be recognized: {}".format(result.no_match_details))
elif result.reason == speechsdk.ResultReason.Canceled:
cancellation_details = result.cancellation_details
print("Speech Language Detection canceled: {}".format(cancellation_details.reason))
if cancellation_details.reason == speechsdk.CancellationReason.Error:
print("Error details: {}".format(cancellation_details.error_details))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment