Skip to main content
Version: @ai-coustics/aic-sdk 0.26.0, Core SDK 0.26.0. The package supports Node.js 18 and later. Start with the Node.js quickstart for installation and a complete WAV integration. The package is CommonJS with TypeScript declarations. Signature blocks below describe class members; they are not standalone programs. Example blocks have a filename and can be saved as .cjs files. This release has no public FileAnalyzer, Collector or ProcessorConfig class. Analysis collection is part of Analyzer; audio settings are arguments to initialize.

Choose an API

Audio and lifecycle

Pass mono, normalized 32-bit floating-point samples, nominally -1 to 1, in Float32Array. Each initialized stream has a sample rate and block length. Fixed blocks must match exactly; variable mode permits shorter blocks, never larger ones. Preserve stream order and state. Use one processor, VAD or analyzer per independent stream, while sharing a compatible Model where useful. Async methods use Node’s shared libuv pool, not a private thread per object. They share capacity with other pool work. Set UV_THREADPOOL_SIZE before Node starts only when measurements justify it. AIC_NUM_THREADS does not configure these bindings. Async constructors, context methods, collection and disposal remain synchronous. Do not infer that every method on an async class is safe for an audio callback. Await pending operations before calling dispose() in finally to avoid synchronous waits. In Node.js SDK 0.26.0, Analyzer.dispose() can run during async analysis but waits for its analyzer lock. Disposal is idempotent but cannot be reversed. terminateSession() is a session-lifecycle request, not disposal or a flush. Contexts retain control state independently; after the owner is destroyed, they cannot operate a live stream. The withConfig() result shares the original instance rather than making a copy. Model mappings stay alive while any dependent instance retains them.

__napiBindingTarget

Reports which binding artifact the package loader loaded in this process. native identifies a native addon; a WASI value identifies its platformArchABI. The type lists every WASI flavor that napi-rs can build. NAPI_RS_NATIVE_LIBRARY_PATH can select a WASI artifact that this package does not build itself, so use the value to report the loaded target rather than to infer the package’s built-in targets.

Complete symbol index

All application-facing exports, constructors, methods, interface fields and enum values are listed below. _setSdkId is a shipped internal export and is explicitly marked reserved. __napiBindingTarget reports loader metadata. Node.js quickstart · Model catalog · Compatibility matrix · Authentication.