Skip to content

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:

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.