[package]
name = "splitstream"
version = "0.1.0"
edition = "2024"
description = "Real-time microphone and system audio transcription for macOS, with echo cancellation and multiple backends (Deepgram, Whisper, Parakeet)."
license = "MIT"
repository = "https://github.com/samuelokirby/splitstream"
keywords = ["audio", "transcription", "speech-to-text", "macos", "system-audio"]
categories = ["multimedia::audio", "api-bindings"]
readme = "README.md"

[lib]
name = "splitstream"
path = "src/lib.rs"

[[bin]]
name = "splitstream"
path = "src/bin/splitstream.rs"

[[bin]]
name = "download-parakeet"
path = "src/bin/download_parakeet.rs"

[features]
default = ["parakeet"]
whisper  = ["dep:whisper-rs"]
parakeet = ["dep:parakeet-rs"]

[dependencies]
aec-rs = "1.0.0"
cidre = "0.15"
chrono = "0.4.42"
colored = "3.0.0"
config = "0.15.15"
cpal = "0.17.3"
dotenvy = "0.15"
fixed-resample = "0.9.1"
futures-util = "0.3.31"
http = "1.3.1"
log = "0.4.28"
ogg = "0.9.2"
opus = "0.3.0"
ringbuf = "0.4.8"
serde = { version = "1.0.219", features = ["derive"] }
serde_json = "1.0.143"
thiserror = "2.0.16"
tokio = { version = "1.47.1", features = ["full"] }
tokio-tungstenite = { version = "0.27.0", features = ["native-tls"] }
tungstenite = "0.27.0"
parakeet-rs = { version = "0.3", optional = true }
whisper-rs = { version = "0.15", features = ["metal"], optional = true }

[dev-dependencies]
