2.6 KiB
2.6 KiB
Quick Start Guide
Installation
# Install dependencies
pip install -r requirements.txt
Basic Usage
1. Run Your First Test
python test_latency.py \
--serial-number "SN001234" \
--software-version "initial" \
--comment "First test run"
What happens:
- Auto-detects your Scarlett audio interface
- Plays chirp signal and measures latency (5 measurements by default)
- Records input/output on both channels
- Calculates average, min, max, and standard deviation of latency
- Saves results to
test_results/YYYYMMDD_HHMMSS_latency/YYYYMMDD_HHMMSS_latency_results.yaml
2. View Results
# List all test results
python view_results.py --list
# View specific test (example)
python view_results.py test_results/20260226_123456_results.yaml
# View example result
python view_results.py example_test_result.yaml
3. Compare Different Units
Run multiple tests with different metadata:
# Test unit SN001234
python test_latency.py --serial-number "SN001234" --software-version "abc123"
# Test unit SN001235 with more measurements
python test_latency.py --serial-number "SN001235" --software-version "abc123" --measurements 10
# Compare by viewing both YAML files
python view_results.py test_results/20260226_120000_latency/20260226_120000_latency_results.yaml
python view_results.py test_results/20260226_130000_latency/20260226_130000_latency_results.yaml
Understanding the Output
Each latency test produces:
- Average Latency (ms): Mean delay across all measurements
- Min/Max Latency (ms): Range of measured values
- Standard Deviation (ms): Consistency of measurements (lower is better)
Good values:
- Latency: Depends on your system (audio interface typically < 10ms)
- Standard Deviation: < 1ms (consistent measurements)
- Latency: < 5 ms for loopback
Configuration
Edit config.yaml to customize test parameters:
audio:
sample_rate: 44100
channels: 2
device_name: "Scarlett"
output:
results_dir: "test_results"
save_plots: true
python -c "import sounddevice as sd; print(sd.query_devices())"
Update device_name in config.yaml to match your device.
Troubleshooting
Audio device not found:
python -c "import sounddevice as sd; print(sd.query_devices())"
Update device_name in config.yaml to match your device.
Permission errors: Make scripts executable (Linux/Mac):
chmod +x run_test.py view_results.py
Next Steps
- Run baseline tests with known-good hardware
- Test different PCB revisions
- Track software version changes
- Archive YAML files for long-term tracking
- Build comparison scripts as needed