Overview
AWSTranscribeSTTService
provides real-time speech recognition using Amazon Transcribe’s WebSocket streaming API with support for interim results, multiple languages, and configurable audio processing parameters.
API Reference
Complete API documentation and method details
AWS Transcribe Docs
Official AWS Transcribe documentation and features
Example Code
Working example with AWS services integration
Installation
To use AWS Transcribe services, install the required dependency:AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
(if using temporary credentials)AWS_REGION
(defaults to “us-east-1”)
Get your AWS credentials by setting up an IAM user with Amazon Transcribe
access in your AWS Console.
Frames
Input
InputAudioRawFrame
- Raw PCM audio data (16-bit, 8kHz or 16kHz, mono)STTUpdateSettingsFrame
- Runtime transcription configuration updatesSTTMuteFrame
- Mute audio input for transcription
Output
InterimTranscriptionFrame
- Real-time transcription updatesTranscriptionFrame
- Final transcription resultsErrorFrame
- Connection or processing errors
Language Support
AWS Transcribe supports multiple languages with regional variants:Language Code | Description | Service Codes |
---|---|---|
Language.AF | Afrikaans | af-ZA |
Language.AF_ZA | Afrikaans (South Africa) | af-ZA |
Language.AR | Arabic (Modern Standard) | ar-SA |
Language.AR_AE | Arabic (Gulf) | ar-AE |
Language.AR_SA | Arabic (Modern Standard) | ar-SA |
Language.EU | Basque | eu-ES |
Language.EU_ES | Basque (Spain) | eu-ES |
Language.CA | Catalan | ca-ES |
Language.CA_ES | Catalan (Spain) | ca-ES |
Language.ZH | Chinese (Simplified) | zh-CN |
Language.ZH_CN | Chinese (Simplified) | zh-CN |
Language.ZH_TW | Chinese (Traditional) | zh-TW |
Language.ZH_HK | Chinese (Cantonese) | zh-HK |
Language.YUE | Cantonese | zh-HK |
Language.HR | Croatian | hr-HR |
Language.HR_HR | Croatian (Croatia) | hr-HR |
Language.CS | Czech | cs-CZ |
Language.CS_CZ | Czech (Czech Republic) | cs-CZ |
Language.DA | Danish | da-DK |
Language.DA_DK | Danish (Denmark) | da-DK |
Language.NL | Dutch | nl-NL |
Language.NL_NL | Dutch (Netherlands) | nl-NL |
Language.EN | English (US) | en-US |
Language.EN_AU | English (Australian) | en-AU |
Language.EN_GB | English (British) | en-GB |
Language.EN_IN | English (Indian) | en-IN |
Language.EN_IE | English (Irish) | en-IE |
Language.EN_NZ | English (New Zealand) | en-NZ |
Language.EN_ZA | English (South African) | en-ZA |
Language.EN_US | English (US) | en-US |
Language.FA | Persian/Farsi | fa-IR |
Language.FA_IR | Persian/Farsi (Iran) | fa-IR |
Language.FI | Finnish | fi-FI |
Language.FI_FI | Finnish (Finland) | fi-FI |
Language.FR | French (France) | fr-FR |
Language.FR_FR | French (France) | fr-FR |
Language.FR_CA | French (Canadian) | fr-CA |
Language.GL | Galician | gl-ES |
Language.GL_ES | Galician (Spain) | gl-ES |
Language.KA | Georgian | ka-GE |
Language.KA_GE | Georgian (Georgia) | ka-GE |
Language.DE | German (Germany) | de-DE |
Language.DE_DE | German (Germany) | de-DE |
Language.DE_CH | German (Swiss) | de-CH |
Language.EL | Greek | el-GR |
Language.EL_GR | Greek (Greece) | el-GR |
Language.HE | Hebrew | he-IL |
Language.HE_IL | Hebrew (Israel) | he-IL |
Language.HI | Hindi | hi-IN |
Language.HI_IN | Hindi (India) | hi-IN |
Language.ID | Indonesian | id-ID |
Language.ID_ID | Indonesian (Indonesia) | id-ID |
Language.IT | Italian | it-IT |
Language.IT_IT | Italian (Italy) | it-IT |
Language.JA | Japanese | ja-JP |
Language.JA_JP | Japanese (Japan) | ja-JP |
Language.KO | Korean | ko-KR |
Language.KO_KR | Korean (South Korea) | ko-KR |
Language.LV | Latvian | lv-LV |
Language.LV_LV | Latvian (Latvia) | lv-LV |
Language.MS | Malay | ms-MY |
Language.MS_MY | Malay (Malaysia) | ms-MY |
Language.NB | Norwegian Bokmål | no-NO |
Language.NB_NO | Norwegian Bokmål (Norway) | no-NO |
Language.NO | Norwegian | no-NO |
Language.PL | Polish | pl-PL |
Language.PL_PL | Polish (Poland) | pl-PL |
Language.PT | Portuguese (Portugal) | pt-PT |
Language.PT_PT | Portuguese (Portugal) | pt-PT |
Language.PT_BR | Portuguese (Brazil) | pt-BR |
Language.RO | Romanian | ro-RO |
Language.RO_RO | Romanian (Romania) | ro-RO |
Language.RU | Russian | ru-RU |
Language.RU_RU | Russian (Russia) | ru-RU |
Language.SR | Serbian | sr-RS |
Language.SR_RS | Serbian (Serbia) | sr-RS |
Language.SK | Slovak | sk-SK |
Language.SK_SK | Slovak (Slovakia) | sk-SK |
Language.SO | Somali | so-SO |
Language.SO_SO | Somali (Somalia) | so-SO |
Language.ES | Spanish (Spain) | es-ES |
Language.ES_ES | Spanish (Spain) | es-ES |
Language.ES_US | Spanish (US) | es-US |
Language.SV | Swedish | sv-SE |
Language.SV_SE | Swedish (Sweden) | sv-SE |
Language.TL | Tagalog | tl-PH |
Language.FIL | Filipino | tl-PH |
Language.FIL_PH | Filipino (Philippines) | tl-PH |
Language.TH | Thai | th-TH |
Language.TH_TH | Thai (Thailand) | th-TH |
Language.UK | Ukrainian | uk-UA |
Language.UK_UA | Ukrainian (Ukraine) | uk-UA |
Language.VI | Vietnamese | vi-VN |
Language.VI_VN | Vietnamese (Vietnam) | vi-VN |
Language.ZU | Zulu | zu-ZA |
Language.ZU_ZA | Zulu (South Africa) | zu-ZA |
AWS Transcribe supports additional languages and regional variants. See the
AWS
documentation
for a complete list.
Usage Example
Basic Configuration
Initialize theAWSTranscribeSTTService
and use it in a pipeline:
Dynamic Configuration
Make settings updates by pushing anSTTUpdateSettingsFrame
for the AWSTranscribeSTTService
:
Metrics
The service provides:- Time to First Byte (TTFB) - Latency from audio input to first transcription
- Processing Duration - Total time spent processing audio
Learn how to enable Metrics in your Pipeline.
Additional Notes
- Sample Rate: Supports 8kHz and 16kHz sample rates. Other rates are automatically resampled to 16kHz.
- Connection Management: Handles WebSocket connections with automatic reconnection and proper connection state management.
- Credentials: Supports both environment variables and explicit credential parameters for flexible deployment
- Error Handling: Comprehensive error handling with graceful degradation and connection recovery