[package] name = "norma" version = "0.0.3" edition = "2021" rust-version = "1.77" authors = ["Mike Ivanichev "] license = "Apache-2.0 OR MIT" readme = "README.md" repository = "https://github.com/MikeIvanichev/norma" homepage = "https://github.com/MikeIvanichev/norma" description = "A pure Rust speech to text library" categories = ["multimedia::audio"] keywords = ["stt", "ai", "whisper", "transcription"] [dependencies] thiserror = "1.0.61" cpal = "0.15.3" dasp_sample = "0.11.0" dasp_frame = "0.11.0" dasp_signal = "0.11.0" dasp_ring_buffer = "0.11.0" dasp_interpolate = { version = "0.11.0", features = ["sinc"] } thingbuf = "0.1.6" tracing = { version = "0.1.40" } tokio = { version = "1.40.0", features = ["sync"] } jod-thread = "0.1.2" # Whisper candle-core = { version = "0.7.2", optional = true } candle-nn = { version = "0.7.2", optional = true } candle-transformers = { version = "0.7.2", optional = true } tokenizers = { version = "0.20.0", optional = true } hf-hub = { version = "0.3.2", features = ["tokio"], optional = true } serde_json = { version = "1.0.119", optional = true } rand = { version = "0.8.5", optional = true } byteorder = { version = "1.5.0", optional = true } strum = { version = "0.26.3", features = ["derive"], optional = true } # Serde serde = { version = "1.0.202", optional = true } [dev-dependencies] tokio = { version = "1.40.0", features = ["full"] } # for minimal-versions [target.'cfg(any())'.dependencies] openssl = { version = "0.10.55", optional = true } [features] default = [ "serde", "whisper", "_mock", ] # By default ship with all models enabled whisper = [ "candle-core", "candle-nn", "candle-transformers", "tokenizers", "hf-hub", "serde_json", "rand", "byteorder", "strum", ] # A mock model used for testing _mock = [] serde = ["dep:serde"] jack = ["cpal/jack"] oboe-shared-stdcxx = ["cpal/oboe-shared-stdcxx"] #Require cuda cuda = ["candle-core/cuda", "candle-nn/cuda", "candle-transformers/cuda"] flash-attn = ["cuda", "candle-transformers/flash-attn"] # Require cudnn cudnn = ["cuda", "candle-core/cudnn"] # Only applicable to MacOS metal = ["candle-core/metal", "candle-nn/metal", "candle-transformers/metal"] accelerate = [ "candle-core/accelerate", "candle-nn/accelerate", "candle-transformers/accelerate", ]