Skip to content

C-ABI & POSIX Shared Memory API ​

Sonon exposes dynamic C symbols from capi.rs:

c
#include <stdint.h>

void* sonon_engine_create(uint32_t sample_rate, uint32_t n_fft, uint32_t hop_size, uint32_t n_mels);
void sonon_engine_destroy(void* handle);
int32_t sonon_engine_process(void* handle, const float* input, uint32_t length);
int32_t sonon_engine_get_last_keyword(void* handle, char* buffer, uint32_t buffer_len);

Shared Memory Ring Buffer ​

POSIX shared memory channel /dev/shm/sonon_audio enables zero-copy streaming between flight software and the DSP engine at over 15,000,000 samples/sec.

Released under the Apache-2.0 / MIT License.