Call Center SDK  1.11.3
verify_c_api.h
1 /* Copyright 2021 ID R&D Inc. All Rights Reserved. */
2 
3 #pragma once
4 
5 #include <voicesdk/core/core_c_api.h>
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
14 typedef struct VoiceSdkVerifyResult {
18  float score;
19 
23  float probability;
25 
31 
37 
44 
48  size_t size;
50 
54 typedef struct VoiceSdkVoiceTemplateFactory VoiceSdkVoiceTemplateFactory;
55 
62 VOICE_SDK_API
63 VoiceSdkVoiceTemplateFactory* VoiceSdkVoiceTemplateFactoryCreate(const char* init_path, char** error_msg);
64 
74 VOICE_SDK_API
75 VoiceSdkVoiceTemplate* VoiceSdkVoiceTemplateFactoryCreateVoiceTemplateWavFile(
76  const VoiceSdkVoiceTemplateFactory* factory, const char* wav_path, VoiceSdkChannelType channel_type,
77  char** error_msg);
78 
87 VOICE_SDK_API
88 VoiceSdkVoiceTemplate* VoiceSdkVoiceTemplateFactoryCreateVoiceTemplateAudioFile(
89  const VoiceSdkVoiceTemplateFactory* factory, const char* audio_path, VoiceSdkChannelType channel_type,
90  char** error_msg);
91 
102 VOICE_SDK_API
103 VoiceSdkVoiceTemplate* VoiceSdkVoiceTemplateFactoryCreateVoiceTemplateFloatSamples(
104  const VoiceSdkVoiceTemplateFactory* factory, const float* float_samples, size_t num_samples, size_t sample_rate,
105  VoiceSdkChannelType channel_type, char** error_msg);
106 
117 VOICE_SDK_API
118 VoiceSdkVoiceTemplate* VoiceSdkVoiceTemplateFactoryCreateVoiceTemplateSamples(
119  const VoiceSdkVoiceTemplateFactory* factory, const int16_t* samples, size_t num_samples, size_t sample_rate,
120  VoiceSdkChannelType channel_type, char** error_msg);
121 
132 VOICE_SDK_API
133 VoiceSdkVoiceTemplate* VoiceSdkVoiceTemplateFactoryCreateVoiceTemplateBytes(const VoiceSdkVoiceTemplateFactory* factory,
134  const uint8_t* bytes, size_t num_bytes,
135  size_t sample_rate,
136  VoiceSdkChannelType channel_type,
137  char** error_msg);
138 
147 VOICE_SDK_API
148 VoiceSdkVoiceTemplate* VoiceSdkVoiceTemplateFactoryMergeVoiceTemplates(const VoiceSdkVoiceTemplateFactory* factory,
149  VoiceSdkVoiceTemplate** voice_templates,
150  size_t num_voice_templates, char** error_msg);
151 
158 VOICE_SDK_API
159 const char* VoiceSdkVoiceTemplateFactoryGetInitDataId(const VoiceSdkVoiceTemplateFactory* factory, char** error_msg);
160 
168 VOICE_SDK_API
169 bool VoiceSdkVoiceTemplateFactoryGetMinimumAudioSampleRate(const VoiceSdkVoiceTemplateFactory* factory,
170  size_t* sample_rate, char** error_msg);
171 
176 VOICE_SDK_API
177 void VoiceSdkVoiceTemplateFactoryRelease(VoiceSdkVoiceTemplateFactory* factory);
178 
182 typedef struct VoiceSdkVoiceTemplateMatcher VoiceSdkVoiceTemplateMatcher;
183 
190 VOICE_SDK_API
191 VoiceSdkVoiceTemplateMatcher* VoiceSdkVoiceTemplateMatcherCreate(const char* init_path, char** error_msg);
192 
202 VOICE_SDK_API
203 bool VoiceSdkVoiceTemplateMatcherMatchVoiceTemplates(const VoiceSdkVoiceTemplateMatcher* matcher,
204  const VoiceSdkVoiceTemplate* template1,
205  const VoiceSdkVoiceTemplate* template2,
206  VoiceSdkVerifyResult* verify_result, char** error_msg);
207 
214 VOICE_SDK_API
215 const char* VoiceSdkVoiceTemplateMatcherGetInitDataId(const VoiceSdkVoiceTemplateMatcher* matcher, char** error_msg);
216 
221 VOICE_SDK_API
222 void VoiceSdkVoiceTemplateMatcherRelease(VoiceSdkVoiceTemplateMatcher* matcher);
223 
227 typedef struct VoiceSdkVoiceVerifyStream VoiceSdkVoiceVerifyStream;
228 
243 VOICE_SDK_API
244 VoiceSdkVoiceVerifyStream* VoiceSdkVoiceVerifyStreamCreate(const VoiceSdkVoiceTemplateFactory* factory,
245  const VoiceSdkVoiceTemplateMatcher* matcher,
246  const VoiceSdkVoiceTemplate* const* voice_templates,
247  size_t num_templates, size_t sample_rate,
248  size_t audio_context_length_seconds,
249  float window_length_seconds, char** error_msg);
250 
257 VOICE_SDK_API
258 bool VoiceSdkVoiceVerifyStreamReset(const VoiceSdkVoiceVerifyStream* verify_stream, char** error_msg);
259 
268 VOICE_SDK_API
269 bool VoiceSdkVoiceVerifyStreamAddFloatSamples(const VoiceSdkVoiceVerifyStream* verify_stream,
270  const float* float_samples, size_t num_samples, char** error_msg);
271 
280 VOICE_SDK_API
281 bool VoiceSdkVoiceVerifyStreamAddSamples(const VoiceSdkVoiceVerifyStream* verify_stream, const int16_t* samples,
282  size_t num_samples, char** error_msg);
283 
292 VOICE_SDK_API
293 bool VoiceSdkVoiceVerifyStreamAddBytes(const VoiceSdkVoiceVerifyStream* verify_stream, const uint8_t* bytes,
294  size_t num_bytes, char** error_msg);
295 
302 VOICE_SDK_API
303 bool VoiceSdkVoiceVerifyStreamFinalize(const VoiceSdkVoiceVerifyStream* verify_stream, char** error_msg);
304 
312 VOICE_SDK_API
313 bool VoiceSdkVoiceVerifyStreamHasVerifyResults(const VoiceSdkVoiceVerifyStream* verify_stream, bool* has_results,
314  char** error_msg);
315 
325 VOICE_SDK_API
326 bool VoiceSdkVoiceVerifyStreamGetVerifyResult(const VoiceSdkVoiceVerifyStream* verify_stream,
327  VoiceSdkVerifyStreamResultArray* verify_stream_result_array, char** error_msg);
328 
341 VOICE_SDK_API
342 bool VoiceSdkVoiceVerifyStreamGetVerifyResultForOneTemplate(const VoiceSdkVoiceVerifyStream* verify_stream,
343  VoiceSdkVerifyStreamResult* verify_stream_result,
344  char** error_msg);
345 
350 VOICE_SDK_API
351 void VoiceSdkVoiceVerifyStreamRelease(VoiceSdkVoiceVerifyStream* verify_stream);
352 
356 typedef struct VoiceSdkVoiceVerifyStreamOpus VoiceSdkVoiceVerifyStreamOpus;
357 
369 VOICE_SDK_API
370 VoiceSdkVoiceVerifyStreamOpus* VoiceSdkVoiceVerifyStreamOpusCreate(const VoiceSdkVoiceTemplateFactory* factory,
371  const VoiceSdkVoiceTemplateMatcher* matcher,
372  const VoiceSdkVoiceTemplate* voice_template,
373  size_t sample_rate,
374  size_t audio_context_length_seconds,
375  char** error_msg);
376 
383 VOICE_SDK_API
384 bool VoiceSdkVoiceVerifyStreamOpusReset(const VoiceSdkVoiceVerifyStreamOpus* verify_stream, char** error_msg);
385 
395 VOICE_SDK_API
396 bool VoiceSdkVoiceVerifyStreamOpusAddPacket(const VoiceSdkVoiceVerifyStreamOpus* verify_stream, const uint8_t* bytes,
397  size_t num_bytes, char** error_msg);
404 VOICE_SDK_API
405 bool VoiceSdkVoiceVerifyStreamOpusFinalize(const VoiceSdkVoiceVerifyStreamOpus* verify_stream, char** error_msg);
406 
414 VOICE_SDK_API
415 bool VoiceSdkVoiceVerifyStreamOpusHasVerifyResults(const VoiceSdkVoiceVerifyStreamOpus* verify_stream,
416  bool* has_results, char** error_msg);
417 
425 VOICE_SDK_API
426 bool VoiceSdkVoiceVerifyStreamOpusGetVerifyResult(const VoiceSdkVoiceVerifyStreamOpus* verify_stream,
427  VoiceSdkVerifyStreamResult* verify_stream_result, char** error_msg);
428 
433 VOICE_SDK_API
434 void VoiceSdkVoiceVerifyStreamOpusRelease(VoiceSdkVoiceVerifyStreamOpus* verify_stream);
435 
441 VOICE_SDK_API
442 void VoiceSdkVerifyStreamResultArrayDataRelease(const VoiceSdkVerifyStreamResultArray* array);
443 
444 #ifdef __cplusplus
445 }
446 #endif
Definition: core_c_api.h:73
Voice verification result.
Definition: verify_c_api.h:14
float probability
Voice matching probability from 0 to 1, should be used for making a biometrics authentication decisio...
Definition: verify_c_api.h:23
float score
Raw verification score, intended to be used for evaluation and data-wise calibration.
Definition: verify_c_api.h:18
Definition: verify_c_api.h:38
VoiceSdkVerifyStreamResult * data
Array of voice verification results. Use VoiceSdkVerifyStreamResultArrayDataRelease for deallocation.
Definition: verify_c_api.h:43
size_t size
Number of elements in array.
Definition: verify_c_api.h:48
Definition: verify_c_api.h:26
VoiceSdkAudioInterval audio_interval
Audio interval covered by the verification result.
Definition: verify_c_api.h:35
VoiceSdkVerifyResult verify_result
Voice verification result.
Definition: verify_c_api.h:30