Troubleshooting
Missing SDK license key
Symptom:
Arctan SDK license key is required; pass license_key or set ARCTAN_SDK_KEY
Fix:
export ARCTAN_SDK_KEY="arc_sk_live_..."
or pass license_key directly to the integration constructor.
SDK license key validation failed
SDK license key validation happens before audio processing starts. Check that:
- The SDK license key is valid for the environment.
- The agent process has outbound HTTPS access.
- Proxies or firewalls allow outbound HTTPS.
- System time is accurate.
Sample rate changed
Symptom:
Audio sample rate changed after Arctan was initialized
Fix the upstream audio source so one processor instance receives one stable sample rate for its lifetime.
Frame does not contain complete processing blocks
LiveKit frames must contain a whole number of Arctan processing blocks. If the SDK raises a block-alignment error, adjust upstream frame sizing so each frame maps to complete processing blocks at the selected sample rate.
Pipecat buffers partial processing blocks, so any complete-sample chunk size is accepted.
Pipecat returns empty bytes
ArctanAudioFilter.filter() returns b"" when the current input chunk does not
complete one processing block. Pipecat should continue feeding audio; processed
bytes are returned when enough audio has been buffered.
Pipecat filter called before start
Symptom:
ArctanAudioFilter.start() must be called before filter()
The filter is designed to be owned by a Pipecat transport. If you call it
manually, call await filter.start(sample_rate) before await filter.filter(audio).
Pipecat odd byte count
Symptom:
Pipecat audio must contain complete int16 PCM samples
Ensure the transport sends complete PCM16 samples. PCM16 uses two bytes per sample.