Skip to content

Algorithm configuration

IDVoice Server component set

IDVoice Server contains various components, which solve different tasks. Some of them are rarely used along with each other. You can configure the set of server components to use. This helps to decrease memory usage and remove unnecessary API endpoints. Enabling/disabling a specific component is possible via a boolean environment variable IDRND_VOICESDK_COMPONENTS_<COMPONENT>. Please see the example at the right panel.

The table below shows the list of variables to configure component set for the basic IDVoice Server distribution.

Variable name Description
IDRND_VOICESDK_COMPONENTS_LIVENESS Voice liveness
IDRND_VOICESDK_COMPONENTS_VERIFY Voice verification
IDRND_VOICESDK_COMPONENTS_MEDIA Speech and signal processing utilities
IDRND_VOICESDK_COMPONENTS_TEMPLATE_CONVERTER Voice template conversion

Launching server with a specific IDVoice SDK component set:

$ docker run -d --name vrss --publish 8080:8080 \
             -e IDRND_VOICESDK_COMPONENTS_<COMPONENT>=true|false \
             voicesdk-server:3.0

Voice verification component

Run multiple verification algorithms

IDVoice voice verification component is delivered with a set of configurations covering the most common use-cases and scenarios. Configurations to use can be configured using IDRND_VOICESDK_VERIFY_DEFAULT_INIT_DATA (default configuration to use if the configuration query parameter is not supplied) and IDRND_VOICESDK_VERIFY_INIT_DATAS (available configuration to select with the configuration parameter) environment variables, and then be selected for use at the runtime using the configuration request's query parameter, e.g. /voice_template_factory/create_voice_template_from_file?configuration=mic-v2.

IDVoice speaker verification component configuration example:

$ docker run -d --name vrss --publish 8080:8080 \
             -e IDRND_VOICESDK_VERIFY_INIT_DATAS="mic-v2,other-configuration" \
             -e IDRND_VOICESDK_VERIFY_DEFAULT_INIT_DATA="mic-v2" \
             voicesdk-server:3.0

Available configurations:

  • mic-v1 - init data for microphone channel text-independent/text-dependent speaker verification
  • mic-v2 - init data for microphone channel text-independent/text-dependent speaker verification

The default configuration is text-independent speaker verification in microphone channel (mic-v2).

Enable voice template compression

It is possible to employ voice template compression to get smaller binary representations of voice template by setting the VOICESDK_USE_VOICE_TEMPLATE_COMPRESSION environment variable:

$ docker run -d --name vrss --publish 8080:8080 \
             -e VOICESDK_USE_VOICE_TEMPLATE_COMPRESSION=1 \
             voicesdk-server:3.0

Liveness component

Run multiple liveness algorithms

The voice liveness component is delivered with a set of configurations covering different attack vectors. Configurations to use can be configured using IDRND_VOICESDK_LIVENESS_DEFAULT_INIT_DATA (default configuration to use if the configuration query parameter is not supplied) and IDRND_VOICESDK_LIVENESS_INIT_DATAS (available configuration to select with the configuration parameter) environment variables, and then be selected for use at the runtime using the configuration request's query parameter, e.g. /liveness_engine/check_liveness_file?configuration=voice-clones.

IDVoice liveness component configuration example:

$ docker run -d --name vrss --publish 8080:8080 \
             -e IDRND_VOICESDK_LIVENESS_INIT_DATAS="replay,voice-clones" \
             -e IDRND_VOICESDK_LIVENESS_DEFAULT_INIT_DATA="replay" \
             voicesdk-server:3.13.0

Available configurations:

  • replay - an algorithm for replay attack detection
  • voice-clones - an algorithm for voice cloning attack detection

Both algorithms are enabled by default, and the default configuration is replay.

Voice template conversion component

The voice template conversion component includes REST API for voice template conversion from mic-v1 to noctua verification algorithms. By default the component is turned off to.

IDVoice voice template conversion configuration example:

$ docker run -d --name vrss --publish 8080:8080 \
             -e VOICESDK_COMPONENTS_TEMPLATE_CONVERTER ="true" \
             voicesdk-server:5.0.0