[package]
edition = "2024"
rust-version = "1.95"
name = "asry"
version = "0.1.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Sans-I/O cut/batch/whisper/align state machine for speech-to-text indexing pipelines"
readme = "README.md"
keywords = [
"whisper",
"asr",
"speech-to-text",
"indexing",
"alignment",
]
categories = [
"multimedia::audio",
"science",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Findit-AI/asry"
[features]
alignment = [
"runner",
"emissions",
"dep:ort",
]
bench-internals = ["alignment"]
coreml = [
"runner",
"whispercpp/coreml",
]
default = ["runner"]
emissions = ["dep:tokenizers"]
metal = [
"runner",
"whispercpp/metal",
]
parity-dump-emission = ["alignment"]
runner = [
"dep:whispercpp",
"dep:miniz_oxide",
]
serde = [
"dep:serde",
"dep:humantime-serde",
"smol_str/serde",
"mediatime/serde",
]
[lib]
name = "asry"
path = "src/lib.rs"
[[example]]
name = "core_only"
path = "examples/core_only.rs"
[[test]]
name = "aligner_load"
path = "tests/aligner_load.rs"
[[test]]
name = "core_e2e"
path = "tests/core_e2e.rs"
[[test]]
name = "foo"
path = "tests/foo.rs"
[[test]]
name = "mock_full_params"
path = "tests/mock_full_params.rs"
[[test]]
name = "silence_mask_drops_words"
path = "tests/silence_mask_drops_words.rs"
[[test]]
name = "strict_lookup"
path = "tests/strict_lookup.rs"
[[test]]
name = "surface_form_invariants"
path = "tests/surface_form_invariants.rs"
[[test]]
name = "whisperx_unit_parity"
path = "tests/whisperx_unit_parity.rs"
required-features = ["bench-internals"]
[[bench]]
name = "aligner_simd_baseline"
path = "benches/aligner_simd_baseline.rs"
harness = false
required-features = ["bench-internals"]
[[bench]]
name = "cut"
path = "benches/cut.rs"
harness = false
[[bench]]
name = "dispatch"
path = "benches/dispatch.rs"
harness = false
[[bench]]
name = "foo"
path = "benches/foo.rs"
[dependencies.arbitrary]
version = "1"
features = ["derive"]
optional = true
[dependencies.humantime-serde]
version = "1"
optional = true
default-features = false
[dependencies.mediatime]
version = "0.1"
[dependencies.miniz_oxide]
version = "0.9"
features = ["with-alloc"]
optional = true
default-features = false
[dependencies.ort]
version = "=2.0.0-rc.12"
features = [
"std",
"ndarray",
"load-dynamic",
"api-24",
]
optional = true
default-features = false
[dependencies.quickcheck]
version = "1"
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = [
"derive",
"alloc",
]
optional = true
default-features = false
[dependencies.smallvec]
version = "1"
[dependencies.smol_str]
version = "0.3"
[dependencies.thiserror]
version = "2"
[dependencies.tokenizers]
version = "0.23"
features = ["onig"]
optional = true
default-features = false
[dependencies.unicode-script]
version = "0.5"
default-features = false
[dependencies.whispercpp]
version = "0.2"
optional = true
default-features = false
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
default-features = false
[dev-dependencies.hound]
version = "3"
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.sha2]
version = "0.11"
[dev-dependencies.smol_str]
version = "0.3"
[dev-dependencies.tempfile]
version = "3"
[build-dependencies.serde_json]
version = "1"
[build-dependencies.sha2]
version = "0.11"
[build-dependencies.ureq]
version = "3"
features = ["rustls"]
default-features = false
[lints.rust]
dead_code = "allow"
unused_mut = "allow"
unused_unsafe = "allow"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(tarpaulin)"]