Leopard - C API
API Reference for the Leopard C SDK.
pv_leopard_t
typedef struct pv_leopard pv_leopard_t;
Container representing the Leopard Speech-to-Text engine.
pv_leopard_init()
pv_status_t pv_leopard_init(const char *access_key,const char *model_path,pv_leopard_t **object);
Create a Leopard instance. Resources should be cleaned when you are done using the pv_leopard_delete() function.
Parameters
access_key
const char * : AccessKey obtained from Picovoice Console.model_path
const char * : Absolute path to the file containing model parameters (.pv
).object
pv_leopard_t * * : Constructed instance of Leopard.
Returns
- pv_status_t : Status code.
pv_leopard_delete()
void pv_leopard_delete(pv_leopard_t *object);
Releases resources acquired by Leopard.
Parameters
object
pv_leopard_t * : Picovoice object.
pv_leopard_process()
pv_status_t pv_leopard_process(pv_leopard_t *object,const int16_t *pcm,int32_t num_samples,char **transcript);
Processes a given audio data and returns its transcription. The caller is responsible for freeing the transcription buffer. The audio needs to have a sample rate equal to pv_sample_rate()
and be 16-bit linearly-encoded. This function operates on single-channel audio.
Parameters
object
pv_leopard_t * : Leopard object.pcm
int16_t : A frame of audio samples.num_samples
int32_t : Number of audio samples to process.transcript
char * * : Inferred transcription.
Returns
- pv_status_t : Status code.
pv_leopard_process_file()
pv_status_t pv_leopard_process_file(pv_leopard_t *object,const char *audio_path,char **transcript;
Processes a given audio file and returns its transcription. The caller is responsible for freeing the transcription buffer. The file needs to have a sample rate equal to or greater than pv_sample_rate()
. The supported formats are: FLAC
, MP3
, Ogg
, Opus
, Vorbis
, WAV
, and WebM
.
Parameters
object
pv_leopard_t * : Leopard object.audio_path
const char * : Absolute path to the audio file.transcript
char * * : Inferred transcription.
Returns
- pv_status_t : Status code.
pv_leopard_version()
const char *pv_leopard_version(void);
Getter for version.
Returns
- const char * : Leopard version.
pv_sample_rate()
int32_t pv_sample_rate(void);
Audio sample rate accepted by Leopard.
Returns
- int32_t : Sample rate.
pv_status_t
typedef enum {PV_STATUS_SUCCESS = 0,PV_STATUS_OUT_OF_MEMORY,PV_STATUS_IO_ERROR,PV_STATUS_INVALID_ARGUMENT,PV_STATUS_STOP_ITERATION,PV_STATUS_KEY_ERROR,PV_STATUS_INVALID_STATE,PV_STATUS_RUNTIME_ERROR,PV_STATUS_ACTIVATION_ERROR,PV_STATUS_ACTIVATION_LIMIT_REACHED,PV_STATUS_ACTIVATION_THROTTLED,PV_STATUS_ACTIVATION_REFUSED} pv_status_t;
Status code enum.
pv_status_to_string()
const char *pv_status_to_string(pv_status_t status);
Parameters
status
int32_t : Status code.
Returns
- const char * : String representation of status code.