kizzasi-io
Physical world connectors for Kizzasi - MQTT, Audio, and sensor streams.
Overview
Comprehensive I/O toolkit for real-time signal acquisition and processing. Connects Kizzasi to sensors, audio devices, network protocols, and file formats.
Features
- MQTT: TLS, QoS, wildcard topics, reconnection logic
- Audio: CPAL, JACK, ASIO backends with multi-channel support
- Video: FFmpeg integration, optical flow, camera input
- Signal Processing: FFT, filters (IIR/FIR), wavelets, MFCC extraction
- Network: WebSocket, TCP/UDP, serial, OSC, ZeroMQ
- File I/O: WAV, CSV, HDF5 support
- Advanced DSP: Hilbert-Huang Transform, beamforming, source separation
- Performance: Lock-free queues, zero-copy buffers, SIMD operations
Quick Start
use ;
// Audio input at 16kHz
let config = new?; // sample_rate, channels
let mut audio = new?;
// Read audio samples
let samples = audio.read?;
// Apply filtering
let mut processor = new;
let filtered = processor.butterworth_lowpass?;
// MQTT streaming
use MqttClient;
let mut client = new?;
client.publish.await?;
Supported I/O
- Audio: CPAL (cross-platform), JACK (Linux), ASIO (Windows)
- Network: MQTT, WebSocket, TCP/UDP, Serial, OSC, ZeroMQ
- Video: FFmpeg, V4L2, DirectShow, AVFoundation
- Files: WAV, CSV, HDF5
- Optional: ROS2 bridge (requires
ros2feature)
Documentation
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.