firered_vad/lib.rs
1#![doc = include_str!("../README.md")]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3#![cfg_attr(docsrs, allow(unused_attributes))]
4#![deny(missing_docs)]
5// `forbid` would block every `unsafe` block, including the
6// `core::arch::aarch64::*` NEON intrinsics under `src/features/arch/`
7// which are inherently `unsafe fn` in the standard library. We `deny`
8// instead and individual SIMD modules opt back in with
9// `#![allow(unsafe_code)]` (see `src/features/arch/neon.rs`). Every
10// remaining call site outside the arch modules is forbidden by this
11// blanket rule.
12#![deny(unsafe_code)]
13
14mod detector;
15mod error;
16mod event;
17mod features;
18mod inference;
19mod options;
20mod vad;
21
22pub use error::{Error, Result};
23pub use event::{FrameResult, SpeechSegment};
24pub use options::{GraphOptimizationLevel, SessionOptions, VadOptions};
25pub use vad::Vad;
26#[cfg(feature = "bundled")]
27#[cfg_attr(docsrs, doc(cfg(feature = "bundled")))]
28pub use vad::{BUNDLED_CMVN, BUNDLED_MODEL};
29
30/// Crate version (matches `CARGO_PKG_VERSION`).
31pub const VERSION: &str = env!("CARGO_PKG_VERSION");
32
33/// Internal — do not depend on this. Re-exports the scalar and NEON
34/// kernels under `src/features/` so `benches/kernels.rs` can call them
35/// directly without going through the runtime dispatcher. The shape
36/// is not part of the crate's public API and may change in any
37/// release without notice.
38#[cfg(feature = "_bench-internals")]
39#[doc(hidden)]
40pub use features::__bench_internals;