aria-kit 0.7.0

Audio capture, transcription, synthesis, and voice-analysis contracts for local speech apps
Documentation
[package]
name                 = "aria-kit"
version.workspace    = true
edition.workspace    = true
description          = "Audio capture, transcription, synthesis, and voice-analysis contracts for local speech apps"
license              = "Apache-2.0"
repository.workspace = true
readme.workspace     = true
keywords             = [ "audio", "speech", "microphone", "voice", "vad" ]

[package.metadata.docs.rs]
features = [ "microphone", "playback" ]

[lints]
workspace = true

[package.metadata.cargo-shear]
# Pins silero's ort, whose range admits breaking prereleases.
ignored = [ "ort" ]

[features]
microphone = [ "dep:cpal", "dep:rtrb", "dep:rustix", "silero" ]
playback   = [ "dep:cpal" ]
silero     = [ "dep:ort", "dep:silero" ]
# Exposes test fixtures to downstream crates' tests.
test-support = [  ]

[dependencies]
aria-primitives = { workspace = true }
serde           = { workspace = true }
thiserror       = { workspace = true }
tracing         = { workspace = true }

# Audio capture, the on-disk recording, and the voice activity detector reach a
# microphone, a filesystem, and ONNX Runtime, none of which a browser offers.
[target.'cfg(not(target_family = "wasm"))'.dependencies]
cpal   = { version = "0.18", optional = true }
hound  = { workspace = true }
rtrb   = { version = "0.4", optional = true }
rubato = { workspace = true }

rustix   = { workspace = true, features = [ "fs", "process" ], optional = true }
ort      = { workspace = true, optional = true }
silero   = { version = "=0.6.0", optional = true }
tempfile = { workspace = true }

[dev-dependencies]
serde_json = { workspace = true }