Skip to main content

View on GitHub

Full reference, examples, and release notes.

Installation

Download the SDK binaries from the releases page. We provide:
  • Static libraries (.a, .lib) for linking directly into your application
  • Dynamic libraries (.so, .dll, .dylib) for runtime loading
  • Multiple platforms: Linux, Windows, macOS
  • Multiple architectures: x86_64, ARM64

Quickstart

#include <stdlib.h>
#include "aic.h"

int main() {
    // Get your license key from the environment variable
    const char* license_key = getenv("AIC_SDK_LICENSE");

    // Download and load a model (or download manually at https://artifacts.ai-coustics.io/)
    struct AicModel* model = NULL;
    aic_model_create_from_file(&model, "path/to/model.aicmodel");

    // Create processor with license key
    struct AicProcessor* processor = NULL;
    aic_processor_create(&processor, model, license_key, NULL);

    // Get optimal configuration
    uint32_t sample_rate;
    size_t num_frames;
    aic_model_get_optimal_sample_rate(model, &sample_rate);
    aic_model_get_optimal_num_frames(model, sample_rate, &num_frames);

    // Initialize processor with optimal settings
    aic_processor_initialize(processor, sample_rate, 2, num_frames, false);

    // Process audio (planar layout: separate buffers per channel)
    float* audio_left = (float*) calloc(num_frames, sizeof(float));
    float* audio_right = (float*) calloc(num_frames, sizeof(float));
    float* audio_planar[2] = {audio_left, audio_right};
    aic_processor_process_planar(processor, audio_planar, 2, num_frames);

    // Cleanup
    free(audio_left);
    free(audio_right);
    aic_processor_destroy(processor);
    aic_model_destroy(model);
    return 0;
}