Skip to content

STT AssemblyAI

The STT AssemblyAI operator transcribes audio data into text in real-time using AssemblyAI’s streaming Speech-to-Text API. It’s designed for live audio input, providing continuous transcription with options for turn detection and formatting.

  • An active AssemblyAI account and API key.
  • The assemblyai and websockets Python libraries installed in your TouchDesigner environment.
  • Input: The operator accepts a CHOP with audio data.
  • Output:
    • A DAT containing the full transcript.
    • A DAT containing segmented transcriptions with timestamps and confidence scores.
    • A DAT with session information.
Status (Status) op('stt_assemblyai').par.Status Str
Default:
None
Connected (Connected) op('stt_assemblyai').par.Connected Toggle
Default:
false
Streaming Active (Active) op('stt_assemblyai').par.Active Toggle
Default:
false
Connection Sttstatus (Sttstatus) op('stt_assemblyai').par.Sttstatus Str
Default:
Disconnected
Copy to Clipboard (Copytranscript) op('stt_assemblyai').par.Copytranscript Pulse
Default:
None
Sample Rate (Samplerate) op('stt_assemblyai').par.Samplerate Menu
Default:
16000
Options:
16000, 44100, 48000
Audio Encoding (Encoding) op('stt_assemblyai').par.Encoding Menu
Default:
pcm_s16le
Options:
pcm_s16le, pcm_mulaw
Clear Transcript (Cleartranscript) op('stt_assemblyai').par.Cleartranscript Pulse
Default:
None
Format Turns (Formatturns) op('stt_assemblyai').par.Formatturns Toggle
Default:
true
End of Turn Threshold (Endofturnthreshold) op('stt_assemblyai').par.Endofturnthreshold Float
Default:
0.7
Min End Turn Silence (ms) (Minendofturnsilence) op('stt_assemblyai').par.Minendofturnsilence Int
Default:
160
Max Turn Silence (ms) (Maxturnsilence) op('stt_assemblyai').par.Maxturnsilence Int
Default:
2400
Idle Timeout (minutes) (Idletimeout) op('stt_assemblyai').par.Idletimeout Int
Default:
5
Estimated Total Cost ($) (Estopcost) op('stt_assemblyai').par.Estopcost Float
Default:
0.0
STT Provider (Provider) op('stt_assemblyai').par.Provider Menu
Default:
assemblyai
Options:
assemblyai
AssemblyAI API Key (Apikey) op('stt_assemblyai').par.Apikey Str
Default:
API KEY LOADED (KeyManager)
Install Dependencies (Installdependencies) op('stt_assemblyai').par.Installdependencies Pulse
Default:
None
Bypass (Bypass) op('stt_assemblyai').par.Bypass Toggle
Default:
false
Show Built-in Parameters (Showbuiltin) op('stt_assemblyai').par.Showbuiltin Toggle
Default:
false
Show Icon (Showicon) op('stt_assemblyai').par.Showicon Toggle
Default:
true
Version (Version) op('stt_assemblyai').par.Version Str
Default:
1.0.0
Last Updated (Lastupdated) op('stt_assemblyai').par.Lastupdated Str
Default:
2025-07-28
Creator (Creator) op('stt_assemblyai').par.Creator Str
Default:
dotsimulate
Website (Website) op('stt_assemblyai').par.Website Str
Default:
https://dotsimulate.com
ChatTD Operator (Chattd) op('stt_assemblyai').par.Chattd OP
Default:
None
1. Connect an Audio Device In CHOP to the input of the STT AssemblyAI operator.
2. On the 'Install/Config' page, click 'Install Dependencies' if you haven't already.
3. Paste your AssemblyAI API key into the 'AssemblyAI API Key' parameter.
4. On the 'STTAssemblyAI' page, toggle 'Connected' to On.
5. Toggle 'Streaming Active' to On.
6. The transcribed text will appear in the output DATs.
7. **IMPORTANT:** Toggle 'Connected' to Off when you are finished to avoid unnecessary charges.
  • For best results, use a sample rate of 16kHz.
  • Adjust the ‘End of Turn Threshold’ and silence parameters to fine-tune how the operator detects pauses in speech.
  • If you’re having connection issues, check your API key and ensure the assemblyai and websockets libraries are installed.
  • On macOS, you may need to install the certifi package to ensure proper SSL certificate handling. The operator attempts to handle this automatically.
  • This operator uses AssemblyAI’s Universal-Streaming model, which is optimized for real-time transcription with low latency.
  • The Format Turns parameter is enabled by default in this operator to provide more readable transcripts with punctuation and casing. This differs from the AssemblyAI API default.
  • The Idle Timeout parameter is a feature of this operator and not a direct feature of the AssemblyAI API. It is intended to help manage connection persistence, but as noted in the warning above, it is not a reliable method for preventing charges.
  • AssemblyAI supports data residency only in the US and EU.