audio-analysis-core
Shared audio frame conversion, whole-buffer clip editing primitives, windowing,
and streaming helpers for moritzbrantner-video-analysis.
Feature flags
- No optional feature flags today.
Example
use ;
use ;
let frame = new?;
let spec = new?;
let mut windows = new;
let frames = windows.push_frame?;
let clip = from_frames?;
let parts = clip.split_at_seconds?;
let joined = concat?;
assert!;
assert_eq!;
Whole-Buffer Editing
AudioClip stores validated interleaved f32 audio with sample rate and channel
metadata. It supports sample/second slicing, timeline splitting, concat, and
mixing. Format-changing concat is explicit through ConcatPolicy::ResampleToFirst;
mixing still requires matching sample rate and channels.
Package surface
Primary workflow: audio.levels.
Workflow operations:
audio.levels: Returns deterministic level metrics for normalized audio samples.audio.frames: Summarizes fixed-size analysis frames over normalized samples.audio.timestamps: Converts between seconds, samples, and timestamp ticks for a sample rate.
Debug operations:
describe: inspect package metadata and runtime support.
Runtime support: library, CLI, server, and WASM wrappers expose these operations.
Run the primary workflow through the CLI:
Successful responses use the shared package-surface shape with operation,
title, message, summary, and result. Default surface calls are
deterministic, local-first, and do not download models, write persistent files,
or execute external tools unless an operation explicitly documents native or
external-tool execution.
Related crates
video-analysis-coreaudio-analysis-fourieraudio-analysis-processing