cLeopard - 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_leopard_delete()

void pv_leopard_delete(pv_leopard_t *object);

Releases resources acquired by Leopard.

Parameters


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_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_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.

Issue with this doc? Please let us know.