Speaker Verification (ID)
The Speaker Verification (ID) module in soundKIT enables robust, on-device voice-based identity recognition. Designed for low-power edge devices, this module verifies whether a given voice sample matches a registered speaker.
It supports:
- ✅ Data preparation
- ✅ Model training
- ✅ Evaluation
- ✅ Model export
- ✅ PC/EVB-based demo inference
Built for deployment on Ambiq’s ultra-low power MCUs, the ID module ensures fast, secure, and private authentication directly on-device.
📘 Try it now: Explore the ID Tutorial Notebook to get started.
Features
- Voiceprint-based speaker identity verification
- ResNet-style embedding model with contrastive loss
- Enrollment and matching modes
- TFLite and C-array export for embedded inference
- PC-based and EVB-based real-time demo pipelines
Install soundKIT
Refer to the QuickStart Guide for installation and setup instructions.
ID Task Modes
Use the soundkit CLI to run ID tasks through different modes using a configuration file like id.yaml.
id.yaml
name: galaxy_id
project: id
job_dir: ./soundkit/tasks/${project}
...
ID Task Mode Overview
Prepares utterances from multiple speakers with augmentations for training the speaker embedding network.
soundkit -t id -m data -c configs/id/id.yaml
See Data for dataset setup.
Trains a speaker verification model using contrastive learning and embedding normalization.
soundkit -t id -m train -c configs/id/id.yaml
Optional: run TensorBoard for live training metrics:
soundkit -t id -m train --tensorboard -c configs/id/id.yaml
See Train for training details.
Measures model accuracy
soundkit -t id -m evaluate -c configs/id/id.yaml
See Evaluate for evaluation metrics.
Converts the trained model to TFLite and C formats for embedded use.
soundkit -t id -m export -c configs/id/id.yaml
See Export for export options.
Runs real-time speaker enrollment and verification demo on PC or EVB using the exported model. We suggest to try on PC first for fast evaluation and then EVB.
soundkit -t id -m demo -c configs/id.yaml demo.platform=pc
# or
soundkit -t id -m demo -c configs/id.yaml demo.platform=evb
See Demo to test speaker recognition live.