Skip to content

Python client to AWS Transcribe streaming service with identifying multiple languages support

0

I am trying to build a python client to the AWS transcribe streaming service with identifying multiple languages support. However, I could not find parameters "identify_multiple_languages" and "language_options" in the python SDK (Github: TranscribeStreamingClient and StartStreamTranscriptionRequest):

class TranscribeStreamingClient:
   async def start_stream_transcription(...):
     ... [NO identify_multiple_languages or language_options]
class StartStreamTranscriptionRequest:
   ...  [NO identify_multiple_languages or language_options]

The python github commit history shows the the last change was from a year ago.

By comparison, I am able to find the multiple languages support in the SDKs for JavaScript and Java:

JavaScript client SDK (github):

StartStreamTranscriptionRequest:
   IdentifyMultipleLanguages?: boolean | undefined;
   LanguageOptions?: string | undefined;

Java client SDK (github):

StartStreamTranscriptionRequest:
   LanguageOptions,
   IdentifyMultipleLanguages

Am I missing something? or the multiple languages identification is available in JavaScript or Java SDK, but not python.

3 Answers
0

You are correct in your observation that the Python SDK for Amazon Transcribe streaming does not currently support the multiple language identification features that are available in the JavaScript and Java SDKs.

The standard AWS SDK for Python (Boto3) is not supported for Amazon Transcribe streaming. Instead, Amazon recommends using an async Python SDK specifically designed for Amazon Transcribe streaming. However, it appears that this async SDK has not been updated recently to include the multiple language identification features.

The absence of the identify_multiple_languages and language_options parameters in the Python SDK, while they are present in the JavaScript and Java SDKs, suggests that the Python SDK is lagging behind in terms of feature parity.

Given that the last commit to the Python SDK was about a year ago, it's likely that these features have not yet been implemented in the Python version. This discrepancy in feature availability across different language SDKs is not uncommon, especially for newer or less frequently used features.

If you need to use multiple language identification with streaming transcription in Python, you might need to consider alternative approaches. These could include:

  1. Using the JavaScript or Java SDK if your project allows for it.
  2. Implementing a custom solution using the HTTP/2 streaming API directly, which does support multiple language identification.
  3. Checking for any beta or development versions of the Python SDK that might include these features.
  4. Reaching out to AWS support or the SDK maintainers to inquire about the timeline for implementing these features in the Python SDK.

It's worth noting that while these features are not available in the streaming Python SDK, they are available for batch transcription jobs using the standard Boto3 SDK for Python.
Sources
Transcribing with the AWS SDKs - Amazon Transcribe
Language identification with streaming transcriptions - Amazon Transcribe
Code examples for Amazon Transcribe Streaming using AWS SDKs - AWS SDK Code Examples

answered 2 years ago

0

Hi,

You have here a full sample with all Python code of "Live Streaming with Automated Multi-Language Subtitling": https://github.com/awslabs/live-streaming-with-automated-multi-language-subtitling

Enter image description here

So, you should find in it the code snippets that you need for your own use case,

Best,

Didier

EXPERT

answered 2 years ago

0

The sample code in the link above is for "Multi-Langauge Subtitling", which refers to multiple language translation. Here is from the Readme:

Additional considerations

This project allows for a single input language and up to five translated caption languages.

My question is about multiple language support in the python SDK of "Amazon Transcribe Streaming", not about the "Amazon Translation".

answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.