Immersitech Logo Developer Resources
immersitech_clearvoice.h
Go to the documentation of this file.
1#pragma once
2
3#include <stddef.h>
4#include <stdint.h>
5
7
8#if HAVE_VISIBILITY
9#define IMMERSITECH_API __attribute__((__visibility__("default")))
10#elif defined _WIN32
11#define IMMERSITECH_API __declspec(dllexport)
12#else
13#define IMMERSITECH_API
14#endif
15
17typedef enum {
24
26typedef enum {
32
34typedef enum {
45
58typedef struct {
70
75typedef struct {
76 float vad_score;
79
80typedef void* imm_cv_handle;
81
82#ifdef __cplusplus
83extern "C" {
84#endif
85
88
96IMMERSITECH_API imm_cv_handle imm_cv_init_from_file(const char* license_file_path, imm_cv_config config, imm_error_code* error_code);
97
106IMMERSITECH_API imm_cv_handle imm_cv_init_from_memory(uint8_t* license_file_data, size_t license_file_data_size, imm_cv_config config, imm_error_code* error_code);
107
110
119
128
137IMMERSITECH_API imm_error_code imm_cv_process(imm_cv_handle handle, float* input, float* output, imm_cv_output_metadata* output_metadata);
138
148
160
172IMMERSITECH_API imm_error_code imm_cv_process_stream(imm_cv_handle handle, int id, float* input, float* output, imm_cv_output_metadata* output_metadata);
173
185
197
198#ifdef __cplusplus
199}
200#endif
IMMERSITECH_API imm_error_code imm_cv_destroy(imm_cv_handle handle)
Destroy an instance of the Immersitech ClearVoice Library.
IMMERSITECH_API imm_error_code imm_cv_set_stream_config(imm_cv_handle handle, int id, imm_cv_mutable_config config, int val)
Set a configuration value.
IMMERSITECH_API imm_error_code imm_cv_process(imm_cv_handle handle, float *input, float *output, imm_cv_output_metadata *output_metadata)
Process audio through the Immersitech ClearVoice Library.
IMMERSITECH_API imm_error_code imm_cv_get_config(imm_cv_handle handle, imm_cv_mutable_config config, int *val)
Get a configuration value.
imm_cv_mutable_config
The configurations of the ClearVoice library that can be changed after initialization.
Definition: immersitech_clearvoice.h:34
@ IMM_CV_MUT_CONF_VAD_MODE
The operating mode of the Voice Activity Detector.
Definition: immersitech_clearvoice.h:42
@ IMM_CV_MUT_CONF_START
Start value.
Definition: immersitech_clearvoice.h:35
@ IMM_CV_MUT_CONF_BSD_INACTIVE_SPEECH_COOLDOWN
The time (ms) the VAD Score must be under bsd_low_vad_threshold in order to BSD to return False.
Definition: immersitech_clearvoice.h:41
@ IMM_CV_MUT_CONF_ANC_MIX
The wet/dry mix [0-100] of the AI Noise Cancellation. 0 is only noisy audio, 100 is only noise cancel...
Definition: immersitech_clearvoice.h:39
@ IMM_CV_MUT_CONF_ANC_MODE
The operating mode of AI Noise Cancellation.
Definition: immersitech_clearvoice.h:36
@ IMM_CV_MUT_CONF_AGC_ENABLED
Whether Automatic Gain Control is On or Off.
Definition: immersitech_clearvoice.h:38
@ IMM_CV_MUT_CONF_END
End value.
Definition: immersitech_clearvoice.h:43
@ IMM_CV_MUT_CONF_BSD_LOW_VAD_THRESHOLD
The VAD Score threshold considered speech when calculating Binary Speech Detection (BSD)
Definition: immersitech_clearvoice.h:40
@ IMM_CV_MUT_CONF_AEQ_ENABLED
Whether Automatic Equalization is On or Off.
Definition: immersitech_clearvoice.h:37
IMMERSITECH_API imm_error_code imm_cv_add_stream(imm_cv_handle handle, int *id)
Add a stream for audio processing.
IMMERSITECH_API imm_cv_config imm_cv_get_default_config()
Return a default configuration object for initialization.
IMMERSITECH_API imm_error_code imm_cv_process_stream(imm_cv_handle handle, int id, float *input, float *output, imm_cv_output_metadata *output_metadata)
Process audio through the Immersitech ClearVoice Library.
imm_cv_anc_mode
The different operating modes of AI Noise Cancellation.
Definition: immersitech_clearvoice.h:17
@ IMM_CV_ANC_START
Start value.
Definition: immersitech_clearvoice.h:18
@ IMM_CV_ANC_OFF
AI Noise Cancellation disabled.
Definition: immersitech_clearvoice.h:19
@ IMM_CV_ANC_END
End value.
Definition: immersitech_clearvoice.h:22
@ IMM_CV_ANC_LOW
AI Noise Cancellation at low power mode.
Definition: immersitech_clearvoice.h:21
@ IMM_CV_ANC_HIGH
AI Noise Cancellation at full power mode.
Definition: immersitech_clearvoice.h:20
IMMERSITECH_API imm_cv_handle imm_cv_init_from_file(const char *license_file_path, imm_cv_config config, imm_error_code *error_code)
Initialize an instance of the Immersitech ClearVoice Library.
#define IMMERSITECH_API
Definition: immersitech_clearvoice.h:13
IMMERSITECH_API imm_error_code imm_cv_set_config(imm_cv_handle handle, imm_cv_mutable_config config, int val)
Set a configuration value.
IMMERSITECH_API imm_error_code imm_cv_destroy_stream(imm_cv_handle handle, int id)
Destroy a previously created stream.
void * imm_cv_handle
Definition: immersitech_clearvoice.h:80
imm_cv_vad_mode
The different operating modes of Voice Activity Detection.
Definition: immersitech_clearvoice.h:26
@ IMM_CV_VAD_FREQ_AND_AMPLITUDE_ANALYSIS
VAD analyzing frequency content and amplitude for detection.
Definition: immersitech_clearvoice.h:29
@ IMM_CV_VAD_START
Start value.
Definition: immersitech_clearvoice.h:27
@ IMM_CV_VAD_END
End value.
Definition: immersitech_clearvoice.h:30
@ IMM_CV_VAD_FREQ_ANALYSIS
VAD analyzing only frequency content for detection.
Definition: immersitech_clearvoice.h:28
IMMERSITECH_API imm_cv_handle imm_cv_init_from_memory(uint8_t *license_file_data, size_t license_file_data_size, imm_cv_config config, imm_error_code *error_code)
Initialize an instance of the Immersitech ClearVoice Library.
IMMERSITECH_API imm_error_code imm_cv_get_stream_config(imm_cv_handle handle, int id, imm_cv_mutable_config config, int *val)
Get a configuration value.
imm_error_code
All error codes that may be produced by the library.
Definition: immersitech_general.h:26
A structure containing all necessary configuration options to initialize ClearVoice.
Definition: immersitech_clearvoice.h:58
int input_sample_rate
Definition: immersitech_clearvoice.h:59
imm_cv_anc_mode anc_mode
Definition: immersitech_clearvoice.h:61
int agc_enabled
Definition: immersitech_clearvoice.h:63
int bsd_inactive_speech_cooldown
Definition: immersitech_clearvoice.h:66
int multistream_mode_enabled
Definition: immersitech_clearvoice.h:68
int output_sample_rate
Definition: immersitech_clearvoice.h:60
int bsd_low_vad_threshold
Definition: immersitech_clearvoice.h:65
int aeq_enabled
Definition: immersitech_clearvoice.h:62
int anc_mix
Definition: immersitech_clearvoice.h:64
imm_cv_vad_mode vad_mode
Definition: immersitech_clearvoice.h:67
A structure to return all extra data from the process function.
Definition: immersitech_clearvoice.h:75
bool speech_active
Definition: immersitech_clearvoice.h:77
float vad_score
Definition: immersitech_clearvoice.h:76