Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
Initialize → kInvalidParameters | Missing apiKey | Set InitParams.apiKey before calling Initialize. |
Initialize → kInitializationFailed | Auth or DNS failure | Verify the API key. Check network/DNS connectivity to the Sanas cloud. |
CreateAudioProcessor → kUnsupportedSampleRate | Invalid sample rate | Use 8000, 16000, or 48000 Hz. |
CreateAudioProcessor → kInvalidParameters | Misconfigured AudioParams | For LT: both languageIn and languageOut must be non-empty. Do not set modelName when using WithLanguages. |
CreateAudioProcessor → kProcessorLimitReached | Too many concurrent processors | Destroy idle processors before creating new ones. |
| Output is silence | Processor not yet kReady | Wait for onState(kReady) before calling ProcessSamples. Check for kFailed / kDisconnected. |
Processor never reaches kReady | Auth or entitlement issue | Confirm LT is enabled for your account. Check SDK log files. |
| Choppy or distorted audio | Wrong format or pacing | Verify mono float −1..1, correct sample rate, ~20 ms frame rate. Increase jitter buffer prefetch on high-latency networks. |
| No transcript events | Missing callback | Pass a non-null TranscriptCallback as the 4th argument to CreateAudioProcessor. |
Log files are written to the directory specified by
InitParams.logPath (default: working directory). Include log files when contacting Sanas support.Support & resources
| Resource | Details |
|---|---|
| Developer Console | Manage API keys and view account entitlements. |
| Sample code | remote_sdk_example_lt.cc ships with the SDK — a ready-to-build LT example. |
| SDK version | Available at runtime: sanas::remote::GetSDKVersion() |
| Log files | Written to InitParams.logPath — include when contacting support. |
| Support | Contact your Sanas account representative or reach support via the Developer Console. |