Call Center SDK  1.11.3
diarization_c_api.h
1 /* Copyright 2022 ID R&D Inc. All Rights Reserved. */
2 
3 #pragma once
4 
5 #include <voicesdk/core/core_c_api.h>
6 #include <voicesdk/core/config.h>
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
12 DECL_TYPED_ARRAY(VoiceSdkAudioIntervalArray, VoiceSdkAudioInterval)
13 
14 typedef struct VoiceSdkTimestamp {
18  size_t speaker_id;
22  VoiceSdkAudioIntervalArray audio_intervals;
24 
25 typedef struct VoiceSdkTimestampArray {
29  size_t size;
35 
40 VOICE_SDK_API
41 void VoiceSdkTimestampArrayRelease(VoiceSdkTimestampArray* array);
42 
43 typedef struct VoiceSdkDiarizationEngine VoiceSdkDiarizationEngine;
44 
51 VOICE_SDK_API
52 VoiceSdkDiarizationEngine* VoiceSdkDiarizationEngineCreate(const char* init_path, char** error_msg);
53 
58 VOICE_SDK_API
59 void VoiceSdkDiarizationEngineRelease(VoiceSdkDiarizationEngine* engine);
60 
75 VOICE_SDK_API
76 VoiceSdkTimestampArray* VoiceSdkDiarizationEngineGetSegmentationWavFile(const VoiceSdkDiarizationEngine* engine,
77  const char* wav_path, size_t num_speakers,
78  char** error_msg);
79 
93 VOICE_SDK_API
94 VoiceSdkTimestampArray* VoiceSdkDiarizationEngineGetSegmentationAudioFile(const VoiceSdkDiarizationEngine* engine,
95  const char* audio_path, size_t num_speakers,
96  char** error_msg);
97 
113 VOICE_SDK_API
114 VoiceSdkTimestampArray* VoiceSdkDiarizationEngineGetSegmentationFloatSamples(const VoiceSdkDiarizationEngine* engine,
115  const float* float_samples,
116  size_t num_samples, size_t sample_rate,
117  size_t num_speakers, char** error_msg);
118 
134 VOICE_SDK_API
135 VoiceSdkTimestampArray* VoiceSdkDiarizationEngineGetSegmentationPcm16Samples(const VoiceSdkDiarizationEngine* engine,
136  const int16_t* samples, size_t num_samples,
137  size_t sample_rate, size_t num_speakers,
138  char** error_msg);
139 
155 VOICE_SDK_API
156 VoiceSdkTimestampArray* VoiceSdkDiarizationEngineGetSegmentationPcm16Bytes(const VoiceSdkDiarizationEngine* engine,
157  const uint8_t* bytes, size_t num_bytes,
158  size_t sample_rate, size_t num_speakers,
159  char** error_msg);
160 
161 #ifdef __cplusplus
162 }
163 #endif
Definition: core_c_api.h:73
Definition: diarization_c_api.h:25
size_t size
Array size.
Definition: diarization_c_api.h:29
VoiceSdkTimestamp * data
Array data.
Definition: diarization_c_api.h:33
Definition: diarization_c_api.h:14
VoiceSdkAudioIntervalArray audio_intervals
Array of intervals of speaker utterances sorted by timeline.
Definition: diarization_c_api.h:22
size_t speaker_id
Speaker id.
Definition: diarization_c_api.h:18