backend/Cargo.toml
Rama main · réplica de lectura del repositorio original.
[package]
name = "origin-speak-backend"
version = "0.1.42"
description = "Origin Speak - local voice-to-text dictation engine"
authors = ["Origin Speak"]
license = "MIT"
edition = "2021"
[features]
default = []
# VoxType's deployable Whisper strategy uses Vulkan as the cross-vendor
# Windows GPU backend and Metal on macOS. These SDKs are build-time inputs;
# shipped users only need a working graphics driver/runtime.
gpu-vulkan = ["whisper-rs/vulkan", "transcribe-cpp/vulkan"]
gpu-metal = ["whisper-rs/metal", "transcribe-cpp/metal"]
canary-cuda = ["transcribe-cpp/cuda"]
[lib]
name = "origin_speak_lib"
crate-type = ["rlib"]
[dependencies]
# Global shortcuts
global-hotkey = "0.7"
# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# Audio Capture
cpal = "0.15"
rubato = "0.16"
# Local speech-to-text
whisper-rs = "0.16.0"
transcribe-cpp = { version = "=0.2.3", default-features = false }
# Async runtime primitives used by transcription/download/capture coordination
tokio = { version = "1", features = ["fs", "io-util", "rt", "sync", "time"] }
futures-util = "0.3"
# HTTP for model downloads
reqwest = { version = "0.11", features = ["stream"] }
sha2 = "0.10"
# Text delivery
enigo = "0.2"
# Logging
log = "0.4"
# Date/Time
chrono = { version = "0.4", features = ["serde"] }
# UUID
uuid = { version = "1", features = ["v4"] }
# SQLite for persistent storage
rusqlite = { version = "0.31", features = ["bundled"] }
# Clipboard
arboard = "3"
# Directory paths
dirs-next = "2"
[target.'cfg(windows)'.dependencies]
windows = { version = "0.56", features = [
"Win32_Foundation",
"Win32_System_Com",
"Win32_UI_WindowsAndMessaging",
"Win32_System_Threading",
"Win32_UI_Accessibility",
"Win32_UI_Input_KeyboardAndMouse"
] }
[profile.release]
strip = true
lto = true
# Whisper inference is compute-bound: `opt-level = "z"` (size) costs
# 20-40% CPU throughput versus speed optimization. Keep LTO + single
# codegen unit for speed; binary size growth is negligible next to models.
opt-level = 3
codegen-units = 1
panic = "abort"