Voiceprint processing

This section contains voiceprint processing proto files.

voiceprints_processing_service.proto

VoiceprintsProcessor

This service allows performing basic voice biometrics operations. Service methods are typically used in self-service applications such as active authentication via the IVR.

Enrollment workflow

Here is a typical Enrollment workflow:

  1. StartEngagement
  2. StartSession
  3. GetGkVoiceprintProfileId to get the internal ID.
  4. If the voiceprint profile exists, continue to step b. If not, create one in step a.
    1. CreateVoiceprintProfile
    2. GetEnrollStatus - Checks if the voiceprint profile is trained.
  5. ProcessAudio
  6. Enroll - Repeat steps five and six, typically three times, until the voiceprint is ready to be trained.
  7. Train
  8. StopSession
  9. StopEngagement

Verification workflow

Here is a typical verification workflow:

  1. StartEngagement
  2. StartSession
  3. GetGkVoiceprintProfileId to get the internal ID.
  4. GetEnrollStatus - Checks if the voiceprint profile is trained.
  5. Verify
  6. GetSessionDecision
  7. StopSession
  8. StopEngagement

gRPC method definitions

gRPC method definitions
Method Name Request Type Response Type Description
ProcessAudio ProcessAudio
Request
ProcessAudio
Response
Processes the audio and checks its quality. Creates an audio model identified by gk_processed_audio_id that the system uses in consequent operations such as Enroll or Verify.
Enroll Enroll
Request
Enroll
Response
Adds processed audio to the voiceprint’s enrollment segments collection. The system uses the processed audio in this collection when it creates the voiceprint’s template (Train). Accepts a voiceprint profile ID and a processed audio ID returned by the ProcessAudio method. Returns information about the status of the voiceprint, indicating whether it is ready to be trained or not.
GetEnrollStatus GetEnrollStatus
Request
GetEnrollStatus
Response
Returns information about the status of the voiceprint, indicating whether it is trained, ready to be trained, or not ready.
Train Train
Request
Train
Response
Creates a new voice template for a voiceprint profile using audio (typically audio models) from the enrollment segments collection.
CheckWatchlistConsistency CheckWatchlistConsistency
Request
CheckWatchlistConsistency
Response
Checks if a watchlist is consistent with current fraudster detection settings.
Verify Verify
Request
Verify
Response
Checks whether a given audio matches the specified voiceprint profile.
Identify Identify
Request
Identify
Response
Checks whether a given audio matches any of the voiceprint profiles specified. Typically used with a small or medium size group (1-100).
DetectKnownFraudsters DetectKnownFraudsters
Request
DetectKnownFraudsters
Response
Checks whether a given audio matches any of the voiceprint profiles specified in a watchlist.
AnalyzeAudio AnalyzeAudio
Request
AnalyzeAudio
Response
Performs multiple checks on the input audio. Checks whether a given audio matches any of the voiceprint profiles specified in a list of voiceprints and/or a group and/or a watchlist. In addition detects playback or synthesized audio attacks.

Methods with HTTP bindings

ProcessAudio

  POST /v1/audios/process  

Enroll

  POST /v1/voiceprints/{gk_voiceprint_profile_id.value}/enrollment  

GetEnrollStatus

  GET /v1/voiceprints/{gk_voiceprint_profile_id.value}/enrollment-status  

Train

  POST /v1/voiceprints/{gk_voiceprint_profile_id.value}/training  

CheckWatchlistConsistency

  POST /v1/voiceprints/watchlist:check-consistency  

Verify

  POST /v1/voiceprints/{gk_voiceprint_profile_id.value}/verification  

Identify

  POST /v1/voiceprints/identification  

DetectKnownFraudsters

  POST /v1/voiceprints/known-fraudsters-detection  

AnalyzeAudio

  POST /v1/voiceprints/audio-analysis  

voiceprints_processing_messages.proto

AnalyzeAudioAuthenticationResult

Contains detailed information about Authentication results.

AnalyzeAudioAuthenticationResult
Field Type Description
top_person_voiceprint_details VoiceprintDetails General information about the voiceprint profile of the person with the highest score.
authentication_score AuthenticationScore The authentication score.
decision nuance.biosec.v1.Decision Indicates if the given audio matches any of the specified persons voiceprint profiles.
reason DecisionReason Reason of the decision.
number_of_persons_prints int32 Number of valid print used for identification.
risk_engine_result nuance.biosec.v1.RiskEngineResult Level of risk and reliability, computed by the risk engine.

AnalyzeAudioFraudDetectionResult

Contains detailed information about Fraud Detection results.

AnalyzeAudioFraudDetectionResult
Field Type Description
top_fraudster_voiceprint_details VoiceprintDetails General information about the voiceprint profile of the fraudster with the highest score.
fraud_detection_score FraudDetectionScore The fraud detection score.
decision nuance.biosec.v1.Decision Indicates if the given audio matches any of the specified fraudsters voiceprint profiles.
reason DecisionReason Reason of the decision.
number_of_fraudsters_prints int32 Number of valid print used for known fraudster detection.
risk_engine_result nuance.biosec.v1.RiskEngineResult Level of risk and reliability, computed by the risk engine.

AnalyzeAudioRequest

Input message that defines parameters for AnalyzeAudio.

Uses the context field as follows:

  • gk_engagement_id: Mandatory
  • gk_session_id: Mandatory
  • gk_scope_id: Mandatory
  • configset_id: Mandatory
AnalyzeAudioRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.
One of audio:  
Mandatory. The input audio.
   gk_media_segment_id nuance.biosec.v1.UniqueId Unique ID of a new media segment.
   gk_processed_audio_id nuance.biosec.v1.UniqueId Unique ID of the processed audio.
gk_voiceprint_profile_ids nuance.biosec.v1.ListOfUniqueId Optional. An array of voiceprint profile IDs.
group nuance.biosec.v1.UniqueIdAndTag Optional. A group ID and a tag used as a filter to select the right prints, in case the persons have more than one print.
watchlist nuance.biosec.v1.UniqueIdAndTag Optional. A watchlist ID and a tag used as a filter to select the right prints, in case the persons have more than one print.
channel_selector nuance.biosec.v1.AudioChannelSelector Optional. Specifies the processed channel when processing media with multiple channels. This parameter is ignored if the media has a single channel or if the input is gk_processed_audio_id.
ignore_checkpoints bool Optional. If true, disable the checkpoints defined in configset (checkpointsForAuthentication and checkpointsForFraudDetection configuration parameters are ignored) to process the whole audio. If false, processing might stop before the end of audio (for example, if a match is found for any of the checkpoints defined).
syntheticSpeechDetectionParameters nuance.biosec.v1.audio.SyntheticSpeechDetectionParameters Optional. Setting this value enables Synthetic Speech Detection.
channelPlaybackDetectionParameters nuance.biosec.v1.audio.ChannelPlaybackDetectionParameters Optional. Setting this value enables Channel Playback Detection.

AnalyzeAudioResponse

Output message that defines parameters returned by AnalyzeAudio.

AnalyzeAudioResponse
Field Type Description
status nuance.rpc.Status Mandatory. General operation status.
result AnalyzeAudioResult Result of the DetectKnownFraudsters operation.

AnalyzeAudioResult

Contains detailed information about the operation’s outcome. Included in AnalyzeAudio.

AnalyzeAudioResult
Field Type Description
gk_media_segment_id nuance.biosec.v1.UniqueId Optional. The media ID of the audio used.
gk_processed_audio_id nuance.biosec.v1.UniqueId Optional. The unique ID of the processed audio. In case, the system needs to reprocess the audio, a new gk_processed_audio_id is created, even if input audio is specified by gk_processed_audio_id.
decision nuance.biosec.v1.Decision Indicates the general decision, based on all the factors used for audio analysis. Indicates if the given audio matches any of the specified voiceprint profiles or if a fraud is detected.
reason DecisionReason Reason of the decision.
voice_class_score google.protobuf.FloatValue A score between 0 and 100 that can be used to categorize voices into classes according to various factors such as timbre, pitch, and so on.
risk_engine_global_result nuance.biosec.v1.RiskEngineResult Level of risk and reliability, computed by the risk engine.
validity nuance.biosec.v1.AudioValidity Audio validity status. Indicates invalidity reason in case of invalid audio.
authentication_result AnalyzeAudioAuthenticationResult The authentication result.
fraud_detection_result AnalyzeAudioFraudDetectionResult The fraud detection result.
synthetic_speech_result nuance.biosec.v1.audio.SyntheticSpeechDetectionResult Result of Synthetic Speech Detection.
channel_playback_result nuance.biosec.v1.audio.ChannelPlaybackDetectionResult Result of Channel Playback Detection.
gk_calibration_model_revision_id nuance.biosec.v1.UniqueId Unique ID of the calibration model used.
audio_details nuance.biosec.v1.AudioDetails General audio metrics (such as gross audio, net audio, SNR, and so on).
voiceprint_results repeated VoiceprintResult Detailed results for a specific voiceprint profile.
calibration_model_details CalibrationModelDetails Optional. Details on the calibration model used for the check.

AudioProcessingResult

Contains audio metrics and information about the audio model. Included in ProcessAudioResponse.

AudioProcessingResult
Field Type Description
gk_media_segment_id nuance.biosec.v1.UniqueId Unique ID of the audio used for enrollment (in case only a subset of audio is used, value may be different from the input audio ID).
gk_processed_audio_id nuance.biosec.v1.UniqueId Unique ID of the processed audio.
validity nuance.biosec.v1.AudioValidity Audio validity status. Indicates invalidity reason in case of invalid audio.
audio_details nuance.biosec.v1.AudioDetails General audio metrics (such as gross audio, net audio, SNR, and so on).
voice_class_score google.protobuf.FloatValue A score between 0 and 100 that can be used to categorize voices into classes according to various factors such as timbre, pitch, and so on.
gk_calibration_model_revision_id nuance.biosec.v1.UniqueId Unique ID of the calibration model that the system uses to create the audio model.

AuthenticationScore

Authentication score for a person’s print, used in Verify or Identify.

AuthenticationScore
Field Type Description
biometric_score google.protobuf.FloatValue Raw biometric score of the comparison between the print and the audio.

CalibrationModelDetails

Contains general information about a calibration model.

CalibrationModelDetails
Field Type Description
gk_calibration_model_revision_id nuance.biosec.v1.UniqueId Unique ID of the calibration model revision.
calibration_model_id string Calibration model ID.

CheckWatchlistConsistencyRequest

Input message that defines parameters for CheckWatchlistConsistency.

Uses the context field as follows:

  • gk_engagement_id: Mandatory
  • gk_session_id: Mandatory
  • gk_scope_id: Mandatory
  • configset_id: Mandatory
CheckWatchlistConsistencyRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.
One of target:  
Mandatory. The set of prints, specified as an array of voiceprint IDs or as a watchlist ID and tag.
   gk_voiceprint_profile_ids nuance.biosec.v1.ListOfUniqueId An array of voiceprint profile IDs.
   watchlist nuance.biosec.v1.UniqueIdAndTag A watchlist ID and a tag used as a filter to select the right prints, in case the persons have more than one print.

CheckWatchlistConsistencyResponse

Output message that defines parameters returned by CheckWatchlistConsistency.

CheckWatchlistConsistencyResponse
Field Type Description
status nuance.rpc.Status Mandatory. General operation status.
total_number_of_compatible_prints google.protobuf.Int32Value Optional. Total number of prints that are found to be compatible with the current fraudster detection settings.
total_number_of_incompatible_prints google.protobuf.Int32Value Optional. Total number of prints that are found to be incompatible with the current fraudster detection settings.
incompatible_prints repeated IncompatiblePrintDetails Optional. List of incompatible prints. The list is empty if all prints are compatible. in case of too many incompatible prints, the list is truncated.
required_calibration_model CalibrationModelDetails Optional. Details on the required calibration model used for the check.

DetectKnownFraudstersRequest

Input message that defines parameters for DetectKnownFraudsters.

Uses the context field as follows:

  • gk_engagement_id: Mandatory
  • gk_session_id: Mandatory
  • gk_scope_id: Mandatory
  • configset_id: Mandatory
DetectKnownFraudstersRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.
One of audio:  
Mandatory. The input audio.
   gk_media_segment_id nuance.biosec.v1.UniqueId Unique ID of a new media segment.
   gk_processed_audio_id nuance.biosec.v1.UniqueId Unique ID of the processed audio.
One of target:  
Mandatory. The set of prints, specified as an array of print IDs or as a watchlist ID and tag.
   gk_voiceprint_profile_ids nuance.biosec.v1.ListOfUniqueId An array of voiceprint profile IDs.
   watchlist nuance.biosec.v1.UniqueIdAndTag A watchlist ID and a tag used as a filter to select the right prints, in case the persons have more than one print.
channel_selector nuance.biosec.v1.AudioChannelSelector Optional. Specifies the processed channel when processing media with multiple channels. This parameter is ignored if the media has a single channel or if the input is gk_processed_audio_id.
ignore_checkpoints bool Optional. If true, disable the checkpoints defined in configset (checkpointsForAuthentication and checkpointsForFraudDetection configuration parameters are ignored) to process the whole audio. If false, processing might stop before the end of audio (for example, if a match is found for any of the checkpoints defined).

DetectKnownFraudstersResponse

Output message that defines parameters returned by DetectKnownFraudsters.

DetectKnownFraudstersResponse
Field Type Description
status nuance.rpc.Status Mandatory. General operation status.
result DetectKnownFraudstersResult Result of the DetectKnownFraudsters operation.

DetectKnownFraudstersResult

Contains detailed information about the operation’s outcome. Included in DetectKnownFraudsters.

DetectKnownFraudstersResult
Field Type Description
voiceprint_details VoiceprintDetails General information about the voiceprint profile.
gk_media_segment_id nuance.biosec.v1.UniqueId Optional. The media ID of the audio used.
gk_processed_audio_id nuance.biosec.v1.UniqueId Optional. The unique ID of the processed audio. In case, the system needs to reprocess the audio, a new gk_processed_audio_id is created, even if input audio is specified by gk_processed_audio_id.
decision nuance.biosec.v1.Decision Indicates if the given audio matches any of the specified fraudsters voiceprint profiles.
reason DecisionReason Reason of the decision.
fraud_detection_score FraudDetectionScore The fraud detection scores.
voice_class_score google.protobuf.FloatValue A score between 0 and 100 that can be used to categorize voices into classes according to various factors such as timbre, pitch, and so on.
risk_engine_result nuance.biosec.v1.RiskEngineResult Level of risk and reliability, computed by the risk engine.
gk_calibration_model_revision_id nuance.biosec.v1.UniqueId Unique ID of the calibration model used.
audio_details nuance.biosec.v1.AudioDetails General audio metrics (such as gross audio, net audio, SNR, and so on).
voiceprint_results repeated VoiceprintResult Detailed results for a specific voiceprint profile.
number_of_prints int32 Number of valid print used for known fraudster detection.

EnrollRequest

Input message that defines parameters for Enroll.

Uses the context field as follows:

  • gk_engagement_id: Mandatory
  • gk_session_id: Mandatory
  • gk_scope_id: Mandatory
  • configset_id: Mandatory
EnrollRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.
gk_voiceprint_profile_id nuance.biosec.v1.UniqueId Mandatory. Unique ID of the voiceprint profile for enrollment.
gk_processed_audio_id nuance.biosec.v1.UniqueId Mandatory. Unique ID of audio that was processed and added to the voiceprint’s enrollment segments collection. The ID is returned by ProcessAudio.

EnrollResponse

Output message that defines parameters returned by Enroll.

EnrollResponse
Field Type Description
status nuance.rpc.Status General operation status.
result EnrollResult Enrollment result.

EnrollResult

Contains information about the voiceprint profile and the audio that belongs to the enrollment set. Included in EnrollResponse.

EnrollResult
Field Type Description
enroll_status EnrollStatus Status of the voiceprint profile after adding the new enrollment segment. Indicates whether the voiceprint can or should be trained.
voiceprint_details VoiceprintDetails General information about the voiceprint profile.
enrolled google.protobuf.BoolValue It is true if audio is added to print, false otherwise.
reason EnrollReason In case of failed enrollment, reason of the failure.
audio_details nuance.biosec.v1.AudioDetails General audio metrics (such as gross audio, net audio, SNR, and so on) of the input audio of the EnrollRequest.

EnrollmentSegmentDetails

Contains detailed information about a single enrollment segment that the system uses in the training process. Included in TrainResponse and in ListEnrollmentSegments.

EnrollmentSegmentDetails
Field Type Description
gk_media_segment_id nuance.biosec.v1.UniqueId Unique ID of the media segment.
gk_processed_audio_id nuance.biosec.v1.UniqueId Unique ID of the processed audio.
consistency_decision ConsistencyDecision Indicates if the segment is consistent or not.
consistency_score google.protobuf.FloatValue Biometric consistency score compared to other segments.
used_for_train google.protobuf.BoolValue Indicates if the segment is used for training for reasons such as inconsistency, missing model, missing samples, and so on.
audio_details nuance.biosec.v1.AudioDetails General audio metrics (such as gross audio, net audio, SNR, and so on).
voice_class_score google.protobuf.FloatValue A score between 0 and 100 that can be used to categorize voices into classes according to various factors such as timbre, pitch, and so on.
gk_calibration_model_revision_id nuance.biosec.v1.UniqueId Unique ID of the calibration model that the system uses to create the audio model.

FraudDetectionScore

Fraud detection score for a fraudster’s print, used in DetectKnownFraudsters.

FraudDetectionScore
Field Type Description
biometric_score google.protobuf.FloatValue Raw biometric score of the comparison between the print and the audio.

GetEnrollStatusRequest

Input message that defines parameters for GetEnrollStatus. Contains information about whether the voiceprint can or should be trained.

Uses the context field as follows:

  • gk_engagement_id: Mandatory
  • gk_session_id: Mandatory
  • gk_scope_id: Mandatory
  • configset_id: Mandatory
GetEnrollStatusRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.
gk_voiceprint_profile_id nuance.biosec.v1.UniqueId Mandatory. Unique ID of the voiceprint profile.

GetEnrollStatusResponse

Output message that defines parameters returned by GetEnrollStatus.

GetEnrollStatusResponse
Field Type Description
status nuance.rpc.Status General operation status.
result EnrollStatus The status of the voiceprint profile. Indicates whether the voiceprint can or should be trained.
is_trained google.protobuf.BoolValue Indicates whether the voiceprint is trained and can be used for verification.

IdentifyRequest

Input message that defines parameters for Identify.

Uses the context field as follows:

  • gk_engagement_id: Mandatory
  • gk_session_id: Mandatory
  • gk_scope_id: Mandatory
  • configset_id: Mandatory
IdentifyRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.
One of audio:  
Mandatory. The input audio.
   gk_media_segment_id nuance.biosec.v1.UniqueId Unique ID of a new media segment.
   gk_processed_audio_id nuance.biosec.v1.UniqueId Unique ID of the processed audio.
One of target:  
Mandatory. The set of prints, specified as an array of print IDs or as a group ID and tag.
   gk_voiceprint_profile_ids nuance.biosec.v1.ListOfUniqueId An array of voiceprint profile IDs.
   group nuance.biosec.v1.UniqueIdAndTag A group ID and a tag used as a filter to select the right prints, in case the persons have more than one print.
channel_selector nuance.biosec.v1.AudioChannelSelector Optional. Specifies the processed channel when processing media with multiple channels. This parameter is ignored if the media has a single channel or if the input is gk_processed_audio_id.
ignore_checkpoints bool Optional. If true, disable the checkpoints defined in configset (checkpointsForAuthentication and checkpointsForFraudDetection configuration parameters are ignored) to process the whole audio. If false, processing might stop before the end of audio (for example, if a match is found for any of the checkpoints defined).

IdentifyResponse

Output message that defines parameters returned by Identify.

IdentifyResponse
Field Type Description
status nuance.rpc.Status General operation status.
result IdentifyResult Result of the identify operation.

IdentifyResult

Contains detailed information about the operation’s outcome. Included in IdentifyResponse.

IdentifyResult
Field Type Description
voiceprint_details VoiceprintDetails General information about the voiceprint profile.
gk_media_segment_id nuance.biosec.v1.UniqueId Optional. The media ID of the audio used.
gk_processed_audio_id nuance.biosec.v1.UniqueId Optional. The unique ID of the processed audio. In case the system needs to reprocess the audio, a new gk_processed_audio_id is created, even if input audio is specified by gk_processed_audio_id.
decision nuance.biosec.v1.Decision The decision if the given audio matches any of the specified voiceprint profiles.
reason DecisionReason The reason for the decision.
authentication_score AuthenticationScore Authentication scores.
voice_class_score google.protobuf.FloatValue A score between 0 and 100 that can be used to categorize voices into classes according to various factors such as timbre, pitch, and so on.
risk_engine_result nuance.biosec.v1.RiskEngineResult Level of risk and reliability, computed by the risk engine.
gk_calibration_model_revision_id nuance.biosec.v1.UniqueId Unique ID of the calibration model used for the identification process.
audio_details nuance.biosec.v1.AudioDetails General audio metrics (such as gross audio, net audio, SNR, and so on).
voiceprint_results repeated VoiceprintResult Detailed results for a specific voiceprint profile.

IncompatiblePrintDetails

Contains detailed information about a single print that is found to be incompatible with the current fraudster detection settings.

IncompatiblePrintDetails
Field Type Description
voiceprint_details VoiceprintDetails Mandatory. General information about the incompatible voiceprint profile.
incompatible_calibration_model CalibrationModelDetails Optional. Calibration model of the incompatible print.
fraudster_id string Optional. Fraudster ID of the owner of the incompatible print.

ProcessAudioRequest

Input message that defines parameters for ProcessAudio.

Uses the context field as follows:

  • gk_engagement_id: Mandatory
  • gk_session_id: Mandatory
  • gk_scope_id: Mandatory
  • configset_id: Mandatory
ProcessAudioRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.
One of input:  
Mandatory. Specifies the input audio.
   gk_media_segment_id nuance.biosec.v1.UniqueId Unique ID of the new media Segment.
   gk_processed_audio_id nuance.biosec.v1.UniqueId Unique ID of the processed audio segment that is re-processed.
is_for_enrollment google.protobuf.BoolValue Optional. Specifies the purpose of the audio processing. If true, the audio is processed for enrollment and the processing is limited to the max amount of speech specified in the configuration set. If false or not specified, the audio is processed for verification, backward search, clustering, or other purposes, using all the available audio samples.
channel_selector nuance.biosec.v1.AudioChannelSelector Optional. Specifies the processed channel when processing media with multiple channels. This parameter is ignored if the media has a single channel or if the input is gk_processed_audio_id.

ProcessAudioResponse

Output message that defines parameters returned by ProcessAudio.

ProcessAudioResponse
Field Type Description
status nuance.rpc.Status General operation status.
result AudioProcessingResult Audio processing result.

TrainRequest

Input message that defines parameters for Train.

Uses the context field as follows:

  • gk_engagement_id: Mandatory
  • gk_session_id: Mandatory
  • gk_scope_id: Mandatory
  • configset_id: Mandatory
TrainRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.
gk_voiceprint_profile_id nuance.biosec.v1.UniqueId Mandatory. Unique ID of the voiceprint profile for training.

TrainResponse

Output message that defines parameters returned by Train.

TrainResponse
Field Type Description
status nuance.rpc.Status General operation status.
result TrainResult The result of the train operation.

TrainResult

Contains information about the outcome of the operation and the current status of the voiceprint profile. Included in TrainResponse.

TrainResult
Field Type Description
train_status nuance.biosec.v1.TrainStatus Specifies the completion status of the train operation.
reason nuance.biosec.v1.TrainReason Specifies the outcome of the train operation and failure reason when applicable.
status VoiceprintProfileStatus Indicates whether the voiceprint profile is trained or not.
voiceprint_details VoiceprintDetails General information about the voiceprint profile.
gk_calibration_model_revision_id nuance.biosec.v1.UniqueId Unique ID of the calibration model that the system uses to train the template.
total_segments google.protobuf.Int32Value Total number of enrollment segments considered in template training.
total_valid_segments google.protobuf.Int32Value Number of enrollment segments that are used to create the template.
min_segments_required google.protobuf.Int32Value Minimum number of segments required for a successful training.
total_net_audio google.protobuf.Duration Total amount of net speech in all valid Segments.
min_net_audio_required google.protobuf.Duration Minimum amount of net speech required to train a valid template.
enrollment_segments_details repeated EnrollmentSegmentDetails Additional information about the enrollment segments that are used for training.

VerifyRequest

Input message that defines parameters for Verify.

Uses the context field as follows:

  • gk_engagement_id: Mandatory
  • gk_session_id: Mandatory
  • gk_scope_id: Mandatory
  • configset_id: Mandatory
VerifyRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.
One of audio:  
Mandatory. Specifies the audio that is processed.
   gk_media_segment_id nuance.biosec.v1.UniqueId Unique ID of a new media segment.
   gk_processed_audio_id nuance.biosec.v1.UniqueId Unique ID of the processed audio.
gk_voiceprint_profile_id nuance.biosec.v1.UniqueId Mandatory. Unique ID of the voiceprint profile that the method verifies.
channel_selector nuance.biosec.v1.AudioChannelSelector Optional. Specifies the processed channel when processing media with multiple channels. This parameter is ignored if the media has a single channel or if the input is gk_processed_audio_id.
ignore_checkpoints bool Optional. If true, disable the checkpoints defined in configset (checkpointsForAuthentication and checkpointsForFraudDetection configuration parameters are ignored) to process the whole audio. If false or not defined, processing might stop before the end of audio (for example, if a match is found for any of the checkpoints defined).

VerifyResponse

Output message that defines parameters returned by Verify.

VerifyResponse
Field Type Description
status nuance.rpc.Status General operation status.
result VerifyResult Result of the verify operation.

VerifyResult

Contains detailed information about the operation’s result. Included in VerifyResponse.

VerifyResult
Field Type Description
voiceprint_details VoiceprintDetails General information about the voiceprint profile.
gk_media_segment_id nuance.biosec.v1.UniqueId Optional. The media ID of the audio segment.
gk_processed_audio_id nuance.biosec.v1.UniqueId Optional. The unique ID of the processed audio. In case, the system needs to reprocess the audio, a new gk_processed_audio_id is created, even if the input audio is specified by gk_processed_audio_id.
decision nuance.biosec.v1.Decision Indicates if the given audio matches the specified voiceprint profile.
reason DecisionReason The reason for the decision.
authentication_score AuthenticationScore Authentication scores.
voice_class_score google.protobuf.FloatValue A score between 0 and 100 that can be used to categorize voices into classes according to various factors such as timbre, pitch, and so on.
risk_engine_result nuance.biosec.v1.RiskEngineResult Level of risk and reliability, computed by the risk engine.
gk_calibration_model_revision_id nuance.biosec.v1.UniqueId Unique ID of the calibration model that the system used.
audio_details nuance.biosec.v1.AudioDetails General audio metrics (such as gross audio, net audio, SNR, and so on).

VoiceprintDetails

Contains general information about a single voiceprint profile.

VoiceprintDetails
Field Type Description
gk_voiceprint_profile_id nuance.biosec.v1.UniqueId Unique ID of the voiceprint profile.
gk_owner_id nuance.biosec.v1.UniqueId Unique ID of the person or fraudster that the print belongs to.
owner_type nuance.biosec.v1.OwnerType The type of owner (person or fraudster).
profile_tag string The profile tag used to label one of the owner’s prints.
print_version google.protobuf.Int32Value Print version, incremented each time a print is retrained.

VoiceprintResult

Detailed results of a specific print used in Verify, Identify, and DetectKnownFraudsters.

VoiceprintResult
Field Type Description
gk_voiceprint_profile_id nuance.biosec.v1.UniqueId Unique ID of the voiceprint profile.
One of score:  
The print score.
   authentication_score AuthenticationScore The person’s print score, used in Verify or Identify.
   fraud_detection_score FraudDetectionScore The fraudster’s print score, used in DetectKnownFraudsters.

voiceprints_common_types.proto

ConsistencyDecision

Specifies if an enrollment segment used for training is consistent with the other segments in the collection.

Name Number Description
CONSISTENCY_DECISION_UNSPECIFIED 0 Audio consistency is not set.
CONSISTENCY_DECISION_CONSISTENT 1 The segment is consistent with other segments in the enrollment segments collection and probably belongs to the same person.
CONSISTENCY_DECISION_INCONSISTENT 2 The segment is inconsistent with other segments in the enrollment segments collection and probably belongs to a different person.

DecisionReason

Voiceprint processing decision reason.

Name Number Description
DECISION_REASON_UNSPECIFIED 0 Decision reason is not specified.
DECISION_REASON_AUDIO_OK 1 Audio is valid.
DECISION_REASON_NOT_ENOUGH_SEGMENTS 2 Processing requires more audio segments than provided.
DECISION_REASON_INVALID_AUDIO 3 Audio format is invalid or not supported.
DECISION_REASON_AUDIO_TOO_SHORT 4 Audio does not contain the amount of speech required to complete the process.
DECISION_REASON_AUDIO_TOO_SOFT 5 Audio speech level is lower than the level required to complete the process.
DECISION_REASON_AUDIO_TOO_LOUD 6 Audio is too loud and causes saturation.
DECISION_REASON_AUDIO_TOO_NOISY 7 Audio SNR (Signal to Noise Ratio) is too low.
DECISION_REASON_FRAUDSTER_INDICATION 8 A fraud attempt probably occurred.
DECISION_REASON_VOICEPRINT_MATCH 9 This is probably the authentic person.
DECISION_REASON_VOICEPRINT_NO_MATCH 10 This is probably not the authentic person.
DECISION_REASON_LOW_RELIABILITY 11 The system could not reach a reliable decision.
DECISION_REASON_NO_RISK_DETECTED 12 Risk was not detected.
DECISION_REASON_NO_SCORES 13 No available scores.
DECISION_REASON_INTERNAL_ERROR 999 An error occurred while making the decision.

EnrollReason

Enroll operation result.

Name Number Description
ENROLL_REASON_UNSPECIFIED 0 Value is not set.
ENROLL_REASON_INTERNAL_ERROR 1 An internal error prevented the system from completing the operation.
ENROLL_REASON_ENROLL_OK 2 Enroll completed successfully.
ENROLL_REASON_TOO_SHORT 3 Audio does not contain the amount of speech required to complete the process.
ENROLL_REASON_MISSING_MODEL 4 Audio has not a valid audio model.
ENROLL_REASON_ALREADY_ADDED 5 Audio is already added to the print
ENROLL_REASON_WRONG_PRINT_TYPE 6 Audio was processed for a different type of print

EnrollStatus

Specifies if the enrollment segments collection of a print allows the system to train the print successfully.

Name Number Description
ENROLL_STATUS_UNSPECIFIED 0 Enroll status is not set.
ENROLL_STATUS_TRAIN_NOT_POSSIBLE 1 Minimal requirements for training are not met.
ENROLL_STATUS_TRAIN_POSSIBLE 2 Minimum requirements for training are met, but Nuance recommends adding more audio.
ENROLL_STATUS_TRAIN_SUGGESTED 3 Optimal training requirements are met.
ENROLL_STATUS_FULL 4 Too many segments are added and it is not possible to add more.

VoiceprintProfileStatus

Voiceprint profile status.

Name Number Description
VOICEPRINT_PROFILE_STATUS_UNSPECIFIED 0 Voiceprint profile status is not set.
VOICEPRINT_PROFILE_STATUS_NOT_TRAINED 1 Print is not trained.
VOICEPRINT_PROFILE_STATUS_BASIC_TRAINED 2 Print is trained but can be improved using additional enrollment audio.
VOICEPRINT_PROFILE_STATUS_OPTIMAL_TRAINED 3 Print is trained with an optimal amount of audio.

VoiceprintProfilesStatusJobState

Name Number Description
VOICEPRINT_PROFILES_STATUS_JOB_STATE_UNSPECIFIED 0 Job state is not specified.
VOICEPRINT_PROFILES_STATUS_JOB_STATE_PENDING 1 Job is created but not started.
VOICEPRINT_PROFILES_STATUS_JOB_STATE_STARTED 2 Job started and is in running state.
VOICEPRINT_PROFILES_STATUS_JOB_STATE_COMPLETED 3 Job is completed and its results are published.
VOICEPRINT_PROFILES_STATUS_JOB_STATE_FAILED 4 An error occurred while running the job.