Skip to content

live-enroll

Interactive command-line phrase spotter enrollment, using the default audio capture device.

live-enroll.c

Usage

Enrolls TrulyNatural SDK wake words on live audio.

usage: live-enroll -t task [options] +user1 [+user2 ...] [file ...]
 options:
  -e enrollments   : enrollment context output filename
  -o out           : enrolled model output filename (default: enrolled-sv.snsr)
  -p prefix        : capture each enrollment to file as
                     <prefix>-<user>-{pass,fail}-<index>.wav
  -s setting=value : override a task setting
  -t task          : specify task filename (required)
  -v [-v [-v]]     : increase verbosity

Enrollment audio is captured from the default microphone, unless
the optional [file ...] arguments are supplied.

Settings are strings used as keys to query or change task behavior.
Most frequently used for enrollment is accuracy, which takes a value
between 0 and 1.
Refer to the TrulyNatural SDK documentation for a complete list and
descriptions of all supported settings.

Examples

Enroll two phrases interactively on a Raspberry Pi 3.

% cd sample/c
% make -s -j4 all
% bin/live-enroll -v -t ../../model/udt-universal-3.67.1.0.snsr \
    +hey-sensory +hello-voice-genie

Say the enrollment phrase (1/4) for "hey-sensory"
Recording:   3.46 s
Preliminary enrollment checks passed.

Say the enrollment phrase (2/4) for "hey-sensory"
Recording:   3.41 s
Preliminary enrollment checks passed.

Say the enrollment phrase (3/4) for "hey-sensory" with context,
  for example: "<phrase> will it rain tomorrow?"
Recording:   4.30 s
This enrollment recording is not usable.
 Reason: silence-begin
    Fix: Please wait for the prompt before speaking.

Say the enrollment phrase (3/4) for "hey-sensory" with context,
  for example: "<phrase> will it rain tomorrow?"
Recording:   4.44 s
Preliminary enrollment checks passed.

Say the enrollment phrase (4/4) for "hey-sensory" with context,
  for example: "<phrase> will it rain tomorrow?"
Recording:   4.18 s
Preliminary enrollment checks passed.

Say the enrollment phrase (1/4) for "hello-voice-genie"
Recording:   2.30 s
Preliminary enrollment checks passed.

Say the enrollment phrase (2/4) for "hello-voice-genie"
Recording:   3.53 s
Preliminary enrollment checks passed.

Say the enrollment phrase (3/4) for "hello-voice-genie" with context,
  for example: "<phrase> will it rain tomorrow?"
Recording:   4.22 s
Preliminary enrollment checks passed.

Say the enrollment phrase (4/4) for "hello-voice-genie" with context,
  for example: "<phrase> will it rain tomorrow?"
Recording:   5.59 s
Preliminary enrollment checks passed.
Adapting: 100% complete.
Enrolled model saved to "enrolled-sv.snsr"

Test:

% bin/snsr-eval -v -t ./enrolled-sv.snsr
Using live audio from default capture device. ^C to stop.
  1485   2175 (0.70) hey-sensory
  4155   5085 (0.68) hello-voice-genie
  7710   8685 (0.61) hello-voice-genie
 10770  11535 (0.61) hey-sensory
^C