tyto-1.1-l-16khz. File analysis runs locally in the SDK.
The script uses FileAnalyzer and adapts the released Python file-analysis example. For live input, use real-time analysis.
Set up
Use Python 3.12 or newer, an SDK key inAIC_SDK_LICENSE and a folder of WAV or FLAC recordings. Select the human/user channel before scoring. The example rejects multi-channel recordings so it cannot silently mix two sides of a conversation.
Create the script
Save asanalyze_calls.py. The example analyzes full 5 s windows at 1 s steps for an overlapping review timeline. Each window requires a full model pass. Use larger steps for lower-cost batch triage when your viewer supports the changed cadence.
Run it on your recordings
./models; provision it separately for controlled deployments. The decoder supplies mono float32 samples at their actual rate. The collector handles supported host rates internally, so Tyto’s native 16 kHz rate does not require external resampling.
In this release,
FileAnalyzer.analyze() returns one silence-padded result for input at or below 5 s, including very short input. This tutorial explicitly skips recordings shorter than 5 s to keep its comparisons on complete windows. That is an example policy, not an SDK minimum-length error.Review the results
Start with the JSON and the Tyto dimension reference. Inspect the highest-risk calls, listen to representative recordings and compare with actual downstream failures.speaker_loudness is a level indicator; high values are not automatically degradation.
Use means, percentiles and the fraction of flagged windows for triage. Document your threshold and step size. The score is an audio indicator, not a guaranteed STT error rate or a diagnosis of the network component that caused an artifact.
Upload to the dashboard
The call-analysis dashboard provides a visual review path foranalysis.json. Use Load data and the Analysis JSON input. Only provide recordings through its audio input if your organization’s data policy permits it, and check the dashboard’s current format/cadence requirements before interpreting its timeline.
Keep the JSON, model ID, SDK version and STEP_SECONDS together. The JSON stores arrays rather than explicit per-window timestamps, so a viewer must use the same step size to place scores correctly. The local SDK script does not require a dashboard upload to complete analysis.
Troubleshooting
For a broader comparison of enhancement, speech-to-text and voice-agent behavior, use the evaluation guide.